Recreate expired vCenter sessions during long sync runs

Hi,
my problem scenario is that I've several vcenters.
If  I run the tool vcenter by vcenter, it runs ok, but if I configure all vcenters in one call, it fails after 30 min.
Currently if i've one config per vcenter it will run ok but purges the previous runs (required to purge every time)
The goal is to run all vcenters in a row.
I noticed that the tool perform the connnection to all vcenters at begin. I tyhink the problem would go away if calls are done 1 at time.
This is the error that i got after 30min,( I know that is timeout related with vcenter session on idle).

ERROR: Problem creating venter view for 'networks': (vim.fault.NotAuthenticated)
dynamicType = ‹unset>,
dynamicProperty = (vmodl. DynamicProperty)
01
msg = 'The session is not authenticated.
faultCause = ‹unset>,
faultMessage = (vmodl. LocalizableMessage) (l,
object =
"vim. Folder: group-dl',
privileged = 'System.View!

Help would be appreciated.
PS. I really like the outcome of this tool, really good work

Hi,
Yes indeed, I heaven't thought of that.
If the session (created at the beginning) has expired by the time the script reached this vCenter then the request will fail.
Just need to add a validation to check if the session is still active. And create a new session in that case.
The check at the beginning is used to validate the connectivity and credentials and fail early to let the user know that something is not correct.
Will add this to the next version. Thank you

Hi @ncansado,
I just pushed a fix for this to the "development" branch. Can you switch to this branch and see if it fixes the the issue?
Thank you

this fix broke connection ( for me)
➜  netbox-sync git:(development) ✗ ./netbox-sync.py -c settings-vcname.ini 2022-05-19 13:03:30,938 - INFO: Starting NetBox Sync v1.2.3 (2022-04-09) 2022-05-19 13:03:31,101 - INFO: Successfully connected to NetBox 'netbox' 2022-05-19 13:03:31,102 - INFO: Initializing sources 2022-05-19 13:03:31,286 - INFO: Successfully connected to vCenter SDK 'vcname' 2022-05-19 13:03:31,287 - INFO: Querying necessary objects from NetBox. This might take a while. 2022-05-19 13:03:40,690 - INFO: Finished querying necessary objects from NetBox 2022-05-19 13:03:41,093 - INFO: Query data from vCenter: 'vcname' Traceback (most recent call last):   File "./netbox-sync.py", line 145, in <module>     main()   File "./netbox-sync.py", line 121, in main     source.apply()   File "/Users/avkurach/git/Netbox-sync-test/netbox-sync/module/sources/vmware/connection.py", line 464, in apply     self.session.sessionManager.sessionList   File "/Users/avkurach/Library/Python/3.8/lib/python/site-packages/pyVmomi/VmomiSupport.py", line 700, in __call__     return self.f(*args, **kwargs)   File "/Users/avkurach/Library/Python/3.8/lib/python/site-packages/pyVmomi/VmomiSupport.py", line 520, in _InvokeAccessor     return self._stub.InvokeAccessor(self, info)   File "/Users/avkurach/Library/Python/3.8/lib/python/site-packages/pyVmomi/StubAdapterAccessorImpl.py", line 47, in InvokeAccessor     raise objectContent.missingSet[0].fault pyVmomi.VmomiSupport.NoPermission: (vim.fault.NoPermission) {    dynamicType = <unset>,    dynamicProperty = (vmodl.DynamicProperty) [],    msg = '',    faultCause = <unset>,    faultMessage = (vmodl.LocalizableMessage) [],    object = 'vim.Folder:group-d1',    privilegeId = 'Sessions.TerminateSession' }
previous version has no permission problems, any ideas?

Hi Ricardo,
Thanks for quick reply, but I also got these errors with the development branch
2022-05-19 21:33:46,483 - INFO: Skipping offline VMs
Traceback (most recent call last):
File "/opt/netbox_plugin/netbox-sync/tmp/netbox-sync/./netbox-sync.py", line 145, in
main()
File "/opt/netbox_plugin/netbox-sync/tmp/netbox-sync/./netbox-sync.py", line 121, in main
source.apply()
File "/opt/netbox_plugin/netbox-sync/tmp/netbox-sync/module/sources/vmware/connection.py", line 464, in apply
self.session.sessionManager.sessionList
File "/opt/netbox-3.2.2/venv/lib64/python3.9/site-packages/pyVmomi/VmomiSupport.py", line 700, in call
return self.f(*args, **kwargs)
File "/opt/netbox-3.2.2/venv/lib64/python3.9/site-packages/pyVmomi/VmomiSupport.py", line 520, in _InvokeAccessor
return self._stub.InvokeAccessor(self, info)
File "/opt/netbox-3.2.2/venv/lib64/python3.9/site-packages/pyVmomi/StubAdapterAccessorImpl.py", line 47, in InvokeAccessor
raise objectContent.missingSet[0].fault
pyVmomi.VmomiSupport.NoPermission: (vim.fault.NoPermission) {
dynamicType = ,
dynamicProperty = (vmodl.DynamicProperty) [],
msg = '',
faultCause = ,
faultMessage = (vmodl.LocalizableMessage) [],
object = 'vim.Folder:group-d1',
privilegeId = 'Sessions.TerminateSession'
}

Thank you for testing. I will try another attribute.

Hi @akurach , @ncansado-au, @ncansado
I pushed another change. Can you test if it works with this setting?
Thank you

@bb-Ricardo works!

@bb-Ricardo it works!
Plus I see new custom fields getting updated !
thanks!
N

@ncansado
That is great.
So now you have all sources in one config file?
If ao there should be an INFO message about session expire in your log. Can you please have a look?
Thank you

hi @bb-Ricardo ,
these are the messages
INFO: No existing Center session found.
INFO: Successfully connected to venter API
these are the messages that you expected ?
it  works!
N

Yes, that's it. Thank you very much.


Can we consume an Apache Kafka Topic with kong?

Can we have the following scenario with kong:
Assume we have a Kafka topic: KongTopic1
I want to consume this topic with kong(plugin) and forward the received message to an another system API.
Is it possible? If so, Is there a plugin or we have to develop it?

Hi, there is no plugin able to do what you want in neither the Open Source not the Enterprise versions of Kong.


Is it required stencil?

Thank you for your creating nice sample.
I have a question on Sample02.
SemanticStencils.shader is implemented to write stencil, but the sample does not have a shader to read stencil.
https://github.com/TakashiYoshinaga/ARCore-Scene-Semantics-Sample/blob/c44d202ef7971382e2e0dda527de69131b567e82/SceneSemanticsSample/Assets/Materials/SemanticStencils.shader
I removed a stencil part, and correctly working.
Do you have any opinion this?

i think the stencil was an occlusion shader
incidentally have you been able to get the shader to work to occlude
or to determine if a raycast object is a certain classification?


Add indentation support for abstract keyword

Reproduction:

Type this into a .cr file in VS Code:
abstract class Foo

Press Enter, and then type
end

Results:
  abstract class Foo
end

The end is dedented once, as if the abstract nullifies the indentation of class.

Hi @Qwerp-Derp I think abstract keyword on def doesn't need a end because you can't write an implementation on abstract def:
abstract class Foo
  abstract def foo
end

class Bar < Foo
  def foo
    # implementation
  end
end

Also see: https://crystal-lang.org/docs/syntax_and_semantics/virtual_and_abstract_types.html

Sorry, wrong one - it was meant to be abstract class Foo instead. Will fix right now.

Oh, I understand now, https://github.com/crystal-lang-tools/vscode-crystal-lang/pull/29 Fixes this issue :smile:

Done 👍

0.3.6 is published https://marketplace.visualstudio.com/items?itemName=faustinoaq.crystal-lang


Update with new friends, as well as some changes for an existing one.

Fixes #938
Fixes #940
Fixes #942

👍


do not store the predictions and the fold indices in the database

storing the predictions in the database makes it huge and we store it on disk anyway in the submission folders. Let's not store it twice and let's keep it out of the DB to make it lighter.
and apparently the same applies to cv indices.

Yes. It is an old "feature" that was questionable from the beginning. I decided to store cv indices to make sure that they are fixed once the event is added. If we trust that get_cv in problem.py is deterministic and will not change for example due to version change, we can just call it any time we need the cv fold indices.
Storing predictions only on disk should also be quite easy: SubmissionOnCVFold has these two fields: full_train_y_pred and test_y_pred. I think simply rewriting them as properties that return the np array read from file will do the job.

@agramfort @glemaitre I found one of the issues
There is a query here: https://github.com/paris-saclay-cds/ramp-board/blob/1c2cfe7af486e57ee0d4fb017b5266bb8ad152e3/ramp-database/ramp_database/tools/submission.py#L442
It probably needs to load the cv folds of all the submissions, not only of the one needed here, meaning that leaderboard update was quadratic in terms of number of submission. When there is a direct backlink in the db, no need to do a query, that's why we have those backlinks. I have a patch here https://github.com/paris-saclay-cds/ramp-board/pull/276/commits/7ffaff1767a277b61d75edd2a9e57d583f951694 and here https://github.com/paris-saclay-cds/ramp-board/pull/276/commits/9edf12ee8fb5571602f37ba41692864371ed90bf, feel free to cherry pick them if you need it urgently.
This does not solve the underlying issue, we should still get the preds out of the db.

Anther remark: in our challenge the cv folds are tiny but the predictions are big, and we also have the same issue. This means that it's not related to cv fold size but prediction size.
Half a GB takes about 5min to handle after the submission is trained which is still too much. But at least the time is not accumulating now as the number of submissions grows.

The solution for this issues is actually waiting for being copy-pasted from here: https://github.com/paris-saclay-cds/ramp-board/issues/226

It is a work-around for not loading the predictions by accessing directly to the timing and score.

OK, I'm looking at it.
In the meantime I also implemented a slight acceleration: when multiple submissions are processed in the dispatecher.update_database_results, we only update the leaderboard once (not for each processed submission). See https://github.com/paris-saclay-cds/ramp-board/blob/0ed32caa3c92d81c9e3f56890e184ca04b35f517/ramp-engine/ramp_engine/dispatcher.py#L199

@glemaitre I tried your second fix in  https://github.com/paris-saclay-cds/ramp-board/issues/226, it didn't work, I commented there.
The first fix is essentially what I did, am I right?

OK, done. The get_time was easy, get_scores not so much. Both work lightning fast now. https://github.com/paris-saclay-cds/ramp-board/pull/276/commits/c42d7ebc3f7dc59d18918f27a5a5be526e7e509c

let's make a PR with the few commits we need to add to master when you have
time.
I assume tests will tell us if something broke
thx @kegl


[Python] CommissionOnNetwork blocked if DUT does not have an open commissoning window

If DUT does not have an open commissoning window.
Call Python API CommissionOnNetwrok will be blocked.

@tcarmelveilleux Can you please review?


increase the limit for recent presets from 4 to 8

Closes #8895. Superseeds #9454

I don't think this really resolves #8895.

If you’re interested in implementing #8895, https://github.com/openstreetmap/iD/issues/8895#issuecomment-1258621496 has some starting points.


updating guzzlehttp/guzzle to 5.3.1

Hi,
Guzzle 5.3.0 break on php 7.1 version. Made an update to guzzle 5.3.1 version and above.
Guzzle solved that issue https://github.com/guzzle/guzzle/pull/1393
Thanks.

Hi @phuonghuynh , thanks for approving this!
Could you manage to tag this PR? so I can use it directly to my project. I am using the repo from Payline/payline-php too. After you tag this pr, please change that repo to use the latest release of this repo, or I can create another pr to Payline/payline-php to change the composer.json :)
Thanks!

/cc @rserna2010 @mjallday


Improve Google indexing for documentation

Description
We need to enhance the Google indexing of the MI documentation site to improve its visibility and search engine ranking. This issue will track the various tasks required to optimize the site for better indexing and search performance.

We can use Google Search Console and PageSpeed Insights to track indexing progress and measure improvements in performance. Major tasks identified:

Task 1: Submit an updated sitemap to Google Search Console.
Task 2: Analyze and address any indexing errors reported in the Google Search Console.
Task 3: Improve the site's loading speed and performance to enhance indexing efficiency. (Will be tracked via https://github.com/wso2/docs-mi/issues/861)

Task 1: Submit an updated sitemap to Google Search Console
The sitemap for the MI docs is available at https://mi.docs.wso2.com/en/latest/sitemap.xml.
A sitemap is an essential file that helps search engines like Google understand the structure of the website and index it effectively. MkDocs generates a sitemap by default, and I verified that it’s correctly set up.
I have used the following tool to validate the sitemap:
https://www.xml-sitemaps.com/validate-xml-sitemap.html

Submitted the sitemap to the Google Search Console.

Task 4: Add canonical tags to all EI documentation pages to refer to the latest version of MI documentation
Issue:
Currently, when searching for an MI-related query on Google, the search results often display pages from the EI documentation space instead of the latest MI docs. This occurs because the content in the older EI pages is similar to the MI documentation, and Google might be indexing those pages due to various reasons, such as better ranking history, age of the site, or lack of a clear canonical reference.
To address this, had an offline discussion with Thimuth and based on his suggestions, we need to follow the below approach to address this.
We need to explicitly inform Google which version is the latest using the canonical tag.
We need to ensure that Google is directed to the latest version of the MI documentation page by using the canonical tag. Since we use the /latest URL path in the latest MI docs space, this can be done straightforwardly for most pages.
Example:
<link rel="canonical" href="https://mi.docs.wso2.com/en/latest/get-started/introduction/" />
When there is no corresponding page in the latest MI documentation, the canonical tag should point to the relevant versioned documentation page of MI doc space.


Feature/992 now hosting

Zeit now didn't pan out very well.
They have deprecated the custom node server (all hail cloud lock-in!), so we lose some flexibility there.
We can do redirects using now.json (except subdomain redirects, which need a separate branch hack to be achieved)
I have deployed this:
https://dvc-org-16jswpee8.now.sh
The API functions are working as normal.
Let me know if we can move forward from this point, as I don't want to spend time trying to get something to work that's going to be thrown away :snowman: .
Things should be better with gatsby + serverless functions, that was super easy to integrate earlier. However without a custom server it seems we lose some flexibility, and whether we make this tradeoff is not a decision I'm comfortable making.
My opinion is that we should go ahead with zeit now, because we will probably never need any custom server.

@fabiosantoscode we are migrating dvc.org to Gatsby ... can we start picking the new hosting taking this into account? probably it means that we need to do some experiments with the blog first? Unless I'm missing something.

@fabiosantoscode looks good, let's keep discussion going in the ticket.

Dropping the reference, I forgot
#992

@fabiosantoscode quick question about new cache util: Does it cache response only for current user or for all users? It looks for me now that it is only cache response for the user who made it and any new user will make server response again. If I'm correct, then this is not a good option for us, because these requests for API are slow and will decrease out rate limit, while the content that we serve for different users are basically the same.

@iAdramelk the cache is public.
If you access https://blog-fihp2x2rk.now.sh/api/example-function with 2 different IPs (like with your phone on mobile data and your computer, or using a VPN) you will see the same timestamp.

@fabiosantoscode tried it 3 browsers on the same IP and it seems that it works (but the request have only 60s maxAge). Where do you store example-function btw? I don't see it in changed files.

(replied in https://github.com/iterative/dvc.org/issues/992#issuecomment-587482446)

I like the cache code simplification.

We can do redirects using now.json (except subdomain redirects, which need a separate branch hack to be achieved)

I see the redirects work, but I don't see them in now.json in this PR?

Closing since we're going for Heroku.


Version 3.27.5 doesn't work on Windows.

Run lukka/get-cmake@latest
useCloudCache:true
useLocalCache:false
user defined cmake version:3.27.5
user defined ninja version:
cmake version:3.27.5
ninja version:latest
Error: Cannot match '3.27.5' with any version in the catalog for 'cmake'.
    at Function.matchRange (D:\a\_actions\lukka\get-cmake\latest\dist\index.js:118:23)
    at ToolsGetter.<anonymous> (D:\a\_actions\lukka\get-cmake\latest\dist\index.js:[6](https://github.com/hyoklee/hdf5/actions/runs/6423207173/job/17441233906#step:2:7)8:42)
    at Generator.next (<anonymous>)
    at D:\a\_actions\lukka\get-cmake\latest\dist\index.js:18:[7](https://github.com/hyoklee/hdf5/actions/runs/6423207173/job/17441233906#step:2:8)1
    at new Promise (<anonymous>)
    at __webpack_modules__.4506.__awaiter (D:\a\_actions\lukka\get-cmake\latest\dist\index.js:14:12)
    at ToolsGetter.run (D:\a\_actions\lukka\get-cmake\latest\dist\index.js:66:16)
    at Object.<anonymous> (D:\a\_actions\lukka\get-cmake\latest\dist\index.js:2[8](https://github.com/hyoklee/hdf5/actions/runs/6423207173/job/17441233906#step:2:9)[9](https://github.com/hyoklee/hdf5/actions/runs/6423207173/job/17441233906#step:2:10):31)
    at Generator.next (<anonymous>)
    at D:\a\_actions\lukka\get-cmake\latest\dist\index.js:[18](https://github.com/hyoklee/hdf5/actions/runs/6423207173/job/17441233906#step:2:19):71
Error: get-cmake action execution failed: 'Error: Cannot match '3.27.5' with any version in the catalog for 'cmake'.'

@hyoklee thank you! I moved the latest branch to match the main branch, now it'll work. I think it would be good if the release process would be completely automatized, a community contribution would be awesome!


[IC3 ACS Cross Platform Messaging ] API Review

New API Review meeting has been requested.
Service Name: IC3 ACS Cross Platform Messaging
Review Created By: Samuel Savin
Review Date: 06/27/2023 01:00 PM PT
Onboarding Record:
PR: https://github.com/Azure/azure-rest-api-specs/pull/24424
Hero Scenarios Link: here
Core Concepts Doc Link: Not Provided
Description: Followup for: Template read APIs for related to template UI work for template message send.
Detailed meeting information and documents provided can be accessed here
For more information that will help prepare you for this review, the requirements, and office hours, visit the documentation here

Meeting updated by Samuel Savin
Service Name: IC3 ACS Cross Platform Messaging
Review Created By: Samuel Savin
Review Date: 06/27/2023 01:00 PM PT
Onboarding Record:
PR: https://github.com/Azure/azure-rest-api-specs/pull/24424
Hero Scenarios Link: here
Core Concepts Doc Link: Not Provided
Description: Followup for: Template read APIs for related to template UI work for template message send.
Detailed meeting information and documents provided can be accessed here
For more information that will help prepare you for this review, the requirements, and office hours, visit the documentation here

Cancelled by: Samuel Savin


how can I augment the bounding box and corresponding mask together within same operations?

as the title describes!

with the latest version from master you can do something like
seq = imgaug.augmenters.Affine(translate_px={"x": 10})
batch_aug = seq(
    images=<images>,
    bounding_boxes=<bounding boxes>,
    segmentation_maps=<segmentation maps>,
    return_batch=True)
images_aug = batch_aug.images_aug
bounding_boxes_aug = batch_aug.bounding_boxes_aug
segmentation_maps_aug = batch_aug.segmentation_maps_aug

or if you have python 3.6+:
seq = imgaug.augmenters.Affine(translate_px={"x": 10})
imgs_aug, bbs_aug, segmaps_aug = seq(
    images=<images>,
    bounding_boxes=<bounding boxes>,
    segmentation_maps=<segmentation maps>)

where <images> are your images (e.g. list of numpy arrays), <bounding boxes> are your bounding boxes per image (e.g. list of list of imgaug.augmentables.bbs.BoundingBox) and <segmentation maps> would be your masks (e.g. a list of integer arrays, one per image).

I used this method and got some wrong results for the segmentation maps:

I guess you mean that your image looks weird?
Try seq_det(images=[image], ...) instead. batch_aug.images_aug then contains a list of images and therefore it should be images_aug = batch_aug.images_aug and ax1.imshow(images_aug[0]). That should hopefully fix the error.
Btw, you can skip the seq_det = seq.to_deterministic(). The seq_det(...) automatically switches to deterministic mode when augmenting multiple different inputs.


Re-fixed errors?

Fixed typos and errors on my system running python3 - these may have already been fixed on github but not yet uploaded to pypy? I used the crawler.py file I received from pypy as a starting point for my edits which had several errors, but it appears to diverge pretty significantly from the most recent github version.  Feel free to ignore this PR, but please upload the latest build to pypy!

I think @coyo8 is working on getting out a new update to PyPi soon. The code base has changed pretty significantly (we eliminated a lot of the redundancy in fetching the reports), so I am going to close this PR for now. Let me know if I overlooked some added feature in this PR.


Create https:github.com

I WANT TO CREATE ,YOUTUBE CHANNEL .

Hello. I don't get it. What kind of YOUTUBE CHANNEL do you want to create?

This pull request have no useful information, hence closed


WebMap popup doesn't work consistently on mobile

Bug Description
When viewing the webmap on a mobile device, upon clicking a node, the node pop up doesn't always display. Only at certain position, if it is clicked again then the popup is visible until closed or loses focus.
Steps to Reproduce
Steps to reproduce the behavior:

Go to website home page with mobile device
Click on top right hamburger icon
Click More
Click WebMap
Click on an bank/validator icon and observe that the pop up doesn't always display.

Expected behavior
The popup should always display and be visible upon click.
Actual behavior
Popup displays for a brief second and then goes away. Sometimes it works properly.
Screenshots/Recordings
https://user-images.githubusercontent.com/9319623/103895685-ca1f7680-50be-11eb-9964-dc55cfe5e71b.MP4
OS and Browser

OS: iOS safari

Additional context
Add any other context about the problem here.
Account Number
da8500cb8e2ffd728f919cfae82b1c4e97ca2558f2545ab1b020a4172642dce3
How to Create an Account

Hello @franchyze923 , i will fix this

@etfaghaoubeid any update on this one?


How can we help?
I would like someone else to build the manifest.
Please read and ensure the following

[x] The installer meets the above requirements

Please provide the following information
Download Page Url: https://www.gisinternals.com/release.php (current version, all compilers/architectures) / https://www.gisinternals.com/query2.html?content=filelist&file=release-1930-x64-gdal-3-10-0-mapserver-8-2-2.zip (all installers for current GDAL core and plugins, built by most recent compiler for 64-bit architecture - despite the .zip this is a webpage)
Publisher: GISInternals
Package Name: GISInternals.GDAL
Description (via https://gdal.org): GDAL is a translator library for raster and vector geospatial data formats that is released under an MIT style Open Source License by the Open Source Geospatial Foundation.
Package Version: 3.10.0
Installer Url: https://build2.gisinternals.com/sdk/downloads/release-1930-x64-gdal-3-10-0-mapserver-8-2-2/gdal-3.10.0-1930-x64-core.msi
Notes:

Some more information about the builds can be found here: https://www.gisinternals.com/packageinfo.php?file=release-1930-x64-gdal-3-10-0-mapserver-8-2-2.zip

GDAL (https://gdal.org, https://github.com/OSGeo/gdal) is not developed by GISInternals; rather, GISInternals is a project run by Tamas Szekeres (who also contributes to GDAL development) that provides nightly and release Windows builds of GDAL, similar to what Shining Light Productions does for OpenSSL. GISInternals is linked to by the official GDAL documentation here.

The installed programs do not work properly unless the PATH environment variable includes C:\Program Files\GDAL and the value of the GDAL_DRIVER_PATH environment variable is set to C:\Program Files\GDAL\gdalplugins. As far as I know, the installer does not provide a way set either of these automatically. Can WinGet do this or warn users that they should do this?

The GISInternals.GDAL package should only include the core installer, gdal-...-core.msi. I would also be happy to see separate WinGet packages for each of the plugin installers gdal-...-ecw-55.msi, gdal-...-filegdb.msi, gdal-...-mrsid.msi, and gdal-...-oracle.msi; however, these are separate installers because of proprietary licensing. As stated here:

Some external libraries which can be optionally used by GDAL and MapServer (provided as plugins) are under radically different licenses, you MUST obtain valid licenses for each of these dependent libraries.

These licenses are not necessarily hard to find, but they are distinct from the GDAL and GISInternal licenses. I can create separate issues for each plugin and try to track down their respective licenses if that would help.

The MapServer files are not required by GDAL and should be ignored for the purposes of this package. The Python bindings can also be ignored; I do not know much about them, but it seems to me that Python users on Windows would be more likely to install and use GDAL via OSGeo4W or Conda, not GISInternals.

Can WinGet [add these paths to the PATH variable] this or warn users that they should do this?

Unfortunately, the package manager doesn't currently have this capability, to my knowledge.


Update azure-to-azure-powershell.md

Updated to correct Parameters on New-AzureRmRecoveryServicesAsrAzureToAzureDiskReplicationConfig cmdlet.  Referenced correct cache storage account.

@JeradBerhow : Thanks for your contribution! The author, @sujayt, has been notified to review your proposed change.

#sign-off

@ktoliver : Thanks for your contribution! The author, @sujayt, has been notified to review your proposed change.


Support for drawers

With emacs-libvterm there is support for escape codes that track the prompt, command end, and command output. If the repl of a language allows to customize the prompt and insert such control codes (i.e. julia) it would be possible to just copy the output of the evaluation from the vterm buffer to the org buffer.
The advantage of this is that it is language agnostic, it does not need ad-hoc IO implementations for the language like all org-babel implementations, it's still async, and since it would copy from the vterm buffer, it would preserve the text properties, so it keeps the formatting as printed from the terminal emulator, whereas other org babel implementations loose the formatting, and instead rely on org support for pretty printing (i.e. tables)

Hi @untoreh
Actually I've been wanting something like this myself as well, since I use this package (well, to be frank a new re-write of this package) a lot and rarely do thing with plain org-babel. And the last time that I want to create an org-mode file with src code & the results I (sadly) had to run the command and then manually paste the results.
if I'd go into the trouble of looking into this, I'd like also to have a complete functionality, like evaluating the whole org document (and replacing the results of all code blocks). Have you given any thoughts on this?
I guess the obvious way is to implement something with the functionality of org-babel-execute-src-block:

let's say ober-execute-src-block (a-la ober-eval-block-in-repl)
have some timer and wait for the user-defined escape code (eg that'd be >  or julia>  or whatver
Then, hopefully, if one overwrites org-babel-execute-src-block with ober-execute-src-block, you could even export to html, or whatever other backend?

What do you think? And is your elisp-foo strong enough to maybe help with the task? If not, describe if you can your workflows and typical usecases of how & where this would be useful.


Impossible to send Tesla commands control,

The problem
Hello, I can send command to control the charge of Tesla car.
I have this way:
Server returned 429: Too Many Requests: Retry in 49200 seconds
Best regards
What version of the addon are you using?
2.2.8
What version of Home Assistant Core are you using?
2024.6.4
What type of installation are you running?
Home Assistant OS
What version of Tesla integration are you using?
v3.24.0
What region of Tesla API are you using?
Europe, Middle East
What model and year is your vehicle?
MODEL 3 2023
What is your domain name (FQDN)?
https://tesla.innogreentech.fr
Paste the log output from the addon here
2024-06-23T12:32:08+02:00 [debug] Server returned 429: Too Many Requests: Retry in 48472 seconds

2024-06-23T12:32:08+02:00 [warn ] [85f39bd5def6ef708741ad802e5de634] Terminal transmission error: Retry in 48472 seconds

2024-06-23T12:32:08+02:00 [error] Returning error Too Many Requests

Any additional context or screenshots that help explain the issue
No response

This is not a bug. API rate limits are described here: https://developer.tesla.com/docs/tesla-fleet-api#membership-levels

This is not a bug. API rate limits are described here: https://developer.tesla.com/docs/tesla-fleet-api#membership-levels

Yes thanks ,i have find it two.

Device data limits | 200 requests / vehicle / day
-- | --
Commands limits | 50 requests / vehicle / day
Wake limits | 15 requests / vehicle / day
Charging commands | 5 request / vehicle / day
Energy Device data limits | 50k API requests / dayAnd5 API requests / secAnd1 API request / energy site / 5 min.
Energy Settings limits | 50k API requests / dayAnd5 API requests / secAnd5 API requests / energy site / dayAnd1 tariff change / energy site / month.


Fix cicleci badge

The old badge is no longer active due to the migration under jazzband's umbrella.

This is moot after #397


bazel test waymo_open_dataset/metrics/ops/...                fails!

I followed your instructions and I get an error:
WARNING: /home/sarim/.cache/bazel/_bazel_sarim/3bfa1001fe6f3e1721e8eb15a171abf8/external/local_config_tf/BUILD:3823:1: target 'libtensorflow_framework.so' is both a rule and a file; please choose another name for the rule
INFO: Analyzed 4 targets (0 packages loaded, 0 targets configured).
INFO: Found 3 targets and 1 test target...
FAIL: //waymo_open_dataset/metrics/ops:detection_metrics_ops_test (see /home/sarim/.cache/bazel/_bazel_sarim/3bfa1001fe6f3e1721e8eb15a171abf8/execroot/__main__/bazel-out/k8-opt/testlogs/waymo_open_dataset/metrics/ops/detection_metrics_ops_test/test.log)
INFO: Elapsed time: 2.220s, Critical Path: 2.07s
INFO: 2 processes: 2 linux-sandbox.
INFO: Build completed, 1 test FAILED, 2 total actions
//waymo_open_dataset/metrics/ops:detection_metrics_ops_test              FAILED in 2.0s
  /home/sarim/.cache/bazel/_bazel_sarim/3bfa1001fe6f3e1721e8eb15a171abf8/execroot/__main__/bazel-out/k8-opt/testlogs/waymo_open_dataset/metrics/ops/detection_metrics_ops_test/test.log

INFO: Build completed, 1 test FAILED, 2 total actions

Please tell me how to fix this, thanks!

The building tutorial is writen by waymo open dataset. You can try using the latest tutorial or find some useful solutions in issues there.


Proposal: allow to outsource ACLs

Hi,
I'm using cesanta/docker_auth in my docker-registry-setup project. It serves as a proof of concept and shall make up the foundation for developing a next generation of docker registry frontends. My old docker-registry-frontend has no notion of authentication built into it except for Apache-based Kerberos authentication. It has absolutely no knowledge about authorization.
My docker-registry-setup works fine but once you think about a Web UI component that shall perform actions like deleting a repo or tagging an image from within a browser, that frontend needs to be aware of ACLs. In fact, as an admin you might want to be able to configure ACLs from within the frontend. Right now I don't see a way to be able to use the ACLs specified in docker_auth's config file from a frontend, do you?
Here are my questions:

That being said, what do you think about the idea to create a "module" (just like LDAP or Google for authentication) to store ACLs inside a database (e.g. MongoDB) or an external service?
If you at all agree that this might be useful, would you consider to merge a PR if somebody creates such code?
Do you think it is a good idea to model what is currently possible with ACLs in a database backend of  choice? Or do you have other plans for the ACLs?

Thank you in advance for answering my questions!

Konrad

I've looked into what other developers are doing in their forks and found out that https://github.com/gravitational/docker_auth seems to be implementing what I asked for in this issue/proposal:

For managing ACLs with endpoints: https://github.com/gravitational/docker_auth/commit/dcf760c58c681cda5960a33c754e4e549cc0c3c7
For ACLs stored in an (SQL)-database: https://github.com/gravitational/docker_auth/commit/01e4f4104c15c34ce8dc59a43fb92f9543c658aa

Have you seen this?

i don't have immediate plans, this server was written as a quick fix and so far we're ok with the functionality. but i accept PRs, and db-backed ACL sounds fine to me. if i were to do it, i'd create a new authenticator that reuses ACL structures but consults DB instead of a static list.

i introduced these authn/authz interfaces precisely so people can plug in their own creations :) so far i merged LDAP and will accept db-backed auth.

i'll close this one, feel free to send a PR

That is good to hear @rojer. Thank you for being so open to contributions!
The ACLs are in fact a bit hard to store in a DB.
I mean it is totally possible to store something like match: {account: "/.+/", name: "${account}/*"} but to query this is much harder.
I my opinion this is how an ACL DB backend needs to work:

Query all ACLs from the database and let them be processed by the
docker_auth server. Basically this means that only the data source for ACLs
is changed in docker_auth and everytime ACLs are fetched from the database,
they must be fetched as a whole. Luckily for us such cool tricks with
${account} above allow us to not have one ACL per user but one for many.
Maybe one wants to have a caching timeout to prevent keeping ACLs in
memory for too long. This timeout also controls the amount of reads from
the DB.

2015-10-29 14:58 GMT+01:00 rojer<EMAIL_ADDRESS>
i introduced these authn/authz interfaces precisely so people can plug in
their own creations :) so far i merged LDAP and will accept db-backed auth.
—
Reply to this email directly or view it on GitHub
https://github.com/cesanta/docker_auth/issues/38#issuecomment-152189066.

yes, i agree that storing strings is a bad idea. i'd create a db schema that maps columns to ACLEntry fields and use that.
the scheme where you periodically refresh full list from DB also sounds fine, at least for starters.
with that, you can actually fully reuse existing ACLAuthroizer, just have an instance inside your DBACLAuthorizer (or whatever it ends up being called) and delegate Authorize to it. when updating from DB, construct a new one and swap it in.

The way I'm storing ACLs in my fork is to have a string field for each ACL field (e.g. name, type...) and directly use SQL to do regex matching:
https://github.com/gravitational/docker_auth/blob/c320b579fdefa24f9bc829281134b214916b63e6/auth_server/authz/db.go#L26
In my fork, there's also a Postgres-based docker image that can be used as the DB: https://github.com/gravitational/docker_auth/tree/c320b579fdefa24f9bc829281134b214916b63e6/auth_db
And a CLI client that can be used to add/modify/delete users and ACLs: https://github.com/gravitational/docker_auth/tree/c320b579fdefa24f9bc829281134b214916b63e6/auth_client
Hopefully you guys can make use of it.

direct matching looks interesting, but it seems specific to pg. i'd like something more generic, or carefully tuned to at least the most popular engines.

I vote against direct or regex matching for two reasons:

First, it should be up to the auth server to decide on which ACL to use. With direct/regex querying you hide some of the ACLs from the auth server. Maybe those ACLs are obviously not needed but it introduces potential errors.
In the current implementation by @derekchiang, it is assumed that only one ACLs matches the search query. Is this flexible enough? For instance what if you have a request matching multiple ACLs? At least it should be possible to formulate an ACL that allows everything (*) for a particular repo but maybe only pull action for another. To put a long story short, the ordering of ACLs matters and with multi-result queries from a database one would have to re-introduce an ordering of results.

good points, Konrad. we can leave direct matching as an optimization for later (if ever).

@rojer I am making good progess with a MongoDB ACL backend but one thing I noticed is that it would be nice to have an additional comment field (of type *string) in the the ACLEntry struct:
type ACLEntry struct {
	Match   *MatchConditions `yaml:"match"`
	Actions *[]string        `yaml:"actions,flow"`
	Comment *string           `yaml:"comment,omitempty" json:"comment,omitempty"`
}

Can you live with that? I'm happy to make the required changes so that a comment on a static ACL actually becomes part of the structure:
Before:
acl:
  # Admin has full access to everything.
  - match: {account: "admin"}
    actions: ["*"]

After:
acl:
  - match: {account: "admin"}
    actions: ["*"]
    comment: "Admin has full access to everything."

Is such a change okay? Otherwise you basically lose context of the ACL inside a database.

yes, makes sense, merged your PR.
On Wed, Nov 4, 2015 at 12:52 PM Konrad Kleine<EMAIL_ADDRESS>wrote:

@rojer https://github.com/rojer I am making good progess with a MongoDB
ACL backend but one thing I noticed is that it would be nice to have an
additional comment field (of type *string) in the the ACLEntry struct:
type ACLEntry struct {
Match   *MatchConditions yaml:"match"
Actions *[]string        yaml:"actions,flow"
Comment *string           yaml:"comment,omitempty" json:"comment,omitempty"
}
Can you live with that? I'm happy to make the required changes so that a
comment on a static ACL actually becomes part of the structure:
Before:
acl:
Admin has full access to everything.

match: {account: "admin"}
actions: ["*"]

After:
acl:

match: {account: "admin"}
actions: ["*"]
comment: "Admin has full access to everything."

Is such a change okay? Otherwise you basically lose context of the ACL
inside a database.
—
Reply to this email directly or view it on GitHub
https://github.com/cesanta/docker_auth/issues/38#issuecomment-153712275.

--
Deomid Ryabkov,
Software Engineer
Cesanta Software Ltd.


Fixed double-counting of periopdic image pairs

This was found by @liam-o-marsh in #240, and I cherry-picked it to merge the fix quicker.
Ping @rosecers who wants to use this!

:books: Documentation preview :books:: https://rascaline--260.org.readthedocs.build/en/260/

Much appreciated on my end! Code looks great to this noob -- let me know if you want a formal review from me.

I think the NeighborsList calculator is now wrong with these changes, around here: https://github.com/Luthaf/rascaline/blob/2851d47ab3471057f3794ac2b48b0417add2f748/rascaline/src/calculators/neighbor_list.rs#L568-L571
The condition should account for the cell shift as well.


no apparent way to set composition crypto default

Expected behavior
Ability to set custom default crypto setting, I.e. 'none', 'sign only', etc.
Preferably setting per identity.
Actual behavior
Always defaults to 'always sign, encrypt if possible'.
Environment
K-9 Mail version: 5.114
Android version:
Any
Account type (IMAP, POP3, WebDAV/Exchange):
any

At least could it be changed to default behaviour is not encrypt, not sign?
Mostly I dont sign and encrypt, so this is a bit unhandy for daily use.
Thank

Well, this has now been quite severely broken. Not you have to take extra steps to enable SIGN THE BLOODY MESSAGE.
Look, many times you need to send data that is not security sensitive, while being able to prove who it came from. In fact, the DEFAULT crypto setting SHOULD be SIGN, but DON'T ENCRYPT.

I disagree. But I'd be interested to hear what your reasoning for signing messages by default is. I've been discussing this with various people, and there are valid cases where a user explicitly wants to sign a specific mail. I have yet to hear a good case for signing by default. From my point of view, all people who tried to argue this so far found that their argument boiled down to either "but that's what you're supposed to do", or "but we use it as a poor man's key exchange mechanism".
That said, a "Don't encrypt opportunistically" setting might be useful for users who don't ever want to initiate an encrypted conversation, I might add that at some point. PRs welcome, too :)

Very simple;

Most messages are not security sensitive. I.e., eavesdropping doesn't really cause a problem. "I'm running late, can you pick up the package from the post office?"
The recipient may or may not be set up to decrypt messages, even if they have a key set. I.e., some email clients that they use, like k9mail up until quite recently. Or they recently reset their phone and haven't had a chance to add back their private key. Whatever the reason, not everybody is ALWAYS in a position to be able to decrypt.
The message, while not security sensitive, is important enough to not have to face problem of not being able to read it.
The recipient SHOULD have enough information available to verify the AUTHENTICITY of the message. I.e., this message really is from who it says it is from, rather than a hacked server or spoofed message trying to trick you into picking up a box of anthrax, or tricking you into leaving the house so it can be burglarized.

Have you read my blog post? I don't think you have. Regardless, in the interest of not derailing this issue, please move to the recent thread on the moderncrypto ml for further discussion on the usefulness of sign-only.

So you would advocate for sending messages that can't be authenticated?

Yeah no, sorry, that's not a level of discourse I'm interested to have a discussion in.

Then you accept my reasoning as valid.

Maybe I am wrong, but with the last alpha version 5.115 I don't have the issue anymore.
I write an email, don't touch the lock-icon and no signature is attached and not attempt to encrypt is done. Like the default before.

 That is now 3 unnecessary touches it takes to send an email instead of just 2, or it won't even sign it.

With "current version" you don't mean the 5.115, do you?

Unless they posted a newer version in the last few minutes...

Did you check the setting "Support signing of unencrypte.." in the Cryptographic settings of the account?

Without that, the sign option doesn't even appear in the menu.

I think I misunderstanded totally. My problem was, that I dont wanted to encrypt or sign and in the last official version I was always asked to disable encryption or input my key, when I just wanted to send a normal email.
This was the problem in this issue 1743 here, I guess. Only this.
Now with 5.115 this issue has gone I think. Maybe I am wrong. But I dont need to enter any key anymore or disable encryption before sending manually each time.
You want to sign and dont want to hit many times any silly help Popup.
I think this is a different issue then the issue here. Wrong?

Well, they are at least related, in that you should be able to set a default behavior that suits your own use.

Cannot you just write a little code to ommit the message when firstly displayed oncely and push a pull request?

That would only save 1 touch, not all 3.
As far as making a pull request goes, it doesn't make any sense to learn the code of every single project that you want to make a trivial change to. The understanding is that I will deal with bug and minor feature requests against projects I maintain, and in exchange, others do the same for their projects.

The popup should only be displayed twice, actually. Does it show up more often than that? If so, that's a bug.

Ok, seems to be that it only displays twice, but that doesn't fix the problem, since you still have to go into the menu and manually enable signature.

There is another thing that is particularly unclear with the new changes; what happens with signatures when you have it set to "encrypt if possible"? Does it sign the message to EVERYBODY? Or does it just sign it to those for whom you can encrypt?
-- I just tested it and it seems to only sign it to those for whom you can encrypt. I would also consider THAT to be broken, since you now CANNOT set it to encrypt where possible AND sign to all... and it doesn't tell you what it is going to try. FYI: Electronic signatures satisfy requirements for signed legal documents, at least here in Ontario, Canada. https://www.ontario.ca/laws/statute/00e17#BK12 -- which means that you MUST be ABLE to sign it for ALL.

There is another thing that is particularly unclear with the new changes; what happens with signatures when you have it set to "encrypt if possible"? Does it sign the message to EVERYBODY? Or does it just sign it to those for whom you can encrypt?

-- I just tested it and it seems to only sign it to those for whom you can encrypt.

That would be a bug, but this is not the right issue to raise it under. I'm going to delete / snip any further comments which don't relate to the original issue in the title.

My point is, however, that the entire way this aspect of k9mail works, is
completely broken.
Look how it's implemented in roundcube/enigma. Easily set user defaults,
and easily adjust per message.
On Dec 2, 2016 3:24 PM, "Philip"<EMAIL_ADDRESS>wrote:

There is another thing that is particularly unclear with the new changes;
what happens with signatures when you have it set to "encrypt if possible"?
Does it sign the message to EVERYBODY? Or does it just sign it to those for
whom you can encrypt?
-- I just tested it and it seems to only sign it to those for whom you can
encrypt.
That would be a bug, but this is not the right issue to raise it under.
I'm going to delete / snip any further comments which don't relate to the
original issue in the title.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/k9mail/k-9/issues/1743#issuecomment-264553725, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADN0xqTGwx5Ukq5w0eVTVwqNIAnbIczVks5rEH55gaJpZM4Kdv7h
.

I pretty much disagree with everything you've been saying in the last couple of posts. The behavior is not going to change at least for the stable, and no amount of capslock is going to convince me otherwise. I will wait for user feedback, and continue work from there.

I am giving you user feedback.
On Dec 2, 2016 4:01 PM, "Vincent Breitmoser"<EMAIL_ADDRESS>wrote:

I pretty much disagree with everything you've been saying in the last
couple of posts. The behavior is not going to change at least for the
stable, and no amount of capslock is going to convince me otherwise. I will
wait for user feedback, and continue work from there.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/k9mail/k-9/issues/1743#issuecomment-264561475, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADN0xuL6dqm7j11iytiRXcsAnH16KGInks5rEIcTgaJpZM4Kdv7h
.

Now, not sure this is the same issue. How comes that in 5.200 ( but I am sure I have notice this in the precious version) messages to ppl that are in my contacts are selected with the default "encrypt if possible". That seems unnecessary work for the user to have to bump in that warning popup every bloody time. Currently I'd say 2-5% of my contacts have public keys.

Its like this; if your email is to 20 of your contacts, and one of them has a public key, it means that to the one for which it has a public key, it will encrypt it, but not the others.
Its kind of a silly feature, since if you're sending the message to JUST ONE recipient UNENCRYPTED, then the encryption state of the rest of them doesn't matter -- the message HAS been sent unencrypted and therefore you must presume no longer a secret.
The reason I argue in this thread that you should have an optional default state of ALWAYS SIGN, is because it doesn't give you a false impression of secrecy when none exists, and EVERY recipient can validate a signature (though it may in some cases require steps), regardless of whether or not they have a public key. This, in the very least, can prove to them that the message really did come from you. The fact that somebody encrypted a message to you that isn't a secret means nothing, since any hacker can get their hands on the recipient's public key -- its WHY its called a PUBLIC key.

That's the point of the "if possible" part. If there's no public key, it's not possible. Can you be more specific about what warning popup are you talking about? There should be no popup when you send a mail to a person who doesn't have a public key.

So now deleting messages that correctly point out how backwards your approach to security is?
Security through hiding the truth.

I'd guess that it contained flame bait in your signature capslock style and hence got deleted, but I didn't even see that post before it got deleted by someone else.
The original matter at hand (encryption defaults) is still not fully resolved, but I doubt anything productive will come out of this particular issue.


[extractor/Teachable w/ Hotmart] Update Teachable and add Hotmart (Credit: Green0Photon)

This commit updates the Teachable extractor to handle Hotmart video URLs and adds a new extractor for Hotmart. The Hotmart extractor is used to handle videos from Hotmart, a platform for selling online courses. The changes allow yt-dlp to download videos from courses hosted on Hotmart.
The code for these changes was originally written by @Green0Photon and can be found at https://github.com/Green0Photon/yt-dlp/tree/teachable-fix-add-hotmart. This commit is a direct implementation of his work into the main yt-dlp repository.
The changes have been tested and confirmed to work as expected. This commit also includes updates to the code style and formatting to match the yt-dlp contributing guidelines.
IMPORTANT: PRs without the template will be CLOSED
Description of your pull request and other information
This pull request updates the Teachable extractor to handle Hotmart video URLs and adds a new extractor for Hotmart. The changes allow yt-dlp to download videos from courses hosted on Hotmart. The code for these changes was originally written by Green0Photon and this commit is a direct implementation of his work into the main yt-dlp repository.
Fixes 3564
Template
Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8 and ran relevant tests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check all of the following options that apply:

[] I am the original author of this code and I am willing to release it under Unlicense
[x] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[x] Fix or improvement to an extractor (Make sure to add/update tests)
[x] New extractor (Piracy websites will not be accepted)
[ ] Core bug fix/improvement
[ ] New feature (It is strongly recommended to open an issue first)

Copilot Summary

🤖 Generated by Copilot at fe8d9ec
Summary
🆕🎬🛠

This pull request adds support for extracting videos from the Hotmart platform, which is a new type of URL for the Teachable extractor. It creates a new HotmartIE class in the hotmart.py module, and imports it in the teachable.py and _extractors.py modules. It also improves the code style and readability of the teachable.py module.

Oh we are the coders of the high seas
We write extractors for the videos we please
We handle the Hotmart and the Teachable
And we pull and we push with a git pull

Walkthrough

Add a new extractor for the Hotmart platform, which is a video hosting service used by some Teachable courses (link, link)
Modify the Teachable extractors to handle Hotmart URLs, which require extracting some parameters from the webpage and constructing a Hotmart URL with them (link, link)
Import the HotmartIE class and some missing functions in the teachable.py module, and sort the import statements alphabetically (link)
Replace single quotes with double quotes, add parentheses around tuples, and add line breaks and indentation for consistency and readability in the teachable.py module (link, link, link, link, link, link, link, link, link)

Actually run download tests and how logs of it passing
Revert unnecessary changes
You are completely ignoring style guide

Download tests of teachable.py:
python test/test_download.py TestDownload.test_Hotmart
[debug] Loaded 1858 extractors
[Hotmart] Extracting URL: https://player.hotmart.com/embed/DLNy9QQ4qr?signature=cSnAr99eUZ0cne-ZMMJdjwwzV5hD4pLXVPO3urVQUF0XoWaG3MqF6jhfPFf7ilEh6YdtJeirComlat6kF_ZFQMFf1iW-lmqXfsWdANDVYfh8-lqjKY02_Xxga0nwV3WwrYRkuQ7pnJZiueGkbSHvfixgNGzp12kNDqK1ynPojnVfIaijK2NQV9A0oeG7icUW2K-C9KD0phuuhQmt5qS8u7FxRC7buQm5MoSKYGMi_ot2FUSe2Mgx_S1TOYYNgi0FiTyUyixn884HouIIz8e_N4ceE8PF7x8mVK_IWHgIGic2NhBo9aAo7m8TmP4FA5SNaQnEIPqY1G7SHmDoBvcXyA==&token=aa2d356b-e2f0-45e8-9725-e0efc7b5d29c&autoplay=autoplay
[Hotmart] DLNy9QQ4qr: Downloading webpage
[Hotmart] DLNy9QQ4qr: Downloading m3u8 information
[debug] Extractor gave empty title. Creating a generic title
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, size, br, asr, proto, vext, aext, hasaud, source, id
[info] DLNy9QQ4qr: Downloading 1 format(s): 796
[info] Writing video metadata as JSON to: test_Hotmart_DLNy9QQ4qr.info.json
[debug] Invoking hlsnative downloader on "https://vod-akm.play.hotmart.com/video/DLNy9QQ4qr/hls/1080/playlist-1080-t-1670030237001.m3u8?hdntl=exp=1689967681~acl=/*~data=hdntl~hmac=344574726c0ca56630337082aeb166b3510e5f919ba999cb1df4ead8aab06474&app=aa2d356b-e2f0-45e8-9725-e0efc7b5d29c"
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 48
[download] Destination: test_Hotmart_DLNy9QQ4qr.mp4
[debug] File locking is not supported. Proceeding without locking[debug] File locking is not supported. Proceeding without lock[download]   2.1% of ~  16.37MiB at    3.48MiB/s ETA 00:04 (frag 1/48)[debug] File locking is not supported. Proceeding without[download] 100% of  349.20KiB in 00:00:00 at 2.54MiB/s
.
----------------------------------------------------------------------
Ran 1 test in 0.864s

Download tests of hotmart.py:
python test/test_download.py TestDownload.test_Teachable -v
test_Teachable (__main__.TestDownload): ... [debug] Loaded 1858 extractors
[Teachable] Extracting URL: https://gns3.teachable.com/courses/gns3-certified-associate/lectures/6842364
[Teachable] 6842364: Downloading webpage
[Teachable] 6842364: Downloading JSON metadata
[download] Downloading playlist: Overview
[Teachable] Playlist Overview: Downloading 1 items of 1
[debug] The information of all playlist entries will be held in memory
[download] Downloading item 1 of 1
[Hotmart] Extracting URL: https://player.hotmart.com/embed/Nq7vkXmXRA?signature=5MZtYD6EDKS-rmshXhMtn26NfWKhL8bD_KwW6qGfR9Jo-c3-g7VZnxEoCkR2EcBs5eNknado51KdiWvGvRT7znZHo7iyaVCh7GcG6fZ3pjwhq4rcPEpak13ZVDkNghrK3lnpH8jN36LnSMjWmM2ztaBwgh4br_8scMqtBsoPu-COp2rmxd-G9PJ7BmQ0TFqQ0gzjvDFOLnshfwiW8tFs9KHNaVJVDaZCSnBXbZU_vXfiobSyVFjKoCUV5F4d0MwJl306wqzzHs3xd4dE4CM24bztbn8Znk89_9f0H2Hy0dvEiqOXINMS29CUl8AS5sls1JLuT4l2H-NI737nal0E_A==&token=aa2d356b-e2f0-45e8-9725-e0efc7b5d29c
[Hotmart] Nq7vkXmXRA: Downloading webpage
[Hotmart] Nq7vkXmXRA: Downloading m3u8 information
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, size, br, asr, proto, vext, aext, hasaud, source, id
[info] Nq7vkXmXRA: Downloading 1 format(s): 1891
[info] Writing video metadata as JSON to: test_Teachable_Nq7vkXmXRA.info.json
[download] Finished downloading playlist: Overview
ok

----------------------------------------------------------------------
Ran 1 test in 1.867s

OK

✔ Actually run download tests and show logs of it passing
✔ Revert unnecessary changes
✔ You are completely ignoring style guide

@pukkandan Is everything good, or are there corrections to be made?

[x]  At least skimmed through contributing guidelines including yt-dlp coding conventions

You sure? You are doing the exact opposite of these.
https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#long-lines-policy
https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#quotes
https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#trailing-parentheses

You sure? You are doing the exact opposite of these.

Indeed, a number of conventions have been broken. I'm going to correct them.

I haven't tested or looked at this PR, but there's a reason I never pursued a PR. I wasn't finished, and there was serious bugs left.

Courses don't work -- only individual episode pages
An episode page can contain multiple videos, but this only downloads the first

When I reimplemented everything, I didn't know that, but I wanted to fix how it downloaded many playlists in a way that made metadata annoying

I tried fixing it, but login via username and password broke. Last I checked, sites hosted on Teachable itself vs somewhat separately authenticate differently, and I may have fixed the latter, but broke the former.
Tests -- The Teachable Extractor can create Hotmart links to test in theory, but Hotmart itself is secured in a way that you can't just plug in a plain link in its list of tests, since they expire. I hadn't spent the time figuring out what to do here, yet, asking on Discord or whatever
My version was implemented before a refactor of functionality that changed how links were grabbed in some way -- I never spent the time refactoring and making sure things 100% worked, metadata and all, though I had started making the attempt.

If this all was fixed, then it's good to go. I'll look at the updated code later and I'd like to make sure it's thoroughly tested, as our resident expert on this, I guess.
I wanted to make sure my code was 100% good and ready under contribution guidelines and perfect for anyone who needed it. And although I did commit code publicly in a fork of this repo without saying anything about copyright, I did not state that I had released my code under Unlicense yet. It was supposed to be completed first.
@Abdess Did you test things thoroughly and get my bullets above all working?

@Green0Photon, I will look into the points you've raised and conduct comprehensive tests on my end to address the bugs and ensure functionality. Any assistance or input would be greatly appreciated. As for the copyright concerns, I understand and will ensure that all guidelines are met appropriately.

Don't do https://github.com/yt-dlp/yt-dlp/pull/7650/commits/bee20eeb8210ac3d6426cef05ab732cd6b8f06eb. It's okay for the test to expire

@pukkandan Except for the login problem, everything appears to be running smoothly. Are there any further adjustments to be made before validation?

@Abdess My review will be based on diffing my changes vs your changes.
I'm surprised your course test worked. When I use this course (which is free, and what I've used to test with all this time), for example, it doesn't work. I believe the html structure of most people's is like mine, and most people's don't work.
It also looks like you didn't touch that section, which makes sense, because I know that it's been broken, and I haven't gotten around to fixing it. But I don't know why your site would be working.
-        # TODO Make Hotmart Extractor and change ie to point to that, also maybe add other metadata?
-        return self.url_result(hotmart_url, ie="HotmartEmbed", url_transparent=True, video_id=video_id, video_title=title,
-                               chapter=chapter, chapter_number=chapter_number, webpage_url=url, description=description)
+        entries = []
+        for wistia_url in wistia_urls:
+            entries.append({
+                '_type': 'url_transparent',
+                'url': wistia_url,
+                'ie_key': WistiaIE.ie_key(),
+                'title': title,
+                'chapter': chapter,
+                'chapter_number': chapter_number,
+            })
+
+        for hotmart_url in hotmart_urls:
+            entries.append({
+                '_type': 'url_transparent',
+                'url': hotmart_url,
+                'ie_key': HotmartIE.ie_key(),
+                'title': title,
+                'chapter': chapter,
+                'chapter_number': chapter_number,
+            })
+
+        return self.playlist_result(entries, video_id, title)

Wistia isn't used anymore. Shouldn't be on any Teachable site. So that section shouldn't even be in there.
You've removed a bunch of the metadata by going back to the playlist form, I think. Afaik that info isn't passed through unless specified. And I want the metadata.
I swapped away from the playlist form for a reason -- it messed up the metadata when downloading a course, by making it think it was merely downloading a bunch of playlists. I hadn't spent the time to figure out the right way to do this in yt-dlp.

Hmm. Looking through the rest of this code, it looks like you:

Move more stuff into Hotmart that shouldn't be in there, primarily metadata stuff, which break it, since it's supposed to be passed in from Teachable -- so the description of the video isn't the description of the course, for example, and I can't test if course numbers work because the course does not work for me.
Merge my _create_hotmart_url function into the bigger one, making it harder to tell what's going on
Remove all supporting comments that document how Teachable and Hortmart work
Use urlEncrypted instead of url from the Hotmart data json. I'd think this would break things, but I don't want to spend even more time right now checking to see if yt-dlp merely supports the weird stuff it does now, or if they removed the dumb encryption they do.
Swap the login form data to what it was earlier, the form I suspect works on teachable.com but not on other sites.

Ultimately I've spent a little too much time trying to get back into this, but overall I'm pretty unsatisfied with this work. I'd call none of my bullets adequately solved. I also forgot one more:

Figure out if it's yt-dlp that's not adequately supporting --cookies-from-browser or what, but I need to download cookies.txt for things to work.

You're making me want to finish this myself, despite my lack of outside-of-work coding time. However, a good compromise would be that I'd be happy to have an MVP of this merge if you get courses working properly, and I can get some of the metadata stuff working later. Or I can try and take a look at any updates you post when I can.

I can't tell if this is working or not. When attempting to run this, I'm getting 403 errors even while using the --referer flag.

I've tried this command on a few different sites using teachable (one that uses cloudflare) to no avail.
Any advice would be greatly appreciated, though if it still isn't working as Green0Photon mentioned I'd like to put a $100 bounty on the correction of the issue. As of now, I'm having to record each video manually, which... isn't great.
To get in contact, my discord is<PHONE_NUMBER>37514762.

You have a typo there: --referer yt-dlp "..." should be --referer "...", without the yt-dlp.
Furthermore you should post logs always as text, screenshots are usually useless.
Additionally, your Discord ID cannot be used to get in contact with you, you need to provide the name (like grub4k or Grub4K#2417 in my case).


Persona 5 Royal

APPID=1687950

If you can tell me where the settings file is I can add it though this thread makes it sound like the graphics settings are in the same file as the saves. If this is true then it wouldn't work with this script unfortunately.

@MPotts93 P5R is a tricky one, as the file path includes the user's steam ID. The video settings file is stored in savedata\SYSTEM.DAT, which was simply enough for me to add to your scripts.
For reference, the full path is: %APPDATA%\SEGA\P5R\Steam<user-id>\savedata\SYSTEM.DAT

Thanks for the name of the file. That will allow me to add this game to the script. I won't be able to test personally as I don't have the game but Steam makes an environment variable available for the user's steamID so that won't be an issue.

@MPotts93 I have added a branch with P5R added. Would you be able to test it? https://github.com/tmplshdw/cloud_config_workaround/tree/P5R

@saturnv5 Would you be willing to try the branch in the linked pull request and verify if it works?

Hi @tmplshdw, I don't have P5R installed anymore, but the path I put in your script previously is different to what you have in the branch.
For the .sh file, I have: Application Data/SEGA/P5R/Steam/<STEAM_ID>/savedata/SYSTEM
For the .bat file, I have: %APPDATA%\SEGA\P5R\Steam\<STEAM_ID>\savedata\SYSTEM
Assuming you're able to grab the correct Steam user-ID for both Win and Linux scripts, then I've verified that above paths work correctly.


Factorial loop can be start from 2

fun compute(number: Int) : Int {
var result = 1
for (i in 1..number) { //loop can be i in 2..number as in FactorialBig
result *= i
}
return result
}

Good!)


Update Twitter icon to X logo

Description
This change updates the Twitter icon used on the Bootstrap website to reflect Twitter's rebranding to X. The old bird logo has been replaced with the new X logo in the header media section.
Motivation & Context
Twitter has rebranded to X, and our website should reflect this change to stay current and avoid confusion. This update ensures our social media links are consistent with the latest branding of the platforms we link to.
Checklist

[x] I have read the contributing guidelines
[x] My code follows the code style of the project (using npm run lint)
[ ] My change introduces changes to the documentation
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] All new and existing tests passed

Related issues
Closes: #40737

Thanks, @yashathwani, for your time on this PR. However, as mentioned by @coliff (thanks for that), there's already an open PR tackling it, so I'm closing this PR.


Indentation fixes for example code in the docs

I converted all the sample code in the docs to use 4-space indentation.
In addition, I noticed while building the docs that the Wagtail API page on Usage was triggering a ton of lexer errors. The problem was that the HTML header info at the top of the ..code-block:: json blocks is not valid json, so the lexer was failing, preventing it from syntax highlighting the json. Since the highlighting was broken anyway, I figured the simplest fix was to just use ..code-block:: text instead.
Finally, I also removed all uses of STATIC_URL (there were 3 of them), as its direct use has been unofficially deprecated in Django since the introduction of the staticfiles app. It's always more appropriate to use the {% static %} template tag, or it's equivalent pure-python function django.contrib.staticfiles.templatetags.staticfiles.static(). If your site uses a custom storage engine through the STATICFILES_STORAGE setting (e.g. S3, or some other CDN), the raw value of STATIC_URL isn't going to be the correct prefix to your static file URLs.

Merged in 7523d7f57f9e2498cf09f03ac7f5fa796895b190 + parents - thanks!

Hmm, what does "Closed with unmerged commits. This pull request is closed, but the coredumperror:docs-indent-fix branch has unmerged commits" mean? I'm guessing that's normal and expected, but my lack of experience makes it seem scary.

No worries, that's just a side effect of the way I merged the PR. If I'd merged it directly, it would have been accompanied by a 'merge' commit (like this one: 581be6a266666f58cc974c36e759ce7279d865f5), and we try to avoid those, to keep Wagtail's commit history clean. So, before merging it in, I rebased it on top of latest master - effectively rebuilding it as if it had been written today rather than yesterday.
Unfortunately, Github isn't smart enough to recognise the resulting commits as the same ones you made here, so it thinks that I've just closed this PR without merging it...

Ahh, ok. That makes sense. I also prefer to rebase, when I can, for the same reason.


ReferenceError: require is not defined

I REALLY want to use your excellent plugin as it's such an elegant solution, but I'm following your 'download the latest release' method: including the files in the head of my project, including jquery and initiating using $('[data-toggle="datepicker"]').datepicker(); on document load in and all I get is:
ReferenceError: require is not defined
I don't have the know-how/access to install it via one of the three 'quick start' methods and was wondering if I was missing something? As far as I can tell I'm doing everything your installation instructions are requiring.
Many thanks!

I should say I am including the datepicker.min.js and datepicker.css both from the 'dist' folder in the download.

Obviously, the error prompt means the object or  variable 'require' is not defined.It isn't about  the plugin. U should show some code.

I understand what you're saying but it is the plugin that is throwing the error. I do not use 'require' anywhere else in my site. It is a codeigniter based PHP and html site with JQuery. If I don't include the plugin, no errors, when I do include it (exactly as instructed) it shows this error, and it's being thrown from line 17 of datepicker.js. There isn't a list of requirements on the datepicker site so it should just run, so why isn't it?

It looks to me that it might be expecting you to be using requirejs, and I'm not (and wouldn't know how to!) I just want tot include it in my simple site and use it!

If it is still actual, just download scripts from dist folder, not any others. I don't use require and it works perfectly.


Substrate startkit GUI Grant application

Grant Application Checklist

[x] The application-template.md has been copied, renamed ( "project_name.md") and updated.
[x] A BTC address for the payment of the milestones is provided inside the application.
[x] The software of the project will be released under the Apache license version 2.0 as specified in the terms and conditions.
[x] The total funding amount of the project is below 30k at the time of submission.

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

Thanks for the quick answer. The target users would definitely be beginners and even people that wanna play a bit and not really start a production-ready blockchain. Experienced blockchain devs beginning to build a project with Substrate are probably familiar with how to start, and whoever has to deep dive into the code so they are not the ones that will benefit the most. We didn't consider the possibility of online chain running in this phase of the project, but it could be an option for some future version.
Looking long term, this GUI would be the place for everyone to quickly get informed on runtime pallets so it should be periodically updated with new information.
So the primary purpose is educational but also promotional. We added in the deliverables features focused on education such as:
tooltips/popups with an explanation of every pallet
links to the substrate docs
video tutorial on how to use the app
Documentation with a feature list and written tutorial
Please feel free to suggest another one.
The UX/UI of the app will be an essential part. So let me share with you some of our previous work on dribbble -https://dribbble.com/mvpworkshop.

Thanks for the update and explanation. I have two more questions/suggestions:
Are you aware of the substrate marketplace: https://marketplace-staging.substrate.dev/? Could you also potentially add tests as well as documentation for milestone 1.

Just added documentation and test to the 1. milestone, Thanks.
Regarding the marketplace, we didn't know about this particular one, but we saw a couple of community-driven similar marketplaces. We still think our project makes sense because it will interact with the user to warn him or give him suggestions. That would be beneficial for someone to grasp the whole picture of substrate pallet possibilities.

Thanks. I have one last question: Given that we have already similar solutions in our ecosystem, I think it would be easier to accept your application if you could reduce the cost of it. Would this be possible?

Unfortunately not. We can argue about what 'similar' exactly means and add or change some features. However, it doesn't change our costs to build it.

Congratulations. As part of the Open Grants Program, we want to help winning teams acknowledge their grants publicly while observing the foundation’s guidelines. To that end, we’ve created a badge for grant-winning teams. Here is a link to the download and guidelines.
If you are interested in making an announcement about your grant and you would like us to broadcast it on our  media channels then please get in touch with us at<EMAIL_ADDRESS>prior to making the announcement (at least two weeks notice is preferred) so that we can coordinate on timing and content.

Hey @Noc2, we are about to kick off the work on this grant so I would like to ask what is the process moving forward? We have sent e-mail to<EMAIL_ADDRESS>last week with our plan and proposal on how to approach the milestone #1 but received no feedback so far.
Any guidance on the process would be highly appreciated, just to be sure we are aligned on expectations on both sides. Thanks a lot once again!

Hi @adebak. The grants communication email is mostly about announcements. Also the new email address is<EMAIL_ADDRESS>Sorry for this.
Regarding the process, feel free to start working on the grant and stick to the process described in the readme: https://github.com/w3f/Open-Grants-Program#pencil-process So basically once you finish a milestone, you can submit it to the milestone delivery repo and we will start looking into it. Once the milestone is accepted, the delivery document will be merged and the payment will be issued. Btw. if you have any questions, you can also contact me on riot directly: @david:web3.foundation


ARTEMIS-3414 Disable OpenWire advisory support as default created configuration on CLI

https://issues.apache.org/jira/browse/ARTEMIS-3414

LGTM as long as it's passing check style.. etc...


Update index.md - Increase readability

Increase readability

@lukemurraynz
Thanks for raising these articles to our attention. Unfortunately, copy edits need to be done internally to ensure that articles follow Microsoft style and formatting guidelines. We'll close this PR and submit the file for an internal copy edit.
#please-close


Remove: Discord.Discord.Canary version 1.0.35

## .\Tools\YamlCreate.ps1 -SkipPRCheck -Mode 5 -PackageIdentifier Discord.Discord.Canary -PackageVersion 1.0.35

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[X] Does your manifest conform to the 1.0 schema?

Microsoft Reviewers: Open in CodeFlow

/azp run


Add S2N_NO_PQ Flag to CMake

Please note that while we are transitioning from travis-ci to AWS CodeBuld, some tests are run on each platform. Non-AWS contributors will temporarily be unable to see CodeBuild results. We apologize for the inconvenience.
Issue # (if available): https://github.com/awslabs/s2n/issues/1592
The latest Post Quantum code does not compile on MIPS, which is a platform that the AWS CRT team is targeting. In order to import the latest s2n into the CRT and get the latest PQ Crypto code on x86-64, s2n also needs to be compatible on MIPS platforms. Since PQ Crypto isn't needed on MIPS, add a flag to disable it altogether that the CRT team can enable when compiling for MIPS.
Description of changes:
Add a S2N_NO_PQ  flag to s2n that completely disables all Post Quantum Crypto code from s2n.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

:exclamation: No coverage uploaded for pull request head (add_no_pq_flag@efe3770). Click here to learn what that means.
The diff coverage is n/a.

Cppcheck is complaining about this line, will update this PR soon:
cppcheck: unusedFunction check can't be used with '-j' option. Disabling unusedFunction check.


Support platform-specific test lines

See also https://github.com/flutter/tests/pull/12

Yeah once this lands we should totally try landing the devrel stuff again.


QuickActions orders

I had to reverse the quick actions order in iOS to maintain the same order as Android.  It was confusing to me at first on how to achieve the same order.  I did the following:
  QuickActions.setItems(Platform.OS === 'ios' ? items.reverse() : items);

The quick actions order is based on the placement relative to the screen, it's chosen by the OS. I don't think it makes sense (at the moment) to flip the native behavior on a single platform.


openvr_driver.h is outdated

Hi
the header openvr_driver.h in the subproject folder is outdated
updated:
https://raw.githubusercontent.com/ValveSoftware/openvr/master/headers/openvr_driver.h
greetings

True, but there's also no need to update except to use new features only present in the newer header. The driver pulls in version numbers from the header it's compiled against too - so if the header gets updated, the driver code needs to get updated to make sure it supports anything that changed

with "driver" you mean?
greetings

I mean this SteamVR-OpenHMD driver

hi
yes, thats is the idea
greetings


Agility: Course laps per hour display

Fixed import code style and replaced decimal format with simple Integer.toString as I was only showing whole numbered rounds anyways.


Should UseToastManager methods be safe to use in useEffect?

Hi,
I was trying to trigger toast methods inside a useEffect and got some eslint warnings because it wanted toast or notify to be added to the dependency array. But those references change anytime we create a new toast so adding to the dependency array triggers an infinite number of toasts to display.
Was a little surprised by this as I though they would behave more like useState setters. I was curious... do you think it would be more ergonomic if these hook methods had immutable references?
How to trigger:
Add the follow code snippet to useToastManager demo after handleClickOpenToast method
  const {notify} = toast;

  React.useEffect(()=>{
    handleClickOpenToast()
  },[notify])

The methods passed to the context lack the useCallback hook for function memoization, leading to unnecessary re-renders:
// https://github.com/trendmicro-frontend/tonic-ui/blob/master/packages/react/src/toast/ToastManager.js#L225-L234
const context = getMemoizedState({
    // Methods
    close,
    closeAll,
    find,
    findIndex,
    notify,
    update,

    // Properties
    placement: placementProp,

    // State
    state,
    setState,
});

I think this issue can be resolved by using the useCallback Hook for those methods in ToastManager. Moreover, I'll check whether it is necessary to update the useToastManager Hook.

@derekhawker
Could you help review the PR https://github.com/trendmicro-frontend/tonic-ui/pull/802? It should solve the issue you pointed out.


How to toggle light/dark theme?

Hi,
If anybody did please let me know on how to do it? Like have a button from which we can just toggle dark and light mode?
Regards,
Jay

is there any update on this?

is there any update on this?

So, did you find any solution?  I've been looking for some guides/solutions on this as well.

Also following this - just bought the React Pro team package and it does not seem to have the dark mode switching feature yet.

coreui-pro-react-admin-template v3 has ready to use toggle solution


bitcoin: Re-format crate level re-exports

Is there any advantage trying to lay out the re-exports to give users an idea of the crate structure?
We have the explicit aim that users who depend on bitcoin do not ever need to reach directly into primitives (or units) however it is kind of nice to know where things come from, saves jumping to multiple files looking for them (for those of us that jump to files manually).
I do not know how all the re-exports interact with other folks IDEs, I personally open files manually and just remember where stuff is.

I agree that this refactor is not clearly better for any conventional reason.

I have in the past, when quickly scanning something similar, only looked within the block and thought it's not there and moved on

Fair point, you mean something like below, right? I think this is worse because, at least for me, I would try to open bitcoin/scr/primitives[.rs | /mod.rs]
pub use crate::{
    // Types that are defined in this crate.
    address::{Address, AddressType, KnownHrp},
    bip158::{FilterHash, FilterHeader},
    bip32::XKeyIdentifier,
    crypto::ecdsa,
    crypto::key::{self, PrivateKey, PubkeyHash, PublicKey, CompressedPublicKey, WPubkeyHash, XOnlyPublicKey},
    crypto::sighash::{self, LegacySighash, SegwitV0Sighash, TapSighash, TapSighashTag},
    merkle_tree::MerkleBlock,
    network::{Network, NetworkKind, TestnetVersion},
    network::params::{self, Params},
    pow::{Target, Work},
    psbt::Psbt,
    sighash::{EcdsaSighashType, TapSighashType},
    taproot::{TapBranchTag, TapLeafHash, TapLeafTag, TapNodeHash, TapTweakHash, TapTweakTag},

    // `blockdata` is a code-organisation thing only, users should not need to explicitly use it -
    // re-export all modules and also all non-error types (modules can also be used to access
    // `primitives`/`units` types if desired e.g., `script::ScriptBuf`).
    blockdata::{block, constants, fee_rate, locktime, opcodes, script, transaction, weight, witness},
    blockdata::block::Block, // TODO: Move this down below after it is in primitives.
    blockdata::locktime::{absolute, relative},
    blockdata::script::witness_program::{self, WitnessProgram},
    blockdata::script::witness_version::{self, WitnessVersion},
    blockdata::script::{ScriptHash, WScriptHash}, // TODO: Move these down below after they are in primitives.

    // Re-export `primitives` from where they live, these are re-exported in the respective modules in `blockdata` also.
    primitives::{
        block::{BlockHash, WitnessCommitment},
        merkle_tree::{TxMerkleNode, WitnessMerkleNode},
        opcodes::Opcode,
        pow::CompactTarget,
        script::{Script, ScriptBuf},
        transaction::{OutPoint, Transaction, TxIn, TxOut, Txid, Wtxid},
        witness::Witness,
        sequence::Sequence,
    },

    // Smartly, re-export `units` types from where they live.
    units::{
    amount::{Amount, Denomination, SignedAmount},
    block::{BlockHeight, BlockInterval},
    fee_rate::FeeRate,
    weight::Weight
};

Thanks for the input, this is obviously very subjective and prone to bike-shedding, so bike-shed away!
(FTR I personally have not touched the bitcoin crate level re-exports too much over the last couple of years because I knew when it was done that it would require loads of bike-shedding - it does need doing at some stage though IMO)

I really just meant put blockdata back where it was and keep primitives and units below.  But to be fair it is already well organised they way it is in your patch for that many re-exports.

No worries, lets let this sit for a while and see if anyone else cares.


Roll Flutter Engine from d860892528ff to f193de9ccd52 (16 revisions)

https://github.com/flutter/engine/compare/d860892528ff...f193de9ccd52
2023-02-15<EMAIL_ADDRESS>[Impeller] Make RenderTarget::CreateOffscreen utilities have a stencil by default (flutter/engine#39636)
2023-02-14<EMAIL_ADDRESS>Roll Skia from a3fe5233eb10 to b7508e2f2577 (3 revisions) (flutter/engine#39634)
2023-02-14<EMAIL_ADDRESS>Fix build output path of the malioc core list (flutter/engine#39629)
2023-02-14<EMAIL_ADDRESS>[Impeller] read from framebuffer for advanced blends on iOS. (flutter/engine#39567)
2023-02-14<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from mWwKhmxRlXNJATVmu... to A15Lg2MzGSkbj33mo... (flutter/engine#39631)
2023-02-14<EMAIL_ADDRESS>Add app anatomy diagram (flutter/engine#39628)
2023-02-14<EMAIL_ADDRESS>Roll Skia from 67a8177742e6 to a3fe5233eb10 (9 revisions) (flutter/engine#39627)
2023-02-14<EMAIL_ADDRESS>[Impeller] Special case color filter in tiled texture. (flutter/engine#39445)
2023-02-14<EMAIL_ADDRESS>[impellerc] Generate GLSL output for the runtime-stage-gles target (flutter/engine#39602)
2023-02-14<EMAIL_ADDRESS>[impeller] Refactored backend specific feature checks to capabilities (flutter/engine#39598)
2023-02-14<EMAIL_ADDRESS>Fix a flake in EmbedderTest.CompositorRenderTargetsNotRecycledWhenAvoidsCacheSet (flutter/engine#39596)
2023-02-14<EMAIL_ADDRESS>[Impeller] Avoid stringstream usage in CreateUniformMemberKey (flutter/engine#39606)
2023-02-14<EMAIL_ADDRESS>Roll Dart SDK from ea59504416a8 to 22ad11262460 (2 revisions) (flutter/engine#39624)
2023-02-14<EMAIL_ADDRESS>Add more info to malioc_diff.py output (flutter/engine#39625)
2023-02-14<EMAIL_ADDRESS>Remove libpng dependency in the APNG decoder (flutter/engine#39622)
2023-02-14<EMAIL_ADDRESS>Roll Skia from 8de7f68a3661 to 67a8177742e6 (4 revisions) (flutter/engine#39623)
Also rolling transitive DEPS:
fuchsia/sdk/core/linux-amd64 from mWwKhmxRlXNJ to A15Lg2MzGSkb
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jacksongardner@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Closing this PR because it branched before the revert that opened the tree

Commit queue failed; closing this roll.


Bug Fix: Navbar Functionality Menu Items

Pull Request #27
3-10-2022
What work was done?

Organized current menu items in to correct configuration based on the wireframe.
Added links that are needed to the navbar.
Routed the links to their respective components.

3-12-2022.

Home link was removed from navbar.
key params were added to new Menu.Item tags

Why was this work done?
Menu items on the navbar  in the product need to match the  menu items in the wireframe.

Trello Card
Single Case View Wireframe

Type of Change

[x] Bug Fix.

Change Status

[x] Complete, tested, ready to review, and merge.
[ ]  Complete, but not tested.
[ ] Incomplete/work-in-progress, PR is for discussion/feedback.

Checklist

[x] My code follows the style guidelines of this project.
[x]  I have performed a self-review of my own code.
[ ]  My code has been reviewed by at least one peer
[x] I have commented my code, particularly in hard to understand areas.
[x] My changes generate no new warnings.
[x] I have added tests that prove my fix is effective or that my feature works.
[x] New and existing unit tests pass locally with my changes.
[x] There are no merger conflicts.

Nice design rework on the navbar.
Bringing the front end more in line with the design documents we have combed through with the stakeholder will give us something new to show for our meeting tomorrow.


[BUG] Telemetry data not available for recent sessions

Describe the issue:
As of now (Austrian GP, FP1 finished an hour ago), for some reason only certain data points are available, but others are not.
For example, accessing session.results seems to work, but session.laps doesn't, and throws the The data you are trying to access has not been loaded yet. See Session.load error.
This is quite strange because it normally happens when a session has just finished and the data is not available yet, but this time obviously the session has finished and (some of?) the data is available.
Not sure if this is a FastF1 or F1 livetiming related problem, just wanted to mention it.
Reproduce the code example:
session = fastf1.get_session(2023, "Austria", "FP1")
session.load(laps=True, telemetry=True)
print(session.results) # works
print(session.laps) # error

Error message:
fastf1.core.DataNotLoadedError: The data you are trying to access has not been loaded yet. See `Session.load`

Update: There's no problems at all with the latest Qualifying session, but the problem remains with the FP1 session.
At this point I'd guess it's a problem with either F1 or how FastF1 "reads" session data from the F1 API, maybe because of FP1 being the only practice session in the weekend?

It seems to be working now. I guess it's on the livetiming side, maybe a longer-than-usual lag?

@pesaventofilippo @harningle
Telemetry data is still unavailable, I think. But timing data should be accessible now.
I wasn't able to check what the problem was yesterday. But I have heard that apparently they were slow to make the data available. So likely that was the issue.
For telemetry, position data is still unavailable and FastF1 currently isn't capable to process only car telemetry data then. I'll fix that at some point in the future.


node: ensure that we can fetch with a non-existent tracked node

Ensure that non-existent tracking relationships do not affect fetching.
This is tested by first performing a clone, by bob from alice, after bob tracks a remote that does not exist. alice creates an issue which is then fetched by bob -- to ensure the fetching scenario is also tested.

This is now on radicle.


RFC 6189: ZRTP timing

The timing of ZRTP messages is not as exact as it should be. This does not actually interfere with ZRTP operations, but should be fixed at some point so that it follows the RFC.
As an example, this kind of timing is implemented in RTCP.
The issue is found here, here, here, here, here and here.

Fixed by 0d87863


Profile with multiple SSH sessions in splitted screens

Windows Terminal version
1.16.10262.0 & 1.17.1023
Windows build number
10.0.22621.0
Other Software
OpenSSH_for_Windows_8.6p1, LibreSSL 3.4.3
Steps to reproduce

Open a SSH server on localhost (or replace localhost in the command by your own server IP) and create a SSH key to root
Create a profile with a command opening multiple SSH sessions such as

wt -w 0 nt --title Session1 --suppressApplicationTitle ssh -t root@localhost "htop" `; split-pane --title Session2 -s .35 --suppressApplicationTitle ssh -t root@localhost "htop"

Open this profile

Expected Behavior
Both terminal should open normally to the "htop" precised command, it was working a week ago~.
Actual Behavior
Only the last opened SSH session is kept alive, all sessions created before are closed with this error
bash: -c: line 1: unexpected EOF while looking for matching ``'
bash: -c: line 2: syntax error: unexpected end of file
Connection to localhost closed.

[processus terminé avec le code 2 (0x00000002)]
Vous pouvez maintenant fermer ce terminal avec Ctrl+D, ou appuyez sur Entrée pour redémarrer.

This error is the one in 1.17.1023 and in 1.16.10262.0 you can only see [processus terminé avec le code 2 (0x00000002)]
The actual behavior is obtainable by just executing the command in "Steps to reproduce" in a normal cmd or powershell and it works.
In the video below the command in the profile and the command sent in Powershell 7.3.2 is exactly the same
https://user-images.githubusercontent.com/44753923/218478727-56fef992-1f2a-4659-9cdd-aff99724a6e6.mp4

Passing a wt.exe commandline as a profile's commandline is certainly unexpected, but it should generally work...
I think part of the trick here is the difference between what happens when you're running that command at the PowerShell prompt, vs running that as a commandline.
PowerShell uses backtick (`) as an escape character, so you're right in using that to help separate the subcommands when you're running that command at the shell. (at roughly 18s in the video)
However, when passing that command as a commandline, PowerShell isn't involved in the parsing at all, so the backtick gets passed straight to ssh. That causes ssh to try running essentially "htop" `; split-pane --title Session2 -s .35 --suppressApplicationTitle ssh -t root@localhost "htop", which is why it gives you the error unexpected EOF while looking for matching ``'.
Instead, I'd try:
"commandline": "wt -w 0 nt --title Session1 --suppressApplicationTitle ssh -t root@localhost \"htop\" ; split-pane --title Session2 -s .35 --suppressApplicationTitle ssh -t root@localhost \"htop\""

Does that work/?

It seems to work with the backslashes, the thing is that the command that I sent with ` worked pretty well one week ago on both preview & stable terminal versions. That's why I thought it was worth an issue.

Weird, nothing about that should have changed (and I'm greatly surprised it ever worked 😄).


Ideas

Hi @whoiskatrin, cool stuff, congrats. Beautiful page and charts. my 2cents:

to guarantee data privacy: replace the actual data with placeholders before sending to OpenAI; when the response come, switch again
to allow people to use the chart in documents: generate a ready-to-download image (svg, jpg, png, etc) instead of a dynamic chart

feel free to delete this issue after reading :)
Cheers,
Anderson

@leafstrat my premise was to do it client-side, so no data is sent to any service. Or just self-host chart-gpt, and users will need to trust only chart-gpt instead of chart-gpt + open ai.


⚠ PrivateHD has degraded performance

In d3ae036, PrivateHD ($PHD) experienced degraded performance:

HTTP code: 200
Response time: 1362 ms

Resolved: PrivateHD performance has improved in 4fcd5d8.