Package Name Case Sensitivity

[x] I am on the latest Poetry version.

[x] I have searched the issues of this repo and believe that this is not a duplicate.

[x] If an exception occurs when executing a command, I executed it again in debug mode (-vvv option).

OS version and name: macOS 14.6

Poetry version: 1.0.0b1

Issue
I'm trying to specify a development version of Logbook:
logbook = {rev = "185b9ed959f2a41b605bbd93bdbd83ed9efbc5bd",git = "https://github.com/getlogbook/logbook.git"}

Poetry is complaining:
$ poetry update
Updating dependencies
Resolving dependencies... (1.9s)

[RuntimeError]
The dependency name for logbook does not match the actual package's name: Logbook

Traceback (most recent call last):
  File "/Users/iwolosch/.poetry/lib/poetry/_vendor/py3.7/clikit/console_application.py", line 132, in run
    status_code = command.handle(parsed_args, io)
  File "/Users/iwolosch/.poetry/lib/poetry/_vendor/py3.7/clikit/api/command/command.py", line 119, in handle
    status_code = self._do_handle(args, io)
  File "/Users/iwolosch/.poetry/lib/poetry/_vendor/py3.7/clikit/api/command/command.py", line 167, in _do_handle
    return getattr(handler, handler_method)(args, io, self)
  File "/Users/iwolosch/.poetry/lib/poetry/_vendor/py3.7/cleo/commands/command.py", line 92, in wrap_handle
    return self.handle()
  File "/Users/iwolosch/.poetry/lib/poetry/console/commands/update.py", line 49, in handle
    return installer.run()
  File "/Users/iwolosch/.poetry/lib/poetry/installation/installer.py", line 74, in run
    self._do_install(local_repo)
  File "/Users/iwolosch/.poetry/lib/poetry/installation/installer.py", line 161, in _do_install
    ops = solver.solve(use_latest=self._whitelist)
  File "/Users/iwolosch/.poetry/lib/poetry/puzzle/solver.py", line 38, in solve
    packages, depths = self._solve(use_latest=use_latest)
  File "/Users/iwolosch/.poetry/lib/poetry/puzzle/solver.py", line 173, in _solve
    self._package, self._provider, locked=locked, use_latest=use_latest
  File "/Users/iwolosch/.poetry/lib/poetry/mixology/__init__.py", line 7, in resolve_version
    return solver.solve()
  File "/Users/iwolosch/.poetry/lib/poetry/mixology/version_solver.py", line 79, in solve
    next = self._choose_package_version()
  File "/Users/iwolosch/.poetry/lib/poetry/mixology/version_solver.py", line 354, in _choose_package_version
    packages = self._provider.search_for(dependency)
  File "/Users/iwolosch/.poetry/lib/poetry/puzzle/provider.py", line 130, in search_for
    packages = self.search_for_vcs(dependency)
  File "/Users/iwolosch/.poetry/lib/poetry/puzzle/provider.py", line 171, in search_for_vcs
    name=dependency.name,
  File "/Users/iwolosch/.poetry/lib/poetry/puzzle/provider.py", line 207, in get_package_from_vcs
    package = cls.get_package_from_directory(tmp_dir, name=name)
  File "/Users/iwolosch/.poetry/lib/poetry/puzzle/provider.py", line 411, in get_package_from_directory
    name, package_name

If you look at Logbook, the package name is "Logbook" with an uppercase 'L':
https://github.com/getlogbook/logbook/blob/develop/setup.py#L188
I believe that Python Package names are supposed to be case insensitive, so I believe this is a bug in Poetry.  This appears to be fixed by simply making the if statement on Line 411 ignore case, but I'm not sure if this is more complex than that or not.
I do not see this same problem when trying to install a stable Logbook release from PyPI, I suspect this only affects installing from Path/VCS.

Thanks for taking the time to submit an issue. Python imports are case-sensitive so I don't think there's anything to fix here.

@brycedrennan isn't the import statement case sensitive, but the package naming itself not case sensitive?  I think in this case Poetry should be case insensitive, but the application one might build with poetry would need to be case sensitive when actually using whatever dependencies Poetry is managing?
https://www.python.org/dev/peps/pep-0508/#id21

Alternatively, if this is not a poetry bug, how would you recommend adding the development branch of Logbook as a dependency to a project managed by poetry?
Thanks!

Reopening till we answer your question.

#1305 fixes this issue.


No response in some environments

Thank you for making reCAPTCHA available.
In my WordPress plugin I have it integrated, first the prior version, and just this week the current version. Some users are reporting problems however. Upon debugging, everything seem okay. The $params that are being sent to the service are all in order. However, there is no response from the reCAPTCHA service. The JSON string is empty when running print_r on it.
I don't really know how to debug this further, since on my setups everything works. The latest bugreport is here:
https://wordpress.org/support/topic/recaptcha-key-error?replies=24
In my testsetup I used the user's key with their domainname, and it just works. It reports success. Is there anyway that you can help?

I’ve seen from our logging system that we sometimes don’t get a response back when verifying the response with PHP.
Sometimes (rare, but it happens) it times out.

On 17 Jul 2015, at 18:02, Marcel Pol<EMAIL_ADDRESS>wrote:
Thank you for making reCAPTCHA available.
In my WordPress plugin I have it integrated, first the prior version, and just this week the current version. Some users are reporting problems however. Upon debugging, everything seem okay. The $params that are being sent to the service are all in order. However, there is no response from the reCAPTCHA service. The JSON string is empty when running print_r on it.
I don't really know how to debug this further, since on my setups everything works. The latest bugreport is here:
https://wordpress.org/support/topic/recaptcha-key-error?replies=24 https://wordpress.org/support/topic/recaptcha-key-error?replies=24
In my testsetup I used the user's key with their domainname, and it just works. It reports success. Is there anyway that you can help?
—
Reply to this email directly or view it on GitHub https://github.com/google/recaptcha/issues/59.

Hi,
I am also using Gwolle Guestbook on my homepage and always get the following error message if I use recaptcha:
Array
ReCaptcha\Response Object ( [success:ReCaptcha\Response:private] => [errorCodes:ReCaptcha\Response:private] => Array ( [0] => invalid-json ) )
Beim Speichern des Gästebuch-Eintrags sind Fehler aufgetreten.
Der reCAPTCHA-Schlüssel wurde nicht korrekt eingetragen, obwohl er erforderlich ist.
I have not the technical knowledge to debug this but maybe I can help you answer important questions to help debugging the error. So here is some data:
My Wordpress-Theme: Alyeska (http://themeforest.net/item/alyeska-responsive-wordpress-theme/164366)
Konsole in Firefox says: getAttributeNode() should not be used anymore. Use getAttribute() instead.
The URL to my Guestbook is http://www.cls-evo.de/kontakt/gaestebuch-2/
If you have further questions about my setup, just write here and I will do my best to answer them!

Closing super old issues. Please re-raise if still relevant.


[WIP] [Doesn't work]Add https to egress gateway task

Closing in favor of https://github.com/istio/istio.github.io/pull/1610.


Add link to Europe PMC to Entity Viewer sidebar

Type

New feature

Related JIRA Issue(s)
https://www.ebi.ac.uk/panda/jira/browse/ENSWBSITES-863
Description
Adding link to Europe PMC for genes.
Note
The query generated for some organisms isn't ideal. For some organisms (such as wheat) this is because the sample data in the json file is incorrect ("TraesCS3D02G273600.1" is not gene symbol); but also, we are assuming the common_name and the scientific_name of a species are always different, which currently they aren't. Don't know whether we should check on the client if the scientific_name and the common_name values are identical or distinct, or whether we should just wait until our apis figure this out.
Deployment URL
http://publications-link.review.ensembl.org/
Views affected
Entity viewer -> Sidebar -> Overview

Don't know whether we should check on the client if the scientific_name and the common_name values are identical or distinct, or whether we should just wait until our apis figure this out.

I don't have a strong opinion either but I feel it would be nice to temporarily implement some checks to prevent this:

I don't have a strong opinion either but I feel it would be nice to temporarily implement some checks to prevent this:

The more I think about it, the more I am convinced this is the task for the backend. The common name returned from tthe backend should not be the same as scientitfic name. I'll ask Kamal if he can update genome search server. Meanwhile, can we ignore this for this PR?

If there are data changes for wheat needed then that's for later. Good idea to deal with duplicated names now

I can add a check on the client-side, no problem; but all temporary fixes have an annoying tendency of becoming permanent. If a change to this line in genome-search api is sufficient to nullify common_name when it's the same as scientific name, then just changing it there and redeploying the genome search api should fix the issue.

Using the updated genome search api in http://publications-link.review.ensembl.org, the ("Saccharomyces cerevisiae" OR "Saccharomyces cerevisiae") problem is gone.


Validation Messages are not getting displayed using ngMessages inside twitter bootstrap accordion.

Hello,
We are using ngMessages for displaying validation messages in our angular app.
We have a bussiness requirement that the controls on the page be grouped inside an accordion panels(using twitter bootstrap accordion).
But the problem with this - ngMessages is not displaying the validation message for the controls which are placed inside the accordion panel. The same control when placed outside the accordion panel is displaying validation message.
Any idea about this?
I debugged the code and found that to display a validation message this is the watch ngMessages code uses:
var cachedValues, watchAttr = $attrs.ngMessages || $attrs['for']; //for is a reserved keyword
$scope.$watchCollection(watchAttr, function(values) {
cachedValues = values;
ctrl.renderMessages(values, multiple);
});
I am trying to find the problem but no success till now.
Thanks
Raja

@raajamalik you should be using a dedicated support channel for questions like this, if you are unsure if we are talking about the AngularJS bug here: https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#question
If you believe that this is a bug, please provide all the required details so we can reproduce: https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#submit

Ok. I was not ware about this. Neither I noticed section of questions you
pointed out.
I will raise this questions at the write channel.
Thanks
Raja
On Friday, July 17, 2015, Pawel Kozlowski<EMAIL_ADDRESS>wrote:

@raajamalik https://github.com/raajamalik you should be using a
dedicated support channel for questions like this, if you are unsure if we
are talking about the AngularJS bug here:
https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#question
If you believe that this is a bug, please provide all the required details
so we can reproduce:
https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#submit
—
Reply to this email directly or view it on GitHub
https://github.com/angular/angular.js/issues/12368#issuecomment-122211541
.

--
Thanks
Raja Malik


more options for sea-orm-cli

i use sea-orm-cli to generate model，and the work flow like update database schema, sea-orm-cli generate, web api mod use it.
with this work flow, generated code is immutable，but may be add more options to fit it.
my English is too poor, forgive me for using Chinese.
发现的问题有几个:

sea-orm-cli generate的 output-dir 是 src/model，在这个目录里，我会有一个impls目录，用来放Model额外的implement，所以需要model中mod.rs的生成是可选的
prelude.rs的生成是否可选，我觉得并不需要prelude，都是直接通过mod名称引用的
PartialEq的derive是否可选，我需要自定义排序
需要将某些字段的类型指定为Json，比如MySQL的text类型

Hey @vincascm, welcome!
I'm translating your comment with Google Translate, please do let me know if the translation is inaccurate.

i use sea-orm-cli to generate model, and the work flow like update database schema, sea-orm-cli generate, web api mod use it.
with this work flow, generated code is immutable, but may be add more options to fit it.
my English is too poor, forgive me for using Chinese.
There are several problems found:

The output-dir of sea-orm-cli generate is src/model. In this directory, I will have an impls directory to store additional implements of the Model, so the generation of mod.rs in the model is optional.
Whether the generation of prelude.rs is optional, I don’t think prelude is needed, all are directly referenced by mod name
Whether the derive of PartialEq is optional, I need to customize the sort
Need to specify the type of some fields as Json, such as the text type of MySQL

Reply:

The output-dir of sea-orm-cli generate is src/model. In this directory, I will have an impls directory to store additional implements of the Model, so the generation of mod.rs in the model is optional.

Hmmm... okay so you want to organize the code in a different way. Could you clarify what will be stored in impls directory?

Whether the generation of prelude.rs is optional, I don’t think prelude is needed, all are directly referenced by mod name

Yeah, this could be optional but this is just one file, so I guess user can delete it manually if they don't want it. We could add an option to skip the generation of it if you really want to.

Whether the derive of PartialEq is optional, I need to customize the sort

We would add an option for it as well.

Need to specify the type of some fields as Json, such as the text type of MySQL

This has to be carefully consider. The part of code responsible of it:
https://github.com/SeaQL/sea-orm/blob/cc4904993a190e827f3031210bd965e6f46c9165/sea-orm-codegen/src/entity/column.rs#L25-L55

@billy1624  thanks your reply,

add some mod in src/model,  it's just a pattern such as impl extra methods for model, to express more precisely business logic on model, and this layer encapsulates closest to CRUD of model, so i think it should be in src/mod
the Json here refers to a converted type, which in the database may be TEXT, BLOB, or other types that can be converted to Json. If there is no additional information, these types are converted to directly corresponding types, such as String or Vec < U8 >


Setting properties on Particle2d that has been duplicated affects both

Operating system or device, Godot version, GPU Model and driver (if graphics related):
Godot 3 Beta (downloaded exe version)
Windows 10 x64
Issue description:
Duplicating a particle2d node seems to have the properties linked to both nodes. Setting properties on the first will affect the other. Is this intentional? Maybe properties class is stored as a reference and not instanciated again?
Steps to reproduce:
Create a new particle2d.
Duplicate it.
Select the first one.
Change the properties on it.
Link to minimal example project:

Cannot reproduce, which properties have you changed? I have tried with explosiveness, emitting, etc. and everything is working.

This is what I set on a new Particle2D:
Process Material -> Particle Material
Emission Shape
Shape:    Box
Scale
Scale:15
Scale Curve (plot 1 to 0.2 (roughly))
Thanks!

Maybe it is because Particle Material is copied by ref and is working as designed?

Resources are not duplicated by default, you can duplicate all subresources (make unique) by using the icon on the top right of the inspector (like a screwdriver and other tool) with the Particles Node selected.
Can be done individually by resource with the resource selected in the inspector (like when editing the material) using the same menu, maybe this recommended to not duplicate everything.

Understood. Thanks. I'll close the issue.


get_data_from_batch problem in NMT example

Hi,
I have a very weird problem going on with the machine translation example. In stream.py, get_data_from_batch method was reimplemented for PaddingWithEOS class.
On a system with up-to-date Theano, blocks and fuel, the RNNSearch model runs correctly. I'm trying to implement another model on top of this example which also uses the stream.py module for stream processing but with masks disabled: All sequences are padded with EOS and the sequences are all 32 length.
The problem is that for this code, I'm getting a Theano exception. I traced it back to the following problem: Blocks was never getting the padded batch which should have been returned by PaddingWithEOS.get_data_from_batch() method. I then checked through this method in the fuel repository but it wasn't mentioned anywhere in the code. Actually, I couldn't find any caller of this method at all in blocks, fuel, blocks-examples code tree :) Then I discovered that this method was renamed to get_batch() in:
commit 667e81fd1e4c02dece0ef0abc71a7870b18506bc
Author: Vincent Dumoulin<EMAIL_ADDRESS>Date:   Tue Jul 7 15:26:40 2015 -0400

    Adapt Filter, Cache, Batch, Unpack, Padding to new Transformer interface

Now when I rename it to get_batch in stream.py, it started to work. The holy question is how come the current RNNSearch code is working without exception?
Thanks.

Can you please try the most recent Fuel?

@ozancaglayan are you still having a problem with this?

To follow up this question, I add source_sentence to training monitor. The data actually shows that the source_sentence and target_sentence are padded with zeros. Is it possible that get_data_from_batch is never called?
source: [[  1.83600000e+03   1.74000000e+02   9.00000000e+00 ...,   0.00000000e+00
0.00000000e+00   0.00000000e+00]
[  1.00000000e+00   1.00000000e+00   1.00000000e+00 ...,   0.00000000e+00
0.00000000e+00   0.00000000e+00]
[  1.73000000e+02   5.00000000e+00   3.45000000e+02 ...,   0.00000000e+00
0.00000000e+00   0.00000000e+00]
source_mask: [[ 1.  1.  1. ...,  0.  0.  0.]
[ 1.  1.  1. ...,  0.  0.  0.]
[ 1.  1.  1. ...,  0.  0.  0.]
...,
[ 1.  1.  1. ...,  0.  0.  0.]
[ 1.  1.  1. ...,  0.  0.  0.]
[ 1.  1.  1. ...,  0.  0.  0.]]


Contributor Day/Sprints landing page

Description

We have a plethora of documentation for new contributors spread across our documentation site! #4138 aims to consolidate some of this, but often the level of documentation we have can be overwhelming for the Sprints/Contributor Day contribution case. On those days, contributors are looking to get themselves spun up and contribute their changes as quickly as possible.
Having single document we could use as a landing page for this case, or even for new contributors in general, might be helpful. The intention of this document would be to be as succinct as possible. E.g., content could look like this:

Quick Links:

Quickstart
Good first issues
Types of contributions
Contribution practices
General setup
Link to setup script (If #4137 exists)

@AetherUnbound I would love to work on this issue.
Any extra information regarding the above issue would be helpful.

That's great @vr-varad! The issue description provides some information on what the page might look like, and this page of our documentation describes how you can add a new page containing this info. Can I go ahead and assign this issue to you?


yt-dlp uses aria2 to download YouTube videos. The download speed is slow during the second video download

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

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

Checklist

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

Please make sure the question is worded well enough to be understood
yt-dlp uses aria2 to download YouTube videos. The download speed is slow during the second video download.
command：
Please see the complete verbose output, When downloading the first segment of the YouTube video, the speed is 6.65MiB/s，And the speed of the second video is only 17.04KiB/s.
When I don't use aria2, the speed is normal when using the following command：
yt-dlp -S "res:1080,fps" --no-mtime --extractor-args "youtube:formats=dashy" -N 10 --write-thumbnail --sub-lang "zh,zh-Hans" --embed-subs -P D:/downloads -o "%(title)s.%(ext)s" https://www.youtube.com/watch?v=o0JzPJW0rRY
[youtube] Extracting URL: https://www.youtube.com/watch?v=o0JzPJW0rRY
The speeds of the two sections in this situation are respectively：9.98MiB/s，1.74MiB/s
The difference between 17.04KiB/s and 1.74MiB/s is too large.
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU', '-S', 'res:1080,fps', '--no-mtime', '--external-downloader', 'aria2c', '--downloader-args', '-x 10 -k 10M --https-proxy=<IP_ADDRESS>:10809', '--write-thumbnail', '--write-subs', '--write-auto-subs', '--convert-subs', 'srt', '--sub-lang', 'zh,zh-Hans', '-o', '%(title)s.%(ext)s', 'https://www.youtube.com/watch?v=o0JzPJW0rRY']
[debug] Encodings: locale cp936, fs utf-8, pref cp936, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[b532a3481] (win_exe)
[debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-10-10.0.19044-SP0 (OpenSSL 1.1.1k  25 Mar 2021)
[debug] exe versions: ffmpeg 2023-05-15-git-2953ebe7b6-full_build-www.gyan.dev (setts), ffprobe 2023-05-15-git-2953ebe7b6-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.18.0, brotli-1.0.9, certifi-2023.05.07, mutagen-1.46.0, sqlite3-2.6.0, websockets-11.0.3
[debug] Proxy map: {'https': 'http://<IP_ADDRESS>:10809', 'http': 'http://<IP_ADDRESS>:10809'}
WARNING: External Downloader arguments given without specifying name. The arguments will be given to aria2c
[debug] Loaded 1855 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>Current Build Hash: 5ff3e702171a50175c34397494e2d18ce35d771c2110b1e59bd173ec2fb352aa
yt-dlp is up to date<EMAIL_ADDRESS>[youtube] Extracting URL: https://www.youtube.com/watch?v=o0JzPJW0rRY
[youtube] o0JzPJW0rRY: Downloading webpage
[youtube] o0JzPJW0rRY: Downloading ios player API JSON
[youtube] o0JzPJW0rRY: Downloading android player API JSON
[debug] Loading youtube-nsig.c153b631 from cache
[debug] [youtube] Decrypted nsig 7eNFvhmuub1kRins => vDDGxkpj6qX5iA
[youtube] o0JzPJW0rRY: Downloading m3u8 information
[info] o0JzPJW0rRY: Downloading subtitles: zh-Hans
[debug] Sort order given by user: res:1080, fps
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, res:1080(1080.0), fps, quality, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, size, br, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] o0JzPJW0rRY: Downloading 1 format(s): 303+251
[info] Writing video subtitles to: A stunning new Signature Estate in Boca Raton with unparalleled luxury and for $14,950,000.zh-Hans.vtt
[debug] Invoking aria2c downloader on "https://www.youtube.com/api/timedtext?v=o0JzPJW0rRY&ei=9k7pZK-UHYKGkgaGpoXoBA&caps=asr&opi=112496729&xoaf=5&hl=en&ip=<IP_ADDRESS>&ipbits=0&expire=1693036902&sparams=ip%2Cipbits%2Cexpire%2Cv%2Cei%2Ccaps%2Copi%2Cxoaf&signature=C4E03C89E4ECD3D1B053F8F01458C744DB82237F.D7242C5C187CB79836074C999F0265F88D4C1DD1&key=yt8&kind=asr&lang=en&tlang=zh-Hans&fmt=vtt"
[download] Destination: A stunning new Signature Estate in Boca Raton with unparalleled luxury and for $14,950,000.zh-Hans.vtt
[download] Writing temporary cookies file to "C:\Users\ADMINI~1\AppData\Local\Temp\tmp3k52k5bm.cookies"
[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 "--load-cookies=C:\Users\ADMINI~1\AppData\Local\Temp\tmp3k52k5bm.cookies" --header "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 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" -x 10 -k 10M "--https-proxy=<IP_ADDRESS>:10809" --out ".\A stunning new Signature Estate in Boca Raton with unparalleled luxury and for $14,950,000.zh-Hans.vtt.part" "--auto-file-renaming=false" -- "https://www.youtube.com/api/timedtext?v=o0JzPJW0rRY&ei=9k7pZK-UHYKGkgaGpoXoBA&caps=asr&opi=112496729&xoaf=5&hl=en&ip=<IP_ADDRESS>&ipbits=0&expire=1693036902&sparams=ip%2Cipbits%2Cexpire%2Cv%2Cei%2Ccaps%2Copi%2Cxoaf&signature=C4E03C89E4ECD3D1B053F8F01458C744DB82237F.D7242C5C187CB79836074C999F0265F88D4C1DD1&key=yt8&kind=asr&lang=en&tlang=zh-Hans&fmt=vtt"
[download] 100% of    1.38KiB in 00:00:00 at 1.71KiB/s
[info] Downloading video thumbnail 41 ...
[info] Writing video thumbnail 41 to: A stunning new Signature Estate in Boca Raton with unparalleled luxury and for $14,950,000.webp
[SubtitlesConvertor] Converting subtitles
[debug] ffmpeg command line: ffmpeg -y -loglevel "repeat+info" -i "file:A stunning new Signature Estate in Boca Raton with unparalleled luxury and for $14,950,000.zh-Hans.vtt" -f srt -movflags "+faststart" "file:A stunning new Signature Estate in Boca Raton with unparalleled luxury and for $14,950,000.zh-Hans.srt"
Deleting original file A stunning new Signature Estate in Boca Raton with unparalleled luxury and for $14,950,000.zh-Hans.vtt (pass -k to keep)
[debug] Invoking aria2c downloader on "https://rr4---sn-a5meknd6.googlevideo.com/videoplayback?expire=1693033303&ei=907pZJa_HciksfIP1smkmAc&ip=<IP_ADDRESS>&id=o-APTcfrYSsAlkzGATIOXbOHuFy10xwcRyZC2Ry3hJLfeo&itag=303&source=youtube&requiressl=yes&mh=n0&mm=31%2C26&mn=sn-a5meknd6%2Csn-n4v7snls&ms=au%2Conr&mv=m&mvi=4&pl=22&initcwndbps=3986250&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=109168534&dur=217.633&lmt=1692971713286676&mt=1693011425&fvip=1&keepalive=yes&fexp=24007246%2C24362685&c=IOS&txp=6309224&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIgZxN-tWQt_grEMs3WdIHTWMSI8RQJgqKR1FoU_Z1NaxQCIQDNMjh_OUucJ7ZJKmzmtNonlHOZFiLUMZF50ls378owHQ%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRQIgR-c5b60AVyAi4Rf_jVZFc33RpnidF60Zczg5z_eUc5gCIQDoBHgpVXw3cXJZq-bIbOmHCDjYC5cW4jfH9vUOonmTwg%3D%3D"
[download] Destination: A stunning new Signature Estate in Boca Raton with unparalleled luxury and for $14,950,000.f303.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.124 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" -x 10 -k 10M "--https-proxy=<IP_ADDRESS>:10809" --out ".\A stunning new Signature Estate in Boca Raton with unparalleled luxury and for $14,950,000.f303.webm.part" "--auto-file-renaming=false" -- "https://rr4---sn-a5meknd6.googlevideo.com/videoplayback?expire=1693033303&ei=907pZJa_HciksfIP1smkmAc&ip=<IP_ADDRESS>&id=o-APTcfrYSsAlkzGATIOXbOHuFy10xwcRyZC2Ry3hJLfeo&itag=303&source=youtube&requiressl=yes&mh=n0&mm=31%2C26&mn=sn-a5meknd6%2Csn-n4v7snls&ms=au%2Conr&mv=m&mvi=4&pl=22&initcwndbps=3986250&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=109168534&dur=217.633&lmt=1692971713286676&mt=1693011425&fvip=1&keepalive=yes&fexp=24007246%2C24362685&c=IOS&txp=6309224&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIgZxN-tWQt_grEMs3WdIHTWMSI8RQJgqKR1FoU_Z1NaxQCIQDNMjh_OUucJ7ZJKmzmtNonlHOZFiLUMZF50ls378owHQ%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRQIgR-c5b60AVyAi4Rf_jVZFc33RpnidF60Zczg5z_eUc5gCIQDoBHgpVXw3cXJZq-bIbOmHCDjYC5cW4jfH9vUOonmTwg%3D%3D"
[download] 100% of  104.11MiB in 00:00:15 at 6.65MiB/s
[debug] Invoking aria2c downloader on "https://rr4---sn-a5meknd6.googlevideo.com/videoplayback?expire=1693033304&ei=-E7pZOO6Dr-hsfIPyZi6yAk&ip=<IP_ADDRESS>&id=o-ADjC_tRizx2CcWhdzEPJfYCV98yzrFrBA-70r-Payeyh&itag=251&source=youtube&requiressl=yes&mh=n0&mm=31%2C29&mn=sn-a5meknd6%2Csn-a5mlrnl6&ms=au%2Crdu&mv=m&mvi=4&pl=22&initcwndbps=3986250&spc=UWF9f1QcUk4UHtBXF7JSiNhtn_5DaJ4&vprv=1&svpuc=1&mime=audio%2Fwebm&gir=yes&clen=3635690&dur=217.661&lmt=1692971712128864&mt=1693011425&fvip=5&keepalive=yes&fexp=24007246%2C51000011&c=ANDROID&txp=6308224&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRAIgJCHbjoO_h2cu_P21Mz11_uKoSVKzBmPiBgEhbT3g3lkCID1LMSRUkLuLpEtzf1N5m-P0ak2wClD_ZLZB73yCyGaf&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRQIgYIlxgMsE4mS50IzF04Vmgo2iGk_lO3hTWG1nTCktdOsCIQDmRmINTtlpC1GIFZGjQ5wjsWXFg27Hhpd1M27R7ZoLyQ%3D%3D"
[download] Destination: A stunning new Signature Estate in Boca Raton with unparalleled luxury and for $14,950,000.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.124 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" -x 10 -k 10M "--https-proxy=<IP_ADDRESS>:10809" --out ".\A stunning new Signature Estate in Boca Raton with unparalleled luxury and for $14,950,000.f251.webm.part" "--auto-file-renaming=false" -- "https://rr4---sn-a5meknd6.googlevideo.com/videoplayback?expire=1693033304&ei=-E7pZOO6Dr-hsfIPyZi6yAk&ip=<IP_ADDRESS>&id=o-ADjC_tRizx2CcWhdzEPJfYCV98yzrFrBA-70r-Payeyh&itag=251&source=youtube&requiressl=yes&mh=n0&mm=31%2C29&mn=sn-a5meknd6%2Csn-a5mlrnl6&ms=au%2Crdu&mv=m&mvi=4&pl=22&initcwndbps=3986250&spc=UWF9f1QcUk4UHtBXF7JSiNhtn_5DaJ4&vprv=1&svpuc=1&mime=audio%2Fwebm&gir=yes&clen=3635690&dur=217.661&lmt=1692971712128864&mt=1693011425&fvip=5&keepalive=yes&fexp=24007246%2C51000011&c=ANDROID&txp=6308224&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRAIgJCHbjoO_h2cu_P21Mz11_uKoSVKzBmPiBgEhbT3g3lkCID1LMSRUkLuLpEtzf1N5m-P0ak2wClD_ZLZB73yCyGaf&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRQIgYIlxgMsE4mS50IzF04Vmgo2iGk_lO3hTWG1nTCktdOsCIQDmRmINTtlpC1GIFZGjQ5wjsWXFg27Hhpd1M27R7ZoLyQ%3D%3D"
[download] 100% of    3.47MiB in 00:03:28 at 17.04KiB/s
[Merger] Merging formats into "A stunning new Signature Estate in Boca Raton with unparalleled luxury and for $14,950,000.webm"
[debug] ffmpeg command line: ffmpeg -y -loglevel "repeat+info" -i "file:A stunning new Signature Estate in Boca Raton with unparalleled luxury and for $14,950,000.f303.webm" -i "file:A stunning new Signature Estate in Boca Raton with unparalleled luxury and for $14,950,000.f251.webm" -c copy -map "0:v:0" -map "1:a:0" -movflags "+faststart" "file:A stunning new Signature Estate in Boca Raton with unparalleled luxury and for $14,950,000.temp.webm"
Deleting original file A stunning new Signature Estate in Boca Raton with unparalleled luxury and for $14,950,000.f251.webm (pass -k to keep)
Deleting original file A stunning new Signature Estate in Boca Raton with unparalleled luxury and for $14,950,000.f303.webm (pass -k to keep)

And your question is?

My question is as follows: When using yt-dlp to download YouTube videos, they are divided into two parts for downloading. Why is it that when using aria2 to download the second part of the video, the speed is very slow, whereas when not using aria2, the speed of downloading the second part of the video is relatively normal.

Smaller files are known to be lower in aria2 ince it can't really make full use of threading in that case

Thank you for your response


fix HELO message

I had plans to change the code and modify that get_domain function, but I also made a lot of changes (adding composer and packagist support)
Thanks for you contribution


[skia] update to chrome/m122

[x] Changes comply with the maintainer guide.
[x] SHA512s are updated for each updated download.
[x] The "supports" clause reflects platforms that may be fixed by this new version.
[x] Any fixed CI baseline entries are removed from that file.
[x] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

This is related to https://github.com/microsoft/vcpkg/issues/36517

You must build locally, read the warnings, and update (or de-vendor) the vendored dependencies.

You must build locally, read the warnings, and update (or de-vendor) the vendored dependencies.

I've built skia[core] locally on my mac arm.

@dg0yt I'm no expert of vcpkg, maybe you want to do this upgrade instead of me?

it seems to be building dng sdk.

You must build locally, read the warnings, and update (or de-vendor) the vendored dependencies.

I've built skia[core] locally on my mac arm.

Platform doesn't matter. The port file issues warnings pointing at outdated files download by the port.

Where do you see this warning?

Console output. CI has:
2024-02-01T12:06:41.7296297Z -- Using source at D:/b/skia/src/8a53607b15-d0babd1818.clean
2024-02-01T12:06:41.7302119Z CMake Warning at ports/skia/skia-functions.cmake:15 (message):
2024-02-01T12:06:41.7308009Z   Dependency abseil-cpp diverges from upstream.  Upstream:
2024-02-01T12:06:41.7314094Z   "https://github.com/abseil/abseil-cpp.git@334aca32051ef6ede2711487acf45d959e9bdffc",
2024-02-01T12:06:41.7319973Z   Actual:
2024-02-01T12:06:41.7326082Z   "https://github.com/abseil/abseil-cpp.git@cb436cf0142b4cbe47aae94223443df7f82e2920"
2024-02-01T12:06:41.7331943Z Call Stack (most recent call first):
2024-02-01T12:06:41.7337973Z   ports/skia/portfile.cmake:17 (declare_external_from_git)
2024-02-01T12:06:41.7343902Z   scripts/ports.cmake:170 (include)
2024-02-01T12:06:41.7346902Z
2024-02-01T12:06:41.7349963Z
2024-02-01T12:06:41.7356199Z CMake Warning at ports/skia/skia-functions.cmake:15 (message):
2024-02-01T12:06:41.7362117Z   Dependency dawn diverges from upstream.  Upstream:
2024-02-01T12:06:41.7368091Z   "https://dawn.googlesource.com/dawn.git@5b45794c2c24c3fa40dc480af92c5284a95423ef",
2024-02-01T12:06:41.7373961Z   Actual:
2024-02-01T12:06:41.7380043Z   "https://dawn.googlesource.com/dawn.git@6e25bf7674bbcb1d1e613dc0700c958830950037"
2024-02-01T12:06:41.7385995Z Call Stack (most recent call first):
2024-02-01T12:06:41.7392040Z   ports/skia/portfile.cmake:27 (declare_external_from_git)
2024-02-01T12:06:41.7397951Z   scripts/ports.cmake:170 (include)
2024-02-01T12:06:41.7400962Z
2024-02-01T12:06:41.7404057Z
2024-02-01T12:06:41.7410220Z CMake Warning at ports/skia/skia-functions.cmake:15 (message):
2024-02-01T12:06:41.7416044Z   Dependency jinja2 diverges from upstream.  Upstream:
2024-02-01T12:06:41.7422162Z   "https://chromium.googlesource.com/chromium/src/third_party/jinja2@e2d024354e11cc6b041b0cff032d73f0c7e43a07",
2024-02-01T12:06:41.7427991Z   Actual:
2024-02-01T12:06:41.7433951Z   "https://chromium.googlesource.com/chromium/src/third_party/jinja2@ee69aa00ee8536f61db6a451f3858745cf587de6"
2024-02-01T12:06:41.7440005Z Call Stack (most recent call first):
2024-02-01T12:06:41.7446070Z   ports/skia/portfile.cmake:40 (declare_external_from_git)
2024-02-01T12:06:41.7452097Z   scripts/ports.cmake:170 (include)
2024-02-01T12:06:41.7455065Z
2024-02-01T12:06:41.7458173Z
2024-02-01T12:06:41.7464437Z CMake Warning at ports/skia/skia-functions.cmake:15 (message):
2024-02-01T12:06:41.7470292Z   Dependency markupsafe diverges from upstream.  Upstream:
2024-02-01T12:06:41.7476305Z   "https://chromium.googlesource.com/chromium/src/third_party/markupsafe@0bad08bb207bbfc1d6f3bbc82b9242b0c50e5794",
2024-02-01T12:06:41.7482215Z   Actual:
2024-02-01T12:06:41.7488711Z   "https://chromium.googlesource.com/chromium/src/third_party/markupsafe@0944e71f4b2cb9a871bcbe353f95e889b64a611a"
2024-02-01T12:06:41.7494681Z Call Stack (most recent call first):
2024-02-01T12:06:41.7500772Z   ports/skia/portfile.cmake:45 (declare_external_from_git)
2024-02-01T12:06:41.7506804Z   scripts/ports.cmake:170 (include)
2024-02-01T12:06:41.7509512Z
2024-02-01T12:06:41.7512517Z
2024-02-01T12:06:41.7518672Z CMake Warning at ports/skia/skia-functions.cmake:15 (message):
2024-02-01T12:06:41.7524520Z   Dependency spirv-cross diverges from upstream.  Upstream:
2024-02-01T12:06:41.7530500Z   "https://github.com/KhronosGroup/SPIRV-Cross@b82536766d1b81631b126d1ddbe49baf42929bd3",
2024-02-01T12:06:41.7536286Z   Actual:
2024-02-01T12:06:41.7542389Z   "https://github.com/KhronosGroup/SPIRV-Cross@030d0be28c35bafebd20660c112852b1d8c8c6ca"
2024-02-01T12:06:41.7548173Z Call Stack (most recent call first):
2024-02-01T12:06:41.7554178Z   ports/skia/portfile.cmake:60 (declare_external_from_git)
2024-02-01T12:06:41.7560112Z   scripts/ports.cmake:170 (include)
2024-02-01T12:06:41.7563092Z
2024-02-01T12:06:41.7566169Z
2024-02-01T12:06:41.7572363Z CMake Warning at ports/skia/skia-functions.cmake:15 (message):
2024-02-01T12:06:41.7578441Z   Dependency spirv-headers diverges from upstream.  Upstream:
2024-02-01T12:06:41.7584685Z   "https://github.com/KhronosGroup/SPIRV-Headers.git@7b0309708da5126b89e4ce6f19835f36dc912f2f",
2024-02-01T12:06:41.7590463Z   Actual:
2024-02-01T12:06:41.7596504Z   "https://github.com/KhronosGroup/SPIRV-Headers.git@8e2ad27488ed2f87c068c01a8f5e8979f7086405"
2024-02-01T12:06:41.7602302Z Call Stack (most recent call first):
2024-02-01T12:06:41.7608291Z   ports/skia/portfile.cmake:65 (declare_external_from_git)
2024-02-01T12:06:41.7614244Z   scripts/ports.cmake:170 (include)
2024-02-01T12:06:41.7617197Z
2024-02-01T12:06:41.7620253Z
2024-02-01T12:06:41.7626339Z CMake Warning at ports/skia/skia-functions.cmake:15 (message):
2024-02-01T12:06:41.7632343Z   Dependency spirv-tools diverges from upstream.  Upstream:
2024-02-01T12:06:41.7638284Z   "https://github.com/KhronosGroup/SPIRV-Tools.git@3e6bdd0f99655b1bc6a54aa73e5bfaaa4252198b",
2024-02-01T12:06:41.7644086Z   Actual:
2024-02-01T12:06:41.7650236Z   "https://github.com/KhronosGroup/SPIRV-Tools.git@93c13345e176f3f8bdb4b07e59c5e3365b3dbf44"
2024-02-01T12:06:41.7656032Z Call Stack (most recent call first):
2024-02-01T12:06:41.7662109Z   ports/skia/portfile.cmake:70 (declare_external_from_git)
2024-02-01T12:06:41.7668014Z   scripts/ports.cmake:170 (include)
2024-02-01T12:06:41.7670972Z
2024-02-01T12:06:41.7674033Z
2024-02-01T12:06:41.7680199Z CMake Warning at ports/skia/skia-functions.cmake:15 (message):
2024-02-01T12:06:41.7686226Z   Dependency vulkan-tools diverges from upstream.  Upstream:
2024-02-01T12:06:41.7692208Z   "https://github.com/KhronosGroup/Vulkan-Tools@7c6d640a5ca3ab73c1f42d22312f672b54babfaf",
2024-02-01T12:06:41.7697982Z   Actual:
2024-02-01T12:06:41.7704006Z   "https://github.com/KhronosGroup/Vulkan-Tools@2c83dd6cb2ef710bab843b69776997d6f2c12ba4"
2024-02-01T12:06:41.7709780Z Call Stack (most recent call first):
2024-02-01T12:06:41.7715604Z   ports/skia/portfile.cmake:75 (declare_external_from_git)
2024-02-01T12:06:41.7721487Z   scripts/ports.cmake:170 (include)
2024-02-01T12:06:41.7724423Z
2024-02-01T12:06:41.7727431Z
2024-02-01T12:06:41.7733519Z CMake Warning at ports/skia/skia-functions.cmake:15 (message):
2024-02-01T12:06:41.7740023Z   Dependency wuffs diverges from upstream.  Upstream:
2024-02-01T12:06:41.7746077Z   "https://github.com/google/wuffs-mirror-release-c.git@e3f919ccfe3ef542cfc983a82146070258fb57f8",
2024-02-01T12:06:41.7751764Z   Actual:
2024-02-01T12:06:41.7757870Z   "https://github.com/google/wuffs-mirror-release-c.git@a0041ac0310b3156b963e2f2bea09245f25ec073"
2024-02-01T12:06:41.7763253Z Call Stack (most recent call first):
2024-02-01T12:06:41.7769050Z   ports/skia/portfile.cmake:80 (declare_external_from_git)
2024-02-01T12:06:41.7774817Z   scripts/ports.cmake:170 (include)

If using less than expected upstream, YMMV.
Of course there might be additions/removals, too.

So this is the failure on windows:
[931/933] link skshaper.dll skshaper.dll.lib skshaper.dll.pdb
FAILED: skshaper.dll skshaper.dll.lib skshaper.dll.pdb
"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC/Tools/MSVC/14.38.33130/bin/HostX64/x64/link.exe" /nologo /IMPLIB:./skshaper.dll.lib /DLL /OUT:./skshaper.dll /PDB:./skshaper.dll.pdb @./skshaper.dll.rsp
   Creating library ./skshaper.dll.lib and object ./skshaper.dll.exp
skshaper.SkShaper.obj : error LNK2019: unresolved external symbol "public: static class std::unique_ptr<class SkShaper,struct std::default_delete<class SkShaper> > __cdecl SkShaper::MakeShaperDrivenWrapper(class sk_sp<class SkFontMgr>)" (?MakeShaperDrivenWrapper@SkShaper@@SA?AV?$unique_ptr@VSkShaper@@U?$default_delete@VSkShaper@@@std@@@std@@V?$sk_sp@VSkFontMgr@@@@@Z) referenced in function "public: static class std::unique_ptr<class SkShaper,struct std::default_delete<class SkShaper> > __cdecl SkShaper::Make(class sk_sp<class SkFontMgr>)" (?Make@SkShaper@@SA?AV?$unique_ptr@VSkShaper@@U?$default_delete@VSkShaper@@@std@@@std@@V?$sk_sp@VSkFontMgr@@@@@Z)
skshaper.SkShaper.obj : error LNK2019: unresolved external symbol "public: static void __cdecl SkShaper::PurgeHarfBuzzCache(void)" (?PurgeHarfBuzzCache@SkShaper@@SAXXZ) referenced in function "public: static void __cdecl SkShaper::PurgeCaches(void)" (?PurgeCaches@SkShaper@@SAXXZ)
skshaper.SkShaper.obj : error LNK2019: unresolved external symbol "public: static class std::unique_ptr<class SkShaper::ScriptRunIterator,struct std::default_delete<class SkShaper::ScriptRunIterator> > __cdecl SkShaper::MakeSkUnicodeHbScriptRunIterator(char const *,unsigned __int64,unsigned int)" (?MakeSkUnicodeHbScriptRunIterator@SkShaper@@SA?AV?$unique_ptr@VScriptRunIterator@SkShaper@@U?$default_delete@VScriptRunIterator@SkShaper@@@std@@@std@@PEBD_KI@Z) referenced in function "public: static class std::unique_ptr<class SkShaper::ScriptRunIterator,struct std::default_delete<class SkShaper::ScriptRunIterator> > __cdecl SkShaper::MakeScriptRunIterator(char const *,unsigned __int64,unsigned int)" (?MakeScriptRunIterator@SkShaper@@SA?AV?$unique_ptr@VScriptRunIterator@SkShaper@@U?$default_delete@VScriptRunIterator@SkShaper@@@std@@@std@@PEBD_KI@Z)

.\skshaper.dll : fatal error LNK1120: 3 unresolved externals

Could it be related to skia needing clang to build?

@dg0yt maybe this error makes sense to you?
The build contains:
[931/932] link bentleyottmann.dll bentleyottmann.dll.lib bentleyottmann.dll.pdb

And fails with:
-- Installing (x64-windows-dbg)...
CMake Error at ports/skia/skia-functions.cmake:387 (file):
  file COPY cannot find "D:/b/skia/x64-windows-dbg/bentleyottmann.dll.lib":
  No error.
Call Stack (most recent call first):
  ports/skia/skia-functions.cmake:429 (skia_gn_install_build_type)
  ports/skia/portfile.cmake:300 (skia_gn_install)
  scripts/ports.cmake:170 (include)

Apparently the .dll.lib wasn't created because the property was missing on that target?
https://cmake.org/cmake/help/latest/variable/CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS.html

IIUC skshaper.dll harfbuzz needs icu now(?):
https://github.com/google/skia/blob/cdf214adfb4d88561c8aea0800f6cdc556502103/modules/skshaper/BUILD.gn#L51
but this dependency isn't modeled in the port features, and the x64-windows build was without icu.

Apparently the .dll.lib wasn't created because the property was missing on that target?
https://cmake.org/cmake/help/latest/variable/CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS.html

The build uses gn, not CMake. In general, Skia has proper export declarations for DLLs. But our configuration might be unusual so we need to check what is the real cause.

IIUC skshaper.dll harfbuzz needs icu now(?): https://github.com/google/skia/blob/cdf214adfb4d88561c8aea0800f6cdc556502103/modules/skshaper/BUILD.gn#L51 but this dependency isn't modeled in the port features, and the x64-windows build was without icu.

IIUC, icu only supports static builds on windows.

IIUC, icu is only supported static skia builds on windows? (that's what was previously in the metadata)

Yes, in the last revisions, I could not make it work (when I read the manifest correctly).
This could be revisited.
And also some modules already didn't work as DLLs.
So you can probably disable bentleyottmann where I already disable skparagraph (skia_enable_skparagraph=false).
It is important to disable these componets so that they don't end up in exported configuration.

@dg0yt do you know if we could somehow for clang-cl to build skia on windows?

@dg0yt do you know if we could somehow force clang-cl to build skia on windows?

The official windows triplets are for using MSVC as C and C++ compiler.
You are free to do what you want in custom triplets. Some people have clang triplets.

I cleaned up and squashed.
Should be good now.

Thank you so much for investigating the update of this library!
Let me share one potentially useful detail. The current VCPKG implementation builds the SkParagraph module with the ICU dependency - which makes it impossible to use on Windows with dynamic linking. Something that has been mentioned in this discussion.
However, the SkParagraph module does not need to rely on ICU. Several options are available: skia_use_icu (currently used), skia_use_libgrapheme and skia_use_icu4x (the latest version of ICU, maybe the most interesting one?)
The icu4x seems to be well compatible with Skia SkParagraph: http://blog.unicode.org/2023/04/icu4x-12-now-with-text-segmentation-and.html
It may be worth replacing icu with icu4x. What do you think?
I am attempting to do it myself. But being completely new to the C++ world (I am working in C#/TS on a daily basis), I am currently learning how to modify VCPKG configuration locally.

Thank you so much for investigating the update of this library!
Let me share one potentially useful detail. The current VCPKG implementation builds the SkParagraph module with the ICU dependency - which makes it impossible to use on Windows with dynamic linking. Something that has been mentioned in this discussion.
However, the SkParagraph module does not need to rely on ICU. Several options are available: skia_use_icu (currently used), skia_use_libgrapheme and skia_use_icu4x (the latest version of ICU, maybe the most interesting one?)
The icu4x seems to be well compatible with Skia SkParagraph: http://blog.unicode.org/2023/04/icu4x-12-now-with-text-segmentation-and.html
It may be worth replacing icu with icu4x. What do you think?
I am attempting to do it myself. But being completely new to the C++ world (I am working in C#/TS on a daily basis), I am currently learning how to modify VCPKG configuration locally.

Hi,
I have no idea about that.
I'm using the previous version (the one currently on the master), and it crashes in SkSL to GLSL. So I'm trying to see if updating it fixes my issue.
Improving the text shaping isn't a goal for me at the moment. Though it is building with harfbuzz (static) which should provide a very good text shaping already I believe?
I suggest we do things step by step, and once that one is merged you can start looking into ICU.
The current version of ICU in vcpkg doesn't build with arm64/macOS for me.
Cheers,
Alex

Improving the text shaping isn't a goal for me at the moment. Though it is building with harfbuzz (static) which should provide a very good text shaping already I believe?

Harfbuzz is only responsible for text shaping (e.g. combining multiple text characters into a single visual glyph, like in Arabic). ICU provides more advanced text-rendering algorithms, such as bi-directionality and language-specific line breaking.
Regarding text rendering, the SkParagraph module is an essential part of Skia - it combines all features within a simple-to-use API. The VCPKG package that does not support this module loses a lot of potential, making it not useful on Windows.

I suggest we do things step by step, and once that one is merged you can start looking into ICU.
The current version of ICU in vcpkg doesn't build with arm64/macOS for me.

I am very happy to collaborate, yet not sure if alone I can provide any improvements.

This is useful info, thank you very much I understand better now.
After this PR, I'll try to see if I can get icu to build on macOS first.

It may be helpful to realize that the Google packages and vcpkg are competing if not clashing. Google's build tools make it fairly easy and safe to vendor every dependency into the package (while supporting a limited set of platforms and configurations). Vcpkg prefers to de-vendor dependencies (while supporting a broad set of platforms and configurations).
The skia ports is neither a good vcpkg citizen nor the pristine Google package. If you want more from the Google cake, the vcpkg port might not be the right thing. If you want to learn how to improve these gn & Co. ports, the skia port is a good entry point.

When choosing the icu4x path, we can rely on the Skia build system instead of creating a new VCPKG package (as Unicode seems to think about icu and icu4x as two completely different projects).
Meanwhile, I am fighting with the fontconfig-related build errors on macos, and I fear a similar long fight on Windows :D

The VCPKG package that does not support this module loses a lot of potential, making it not useful on Windows.

vcpkg supports the module. Skia doesn't support dynamic linkage for this module in Windows.

Skia doesn't support dynamic linkage for this module in Windows.

Would you please share more details about this? Where exactly can I find the reason/hints about this?

Skia doesn't support dynamic linkage for this module in Windows.

Would you please share more details about this? Where exactly can I find the reason/hints about this?

It is the same experience as here with bentleyottmann: There is no declaration of symbols to be exported by the DLL, and no macro to implement it, and so there is no import lib which would be what is used by consumers at link time.
(Of course if it would really be used as a module/plugin a runtime, this would be okay.)

I really would like to see the bentleyottman module handled in another way. Changing policies, ignoring missing files ... doesn't improve port maintainability.

I'm not sure what to do with my knowledge.
As I said, it isn't possible to deactivate bentle yottmann when using MSVC.
Isn't the missing .dll.lib file superficial anyway? Maybe if you're debugging and among all the lines of codes it turns out that indeed you need to debug that little isolated part then yes, but in practice I doubt it is going to happen.
I'm already facing some crashes in GrGL/SkSL with the previous version (canvas/38.2), so I wonder if this port is widely used. Also, given that skia explicitely says that it needs to be compiled using clang in order to have optimized code because they heavily rely upon clang specific features, makes me think that skia is an ongoing experimental port within vcpkg. So I would not worry too much about bentle yottmann.
I think this port needs to be improved iteratively, I don't have the knowledge nor the resources to solve all problems at once, so maybe we just take what we can and progress step by step.

As I said, it isn't possible to deactivate bentle yottmann when using MSVC.

I read this, but I have no clue why you say that... I don't have MSVC, so if I can't download CI artifacts, I can't check build results.

Isn't the missing .dll.lib file superficial anyway?

No, it isn't. That's why there is a post-build check.

I'm already facing some crashes in GrGL/SkSL with the previous version (canvas/38.2), so I wonder if this port is widely used.

I wonder that, too. As I said, it is neiter a good vcpkg citizen nor pristine upstream.
But it might be helpful to document observed issues more explicitly. (platform? other ports involved?)
The update to 0.38.2 was done without paying attention to the inner structure (#34787), and the immediate follow-up work was a multiple of the original update (#34951). I really appreciate your work on the port now!

Also, given that skia explicitely says that it needs to be compiled using clang in order to have optimized code because they heavily rely upon clang specific features, makes me think that skia is an ongoing experimental port within vcpkg. So I would not worry too much about bentle yottmann.

As I said, upstream supports a limited set of platforms and configurations. And documentation ... doesn't answer all questions.

As I said, it isn't possible to deactivate bentle yottmann when using MSVC.

I read this, but I have no clue why you say that... I don't have MSVC, so if I can't download CI artifacts, I can't check build results.

If you pass the option to disable that library, then the build fail saying that this library is mandatory for msvc builds.

I still wonder if it is really used somewhere.
But I do see that modules/bentleyottmann/BUILD.gn lacks one thing that skshaper has: A section to establish the expected gn identifiers when the module is disabled - something like
 if (skia_enable_bentleyottmann) {
 ...
+} else {
+    group("bentleyottmann") {
+    }
+    group("tests") {
+    }
 }

(untested)

I give it a try.

Let's see if your change works.

@dg0yt I've now cleaned up the PR, it is ready for review :-)
Thank you very much for all your help.

-- Extracting source G:/skia/downloads/skia-5b45794c2c24c3fa40dc480af92c5284a95423ef.tar.gz
-- Applying patch dawn-dedup-native-proc-gen.patch
CMake Error at scripts/cmake/z_vcpkg_apply_patches.cmake:34 (message):
  Applying patch failed: Checking patch src/dawn/native/BUILD.gn...

  error: while searching for:

    target = "webgpu_dawn_native_proc"
    outputs = [ "src/dawn/native/webgpu_dawn_native_proc.cpp" ]

  }

  dawn_component("webgpu_dawn") {

    # For a single library - build `webgpu_dawn_shared` with GN args:

  error: patch failed: src/dawn/native/BUILD.gn:882

  error: src/dawn/native/BUILD.gn: patch does not apply

Call Stack (most recent call first):
  scripts/cmake/vcpkg_extract_source_archive.cmake:147 (z_vcpkg_apply_patches)
  scripts/cmake/vcpkg_extract_source_archive_ex.cmake:8 (vcpkg_extract_source_archive)
  scripts/cmake/vcpkg_from_git.cmake:164 (vcpkg_extract_source_archive_ex)
  ports/skia/skia-functions.cmake:62 (vcpkg_from_git)
  ports/skia/portfile.cmake:253 (get_externals)
  scripts/ports.cmake:170 (include)

Hi @MonicaLiu0311
Thank you for givin dawn a try.
It turns out that dawn now requires graphite, so I've added graphite support to skia.
I commented out the patches for dawn (for now) and it builds fine yet it fails in skia-functions.cmake:
-- Building (arm64-osx-dbg)...
-- Installing (arm64-osx-dbg)...
CMake Error at ports/skia/skia-functions.cmake:219 (string):
  string sub-command JSON failed parsing json string: * Line 1, Column 1

    Syntax error: value, object or array expected.

  .
Call Stack (most recent call first):
  ports/skia/skia-functions.cmake:202 (expand_gn_targets_recurse)
  ports/skia/skia-functions.cmake:336 (expand_gn_targets)
  ports/skia/skia-functions.cmake:429 (skia_gn_install_build_type)
  ports/skia/portfile.cmake:305 (skia_gn_install)
  scripts/ports.cmake:170 (include)

error: building skia:arm64-osx failed with: BUILD_FAILED
Elapsed time to handle skia:arm64-osx: 2.6 min
Please ensure you're using the latest port files with `git pull` and `vcpkg update`.
Then check for known issues at:
  https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+skia
You can submit a new issue at:
  https://github.com/microsoft/vcpkg/issues/new?title=[skia]+Build+error+on+arm64-osx&body=Copy+issue+body+from+%2FUsers%2Fabique%2Fdevelop%2Fvcpkg%2Finstalled%2Fvcpkg%2Fissue_body.md

I'm not sure how to workout this error.

I need help with skia-functions.cmake.
Skia builds fine and then the builds fails within expand_gn_targets_recurse

Skia builds fine and then the builds fails within expand_gn_targets_recurse

CI is green. Which vcpkg command line is needed to reproduce the problem - just add dawn?
We could also add it for some platforms in scripts/test-ports/vcpkg-ci-skia/vcpkg.json.

Skia builds fine and then the builds fails within expand_gn_targets_recurse

CI is green. Which vcpkg command line is needed to reproduce the problem - just add dawn? We could also add it for some platforms in scripts/test-ports/vcpkg-ci-skia/vcpkg.json.

Yes you need to build with dawn. I could reproduce it on macOS/arm64.

I'm looking into it. It took more changes to deal with vulkan also on x64-linux.
I'm seeing this error now due to a warning at the top of desc-<triplet>-dbg.log which is expected to be pure json.

https://github.com/abique/vcpkg/pull/1

@dg0yt if there is a way to transfer the PR's ownership to you and if it would help, please let me know.

FAILED: obj/src/gpu/ganesh/gpu.GrBackendTextureImageGenerator.obj
"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC/Tools/MSVC/14.38.33130/bin/HostX64/x64/cl.exe" /nologo /showIncludes /FC -D_CRT_SECURE_NO_WARNINGS -D_HAS_EXCEPTIONS=0 -DWIN32_LEAN_AND_MEAN -DNOMINMAX -DSKIA_DLL -DSK_ENABLE_PRECOMPILE -DSKSL_ENABLE_TRACING -DSK_GANESH -DSK_GRAPHITE -DSK_GAMMA_APPLY_TO_A8 -DSK_ALLOW_STATIC_GLOBAL_INITIALIZERS=1 -DGR_TEST_UTILS=0 -DGRAPHITE_TEST_UTILS=1 -DSK_USE_VMA -DSK_ENABLE_AVX512_OPTS -DSKIA_IMPLEMENTATION=1 -DSK_GL -DSK_ENABLE_DUMP_GPU -DSK_VULKAN "-IC:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.38.33130/include" "-IC:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/shared" "-IC:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/ucrt" "-IC:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/um" "-IC:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/winrt" -I../src/8a53607b15-f4e6db44a8.clean -ID:/installed/x64-windows/include -I../src/8a53607b15-f4e6db44a8.clean/src/gpu/vk/vulkanmemoryallocator /wd5030 /wd5051 /bigobj /utf-8 /Z7 /W3 /wd4244 /wd4267 /wd4800 /wd4291 /wd4251 /wd4275 /wd5041  /std:c++17 /GR- -nologo -DWIN32 -D_WINDOWS -W3 -utf-8 -GR -EHsc -MP -D_DEBUG -MDd -Z7 -Ob0 -Od -RTC1 /c ../src/8a53607b15-f4e6db44a8.clean/src/gpu/ganesh/GrBackendTextureImageGenerator.cpp /Foobj/src/gpu/ganesh/gpu.GrBackendTextureImageGenerator.obj /Fd"obj/gpu_c.pdb"
cl : Command line warning D9025 : overriding '/GR-' with '/GR'
D:\b\skia\src\8a53607b15-f4e6db44a8.clean\include\core\SkRefCnt.h(142): error C2027: use of undefined type 'skgpu::graphite::ImageProvider'
D:\b\skia\src\8a53607b15-f4e6db44a8.clean\include\gpu\graphite\Recorder.h(46): note: see declaration of 'skgpu::graphite::ImageProvider'
D:\b\skia\src\8a53607b15-f4e6db44a8.clean\include\core\SkRefCnt.h(142): note: the template instantiation context (the oldest one first) is
D:\b\skia\src\8a53607b15-f4e6db44a8.clean\include\gpu\graphite\Recorder.h(68): note: see reference to class template instantiation 'sk_sp<skgpu::graphite::ImageProvider>' being compiled
D:\b\skia\src\8a53607b15-f4e6db44a8.clean\include\core\SkRefCnt.h(267): note: while compiling class template member function 'sk_sp<skgpu::graphite::ImageProvider> &sk_sp<skgpu::graphite::ImageProvider>::operator =(const sk_sp<skgpu::graphite::ImageProvider> &)'
D:\b\skia\src\8a53607b15-f4e6db44a8.clean\include\gpu\graphite\Recorder.h(73): note: see the first reference to 'sk_sp<skgpu::graphite::ImageProvider>::operator =' in 'skgpu::graphite::RecorderOptions::operator ='
D:\b\skia\src\8a53607b15-f4e6db44a8.clean\include\core\SkRefCnt.h(269): note: see reference to function template instantiation 'T *SkSafeRef<T>(T *)' being compiled
        with
        [
            T=skgpu::graphite::ImageProvider
        ]
D:\b\skia\src\8a53607b15-f4e6db44a8.clean\include\core\SkRefCnt.h(151): error C2027: use of undefined type 'skgpu::graphite::ImageProvider'
D:\b\skia\src\8a53607b15-f4e6db44a8.clean\include\gpu\graphite\Recorder.h(46): note: see declaration of 'skgpu::graphite::ImageProvider'
D:\b\skia\src\8a53607b15-f4e6db44a8.clean\include\core\SkRefCnt.h(151): note: the template instantiation context (the oldest one first) is
D:\b\skia\src\8a53607b15-f4e6db44a8.clean\include\core\SkRefCnt.h(310): note: while compiling class template member function 'void sk_sp<skgpu::graphite::ImageProvider>::reset(T *)'
        with
        [
            T=skgpu::graphite::ImageProvider
        ]
D:\b\skia\src\8a53607b15-f4e6db44a8.clean\include\core\SkRefCnt.h(269): note: see the first reference to 'sk_sp<skgpu::graphite::ImageProvider>::reset' in 'sk_sp<skgpu::graphite::ImageProvider>::operator ='
D:\b\skia\src\8a53607b15-f4e6db44a8.clean\include\gpu\graphite\Recorder.h(73): note: see the first reference to 'sk_sp<skgpu::graphite::ImageProvider>::operator =' in 'skgpu::graphite::RecorderOptions::operator ='
D:\b\skia\src\8a53607b15-f4e6db44a8.clean\include\core\SkRefCnt.h(316): note: see reference to function template instantiation 'void SkSafeUnref<T>(T *)' being compiled
        with
        [
            T=skgpu::graphite::ImageProvider
        ]

This is the error: use of undefined type 'skgpu::graphite::ImageProvider'

My change is just using official configuration options, and I successfully tested permutations of vulkan, dawn, gl on x64-linux...
So I wonder hy the include path isn't used on windows. And I wonder why the windows error changed - did you rebase?

Yes I rebased.

Okay, vma was moved for windows with the vulkan sdk port PR.
I created another PR from this PR so that I can test myself - I need vcpkg CI for testing Windows triplets.


Feature request. Support gyros/accelerometers with multiple separate SPI devices

For now (as I see) architecture of IMU drivers in PX4 proceeds from the assumption that an accelerometer or gyroscope is a single 3 axis device.
But there is a pool of high stability sensors that use separate chips for different axes, for example muRata SCC2000 Series (for instance IMU based on two SCC2130 gyro for X and Y and SCC2230 for Z).
Also in addition those gyros contains 3-axis accelerometer each.

Sorry, I thought I responded to this already. Short answer is yes we can support this if necessary.
The first idea that comes to mind is to write separate drivers for the SCC2130 and SCC2230, but then have a wrapper that handles them together to publish a single sensor_gyro.
We could also consider separately publishing gyro data per axis and piecing it together in the sensors module, but I don't think it's worth it unless the use case becomes common.

@dagar thanks for feedback!


Cannot persist any changes to database

System information:

Operating system: Windows 10
DBeaver version: 7.3.1 EA
Additional extensions: none

Connection specification:

Database name and version: sqlite
Driver name: SQLite
Do you use tunnels or proxies (SSH, SOCKS, etc)? no

Describe the problem you're observing:
Cannot persist any changes made to database:

Steps to reproduce, if exist:

Create a new table
Try to save (persist changes)

Expected: changes were applied
Actual: nothing happens
Include any warning/errors/backtraces from the logs
dbeaver-debug.log

Fixed.

verified


Trying to diagnose why make_alp freezes

Does the behavior reproduce on github CI?

see #1553

Here's a smaller repro that might help: print([*counter])

Closing in favor of #1823


Natively support BeamSearch/GreedySearch for decoder models

Feature request
Currently, we use PyTorch's generate(), which is suboptimal since we mix up PyTorch and ORT.
There is a pretty decent support for some specific decoder models in ORT toolings, see e.g.
https://github.com/microsoft/onnxruntime/blob/main/onnxruntime/python/tools/transformers/convert_generation.py
https://github.com/microsoft/onnxruntime/tree/main/onnxruntime/python/tools/transformers/models/bart
It's nice, but I think not visible enough. We could do a better job at integrating this and IMO Optimum is a good place for it, and also support more models.
One challenge is that the GreedySearch or BeamSearch node requires an attribute that is the decoder graph:
node.attribute.append(onnx.helper.make_attribute("decoder", decoder_model.graph))

This means that if we want to perform optimizations / quantization / whatever on the decoder, it should be done before adding this attribute, or the attribute should be overwritten at some point. That may introduce some complexity.
Motivation
Mixed PyTorch / ORT can have issues and limitations. So approaches as the current ORTModel, https://github.com/Ki6an/fastT5 , https://github.com/abelriboulot/onnxt5 are good but not quite.
Your contribution
Will work on this

Loop can be inserted with torch.jit.scripted models. Nice. Seem buggy in TensorRT though: https://github.com/microsoft/onnxruntime/issues/13894


Allow EventsourcedProcessor to post-process events

Closes #370 in which an EventsourcedProcessor was not able to define custom routing destination
aggregate IDs for the events produced by processEvent
Introduces method EventsourcedProcessor.postProcessDurableEvent: DurableEvent => DurableEvent
which defaults to identity and allows manipulation of the DurableEvent instance created as a
consequence of new events generated by processEvent

And please write tests for all changes/additions you make 😃

Hey Martin!
Just added a test. I'm not sure about the "code style" but I think it covers what should be tested.
Cheers
Daniel


Stacks – Stack Overflow small updates

This PR fixes name for "Stacks" design system. What's currently in the table is incorrect in two places:

Name – Stacks doesn't actually mention Stack Exchange, it's more related to Stack Overflow and I believe this is closer to how it's branded
Voice & Tone – Stacks does indeed have that section

Thanks for updating!


Design updates for digest emails

Task: Update the templates used when building digest notification emails to align with the  designs from Figma
DOD: Email design for "New Grants Digest" email notification type is updated.
Acceptance Criteria:

Header content updated to include [USDR logo] referenced in the Figma designs
Date at top of grants: [X] New Grants - [Search Name]
bi-line: DD MONTH YYYY`
Update to content on New grants

Title: [grant name]; wrap when long (title links to grants.gov with that grant details view opened)
Update UI according to designs

Add new grant info field to all grants for Status
View Grant Details on all grants should open the Grand ID tool with that grant details view opened
See all new grants always visible at the bottom of the grants digest; opens the Grant ID tool to my grants dashboard with search applied

DIgest content should be responsive and viewable on mobile devices
Digest should be viewable in both light and dark themes with minimal readability issues (theming is determined by device)

Implementation details:

The "New Grants Digest" email is currently sent according to a JS cron schedule defined here.
The sendGrantDigestForAgency() function in packages/server/src/lib/email.js is called per-agency and is responsible for building the email content and sending it to each recipient for that agency.
You will likely need to set up nodemailer in order to test rendering in a mail client. Setup steps are documented in our "GMail Setup" documentation.
Figma designs are available here: https://www.figma.com/file/HIINnuujheHbdbDesH8mKE/Notifications?type=design&node-id=17-1160&mode=design&t=DxbxHlq7Qa83RxtN-4

Subtask of:

#934

Logo asset

Feedback from NJ - once Category of Funding Activity and Funding Department name are incorporated into search, this is key info they would like to see on digest

@ClaireValdivia I'm going to do a design pass on this.

@caitlinwinner one inconsistency between this ticket and new design file is where "view grant details" goes. also seems like button text doesn't match between ticket and designs and not sure which is correct

ready for eng

@caitlinwinner I just updated the acceptance criteria to match the designs - can you give it a quick review and confirm that it matches your understanding?

Yes, looks good! the only thing I didn't address was the content in the grant summary. We've heard some partners request additional bulleted info in the summary, which we could add in if you think important.

Caitlin and i connected; ticket is ready for eng!

@as1729 thoughts on how I can test the notification updates?

@TylerHendrickson  do we have control over the "From" field? If we could say USDR Federal Grant Finder instead of grants-notifications, I think that would be ideal.
Email title: Search Name
body text preview: # new grants, title of first grant...

@caitlinwinner I created this issue with the items you referenced above. is it correct that these are not blockers to the current updates going live? #2353


API key update

Checklist

[X] I have filled out the template to the best of my ability.
[X] This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
[X] This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.
First of all, amazing job! I don’t find the possibility to update the API key. If you configure it first without or need to renew in one year. 🙂
Describe the solution you'd like
A setting in the services menu of Renson Healthbox
Describe alternatives you've considered
Delete and reinstalling the service
Additional context
N/A

Hey Mathias,
I'll look into how I can make it possible to update the config entry when I have some free time. For now you can just remove the integration and re-add it.
All sensors should remain the same (hopefully 😄)

Thanks. Would it be possible to contact you by mail? My mail address is @.*** I have some questions around the VOC measurement and possible new feature requests.

From: rmassch @.>
Sent: Tuesday, April 11, 2023 12:59:42 PM
To: rmassch/healthbox-hacs @.>
Cc: Mathias Claes @.>; Author @.>
Subject: Re: [rmassch/healthbox-hacs] API key update (Issue #30)
Hey Mathias,
I'll look into how I can make it possible to update the config entry when I have some free time. For now you can just remove the integration and re-add it.
All sensors should remain the same (hopefully 😄)
—
Reply to this email directly, view it on GitHubhttps://github.com/rmassch/healthbox-hacs/issues/30#issuecomment-1503112575, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAIXARBVLVC662XKNS5PV23XAU2R5ANCNFSM6AAAAAAW2CFRVE.
You are receiving this because you authored the thread.Message ID: @.***>

I read up on the topic and I'll have to create an options flow.  So it's definitely possible but will require some free time on my part.
URL for my own reference later on
Options Flow
@claesmathias I don't like using e-mail. If you want you can open an issue for the VOC measurement (I doubt it's correct myself since I quickly googled how to convert the value). For feature requests you can also open them on Github.
However, if you want to communicate a different way, you can contact me on Discord which I check on occasion.
My Discord profile URL should be available on my Github profile.

There's a beta version up. Please let me know if it works. It may be a bit wonky but it's the best I could do at this time with the documentation at hand. Might require a reload or 2 after the key is updated since the HB3 devices takes some time to validate


Windows: Prevent LOG handle from being inherited by subprocesses

I recently encountered a problem with this because Windows doesn't allow
files to be deleted when there's open handles to them.
Other files opened by leveldb are not affected because by and large they
are using CreateFileA, which does not allow inheritance when
lpSecurityAttributes is null (ref:
https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea)
However, fopen() does allow inheritance, and it needs to be expressly
disabled.
https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/fopen-wfopen?view=msvc-160

@googlebot I signed it!

Awesome, thanks.


util/gconv: After conversion, the interface{} type becomes *interface {}

Go version
go version go1.18 windows/amd64
GoFrame version
v2.7.2
Can this bug be reproduced with the latest release?
Option Yes
What did you do?
package main

import (
	"fmt"

	"github.com/gogf/gf/v2/util/gconv"
)

func main() {
	req := map[string]any{
		"id": "123",
		"doc": map[string]any{
			"craft": nil,
		},
		"fields": []string{"_id"},
	}

	var args *UpdateByIdReq
	err := gconv.Struct(req, &args)
	if err != nil {
		panic(err)
	}
	fmt.Printf("%T", args.Doc["craft"])
}

type UpdateByIdReq struct {
	Id     string                 `json:"id" v:"required|length:24,24#id长度错误"`
	Doc    map[string]interface{} `json:"doc" v:"required"`
	Fields []string               `json:"fields"`
}

What did you see happen?
输出 *interface {}
What did you expect to see?
应该是 interface{}

package main

import (
	"fmt"

	"github.com/gogf/gf/v2/util/gconv"
)

func main() {
	dataMap := map[string]any{
		"doc": map[string]any{
			"craft": nil,
		},
	}

	var args *Data
	err := gconv.Struct(dataMap, &args)
	if err != nil {
		panic(err)
	}
	fmt.Printf("args: %T\n", args.Doc["craft"])
	fmt.Printf("dataMap: %T\n", dataMap["doc"].(map[string]any)["craft"])
}

type Data struct {
	Doc map[string]interface{} `json:"doc"`
}

Shouldn't your expected output here be nil?

In Go, when you assign nil to a variable of type interface{}, that variable is actually an interface{} pointer to nil.
So, when you try to print ARGS. Doc["craft"], it appears as *interface{}, indicating that the value is nil, and the interface{} type holds a pointer to nil.

func main() {
	req := map[string]any{
		"id": "123",
		"doc": map[string]any{
			"craft": nil,
		},
		"fields": []string{"_id"},
	}

	var args *UpdateByIdReq
	err := gconv.Struct(req, &args)
	if err != nil {
		panic(err)
	}
	var abc interface{}
	abc = nil
	fmt.Printf("%T, %T", args.Doc["craft"], abc)
}

output *interface {}, <nil>
If I check args.Doc["craft"] == nil here, it returns false. Isn't this counterintuitive?

You should expect the output to be <nil>, right?

您应该期望输出是 ，对吧？<nil>

yes

yes

In Go, when you assign nil to a variable of type interface{}, that variable is actually an interface{} pointer to nil. So, when you try to print ARGS. Doc["craft"], it appears as *interface{}, indicating that the value is nil, and the interface{} type holds a pointer to nil.

Thank you. My expected type is <nil>, so that it's easier to make subsequent checks, such as value == nil.

yes

Thank you


Added ts-jest

In this PR I re-added ts-jest to enable out of the box jest testing with TypeScript.

This works great in my current project. Although I had to add an extra configuration to make it work with some of the more advanced libraries like react-navigation and react-gesture-handler. I'll leave the extra configuration here, in case anyone else comes by with the same problem:
Jest config (in package.json if using this template), gotten from https://github.com/kulshekhar/ts-jest/issues/604#issuecomment-413913615:
...
"transformIgnorePatterns": ["/node_modules/(?!react-native)/.+"],

Oh that's very good to know! If I understood the regex correctly, it tells Jest to ignore everything that starts with react-native in the node_modules directory? Wouldn't it be better to ignore everything inside the node_modules directory?

It's actually the exact opposite, it tells jest to ignore all modules EXCEPT react-native-files. Notice the ! at the beginning. I think jest defaults to ignore all node_modules, so this regex is basically whitelisting react-native in the transformation.

Sorry for my delayed answer, had quite a lot of action going on 😅
Ah I see, thanks for the explanation! I'm curious to know why ts-jest needs those files and if it makes sense to include that whitelisting config as a default in the template?

Yeah, I can't really tell for sure, why it needs that. I see that line in a lot of places and example repos, but can't find a specific answer to WHY its there.
IMHO it should be part of the default, because my experience is that you won't get very far without it. As you've experienced, you can test the classic hello world app without the transformIgnorePatterns, but anything beyond that will break in my experience.


allow user to view desktop on web vnc

@Tpuljak I have a better idea than X11 , you can try it , https://github.com/hunnywar/x11-vnc-docker.git
user can visit localhost:8080 port or they can forward it using daytona forward 8080 to view the desktop

this approach allows to run any app without any graphic issues , as X11 often causes graphic issue
Originally posted by @hunnywar in https://github.com/daytonaio/daytona/issues/1206#issuecomment-2553837597

@hunnywar how does this relate to daytona itself? Is there something we should do to facilitate this or can everything be done in the image that the user configures via devcontainers?

to run a VNC-enabled virtual desktop environment.
launch and monitor  these four essential processes:
Xvfb: Creates a virtual display for graphical applications.
x11vnc: Shares the virtual display via VNC.
NoVNC: Serves the VNC connection as a browser-accessible WebSocket on port 8080.
Fluxbox: Provides a lightweight window manager.

@hunnywar this could be a feature of the Agent. You can look into the Workspace Toolbox API and maybe try to implement and endpoint that would start the VNC server.

Hello,
Devcontainer features provide
https://github.com/devcontainers/features/tree/main/src/desktop-lite
This could help.


Core Folder Missing

When I clone the Hygieia code and build. I dont see the core folder. What am I missing? I have taken the code from the master branch.
As a result I am unable to generate the secret key required for encryption of private repositories  run the bitbucket collector as it uses the encryption.
Appreciate any help on this.

@kjaeswar76 https://github.com/Hygieia/hygieia-core

Thanks @rvema @nireeshT


Fix footer-refs-validity false positive

Fixes https://github.com/nblockchain/conventions/issues/125

Why did you work on something that you assigned to Taras?

I saw his comment on the issue and continued his work since he was EOD what's the issue?

CI is red

what's the issue?

Well, taking over high-priority tasks is understandable because if someone is not there to work on the task they have been assigned, then it might become a blocker to other people. But low-priority tasks like this? There are plenty to pick up in the repo, no need to step on other person's toes (since he already started looking into it). Besides, now when he starts on Monday (given that you usually start later than him), what is he going to work on? Did you make sure he had a next task?

what's the issue?

Well, taking over high-priority tasks is understandable because if someone is not there to work on the task they have been assigned, then it might become a blocker to other people. But low-priority tasks like this? There are plenty to pick up in the repo, no need to step on other person's toes (since he already started looking into it). Besides, now when he starts on Monday (given that you usually start later than him), what is he going to work on? Did you make sure he had a next task?

you're right sorry

you're right sorry

I see you assigned to him another low-prio bug, but you didn't make that he's not working anymore on this bug in order to prevent duplicated effort.

Why is CI still red?

Why is CI still red?

I don't understand where the last commit from my branch is. There are 3 commits in my branch and 2 commits in the PR !!!

I think that's a github glitch, you can try this workaround: https://stackoverflow.com/a/46782679/544947