text:
Using Table Aliases with "FOR SYSTEM_TIME"

One of the example queries should be written to use a table alias, because it is not obvious where the "FOR SYSTEM_TIME <SYSTEM TIME> clause goes relative to the table name and the assigned alias.

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

ID: 751e374d-cd64-1de5-c1d2-5c426c9534c9
Version Independent ID: 2c62a70f-cd2e-bf40-5974-dde1b5a10efe
Content: Querying Data in a System-Versioned Temporal Table - SQL Server
Content Source: docs/relational-databases/tables/querying-data-in-a-system-versioned-temporal-table.md
Product: sql
Technology: table-view-index
GitHub Login: @CarlRabeler
Microsoft Alias: carlrab

OK, I finally found the one example. It is so densely formatted that it makes it hard to find when it is not the actual subject of the example. I guess you could technically say that you have it covered, but it would be more helpful if there were explicit instructional text.

@JediSQL -- Dan, thank you for your feedback.  Please clarify which example you mean.
@CarlRabeler -- Carl, please look into this issue #4348.

@JediSQL please provide an example of how you would like it rewritten for more clarity and I will see that it is changed.

@CarlRabeler: At the end of the opening section there is "FOR SYSTEM_TIME can be specified independently for each table in a query. It can be used inside common table expressions, table-valued functions and stored procedures." I made an edit, and the pull request was assigned to you.

committed 28 days ago

source: gharchive/issue

authors: CarlRabeler JediSQL WilliamAntonRohm

repo: MicrosoftDocs/sql-docs

license_type: permissive

license_source: github-api


text:
UPDATE appears to not work in INSTEAD OF trigger

Based on docs, I would expect this code to work (default value is set on T3).
Insert statement on view does not insert into T3.
UPDATE(T3) is checked and incorrectly returns true, meaning inserted.t3 is inserted instead of hardcoded value from trigger.
use master;
drop database ViewDemo;
go
create database ViewDemo
go
use ViewDemo
create table SplitTable1 (PK1 uniqueidentifier, T1 int not null default 1)
create table SplitTable2 (PK2 uniqueidentifier, T2 int not null default 2, T3 int not null default 3)
go
create view SplitView as
select PK1 PK, T1, T2, T3 from SplitTable1
join SplitTable2 on PK1 = PK2
go
create trigger InsertSplitView on SplitView instead of insert as
begin
insert into SplitTable1 (PK1, T1) select PK, case when UPDATE(T1) then T1 else 1 END from inserted;
insert into SplitTable2 (PK2, T2, T3)
select
PK,
case when UPDATE(T2) then T2 else 2 END,
-- UPDATE(T3) returns true, despite it not being provided in the insert statement
case when UPDATE(T3) then T3 else 3 END
from inserted;
end
go
create trigger UpdateSplitView on SplitView instead of update as
begin
-- we block invalid updates (no changing pk...)
if UPDATE(PK) BEGIN
rollback;
END
-- note we don't update if nothing changed
update SplitTable1
set T1 = inserted.t1
from inserted
where inserted.PK = SplitTable1.PK1 and UPDATE(T1);

update SplitTable2
set T2 = case when update(T2) then inserted.T2 else SplitTable2.T2 end,
	T3 = case when (update(T3)) then inserted.T3 else SplitTable2.T3 end
from inserted
where inserted.PK = SplitTable2.PK2
	AND (UPDATE(T2) OR UPDATE(T3))

end
go
insert into SplitView (PK, T1, T2) values ('266CD540-C22A-46D2-A5AB-9EB10B0AA6BE', 16, 25);

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

ID: 2d2121d5-9045-4200-ca0a-57bdfefc9ac3
Version Independent ID: b06a4ed1-d111-a8ce-4442-dca01d211137
Content: UPDATE() (Transact-SQL) - SQL Server
Content Source: docs/t-sql/functions/update-trigger-functions-transact-sql.md
Product: sql
Technology: t-sql
GitHub Login: @julieMSFT
Microsoft Alias: jrasnick

@brettshearer -- Brett, thank you for your feedback.  Please consider these resources:

DBA Stack Exchange
Stack Overflow

You are welcome to engage with the SQL team here:

SQL Server Feedback

cc @julieMSFT for awareness

authors: WilliamAntonRohm brettshearer


text:
Mention setting loginTimeout to 90 or 120 sec for Azure SQL database

In this comment, @lilgreenbird mentions their recommendation of setting loginTimeout to 90 or 120 sec for Azure SQL database when using the MS SQL JDBC driver.
We shoud add this crucial piece of information to this page.

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

ID: 08ae74cc-0d4c-2e44-af2b-50d6fba8c5a8
Version Independent ID: 7c2c80c0-b2fb-3193-8e68-e5a891ca4061
Content: Connect to an Azure SQL database - JDBC Driver for SQL Server
Content Source: docs/connect/jdbc/connecting-to-an-azure-sql-database.md
Product: sql
Technology: connectivity
GitHub Login: @David-Engel
Microsoft Alias: v-davidengel

@philippw -- Philipp, thank you for your suggestion.
@David-Engel -- David, please look into this issue.

Done. The change should be reflected after tomorrow's site publish.
#please-close

authors: David-Engel WilliamAntonRohm philippw


text:
Typo "@column"→"@column"

Bold with escape characters
https://docs.microsoft.com/sr-latn-RS/sql/relational-databases/replication/publish/change-publication-and-article-properties?view=sql-server-2014

@hyoshioka0128 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

source: gharchive/pull-request


text:
Update create-a-transact-sql-snapshot-backup.md

Adding new section: "tagging the backupset"

Microsoft authors of articles need to make updates through the private repository, so the updates can be staged and validated by current validation rules. After you review staging and fix all validation issues, you can add the sign-off comment to let the PR reviewers know the updates are ready to be merged.
It's easy to access the private repo version of your articles in GitHub. Just add -pr to the URL, as follows:
 Public repo URL: https://github.com/MicrosoftDocs/{docs-repo}
 Private repo URL: https://github.com/MicrosoftDocs/{docs-repo-pr}
We have closed this pull request. Please resubmit the updates through the private repo. For more information, see the contributor guide.


text:
Update sys-dm-db-xtp-checkpoint-stats-transact-sql.md remove column d…

comment removed

@rwestMSFT
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@ronking-zhu This is not an appropriate edit. The heading states "2016 and later".
#please-close

@rwestMSFT ,  That's the issue part, this column only exist in SQL 2022, but not exist in SQL 2016, 2017, 2019.
db_in_checkpoint_only_mode | bit | True if database is in in-memory OLTP checkpoint-only mode.

@ronking-zhu Removing the column is not the appropriate solution. Please open this PR in the private sql-docs-pr repo, and I'll be happy to show you how we normally approach this.

@ronking-zhu Since you didn't create a new PR, I took the liberty of creating one for you, and adding the following comment to the section in question.
In future, please create all your PRs in the sql-docs-pr repository, not in sql-docs.

authors: Court72 ronking-zhu rwestMSFT


text:
COLR/CPAL requirement for glyph ID 1

Fonts using COLR and CPAL tables must implement glyph ID 1 as the .null glyph.

The spec has the text above with no explanation why this is needed.

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

ID: be879f46-c026-4a9d-1156-a3c98ae8f429
Version Independent ID: 28be1ce2-e487-b652-632f-e4dc5bb17f42
Content: COLR - Color Table - Typography
Content Source: typographydocs/opentype/spec/colr.md
Product: typography
GitHub Login: @PeterCon
Microsoft Alias: PeterCon

It appears that in DirectWrite's current implementation (tested on Microsoft Windows Version 10.0.18363.657) when using a font with CFF outlines and COLR/CPAL the IDWriteColorGlyphRunEnumerator will always state that glyph ID 1 needs to be drawn first for all color glyph runs, as if every layer record started with an implicit gID of 1 (I haven't checked what the implicit paletteIndex is, I think it was either black or current color, though it may have been the paletteIndex of the actual first entry). This has come up in https://bugs.chromium.org/p/skia/issues/detail?id=9981 (call TranslateColorGlyphRun to get IDWriteColorGlyphRunEnumerator then MoveNext and GetCurrentRun to get the DWRITE_COLOR_GLYPH_RUN which has a DWRITE_GLYPH_RUN which always seems to want to draw glyph 1 the first time around).
I think this text may just be the result of this bug? I'll try to put together a simple reproducer if I can. Hopefully if this is fixed this text can be removed. If not, I'd be very interested in knowing why glyph ID 1 is being drawn under all color CFF glyphs and how that is supposed to work.

Great finding, thanks. This then wouldn't be the only case where the COLR spec is modeled after the Windows implementation, another one would be #250.

I contacted the relevant developer at Microsoft asking him to provide input in this discussion. I had in mind for him to respond here, but instead he responded to me email with the following info:

The DWrite implementation used to try to combine multiple glyphs of the same color in the same glyph run, in order to reduce the total number of glyph runs rendered. When doing so, it might need to insert white space between non-consecutive glyphs to preserve spacing, and glyph ID 1 was used for this purpose. The requirement that glyph ID 1 be blank was written into the spec to allow for this implementation detail.
This changed a while back, but there are still systems out there that use the older implementation.

The DWrite implementation used to try to combine multiple glyphs of the same color in the same glyph run, in order to reduce the total number of glyph runs rendered. When doing so, it might need to insert white space between non-consecutive glyphs to preserve spacing, and glyph ID 1 was used for this purpose. The requirement that glyph ID 1 be blank was written into the spec to allow for this implementation detail.

That's exactly why specs should not be written by whoever makes an implementation....

The ask in this issue was for information, which has been provided. If there isn't any proposal for revision of the spec, it can be closed.
(One possibility might be to change the across-the-board requirement to a compatibility note; e.g., "Some early Windows implementations require...")
If there's no further discussion in the next few days, I'll close this.

I know at least 4 non-MS implementations that do not check for this requirement, no do they need any special handling of GID 1, so my suggestion is to change the spec and make it a note that old MS implementation had this requirement.

I know at least 4 non-MS implementations that do not check for this requirement, no do they need any special handling of GID 1

I know that Apple's implementation ignore this. I'll ping Microsoft with a draft revision to that effect, noting the situation in other implementations.

Draft revision:

Fonts using COLR and CPAL tables must implement glyph ID 1 as the .null glyph. If the COLR table is present in a font but no CPAL table exists, then the COLR table will not be supported for this font.

Note: Some early Windows implementations of the 'COLR' table require glyph ID 1 to be the .null glyph.

Reviewed by MS: they have no concerns with the proposed change.

authors: PeterCon behdad bungeman khaledhosny

repo: MicrosoftDocs/typography-issues


text:
Windows Server 2012 R2: Only Bahnschrift Regular gets installed

On Windows Server 2012 R2 only Bahnschrift Regular gets installed, while on Windows 10 all available font styles get installed from the same font package.
How can be this fixed so all styles become available?
Windows 10:

Windows Server 2012 R2:

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

ID: 5b0aa22d-ec65-a36b-3a23-ca87e18ada28
Version Independent ID: 05d3eb61-7b3c-24f6-dc0e-cb9d02e1c3a0
Content: Bahnschrift font family - Typography
Content Source: typographydocs/font-list/bahnschrift.md
Product: typography
GitHub Login: @v-nihar
Microsoft Alias: v-nihar

Hi
Thank you for the feedback. Bahnschrift is a variable font. It was introduced as a new addition to the Windows font family (Windows 10 version 1709 release on October 17, 2017). Prior version of Windows do not support variable fonts.  This is why you are seeing only regular weight available on Windows Server 2012 R2. This font should not be available on Windows Server 2012 R2. Can you please share how did you discover this font on Windows Server 2012 R2?
Thanks,
Ali

Hi Ali,
as I wrote, I installed the font file on Windows 10 & Windows Server 2012 R2 and discovered the differences.
I understand your explanation. So, to make a long story short: Windows Server 2012 R2 will never support “Variable fonts”?
Thank you for your support, Peter
From: Basit Ali [mailto:notifications@github.com]
Sent: Freitag, 27. März 2020 22:02
To: MicrosoftDocs/typography-issues typography-issues@noreply.github.com
Cc: FAF Software office@faf.software; Author author@noreply.github.com
Subject: Re: [MicrosoftDocs/typography-issues] Windows Server 2012 R2: Only Bahnschrift Regular gets installed (#389)
Hi
Thank you for the feedback. Bahnschrift is a variable font. It was introduced as a new addition to the Windows font family (Windows 10 version 1709 release on October 17, 2017). Prior version of Windows do not support variable fonts. This is why you are seeing only regular weight available on Windows Server 2012 R2. This font should not be available on Windows Server 2012 R2. Can you please share how did you discover this font on Windows Server 2012 R2?
Thanks,
Ali
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/typography-issues/issues/389#issuecomment-605313266, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACJN7DWIIJ3UOTP2RKLUZS3RJUH3DANCNFSM4LVFBLJQ.

Hi Peter,
Windows Server 2012 R2 is long past getting feature updates, so it will never support variable fonts.

authors: CBDFactum-com alib-ms


text:
Expand on best practices

You have done a great job, guys, to document MSBuild.
However, I still find it quite difficult to engineer a build system when a couple of include files come into play. Property and item evaluation order is easy to get wrong.
The tooling to debug these type of issues is great.
However, any guidance of how to tackle this complexity the right way, conceptually, is highly appreciated. You have enough help about the different concepts. But how to do actual build engineering with this tool on a mid to large scale basis?
Granted, we have a great working sample with the C# project system. But do we have some prose?
I'd expect that on this page. Links to such info provided in Wikis, blogs or books would also be OK.
For an idea of what I talk about, have a look at this issue.

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

ID: 3640922f-bdb4-dfee-6b1c-7342e0a89ed2
Version Independent ID: d33c6cb1-fe9b-656a-ade4-5d488143a898
Content: MSBuild Best Practices - Visual Studio
Content Source: docs/msbuild/msbuild-best-practices.md
Product: visual-studio-dev15
GitHub Login: @Mikejo5000
Microsoft Alias: mikejo

You could refer to https://devblogs.microsoft.com/dotnet/the-evolving-infrastructure-of-net-core/.

@chm-tm thanks for sharing that doc, there is a ton of good information int here. In my opinion that doc is too high level to try and understand any best practices for a single project.
I'll give an example below that I think is a best practice. I'll only refer to props files, but it applies equally to targets as well.
As the order inclusion is a serious issue and headache to get right, I've seen many projects run into the issue that I call "MSBuild Spaghetti" [pretty clever, huh ;)].  What I've seen happen is that instead of relying on props inclusion to come from Directory.Build.props, project files (either .csproj or .props) will import specific props, and all try to import them in the same order. Even if every project does import them in the same order, it's very easy for this to diverge and become costly to maintain.
In order to combat this, props files should be simple and single-purpose, and props should not include other props.
The only exception to this is Directory.Build.props.
Since you can never escape the ordering dependency of MSBuild, having a single place to include props from ensures that you only have one place to figure this out. If you ever come across an issue that smells like an ordering issue (properites/items not set that you think should be) you know exactly where to start investigating, and don't have to worry about creating ordering issues elsewhere in the tree.

@stevenbrix wow this is helpful advice!
I maintain projects predating MSBuild 15 so they couldn't initially rely upon Directory.Build.props.
Consider including @stevenbrix in this page.

We plan to update this topic as we identify new best practices. If you have any suggestions, you can drop them here for now.  Thanks for your ideas!

We're going to go ahead and close this issue, because we have other documentation that helps with MSBuild. Having already implemented a few concrete suggestions on this, we want to close old, open-ended issues to keep a manageable backlog.

We're going to go ahead and close this issue, because we have other documentation that helps with MSBuild. Having already implemented a few concrete suggestions on this, we want to close old, open-ended issues to keep a manageable backlog.

authors: chm-tm ghogen stevenbrix

repo: MicrosoftDocs/visualstudio-docs


text:
Poor documentation in CA1814

Poor documentation on the "why" of this rule.

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

ID: 088ac03f-0e6c-9b9b-24dc-e17564a970da
Version Independent ID: a49e1b15-68c0-896c-18a7-c7347565a387
Content: CA1814: Prefer jagged arrays over multidimensional - Visual Studio
Content Source: docs/code-quality/ca1814-prefer-jagged-arrays-over-multidimensional.md
Product: visual-studio-windows
Technology: vs-ide-code-analysis
GitHub Login: @gewarren
Microsoft Alias: gewarren

Edit to trigger priority labeling.

@johnnyasantoss The article states that jagged arrays use less memory space than multidimensional arrays. @mavasani Can you comment on whether this is the only reason why CA1814 recommends jagged arrays over multidimensional?
This SO post has a nice discussion of the pros and cons of each. In July 2017, one use noted that according to their calculations, in .NET Core, multi-dimensional arrays are faster than jagged arrays. If that is true, should we get rid of CA1814?

Updated content links

Moved issue to .NET
Closing this in favor of https://github.com/dotnet/docs/issues/22047

authors: Mikejo5000 gewarren johnnyasantoss


text:
Activation online never is available

MSDN Subscriber Benefits used to provide a phone number for incident reporting.  The Live Chat feature is never available when I try to use it, so I haven't been able to activate my support because of that.

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

ID: 2f79453c-3962-2f0c-5b99-4fbde91972f8
Version Independent ID: c845c29e-dfd7-316e-81b2-ebe288a384c1
Content: Technical Support Benefit
Content Source: subscriptions/vs-tech-support.md
Product: visual-studio-family
Technology: vs-subscriptions
GitHub Login: @evanwindom
Microsoft Alias: jaunger

@varnk My apologies for not getting this answered sooner.  I checked with the support teams, and they're not aware of any outages.  If you experience another outage, please contact us at 800-936-5800.  You can set up your support at that number, and they can escalate any outage issues.  Thanks!

@evanwindom Thanks for responding to @varnk; we'll close this issue now.

authors: TerryGLee evanwindom varnk


text:
Directly specify VS version

Based on https://devblogs.microsoft.com/devops/uml-designers-have-been-removed-layer-designer-now-supports-live-architectural-analysis/ and last update date (2016) - I assume, that "class diagrams." feature not available for VS2019.
Could you please directly specify it here to prevent any confusion.

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

ID: da5ece28-1cef-ffee-c8c1-91877c62c015
Version Independent ID: 77f11d93-ab0e-8480-5a7b-9a0bc86a2490
Content: Visualize code - Visual Studio
Content Source: docs/modeling/visualize-code.md
Product: visual-studio-windows
Technology: vs-ide-modeling
GitHub Login: @gewarren
Microsoft Alias: gewarren

@SychevIgor Sorry for the slow response. Class diagrams are still supported in Visual Studio 2019, but you must first install the Class Designer component. For more information, see How to: Add class diagrams.

@gewarren thank you. I just missed this statement, that it's not working with .net core.

It will be nice to have this support for .net core projects as well (Microsoft announced that .net 4.8 is the last version of .net framework and future versions will based on .net core), but it's definitely not a scope for this question.

authors: SychevIgor gewarren


text:
Please provide documentation on references to "Shared Projects"

Visual Studio & Shared Projects
In the "Reference Manager" dialog for a project in Visual Studio, it is possible to set up references to something called "Shared Projects", but the documentation page for adding/managing references to a project have no information on this type of reference at all.

As a matter of fact, I can't find any documentation on the concept "Shard Project" anywhere in the entire documentation of visual studio.
When searching for "shard project" it returns 8 result, where non has anything to do with shared projects.
.Search Result when searching for: "Shard Project"

8 Results for ""Shared Project""
How to: Set Permissions - Visual Studio
https://docs.microsoft.com/en-us/visualstudio/profiling/how-to-set-permissions
The second procedure, "To grant access to shared project files," describes how to grant that access. ... This grants permissions to the user for the shared folder tree that begins with the folder selected in step 5.
How to: Create Types by using Class Designer - Visual Studio
https://docs.microsoft.com/en-us/visualstudio/ide/class-designer/how-to-create-types
To design new types for C# and Visual Basic projects, create them on a class diagram. ... Select the file where you want to add the initial code for the type: To create a new file and add it to the current project, select Create new file and name the file.
How to: View Existing Types (Class Designer) - Visual Studio
https://docs.microsoft.com/en-us/visualstudio/ide/class-designer/how-to-view-existing-types
To see types in a project on a class diagram From a project in Solution Explorer, open an existing class diagram (.cd) file. ... See How to: Add Class Diagrams to Projects.
Use code maps to debug your applications - Visual Studio
https://docs.microsoft.com/en-us/visualstudio/modeling/use-code-maps-to-debug-your-applications
For example, when you're debugging, you might have to look at code across many files and projects. ... So, if you change the context to another app project, then the context on the map also changes for any newly added items from the shared project.
Cross-Platform Mobile Development in Visual Studio - Visual Studio
https://docs.microsoft.com/en-us/visualstudio/cross-platform/cross-platform-mobile-development-in-visual-studio
You can share your code by using a shared project, a Portable Class Library project, or both. ... You can share C++ code between Android and Windows by creating a static or dynamic shared library.
Visual C++ for Cross-Platform Mobile Development - Visual Studio
https://docs.microsoft.com/en-us/visualstudio/cross-platform/visual-cpp-for-cross-platform-mobile-development
This is an option available in Visual Studio 2015 that installs the SDKs and tools you need for cross-platform development of shared libraries and native apps. ... Dynamic Shared Library (Android) Creates an Android dynamic library (.so) file by using C++ code.
C++ IntelliSense - Visual Studio
https://docs.microsoft.com/en-us/visualstudio/ide/visual-cpp-intellisense
Cross-platform IntelliSense In a shared code project, some IntelliSense features such as squiggles are available even when you are working in an Android context. ... The illustration shows shared code being edited.
Code maps - Visual Studio
https://docs.microsoft.com/en-us/visualstudio/modeling/map-dependencies-across-your-solutions
If you change context to another app project and add more items from the shared project, those items now appear with the newly active app project. ... Operations that you perform with an item on the map apply only to those items that share the same context.

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

ID: 1ab2b85e-d741-293c-b994-8673ebf9ec2b
Version Independent ID: a3697a8f-ea35-c2ca-9cb3-fd15c6bd5ca3
Content: Manage references in a project - Visual Studio
Content Source: docs/ide/managing-references-in-a-project.md
Product: visual-studio-windows
Technology: vs-ide-general
GitHub Login: @gewarren
Microsoft Alias: gewarren

@Bartolomeus-649 Thank you for the feedback.
The Shared Projects is a newer feature in Visual Studio that's currently documented for Xamarin solutions though we can try to get this added to Visual Studio docs as time permits.
In the meantime, please see this synopis for an overview on how Shared Projects work.
@gewarren FYI

If it's a generic feature, then why is it documented under Xamarin?
As it is now with the current documentation, "Shared Projects" are not even mentioned anywhere in the entire Visual Studio Documentation.
Why not just move whatever you now have under Xamarin to where it really belong, or are you planing of maintaining a duplicate version of the whole thing a second time for Visual Studio?
Also, I think you should provide some documentation on why Xamarin is not part of Visual Studio, I think a lot of people will be surprised to know that Microsoft don't consider it part of Visual Studio, especially since you might get that impression when it seems like you are using Visual Studio to create, code and build Xamarin projects...


text:
Does launchsettings support Docker with SSL during development?

I've read the docs at https://github.com/dotnet/dotnet-docker/blob/master/samples/run-aspnetcore-https-development.md, but that implies executing docker run from a command line, not within VS.
If I run with SSL enabled, Kestrel fails to find the certificate as the location is not mounted by the launchsettings.  This is/should be related to https://github.com/microsoft/DockerTools/issues/243 where we need the ability to provide arguments to the docker run command

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

ID: b0eb0463-50c5-9697-2eaf-a5f5fcb01513
Version Independent ID: bf27ddf9-e6a3-0717-1d3c-620c054f0d5c
Content: Visual Studio Container Tools launch settings - Visual Studio
Content Source: docs/containers/container-launch-settings.md
Product: visual-studio-windows
Technology: vs-azure
GitHub Login: @ghogen
Microsoft Alias: ghogen

@phatcher There is a launch setting to support Docker will SSL. It is "useSSL": true. This should automatically get set when adding Docker support to a project if SSL is detected. But in case it wasn't you can add it to your Docker profile to enable the same logic detailed in the doc.
If that is not working please open an issue in microsoft/DockerTools with a detailed repro so we can investigate.

authors: NCarlsonMSFT phatcher


text:
Permissions Required to Assign Licenses in Subscriptions Portal

This page says what permissions are required on the Azure side, but doesn't mention if any rights are required in the subscription portal
https://docs.microsoft.com/en-us/visualstudio/subscriptions/admin-responsibilities

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

ID: cf290c37-d7fa-9d10-b8ef-865647e58a70
Version Independent ID: 1334b162-8560-5e0a-c874-9439b697dd96
Content: Billing FAQ for Visual Studio Visual cloud subscriptions
Content Source: subscriptions/vscloud-billing-faq.yml
Product: visual-studio-family
Technology: vs-subscriptions
GitHub Login: @evanwindom
Microsoft Alias: amast

@fowl2 -- James, thank you for your feedback.
@evanwindom -- Evan, please look into this issue.

It appears that after purchasing a license, enough access to the portal is granted to assign the purchased license. Not sure if it's based on who made the purchase or rights to the subscription etc - which would be great to clarify in the document .

@fowl2 Hi James.  Can you give me a little more context?  Are you talking specifically about cloud subscriptions purchased with Azure?  Are you purchasing as part of Volume License agreements?

Yes, I'm talking about Visual Studio subscriptions purchased with an Azure subscription.

@fowl2 Hi James -- I thought I had responded to this previously.   My apologies for the horribly long delay here .  I'll have a look through the article and see if I can bring some clarity to the situation.  Thanks again for helping us improve our content.

#please-close

Only Microsoft employees can close issues or pull requests via commenting in this repo.

@fowl2 -- Hi James, I apologize for the delay here.  When cloud subscriptions are purchased with an Azure subscription, if you have User Access Administrator rights on the Azure subscription, we automatically pick those up when you sign into the admin portal.  We check on the first sign-in for new admins.  If you have previously assigned subscriptions, we'll check each time you sign in.  If you haven't previously assigned any subscriptions, you may need to add the agreement to the portal before you'll see those subscriptions.  Further information is in this article:  https://docs.microsoft.com/en-us/visualstudio/subscriptions/add-monthly-subs.  I'm going to work with the admin team to include some cross-references in some of the articles so it's easier to find this information.  THANKS for helping us make our content better!


text:
Broken Functionality

The workaround to authorise a resource does not work anymore.

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

ID: ee4ec9d0-e0d5-4fb4-7c3e-b84abfa290c2
Version Independent ID: 3e2b80d9-30e5-0c48-49f0-4fcdfedf5eee
Content: Resources - Azure Pipelines
Content Source: docs/pipelines/process/resources.md
Product: devops
GitHub Login: @vtbassmatt
Microsoft Alias: alewis

I agree. I cannot authorize a resource anymore.

@vijayma did we change something in 144 which would invalidate the workaround?

what type(s) of resources are you attempting to authorize?

ok, cool.  glad it worked on a second try.  i'll take a look and make sure there's no flakiness here, just in case.

authors: dmakaroff scottdallamura tsuga vtbassmatt

repo: MicrosoftDocs/vsts-docs


text:
Unable to use AzurePowerShell@4

Every time I try to use v4 I get the following error: An error occurred while loading the YAML build pipeline. wrong number of segments
When I change it to v3 it will run. I am using the VS2017 hosted image in Azure Devops.

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

ID: fb215324-b1a0-93b5-5022-4bcc7da93bb7
Version Independent ID: 9eb2977b-ac34-9d53-670e-04fa027bc8e4
Content: Azure PowerShell task - Azure Pipelines
Content Source: docs/pipelines/tasks/deploy/azure-powershell.md
Product: devops
GitHub Login: @steved0x
Microsoft Alias: dastahel

This belongs to @kmkumaran but for some reason I can't assign to him.

@vtbassmatt Do you know when version 4 will be able to be used on the hosted images?

I don't. @kmkumaran ?

Since this is task related functional issue (and not doc related), can you report this in https://github.com/Microsoft/azure-pipelines-tasks and assign this on me. When you open the issue please enable system.debug to true and share the logs. That will help us debug this.

I've been experiencing the same problem. @kmkumaran with regards to the logs, there are no logs. It fails before executing the job.

@leonfs - Is this seen with AzurePowershell@4 task version? If so, we haven't shipped the version 4 yet.
https://github.com/Microsoft/azure-pipelines-tasks/issues/9524#issuecomment-461832489
If you are noticing this when used with a different task, please provide those details. You can open a issue in https://github.com/Microsoft/azure-pipelines-tasks repo with those details.

@kmkumaran - Yes, this was seen when using V4 of the task. I was just following the published documentation. Maybe adding a comment to the docs would help, or keep it at v3 (the one I'm currently using) until v4 is released.

Thanks for letting us know @leonfs ,

@RoopeshNair - for feedback on documentation referring to V4. The V4 task will ship in next deployment.

@kmkumaran Do you know when the next deployment will happen?

@kmkumaran, @RoopeshNair
Can you sync somehow so next time we will be sure that Docs are accurate and not rush ahead actual release?

@kmkumaran  - do you mean the Q1 deployment or the Q2 deployment ?

@kmkumaran Just confirming v4 was deployed in Q2 before I close out.

Yes. The v4 version of the task is shipped.

@kmkumaran - Great, closing this out.

I'm having the same issue with using AzurePowerShell@4 task in an On Premise installation of Azure DevOps. We updated to the latest build agent version 2.155.1 and the issue occurs. Do you know if v4 is shipped for on premise installations yet?

authors: davec643 kmkumaran leonfs rstra thomps23 vtbassmatt whatsamattr ytugarev


text:
Manual approval in Yaml pipeline

Please add comments about Manual approval in Yaml pipeline. Also if its not possible it would be nice to state it here.

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

ID: b067a175-f640-7503-9c1e-f0130c6dbeda
Version Independent ID: ff743c7b-a103-eae6-4478-62ba995a4b36
Content: Pipeline deployment approvals - Azure Pipelines
Content Source: docs/pipelines/process/approvals.md
Product: devops
Technology: devops-cicd
GitHub Login: @shashankbansal
Microsoft Alias: shashban

@jeremyklamer By comments I believe you are talking about ability to provide comments when completing an approval. This support already exists in the platform.

Wauw I never expected a response! What I actually meant was manual approval
before a stage in a yaml pipeline. Later I saw thst the article already
covered this subject and I just read over it.
Thanks a lot for the response though! That's amazing.
On Mon, Sep 23, 2019, 11:17 AM shashank bansal notifications@github.com
wrote:

@jeremyklamer https://github.com/jeremyklamer By comments I believe you
are talking about ability to provide comments when completing an approval.
This support already exists in the platform.
[image: image]
https://user-images.githubusercontent.com/16793896/65414305-0919b200-de11-11e9-9458-65c98944fdbb.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/vsts-docs/issues/5590?email_source=notifications&email_token=AAYQ2NCOWCKMDYLETXRH63DQLCCTBA5CNFSM4IWMRLNKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7KIC2A#issuecomment-534020456,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAYQ2NCYAFP7XVVQWJ5C5YLQLCCTBANCNFSM4IWMRLNA
.

Approved

authors: Joramtech jeremyklamer shashban


text:
Change to test result retention for Release

For a release that doesn't use TFS or VSTS build, retention of the test results is governed by, the retention of Release. This change has been made recently, originally the retention was driven by the retention policy for the test

@vinodjo Thank you for the contribution, I am assigning this PR to the article author for review. Thank you.


text:
Fixing typo in High Contrast Themes topic

Fixing typo in 'Detecting High Contrast in Previous Versions of Windows' block of 'Supporting High Contrast Themes' topic

+1

authors: borshpro cadamini


text:
WIP: Update virtual-key-codes.md

TODO:
Be in sync with
https://learn.microsoft.com/en-us/dotnet/api/system.windows.forms.keys
https://github.com/dotnet/dotnet-api-docs/blob/main/xml/System.Windows.Forms/Keys.xml
https://github.com/dotnet/winforms/blob/main/src/System.Windows.Forms/src/System/Windows/Forms/Keys.cs
and
https://learn.microsoft.com/en-us/uwp/api/windows.system.virtualkey
https://github.com/MicrosoftDocs/winrt-api/blob/docs/windows.system/virtualkey.md

The content is now badly formatted : https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes

THanks @qkdreyer! This should be fixed now.

authors: DJm00n Karl-Bridge-Microsoft qkdreyer


text:
Updated link to Known Folders sample

Replaced the link to the legacy sample page with a link to the updated sample page for Known Folders.
Legacy page: https://docs.microsoft.com/en-us/previous-versions/windows/desktop/legacy/dd940364(v=vs.85)
Updated page: https://docs.microsoft.com/en-us/windows/win32/shell/samples-knownfolders

@Sophismata : Thanks for your contribution! The author(s) have been notified to review your proposed change.


text:
Incorrect link in description of field "ProcessorEnableMask"

The description of field "ProcessorEnableMask" contains a hyperlink on the type "KAFFINITY", but that link just points (via redirects) to this page. Instead, it should point to a page documenting type KAFFINITY.

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

ID: c0149c84-578d-435f-6b87-be74f68a08ee
Version Independent ID: 3921138b-c159-85a0-9c68-bccb127804fa
Content: IoConnectInterrupt function
Content Source: wdk-ddi-src/content/wdm/nf-wdm-ioconnectinterrupt.md
Product: windows-hardware
GitHub Login: @windows-driver-content
Microsoft Alias: windowsdriverdev

Hi @fpl9000
This is now fixed. Thanks for letting us know!
Page Writer

repo: MicrosoftDocs/windows-driver-docs-ddi


text:
bug

missing return error codes

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

ID: bf17787b-9c5d-3858-2baf-0472e15105af
Version Independent ID: 58672917-f56c-b191-784d-899f480fab82
Content: ZwOpenKey function
Content Source: wdk-ddi-src/content/wdm/nf-wdm-zwopenkey.md
Service: unspecified
GitHub Login: @windows-driver-content
Microsoft Alias: windowsdriverdev

Hello Maxime,
Thanks for finding the missing content. I have updated the page.
PageWriter

authors: PageWriter-MSFT maperr


text:
Great Content

Thanks for the hidden secrets , I hope these regsitry keys  will help to the windows users. Thanks to all authors

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

ID: 32122b55-0ed3-e2df-4bc4-f37c52d5af65
Version Independent ID: d24d5892-5cb7-05aa-f54a-db06d4f3b7d9
Content: USB Device Registry Entries - Windows drivers
Content Source: windows-driver-docs-pr/usbcon/usb-device-specific-registry-settings.md
Product: windows-hardware
GitHub Login: @duncanmacmichael
Microsoft Alias: dumacmic

Thanks, @RAJU2529! Although these registry keys are detailed for USB driver developers, I'm glad you got some good knowledge out of the doc. :)

repo: MicrosoftDocs/windows-driver-docs


text:
Add Link to GNSS ref

Just added a link to https://msdn.microsoft.com/en-us/Library/Windows/Hardware/dn925122. @tedhudek

@EliotSeattle,
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

authors: EliotSeattle msftclas


text:
Update ApolloLake BSP instructions

updated Apollo lake bsp instructions and merged with the Braswel / Cherry trail bsps.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

windows-iotcore/build-your-image/CreateBSPs.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

repo: MicrosoftDocs/windows-iotcore-docs


text:
Update dcom-machine-launch-restrictions-in-security-descriptor-defini…

…tion-language-sddl-syntax.md
The option described in this article, deny permission for al DCOM object

Why

Closes #[Issue Number]

Changes

Closing as duplicate of #11657

authors: educabanillas vinaypamnani-msft

repo: MicrosoftDocs/windows-itpro-docs


text:
Added missing namespaces

Apparently the current setup which required the developer to add namespaces enabled some confusion
Fixes #1609

@hickeys : The PR passed the acceptance checklist. Please evaluate further and approve/complete the PR if appropriate. Thanks!

@bartlannoeye : Thanks for your contribution! The author(s) have been notified to review your proposed change.

authors: PRMerger12 bartlannoeye beneluxboy

repo: MicrosoftDocs/windows-uwp


text:
Product version mismatch

The "Applies to" section mentions Windows Server 2016 and Windows Server SAC.
Just bellow it Says:
"This topic for the IT professional describes NTLM, any changes in functionality, and provides links to technical resources to Windows Authentication and NTLM for Windows Server 2012 and previous versions."

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

ID: 4a7ee325-0910-830e-3992-79d7ddf317e6
Version Independent ID: 6d8d74ea-201c-4827-3898-a22024fbe640
Content: NTLM Overview
Content Source: WindowsServerDocs/security/kerberos/ntlm-overview.md
Product: windows-server
Technology: security
GitHub Login: @JasonGerend
Microsoft Alias: jgerend

Well, those lines mean separate things.

This paragraph refers to the currently supported Windows Server versions:

Applies To: Windows Server (Semi-Annual Channel), Windows Server 2016

The next paragraph tells us that content in this document talks about, and may lead you to, documentation concerning previous versions of Windows Server, like 2012 or older:
"This topic for the IT professional describes NTLM, any changes in functionality, and provides links to technical resources to Windows Authentication and NTLM for Windows Server 2012 and previous versions."

Hi @humanascode,
Thanks for contacting Microsoft; we value your feedback. This issue has been addressed.
If you believe there’s still a documentation concern, you're encouraged to open a new GitHub issue. We welcome any additional suggestions for improving our documentation to provide a more satisfactory experience in the future. Thanks for your understanding and continued support.
#please-close

authors: dksimpson humanascode illfated

repo: MicrosoftDocs/windowsserverdocs


text:
Hack download

Sushil
[Enter feedback here]

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

ID: 2b79ce4d-52b9-5193-df08-c40fa663da58
Version Independent ID: a5215c06-f761-3141-4eb4-71ae00b2c8aa
Content: Get started with Windows Server Update Services (WSUS)
Content Source: WindowsServerDocs/administration/windows-server-update-services/get-started/windows-server-update-services-wsus.md
Product: windows-server
Technology: wsus
GitHub Login: @JasonGerend
Microsoft Alias:  show k. E U ke us.

Sir U. D

W uxeif I fe j uge n

#assign:xelu86

User feedback is unspecified. Closing thread.
#please-close


text:
cd X: does not just DISPLAY the current directory of the other drive, it moves you there.

If used with only a drive letter (for example, cd C:), cd displays the names of the current directory in the specified drive.

This is misleading. It does not merely DISPLAY the current directory of the specified drive, it MOVES the command prompt to point to the current directory of the other drive.

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

ID: 52ed71f1-2459-7f4d-0526-478187c4590d
Version Independent ID: 9e5a0d9f-36c5-6e6b-bf46-f8a27f0ae363
Content: cd
Content Source: WindowsServerDocs/administration/windows-commands/cd.md
Product: windows-server
Technology: windows-commands
GitHub Login: @JasonGerend
Microsoft Alias: jgerend

This was probably tested in PowerShell.
The content source in question is for cmd's cd:
https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/cd
In the shell you are using type help cd, if you get the docs for Set-Location you are in powershell and cd is an alias to Set-Location which does not work like cmd's cd.
In PowerShell to view another drive's current directory you want something like:
Get-Location -PSDrive d

This was probably tested in PowerShell.
The content source in question is for cmd's cd: https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/cd
In the shell you are using type help cd, if you get the docs for Set-Location you are in powershell and cd is an alias to Set-Location which does not work like cmd's cd.
In PowerShell to view another drive's current directory you want something like: Get-Location -PSDrive d

What on EARTH are you talking about? First of all, I think I know the difference between PowerShell and CMD.exe. I said NOTHING about PowerShell. You may want to read what I actuallywrote. The documentation for CMD.EXE, NOT Powershell, says, and I repeat, "cd displays the names of the current directory in the specified drive". "Displays". That's the word in the help.
Now open a computer that has more than one drive. Open a CMD.exe window. Type the drive letter of the other drive, just as the help file describes. Now, does it merely "DISPLAY" the current folder of the other path, or does it MOVE you to the other path such that your cmd.exe prompt changes from C:\Wherever to D:\Wherever? It will be the second of these.

Shell in use is not mentioned in original post.
Problem does not repeat for me in cmd.exe:
C:\Users>cd D:\Mangos

C:\Users>cd D:
D:\Mangos

C:\Users>cd D:\Apples

C:\Users>cd D:
D:\Apples

C:\Users>cd /d D:

D:\Apples>

I do see the issue reported in pwsh:
PS C:\Users> cd D:\Mangos
PS D:\Mangos>
PS D:\Mangos> cd C:\Users
PS C:\Users> cd D:
PS D:\Mangos>
PS D:\Mangos> cd C:\Users
PS C:\Users> cd D:\Apples
PS D:\Apples>

If possible, please provide the text of a cmd.exe session which uses a cd d: ( or other drive letter) command and the output seen.  The three command set of cd, cd d:, cd would also be of interest.

Hello @TheTM1Channel,
Thanks for contacting Microsoft. We value your feedback.
We have tested the problem as described in this issue and either couldn't replicate the stated result or have verified that no documentation change is required.
As a result, we’re closing this thread.
Thank you again and have a most pleasant day.
#please-close

authors: TheTM1Channel craigcaseyMSFT crisman


text:
Changing the title

The document doesn't include any AD FS 2016 reference. Just 2012 R2.

(online page: https://docs.microsoft.com/en-us/windows-server/identity/ad-fs/design/AD-FS-Design-Guide)
Looks reasonable to me. The only mention of "Windows Server 2016" is in the See Also section, although it links directly to the Excel spreadsheet "AD FS capcity planning worksheet".
(The next link only points to the Active-Directory-Federation-Services page 2 levels above.)

See Also
For capacity planning for AD FS in Windows Server 2016 see the AD FS capcity planning worksheet.
Active Directory Federation Services Overview

By the way, there is a typo in the link text for the spreadsheet, "capcity" instead of capAcity (my edit, typo highlighted with a capital A).
Would it be OK to include a correction for that typo in this PR?
(Oddly enough, "capacity" in the filename itself is written correctly, ADFSCapacity2016.xlsx)

#sign-off

authors: billmath illfated rotraves-microsoft


text:
Please explain method parameter

[Enter feedback here]
Can someone please explain the parameter type in the above constructor? Is it simply a Windows::Foundation::Uri object? Is it an address to a const Windows::Foundation::Uri object? I have been having a lot of trouble declaring a BitmapImage object in UWP C++/WinRT  app. I have tried BitmapImage(Uri) constructor, where Uri is an Uri object. I think I was using the BitmapImage constructor for .NET, and looking at this constructor, can't determine what I should be sending as a parameter.
Thanks,
MattSA

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

ID: 6eee1ba6-3ede-e017-ab55-e2d0afbcfb64
Version Independent ID: afc7dbbe-c985-de9e-3746-4e04ee7c8678
Content: BitmapImage Constructor (Windows.UI.Xaml.Media.Imaging) - Windows UWP applications
Content Source: winrt-api-build/xml/Windows.UI.Xaml.Media.Imaging/BitmapImage.xml
Product: uwp
Technology: winui
GitHub Login: @jwmsft
Microsoft Alias: jimwalk

Windows::Foundation::Uri should be the parameter for BitmapImage's constructor

repo: MicrosoftDocs/winrt-api


text:
Include info on which XML this accepts and when

We fixed the method in the Windows 10 May 2019 Updates (version 1903), build 18362.267 (the July 27 2019 update).
The XML was incorrectly named.
Note that this change requires an editor to make sure that (a) the link is fixed to match the actual markdown requirements and (b) that the remarks are properly formatted. There's one exact intermediate release at which point this method started to work; before then it didn't.

Thanks, Peter! It's now safe for you to delete your working branch.

authors: PeterSmithRedmond stevewhims


text:
Incorrect link

Under the heading "Parent Elements", the link is to the "Application Elements" page and I think it should be the "Package Elements" page (or possibly both?)

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

ID: 313ffab1-f654-f1b1-14e3-ea8b72a4e76e
Version Independent ID: 313ffab1-f654-f1b1-14e3-ea8b72a4e76e
Content: desktop10:Extension (in Package/Extensions) - Windows UWP applications
Content Source: winrt-related-src/schemas/appxpackage/uapmanifestschema/element-desktop10-extension.md
Product: uwp
Technology: winrt-reference
GitHub Login: @drewbatgit
Microsoft Alias: drewbat

@TimMangan Thanks again for reporting these errors. I confirmed that the types in desktop 10 are all under Package Elements and have updated the page accordingly.

authors: TimMangan drewbatgit

repo: MicrosoftDocs/winrt-related


text:
getting Error "session deleted because of page crash" when using the HasAuthentication interface

I'm using the HasAuthentication interface from selenium 4.5.3.
like that:
      if (driver instanceof HasAuthentication) {
        var auth = (HasAuthentication)driver;
        auth.register(
          uri -> uri.getHost().contains(m_config.getLoginDomain()),
          UsernameAndPassword.of("user", "password"));
      }

This works fine in Chrome but not in Edge.
In Edge I get the mentioned error "session deleted because of page crash" when calling driver.get("url")

Hi @reinsch82 , I'm not able to reproduce the issue. I tried with this sample:
import org.openqa.selenium.HasAuthentication;
import org.openqa.selenium.UsernameAndPassword;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.edge.EdgeOptions;

public class EdgeDriverTest {
    public static void main(String[] args) throws InterruptedException {
        EdgeDriver driver = new EdgeDriver();

        if (driver instanceof HasAuthentication) {
            var auth = (HasAuthentication)driver;
            auth.register(
                    uri -> uri.getHost().contains("httpbin.org"),
                    UsernameAndPassword.of("user", "password"));
        }

        driver.navigate().to("http://httpbin.org/basic-auth/user/password");

        Thread.sleep(5000);

        driver.quit();
    }
}

Can you share which Edge browser and driver version you are using?

Closing since there hasn't been any response.

@bwalderman appreciate your quick response, sorry for missing it.
I'm now at another job and hence the repro is not so easy anymore.

repo: MicrosoftEdge/EdgeWebDriver

license: MIT


text:
EditContext: EditContextTextRange seems superfluous

This "class" does not have data and behavior; it just has some data. This is a bit of a smell. In particular code like selection: new EditContextTextRange(11, 11) is very unusual on the web, compared to e.g. selectionStart: 11, selectionEnd: 11.
It is also troublesome because it's a mutable class, but it's unclear what that means. E.g. what happens when you change someEvent.updateRange.start.
I think the easiest thing to do there is to just inline it into the places it appears, so instead of updateRange you have updateStart and updateEnd, etc. You can then make these readonly or mutable as makes sense.
An alternate naming approach would be to try to emulate the existing text selection APIs and use selectionStart and selectionEnd everywhere, coupled with setSelectionRange() whenever appropriate. I like that more, but I'm not 100% sure if it works.

Thank you for pointing this out. I agree with the suggestions you made. I'll remove the EditContextTextRange and also update wherever it is used.

closing as this has been addressed in the explainer.

authors: domenic gked snianu

repo: MicrosoftEdge/MSEdgeExplainers


text:
10_create_sb_namespace.png

Image was not translated

Hello contributor,
Thank you for your contribution! We are processing your suggestions and we will update you shortly.
Kind regards,
Microsoft Worldwide Learning Team

Not found this image in loc repo.


text:
Update LAB[MB-800]_M00_Lab00_Dynamics_365_Labs.md

Module: 00
Lab/Demo: 00
Fixes # .
Changes proposed in this pull request:

Submitted by ParameshRamki on behalf of MOC Labs Review.


text:
Add Workflow Action to build and upload webapp bundle on Release

Added a workflow action that builds and uploads the WebApp tar.gz bundle.
This workflow is triggered on publishing a release and the bundle will be added as an asset to this release.
The version is based on the given releases tag (webapp-<tag_name>.tar.gz).
Every release on any Branch is supported. Changed the format of the version extra to build a SemanticVersion compatible string.
Draft releases are NOT supported and will not trigger this (github trigger restriction).
Demo Release: https://github.com/AlvinSchiller/RPi-Jukebox-RFID/releases/tag/v3.1000.10000-alpha.2
Demo Run: https://github.com/AlvinSchiller/RPi-Jukebox-RFID/actions/runs/7196517075
Changes to come:
- [ ] Add fallback for WebApp installation option if current version bundle is not available
Important notes:
For the next release the version.py must be changed on the develop branch before the merge. Therefor after this is done CI Tests will fail (and after the merge also an installation of the main branch) cause the needed webapp bundle is not yet available without a published release.
So changing version.py should be done right before the merge. Also merging to main and publishing a release should be done right after another, to avoid such "errors".

Pull Request Test Coverage Report for Build 7199939562

0 of 1 (0.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 52.359%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/jukebox/jukebox/version.py
0
1
0.0%

Totals

Change from base Build 7174343890:
0.0%

Covered Lines:
788

Relevant Lines:
1505

💛  - Coveralls

Looks good so far!

Add fallback for WebApp installation option if current version bundle is not available

Why wouldn't it be available if this workflow is automatically triggered? Are you referring to a time where the release is out but the action failed and didn't produce an webapp artifact?

Looks good so far!

Add fallback for WebApp installation option if current version bundle is not available

Why wouldn't it be available if this workflow is automatically triggered? Are you referring to a time where the release is out but the action failed and didn't produce an webapp artifact?

Come to think about it again, im not quite sure anymore xD
I thought of a lot of usecases while getting this to work, but for main  this shouldn't actually be a case, if the release is correctly created.

I had the idea (and it would actually be the right thing to do from a versioning aspect) that after a release, the version on develop will be raised (so currently on develop would be v3.5.0-alpha).

I like the idea, but I am not sure how this could be properly handled. We would have to tag every commit to f3/develop with the recent version tag? Else, how would github now where to to which release it should upload the artifects to? It's typically solved through nightly builds rather than an actual version. But I am not sure if that's supported. (https://dev.to/derlin/how-to-create-nightly-releases-with-github-actions-fpp or https://github.com/knightlyjs/knightly)

Yes, thats the tricky part and im also unsure how this can be done best. Also all steps have to be done automatically, otherwise its just not feasible.
I also see the options you described.

We Tag every new PR Merge commit on future3/develop (e.g. v3.5.0-alpha.x) and create a PreRelease to upload the bundle to. Also there would be the need to update the version.py to "point" to the correct release/tag for installation.

Positive: every tag-version has its distinctable bundle and on installation this can be used and fits the state of the sources.
Negative: it causes a lot of prereleases, tags and addidtional commits. there could/should be a purge mechanism to delete outdated prereleases and tags, but thats even more complexity.

Much like described in https://dev.to/derlin/how-to-create-nightly-releases-with-github-actions-fpp we just supply the latest bundle build for future3/develop.
This would need only one PreRelease with a tag on the new version commit (e.g v3.5.0-alpha) which is created on develop after merging to main. version.py doesn't have to be updated after this, until the next release to main.
Then every commit to future3/develop which affects the webapp triggers the action and uploads and overwrites the bundle.

Positive: Its a lot less complex and the webapp bundle only gets touched if there are changes.
Negative: The bundle is not distinctable, its just latest and greatest. This could cause problems if installations are done from an older (incompatible) commit, e.g. from fork branches that haven't updated to latest develop yet.
This is actually the current situation with the main bundle for "non-production" branches and why local installation is the default.

Ideas to deal with the negatives of 2, which i think are pretty serious and could cause more unnecessary bugreports.

a. Only supply the bundle if installed from the main repo, otherwise local build is needed. Again current behavior of "non-production" branches

Positive: see 2 + no negatives of 2.
Negative: Not useable for forks (but can be worked around with env overrides)

b. Don't upload latest and greatest, but "version" the bundle with the corresponding commit hash (e.g. webapp-v3.5.0-alpha.89078bdf4c19cd08f8ec11c806428da34db43190.tar.gz). This way the bundles are distinctable  and the needed bundle could be calculate from git history (find the last shared commit with the main repo branch: git merge-base upstream/future3). Every Commit on future3/develop has to build the webapp though!
Still local builds are mandatory if changes are made to the webapp on the fork branch (or this can also be calculated from git history?). Complexity is pretty high again.

Positive: Also usable on forks.
Negative: A lot more complex. Still can cause incompatible webapp sources to be deployed on forked branches with custom changes.

If we want to add the this "develop version" feature, personally i would suggest to go with case 2.a.
It has a medium complexity and a quite low overhead. To support this only minor changes to the installation process would be needed, cause the behavior is already known for "non-production" branches.
Also if someone wants to use the bundle on a forked branch it can be worked around with env overrides (CI workflow curently uses this to test download)

While I agree with all your points, you are taking a sledgehammer to crack a nut. Let's not overthink this.
We can expect a few things. For Builders, the recommendation is to use main and this branch always has a proper build. I would never expect someone to use develop for a production Phoniebox. And if you do, you do at it at your own risk.
And if someone still wants to use develop, there is a high chance they use the latest commit (and also get the latest knighly build, see last paragraph).

Ideas to deal with the negatives of 2, which i think are pretty serious and could cause more unnecessary bugreports.

I consider this an extreme edge case and therefore I have don't think this is very serious nor will it cause many bug reports.
And yes, for people that want to build their own branch, building the webapp locally remains the first choice. It should be the default use case. The download is just there because some Pi's just don't have the memory to compile a NodeJS app (up to Pi 3b+, Zero2 etc)
Last but not least, for the main repo, we could always trigger a webapp build after a commit which is saved with webapp-build-COMMITHASH.tar.gz which we can then reference in the install script.

Updating version.py regularly does not scale. Updating tags to the next commit doesn't scale either. I also don't recognize this behaviour from other projects, tbh.

Updating version.py regularly does not scale. Updating tags to the next commit doesn't scale either. I also don't recognize this behaviour from other projects, tbh.

Absolutly agree to this. It was just an option in the line of thoughts, but nothing you would really want to do.

We can expect a few things. For Builders, the recommendation is to use main and this branch always has a proper build. I would never expect someone to use develop for a production Phoniebox. And if you do, you do at it at your own risk.
And if someone still wants to use develop, there is a high chance they use the latest commit (and also get the latest knighly build, see last paragraph). -> 99.9% covered.

You are right. That should be the part we should care about most and what point 2.a. is also about.
To be honest: the other options where just putting my thoughts somewhere and to not miss an important part. It surely would be well overdesigned for the simple feature we want and the usecases given (like you said "a sledgehammer to crack a nut" 😆 ).

So i think we are pretty close to a process definition.
Automation:

Every push to develop triggers an action to build and upload the webapp.
The action

builds the webapp and creates a bundle webapp-build-COMMITHASH.tar.gz
tries to find a release matching the current version from version.py (e.g. v3.5.0-alpha)

if no such release is found it creates one

the bundle will be uploaded to the release

Installation:

The installation process will check if a bundle for the current version and commit hash is available.

if true: download and deploy the bundle
if false: show the user a message that no prebuild bundle is available and the webapp needs to be build locally.

Should this process also be applied to the main branch? This would automate the release creation and make the overall process a lot easier. Only the updates of the release description would be necessary afterwards.

Process looks good to me 👍

tries to find a release matching the current version from version.py (e.g. v3.5.0-alpha)

Do I understand this correctly: After a merge to main, we must update version.py first?
If that's the case, I wonder if we need the commit hash as part of the build name. I am currently under the impression that Github only allows a single uploaded artifact?

Should this process also be applied to the main branch?

I believe yes. But here, I would like the build to not have the commit hash as part of the name :-)

I believe yes. But here, I would like the build to not have the commit hash as part of the name :-)

Ok, always questionable to do the same thing but different, but should be possible without to much hassle ^^
We would not have the case that more then one bundle is needed right? Latest and greatest for one version should be fine on main?

Do I understand this correctly: After a merge to main, we must update version.py first?

I would suggest, changing the version BFEORE the merge (the last commit). Just like its done at the moment.
So there are no diffs on main and develop.
After the merge, the version on develop has to be changed again to the next "develop version".
If the version would be changed on main (release version) and also on develop (next develop version) there would be a merge conflict for the next release.
But that bring up another point. if the version is changed on develop, this must not trigger the creation of a new release, as it would tag the wrong commit. This has to be implemented in the action (ignore the run if on develop branch, an version has no identifier). This would mean between the version changes before and after the merge to main, this action wont run on the develop branch. But i think that should be fine.

We would not have the case that more then one bundle is needed right? Latest and greatest for one version should be fine on main?

I am not too bound to this. Let's keep it simple, even if it means have have commit hashs in the name.
The rest all makes sense. One last question though. Will every commit trigger a new build even though the webapp code has not changed? I guess it would, right?

I am not too bound to this. Let's keep it simple, even if it means have have commit hashs in the name.

👍 We can see how it works out, and if we want to adjust that later on.

One last question though. Will every commit trigger a new build even though the webapp code has not changed? I guess it would, right?

I would say yes, as it makes the process less complex. Every commit has its own bundle, so we can just use the current commit hash. The bundle has currently a size of 1.3 MB so gathering every commit bundle in the release shouldn't be a problem to soon, even with a few hundred commits.
Otherwise there has to be a logic to find the last commit with changes on the webapp and use that commit hash to get the correct bundle.

Implemented Process
Automation

Every push to future3/main or future3/develop triggers an action to build and upload the webapp to a release
The action

checks if it should run

only on the MainRepo "MiczFlor"
only for branches future3/main or future3/develop
on future3/main only if the version in version.py is a release version*
on future3/develop only if the version in version.py is a prerelease version*

builds the webapp and creates a bundle webapp-build-COMMITHASH.tar.gz

the bundle is saved as artifact on the job with a 5 days retention, in case its needed for manual deployment to the release or else

tries to find a release matching the current version from version.py

if no such release is found one is created (Release for future3/main with generated releasenotes, Prerelease for  future3/develop)

uploads the bundle as webapp-build-COMMITHASH.tar.gz and also as webapp-build-latest.tar.gz (see installation)
the release is updated, but name and body will not be overwritten.

* version string are validated against Semantic Versioning format
e.g. release: 1.0.0, 3.5.0, 100.4.50000+metadata
e.g. prerelease: 1.0.0-alpha, 3.5.0-whatsoever.12, 100.4.50000-identifier.12+metadata
Installation

The installation options to choose are not changed (description was updated though to better reflect the behavior).
The setup process will check if a bundle for the current version and commit hash is available

if true: download and deploy the bundle
if false:

check if download is forced (ENABLE_WEBAPP_PROD_DOWNLOAD == true) and if a webapp-build-latest.tar.gz bundle for the current version is available

if true: download and deploy the bundle (possible stale and incomaptible, just like before). Used e.g. for CI and possible fork installations.
if false: the installation is aborted, as the webapp download was chosen but no prebuild bundle for download was found

Demo

Test Branch with current changes (demo versionnumber 3.999999.999999-alpha)
Pull Request to merge changes. Action is not triggerd.
Merge on AlvinSchiller/future3/develop results in Action run and creation of Tag and Prerelease v3.999999.999999-alpha
New Commit on AlvinSchiller/future3/develop results in Action run and adds another bundle to existing Prerelease v3.999999.999999-alpha
Pull Request to merge changes to  AlvinSchiller/future3/main. Action is not triggerd (don't know why the last run from the commit is shown in checks)
Merge on AlvinSchiller/future3/main results in Action run but cancels due to incorrect release version number
New Commit on AlvinSchiller/future3/develop to change version number to release results in Action run but cancels due to incorrect prerelease version number
Pull Request to merge changes to  AlvinSchiller/future3/main. Action is not triggerd (don't know why the last run from the commit is shown in checks)
Merge on AlvinSchiller/future3/main results in Action run and creation of Tag and Release v3.999999.999999 including releasenotes
New Commit on AlvinSchiller/future3/main results in Action run and adds another bundle to existing Release v3.999999.999999
New Commit on AlvinSchiller/future3/main to change version number to next bugfix release results in Action run and creation of Tag and Release v3.999999.1000000 including releasenotes

The CI with the webapp download fails as there is currently no prerelease for develop with a latest bundle. So after the merge it will succeed.

Does it make sense to use the short hashes in the file name of the web app package?
feels easier to handle :)

I am late to the party now.

If possible, let's reduce the commit hash length to 7 digits, it's a common thing to do: A short git commit hash is an abbreviation of the hash to the first 7 characters, it is almost certainly unique within a repository and git will increase the number of characters used if it is not.

Does it make sense to use the short hashes in the file name of the web app package?
feels easier to handle :)

I didn't use the short version as it wasn't easier to begin with :)
It was manually fiddling with the hashes and thinking about possible problems on collisions ^^
And as we just have it as a filename, that someone will hardly ever use manually, i didn't see it as a problem.

If possible, let's reduce the commit hash length to 7 digits, it's a common thing to do: A short git commit hash is an abbreviation of the hash to the first 7 characters, it is almost certainly unique within a repository and git will increase the number of characters used if it is not.

Although common some problems with duplication are reported. And I don't now if this is also the case for storing hashes.
Git will increase the number of characters, but thats only true for future access. And we can't use this automatic mechanism as we have fixed length stored hash, which we have to match.
It most likely will never hit though, as the duplication would need to be in the same version, but in the unlikely event^^
If we really shorten the length, i would go for some more characters like 12 -15, or so. Its still a lot less, but should ensure uniqueness enough.

@s-martin @pabera
Change to shorter hashes? If yes, how short?

I believe 7 chars is the typical length, it's what I read

Thas what a read regarding the default length and its uniquness.
How much of a git sha is generally considered necessary to uniquely identify a change in a given codebase?

https://stackoverflow.com/a/18134919
https://stackoverflow.com/a/21015031

git-config.txt-coreabbrev

core.abbrev
the length object names are abbreviated to. If unspecified or set to "auto", an appropriate value is computed based on the approximate number of packed objects in your repository, which hopefully is enough for abbreviated object names to stay unique for some time. If set to "no", no abbreviation is made and the object names are shown in their full length. The minimum length is 4.

Git-Tools-Revision-Selection

Short SHA-1
...
Generally, eight to ten characters are more than enough to be unique within a project. For example, as of February 2019, the Linux kernel (which is a fairly sizable project) has over 875,000 commits and almost seven million objects in its object database, with no two objects whose SHA-1s are identical in the first 12 characters.

Maybe just go for 10 so no one has to touch this very soon?  ^^

authors: AlvinSchiller coveralls pabera s-martin

repo: MiczFlor/RPi-Jukebox-RFID


text:
Cara mengganti metode bayar jika sudah terlanjut memilih?

halo semuanya.
saya menggunakan snap untuk pembayaran user berjalan dengan baik, namun ada kejadian user awal memilih pembayaran indomaret misalnya, lalu dia ingin mengganti ke yang lain. bagaimana ya caranya? di snap tidak ada menu untuk mengganti cara bayarnya jika sudah terlanjur dipilih, terimakasih

Setahu saya perlu dibatalkan dulu transaksinya mas @rizalahmaddd , baru bisa dipilih metode lainnya

authors: rizalahmaddd rmdhfz

repo: Midtrans/midtrans-php


text:
🛑 headache.or.kr is down

In 91f54c1, headache.or.kr (https://www.headache.or.kr/index.php) was down:

HTTP code: 0
Response time: 0 ms

Resolved: headache.or.kr is back up in cf07116 after 24 minutes.


text:
🛑 chronicmigraineawareness.org is down

In b2f5eb2, chronicmigraineawareness.org (https://chronicmigraineawareness.org/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: chronicmigraineawareness.org is back up in 0f69e25 after 13 minutes.

repo: MigraineKR/upptime


text:
🛑 headache.or.kr is down

In 5d29a41, headache.or.kr (https://www.headache.or.kr/index.php) was down:

HTTP code: 0
Response time: 0 ms

Resolved: headache.or.kr is back up in 48c721d after 42 minutes.


text:
🛑 migrainetrust.org is down

In ce3f464, migrainetrust.org (https://migrainetrust.org/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: migrainetrust.org is back up in 7617be2 after 12 minutes.


text:
Fix minor typos

Issue Fixed #
Proposed Changes

Correct a couple of spelling typos in the README.md

@MikeCoder

Nice job, thanks.

authors: MikeCoder jalanb

license: mit

license_source: bigquery


text:
Implement polyfill for TC39 bigdecimal

See:
https://github.com/tc39/proposal-decimal/issues/17
(polyfill)
and:
https://github.com/tc39/proposal-decimal/issues/18
(babel)

Okay, here's a preliminary polyfill implemented from a severely hacked decimal.js:
bigdecimal.zip
The API is as described at the TC39 Decimal proposal and the Decimal: For Stage 1 slideshow.
The zip file contains an ES module version and an ES 3+ compatible UMD version.,
Example usage:
import BigDecimal from './bigdecimal.min.mjs';

let a, b, c, options;

a = BigDecimal(0.1);
b = BigDecimal('0.1');

console.log( a['==='](b) )              // false

console.log(a.toString());              // '0.1000000000000000055511151231257827021181583404541015625'
console.log(b.toString());              // '0.1'

console.log( a['!=='](b) );             // true
console.log( a['=='](b) );              // false
console.log( a['!='](b) );              // true
console.log( a['>'](b) );               // true
console.log( a['>='](b) );              // true
console.log( a['<'](b) );               // false
console.log( a['<='](b) );              // false

console.log( a['+'](b).toString() );    // '0.2000000000000000055511151231257827021181583404541015625'

c = a['-'](b);
console.log( c.toString() );            // '5.5511151231257827021181583404541015625e-18'
console.log( c.toFixed() );             // '0.0000000000000000055511151231257827021181583404541015625'

console.log( a['*'](b).toString() );    // '0.01000000000000000055511151231257827021181583404541015625'

a = BigDecimal('34.63');
b = BigDecimal('2.2343465');
c = BigDecimal(b);

console.log( b['==='](c) )

console.log( a['%'](b).toString() );

options = { maximumSignificantDigits: 20, roundingMode: BigDecimal.ROUND_HALF_UP };

console.log( BigDecimal.add(a, b, options).toString() );
console.log( BigDecimal.sub(a, b, options).toString() );
console.log( BigDecimal.mul(a, b, options).toString() );
console.log( BigDecimal.div(a, b, options).toString() );
console.log( BigDecimal.mod(a, b, options).toString() );
console.log( BigDecimal.pow(a, BigDecimal(11), options).toString() );

options = { maximumFractionDigits: 2, roundingMode: BigDecimal.ROUND_UP };

console.log( BigDecimal.round(a, options).toString() );

console.log( b.toExponential() );
console.log( b.toExponential(4, { roundingMode: BigDecimal.ROUND_HALF_UP }) );

console.log( b.toFixed(4, { roundingMode: BigDecimal.ROUND_HALF_UP }) );
console.log( b.toPrecision(4, { roundingMode: BigDecimal.ROUND_HALF_UP }) );

Ping https://github.com/tc39/proposal-decimal/issues/17 for input

@MikeMcl do you have a non-minified version checked in somewhere?

Yes, I have a non-minified version. I don't want to expose it before I've had a chance to clean it up a bit.

authors: MikeMcl hildjj


text:
[BUG] issue with Report button in the footer

Description
Report Button in the footer shows a blank screen after clicking.
Screenshots
No response
Browser 🥦
Microsoft Edge
Checklist ✅

[X] I checked and didn't find similar issue
[X] I have read the Contributing Guidelines
[ ] I am willing to work on this issue (blank for no).

Hi @YuvarajSingh-0 , please complete #1079 first. Thanks.

repo: MilanCommunity/Milan


text:
codegen_level="min" and broadcasting with function arguments result in runtime instability check

Consider the following:
using DispatchDoctor: @stable

@stable default_codegen_level="min" function mymap!(f, y, x)
    for i in eachindex(y, x)
        y[i] = f(x[i])
    end
    return nothing
end

mymap! should be a fast, stable, and allocation-free function. Not so:
julia> using BenchmarkTools: @benchmark

julia> include("mymap.jl")

julia> @benchmark mymap!(identity, $(zeros(1000)), $(zeros(1000)))
BenchmarkTools.Trial: 10000 samples with 8 evaluations.
 Range (min … max):  3.670 μs …  24.436 μs  ┊ GC (min … max): 0.00% … 0.00%
 Time  (median):     4.278 μs               ┊ GC (median):    0.00%
 Time  (mean ± σ):   4.451 μs ± 885.102 ns  ┊ GC (mean ± σ):  0.00% ± 0.00%

  ▃▄▁▃█▇▄▇█▆▃▄▄▃               ▁                              ▂
  ███████████████▇▇▆▅▅▄▄▄▄▅▇██████▇▇▇▆▇▆▆▇██████▆▅▇▆▅▅▅▄▄▄▂▄▅ █
  3.67 μs      Histogram: log(frequency) by time      8.25 μs <

 Memory estimate: 1.27 KiB, allocs estimate: 16.

The allocations disappear and performance improves by a factor of 40 in either of the following conditions:

Removing @stable
Using default_codegen_level="debug"
Adding a type variable for f, as in function mymap!(f::F, y, x) where {F}

The culprit is likely that the generated mymap! implementation does not specialize on the type of f, since it's never called in mymap!'s body but only passed to other functions (specializing_typeof; mymap!_simulator`). Hence the stability check must be performed at runtime, leading to the observed performance and allocation penalty.

If the function argument is only used in a broadcasting expression, the problem persists when default_codegen_level="debug", since the broadcast syntax only lowers to various higher-order calls with no direct calls to f, so the explicit inlining of the function body due to "codegen_level="debug" doesn't help:
using DispatchDoctor: @stable

@stable default_codegen_level="debug" function mymap!(f, y, x)
    y .= f.(x)
    return y
end

julia> using BenchmarkTools: @benchmark

julia> include("mymap.jl")

julia> @benchmark mymap!(identity, $(zeros(1000)), $(zeros(1000)))
BenchmarkTools.Trial: 10000 samples with 7 evaluations.
 Range (min … max):  4.436 μs … 27.096 μs  ┊ GC (min … max): 0.00% … 0.00%
 Time  (median):     4.610 μs              ┊ GC (median):    0.00%
 Time  (mean ± σ):   5.052 μs ±  1.282 μs  ┊ GC (mean ± σ):  0.00% ± 0.00%

  ▆█▃▅▄▂▂▄▁         ▁                                        ▁
  ███████████▇▅▅▅▄▅████▇▆▆▇▇▇▇▆██▆▇▆▇▇▆▆▆▆▅▅▆▅▅▅▄▅▄▅▄▃▅▅▂▅▄▅ █
  4.44 μs      Histogram: log(frequency) by time       11 μs <

 Memory estimate: 1.41 KiB, allocs estimate: 20.

Once again, removing @stable or adding a type variable f::F fixes the problem. (The four extra allocations compared to the previous case remain if @stable is removed, as they are due to the dynamic dispatch incurred by the calls to the broadcasting machinery. They disappear when adding f::F, as they are ultimately caused by the same lack of specialization.)

I think this is a real issue, not the fault of DispatchDoctor, no? Julia does not specialize to functions unless you declare a type variable like f::F: https://docs.julialang.org/en/v1/manual/performance-tips/#Be-aware-of-when-Julia-avoids-specializing.

These will not specialize:
f_func(f, num) = ntuple(f, div(num, 2))
g_func(g::Function, num) = ntuple(g, div(num, 2))

but this will:
h_func(h::H, num) where {H} = ntuple(h, div(num, 2))

If it the function is getting inlined by the compiler, then performance will be saved (since it will know what f is), but otherwise, I think it's a real instability, and DispatchDoctor.jl is correct here. If you expect inlining to always be performed then you could add an @unstable to it?

The problem is the runtime instability check, tanking performance and adding allocations to a function that would otherwise be fast and allocation-free. It's not an instability; @code_warntype, DispatchDoctor, and every other mechanism agree that these functions are type stable.

Inlining can fix it, but you have to be explicit about it, the compiler doesn't inline even this tiny example by default:
@stable default_codegen_level="min" function mymap!(f, y, x)
    for i in eachindex(y, x)
        y[i] = f(x[i])
    end
    return y
end

f!(f::F, y, x) where {F} = mymap!(f, y, x)
g!(f::F, y, x) where {F} = @inline mymap!(f, y, x)

julia> @benchmark f!(identity, $(zeros(1000)), $(zeros(1000)))
BenchmarkTools.Trial: 10000 samples with 8 evaluations.
 Range (min … max):  3.325 μs … 53.729 μs  ┊ GC (min … max): 0.00% … 0.00%
 Time  (median):     3.999 μs              ┊ GC (median):    0.00%
 Time  (mean ± σ):   4.530 μs ±  1.657 μs  ┊ GC (mean ± σ):  0.00% ± 0.00%

  ▄▂▆▅█▆▇▄▂▂    ▁ ▁▁▁▁▁▁▁▁▁                                  ▂
  ██████████▇▇▇▇███████████████▇▇██▇▇▆▆▆▆▅▇▇▇▆▅▆▅▅▆▆▆▆▆▄▅▅▅▆ █
  3.33 μs      Histogram: log(frequency) by time     11.5 μs <

 Memory estimate: 1.27 KiB, allocs estimate: 16.

julia> @benchmark g!(identity, $(zeros(1000)), $(zeros(1000)))
BenchmarkTools.Trial: 10000 samples with 972 evaluations.
 Range (min … max):  74.403 ns … 186.966 ns  ┊ GC (min … max): 0.00% … 0.00%
 Time  (median):     76.914 ns               ┊ GC (median):    0.00%
 Time  (mean ± σ):   82.468 ns ±  15.298 ns  ┊ GC (mean ± σ):  0.00% ± 0.00%

  █▃▅▆▅▁     ▂▂ ▁ ▁▁         ▁ ▁                               ▁
  ██████▇▆▄▃▅█████████▆▇▇██▇▆████▇▆▆▆▃▆▆▆▅▄▆▅▅▃▇▇▇▇▇▆▅▅▄▃▄▇▄▆▄ █
  74.4 ns       Histogram: log(frequency) by time       149 ns <

 Memory estimate: 0 bytes, allocs estimate: 0.

I still think this is a real type instability, it's just that it occurs outside the purview of the analysis tools. Basically, you are calling a function that is unknown to the compiler, so the return value of the function could be a Tuple{} (indicating it threw an error) or Nothing. But each time DispatchDoctor or @code_warntype are given a particular instance of a function f, they can validate that the return value is indeed Nothing.
At runtime, DispatchDoctor and @code_warntype are given the precise value of f – and therefore are able to eliminate the Tuple{}. But since the value of f isn't known to the compiler, it has to do runtime dispatch.

In the non-broadcasting case, the instability is caused by the extra layer of indirection that DispatchDoctor inserts when codegen_level="min". The function mymap! would otherwise specialize since f is called within it's body.
The broadcasting case is perhaps a bit more nuanced, but DispatchDoctor certainly adds a massive overhead due to the runtime stability check.

From the docs you linked: "Julia will always specialize when the argument is used within the method, but not if the argument is just passed through to another function."

On my machine, before adding the f::F to mymap!:
julia> @benchmark f!(identity, $(zeros(1000)), $(zeros(1000)))
BenchmarkTools.Trial: 10000 samples with 9 evaluations.
 Range (min … max):  2.088 μs …   7.153 μs  ┊ GC (min … max): 0.00% … 0.00%
 Time  (median):     2.245 μs               ┊ GC (median):    0.00%
 Time  (mean ± σ):   2.276 μs ± 177.738 ns  ┊ GC (mean ± σ):  0.00% ± 0.00%

        █▇▅▇▁▁▂█▂▁▃  ▂  ▂
  ▁▁▁▁▂▄██████████████▇▇█▆▆▅▆▄▃▄▂▂▂▂▂▁▂▂▁▂▁▂▂▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁ ▃
  2.09 μs         Histogram: frequency by time        2.72 μs <

 Memory estimate: 1.27 KiB, allocs estimate: 16.

and after adding it:
julia> @benchmark f!(identity, $(zeros(1000)), $(zeros(1000)))
BenchmarkTools.Trial: 10000 samples with 943 evaluations.
 Range (min … max):  100.256 ns … 316.631 ns  ┊ GC (min … max): 0.00% … 0.00%
 Time  (median):     112.583 ns               ┊ GC (median):    0.00%
 Time  (mean ± σ):   114.974 ns ±  20.494 ns  ┊ GC (mean ± σ):  0.00% ± 0.00%

    ▆▇█
  ▃▃████▄▃▂▂▂▂▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂ ▃
  100 ns           Histogram: frequency by time          297 ns <

 Memory estimate: 0 bytes, allocs estimate: 0.

Yes. And if you remove both @stable and f::F, or remove just f::F and set codegen level to debug, those also look like the second case.

Oh I see what you mean. Yeah that's weird. Any idea why?

I think so... Even without f::F, the function does specialize if f is actually called within the body of the method. That happens in all these cases except the original one, with codegen level "min" and no f::F

I mean, I guess I wouldn't expect mymap!(f, x, y) = ... to be fast in the first place, due to the specialization rules. I feel like we are getting lucky that it's fast, but usually you would have to do the f::F where {F} trick to not incur runtime dispatch.
Sometimes the compiler is so smart it doesn't matter though. I guess on DispatchDoctor.jl's side it would be good to not get in the way of the compiler here though (hence this issue).
Also, the quote you noted above doesn't refer to function objects as far as I am aware (otherwise we wouldn't need to use f::F ever). But I'm still a bit confused about this (maybe I just need sleep). Note that @code_warntype is known to lie sometimes: https://github.com/JuliaLang/julia/issues/32834

Also, the quote you noted above doesn't refer to function objects as far as I am aware

The way I read that paragraph I think it does refer to function arguments, which is why I assume mymap!(f, y, x) to be reliably performant. The lack of specialization is relevant when mymap! only passes f through to another function, for example, mymap!(f, y, x) = myactualmap!(f, y, x), and that function is not inlined. This is effectively what's happening in the broadcasting example.

Very weird. That does make sense to me though, thanks for explaining it.
So I guess maybe Expr(:call, :map, :f, :x) doesn't count as "using" it whereas, e.g., Expr(:call, :f, :x) does? It feels like this shouldn't be true though, because sometimes functions are types... and the type might just get passed between functions rather than called explicitly. Weird indeed.
It does look like Julia is actually specializing here:
julia> function mymap!(f, y, x)
           for i in eachindex(y, x)
               y[i] = f(x[i])
           end
           return y
       end
mymap! (generic function with 1 method)

julia> Base.specializations(@which mymap!(identity, zeros(1000), zeros(1000)))
Base.MethodSpecializations(MethodInstance for mymap!(::typeof(identity), ::Vector{Float64}, ::Vector{Float64}))

(which doesn't lie, unlike @code_warntype).
Ok, so, I guess this is the issue? When using codegen_level="min", Julia thinks the function object is not "used" and therefore the function should not specialize to it.
So really what we need is a way to have the caller function have the exact same specializations as the simulator function...

One idea:
The first iteration of DispatchDoctor.jl used closures, like:
function f(a, b, c)
    closure() = $body
    Base.promote_op(closure) && ....
    return closure()
end

The problem with this is that due to https://github.com/JuliaLang/julia/issues/15276, if the closure modifies a, b, or c, you will create a type instability.
However, maybe the simulator function could just get stuck inside the main function, arguments and all. It's just tricky because we need to sanitize all arguments so there is no shared arguments between the main function and closure – it should be like
function f(a, b, c)
    function closure(_a, _b, _c)
        return ...
    end
    Base.promote_op(closure, type.((a, b, c))...)
    return closure(a, b, c)
end

which might work. But it would require extreme care with the arguments and also type parameters. Maybe doable...
We'd also need to verify that this actually eliminates the problems discussed in the issue, or maybe specialization of the closure wouldn't affect specialization of the wrapper, so we'd be back to square one.

Ok, so, I guess this is the issue?

Thinking a bit more, an ideal DispatchDoctor would never alter anything about specialization behavior or inlining, and never add extra runtime work. However, as a matter of priority, maybe the most important thing is to preserve inlining heuristics as much as possible? In practice, that might take care of the most common cases where this issue is encountered.

function f(a, b, c)
    function closure(_a, _b, _c)
        let (a, b, c) = (_a, _b, _c)
            $body
        end
    end
    type_instability(Base.promote_op(closure, type.((a, b, c))...)) && ...
    return closure(a, b, c)
end

I don't think it's necessary to generate new names here. closure only shares names with the outer function if they arent' defined locally through the argument list or an assignment, so reusing names is not a problem (other than for readability, but macro-generated code could be excused for lacking in that department).
Technically speaking, this isn't a closure, since it doesn't capture any variables. It's just a regular function whose name is only defined in a local scope.
However, I think I tried doing exactly this in a potential DispatchDoctor contribution that never went anywhere, and I think the problem was that the instability check could never be compiled away. Perhaps a world-age issue of some sort?

My first thought was to inject a type variable for every argument to the outer function that doesn't already have one, to force specialization there. That should solve static inference of the instability check, and as long as f_simulator preserves the original signature, the overall specialization behavior should be unchanged for codegen level "min". However, this would sometimes change specialization behavior for codegen level "debug".
Another idea is to factor out the instability check and error path into a separate function where specialization for every argument is always enforced. Perhaps this could increase the chance of having the stability check compiled away, and it might also reduce the effect of @stable on inlining heuristics since the net change is now only a single extra line in the method body (just spitballing here, I have no idea how the inlining heuristics actually work). I don't know how this would affect overall specialization behavior.
One thing that does not work is adding @inline to the simulator call site for codegen level "min". Somehow that makes everything worse.

authors: MilesCranmer danielwe


text:
Deploy Bot

TO DEPLOY A BOT THAT GETS 5min DATA AT END OF TRADING DAY FOR 20 STOCKS and save them as CSV. Then update CSV and store on Kaggle.

Based on calculations.
I can store 2years of data for 2000 tickers using 5min df.
Or 4 years of data for 100 tickers.

repo: Miltiadis-Kon/gotti-visualize


text:
Transaction construction end-to-end test in CI

A zk app that we deploy on a integration test network and send transactions with mina signer
In the test in the Mina repo
Maybe: clone snarkyjs@alpha, use local copy of signer; during the integration test

Instead of clone in CI, make snarkyjs a git submodule of mina
Create process for snarkyjs releases that is tied to updating the submodule in mina, so that CI ensures the end-to-end test is passing

authors: bkase mitschabaude

repo: MinaProtocol/mina


text:
Replayer, verify account creation fee for internal commands

The archive processor was updated recently to populate a new column receiver_account_creation_fee_paid in blocks_internal_commands. For existing archive databases, the script internal-command-account-fees.sh adds the column and populates it with values.
To make sure that a database has that column with correct values, verify those values in the replayer. That is, make sure it has the correct value when needed, and NULL when not needed.
Tested by running the replayer test locally, the same one that's run in CI.
Closes #9430.

Ha, this found a bug in the archive db used by the replayer test. I hadn't run it all the way through locally.


text:
Better UI for Signup and Login Pages

Issues

The UI for Signup and Login is not very handy for the user and likely to be frustrated to fill it up.

Expected Outcome

The Signup and Login Page are horizontally Flipped and UI is made perfectly aligned and visually good.

Assign me this issue @MinavKaria
Tags: gssoc'24 extd , hacktoberfest'24

Ok assign this to you @Akshithsaai

authors: Akshithsaai MinavKaria

repo: MinavKaria/Ratna-Supermarket


text:
feat : Adding toast messages instead of simple alert box for login signup and pincode checker

This feature request proposes replacing the current use of simple alert boxes with toast messages for better user experience and interface design during login, signup, and pincode checker operations.
Proposed Changes:

Login & Signup:

Replace current alert boxes that show success or error messages (e.g., login successful, invalid credentials, etc.) with non-intrusive, visually appealing toast notifications.

Pincode Checker:

Display toast messages to show whether the entered pincode is valid or invalid, improving feedback to the user.

Benefits:

Improved UX: Toast messages provide a cleaner, more modern look than alert boxes, which are disruptive and block user interaction until dismissed.
Non-intrusive notifications: Toasts allow users to continue interacting with the page without interruptions.
Customization: Toast messages can be styled with colors and icons to clearly distinguish between success, error, or information states.

Acceptance Criteria:

All alert boxes in the login, signup, and pincode checker processes should be replaced with toast notifications.
Toasts should auto-dismiss after a few seconds and should be accessible and responsive.

This enhancement will significantly improve the user experience by making the feedback process smoother and more visually appealing.

Hi @laxmanp090404! Thanks for opening this issue on Ratna Supermarket. We appreciate your contribution to this open-source project. We aim to respond or assign your issue as soon as possible.

@MinavKaria  I am a gssoc-extd contributor and also hacktober contributer

You are good to go

Hello @laxmanp090404! Your issue #67 has been closed. Thank you for your contribution!🚀