Onboarding Recovery Services on Python SDK

@sonathan,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

Codecov Report

Merging #1314 into master will increase coverage by 0.11%.
The diff coverage is 65.91%.

@@            Coverage Diff             @@
##           master    #1314      +/-   ##
==========================================
+ Coverage   55.84%   55.96%   +0.11%
==========================================
  Files        2638     2682      +44
  Lines       70287    71088     +801
==========================================
+ Hits        39254    39782     +528
- Misses      31033    31306     +273

Impacted Files
Coverage Δ

...es/azure/mgmt/recoveryservices/models/name_info.py
100% <100%> (ø)

...rvices/azure/mgmt/recoveryservices/models/vault.py
100% <100%> (ø)

...ces/azure/mgmt/recoveryservices/models/__init__.py
100% <100%> (ø)

...e/mgmt/recoveryservices/models/vault_properties.py
100% <100%> (ø)

.../mgmt/recoveryservices/models/vault_usage_paged.py
100% <100%> (ø)

.../azure/mgmt/recoveryservices/models/vault_usage.py
100% <100%> (ø)

...ces/azure/mgmt/recoveryservices/models/resource.py
100% <100%> (ø)

.../mgmt/recoveryservices/recovery_services_client.py
100% <100%> (ø)

...azure/mgmt/recoveryservices/operations/__init__.py
100% <100%> (ø)

...e/mgmt/recoveryservices/models/tracked_resource.py
100% <100%> (ø)

... and 78 more

Continue to review full report at Codecov.

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

@lmazuel Could you please review this PR?

Awesome @sonathan, thank you! Could you confirm a release as 0.1.0, or you think it's ready for a stable 1.0.0?

@lmazuel, Yes this is release is 0.1.0


Explain trade off between indexing / reproduction

Two Challenges

Notebooks needs to be in XML (JATS), not in supplementary material
Needs to also be reproduced computationally

These are two inter-related but separate problems. JATS can solve indexing, and a container (like git/meca/zip) can solve the other.

I love this. A suggestion would be to maybe add a sort of bottom line that indexing makes computational source viewable for reviewing, publishing, and archiving while the other makes the computational source executable. It might be obvious but thought I'd through it out...


Should sendLocalReply send error response in JSON format?

Title: Should sendLocalReply send error response in JSON format
Description:
For JSON API,  client code is expecting the error response in JSON format.  If the response is in plain text, it will crash many client codes.
Should sendLocalReply() send error in JSON format instead of plain text if a request has JSON content-type?

If no one do it, please assign to me @dio

I'm going to close this and we can track in https://github.com/envoyproxy/envoy/issues/1178


Mal ID

displaying equivalent mal id is a must for developers to convert their apps to use anilist !!
its gonna be hard for anyone to re-enter all the IDs manually again

I'm afraid we won't be supplying Mal id's via the API. Its not something we can reliable provide and could also result in some misuse or abuse of the API.


GCP / Google Cloud KMS backend

Would you be open to supporting GCP secrets too?
For example using the Berglas library?
https://github.com/GoogleCloudPlatform/berglas

We would be interested in supporting GCP too. :100:.
GoDaddy is focused on using AWS internally, and it's possible someone at GoDaddy might pick up GCP secrets support as a side-project / extra curricular, but getting some contributions (anything from a more fleshed out issue with concrete use cases to PRs with code) would help ensure the work gets done.

@MPV would you like to send out a PR for this?


ERROR: buffer overflow detected

Dear,
I created the SNP index based on the vcf file of dbSNP156.
An error occurs when performing SNP comparison:
mrsfast --search hg38.fa --seq ./test/rfx5.fa --threads 6 -e 100  --disable-sam-header --snp dbsnp156Common
ERROR :
==> This version is compiled without any SSE4 optimization <==
# Threads: 6
# Error: 2 (full sensitivity)
*** buffer overflow detected ***: terminated
Aborted

My vcf file like this:

And snp index created successfully:
Pre-processing VCF file ...
Chromosomes: 1027
Valid SNP locations: 21066777
Reading SNP locations .......
Reformatting data ...
Creating output in dbsnp156Common
21066777 SNP locations registered successfully

I performed an operation on the vcf file. If the two candidate alleles of a site are both greater than 0.5%, then the two SNPs are split into two lines, like the following:

SNP index using version 151 can be used normally, but version 156 cannot. The following is the file size of several versions of SNP index:

Please help me @fhach

After final investigation, it was found that the string length of the INFO column is required, so the information in the INFO column should be as small as possible.


Error while building ESD Kernel Driver

When I run ln -s Makefile.esd Makefile;make I get this error message:
make -C /lib/modules/4.4.0-83-generic/build M=/home/ryan/Desktop/esdcan-pcie402-linux-2.6.x-x86_64-3.10.4/src modules
make[1]: Entering directory /usr/src/linux-headers-4.4.0-83-generic'   CC [M]  /home/ryan/Desktop/esdcan-pcie402-linux-2.6.x-x86_64-3.10.4/src/esdcan.o   CC [M]  /home/ryan/Desktop/esdcan-pcie402-linux-2.6.x-x86_64-3.10.4/src/osif.o   SHIPPED /home/ryan/Desktop/esdcan-pcie402-linux-2.6.x-x86_64-3.10.4/src/nucleus.o   SHIPPED /home/ryan/Desktop/esdcan-pcie402-linux-2.6.x-x86_64-3.10.4/src/esdacc.o   SHIPPED /home/ryan/Desktop/esdcan-pcie402-linux-2.6.x-x86_64-3.10.4/src/board.o   SHIPPED /home/ryan/Desktop/esdcan-pcie402-linux-2.6.x-x86_64-3.10.4/src/boardrc.o   SHIPPED /home/ryan/Desktop/esdcan-pcie402-linux-2.6.x-x86_64-3.10.4/src/crc32.o   LD [M]  /home/ryan/Desktop/esdcan-pcie402-linux-2.6.x-x86_64-3.10.4/src/esdcan-pcie402.o ld: Relocatable linking with relocations from format elf64-x86-64 (/home/ryan/Desktop/esdcan-pcie402-linux-2.6.x-x86_64-3.10.4/src/nucleus.o) to format elf32-i386 (/home/ryan/Desktop/esdcan-pcie402-linux-2.6.x-x86_64-3.10.4/src/esdcan-pcie402.o) is not supported make[2]: *** [/home/ryan/Desktop/esdcan-pcie402-linux-2.6.x-x86_64-3.10.4/src/esdcan-pcie402.o] Error 1 make[1]: *** [_module_/home/ryan/Desktop/esdcan-pcie402-linux-2.6.x-x86_64-3.10.4/src] Error 2 make[1]: Leaving directory /usr/src/linux-headers-4.4.0-83-generic'
make: *** [default] Error 2

Please contact<EMAIL_ADDRESS>to obtain esdcan-pcie402 for linux 4.4.x kernel, not linux-2.6.x.

Is it necessary to install the Linux 4.4.x kernel? When I didn't install the kernel, this part of the build process did not error out, but I'm not sure what would happen down the road.

You can install apollo kernel firstly by following this guide (remember to reboot machine before install esdcan driver): https://github.com/ApolloAuto/apollo/blob/master/docs/quickstart/apollo_1_0_quick_start_developer.md#build-the-apollo-kernel
Seems that your current kernel is not x86_64
ld: Relocatable linking with relocations from format elf64-x86-64 to format elf32-i386

If I install the Apollo Kernel without running the command
"sudo apt-get install linux-generic-lts-xenial"
will I run into errors down the road?
The reason I am asking is because I don't have a esdcan-pcie402 board yet, and the website currently only offers packages for linux kernels 2.6.x and 3.0.x

Yes, your problem is that your driver is specific for Linux 2.6 as the name shows.
esdcan-pcie402-linux-2.6.x-x86_64-3.10.4
You can skip this part for now if you are just trying out with offline demo. But it's required if you want to have your build to control the vehicle.

Closed due to no response for a while, please reopen it if you still have questions. Thanks!


Common pattern needed for all Operations that return no results (empty, null or error)

If GetElements is executed with no seeds, the handler throws an exception. If GetElements is executed without any data, then no results are returned. We just need to make sure this sort of logic is consistent across all Stores and Operations.
This was raised from work done on the Federated Store.
When access is invalid or unusual what are the expected and appropriate returns.
Check and test please.
getAllElements to graph that doesn't exist
getAllElements to graph with no access
getAllElements from empty graph.

This requires discussion with users as to what they would expect with each action.
After:
gh-1322
gh-1231

The intention for the GetElements operation was that seeds have to be provided (i.e. not null, and if null is passed in then an exception is thrown), but if an empty set of seeds is passed in then an empty set of results is returned (it's quite common to query for an empty set of seeds if doing a breadth-first search expansion around a node and the next frontier is empty because you've already touched all the nodes in the component).

getAllElements to graph that doesn't exist  -> exception is thrown
getAllElements to graph with no access -> exception is thrown
getAllElements from empty graph -> empty iterable is returned.


.col is adding extra line height

Description
columns(.col) is adding extra line at the bottom of an image
Repro Steps
http://codepen.io/anon/pen/evEVzr

if i add a line height to the column the empty line will remove
http://codepen.io/anon/pen/JWypKx

This is just how display: inline elements are. Make your image display: block and it should work. Or you can just add the z-depth-4 class to the image directly.


fix(36381): blur composer on edit menu action

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/36381
PROPOSAL: https://github.com/Expensify/App/issues/36381#issuecomment-1940394893
Tests

[x] Verify that no errors appear in the JS console

For web and desktop:

Open a report

Focus a composer

Hover a previous message and press the three dot menu

Ensure the composer is unfocused

Check that the keyboard arrows work for the popped out menu from the menu options

From a non focused composer

Hover a previous message and press the three dot menu

Ensure the composer is unfocused

Check that the keyboard arrows work for the popped out menu from the menu options

From a focused composer

Hover a previous message and press the quick reaction emojis

Ensure the composer is stays focused

For mobile:

Focus the composer
Click on a previous message to see the menu actions
Close it
Ensure the composer is still focused

Offline tests

When offline, perform the same steps to ensure the focus is lost when going to the three dot menu.
QA Steps

[x] Verify that no errors appear in the JS console

Open a report

Focus a composer

Hover a previous message and press the three dot menu

Ensure the composer is unfocused

Check that the keyboard arrows work for the popped out menu from the menu options

From a focused composer

Hover a previous message and press the quick reaction emojis

Ensure the composer is stays focused

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/157416545/4890c18b-f500-4e8e-9bde-8244c2c9a0ad

Android: mWeb Chrome

https://github.com/Expensify/App/assets/157416545/0bd2043c-e3ce-4d1b-9464-c55712b58aa5

iOS: Native

https://github.com/Expensify/App/assets/157416545/03d499b0-16de-422b-9082-e7cffac2bcd9

iOS: mWeb Safari

https://github.com/Expensify/App/assets/157416545/f14dc96a-b3f9-48f0-aac6-6c42194da69e

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/157416545/279aa3ef-9acc-4117-987d-a737f90616e6

MacOS: Desktop

https://github.com/Expensify/App/assets/157416545/905bfb6e-c5ce-4b9d-92fa-c0b18d63df77

Note: During my testing against latest main I observed that the android composer and ios composer behave differently after opening up the menu actions of a row. IOS keeps it focused, android does not. I confirmed this is unrelated to my changes.

@jeremy-croff Step 13 looks redundant in "Tests" + Step 3 looks redundant in "QA Tests", doesn't it?

I feel like step 13 is an important new behavior that demonstrates that since the menu items are now focused when you press the 3 dot menu, it also activates the arrow keys of the keyboard, allowing you to switch between them. This previously didn't work.
Step 3, as part of QA, is the main flow that's addressed in the ticket; I'm unclear why it's redundant.

I feel like step 13 is an important new behavior that demonstrates that since the menu items are now focused when you press the 3 dot menu

Doesn't it cover in step 5 & 9? Because from step 12, we can test step 13 without tapping on three-dot menu

Step 3, as part of QA, is the main flow that's addressed in the ticket; I'm unclear why it's redundant.

I mentioned it incorrectly. I mean step 9

Yep! You're totally right. Thanks.

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/bondydaa in version: 1.4.51-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/luacmartins in version: 1.4.51-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Incomplete DAG with checkpoints

Snakemake version

v8.10.7
Describe the bug

DAG is incomplete when there are checkpoints, since it only plots the DAG for the rules upstream of the checkpoint.
Minimal example

On test snakemake/tests/test_checkpoint_allowed_rules, if we run snakemake c --dag | dot -Tsvg > dag.svg, we get the DAG:

Where I think we would also expect rule b going into rule c.

Seems slightly related to #2824. I think this makes sense since B doesn't exist in the DAG until after A has been run.

Yes, but then it should work if a has been run, but it does not. As it is now:

if a has not been run: a -> c
if a has bee run: b -> c

So it is never possible to get the full DAG.


How to integrate Extensions like TableTools?

Is Tabular compatible with DataTables extensions like TableTools?
If so, do you have any tips on how to integrate TableTools with Tabular?

Have yet to try TableTools, but can confirm ColVis and ColReorder work just fine with this package. Go to the official site (https://datatables.net/download/index), download the respective JS and CSS for your extension and drop them in your "client" folder in your Meteor project. Use the "dom" property to enable the extension:
lib/collections.js
// DataTables initialization
TabularTables = {};
Meteor.isClient && Template.registerHelper('TabularTables', TabularTables);

// Orders
Orders = new Mongo.Collection("orders");
TabularTables.Orders = new Tabular.Table({
  name: "Orders",
  collection: Orders,
  // This is the important part, read the documentation on the official site for more info
  dom: 'C<"clear">lRfrtip',
  columns: [
	{ data: 'order_id', title: 'Order #' },
	{ data: 'order_price', title: 'Price' },
	{ data: 'order_notes', title: 'Notes', visible: false }
  ]
});

Hm, good to know - the issue with TableTools is that there's a .swf file that also needs to be loaded which I'm having trouble with.

Put the SWF file in the following folder:
/Public/swf/copy_csv_xls_pdf.swf
Looks like TableTools is hard-coded to look for a "swf" subfolder.

Guys if this works I am going to find a way to buy you beers.
K
-----Original Message-----
From: "Aman Babra"<EMAIL_ADDRESS>Sent: 05/03/2015 05:00
To: "aldeed/meteor-tabular"<EMAIL_ADDRESS>Subject: Re: [meteor-tabular] How to integrate Extensions like TableTools?(#82)
Put the SWF file in the following folder:
/Public/swf/copy_csv_xls_pdf.swf
Looks like TableTools is hard-coded to look for a "swf" subfolder.
—
Reply to this email directly or view it on GitHub.

I have succeeded in getting csv/xls working with a Meteor app before, so I can find the correct code if you can't figure it out. It wouldn't be a bad idea to document it in this pkg readme.

Awesome, thanks @ababra, that was the tip I needed, should have dived into the TableTools source instead of the Tabular source, that was less than intelligent of me.
I just created PR #97 with the information I learned from this process in hopes of saving the next person some time and headache trying to figure it out!

Merged, thanks

For FixedHeader extension you could do.
<template name="filelist">
    {{> tabular table=TabularTables.Uploads id="user-files" class="table table-hover table-responsive"}}
</template>

Template.filelist.rendered = function() {
  new $.fn.dataTable.FixedHeader( $('#user-files') );
};

Hi,
I was able to integrate TableTools and also Row Selection. Unfortunatly I am not able to create any kind of download. The swf File is stored in the public folder in the subfolder swf - the css and js files are stored in client/compatibility.
That's my code so far:
TabularTables.HutchisonLinks = new Tabular.Table({
  name: "Hutchison Links",
  collection: HutchisonLinks,
  dom: 'T<"clear">lfrtip<"clear">R<"clear">C',
  tableTools: {
            "sRowSelect": "os",
            "aButtons": [ "copy", "csv", "pdf", "select_all", "select_none" ],
            "sSwfPath": "/swf/copy_csv_xls_pdf.swf"
  },
  responsive: true,
  columns: [
    {
      tmpl: Meteor.isClient && Template.linktodata
    },
    {data: "nummer", title: "Number"},
    {data: "standort_a", title: "Standort A"},
    {data: "standort_b", title: "Standort B"},
    {data: "linktype", title: "Linktype"},
  ]
});

Fixed it by using this as my psSwfPath
''''
"sSwfPath": "http://dev.heco.de/datatables/frontend/js/TableTools-2.2.3/swf/copy_csv_xls_pdf.swf"
''''
No clue why it is not working with a local file.


DataLake async file client cannot download using SAS tokens restricted to specific folders

Package Name: azure-storage-file-datalake
Package Version: 12.6.0
Operating System: Ubuntu 20.04
Python Version: 3.9.7

Describe the bug
SAS tokens for specific folders in a storage account don't work in the async client, however they do in the sync one.
SAS tokens generated on the whole container do work on both async and sync clients.
To Reproduce
Replace relevant variables in the following code, then execute it:
path = '...'
container = '...'
account_url = '...'

# sas token on specific folder (works on sync, doesn't work on async)
sas_token = '...'
# sas token on container (works on both sync and async)
# sas_token = '...'

def sync_run():
    print('Trying synchronous API...')

    from azure.storage.filedatalake import DataLakeFileClient

    with DataLakeFileClient(account_url, container, path, sas_token) as client:
        data = client.download_file().readall()
        print(f'Read {len(data)} bytes.')

def async_run():
    async def run():
        print('Trying asynchronous API...')

        from azure.storage.filedatalake.aio import DataLakeFileClient

        async with DataLakeFileClient(account_url, container, path, sas_token) as client:
            data = await (await client.download_file()).readall()
            print(f'Read {len(data)} bytes.')

    import asyncio
    asyncio.get_event_loop().run_until_complete(run())

if __name__ == '__main__':
    sync_run()
    async_run()

Expected behavior
Output should be something similar to:
$ python3 test.py
Trying synchronous API...
Read 3060 bytes.
Trying asynchronous API...
Read 3060 bytes.

However, I get the following:
$ python3 test.py
Trying synchronous API...
Read 3060 bytes.
Trying asynchronous API...
Traceback (most recent call last):
  File "/home/azure-async-test/test.py", line 64, in <module>
    async_run()
  File "/home/azure-async-test/test.py", line 59, in async_run
    asyncio.get_event_loop().run_until_complete(run())
  File "/usr/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
    return future.result()
  File "/home/azure-async-test/test.py", line 55, in run
    data = await (await client.download_file()).readall()
  File "/home/azure-async-test/.venv/lib/python3.9/site-packages/azure/storage/filedatalake/aio/_data_lake_file_client_async.py", line 481, in download_file
    downloader = await self._blob_client.download_blob(offset=offset, length=length, **kwargs)
  File "/home/azure-async-test/.venv/lib/python3.9/site-packages/azure/core/tracing/decorator_async.py", line 74, in wrapper_use_tracer
    return await func(*args, **kwargs)
  File "/home/azure-async-test/.venv/lib/python3.9/site-packages/azure/storage/blob/aio/_blob_client_async.py", line 480, in download_blob
    await downloader._setup()  # pylint: disable=protected-access
  File "/home/azure-async-test/.venv/lib/python3.9/site-packages/azure/storage/blob/aio/_download_async.py", line 250, in _setup
    self._response = await self._initial_request()
  File "/home/azure-async-test/.venv/lib/python3.9/site-packages/azure/storage/blob/aio/_download_async.py", line 336, in _initial_request
    process_storage_error(error)
  File "/home/azure-async-test/.venv/lib/python3.9/site-packages/azure/storage/blob/_shared/response_handlers.py", line 181, in process_storage_error
    exec("raise error from None")   # pylint: disable=exec-used # nosec
  File "<string>", line 1, in <module>
azure.core.exceptions.ClientAuthenticationError: Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.
RequestId:46dbc42d-701e-0044-2024-48986f000000
Time:2022-04-04T13:04:00.5021799Z
ErrorCode:AuthenticationFailed
authenticationerrordetail:Invalid resource path
Content: <?xml version="1.0" encoding="utf-8"?><Error>AuthenticationFailed<Message>Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.
RequestId:46dbc42d-701e-0044-2024-48986f000000
Time:2022-04-04T13:04:00.5021799Z</Message><AuthenticationErrorDetail>Invalid resource path</AuthenticationErrorDetail></Error>

Additional context
The test script was run on a new venv, with azure-storage-file-datalake (12.6.0) and aiohttp (3.8.1) installed.

Thanks for the feedback, we'll investigate asap.

Hi @simebg Emilian, would you be able to provide a more concrete example for the relevant variables you've blocked out? Of course please omit any sensitive information, but I am mostly interested in the following:

Your file and directory structure (which can be revealed with a more concrete path and container example (even if that means changing the names to things such as foo or blah)
What method(s) you are using to generate your sas_token and the parameters you are providing to the method(s)

With that, I believe the team will be able to better assist you!
Thanks!

Hi @vincenttran-msft, here is the information you asked for. Please let me know if you require more information.
Here is an example of the variables and the file structure:
# variables
path = 'foo/bar'
container = 'test'
account_url = 'https://foo.blob.core.windows.net/'

# file structure
https://foo.blob.core.windows.net/
└── test (container)   <- generating SAS token on container works with async
    └── foo            <- generating SAS token on folder doesn't work with async
        └── bar

The ACL permissions in the container, the folder, and the file have all been left as default.
For generating the SAS token, I used the web interface in the Azure portal and generated one token for the container and one token for the folder.

Hi @simebg Emilian, thank for the extra context I really appreciate it!
In conclusion, we have discovered that there is a slight difference in the parsing of the parameters between sync and async clients, and we are currently working on a bugfix in order to alleviate this difference and make them both behave the same (and correctly).
In the meantime, from our testing and looking into your RequestID, I think the following should resolve your issues with failing async operations:

Ensure your path does not having leading (or extra) / characters
Ensure your container does not have any trailing (or extra) / characters
Check anywhere else in your user-provided input that there is not any extraneous / characters

Hopefully this will resolve your issue. However, if it does not, please don't hesitate to reply back to this thread, preferably with a RequestID (a recent one as the logs autoclear on a rolling basis) and we will do our best to resolve the issue.
Thanks!

@simebg Could you please let us know if you had a chance to follow the above action plan ? Awaiting your reply.

Thank you for looking into this @vincenttran-msft. You are correct about the extra /, I did use a leading / in the path. After removing it, both sync and async worked for me with the folder-specific SAS token.
$ python3 test.py
Trying synchronous API...
Read 3060 bytes.
Trying asynchronous API...
Read 3060 bytes.

Hello @navba-MSFT, I just tried @vincenttran-msft's suggestion, and removing any trailing and leading / from the variables fixed the issue with the async client.
Thank you both!

@simebg  Thanks for getting back. We will now proceed with closure of this github issue. If you need any further assistance on this issue in future, please feel free to reopen this thread. We would be happy to help.


Getting MODULE NOT FOUND even though the package is not part of the dependancy

Hi,
I have created a mocha project and included the spec file '.mocharc.json' and included the reporter '"@mochajs/json-file-reporter'.
My .mocharc.json looks like below
{
"spec": "test/**/test1.js",
"reporter": "@mochajs/json-file-reporter",
"reporter-option": [
"output=filename.json"
]
}
Scripts on the package.json as below
"scripts": {
"test": "mocha"
},
When i given npm test, it worked fine.
Then again, i ve created a new project and i didn't install/use any reference of '@mochajs/json-file-reporter' (not even have any .mocharc.json file) and specified the test directly on the scripts of the new project(package.json).
When i run this test from the new project, i am getting the Error MODULE NOT FOUND for @mochajs json-file-reporter
When i install this package, i am getting the error like 'Couldn't find any files matching pattern "test/**/test1.js"'.
I am not sure why my tests are not getting picked up from the current project and why this is always referring to the first one.
Has anyone come across this issue on Mocha?

@anandprasathm Please note, this is an issue tracker, not a help forum.
You will find lots of information in the net how to initialize a Node project and correctly install its dependencies.
We also have a gitter chanel where you can try to get support.
Thank you.


Teams Policy MS.TEAMS.3.1v1 requires clarification

🐛 Summary
The policy is not clear on how to treat global vs. custom policies.  Rego implementation only checks against global - not against and custom policies.
To reproduce
Steps to reproduce the behavior:

Select a custom meeting policy
Set "People dialing in can bypass the lobby" to "on"
Set "Who can bypass the lobby" to "Everyone"

Expected behavior
Expected policy to not be met.

@schrolla I assigned to you to add any clarifications.

Teams policies 3.xv1 are being rewritten to clarify this setting for global/custom policies.
The current (as-is) policies are written in a round about way: there are three policies that define the secure configuration. Then fourth and fifth policies are provided to define the scope. Think this is confusing and not consistent with other product policies. See below: sub-policies 3.1, 3.2, 3.3 define what is the config:
MS.TEAMS.3.1v1: Anonymous users, including dial-in users, SHOULD NOT be admitted automatically.
MS.TEAMS.3.2v1: Internal users SHOULD be admitted automatically.
MS.TEAMS.3.3v1: B2B guest users MAY be admitted automatically.
Then a separate 3.4 policy is defined to specify that above three should be at global; and 3.5 to specify the conditions for custom policies.
MS.TEAMS.3.4v1: MS.TEAMS.3.1.1, MS.TEAMS.3.2.1, and MS.TEAMS.3.3.1 SHOULD be applied in the Global (Org-wide default) meeting policy.
MS.TEAMS.3.5v1: Custom meeting policies MAY be created that allow more flexibility for specific users.
The modified (to-be) policy will look like this:
MS.TEAMS.3.1v1: Anonymous users, including dial-in users, SHOULD NOT be admitted automatically in the Global (Org-wide) policy.
MS.TEAMS.3.2v1: Internal users SHOULD be admitted automatically in the Global (Org-wide) policy.
MS.TEAMS.3.3v1: B2B guest users MAY be admitted automatically n the Global (Org-wide) policy.
Then conditions for the custom policy:
MS.TEAMS.3.4v1: Custom meeting policies MAY be created that allow more flexibility for specific users (with language that indicates this should not be the default global config).
Comment/discuss if the proposed change (being worked in a dev branch that is yet to be merged into emerald) is enough or we have to go beyond above clarification.

MS.TEAMS.3.xv1 has been updated through PR #462. Closing.


Wireframe doesn't appear on top of the original renderer in shaded mod

Here shaded mod is active and we can't see the wireframe.

When shaded mod isn't active we can see the wireframe normally.

@DHS5 any luck with the shader? I am having issues in making it work, nothing renders in unity after importing the package. Did you face the same issues?

I was using Unity 2021.3.6f1 for this project

Great Thanks!
On Tue, Jul 11, 2023 at 4:03 PM Thomas Dhaussy @.***>
wrote:

I was using Unity 2021.3.6f1 for this project
—
Reply to this email directly, view it on GitHub
https://github.com/miguel12345/UnityWireframeRenderer/issues/4#issuecomment-1630536262,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AL4VGBMIFKFZ74JMH6PNSQDXPUQF3ANCNFSM52OVCQ3Q
.
You are receiving this because you were mentioned.Message ID:
@.***>


chore: release 1.2.290

:robot: I have created a release *beep* *boop*
1.2.290 (2024-02-14)
Features

nelm: save plan graph on plan build error (c931364)

Bug Fixes

nelm: panic on replicas null (513700e)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/werf/werf/releases/tag/v1.2.290 :sunflower:


Mongo queries optimization when used to check if document exists

Using !Collection.find(id).count() instead of !Collection.findOne(id) when we only need to check if the document exists.
More information about that here :
https://blog.serverdensity.com/checking-if-a-document-exists-mongodb-slow-findone-vs-find/

Thanks @yanisIk! I didn't know that one

Awesome! :+1:

Are you actually allowed to do: Channels.find(itemId)? I thought you have to do { _id: itemId }.

Hmm, did this even work before? It was like that before the change.

@rclai When you don't specify a field, the selector uses the _id field by default.

Okay cool.

Wow, I did not know that! haha that's useful
2015-08-04 2:19 GMT+02:00 Richard Lai<EMAIL_ADDRESS>
Okay cool.
—
Reply to this email directly or view it on GitHub
https://github.com/SpaceTalk/SpaceTalk/pull/127#issuecomment-127439889.

--
Cheers,
// Tim Brandin @timbrandin https://twitter.com/#!/timbrandin
http://timbrandin.com
http://studiointeract.com


Add new skins

Add new skins: Duck, Evil Duck, Owl and Nyan

@visiongirles
Thank you for such impressive skins!
If you don't mind I'll create Aseprite sources from your sprites.
It's really convenient to work with Aseprite, especially with animations, highly recommend.
Also I've found some missing pixels. If you don't mind I would like to do some fixes and update your PR.

@inferst please feel free to make any modification including, but not limited, the ones you mentioned. Thank you!

@visiongirles successfully merged and deployed!


Namespacing transform to target language

It appears that a lot of transforms output some form of CSS.
However nothing in the transform names indicates that.
I was wondering whether we could namespace the transforms so it is a bit easier to understand what the output is going to be.

ts/typography/shorthand would become ts/typography/css/short
ts/type/weight would become ts/type/css/weight

That would open transforms target for other platforms like swift, compose, ...

I think for the typography shorthand, I agree, it seems specific to CSS/web, so I'd be okay with that change.
As for the fontweight, I think the 100-900 format is quite standardized and actually makes it easier for style-dictionary formats to format it properly to android/ios/etc. keynames. Therefore I'm a bit torn on that one, I don't see it as being CSS per say.


create set of tasks for hole project

Decompose the project and form a set of tasks by type: infrastructure, data preparation, modeling, deployment, etc.


update sidebar

Update sidebar
What does this PR do?

Resolve #213

Steps to test

make run lacchain
navigate to http://localhost:3000/entities

CheckList

[x] Follow proper Markdown format
[x] The content is adequate
[x] The content is available in both english and spanish
[x] I Ran a spell check

@xavier506 I did the change that you recommended in slack for the footer mention, it probably resolve #224


vimPlugins.fzf-checkout-vim: init at 2021-07-21

Motivation for this change
Add fzf-checkout plugin for managing git branches and tags with fzf.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[X] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 130973 at ad8885c0 run on x86_64-linux 1

3 packages built successfully:

spacevim
tests.vim.test_vim_with_vim_nix
vimPlugins.fzf-checkout-vim

2 suggestions:

warning: missing-phase-hooks
configurePhase should probably contain runHook preConfigure and runHook postConfigure.
Near pkgs/misc/vim-plugins/build-vim-plugin.nix:28:14:
   |
28 |       inherit unpackPhase configurePhase buildPhase addonInfo preInstall postInstall;
   |              ^

warning: missing-phase-hooks
buildPhase should probably contain runHook preBuild and runHook postBuild.
Near pkgs/misc/vim-plugins/build-vim-plugin.nix:28:14:
   |
28 |       inherit unpackPhase configurePhase buildPhase addonInfo preInstall postInstall;
   |              ^

@SuperSandro2000 I think it should work now.


Add GPS point converter

Make a node that converts A list of GPS coordinates to waypoints.
We are planning to simply take extra gps points at the comp to make sure Ohm has enough points to navigate.
Questions:

Should we just make this a program that converts the gps list to a waypoint list and just use WPP?

Related, can we get the intial gps point without using our gps?

Do we want this node to call waypoint follower itself?

If so, do we get the intial gps point from the real GPS?

I've tasked this to the new software members.
Under my current scheme, this will simply be a program that spits out a csv file of poses. We plan on scooping the code out and putting it into WPP afterwards.
Program Design:

Program will take a ini file (detailed below) passed via CLI arg
Parse file for all lat, long, heading triplets
Convert those gps points to be relitive to a chosen base point. Units will be in meters.
Take that list of relitive points and convert them to the ros pose format, and write them to a csv compatible with WPP. Order of waypoints must be preserved.
Program should have a modular design so that we can avoid using the csv logic and instead call inside WPP in the future.

File format
[start] # A single start point
42.319083,-83.232396,90
[waypoints] #n waypoints
42.319087,-83.232247,110
42.319048,-83.232337,270

We got the GPS working! Im going to go back to the original plan of creating a new waypoint publisher that reads gps points from a file and converts them to local points. This will work exactly like waypoint publisher does with IPP triggering a start.

GWP is now working outside of heading.


make builder uwu

(it'd be hot as fuck)

Already made one 🤪

send it to me uwu

@hecker12423 just compile it


How can I map tab to n spaces?

How can I map a tab to 4 spaces or 2 spaces?
The simple modification only allows to map tab to 1 space.
When I try the complex modification, I click on Add rule, I only choose pre-existing rules or import some from the web. There's no option to design your own rule. On the web link, I can't find a rule that does what I said before.

You can add your own complex modification by following this post.
https://github.com/tekezo/Karabiner-Elements/issues/1225#issuecomment-460170227
I don't know how to write the config file, though.


Synatx with cmap.New()

Hi, Could you explain the synatx when using cmap.New()? What does the square brackets do, I never see this synatx before and want to learn about it, Thanks!
m := cmap.New[string]()

Never mind, I just found that this package is using go-1.18 with genertics, but it seems that cmap.New() only has the synatx, without using it


Font size in Petition Paragraph 5

The font size here is awfully small:

Same issue in signature block:


(PDOC-35) Support types and providers

This is not ready yet, but I thought I'd put it up so people can take a look at it. I still need to:

[x] Handle generated property methods (mk_resource_method)
[x] Handle default values? Is this a requested feature? I see these often mentioned in the docs.
[x] Write tests.
[ ] Squash this nonsense into a reasonable number of commits.

I wrote three tests for the providers handler. What else should I test? @HAIL9000 Thoughts?
Also I spoke to Charlie about meta programming madness and am looking into adding a custom tag to yard.

@HAIL9000 this is ready for review. Would you like me to squash it before or after you review it?

@iankronquist Let's wait on squashing in case we need to make more changes. We'll definitely want this broken down into several commits when we squash, so let's wait until it's ready to go so we can organize those in a way that makes sense.

I talked with Nick. This isn't sufficient.
Here is a sketch of some of what we need:

[ ] Rename  provider to type
[ ] Type
[ ] List providers from within type (modify template and type logic)
[ ]  associate a provider with a type (create a provider handler and search registry for existing type)
[ ] type features
[ ] type features desc
[ ] type parameters
[ ] param namevar (4 ways of determining -- ick)
[ ] param desc
[ ] param default
[ ] param allowed values
[ ] prop desc
[ ] prop default
[ ] prop allowed values
[ ] Providers
[ ] prov desc
[ ] prov commands
[ ] prov confines
[ ] prov defaultfor
[ ] prov features

This needs a hell of a rebase but is ready for review.

@nfagerlund ping - are you happy with the changes?

Sorry for the delay. Yes, I'm happy with what we have! I'm not familiar enough with the code to review it, but the output Ian has shown me is a good first pass at types / providers docs. The foundation is solid enough that we can make further improvements incrementally. I'm :+1: to merge.

Thanks @nfagerlund @HAIL9000 @hlindberg for your feedback and suggestions.
This has now been rebased and is ready to go once Travis finishes.
@HAIL9000 Could you take a look at #47, the accompanying docs?

... and a debugging comment creeps in at the last minute.

@HAIL9000 Travis is green.

:+1:


Apollo-V3 mutation default cache policy

Summary
After migrating to apollo-v3, mutation with same request body are cached by default, which can lead to

A user cant send same msg multiple times.
If a server has return the error then the mutation response is cached and user will always face the same error until cache is cleared or expired.

val policy = request.headers.valueOf(CACHE_FETCH_POLICY_HEADER) ?: CACHE_FIRST
Here we are using default cache policy as CACHE_FIRST in CachingHttpInterceptor, is there any reason to fallback on CACHE_FIRST instead of NETWORK_ONLY
For now we have fixed this behaviour by manually setting cache policy on each mutation to NETWORK_ONLY
Version
3.0.0
Description
Execute mutation with same request body.

Yikes, thanks for the heads ups! Fix is there: https://github.com/apollographql/apollo-kotlin/pull/3873


[#5647] improvement(build): update the jar name to add gravitino prefix

What changes were proposed in this pull request?
As title
Why are the changes needed?
Fix: #5647
Does this PR introduce any user-facing change?
Makes users easy to know it is from Gravitino
How was this patch tested?
Execute Gradle command ./gradlew publishToMavenLocal -x test then check in Maven local path.

I also encountered this network error on other pull requests. Is there a way to improve this?
> Task :clients:client-python:downloadHadoopPack FAILED
* What went wrong:
Execution failed for task ':clients:client-python:downloadHadoopPack'.
> A failure occurred while executing de.undercouch.gradle.tasks.download.internal.DefaultWorkerExecutorHelper$DefaultWorkAction
   > java.net.SocketException: Network is unreachable

It seems to be a network issue in the CI environment.

It is occasional, maybe you can configuration that gradle plugin to increase the timeout or add retry times (but it depends on if that plugin has such configurations).

I've discovered that the artifactId is the jarName without the version.
(Reference: Maven Naming Conventions).
Additionally, the artifactId defaults to project.name.
(Reference: Gradle Documentation for MavenPublication).
Therefore, setting the artifactId only once in the root build.gradle.kts should resolve the issue.

For some modules like spark, flink, we already added "gravitino-" as the project name, can you please check if your change will add the prefix again, also please align these modules with other modules.

After looking into it, I found that the artifactId set in the root project doesn’t apply if the child build.gradle.kts files have their own artifactId settings.
Moreover, it also looks like they need to do some custom work to get their naming conventions right.
For example
val scalaVersion: String = project.properties["scalaVersion"] as? String ?: extra["defaultScalaVersion"].toString()
val sparkVersion: String = libs.versions.spark33.get()
val sparkMajorVersion: String = sparkVersion.substringBeforeLast(".")
val baseName = "${rootProject.name}-spark-connector-runtime-${sparkMajorVersion}_$scalaVersion"

I tested locally, LGTM, @orenccl do you have anything else needs to be addressed?

Hi, @jerryshao
I believe this is good to go, but happy to address any further comments.

@tengqm do you want to take another look?

Good to learn this convention.
LGTM

@tengqm do you want to take another look?

Good to learn this convention. LGTM

p.s. I raised the question because I was checking the use case here. It is not about converting a general text message which are supposed to be localized. My understanding was that JAR names are always ASCII printable characters and we don't need (want to) over-engineer this to consider file names with "イ" or "い".

I see. Yes, it depends. But some static check tools like error-prone, or IDEA itself may complain about this if the Locale is not set. So typically, we will add the Locale to the methods like this.

Hi @tengqm I'm going to merge this if there's no further comment.


Include checks in Makefile

This PR should fix #43
It happened already twice to me that I unintentionally cleaned up my local workspace with make multiversion :see_no_evil:

@mergifyio backport humble


Add new mode

Hi,
Thank you for very nice library. I'm really excited to use it in my project.
Do you consider adding FILL as a third mode? I think it could be very useful
Thank,
Pavlo

Hi Pavlo, thanks for the suggestion! How exactly do you imagine the fill mode to work? Would it be like draw a path > path gets closed and filled or more like the Photoshop paint bucket tool?
Because the latter might be a bit too complex, as the lib would have to keep track of all the paths that exist on the canvas. Alternatively, it could perform some kind of a recursive algorithm to fill all the pixels that are the same colour in the clicked area, but that would also be quite computationally expensive. Definitely worth a try though!

Thank you for reply. I was having in mind something more like Piant bucket fill works.
Your idea with rec algo which fills pixels sounds more reasonable to me. Let me try to implement it and in case of successful result I will open PR

cool, thanks a lot! It'll be interesting to see how it performs. This would be a great feature, as then people could make colouring books and stuff!

This is fixed in #4 and available on master until v0.2.0 release. Closing now.


It is not possible to optimistically use MSI from this SDK

This is related to #541 but I think warrants it's own issue.

Calling msiConfig.Authorizer() doesn't ensure you have a functioning authorizer, so you can't rely on err=nil to trust you have a good client. This seems like a general API issue across all auth methods.

One might then write extra code to call msiConfig.ServicePrincipalToken() first, ahead of time, to make sure MSI is working, then getting the Authorizer() afterward. (Or, if the call to SPT fails, go ahead and fall straight through to the trying the CLI authentication).

First Issue: This API doesn't make a lot of sense. I waste an entire network call on a refresh token operation that ends up getting thrown away, just to see if the Authorizer is valid.
Second (more pressing) Issue: This doesn't even work! The current MSI refresh token behavior means that this will block application startup for 5 minutes while it's retried, until it gives up, if you execute this code outside of Azure.
For me to get Sops to support Azure as seamlessly as GCP, I need:

at least a IsMSIAvailable() that returns a true/false quickly so I can re-implement a full, working GetAuthorizer that tries MSI and then moves-on to CLI
much more preferably, #541 is addressed by:

fixing the Authorizer() interface and implementations to ensure they return valid token sources
MSI's RefreshToken doesn't hang for 5 minutes outside Azure
GetAuthorizer tries conventional auth mechanisms based on the environment, as it does currently, then falls to MSI and then falls to CLI. Then everyone can just use this function everywhere and be done with this.

This blocks: https://github.com/mozilla/sops/pull/710

Agreed that the Authorizer() pattern here stinks.  Unfortunately it would be a pretty build overhaul to fix this in a non-breaking way.  FWIW this is much better in our track 2 azidentity package.
I think the best we can do here is fail early, avoiding retries in the case where MSI authentication isn't available.  I can also make a MSIAvailable() func in the adal package available if you want to build on top of that.

Makes sense. I'm definitely intrigued about azidentity!

I think the best we can do here is fail early, avoiding retries in the case where MSI authentication isn't available. I can also make a MSIAvailable() func in the adal package available if you want to build on top of that.

Either would be great. If the former is available, I will probably just always call it. Even with that though, I can imagine the latter being useful as well if someone wanted to "warn" that MSI was available but needed to be opt-ed into, for example.
Thanks @jhendrixMSFT.

This is fixed in autorest/adal/v0.9.2


Platform: correct link dependency for WinSDK.User

Add the User32 link dependency for uses of the User module.

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

@swift-ci please smoke test

CC: @egorzhdan

@swift-ci please smoke test macOS platform

@swift-ci please test Linux platform


Replace jax.test_util.parameterized.named_parameters with absl.testing.parameterized in empirical tests

As titled. Also need to replace jax.test_util.cases_from_list

Solved in https://github.com/DarrenZhang01/Neural_Tangents_TensorFlow/commit/e9d19ce06b97b7266015d23effeb20f1508ef545 and https://github.com/DarrenZhang01/Neural_Tangents_TensorFlow/commit/b8f180525de2ee9b00b43e44f5d7d38df12867d5


Remove completely overview component

Fixes #1058

@AtanasKrondev @kenodressel whats the state of this?

@AtanasKrondev @kenodressel whats the state of this?

I propose merging


Prevent occasional divide by zero in metrics_manager

Change usage of is not 0 to != 0 so that when ts_diff_sec is a float, division by zero does not occur, this fixes #4.
Signed-off-by: Liam Clarke-Hutchinson<EMAIL_ADDRESS>

Would it be possible for a build with this fix to be uploaded to pypi?

The version is not bumped up in setup.py, so release didn't happened for the latest fix.
FYI, releases are immutable in the build, so with every change, version is also needed to be bumped up. I will take it on my action item to either do version updates with each PR merge or add a check in build.
Can you please raise the PR with bumped up version?

I have bumped up the version manually this time to v0.4.2


Coverlet crashes VSTest

I'm getting errors when I'm trying to use the vstest integration to coverlet.
This is with the 2.2.300 SDK.
 PS> dotnet test --no-build --no-restore --settings ..\CodeCoverage.runsettings --collect:"XPlat Code Coverage"  -- RunConfiguration.DisableAppDomain=true
Test run for D:\dev\xUnit\visualstudio.xunit\test\test.xunit.runner.visualstudio\bin\Debug\net46\test.xunit.runner.visualstudio.dll(.NETFramework,Version=v4.6)
Microsoft (R) Test Execution Command Line Tool Version 16.1.1
Copyright (c) Microsoft Corporation.  All rights reserved.

Starting test execution, please wait...

Attachments:
  D:\dev\xUnit\visualstudio.xunit\test\test.xunit.runner.visualstudio\TestResults\730034da-8dc8-4a52-9bdf-db094514cf10\coverage.cobertura.xml
  D:\dev\xUnit\visualstudio.xunit\test\test.xunit.runner.visualstudio\TestResults\730034da-8dc8-4a52-9bdf-db094514cf10\Oren_ATHENA_2019-06-25.16_25_17.coverage

Test Run Aborted.

To repro:

clone https://github.com/xunit/visualstudio.xunit
checkout the coverlet branch
from a VS Command prompt, go to the /test/test.xunit.runner.visualstudio directory
run msbuild /restore to build the test project (and the project it's testing). You'll need the Windows/UWP 16299 SDK installed to successfully build it.
From the same directory, run the following command dotnet test --no-build --no-restore --settings ..\CodeCoverage.runsettings --collect:"XPlat Code Coverage"  -- RunConfiguration.DisableAppDomain=true

It'll start running the tests and then abort.

I cannot repro I get a different issue seem I don't find collector(in other netcoreapp projects it works) but I also get tests abort.
 dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   2.2.300
 Commit:    73efd5bd87

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.17763
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\2.2.300\
...
C:\git\visualstudio.xunit\test\test.xunit.runner.visualstudio (coverlet -> origin)
λ dotnet test --no-build --no-restore --settings ..\CodeCoverage.runsettings --collect:"XPlat Code Coverage" -- RunConfiguration.DisableAppDomain=true
Test run for C:\git\visualstudio.xunit\test\test.xunit.runner.visualstudio\bin\Debug\net46\test.xunit.runner.visualstudio.dll(.NETFramework,Version=v4.6)
Microsoft (R) Test Execution Command Line Tool Version 16.1.0
Copyright (c) Microsoft Corporation.  All rights reserved.

Starting test execution, please wait...
Data collection : Could not find data collector 'XPlat code coverage'

Attachments:
  C:\git\visualstudio.xunit\test\test.xunit.runner.visualstudio\TestResults\9e99c4dc-e9c6-4329-a592-749a262b5d6c\Marco_WS-3_2019-06-26.11_47_45.coverage

Test Run Aborted.

Btw it's strange I mean I it cannot find collector should ignore coverage and go on with test...so that output seem maybe unrelated to coverlet
@vagisha-nidhi do you have any idea?

@MarcoRossignoli We set the collector path in coverlet.collector.targets which is in the build folder inside the nuget. Is it possible that since you are setting --no-build, this path is not set and hence collector is not discovered?

Mmm the same without --no-build
C:\git\visualstudio.xunit\test\test.xunit.runner.visualstudio (coverlet -> origin)
λ dotnet test --settings ..\CodeCoverage.runsettings --collect:"XPlat Code Coverage" -- RunConfiguration.DisableAppDomain=true
Test run for C:\git\visualstudio.xunit\test\test.xunit.runner.visualstudio\bin\Debug\net46\test.xunit.runner.visualstudio.dll(.NETFramework,Version=v4.6)
Microsoft (R) Test Execution Command Line Tool Version 16.1.0
Copyright (c) Microsoft Corporation.  All rights reserved.

Starting test execution, please wait...
Data collection : Could not find data collector 'XPlat code coverage'

Attachments:
  C:\git\visualstudio.xunit\test\test.xunit.runner.visualstudio\TestResults\9ab7249b-2bd7-4906-9ae8-9a5645510777\Marco_WS-3_2019-06-26.12_55_32.coverage

Test Run Aborted.

@MarcoRossignoli This seems like .NETFramework dll
C:\git\visualstudio.xunit\test\test.xunit.runner.visualstudio\bin\Debug\net46\test.xunit.runner.visualstudio.dll(.NETFramework,Version=v4.6)

Yes is a netfx lib...xplat collector doesn't support full .net right?
Is this the issue?

@MarcoRossignoli Yes. At present collector only supports .net core

@MarcoRossignoli Yes. At present collector only supports .net core

cc: @onovotny

@vagisha-nidhi can you confirm that the issue is the same for issue text https://github.com/tonerdo/coverlet/issues/475#issue-460627092?

I'm a bit confused since I was able to get the collector to work with .NET Framework with Ix Async:
https://dev.azure.com/dotnet/Rx.NET/_build/results?buildId=18615&view=logs&jobId=12f1170f-54f2-53f3-20dd-22fc7dff55f9&taskId=63465373-886e-5c09-88f2-acc826db3ddc&lineStart=59

@MarcoRossignoli @onovotny I'll try to repro the issue and get back.

thank's a lot @vagisha-nidhi!

@onovotny
So I have looked at this. In your runsettings you define both data collectors "CodeCoverage" and "Xplat Code coverage"
I tried both, and both of them are aborting the run. I don't have an RCA on the CodeCoverage one but for xplat code coverage, here's my analysis.
In test.xunit.runner.visualstudio, there's a condition
  <ItemGroup Condition=" '$(TargetFramework)' == 'net46' ">
    <PackageReference Include="Microsoft.TestPlatform.ObjectModel" Version="16.9.0" />
  </ItemGroup>

This is causing it to refer to old objectmodel which does not work with coverlet.
Getting this error when I looked at logs using --diag option
Microsoft.VisualStudio.TestPlatform.ObjectModel.DataCollection.SessionStartEventArgs..ctor(System.Collections.Generic.IDictionary`2<System.String,System.Object>)'.
   at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.EventHandlers.TestCaseEventsHandler.SendSessionStart(IDictionary`2 properties)
   at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution.RunTestsWithSources.SendSessionStart()
   at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution.BaseRunTests.RunTests().

Can you try with updating the object model and disabling data collector for CodeCoverage and see if xplat code coverage works?
cc: @MarcoRossignoli

I'm not sure if I can use a later object model? As this is a VS adapter for xunit, it has to run in both VS 2017 and VS 2019.

@onovotny The objectmodel should be back compat. You can give this a try. Coverlet integration has a dependency on the newer versions.

Okay, yes, that was the cause. Just wish that vstest output a stacktrace instead of an unhelpful crash :)

Thank's for your time @vagisha-nidhi!


Support field projection in any #[repr(transparent)] wrapper type

Overview
Support field projection inside of #[repr(transparent)] wrapper types defined in zerocopy and in the standard library.
Motivation
There are a number of wrapper types - both in zerocopy and in the standard library - whose length and field positions are identical to those of a single, wrapped type, but which modify other aspects of the memory of that type in some way. Examples include:

Standard library

MaybeUninit<T> - layout is identical to T, but any sequence of bytes (including uninitialized bytes) are a valid instance
UnsafeCell<T> - layout and bit validity are identical to T, but permits aliased mutation through a shared reference (&)
Cell<T> - like UnsafeCell<T>, but limits the allowed mutations to those that can be guaranteed to be sound

Zerocopy

Unalign<T> - identical to T, except with alignment 1
ByteArray<T> - identical to T, except with alignment 1 and any sequence of bytes (not including uninitialized bytes) are a valid instance

TODO: Why is field projection in these wrapper types needed?
API
User
A user who wishes to perform field projection does so using the project! macro, which can be invoked in a number of ways:
// In these examples, `C<T>` is the container type, and `F` is the field type.

// Supports immutable and mutable references.
let _: &C<F> = project!(&c.f);
let _: &mut C<F> = project!(&mut c.f);

// Supports arbitrary expressions to generate the container reference.
let ident = |x| x;
let _: &C<F> = project!(&(ident(&c)).f);

// Supports chained field accesses.
let _: &C<G> = project!(&c.f.g);

// Supports indexing operations for elements and slices (bounds-checked at runtime).
let _: &C<H> = project!(&c.f.g[0]);
let _: &C<[H]> = project!(&c.f.g[1..3]);

Container author
Container authors implement the Projectable trait:
use core::mem::MaybeUninit;

// If `MaybeUninit` supported unsized types, we could add `?Sized` bounds to `T` and `F`.
unsafe impl<T, F> Projectable<F, MaybeUninit<F>> for MaybeUninit<T> {
    type Inner = T;
}

Design
The core of the design is captured in this code snippet, which is explained below:
/// A container which supports field projection of its contained type.
///
/// `F` is the type of a field which can be projected into, and `W` is the wrapped version
/// of that type; when projecting into a field of type `F`, the resulting value will be of type `W`,
/// which is presumed to be equal to the container type instantiated with `F`.
pub unsafe trait Projectable<F: ?Sized, W: ?Sized> {
    /// The inner type.
    type Inner: ?Sized;
}

/// Performs field projection on `outer`, projecting into the field of type `F`
/// at the address provided by `inner_to_field`.
#[doc(hidden)]
#[inline(always)]
pub unsafe fn project<P, F, W, OuterToInner, InnerToField, FieldToWrappedField>(
    outer: &P,
    outer_to_inner: OuterToInner,
    inner_to_field: InnerToField,
    field_to_wrapped_field: FieldToWrappedField,
) -> &W
where
    P: Projectable<F, W> + ?Sized,
    F: ?Sized,
    W: ?Sized,
    OuterToInner: Fn(*const P) -> *const P::Inner,
    InnerToField: Fn(*const P::Inner) -> *const F,
    FieldToWrappedField: Fn(*const F) -> *const W,
{
    let outer: *const P = outer;
    let inner = outer_to_inner(outer);
    let field = inner_to_field(inner);
    let wrapped_field = field_to_wrapped_field(field);
    unsafe { &*wrapped_field }
}

/// Performs field projection on `outer`, projecting into the field of type `F`
/// at the address provided by `inner_to_field`.
#[doc(hidden)]
#[inline(always)]
pub unsafe fn project_mut<P, F, W, OuterToInner, InnerToField, FieldToWrappedField>(
    outer: &mut P,
    outer_to_inner: OuterToInner,
    inner_to_field: InnerToField,
    field_to_wrapped_field: FieldToWrappedField,
) -> &mut W
where
    P: Projectable<F, W> + ?Sized,
    F: ?Sized,
    W: ?Sized,
    OuterToInner: Fn(*mut P) -> *mut P::Inner,
    InnerToField: Fn(*mut P::Inner) -> *mut F,
    FieldToWrappedField: Fn(*mut F) -> *mut W,
{
    let outer: *mut P = outer;
    let inner = outer_to_inner(outer);
    let field = inner_to_field(inner);
    let wrapped_field = field_to_wrapped_field(field);
    unsafe { &mut *wrapped_field }
}

/// Performs field projection.
///
/// Given a wrapper, `w: W<T>`, and a field type in `T`, `f: F`,
/// `project!(&w.f)` returns a reference to a `W<F>`. Any "place expression"
/// on `w` is supported (`w.a.b.c`, `w[0]`, `w[3..5]`, etc). Mutable references
/// are also supported.
#[macro_export]
macro_rules! project {
    // Note that it's very important that the `mut` branches comes first! If it
    // came after the immutable branches, then a `mut` token could be matched by
    // `$c:ident` in those branches.
    (&mut $c:ident $($f:tt)*) => {
        $crate::project!(&mut ($c) $($f)*)
    };
    (&mut ($c:expr) $($f:tt)*) => {
        $crate::project!(
            @inner
            BorrowMut,
            borrow_mut,
            project_mut,
            *mut _,
            addr_of_mut,
            $c,
            $($f)*
        )
    };

    (&$c:ident $($f:tt)*) => {
        $crate::project!(&($c) $($f)*)
    };
    (&($c:expr) $($f:tt)*) => {
        $crate::project!(
            @inner
            Borrow,
            borrow,
            project,
            *const _,
            addr_of,
            $c,
            $($f)*
        )
    };

    (
        @inner
        $borrow_trait:ident,
        $borrow_method:ident,
        $project_fn:ident,
        $ptr_ty:ty,
        $addr_of:ident,
        $c:expr,
        $($f:tt)*
    ) => {{
        use ::core::borrow::$borrow_trait as _;
        unsafe {
            $crate::$project_fn(
                $c.$borrow_method(),
                |outer| outer as $ptr_ty,
                |inner| ::core::ptr::$addr_of!((*inner) $($f)*),
                |field| field as $ptr_ty,
            )
        }
    }};
}

In order to explain this design, consider the following hypothetical wrapper type:
#[repr(transparent)]
struct Wrapper<T: ?Sized>(T);

unsafe impl<T: ?Sized, F: ?Sized> Projectable<F, Wrapper<F>> for Wrapper<T> {
    type Inner = T;
}

Projectable and projection validity
Projectable can only be implemented by types for which projection is valid. In particular, it must be the case that, if a memory region contains a Wrapper<T>, and T contains a field of type F at a particular offset, it is valid to treat the bytes at the field offset as a Wrapper<F> instead of an F. Roughly speaking, this means that Wrapper must be #[repr(transparent)] or some equivalent repr (like #[repr(C, packed)]). Examples of types which do not support projection are:

PantomData<T> - a zero-sized type regardless of T; any byte offset other than 0 is out-of-bounds (see "Open Questions and Alternatives" for a caveat)
#[repr(C)] struct Foo<T> { t: T, u: u8 } - performing field projection would cause the trailing u field to overlap with other parts of T

Thankfully, all of the wrapper types this design is aimed at support projection.
Field offset computation
One of the core challenges of supporting field projection is to calculate the field's offset. For example, consider projecting &Wrapper<(u8, u16)> into &Wrapper<u16>. Given the byte offset of the u16 field within the (u8, u16) type, field projection is trivial - perform the appropriate pointer offset math, and then materialize a &Wrapper<u16> at the computed memory address. So how do we determine the field offset?
The standard library provides the addr_of! macro for this purpose. It operates on a "place" expression such as:
let tuple: *const (u8, u16) = ...;
let elem: *const u16 = addr_of!(tuple.1);

Thus, given a &Wrapper<(u8, u16)>, we can convert it to a *const (u8, u16) and then use addr_of! to compute the address at which we should materialize our &Wrapper<u16>.
The role of the inner_to_field argument to the project and project_mut functions is to encapsulate a call to addr_of! or addr_of_mut!. These calls themselves cannot happen inside of project or project_mut because the field access operation must operate on a concrete type, and all types are generic inside of project/project_mut. The inner_to_field argument allows the addr_of!/addr_of_mut! call to be synthesized inside of the project! macro, where the types are concrete.
Miscellaneous
A few other aspects of this design are worth calling out:

The project and project_mut functions aren't strictly necessary - all of their logic could be inlined inside of project!. However, in a macro context, there's no way to name the concrete types being operated on, and similarly no way to name bounds on those types. There are ways to hack around these limitations to generate code that will only compile in the right circumstances, but it's unwieldy and error-prone. The project and project_mut functions provide a place to encode these types and bounds so that the project! macro can be simpler.
It would be reasonable to assume that the Projectable::Inner type is unnecessary - if the Projectable type is #[repr(transparent)], then it doesn't matter whether the field offset is calculated from a pointer of type Self or of type Self::Inner. However, the call to addr_of! must happen in a context in which the inner type is known and concrete, which in turn requires that the inner_to_field argument to project/project_mut takes a P::Inner pointer as its argument. The only way to avoid this would be to get rid of project/project_mut entirely, and instead put all logic inside of project!, which is undesirable for the reasons discussed above.

Performance
Testing on Godbolt confirms that generated code is well-optimized (-C opt-level=3):
pub fn project_maybe_uninit_tuple(m: &MaybeUninit<(u8, u16)>) -> &MaybeUninit<u16> {
    project!(&m.1)
}

example::project_maybe_uninit_tuple:
        lea     rax, [rdi + 2]
        ret

Open Questions and Alternatives

Could we support mutable projection into multiple non-overlapping fields at once? Rust lets you do this natively because it can reason about fields not overlapping, but our current design doesn't allow it.
Could we implement Projectable for Cell or UnsafeCell? It looks like it's currently up in the air whether it'd be sound:

https://github.com/rust-lang/unsafe-code-guidelines/issues/451#issuecomment-1676810757
https://github.com/rust-lang/rust/issues/80778

How does this interact with enums/unions?
Can PhantomData<T> be Projectable? Since PhantomData is a ZST, maybe it's fine to materialize references to it which are technically out-of-bounds?
Credit to @SkiFire13 for pointing out that the current design allows users of project! to sneak unsafe code in without needing to write an unsafe block. I took a quick stab at fixing this by assigning $project_fn arguments to variables outside of the nested unsafe block, but that caused type inference to fail, and I wasn't able to easily fix it. This will need to be resolved before finalizing the design of course.

        unsafe {
            $crate::$project_fn(
                $c.$borrow_method(),
                |outer| outer as $ptr_ty,
                |inner| ::core::ptr::$addr_of!((*inner) $($f)*),
                |field| field as $ptr_ty,
            )
        }

Note that this allowes c and $($f)* to do unsafe operations without actually using the unsafe keyword (because it's hidden in your macro)

Good catch, thanks for that, @SkiFire13 ! Took a quick stab at fixing it and ran into inference issues (specifically when assigning |inner| ... to a variable before the unsafe block), but I've added this to the design doc; we'll obviously need to fix that before the design is finalized.

Took a quick stab at fixing it and ran into inference issues (specifically when assigning |inner| ... to a variable before the unsafe block)

A couple of ideas for this:

you could use those expressions somewhere else, where they are never executed, but outside of an unsafe block so the compiler still checks them. For example inside an if false { ...; unreachable!() } block.

you could try making an identity function that just specifies the bounds on the closure, helping type inference. Something like:
fn help_outer_to_inner_inference<P, OuterToInner>(f: OuterToInner) -> OuterToInner
where
    P: Projectable + ?Sized,
    OuterToInner: FnOnce(*const P) -> *const P::Inner
{
    f
}

and likewise for the other closures.

another approach could be moving the required use of unsafe somewhere else, for example by making the function safe, but having it take something like an UnsafeToken, which can only be created by using unsafe. This way it's as if the function is unsafe, but you're not required to wrap the whole call expression, including the parameters, in it.

Found unsoundness in the way we're using addr_of!: https://users.rust-lang.org/t/how-to-use-addr-of-to-create-an-unaligned-pointer/98524

another approach could be moving the required use of unsafe somewhere else, for example by making the function safe, but having it take something like an UnsafeToken, which can only be created by using unsafe. This way it's as if the function is unsafe, but you're not required to wrap the whole call expression, including the parameters, in it.

Ended up taking this approach, thanks for the suggestion, @SkiFire13!

Another challenge we've just run into: The code as it's currently designed allows for an arbitrary sequence of field accesses, index operations, and slice operations. However, if a field is a reference type, this has the consequence of indirecting through the reference. This breaks the soundness of the project! macro. Consider, for example, MaybeUninit<&'static u8>. It would not be sound to field project this into &'static MaybeUninit<u8> - the original reference might be uninitialized!
We need to figure out a way to reject any projection through references.


Please update the facebook icons in accordance with the official facebook brand guidelines

Hello. Following this: https://www.facebookbrand.com/ , facebook describes how the "f" logo should be used, and the current facebook icons (ion-social-facebook, ion-social-facebook-outline) do not follow the guidelines. Please update them with a box around the "f". Thank you.

Agree.  Can you at least add this as an option?

Set this file in your project: logo_facebook.svg.zip
And use for example:
<ion-icon src="path/to/logo_facebook.svg"></ion-icon>

Thanks.

Thank you @rdlabo
But I still think that the ionicons should see to this :)

Thank you for the report. Looking at their most recent guidelines here and here, I don't see any reference to a box around the logo anymore. Since our icon is currently up to date with the brand standards, I'm going to close this out, but please let me know if you have any questions or if I missed the guidelines you were referring to.


Loading dialog

When opening a style from the network, for example clicking one of the 'Gallery Styles'. If you're on a slow network nothing will happen for a period of time while the request/response completes. This isn't a very good user experience. Also if you close the model once the request completes it will currently still load the style.
Suggested solution: When you open a style from the network open a blocking modal that says, something like

Loading style: [URL].json

With a single button cancel

Almost complete on branch https://github.com/maputnik/editor/compare/master...orangemug:feature/loading-modal.
Just requires a tidy of the styling.


NoMethodError in appointments#update

Error in odontome-prod
NoMethodError in appointments#update
undefined method `update_attributes' for nil:NilClass
View on Bugsnag
Stacktrace
app/controllers/appointments_controller.rb:91 - block in update
app/controllers/appointments_controller.rb:90 - update

View full stacktrace
Created automatically via Bugsnag

debugging shows this appointment doesn't actually exist, the update action should rescue from 404 errors


OSError: stabilityai/stable-diffusion-2-1 does not appear to have a file named config.json.

Hello!When I ran extract_dift.py following the readme,I came across this problem.Would you mind help me slove this?
Thanks

Seems to be a issue of package version. Could you please try setting up the environment using conda env create -f environment.yml and see how it goes? This should be able to produce the same python environment as when we release the code.
This issue thread might also be helpful.

Seems to be a issue of package version. Could you please try setting up the environment using conda env create -f environment.yml and see how it goes? This should be able to produce the same python environment as when we release the code.
This issue thread might also be helpful.

Thanks for your reply!
I found that i met this problem  because i did not log in my huggingface account in my terminal.Now I have solved it.


[Bug]: Wrong id is selected when dealing with x86/x64 app on the same computer

The problem
Hi,
We're currently have an issue to update package that exist on the same computer as x86 and x64 version.
We have "Microsoft Visual C++ 2015-2022 Redistributable" installed and while the version x64 is detected as needing to be updated, the update command line select the version x86 to do the update which ultimately led us to an infinite loop.
Have you seen that behavior before? do you know how to solve that issue?
Thank you for your help,
Best,
What version of WAU has the issue?
1.17.6-2
What version of Windows are you using (ex. Windows 11 22H2)?
Windows 10H22
What version of winget are you using?
v1.6.2771
Log information
00:05:37 - No new update.
00:05:41 - User context execution not installed...
00:05:42 - End of process!

##################################################
#     CHECK FOR APP UPDATES - 10/9/2023
##################################################
01:02:16 - Running in System context
01:02:17 - Notification Level: Full. Notification Language: English
01:02:17 - Checking internet connection...
01:02:17 - Connected !
01:02:22 - Winget Version: v1.6.2771
01:02:22 - WAU current version: 1.17.6-2
01:02:22 - WAU AutoUpdate is Disabled.
01:02:22 - WAU uses External Lists from: C:\ProgramData\Winget-AutoUpdate-Configurator
01:02:22 - Newer List downloaded/copied to local path: C:\ProgramData\Winget-AutoUpdate
01:02:22 - WAU uses External Mods from: C:\ProgramData\Winget-AutoUpdate-Configurator\mods
01:02:22 - Mods are up to date.
01:02:22 - WAU uses Black List config
01:02:23 - Checking application updates on Winget Repository...
-> Available update : Microsoft Visual C++ 2015-2022 Redistributable (x64) - 14.36.…. Current version : 14.36.32532.0. Available version : 14.38.32919.0.
01:02:26 - Updating Microsoft Visual C++ 2015-2022 Redistributable (x64) - 14.36.… from 14.36.32532.0 to 14.38.32919.0...
01:02:35 - ##########   WINGET UPGRADE PROCESS STARTS FOR APPLICATION ID 'Microsoft.VCRedist.2015+.x86'   ##########
01:02:35 - -> Running: Winget upgrade --id Microsoft.VCRedist.2015+.x86 --accept-package-agreements --accept-source-agreements -h

   -
   \
   |
   /
   -

  ███▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  1024 KB / 8.07 MB
  ███████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  2.00 MB / 8.07 MB
  ███████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  3.00 MB / 8.07 MB
  ██████████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  4.00 MB / 8.07 MB
  ██████████████████▒▒▒▒▒▒▒▒▒▒▒▒  5.00 MB / 8.07 MB
  ██████████████████████▒▒▒▒▒▒▒▒  6.00 MB / 8.07 MB
  █████████████████████████▒▒▒▒▒  7.00 MB / 8.07 MB
  █████████████████████████████▒  8.00 MB / 8.07 MB
  ██████████████████████████████  8.07 MB / 8.07 MB

   -

No available upgrade found.
No newer package versions are available from the configured sources.
01:02:47 - ##########   WINGET UPGRADE PROCESS FINISHED FOR APPLICATION ID 'Microsoft.VCRedist.2015+.x86'   ##########
01:02:47 - Microsoft Visual C++ 2015-2022 Redistributable (x64) - 14.36.… updated to 14.38.32919.0 !
01:02:51 - 1 apps updated ! No more update.
01:02:53 - User context execution not installed...
01:02:53 - End of process!

Additional information
No response

Do you have same problem with latest WAU version?

Hi @Romanitho ,
I'm using the Winget-AutoUpdate-Intune fork through Intune and they not yet updated to the latest version. i will do some standalone test and let you know, thank you.

thanks ;)

Hi @Romanitho,
I did the test with the latest stable version (1.17.8) and I got the same issue aswell :
##################################################
CHECK FOR APP UPDATES - 10/16/2023
##################################################
06:26:53 - Running in System context
06:26:54 - Notification Level: SuccessOnly. Notification Language: English
06:26:55 - Checking internet connection...
06:26:57 - Connected !
06:27:03 - Winget Version: v1.6.2771
06:27:03 - WAU current version: 1.17.8
06:27:03 - WAU AutoUpdate is Disabled.
06:27:04 - WAU uses External Lists from: C:\ProgramData\Winget-AutoUpdate-Configurator
06:27:05 - Newer List downloaded/copied to local path: C:\ProgramData\Winget-AutoUpdate
06:27:06 - WAU uses External Mods from: C:\ProgramData\Winget-AutoUpdate-Configurator\mods
06:27:07 - Mods are up to date.
06:27:07 - 2 Mods deleted (not externally managed) from local path: C:\ProgramData\Winget-AutoUpdate\mods
06:27:07 - WAU uses Black List config
06:27:15 - Checking application updates on Winget Repository...
-> Available update : Microsoft Visual C++ 2015-2022 Redistributable (x64) - 14.36.. Current version : 14.36.32532.0. Available version : 14.38.32919.0.
06:27:52 - Updating Microsoft Visual C++ 2015-2022 Redistributable (x64) - 14.36. from 14.36.32532.0 to 14.38.32919.0...
06:27:52 - ##########   WINGET UPGRADE PROCESS STARTS FOR APPLICATION ID 'Microsoft.VCRedist.2015+.x86'   ##########
06:27:52 - -> Running: Winget upgrade --id Microsoft.VCRedist.2015+.x86 --accept-package-agreements --accept-source-agreements -h
Thank you.

Hi @Romanitho,
I did the test with the latest stable version (1.17.8) and i had the same issue, the logs below:
##################################################
CHECK FOR APP UPDATES - 10/16/2023
##################################################
06:26:53 - Running in System context
06:26:54 - Notification Level: SuccessOnly. Notification Language: English
06:26:55 - Checking internet connection...
06:26:57 - Connected !
06:27:03 - Winget Version: v1.6.2771
06:27:03 - WAU current version: 1.17.8
06:27:03 - WAU AutoUpdate is Disabled.
06:27:04 - WAU uses External Lists from: C:\ProgramData\Winget-AutoUpdate-Configurator
06:27:05 - Newer List downloaded/copied to local path: C:\ProgramData\Winget-AutoUpdate
06:27:06 - WAU uses External Mods from: C:\ProgramData\Winget-AutoUpdate-Configurator\mods
06:27:07 - Mods are up to date.
06:27:07 - 2 Mods deleted (not externally managed) from local path: C:\ProgramData\Winget-AutoUpdate\mods
06:27:07 - WAU uses Black List config
06:27:15 - Checking application updates on Winget Repository...
-> Available update : Microsoft Visual C++ 2015-2022 Redistributable (x64) - 14.36.. Current version : 14.36.32532.0. Available version : 14.38.32919.0.
06:27:52 - Updating Microsoft Visual C++ 2015-2022 Redistributable (x64) - 14.36. from 14.36.32532.0 to 14.38.32919.0...
06:27:52 - ##########   WINGET UPGRADE PROCESS STARTS FOR APPLICATION ID 'Microsoft.VCRedist.2015+.x86'   ##########
06:27:52 - -> Running: Winget upgrade --id Microsoft.VCRedist.2015+.x86 --accept-package-agreements --accept-source-agreements -h
Thank you

very weird. I tired to reproduce the problem, but it works as expected on my side 🤔

A part of my logs:
...
Successfully installed
17:28:34 - ##########   WINGET UPGRADE PROCESS FINISHED FOR APPLICATION ID 'Microsoft.VCRedist.2015+.x64'   ##########
17:28:34 - Microsoft Visual C++ 2015-2022 Redistributable (x64) - 14.36. updated to 14.38.32919.0 !
17:28:37 - Microsoft Edge : Skipped upgrade because it is in the excluded app list
17:28:37 - Updating Microsoft Visual C++ 2015-2022 Redistributable (x86) - 14.36. from 14.36.32532.0 to 14.38.32919.0...
17:28:40 - ##########   WINGET UPGRADE PROCESS STARTS FOR APPLICATION ID 'Microsoft.VCRedist.2015+.x86'   ##########
17:28:40 - -> Running: C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_1.22.2782.0_x64__8wekyb3d8bbwe\winget.exe upgrade --id Microsoft.VCRedist.2015+.x86 --accept-package-agreements --accept-source-agreements
...

We also have this C++ issue.  It only seems to affect C++ versions.  We had to exclude them as it would attempt to install daily while not updating the correct x86 or x64 version.  I did not spend a lot of time trying to understand why, just acknowledge c++ detection was broken.  While not helpful, I just mention this to help you understand there is an issue here.

I'm seeing this as well. Is this issue considered solved?
08:01:50 - Updating Microsoft Visual C++ 2015-2022 Redistributable (x86) - from 14.38.33130.0 to 14.38.33135.0...
08:01:50 - ##########   WINGET UPGRADE PROCESS STARTS FOR APPLICATION ID 'Microsoft.VCRedist.2015+.x64'   ##########
08:01:50 - -> Running: Winget upgrade --id Microsoft.VCRedist.2015+.x64 -e --accept-package-agreements --accept-source-agreements -s winget -h
  ███▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  1024 KB / 9.17 MB
  ██████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  2.00 MB / 9.17 MB
  █████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  3.00 MB / 9.17 MB
  █████████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  4.00 MB / 9.17 MB
  ████████████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒  5.00 MB / 9.17 MB
  ███████████████████▒▒▒▒▒▒▒▒▒▒▒  6.00 MB / 9.17 MB
  ██████████████████████▒▒▒▒▒▒▒▒  7.00 MB / 9.17 MB
  ██████████████████████████▒▒▒▒  8.00 MB / 9.17 MB
  █████████████████████████████▒  9.00 MB / 9.17 MB
  ██████████████████████████████  9.17 MB / 9.17 MB
No available upgrade found.
No newer package versions are available from the configured sources.
08:01:53 - ##########   WINGET UPGRADE PROCESS FINISHED FOR APPLICATION ID 'Microsoft.VCRedist.2015+.x64'   ##########

also discussed in #568
To be honest, I don't have any idea why. I can't reproduce the behavior you described.

Thanks for the update. I'm working around the issue in this particular case for now, by deploying the update as a win32 app in Intune, with the help of Intune App Factory. But I am sort of expecting it to resurface eventually. If so I will invest more time into troubleshooting on my end.

So there's something strange going on. The x86 package of VCRedist 2015-2022 is a version below the x64 package in the official Winget repo. As I mentioned above I included the redistributables to my "Intune App Factory" library and this was were I first noticed this.
PS C:\> winget search Microsoft.VCRedist.2015+
Name                                                 Id                           Version       Source
-------------------------------------------------------------------------------------------------------
Microsoft Visual C++ 2015-2022 Redistributable (x86) Microsoft.VCRedist.2015+.x86 14.38.33130.0 winget
Microsoft Visual C++ 2015-2022 Redistributable (x64) Microsoft.VCRedist.2015+.x64 14.38.33135.0 winget

But this alone doesn't explain why WAU tries to install a version (14.38.33135.0) of the x86 edition of VCRedist 2022 that doesn't actually exist.
Anyway... I manually created Win32App of the newer version of the x86 installer and now this issue is gone in my case.
Here's my "Intune recipee" on how to create an "upgrade package" for Microsoft.VCRedist.2015+.x86:

Download the latest installer from MS: https://aka.ms/vs/17/release/vc_redist.x86.exe
Create the intunewin installer according to your default procedure
Make a note of the version and modify the detection script below (in case your downloaded version is any other than 14.38.33135.0)
In Intune, create a "Windows App (Win32)"
Fill out the App information page and the Program page in accordance to your preferences
Configure additional requirement rules:

Type: Registry
Key Path: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\X86
Value name: Installed
Registry Key Requirement: Integer comparison
Operator: Equals
Value: 1
Associatoed with a 32-bit app on 64-bit clients: Yes

Detection method# Define minimum required version
$Version = [system.version]::Parse("14.38.33135.0")
$DisplayName = "Microsoft Visual C++ 2015-2022 Redistributable (x86) - *"

# Process each key in 64-bit Uninstall registry path and detect if application is installed, or if a newer version exists that should be superseeded
switch ([System.IntPtr]::Size) {
    8 { $UninstallKeyPath = "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall" }
    4 { $UninstallKeyPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" }
}
$UninstallKeys = Get-ChildItem -Path $UninstallKeyPath
foreach ($UninstallKey in $UninstallKeys) {
    $CurrentUninstallKey = Get-ItemProperty -Path $UninstallKey.PSPath -ErrorAction "SilentlyContinue"
    if ($CurrentUninstallKey.DisplayName -like $DisplayName) {
        # An installed version of the application was detected, ensure the version info is equal to or greater than with what's specified as the minimum required version
        if ([System.Version]$CurrentUninstallKey.DisplayVersion -ge $Version) {
            Write-Output "Installed"
            exit 0
        }
    }
}

Assign to All devices and Show toast notifications for computer restarts (or w/e you prefer)

Following these instructions will result in an "upgrade package" and will only install where applicable (AKA where VCRedist.2015+.x86  is already installed). The detection script also handles future higher versions distributed through Winget, so it shouldn't cause any conflicts on your devices.

Here are some links that seems to be related
https://github.com/microsoft/winget-pkgs/issues/118664
https://github.com/microsoft/winget-cli/issues/2129
https://github.com/microsoft/winget-cli/pull/3940

You can use "--architecture" to specify the architecture for the install command if it's not defaulting to the proper architecture.

From: Pelle @.>
Sent: 21 February 2024 12:28
To: Romanitho/Winget-AutoUpdate @.>
Cc: Subscribed @.***>
Subject: Re: [Romanitho/Winget-AutoUpdate] [Bug]: Wrong id is selected when dealing with x86/x64 app on the same computer (Issue #414)
Here are some links that seems to be related
microsoft/winget-pkgs#118664https://github.com/microsoft/winget-pkgs/issues/118664
microsoft/winget-cli#2129https://github.com/microsoft/winget-cli/issues/2129
microsoft/winget-cli#3940https://github.com/microsoft/winget-cli/pull/3940
—
Reply to this email directly, view it on GitHubhttps://github.com/Romanitho/Winget-AutoUpdate/issues/414#issuecomment-1956447869, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ASAJCPVFKADZLKJF7YOHCUTYUXK5TAVCNFSM6AAAAAA5YTNPEGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJWGQ2DOOBWHE.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

We are also seeing this, specifically on the vcredists:
`07:52:09 - Updating Microsoft Visual C++ 2013 Redistributable (x8 from 12.0.40660.0 to 12.0.40664.0...
07:52:09 - ##########   WINGET UPGRADE PROCESS STARTS FOR APPLICATION ID 'Microsoft.VCRedist.2013.x64'   ##########
07:52:09 - -> Running: Winget upgrade --id Microsoft.VCRedist.2013.x64 -e --accept-package-agreements --accept-source-agreements -s winget -h
███▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  1024 KB / 9.39 MB
██████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  2.00 MB / 9.39 MB
█████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  3.00 MB / 9.39 MB
████████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  4.00 MB / 9.39 MB
███████████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  5.00 MB / 9.39 MB
███████████████████▒▒▒▒▒▒▒▒▒▒▒  6.00 MB / 9.39 MB
██████████████████████▒▒▒▒▒▒▒▒  7.00 MB / 9.39 MB
█████████████████████████▒▒▒▒▒  8.00 MB / 9.39 MB
████████████████████████████▒▒  9.00 MB / 9.39 MB
██████████████████████████████  9.39 MB / 9.39 MB
UpdateNoPackagesFound
UpdateNoPackagesFoundReason
07:52:12 - ##########   WINGET UPGRADE PROCESS FINISHED FOR APPLICATION ID 'Microsoft.VCRedist.2013.x64'   ##########
07:52:12 - Microsoft Visual C++ 2013 Redistributable (x8 updated to 12.0.40664.0 !`
We do have both architectures installed on the server, if that makes a difference.  Happy to do additional troubleshooting/investigation to get to the bottom of this.

what do you have if you run:
winget upgrade

So not directly related to WAU :/


Product Suggestion (Not Issue): Auto Correct Syntax and SQL Formatting

SSMS is a great product however I believe that the two following additions would go a long way to making it much better.

When typing a query, how often instead of typing the FROM keyword, does the user type FORM  by mistake. SSMS should have the ability to detect these and automatically change them.
Secondly is the formatting of SQL Statements. How many times do users copy their code into a CODE beautifier to make it look neater? A code beautifier/formatting is essential in a tool like SSMS - I should not have to purchase a REDGATE product to do this for me.

I have used SSMS for a decade and know that these improvements will help many users.

@cgers -- Craig, thank you for your thoughtful suggestions.  Please add them here:

SQL Server feedback

I am closing this issue now.  You are welcome to @ mention me for any followup.  We hope to hear from you again.


Relative line numbers in vim mode

Check for existing issues

[X] Completed

Describe the feature
I'd like to see relative line numbers related to the currently selected line in vim mode
If applicable, add mockups / screenshots to help present your vision of the feature

Hey @baptisteArno,
This issue appears to be a duplicate of:

https://github.com/zed-industries/community/issues/998

Would you mind upvoting the linked issue with a thumbs up (👍) so that we can keep all the votes in one place? I'll close this one out as a duplicate. If this is a mistake, please reopen this issue with a comment explaining the difference.