AspNetResponseStatus Not Triggering As Expected

Note: I haven't determined the root cause of this issue, but I wanted to share the behavior I was noticing as well as how to repro it.
Using a simple configuration of the AspNetResponseStatus trigger, the collection rule doesn't always trigger when it should. In basic testing, it appears that instead of triggering on each instance of a 404 status code, it generally triggers on every third instance. I first noticed this using the configuration below on a dummy "FirstWebApp" application by entering an invalid path (e.g. localhost:5002/abc). During debugging, it appears that the traceEvents for a stopped activity (with the corresponding 404 status code) aren't being checked until several more requests have occurred.
To repro, below is the collection rule configuration I was using (with a local basic web app). Try a URL that won't work (such as localhost:5002/abc), and continue repeatedly trying invalid URLs. Pay attention to when the collection rule is successfully triggered and a dump is actually egressed.
Especially since I haven't looked far enough into it to find a solution, it's possible this is due to an issue with how I've configured this file, but I wanted to list something for it before investigating further. If you have any questions or can't get it to repro, let me know and I can make a screen recording of the behavior I'm seeing.
  "CollectionRules": {
    "BadResponseStatus": {
      "Trigger": {
        "Type": "AspNetResponseStatus",
        "Settings": {
          "ResponseCount": 1,
          "StatusCodes": [
            "400-499"
          ],
          "SlidingWindowDuration": "00:00:05"
        }
      },
      "Actions": [
        {
          "Type": "CollectDump",
          "Settings": {
            "Egress": "artifacts",
            "Type": "Full"
          }
        }
      ],
      "Limits":{
        "ActionCount": 1000,
        "ActionCountSlidingWindowDuration": "00:30:00"
      }
    }
  }

Depending on the timing of the requests you are sending, you may be sending requests that you expect to trigger the collection while the rule is not monitoring for the trigger condition. For example, when the trigger condition is satisfied, the trigger is turned off and the entire action list is processed; when the action list is finished executing, the trigger is started again. If you attempt to make requests that you think should satisfy the trigger condition during the trigger between when the trigger was turned off and when it eventually is turned on again, those requests will not be counted.

https://user-images.githubusercontent.com/85592574/140425835-1fe3343a-1d35-40af-949c-3d83c100ae01.mp4
Let's see if this works; I dropped a screen recording (there's no sound, but it should be easy to follow with the cursor). It doesn't feel like this would be the expected behavior, but I could be missing something.

Justin and I took a look at this together yesterday; the current theory is that there may be a buffer issue in the runtime requiring approximately 1-3 additional requests beyond the ResponseCount to trigger the collection rule (and that the problem is not in dotnet monitor). I was able to get this to repro with net5.0 and net6.0 applications (collection rules are not supported on netcoreapp3.1).

FYI, @josalem, the trace event library doesn't invoke the registered callback until more events are put into the event pipe. Putting one event into the pipe and waiting for a while (about a minute) wasn't enough for us to observe the event callback.

This sounds like an issue I identified in TraceEvent last year. If it is the same issue, it is because the reader in EventPipeEventSource requires 8-byte alignment for its reads. EventPipe does not guarantee that event blocks will be 8-byte aligned due to variable length encoding of the headers. Different processors seem to impact the chances of this happening due to differing values in their hardware counters which are used for the timestamps in headers. The reader won't dispatch events in a block until it completes the read. This can result in a complete EventBlock sitting in the readers buffer until it receives the next event.
https://github.com/microsoft/perfview/issues/1447


New version: KitLib.Kite version 0.0.19

Created by 🥟 Dumplings in workflow run #10508.

Log
Updated: 0.0.18 → 0.0.19
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request

Microsoft Reviewers: Open in CodeFlow

Manual Validation ended with:

2024-12-24 09:42:23.297 [CLI ] Package hash verification failed. SHA256 in manifest [c72532eea4aa2a6f59236668f0087b1948a2f99df7df3725565d511981109453] does not match download [78d57a51bae611d7ac52813ff0ef0965b18b380e3d36762ad7fdcb67e89247cc] with file size [3755071] and content type []

(Automated response - build 931.)


Can we add this question: Front door WAF policy association with AFDX profiles that belong to different subscriptions

Hi, can we add this question in the FAQ Page?
Question: Can we apply the one Front door WAF policy to front-end hosts in different Front Door premium (AFDX) profiles that belong to different subscriptions?
Answer: No, we cannot. AFD profile and the WAF policy need to be in the same subscription.

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

ID: 4d29386e-2da4-0f4c-d711-08b5692bc116
Version Independent ID: c3028ecd-e281-04e5-2a32-f89be60a1ecd
Content: Azure Web Application Firewall on Azure Front Door Service - frequently asked questions
Content Source: articles/web-application-firewall/afds/waf-faq.yml
Service: web-application-firewall
GitHub Login: @vhorne
Microsoft Alias: victorh

@ishanslab , thank you for your feedback. We'll review this and get back to you shortly!

@ishanslab , we have assigned this to the content owner/author for review.
@vhorne , for your review.

Done
#please-close


DEV-5887 DEV-5819 monochart with ALB

adding URL path filtering functionality that is available on Application Load Balancer to monochart's ingress
this will allow us to benefit from ALB listener rules to for example: prevents from unauthorized access

Example helmfile
(...)
        ingress:
          default:
             annotations:
               kubernetes.io/ingress.class: alb
             hosts:
               '{{ env "APP_HOST" }}':
                 - /status
                 - /api/v1/request

Merging on Monday


Consider creating an organization

Using a GitHub organization would allow to appoint multiple owners.
This could help in reviving the project and keeping it up-to-date.

Hi @MaxAtoms, post octoberfest we can discuss this along with you taking over maintaining the project.

From my side, yes. I am open to discuss this.
Here is the related documentation on how to transfer a repo:
https://docs.github.com/en/repositories/creating-and-managing-repositories/transferring-a-repository
I could create the organization.

 You can find it here. As you can see, the original idea belonged to Jim Weirich and the initial .NET version was by @coryfoy. I took Cory's work and got it running in .net core and made some other additions.
All I ask by a new maintainer is that Jim feature heavily in discussions/documentation of it and Cory and I are credited for our efforts as long as the project exists.
If you are agreeable, I am happy to hand the reins over to you.

@NotMyself Thank you for the mention and credits, especially to Jim. I'm happy that original project still has value to people!

@NotMyself I am very happy to oblige to keep and highlight these acknowledgments.
You should have received an invitation to join the newly created organization as a second owner. That means that you will not be giving up the reigns completely. Rather, we will both have the same control over the project.
When you find the time, you can then import the repository: https://docs.github.com/en/repositories/creating-and-managing-repositories/transferring-a-repository
@CoryFoy If we find that a GitHub organization is the right structure to maintain the .NET Koans, we could also talk about importing your existing koans, if you are open for this discussion. However, I would do that at a later point and first collect some experience with only this one repo.
Thinking about it, it might actually make sense to rename the DotNetKoans (formerly DotNetCoreKoans) again when importing them into the organization. If we rename them to CsharpKoans, we could at a later point have VisualBasicKoans and maybe even FsharpKoans under the umbrella of the organization. That is an idea I just had, though.

And done.

@MaxAtoms More than happy for them to be there if they're useful! No rush - just let me know whatever it is you all need once you get up and running.


Enable the SAP Translation Hub Service

Tutorial URL: https://developers.sap.com/tutorials/sth-enable.html
Please specify the step you are referring to:
Step 1: Launch SAP Web IDE
The "Launch SAP Web IDE" button is not available anymore, which makes it difficult to follow the additional steps.

I will work on this topic asap

https://github.com/SAPDocuments/Tutorials/pull/6192

Thank you for your feedback. The issue seems to be resolved, so I am closing the issue.
If you still have questions, feel free to reopen the issue.


Update compose version to 1.6.1

I have issue building IOS project, most propably because Voyager library uses compose 1.6.0-beta01 which is incompatibile with higher versions of compose. The highest versions of compose that work with Voyager is 1.6.0-beta02.
This issue is explained here:
https://github.com/JetBrains/compose-multiplatform/issues/4277#issuecomment-1945922199
Also I've created issue in compose multiplatform Github that explains my issue more:
https://github.com/JetBrains/compose-multiplatform/issues/4525

We have merge a update of the compose to Stable 1.6.0, it should fix this issue as well!


1.18.0 - Incorrect indentation of brace after pipe

Steps to reproduce
$def = @'
function hello {
  if ($true) {
    Write-Host "hello"
  }
  if ($true) {
    "hello" | Out-Host
  }
}
'@
Invoke-Formatter -ScriptDefinition $def -Settings CodeFormattingOTBS

Expected behavior
This is the output when using 1.17.1
function hello {
    if ($true) {
        Write-Host "hello"
    }
    if ($true) {
        "hello" | Out-Host
    }
}

Actual behavior
This is the output when using 1.18.0
function hello {
    if ($true) {
        Write-Host "hello"
    }
    if ($true) {
        "hello" | Out-Host
}
}

Environment data

> $PSVersionTable
Name                           Value
----                           -----
PSVersion                      6.1.3
PSEdition                      Core
GitCommitId                    6.1.3
OS                             Microsoft Windows 10.0.17763
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0
> (Get-Module -ListAvailable PSScriptAnalyzer).Version | ForEach-Object { $_.ToString() }
1.18.0
1.17.1

Thanks, very good and concise repro :-)
This seems to be a regression in the PSUseConsistentIndentation rule that got introduced in 1.18.0, which is not specific to CodeFormattingOTBS. It seems the number of emitted DiagnosticRecords are the same but the last DiagnosticRecord has a wrong correction.
The following works fine so it seems to be indirectly caused by the pipeline
$def = @'
function hello {
  if ($true) {
    Write-Host "hello"
  }
  if ($true) {
    Write-Host "hello2"
  }
}
'@
Invoke-Formatter -ScriptDefinition $def -Settings CodeFormattingOTBS

Therefore the problem shows up in this simpler scenario as well:
$def = @'
function hello {
  if ($true) {
    "hello" | Out-Host
  }
}
'@
Invoke-Formatter -ScriptDefinition $def -Settings CodeFormattingOTBS

I made improvements to the multi-line pipeline indentation behaviour and added configuration to it in the recent release but it seems I need to review the logic and look at this problem in the debugger to see why it gets it wrong.

I actually noticed that in VSCode as well. after updating to the newest version when using formatting when it finds pipeline 1 line above, everything under it gets moved closer to the left.

I guess the best option would be either to set the default setting of the next vscode extension update to NoIndentation or try fix it in PSSA and ship a patch. WDYT @tyler @rjmholt

@bergmeister it seems that option 1 is the fastest so lets go with that. I had snapped some builds already but seeing this I can snap some more.

Same issue after upgrading to 1.18.0:
Describe 'test' {
    Context 'test' {
        It 'test' {
            $true | Should -BeTrue
    }
    It 'test' {
        $true | Should -BeTrue
}
It 'test' {
    $true | Should -BeTrue
}
}
}

Seeing this too. It's badly reformatting all my code!
Example here is just start of issues in a function. Once things have moved left they stay left all the way to the end of the file

gmo -list PSScriptAnalyzer

ModuleType  Version    Name

Script     1.18.0     PSScriptAnalyzer

@DarkLite1 @fatherjack Your cases will be fixed with the next update of the vscode extension, which will change the default setting to NoIndentation. At the moment, the extension is not aware of this setting yet and the PSSA internal default applies to it. For the moment, you could uninstall PSSA 1.18.0 if it annoys you.
Just to give a bit of background in case some people are concerned:

PSScriptAnalyzer 1.17.1 did not handle multi-line pipelines well. With more than 2 lines the indentation was mostly inconsistent and I'd even say that the behaviour was ill-defined as the code did not cater for it at all.
In 1.18.0 I improved it to handle multi-line pipelines. Because at this point I had to introduce logic where people might have different style preferences, I made the new multi-line behaviour configurable (i.e. the indentation after the first line), those are the 3 new settings: IncreaseIndentationAfterEveryPipeline, IncreaseIndentationForFirstPipeline and NoIndendation
Unfortunately there are lots of cases to consider and although different test cases were written, there was one flaw in the logic in the case when the setting was IncreaseIndentationAfterEveryPipeline or IncreaseIndentationForFirstPipeline. This is the reason why changing the default to NoIndendation makes the bug not appear any more.
The good news is that although users will not be able to use the first 2 settings (that might be more popular for most users), the behaviour will be as it was in PSSA 1.17.1, except that the multi-line behaviour will not be ill-defined as it used to be and therefore the bug fix that I did has still lead to some improvement, therefore this PR just means that part of a new feature will not be available right now until there is a fix in PSSA.

Concluding, it was unfortunate that this happened but at least with this we can protect the user's from it without any noticeable, negative impact, which shows that configurable settings or flags can really be helpful. Unfortunately there are many different cases and unfortunately some special ones are only found once it is in the wild. I hope that in the future, PSSA publishes preview releases (this is not entirely in my hand) and that user's are understandable, the feedback from users is very valuable though and we try to be as response as possible (in 1.17, a patch to the signing problem and a reported NullReferenceException was released only a few days later)

@bergmeister Hi, thanks for the detailed response. In reference to your points:
1 - I never noticed any bad indenting around lines with more than 3 or 4 pipelines.
2 - no comment
3 - As mentioned in my report of the issue, using "NoIndentation" doesnt resolve the issue in my experience. Can you please confirm the file I should edit and precise syntax I need to replace?
4 - no comment
Do you have any estimate on when the next update of the extension is likely to be please?

@fatherjack
Re 1: Details about the isssue that got fixes are in https://github.com/PowerShell/PSScriptAnalyzer/issues/1066
Re 3: How are you formatting? The vscode extension is not aware of this new setting yet, hence why changing the PSSA settings (either in the settings files that PSSA ships with or your custom settings in PSSA settings file) do not apply to behaviour in the editor. Only the scriptanalysis can be customized inside vscode, the formatting is hard-coded or configurable via the exposed settings (that are not available yet), hence why at the moment the PSSA internal defaults apply in the editor.
You can use the Invoke-Formatter cmdlet of PSSA to test the NoIndentation setting by either editing the settings file that you use/prefer or specify the Settings as a hashtable (in either case to the -Settings parameter of it. I have tested your use case and it is OK using this setting.
The vscode extension will probably release this week, for editor related issues you can also just uninstall 1.18.0 for the moment

@bergmeister thanks for the detailed feedback and the work you put into this. It's easy for users to complain if they didn't write the code themselves, I know how that feels. In some languages they have a saying like "you can't make an omelet without braking eggs". So no worries, I'm sure it gets fixed in the remaining 2 feature flags too, when you or someone else has some time.
In the meantime, reverted back to 1.17.1.

Thanks for your understanding. I have a fix for it ready in PR  #1191. The next vscode extension update will suppress the bug by changing the default in the editor to NoIndendation. If you want, then you could also use the custom (unsigned) build of the PR branch with the fix:
PSScriptAnalyzer.zip,


Dynamic styling repeat all the styles

I'm working on a components library with styled-components, and I just saw that it is generating static styles every time I use a prop for dynamic styling, which brings performance issues. Is this normal behaviour? If so, what would be best practices?
Environment
# System:
 - OS: macOS 13.3
 - CPU: (8) arm64 Apple M1
 - Memory: 63.47 MB / 16.00 GB
 - Shell: 5.9 - /bin/zsh
## Binaries:
 - Node: 18.12.1 - /usr/local/bin/node
 - Yarn: 1.22.19 - /opt/homebrew/bin/yarn
 - npm: 9.6.4 - /usr/local/bin/npm

Reproduction
https://codesandbox.io/p/sandbox/magical-oskar-xkb948?file=%2Fsrc%2FApp.tsx
Expected Behavior
Having one class with the border: none, and another one changing for the background-color
Actual Behavior
It generates two classes, each one with the same border: none

@JulSeb42 yeah currently we clone the styleset with the modification to avoid specificity issues, but heard. Would be a good enhancement to push deltas where possible...

The recommended workaround for frequently-changing styles is to use inline style for those scenarios:
const Component = styled.div`
  color: red;
`

<Component style={{color: ifTrue ? 'blue' : ''}} />

@probablyup  Thanks for your answer!
This could work, but my question was more for cases like this one:
I have a Button component with a few color variables: primary, secondary, etc. Since only the color would change, how to approach this? I was thinking using className, create a mixin and using it like this:
const ButtonColors = css`
    &.primary {
        background-color: ${({ theme }) => theme.Primary};

        &:hover {
            background-color: ${({ theme }) => theme.PrimaryHover};
        }

        &:active {
            background-color: ${({ theme }) => theme.PrimaryActive};
        }
    }

    &.secondary {
        background-color: ${({ theme }) => theme.Secondary};

        &:hover {
            background-color: ${({ theme }) => theme.SecondaryHover};
        }

        &:active {
            background-color: ${({ theme }) => theme.SecondaryActive};
        }
    }
`

const StyledButton = styled.button`
    border: none;
    border-radius: 8px;
    font-size: 16px;
    padding: 4px 8px;
    color: white;
    ${ButtonColors};
`

<StyledButton className={`${buttonColor === "primary" ? "primary" : buttonColor === "secondary" ? "secondary" : "etc."} ${className}`}>
    Button
</StyledButton>

Would this be a good approach for cases like this one, to kind of come back to basic CSS?  Or I was also thinking only extending the base button component like this:
const StyledButton = styled.button`
    border: none;
    border-radius: 8px;
    font-size: 16px;
    padding: 4px 8px;
    color: white;
`

const ButtonWithColor = styled(StyledButton)<{
    buttonColor?: "primary" | "secondary"
}>`
    background-color: ${({ theme, buttonColor }) =>
        buttonColor === "primary"
            ? theme.Primary
            : buttonColor === "secondary"
            ? theme.Secondary
            : "etc"};

    &:hover {
        background-color: ${({ theme, buttonColor }) =>
            buttonColor === "primary"
                ? theme.PrimaryHover
                : buttonColor === "secondary"
                ? theme.SecondaryHover
                : "etc"};
    }

    &:active {
        background-color: ${({ theme, buttonColor }) =>
            buttonColor === "primary"
                ? theme.PrimaryActive
                : buttonColor === "secondary"
                ? theme.SecondaryActive
                : "etc"};
    }
`

<ButtonWithColor buttonColor="primary">Button</ButtonWithColor>

Would this be a better approach? In this case I'd create mixins for these colors, since this will be reused across most components


refactor: Prevent Get Report failure when variance calculation fails

refactor: Prevent Get Report failure when variance calculation fails
GetMetric returns a FAILED Metric instead of throwing an RPC error when variance calculations fail.

This change is


[_interop.py] Migrate to 3.9 compatibility.

https://bugs.python.org/issue38916
For version 3.9 fromstring is no longer supported and will return an
AttributeError.
This adds a backwards compatible way to do the same thing as before by
using the frombytes function.
This works with python 3.8, 2.7, and 3.9 from manual testing.

We're dropping Python 2.7 support January 1st, and since it's unlikely we'll do a release before that, and frombytes exists on all (supported) Python 3 versions, I'll fix this in a simpler way.  Still, thanks for opening the PR.


[chatgpt] tests and refactoring

Codecov Report

Merging #1450 (2f348c6) into main (9f7780e) will decrease coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main    #1450      +/-   ##
==========================================
- Coverage   85.92%   85.91%   -0.02%
==========================================
  Files          83       83
  Lines        9236     9270      +34
  Branches      498      501       +3
==========================================
+ Hits         7936     7964      +28
- Misses       1300     1306       +6

Impacted Files
Coverage Δ

packages/hasura-auth-js/src/utils/url.ts
100.00% <100.00%> (+9.09%)
:arrow_up:

packages/hasura-auth-js/src/utils/validators.ts
100.00% <100.00%> (ø)

packages/nhost-js/src/clients/nhost.ts
79.54% <0.00%> (-5.69%)
:arrow_down:

packages/nhost-js/src/clients/functions/index.ts
50.28% <0.00%> (-2.83%)
:arrow_down:

packages/nhost-js/src/clients/graphql/index.ts
49.75% <0.00%> (-2.42%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


[Repository signing] Update index.json to show all nuget.org packages are signed

[ ] Update docs, if necessary
[ ] Publish new service index resources

Research on possible solutions on this OneNote.

@loic-sharma , related issue:
The URLs for repository signature information look like this: https://api.nuget.org/v3-index/repository-signatures/4.7.0/index.json
They should be aligned to other resources to use URL rewrite rules:
https://api.nuget.org/**v3/index**/repository-signatures/4.7.0/index.json

Rollback instructions

:warning: Optional: Disable the Run end-to-end tests on the staged service index task for NuGet.Service.Index deployment
Change the variables of NuGet.Services.Index's deployment

Update Azure.StorageAccount.Key to the value of Prod-NuGetGalleryStorage-Key from the NuGet Prod Key Vault

Queue a new deployment of NuGet.Services.Index, set the value of Environment  to PROD


refactor(traverse): move generated files into separate folder

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#5115  👈
#5114
#5113
#5112
#5111
#5110
#5109
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @overlookmotel and the rest of your teammates on  Graphite


Not working in blackberry mobile devices

The script is working amazingly in mobile browsers other than blackberry. Any options to make it work on blackberry devices.The mobile website am developing is intended mainly for bb users.As the isuue is in mobile device it is pretty difficult to do any debugging. The bb model i tried is 8520.

Sorry I can not support BB, I have not that devices.


nit(fleet): Use ociSpec const instead of redefining it

What does this PR do?
Fixes a nit
Motivation
N/A
Additional Notes
N/A
Possible Drawbacks / Trade-offs
N/A
Describe how to test/QA your changes
N/A

/merge


[Excel] (Data types) Add entity value card article

This PR adds an article for the entity value card feature. Some components of the card feature are not yet address in this article (such as main image and nested entities) and will be addressed in future versions.
Internal work item.

Docs Build status updates of commit 6ba3424:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/excel/excel-data-types-entity-card.md
:warning:Warning
View
Details

docs/images/excel-data-types-entity-card-tofu.png
:white_check_mark:Succeeded
View

docs/toc.yml
:white_check_mark:Succeeded
View

docs/excel/excel-data-types-entity-card.md

Line 70, Column 146: [Warning: file-not-found - See documentation] Invalid file link: 'javascript/api/excel/excel.cardlayoutsectionstandardproperties'.
Line 110, Column 34: [Warning: file-not-found - See documentation] Invalid file link: 'javascript/api/excel/excel.cellvalueproviderattributes'.
Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit c847b1e:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/excel/excel-data-types-entity-card.md
:warning:Warning
View
Details

docs/images/excel-data-types-entity-card-attribution.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-properties.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-sections.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-tofu.png
:white_check_mark:Succeeded
View

docs/toc.yml
:white_check_mark:Succeeded
View

docs/excel/excel-data-types-entity-card.md

Line 74, Column 146: [Warning: file-not-found - See documentation] Invalid file link: 'javascript/api/excel/excel.cardlayoutsectionstandardproperties'.
Line 119, Column 34: [Warning: file-not-found - See documentation] Invalid file link: 'javascript/api/excel/excel.cellvalueproviderattributes'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 50d3ce6:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/excel/excel-data-types-entity-card.md
:warning:Warning
View
Details

docs/images/excel-data-types-entity-card-attribution.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-properties.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-sections.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-tofu.png
:white_check_mark:Succeeded
View

docs/toc.yml
:white_check_mark:Succeeded
View

docs/excel/excel-data-types-entity-card.md

Line 74, Column 187: [Warning: file-not-found - See documentation] Invalid file link: 'javascript/api/excel/excel.cardlayoutsectionstandardproperties'.
Line 121, Column 34: [Warning: file-not-found - See documentation] Invalid file link: 'javascript/api/excel/excel.cellvalueproviderattributes'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 52c86ce:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/excel-data-types-entity-card.md
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-attribution.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-properties.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-sections.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-tofu.png
:white_check_mark:Succeeded
View

docs/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit ed60d63:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/excel-data-types-entity-card.md
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-attribution.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-properties.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-sections.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-tofu.png
:white_check_mark:Succeeded
View

docs/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 765c56d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/excel-data-types-concepts.md
:white_check_mark:Succeeded
View

docs/excel/excel-data-types-entity-card.md
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-attribution.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-properties.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-sections.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-tofu.png
:white_check_mark:Succeeded
View

docs/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit bbcaf95:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/excel/excel-data-types-entity-card.md
:warning:Warning
View
Details

docs/excel/excel-data-types-concepts.md
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-attribution.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-properties.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-sections.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-tofu.png
:white_check_mark:Succeeded
View

docs/toc.yml
:white_check_mark:Succeeded
View

docs/excel/excel-data-types-entity-card.md

Line 88, Column 230: [Warning: bookmark-not-found] Cannot find bookmark '#card' in 'excel/excel-data-types-entity-card.md'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit b760912:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/excel-data-types-concepts.md
:white_check_mark:Succeeded
View

docs/excel/excel-data-types-entity-card.md
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-attribution.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-properties.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-sections.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-tofu.png
:white_check_mark:Succeeded
View

docs/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 5cb3fd9:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/excel-data-types-concepts.md
:white_check_mark:Succeeded
View

docs/excel/excel-data-types-entity-card.md
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-attribution.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-properties.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-sections.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-tofu.png
:white_check_mark:Succeeded
View

docs/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 97f53fc:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/excel-data-types-concepts.md
:white_check_mark:Succeeded
View

docs/excel/excel-data-types-entity-card.md
:white_check_mark:Succeeded
View

docs/excel/excel-data-types-overview.md
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-attribution.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-properties.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-sections.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-tofu.png
:white_check_mark:Succeeded
View

docs/includes/excel-data-types-preview.md
:white_check_mark:Succeeded
View

docs/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit adce132:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/excel-data-types-concepts.md
:white_check_mark:Succeeded
View

docs/excel/excel-data-types-entity-card.md
:white_check_mark:Succeeded
View

docs/excel/excel-data-types-overview.md
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-attribution.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-properties.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-sections.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-tofu.png
:white_check_mark:Succeeded
View

docs/includes/excel-data-types-preview.md
:white_check_mark:Succeeded
View

docs/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 9b4f0e2:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/excel-data-types-concepts.md
:white_check_mark:Succeeded
View

docs/excel/excel-data-types-entity-card.md
:white_check_mark:Succeeded
View

docs/excel/excel-data-types-overview.md
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-attribution.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-properties.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-sections.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-tofu.png
:white_check_mark:Succeeded
View

docs/includes/excel-data-types-preview.md
:white_check_mark:Succeeded
View

docs/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 12bff79:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/excel-data-types-concepts.md
:white_check_mark:Succeeded
View

docs/excel/excel-data-types-entity-card.md
:white_check_mark:Succeeded
View

docs/excel/excel-data-types-overview.md
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-attribution.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-properties.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-sections.png
:white_check_mark:Succeeded
View

docs/images/excel-data-types-entity-card-tofu.png
:white_check_mark:Succeeded
View

docs/includes/excel-data-types-preview.md
:white_check_mark:Succeeded
View

docs/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Type narrow with switch(obj.constructor)

Suggestion

🔍 Search Terms

constructor property, type narrowing
✅ Viability Checklist

My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion
I would like the .constructor property to narrow the type in a switch statement.
📃 Motivating Example
Today, the following fails type checking:
class Success<T> { constructor(readonly value: T) {} }
class Failure { constructor(error: any) {} }
type Result<T> = Success<T> | Failure;

const result: Result<string> = new Success("example");

switch (result.constructor) {
  case Success:
    console.log(`Success: ${result.value}`);
    break;
  case Failure:
    console.log(`Failure: ${result.error}`);
    break;
}

💻 Use Cases
Ad-hoc polymorphism.
Many people think this already works.
Request (2018) redirected to a (completed, but different) issue: https://github.com/microsoft/TypeScript/issues/2214#issuecomment-431470212
Blog post (2020) claiming this feature exists: https://log.havrlant.cz/typescript-switch-instanceof/ (Sadly, the author's demonstration was flawed.)
if can work instead, but gives up the performance advantages of switch for a lot of branches.

Duplicate of #16035


[Addition]: 82 Sensecaps Cluster, self-witnessing, asserted same week.

Hotspot b58 Addresses
11214HzkLkFDNuwVcbVpez9qwWZN2rWdRBtQq2FuUmhHwetqypXT
1121nBK6vkiWDzCdWShZxVpmTei4xfiLtyEMCSB14gKtgvEW9ZD1
1123tPjfrZFThLYGT77eww2SyKezt8qHWrg4pqnEH1DJBt5VBNv4
1124w8G68tBbZq6KfGNbL4HH9smZi2es2KfEunnTmZFLixJQt8Uy
1125knWkkdPpKjW8HdnZSetdU3itDXx164UYwPo6zyqa84N4VQW
1127e75brdk85pxJzVv6FZtdgvWPRt2QDNAMMHadzXZ2QbehMg7W
112861vj7SCDJZEZV7wqe4qRosrccmNTn6H7b143RXJQgDSJgJns
112aTaiqXaYBHPFew57uVUsir3jWW6YhvyseA8KrEDXw7dNufuf9
112bCwXxmZbpFZjDNen9Sdw55VcHSkpt94kC31EZkWDJAvPhRc3x
112cHYUcwYg2fxCjgur7BPdzpJqsUg4KAXGUKzP8MHyVQLaPThD2
112danTJvpJyidTzr5y2ETqNe47VwmdXK6cju2yaFTzimH3cPvr9
112dijGjj73ESPGPcqdgMEeWGMF6bzjkWohevHE5P5o8PrC5bjbc
112dmdZtvyHbwt9XxZgrHfJwmGGNSdx4ELQBwvz5xxrcB9QC1GUU
112F5vtaMnw7JgkZnFpEwNiKHwLyvS1iAcgVui2KA8WCmk7JUtcp
112FwMazE3Mnoht5CigtAHm64hLJ1xv4DN7rER7x31dtMyxZk1zq
112GLLyQtG3E58Tza6yJ5zET6iMbutNQjReZDkTTREGSMTJ6KFy5
112GVTpGzNJASUL76QzeBiFYTfXFoPti665Vd1bXubAhWXJs1RkL
112GZPkrjT99tPyog6nbMAXroda7tG4cKU9cDFEjardk5PrbT8bC
112HooiZNxLThdXXzCgGyk4sDZaHb8rAuco91WstCdMYD8pUoZkH
112iezJH7m9y4gGQjZCcno6bVxZq7XYypzaoWRLcNEbayC2viBKj
112JjKLzqVtKujnf97QfbvU3aBx63wamf7tohzLTYsDmvLNKoKrV
112jMRU4Se5w8oCzaMBxDCbpboKZbChpM5cUP2GwEm4gz7QyvJQh
112jWxDW7GFXZFn9md5EPih4Zajfz8RZAyDer4hgdSxTm6YaKCG5
112McrC8K7R7YBMc3cjr6mxskpap7gBrjjKuC2TQ4ZbbR48BZ16A
112MmcZEi4cRPJVNozL8FMBcr6SW7P95s5Hm22Rygk9p9rt1wzrN
112MSG2MaXWWAKVv94o2WPVm4UuxZjMidJQLjHzCBd9byoqbnT5L
112o3DuEoNx9JJnh5c9jo2iz8c3HrPQhA8GHGcU74EkRNzzPz5Xc
112pKPW9Fm4hwMXi6qryiyDyKP7cBwgD5AA6kCyvJV9Wy8Xcgr8q
112PMfeTGtRXmb7p4XZWgNjXKZuhgYb85cqc5e6fwjFdaLMAvgw
112qK5St68dxQoSFwfHjFsjLRmmEVfK44Uqugg3C11nY7EpGAb5R
112RMegQwwVyEjHdk7F1hgavDmFGCvCNGMXnDMFCokdrDVCMZwft
112S5NUKd9RuhHn3x4UuxRhpbWCwEfX67cH1vjseCo8jBAixRCJU
112siWjzQ48b3AzuP4WUBtrAGfzji1pS7LTwpgtKuMzoeAkEJZQi
112tS5VjtLaHh3r7G9Avdpk8uD13sJ5DPwjzvbYDT2zi7KLiXqqS
112ukFgyJXmkC6p9ZCJuDB5aQtwDJF5Wjj8G1rFGowurb3QaNzR3
112UZvaqt8uo6dWUnU8QVHVNxm8KVJpyPxwPFGLAohjcQ95jF5Q9
112vjzeee9ioQBDubHNR3CZTxnpMchiv19TRmGoN2ad3QR2BZEHo
112VQnBKfDLQq7ShL2nKERwym99M88rtN8uv44MXF12vACJL8wuj
112ZFcX44tqh5f21CChXhg2VBFXBEt19FYadYBfNCHFgAyRwBb16
1133Q4Y3rhxuXiCLKkFQhmqNB1Mw6b65hZ8PNRvZmEiGiQjVbsk
113gCQKSL8HA7uajYAfiEYpeWwmBxU36NVgE9HbraP21ppU3KTf
115WUNMq7ima8ic36nTBXvYKDVU2M3v4YrEm4PbPXRfYCXKB8oE
116eJEsjZEDGcLbod4Gy7PE6kp3Qywoo3vtu6xPUybYU6qaa7DF
117D8QuSCh1ERMGBc9j7V2p1CQERGGFqCAuec8Wsc2sqaQxykPu
117pyoFMenSzSwkCoaQm85PH2YMbFdD6SuZXtiLqqQ5fvzgggSo
118A5nPzdrCkwzdqwKepip1YWugbvk1Wk13frZrvLBuy9ag8MWt
118hAs8wEJ6CiJyXrXrQjPTcAarpWYDcBGjDovppyHYdfGKvTxk
1198oV8WbzGXZXVLNGqkNfZKWZXYFM9Y9rMrbw4HG4FQHYZMBEr
119uuSdxNpSZfqQzfyvNn2fXLz9wp6d99mghHeYpZ9Ev2RGiPTs
11AJc5rbKK8SgUsPe7yJ5xATkPuCpcfCfE4g8qLEZB8cHXNP5bM
11aUUK4spR1VwMfby7Hco7GHM5kA6aWJBxfKdzRhnmLZHdkYHrx
11BcRvnrNMiVsmjZkGKNDk9zT3hN4ZxTCbgKdJkdukfS6UeKYqp
11BDLva2q4NuKVcv9n6j2BZpnKdCkyMy7osB9v3Kna6hx74VrPR
11bHvVuRczGCGXg4SRDgzzrdDm9QFHC5UAoL612wnYBUiMUh5TM
11bRWmohTseReEnTRSHGoQTv94WcATbdNKq7VtgBF9fwoDNPLay
11dCoEbnHnt3CE21SycmYN8QFouGY5WwQ3vtbYRLeaxXu9HJeNX
11dmUK43ANV8gVd9uS5VAj1ZV36r7RyCaRSs4gFg8KNPLSmyGYU
11eDfmtqBxhv5PukwUpqewaJGYUW64UPnn7Q5bB75u1MKcMo9XB
11fGZjp8LDGw48oEXS1X4pE4jGAsP2dzft8yjhnXr7T6p5xd1Cr
11hjHjFUGjRMY4HYWrLoVa9vmoCkPbSf5Q2ZafFbEitaVWpVo3j
11HkPhEKoYiBR176JTuJsyxkY1hSvWr9SzpbcM1TsDPyg6oo6Wq
11hvNwA2oQWcNEQfZ51z6hWJVCY1ip3ECkC42ag4yH9UtaPFNQy
11JYzP2pkcpVovFGtLXvGrmPGiYhto9joALHL6RvLmnNsQU2zGs
11kAtfhjPFCJrXFWZC2gjqGom3dDfqvhhq78ZToE3JFQKNBCYPL
11mNSwuT46Zyy1fsxVcmKMPr8xFpHETvDWDXMpaCCTxpJZ7dMWk
11nf6LuAN92RzhntrACXbSpyu4Eogfm8b15SNfM3VaXAEvz1KNf
11nYE29UgndTbpVwETCi2CgFdSJT1Um7VJbixXtvRha6CQTvF94
11o4zWoJQhWwdP1Vi2AdS66xmK1e2Q9yKbisWnWkJyBNopob7jT
11o8oHhHfwqWAoZJdt9ufVgqKhJvPnpiiSukDBh9LXu5MroLRHJ
11PRfZfCppXsyxiX2fF1dgVAFZh6hVYRpeVPBnDfKHERiAm5KZj
11RszV7TqNtfCcdzzmntggxtgaABXHfmvnF7AEsdtjuAfGkxbXD
11sXMKd3zejynn8h3WuwPRZHTTamu4aMaEnmWcQDJaSy6nued9o
11tijAHY5T56ByciPzRTEBNyCDKT4q4P4hvCNirGDePQjR8msKP
11v7XBFC79j7YJ318EuajgeDDHyMZ8JrWpyaQuAWXpYuGXTMXCs
11WLpQCoBhzcb4RpYnU2DzHr8Zd77J39mQrPCUjGP5mioMZLz3g
11XAi4fx266TuXqtReU1ELe7jShTqyjL7yrKU1jf9VA67oTg7Fx
11xHZTDcBrRo7i3k3gxZYfEZCLBLNJ4khApnVWoMKnfdrENpXSn
11y1GcMWf1NgcbXGCrxjZzuwm1vj4PjxhZiS3Toonp63hthUPfL
11Z1Dun1gzv1hakDcPiJ1LagG1JqZArWWEd21htqoAaN5kvnmjM
11z9SNhi2xcjdtKDqeGarYgR8r7mwp4AD4P5vdba5EDreBRxhLZ
11zkHJ1Ggt7YqhUTXF7JmS1RfxXNRXYQzCe3iwGZbsF3gZgBciW
11ZPmPCApJ9xgR1sbU2DB7iGX1osNmXUhsMfAqrLjVZTgX52hj7
Discord Handle
No response
Reason(s)
These spots are:

All asserted same or similar dates within about 1 week
only PoC with each other (despite being asserted next to other miners they dont PoC with)
all same maker
Witness of Witness analysis (below) shows only internal activity

This is the official's own mining machine, don't offend him.

This is the official's own mining machine, don't offend him.

Sorry, I don't get it?

This is the official's own mining machine, don't offend him.

Sorry, I don't get it? Which Official? In any case I made an error with the addresses copy and paste and the number of spots - now fixed. I dont care if "the official" is offended or not.
In addition you seem to be attempting to impersonate another user here. @hexPi

Can't I have this name? Is he the only one who can take that name?

This is the official's own mining machine, don't offend him.

I'm very worried that these machines are owned by the government, or by R&D and reviewers. Dude, I can remind you that you may have made a big taboo by doing this, making it difficult for them to step down. Let's quietly observe whether they are put in the same way. Blacklist, , LoL. . .

Weird comments. Anyway I will not be pressured to take this down

Weird comments :).
Anyway there is an easy fix, - deploy the miners properly (I notice no-one had denied these are gaming spots). Or provide some evidence they are not gaming spots.

This is the official's own mining machine, don't offend him.

Sorry, I don't get it? Which Official? In any case I made an error with the addresses copy and paste and the number of spots - now fixed. I dont care if "the official" is offended or not.
In addition you seem to be attempting to impersonate another user here. @hexPi

Can't I have this name? Is he the only one who can take that name?

You can have whatever name you want. But its interesting you chose a name close in title to a respected member here. To try to put pressure on me to take it down? Coincidence?
Anyway still waiting to know which "official" I have offended?

This is the official's own mining machine, don't offend him.

Sorry, I don't get it? Which Official? In any case I made an error with the addresses copy and paste and the number of spots - now fixed. I dont care if "the official" is offended or not.
In addition you seem to be attempting to impersonate another user here. @hexPi

Can't I have this name? Is he the only one who can take that name?

You can have whatever name you want. But its interesting you chose a name close in title to a respected member here. To try to put pressure on me to take it down? Coincidence?
Anyway still waiting to know which "official" I have offended?

Do you think he is respected?
 No, you can't, because you have justice in your heart, very hypocritical justice.
Do you understand the current status of this project? Did you know this project is dying? Can it rise to $50 without the support of capital miners? Can you report this device, can it go up to $50? The funny thing is, you still think this is right, but you just don’t know if the project party is working with hardware manufacturers to harvest you. Many institutions only care about whether the project can make money, but do not talk to him about the future prospects, retail investors VS capitalists?

This is the official's own mining machine, don't offend him.

Sorry, I don't get it? Which Official? In any case I made an error with the addresses copy and paste and the number of spots - now fixed. I dont care if "the official" is offended or not.
In addition you seem to be attempting to impersonate another user here. @hexPi

Can't I have this name? Is he the only one who can take that name?

You can have whatever name you want. But its interesting you chose a name close in title to a respected member here. To try to put pressure on me to take it down? Coincidence?
Anyway still waiting to know which "official" I have offended?

Do you think he is respected?  No, you can't, because you have justice in your heart, very hypocritical justice. Do you understand the current status of this project? Did you know this project is dying? Can it rise to $50 without the support of capital miners? Can you report this device, can it go up to $50? The funny thing is, you still think this is right, but you just don’t know if the project party is working with hardware manufacturers to harvest you. Many institutions only care about whether the project can make money, but do not talk to him about the future prospects, retail investors VS capitalists?

This is only about wether these hotspots are in a farming cluster or not. If they are gaming then the rewards they get are stealing from the rest of the network. Limiting gaming can only be good for the price
Thats it. I wont respond further since this is getting to abuse.

誰かがあなたが何について話しているのか尋ねました
何を表現したいのかわからない？通貨価格が $30 のとき、私は 1000HNT を購入し、その価値があると考えましたが、プロジェクトのリスクが大きすぎるため、友人は楽観的ではありませんでした。盗みについてのあなたの発言には同意しません。彼らはマイナーに投資し、あなたと同様のリターンを期待しています。お金のために働きたくないですか？じゃあ何のために働いてるの？

誰かがあなたが何について話しているのか尋ねました 何を表現したいのかわからない？通貨価格が $30 のとき、私は 1000HNT を購入し、その価値があると考えましたが、プロジェクトのリスクが大きすぎるため、友人は楽観的ではありませんでした。盗みについてのあなたの発言には同意しません。彼らはマイナーに投資し、あなたと同様のリターンを期待しています。お金のために働きたくないですか？じゃあ何のために働いてるの？

"someone asked what you were talking about
Not sure what you want to express? When the currency price was $30, I bought his 1000HNT and thought it was worth it, but my friend was not optimistic because the project was too risky. I disagree with your statement about stealing. They invest in miners and expect returns similar to yours. Don't you want to work for money? So what are you working for?"
LOL if I "invest" in a car and rob a bank with it, is that OK too? Its about proper use.
The PoC rewards earned are for proving the miner is providing useful coverage for Lorawan data transfer. If they just put them in a farm then no such coverage is provided and any PoC rewards earned are stealing.
They "invest" in miners and misuse them.

This cluster seems to have 92 from a different HS
ETL 20 days 4 hops from 11214HzkLkFDNuwVcbVpez9qwWZN2rWdRBtQq2FuUmhHwetqypXT

And clearly should be witnessing quite a few more around...

Best Wishes
The Dancing Justice Clown

This cluster seems to have 92 from a different HS ETL 20 days 4 hops from 11214HzkLkFDNuwVcbVpez9qwWZN2rWdRBtQq2FuUmhHwetqypXT

And clearly should be witnessing quite a few more around...

Best Wishes
The Dancing Justice Clown

Thanks I will look into this more closely. There seems to be a lot more spots in this farm

Thanks I will look into this more closely. There seems to be a lot more spots in this farm

The ones next door:
11MtVvSgJqFouGVjvP4eiLPK2pkwzY99JkNiPE47WyawBzAhKQx
112i7dfUbkcxxAB2PdyUsDpPZNPPg42s2FGTC8CB7gzJe839fhmB
These seem to be connected to each other, but ETL will probably timeout before getting the whole cluster, so can do in two separate queries in two issues.

Best bet would be to then identify the true local network and then find who doesn't see it.

@SlipperyPete8CD
No worries.
Looks like they might like sensecap, so you can also filter to sensecap in hotspotty and browse locally looking for suspect looking groups

Updated and thanks @KXI1

#official_running_dogs

@SlipperyPete8CD No worries. Looks like they might like sensecap, so you can also filter to sensecap in hotspotty and browse locally looking for suspect looking groups

@SlipperyPete8CD
@6CornerDefender
This issue has been merged, but not all those listed are in the denylist csv as of 2022-08-29. Those not listed in the denylist csv also don't show as denied on explorer (as you'd expect), though the hotspots are now inactive - though presumably they might have been taken down by the owner?
examples not in denylist:
112bBUSB6u53h5HSaX4jqHriUcAoN422VauzFqmF2khapZz1VJTK
11jviEvcGfvazgpRds2g1KGcPVFAaNCy2Q317GCsEMqKkNbcrq1


SDKs lack of samples

Heres some SDKs lack of samples：
@azure/arm-avs_3.1.0: succeeded, no change √
@azure/arm-analysisservices_4.1.0: succeeded, no change √
@azure/arm-mediaservices_12.0.0: succeeded, no change √
@azure/arm-appinsights_5.0.0-beta.4: succeeded, no change
@azure/arm-deviceprovisioningservices_5.0.1: succeeded, no change√
@azure/arm-recoveryservices_5.0.1: succeeded, no change √
@azure/arm-powerbiembedded_2.0.1: succeeded, no change !
@azure/arm-hdinsight_1.1.1: succeeded, no change √
@azure/arm-machinelearningcompute_3.0.0-beta.2: succeeded, no change
@azure/arm-commitmentplans_2.0.0-beta.2: succeeded, no change
@azure/arm-links_2.0.1: succeeded, no change
@azure/arm-customerinsights_4.0.1: succeeded, no change
@azure/arm-billing_4.0.1: succeeded, no change
@azure/arm-apimanagement_8.0.1: succeeded, no change

https://github.com/Azure/autorest.typescript/blob/db84676cdb03dcc0ee494633aec19e9103d8612b/packages/autorest.typescript/src/transforms/samplesTransforms.ts#L164

recoveryservices is released 4 days ago

Can't generate samples in powerbiembedded ,because it doesn't have examples in swagger

appinsights error  https://github.com/Azure/autorest.typescript/blob/db84676cdb03dcc0ee494633aec19e9103d8612b/packages/autorest.typescript/src/transforms/samplesTransforms.ts#L164 https://github.com/Azure/azure-rest-api-specs/blob/2dcad6d6e9a96882eb6d317e7500a94be007a9c6/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/FavoriteAdd.json#L11

machinelearningcompute already has samples

Can't generate samples in commitmentplans ,because it doesn't have examples in swagger

Can't generate samples in links ,because it doesn't have examples in swagger

customerinsights error

https://github.com/Azure/autorest.typescript/blob/db84676cdb03dcc0ee494633aec19e9103d8612b/packages/autorest.typescript/src/transforms/samplesTransforms.ts#L164
https://github.com/Azure/azure-rest-api-specs/blob/e4400c42d2adf0545578414a1b07d2bdca61bfe8/specification/customer-insights/resource-manager/Microsoft.CustomerInsights/stable/2017-04-26/examples/ViewsCreateOrUpdate.json#L11

apimanagement error

https://github.com/Azure/autorest.typescript/blob/db84676cdb03dcc0ee494633aec19e9103d8612b/packages/autorest.typescript/src/transforms/samplesTransforms.ts#L164
https://github.com/Azure/azure-rest-api-specs/blob/54c64d870b60a2498de3dc7fee58f6344d3c3006/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreatePolicy.json#L11

deviceprovisioningservices_5.0.1 already has samples

apimanagement error  https://github.com/Azure/autorest.typescript/blob/db84676cdb03dcc0ee494633aec19e9103d8612b/packages/autorest.typescript/src/transforms/samplesTransforms.ts#L164 https://github.com/Azure/azure-rest-api-specs/blob/54c64d870b60a2498de3dc7fee58f6344d3c3006/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreatePolicy.json#L11

By deleting redundant properties in swagger, samples can be generated.


Bug 1925565: Include Azure Disk CSI in CSI Cluster Drivers

This includes the Azure Disk CSI driver in the list of cluster drivers. It's needed to begin introducing the Azure Disk CSI Driver as tech preview.

/bugzilla refresh

/bugzilla refresh

/approve


Support for Calico CNI

Description
Support for Calico CNI
Type of change
Please select the appropriate options:

New feature (non-breaking change which adds functionality)
This change requires a documentation update

Checklist

I have performed a self-review of my own code
If a change is adding a feature, it should require a change to the README.md and the review should catch this.

Validated on scale lab:
[kni@f33-h17-000-r640 ~]$ oc get tigerastatus
NAME    AVAILABLE  PROGRESSING  DEGRADED  SINCE
apiserver  True    False     False   48m
calico   True    False     False   22m

Ah, now I see #219 opened separately, but the commit got included in this PR, too.

Dropped #219 from this PR


Intellisense is wrong when dotting into an "inline" expression.

When you "dot into" an symbol you get correct intellisense immediately e.g.
let x = "foo"

Dotting into x here works without a problem. However, dotting into the string "foo" directly gives incorrect intellisense suggestions. However, if you "force" intellisense with ctrl + space, you get the correct intellisense!
This is especially annoying when working with e.g. chained method calls or fluent APIs etc.. In the video clip below, the first time intellisense is suggested, it's from simply "dotting into" the string, and is incorrect. The second time, I use ctrl + space on the same value, which works. Lastly, I bind the string to the symbol x and dot into that - this also works.

We even have TODO comment about that in FSAC - https://github.com/fsharp/FsAutoComplete/blob/master/src/FsAutoComplete/FsAutoComplete.Suave.fs#L59

Fixed in 3.28.0


Tablet Pressure + Brush Size

Summary
Allow users to use tablet pressure to adjust brush size on the canvas to more easily edit images to suit their needs
Intended Outcome
A user with a compatible tablet to draw on the canvas is able to use tablet pressure to dynamically adjust the brush size during drawing

Can't wait for it! 👍

https://github.com/invoke-ai/InvokeAI/issues/6870


command 'remotefs.addFolderToWorkspace' not found

Getting this error:
command 'remotefs.addFolderToWorkspace' not found
This only happened after I reinstalled the extension

Still encountering this issue on VSCode v1.33.1


Allow to put a limit to the websocket::stream::async_read call

I wanted to read a message no bigger than X bytes. That message can be composed of as many frames as it wants, I don't mind.
I am using a flat_static_buffer, with a limit. But the limit is bigger than what I want to async_read because that same buffer is used for a bigger async_write before. Ideally I would like to use the same buffer object, but being able to set a different limit.
async_read_some does have a limit parameter, or alternatively it accepts a MutableBufferSequence. If those overloads would exist also for async_read it would solve my issue. I guess there could also be a (mutable) DynamicBufferView which would wrap my flat_static_buffer with a smaller limit.
Does this make sense? There is any reason why it can be done for frames/async_read_some but not for messages/async_read?

https://www.boost.org/doc/libs/1_69_0/libs/beast/doc/html/beast/ref/boost__beast__websocket__stream/read_message_max/overload1.html

Didn't look in the most obvious place...


IE 8 video fallback not working - visible on mediaelement home page.

IF you take a look this actually is the case on the home page of mediaelement. Any ideas on how to possibly correct this?

@pmccauley Closing old issues. If you'd like to reopen this, let us know. Thanks!


Some emojis are displayed as text

Hello,
When composing a message, although :0: :1: :2:  ... :10: emojis are detected by the auto-completion system, they are displayed as plain text, not as emojis (:zero: :one: :two: ... :keycap_ten:). Also, they cannot be added as reactions. It seems that :zero: :one: :two: :three: ... :ten: work just fine in both cases. Preview
A similar problem is with :a: :b:, which are detected by the auto-completion system, but are not displayed at all (not even as :a: :b:). They can be added as reactions without any problem. Preview
In the web application, :0: :1: :2: ... :10: are not in the list of emojis (but :zero: ... :ten: are) and are displayed as plain text. :a: and :b: are displayed correctly as :a: and :b: in messages. Neither :digit:, nor :a: :b: can be auto-completed.
I want to fix this, but I am not sure which would be the best solution. The easy solution would be to remove these emojis (:digit:) from emoji list (so the mobile app would be on par with web app). The other solution would be to add support for them.
P.S: Tested on Android 9.0, Zulip 23.3.112.

@HarshitOnGitHub may remember this issue on the webapp.

We need to update emoji code mapping from zulip master. Last update was based on the following commit https://github.com/zulip/zulip/commits/169de2f9cb9c4b0d30b943508d44453d3a4571f9 after which a change to remove number emojis was merged. https://github.com/zulip/zulip/commits/fc7e654d7b247eaf69afa513c62ae1922871f0eb
@jainkuniya FYI

Okay just checked #3100 seems a complete fix for these issues. :tada:

Thanks @ungps for this report!
The issue with :1: etc. and :one: etc. was fixed recently in #4551. (It would also be fixed by #2956, which is what #3100 was aimed at.)
The issue with :a: etc. turns out to be different -- it has the same cause as #3517. The issue is that the Zulip emoji database gives :a: a code of 1f170, meaning that it should correspond to the Unicode codepoint U+1F170:
🅰 U+1F170 NEGATIVE SQUARED LATIN CAPITAL LETTER A
But with that codepoint on its own, the Unicode spec says it should be rendered as a text-style glyph, not an emoji-style glyph. That's what we do -- and then that text-style glyph runs into the same issue as :check_mark: used to (https://github.com/zulip/zulip-mobile/commit/718934acf47e78f2f9039485be38dbe86b531524) and doesn't show up properly in a light theme / light mode. In dark mode it does show up -- just with a less eye-catching glyph than it should. It's a lot like 🅰, rather than 🅰. Previous chat discussion about text-style vs. emoji-style presentation (of different emoji): https://chat.zulip.org/#narrow/stream/3-backend/topic/unicode.20emojis/near/759360
I'll send a fix.


$dateFormat is invalid for json_encode serial number model. You must define serializeDate to change it.

Laravel Version
^8.83
PHP Version
7.4
Database Driver & Version
No response
Description
Invalid
protected $dateFormat = 'U';
Should be changed to
    protected function serializeDate(\DateTimeInterface $date)
    {
        return $date instanceof \DateTimeImmutable ?
            \Carbon\CarbonImmutable::instance($date)->__toString() :
            \Illuminate\Support\Carbon::instance($date)->__toString();
    }

Steps To Reproduce
Should be changed to
    protected function serializeDate(\DateTimeInterface $date)
    {
        return $date instanceof \DateTimeImmutable ?
            \Carbon\CarbonImmutable::instance($date)->__toString() :
            \Illuminate\Support\Carbon::instance($date)->__toString();
    }

https://github.com/briannesbitt/Carbon/issues/1870

Hey there,
Unfortunately we don't support this version of the library anymore. Please check out our support policy on which versions we are currently supporting. Can you please try to upgrade to the latest version and see if your problem persists? If so, please open up a new issue and we'll help you out.
Thanks!


npm run start-dev fails with error missing script: start-dev.  Please update README.md.

Expected Behavior
npm  run start-dev should not fail because
README.md#adding-new-features-in-csgjs-or-other-modules
states

if desired, start dev server: npm run start-dev

Actual Behavior
Fails with error missing script: start-dev.
See attached 2018-10-21T05_05_00_264Z-debug.log
Suggested Fix
It appears that start-dev was removed from package.json with commit refactor(): switch to monorepo + lerna (#348) .
Suggest that README.md#adding-new-features-in-csgjs-or-other-modules should be updated to reflect how new features are added in CSG.js or other modules in the monorepo + lerna world.
Steps to Reproduce the Problem

create a base directory
clone this repository git clone https://github.com/jscad/OpenJSCAD.org.git
go into OpenJSCAD.org folder cd OpenJSCAD.org
install dependencies npm install
make the openjscad command refer to the code in this folder: npm link
start dev server: npm run start-dev

Specifications

Version: refactor(): switch to monorepo + lerna (#348)
Platform: macOS
Environment: node 8.9.2

The documentation has been updated as part of the V2 JSCAD release. It's a BIG release so please try again from scratch.
Closing this issue. Please open a new issue if necessary.


Create stub for query generators in tests

Address the review suggestion: https://github.com/exasol/glue-connector/pull/34/files#r877074104
This can be tricky since the Exasol database can only import/export from S3 buckets with amazonaws.com endpoint.

Shelved.


cannot established MQTT connection

Query/Question
Im using your Azure IoT SDK for C library for D2C and C2D commands but MQTT connection is failing with rc=5. I have tried anything possible but still MQTT connection is failing.
Why is this not a Bug or a feature Request?
I have put all the Iot hub credentials properly i.e Host name, Device ID, Primary key
but still its giving the MQTT error. Im using Visual Studio Code.
The monitoring result is as follow:
Connecting to WIFI SSID ********
...WiFi connected, IP address: <IP_ADDRESS>
Setting time using SNTP.......done!
Current time: Fri Dec 31 01:11:57 2021
Client ID: ***************
Username: **********************/?api-version=2018-06-30&c/1.3.0-beta.1(ard;esp8266)
MQTT connecting ... failed, status code =5. Trying again in 5 seconds.
MQTT connecting ... failed, status code =5. Trying again in 5 seconds.
MQTT connecting ... failed, status code =5. Trying again in 5 seconds.
Setup (please complete the following information if applicable):

OS: [e.g. iOS]
IDE: Visual Studio Code
1.0.0-beta.1

Information Checklist
Please make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x] Query Added
[x] Setup information Added

Hi @abubakar1232 it looks like you're using some kind of embedded device. Can you verify which you are using?

Closing this for inactivity. Please let us know if you would like it reopened.


Showcase Media Overlay Fix

In all the shuffling of how the showcase editor works the overlay for media thumbnails got broken.

Coverage remained the same at 95.733% when pulling ebb693a33a5edc75eac58a335ceaef45afe5f353 on showcaseMediaOverlay into c37d604b57155ea822a494ccc2d2f4dc02415578 on master.


improve grapphql ws protocol docs

There is a collision name between javascript ecosystem and graphql protocols, and this makes the usage of the enum very difficult.
In addition, this is the first of a sequence of PR that improve graphql protocols handling
This should fix #1162
In addition, this introduces the new field in the commit header proposed in https://github.com/zino-hofmann/graphql-flutter/discussions/1179#discussioncomment-3102920 but this is still working in progress

Merging this for the moment, but I would like to keep this issue alive https://github.com/zino-hofmann/graphql-flutter/issues/1162
because there is somethings strange that happens when e we are working ws!


Azure DevOps Pipeline Task for System Settings

Hi,
Is there any plan to include Azure DevOps Pipeline Task to modify System Settings in dynamics 365 CE?
Thanks,
Veera

@veerasekharbathala no plans at the moment as there are many settings and these do change from release to release. Did you consider applying the settings you need using a CRM Package and Package Deployer?


cleanup

YAML.load => YAML.safe_load
update rubocop + fix warnings, disable some rubocops
cleanup dependencies
bump minimum supported ruby version

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


Fix Wireguard e2e tests

Change the Wireguard e2e tests to make sure
the TrafficEncryptionMode will be reset to origin and namespaces created during setup will be destroyed after tests finish.

/test-multicast-e2e

/test-multicast-e2e

The commit message is not aligned well, it should be
Change the Wireguard e2e tests to make sure the TrafficEncryptionMode
will be reset to origin and namespaces created during setup will be
destroyed after tests finish.

Besides, could you share how it breaks the multicast test?

It won't. The TestWireGuard tests won't delete testwireguard-xxxxx namespaces because multicast e2e(generate-manifest.sh --multicast) is running in noEncap mode. I created a issue https://github.com/antrea-io/antrea/issues/5488

/test-e2e
/skip-conformance
/skip-networkpolicy


texture loss when combined with mrcrayfish's glasscutter

I'm currently using forge v31.2.0 (MC 1.15.2) with the mods MrCrayfish's Glasscutter v1.0.1 and DoubleSlabs v2.7.2. When a MC slab is combined with a glass half slab crafted with the glasscutter the whole block loses its texture after reloading the world.

I can't seem to recreate this issue so I'm not sure if I've fixed it. Maybe try updating forge to the latest version (I tested on 31.2.8 and it worked fine on reloading)

Closing due to inactivity


support for failover

This isn't an issue (predis is awesome :D), but rather a question. Does predis support failover? Like if a node goes down, it sends to another server /slave, etc.?

Automatic failover is not supported and, while it's not a bad idea per se, I fear that it wouldn't be easy to abstract it in a generalized way. Moreover PHP doesn't handle state between requests so it's tricky at best to handle an error threshold after which the client switches to a different server as a fallback. See also this recent thread on the Redis mailing list.
My suggestion is to handle this kind of scenario in a different way by having a long-running service on a server that checks the health of your Redis instances every X seconds (e.g. using PING) and rewrites the list of nodes used to initialize Predis when one of them goes offline, using a preconfigured slave to replace the failing node. In my opinion this approach is way more versatile and actually easier to handle.

Daniele, awesome! Thank you very much for your suggestion.

Daniele Alessandri
<EMAIL_ADDRESS>January 12, 2012 4:22 AM
Automatic failover is not supported and, while it's not a bad idea per
se, I fear that it wouldn't be easy to abstract it in a generalized
way. Moreover PHP doesn't handle state between requests so it's tricky
at best to handle an error threshold after which the client switches
to a different server as a fallback. See also this recent
thread
on the Redis mailing list.
My suggestion is to handle this kind of scenario in a different way by
having a long-running service on a server that checks the health of
your Redis instances every X seconds (e.g. using PING) and
rewrites the list of nodes used to initialize Predis when one of them
goes offline, using a preconfigured slave to replace the failing node.
In my opinion this approach is way more versatile and actually easier
to handle.

Reply to this email directly or view it on GitHub:
https://github.com/nrk/predis/issues/55#issuecomment-3452889

I'll add something about that in the new wiki that I'm preparing.


Defining a Join entity without additional navigation properties not explained

For regular 1-N relationships there is an overload of WithOne() taking no parameters in case the N-side does not need to navigate to its parent entity. However, it is not explained whether or how this can be achieved for an explicitly defined join entity.
Applied to the given example that would equal the PostTag looking like this:
public class PostTag
{
    public DateTime PublicationDate { get; set; }

    public int PostId { get; set; }
    //public Post Post { get; set; }

    public string TagId { get; set; }
    //public Tag Tag { get; set; }
}

The foreign keys are given but the inverse navigation is not necessary.
Is this even possible? or does the this configuration always require these? The docs could be more clear here.

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

ID: 24b2b50e-35f8-9e0b-8ce5-840e1ea816e6
Version Independent ID: 9e0e6e2c-48fa-76c3-3bd9-813a6df22645
Content: Relationships - EF Core
Content Source: entity-framework/core/modeling/relationships.md
Product: entity-framework
Technology: entity-framework-core
GitHub Login: @AndriySvyryd
Microsoft Alias: avickers

@marwalsch The join entity type does not need to have navigations. However, it's not clear to me what the confusion is here. Can you show the code you are using to configure the relationships and point to where it's not clear what to do?

Of course. My relationship configuration looks quite exactly like the one defined in the section Join entity type configuration. But, as shown above, the navigations inside the BlogPost are not necessary. I couldn't work out a suitable FluentAPI configuration. Below is the one used in the example including navigation properties:
 modelBuilder.Entity<Post>()
            .HasMany(p => p.Tags)
            .WithMany(p => p.Posts)
            .UsingEntity<PostTag>(
                j => j
                    .HasOne(pt => pt.Tag)
                    .WithMany(t => t.PostTags)
                    .HasForeignKey(pt => pt.TagId),
                j => j
                    .HasOne(pt => pt.Post)
                    .WithMany(p => p.PostTags)
                    .HasForeignKey(pt => pt.PostId),
                j =>
                {
                    j.Property(pt => pt.PublicationDate).HasDefaultValueSql("CURRENT_TIMESTAMP");
                    j.HasKey(t => new { t.PostId, t.TagId });
                });

However, .HasOne() requires the navigation as a parameter which is not present. How does this need to be changed?

@marwalsch The navigation is not required as a parameter. Maybe it seems like it is because you need to specify the generic parameter explicitly if it cannot be inferred? (Note that this is the same for HasOne when used in other places.) For example:
modelBuilder.Entity<Post>()
            .HasMany(p => p.Tags)
            .WithMany(p => p.Posts)
            .UsingEntity<PostTag>(
                j => j
                    .HasOne<Tag>()
                    .WithMany(t => t.PostTags)
                    .HasForeignKey(pt => pt.TagId),
                j => j
                    .HasOne<Post>()
                    .WithMany(p => p.PostTags)
                    .HasForeignKey(pt => pt.PostId),
                j =>
                {
                    j.Property(pt => pt.PublicationDate).HasDefaultValueSql("CURRENT_TIMESTAMP");
                    j.HasKey(t => new { t.PostId, t.TagId });
                });

Is that the cause of confusion?

Ah, that did it. I completely missed out on the HasOne<T>() overload. Thanks for shedding light on this.


Project Finishes Migration In A Broken State

Steps to repro:

mint clone ember-cli-pemberly-m3
cd  ember-cli-pemberly-m3
rehearsal migrate

You will get breakage in addon/-internal/api-compat.ts and other files

Looks like ~90% of the breakages are in docusaurus templates eg.
export default function Home() {
  const { siteConfig } = useDocusaurusContext();
  return (
    <Layout
/* @ts-expect-error @rehearsal TODO TS2349: This expression is not callable..  Type '{}' has no call signatures. */
      title={`Hello from ${siteConfig.title}`}
/* @ts-expect-error @rehearsal TODO TS2365: Operator '<' cannot be applied to types 'boolean' and 'RegExp'. */
      const description="Description will go into a meta tag in <head />"
    >
/* @ts-expect-error @rehearsal TODO TS2749: 'HomepageHeader' refers to a value, but is being used as a type here. Did you mean 'typeof HomepageHeader'? */
      <HomepageHeader />
    </Layout>
  );
}

This one is breaking app code
INPUT:
  /**
   * The `normalizeResponse` method is used to normalize a payload.
   *
   * @param {Store} store
   * @param {<MegamorphicModel>} M3Model m3 pass in the MegamorphicModel class
   * @param {Object} payload
   * @param {(string|number)} id The id of model, cacheKey if from queryURL
   * @param {string} requestType
   * @returns {Object}
   */
  normalizeResponse(store, M3Model, payload, id, requestType) {
    // payload === undefined and payload === '' are both invalid at this point;
    // however we are working around invalid frontend API responses that return
    // a 200 response code and an empty response body even when the request
    // accept header only allows JSON
    //
    // This can happen when a frontend api has an action returning
    // Task<ActionResult<Void>>, and creates an ActionResult with a value of
    // (Void) null, but still uses the default status code of 200.
    if (payload === null || payload === undefined || payload === '') {
      // allow queryURL to empty responses
      return payload;
    }

    if (payload.included) {
      for (let i = 0; i < payload.included.length; ++i) {
        payload.included[i] = this._normalizeResource(payload.included[i]);
      }
    } else {
      payload.included = [];
    }

    // we've normalized all included resources, now we normalize the primary
    // resource.  This is mostly the same except for action responses which
    // require special handling

    if (payload.data) {
      // $type as we have not normalized the primary resource yet
      if (payload.data.$type === ACTION_RESPONSE) {
        payload = this._normalizeActionResponse(payload, id);
        if (typeof payload !== 'object') {
          // return primitives directly
          return payload;
        }
      } else {
        // If we are saving a record, we know that the user has already provided
        // a type, so there is no need to use a defaultType fallback
        let fallbackToDefaultType =
          requestType !== 'createRecord' && requestType !== 'updateRecord';
        payload.data = this._normalizeResource(
          payload.data,
          id,
          fallbackToDefaultType
        );
      }
    }

    if (
      payload.meta &&
      payload.meta.microSchema &&
      payload.meta.microSchema.isGraphQL
    ) {
      fillInMissingFieldsForUnionsInObject(
        payload.data.attributes,
        payload.meta.microSchema.types
      );
      payload.included.forEach(includedDataObject => {
        const schemaDefinition = getMicroSchemaForObject(
          includedDataObject.attributes,
          payload.meta.microSchema.types
        );
        if (schemaDefinition) {
          fillInMissingFieldsForUnionsInObject(
            includedDataObject.attributes,
            payload.meta.microSchema.types
          );
        }
      });
    }

    if (payload.data && !this._containsProjections(payload)) {
      return payload;
    }

    return this._normalizeProjections(store, payload);
  },

OUTPUT:
/**
   * The `normalizeResponse` method is used to normalize a payload.
   *
   * @param {Store} store
   * @param {<MegamorphicModel>} M3Model m3 pass in the MegamorphicModel class
   * @param {Object} payload
   * @param {(string|number)} id The id of model, cacheKey if from queryURL
   * @param {string} requestType
   * @returns {Object}
   */
/* @ts-expect-error @rehearsal TODO TS2304: Cannot find name 'Store'. */
  normalizeResponse(store: Store, M3Model: <MegamorphicModel>() => , payload: object, id: (string | number), requestType: string): object {
    // payload === undefined and payload === '' are both invalid at this point;
    // however we are working around invalid frontend API responses that return
    // a 200 response code and an empty response body even when the request
    // accept header only allows JSON
    //
    // This can happen when a frontend api has an action returning
    // Task<ActionResult<Void>>, and creates an ActionResult with a value of
    // (Void) null, but still uses the default status code of 200.
/* @ts-expect-error @rehearsal TODO TS2367: This condition will always return 'false' since the types 'object' and 'string' have no overlap. */
    if (payload === null || payload === undefined || payload === '') {
      // allow queryURL to empty responses
      return payload;
    }

/* @ts-expect-error @rehearsal TODO TS2339: Property 'included' does not exist on type 'object'. */
    if (payload.included) {
/* @ts-expect-error @rehearsal TODO TS2339: Property 'included' does not exist on type 'object'. */
      for (let i = 0; i < payload.included.length; ++i) {
/* @ts-expect-error @rehearsal TODO TS2339: Property 'included' does not exist on type 'object'. */
        payload.included[i] = this._normalizeResource(payload.included[i]);
      }
    } else {
/* @ts-expect-error @rehearsal TODO TS2339: Property 'included' does not exist on type 'object'. */
      payload.included = [];
    }

    // we've normalized all included resources, now we normalize the primary
    // resource.  This is mostly the same except for action responses which
    // require special handling

/* @ts-expect-error @rehearsal TODO TS2339: Property 'data' does not exist on type 'object'. */
    if (payload.data) {
      // $type as we have not normalized the primary resource yet
/* @ts-expect-error @rehearsal TODO TS2339: Property 'data' does not exist on type 'object'. */
      if (payload.data.$type === ACTION_RESPONSE) {
        payload = this._normalizeActionResponse(payload, id);
        if (typeof payload !== 'object') {
          // return primitives directly
          return payload;
        }
      } else {
        // If we are saving a record, we know that the user has already provided
        // a type, so there is no need to use a defaultType fallback
        let fallbackToDefaultType =
          requestType !== 'createRecord' && requestType !== 'updateRecord';
/* @ts-expect-error @rehearsal TODO TS2339: Property 'data' does not exist on type 'object'. */
        payload.data = this._normalizeResource(
/* @ts-expect-error @rehearsal TODO TS2339: Property 'data' does not exist on type 'object'. */
          payload.data,
          id,
          fallbackToDefaultType
        );
      }
    }

    if (
/* @ts-expect-error @rehearsal TODO TS2339: Property 'meta' does not exist on type 'object'. */
      payload.meta &&
/* @ts-expect-error @rehearsal TODO TS2339: Property 'meta' does not exist on type 'object'. */
      payload.meta.microSchema &&
/* @ts-expect-error @rehearsal TODO TS2339: Property 'meta' does not exist on type 'object'. */
      payload.meta.microSchema.isGraphQL
    ) {
      fillInMissingFieldsForUnionsInObject(
/* @ts-expect-error @rehearsal TODO TS2339: Property 'data' does not exist on type 'object'. */
        payload.data.attributes,
/* @ts-expect-error @rehearsal TODO TS2339: Property 'meta' does not exist on type 'object'. */
        payload.meta.microSchema.types
      );
/* @ts-expect-error @rehearsal TODO TS2339: Property 'included' does not exist on type 'object'. */
      payload.included.forEach(includedDataObject => {
        const schemaDefinition = getMicroSchemaForObject(
          includedDataObject.attributes,
/* @ts-expect-error @rehearsal TODO TS2339: Property 'meta' does not exist on type 'object'. */
          payload.meta.microSchema.types
        );
        if (schemaDefinition) {
          fillInMissingFieldsForUnionsInObject(
            includedDataObject.attributes,
/* @ts-expect-error @rehearsal TODO TS2339: Property 'meta' does not exist on type 'object'. */
            payload.meta.microSchema.types
          );
        }
      });
    }

/* @ts-expect-error @rehearsal TODO TS2339: Property 'data' does not exist on type 'object'. */
    if (payload.data && !this._containsProjections(payload)) {
      return payload;
    }

    return this._normalizeProjections(store, payload);
  }

I believe this is fixed now


Memory Leak in PlotWidget

It seems, there exists a small memory leak in the PlotWidget, see the following example code:
from PyQt5.QtCore import Qt, QTimer
from PyQt5.QtWidgets import QApplication, QWidget
from silx.gui.plot import Plot2D
import numpy as np
import gc

# from http://python.6.x6.nabble.com/Hunting-down-memory-leaks-tp1792250p1792260.html
def gcHistogram():
    """Returns per-class counts of existing objects."""
    result = {}
    for o in gc.get_objects():
        t = type(o)
        count = result.get(t, 0)
        result[t] = count + 1
    return result

def diffHists(h1, h2):
    """Prints differences between two results of gcHistogram()."""
    print("----------diff------------")
    for k in h1:
        if k not in h2:
            print("missing in h2:", k)
        elif h1[k] != h2[k]:
            print("%s: %d -> %d (%s%d)" % (
                k, h1[k], h2[k], h2[k] > h1[k] and "+" or "", h2[k] - h1[k]))

class MyWidget(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent=None)

        self.plot = None
        self.hist = None

        self.timer = QTimer()
        self.timer.timeout.connect(self.newPlot)
        self.timer.timeout.connect(self.printObjects)
        self.timer.start(1000)

    def newPlot(self):
        if self.plot:
            self.plot.close()
        self.plot = Plot2D(backend="opengl")
        self.plot.setAttribute(Qt.WA_DeleteOnClose)
        self.plot.addImage(np.random.rand(1000, 1000))
        self.plot.show()

    def printObjects(self):
        gc.collect()
        hist = gcHistogram()
        if self.hist:
            diffHists(self.hist, hist)
        self.hist = hist

def main():
    app = QApplication([])

    widget = MyWidget()
    widget.show()

    app.exec_()

main()

Its output eventually looks like this:
----------diff------------
<class 'PyQt5.QtGui.QOpenGLContext'>: 16 -> 17 (+1)
<class 'weakref'>: 8980 -> 9007 (+27)
<class 'tuple'>: 17350 -> 17353 (+3)
<class 'ctypes.c_void_p'>: 17 -> 18 (+1)
<class 'dict'>: 17369 -> 17370 (+1)

In case of the matplotlib backend, only the weakrefs accumulate over time.

The Qt OpenGL context object (PyQt5.QtGui.QOpenGLContext with PyQt>=5.4) is used as a key in dictionaries to store reference to resources associated to it and this is not cleaned-up when the context is no longer valid, resulting in the leak you are mentioning.
I'm looking at how to clean-up those dictionaries.

PR #2539 avoids keeping reference to destroyed OpenGL context objects and improves the situation.
Some objects are still leaking upon destruction, so more investigation is needed.
It would also be interesting to know where those weakrefs are leaking from.

I investiged a bit further. This is the slightly altered test code:
from PyQt5.QtCore import Qt, QTimer
from PyQt5.QtWidgets import QApplication, QWidget
from silx.gui.plot import Plot2D
import numpy as np
import gc
import os
import linecache
import tracemalloc

# from https://github.com/matplotlib/matplotlib/issues/11956
def display_top(snapshot, key_type='lineno', limit=10):
    '''
    function for pretty printing tracemalloc output
    '''
    # snapshot = snapshot.filter_traces((
    #     tracemalloc.Filter(False, "<frozen importlib._bootstrap>"),
    #     tracemalloc.Filter(False, "<unknown>"),
    # ))
    top_stats = snapshot.statistics(key_type)

    print("Top %s lines" % limit)
    for index, stat in enumerate(top_stats[:limit], 1):
        frame = stat.traceback[0]
        # replace "/path/to/module/file.py" with "module/file.py"
        filename = os.sep.join(frame.filename.split(os.sep)[-2:])
        print("#%s: %s:%s: %.1f KiB"
              % (index, filename, frame.lineno, stat.size / 1024))
        line = linecache.getline(frame.filename, frame.lineno).strip()
        if line:
            print('    %s' % line)

    other = top_stats[limit:]
    if other:
        size = sum(stat.size for stat in other)
        print("%s other: %.1f KiB" % (len(other), size / 1024))
    total = sum(stat.size for stat in top_stats)
    print("Total allocated size: %.1f KiB" % (total / 1024))

plot = None
tracemalloc.start()

def showPlot():
    global plot
    if plot:
        plot.close()
        plot = None
        gc.collect()
        snapshot = tracemalloc.take_snapshot()
        display_top(snapshot)
    else:
        plot = Plot2D(backend="matplotlib")
        plot.addImage(np.random.rand(100, 100))
        plot.show()

def main():
    app = QApplication([])
    widget = QWidget()
    widget.show()  # Keep the application running
    timer = QTimer()
    timer.timeout.connect(showPlot)
    timer.start(100)
    app.exec_()

main()

Running this for a long time, the output will eventually look like:
Top 10 lines
#1: actions/PlotAction.py:73: 17682.7 KiB
    self.triggered[bool].connect(triggered)
#2: plot/_BaseMaskToolsWidget.py:401: 1473.4 KiB
    self._mask.sigChanged.connect(self._updatePlotMask)
#3: plot/Profile.py:435: 736.7 KiB
    self.hLineAction.toggled[bool].connect(self._hLineActionToggled)
#4: python3.5/linecache.py:137: 663.1 KiB
    lines = fp.readlines()
#5: widgets/FloatEdit.py:64: 149.5 KiB
    text = self.validator().locale().toString(float(value))
#6: plot/_BaseMaskToolsWidget.py:722: 32.1 KiB
    layout = qt.QGridLayout()
#7: python3.5/_weakrefset.py:37: 28.6 KiB
    self.data = set()
#8: plot/_BaseMaskToolsWidget.py:1124: 24.2 KiB
    self.setWidget(widget)
#9: qt/_utils.py:46: 19.3 KiB
    formats = qt.QImageReader.supportedImageFormats()
#10: gui/icons.py:421: 18.7 KiB
    qfile = qt.QFile(filename)
1044 other: 985.9 KiB
Total allocated size: 21814.2 KiB
...

It seems that for some reason the signal slot connections are not cleaned up. Interestingly, self.hLineAction.toggled[bool].connect(self._hLineActionToggled) looks not different to all the other connections in the Profile class which don't leak.

Very difficult to check, but maybe some QAction do not have proper parent.

Hi. I create a PR #2544 if you like to check.
Thanks for your code sample, it was very useful.


Unknown key size for type "http://www.w3.org/2000/09/xmldsig#rsa-sha1".

I'm trying to send a signed AuthnRequest with self-signed certificates, but whatever I try, I always get the abovementioned error. Even though I change signatureAlgorithm to be rsa-sha256, the error says rsa-sha1.

Can you try to use that online tool and see if you are able to sign the AuthNRequest?
https://www.samltool.com/sign_authn.php

It seems that the error happens on the generateSessionKey, used on the generateNameId method.
But this method is executed on the LogoutRequest not in the AuthNRequest... so I'm lost.


Go To Facebook.com bug ? Or user error ?

I am using php-sdk
My issues is it only happens when the user is in facebook when they goto my app they get the
Go To Facebook.com and FB banner.
When i send users in fb to this url,
https://graph.facebook.com/oauth/authorize?type=web_server&display=touch&client_id=165445063496507&redirect_uri=http://alliedtitanium.com/fb/auth/post.php?fbmember=1&scope=email
// If Facebook user doesn't exist and app is inside of facebook.  Redirect to .
if((empty($fbemail)) AND (isset($_GET['fbmember']))){
$WA_Redirect_URL = "1.php";
$WA_Redirect_KeepQS = false;
1.php has a javascript that redirects to https://graph.facebook.com/oauth/authorize?
I tried to send direct from $WA_Redirect_URL = and same thing Go to Facebook.com
coming from my server i tried 4 diffrent oauth connects with no luck
appreciate your time and effort thanx in advance

Umm...maybe I'm confused here, but this is OmniAuth, the Ruby authentication library. You seem to be using PHP?

Oh no sorry I missed linked it i am coding in php-sdk 3.
I believe I might have solved my problem I send users to an intermediate page and have them click the url and it by
Passes the Go To Facebook.com
-----Original Message-----
From: Michael Bleigh<EMAIL_ADDRESS>Sent: Saturday, October 22, 2011 10:03 AM
To: sicxc
Subject: Re: [omniauth] Go To Facebook.com bug ? Or user error ? (#518)
Umm...maybe I'm confused here, but this is OmniAuth, the Ruby authentication library. You seem to be using PHP?
--
Reply to this email directly or view it on GitHub:
https://github.com/intridea/omniauth/issues/518#issuecomment-2492440


[BUG] Context menu on file would create a blank menu item

Are you using the latest version of the plugin?

[X] I have verified that I am using the latest version

Have you checked for similar issues?

[X] I have verified that there are no similar issues

What happened?

Right click on any file(not the folder) in the explorer view.
See the blank context menu item between the Copy Obsidian URL and Rename

What did you expect to happen?
Don't show the blank menu item or show correct menu item.
Relevant console output

Obsidian version
1.6.3
OS
Windows

For quickly debugging, the issue occurs at this link: link.
Right click on file item in the file explorer also triggers the file-menu event, resulting in a null leaf. We can check if the leaf is not null before calling menu.addItem.


Question about middleware

Hi, Can you give me an example of how to use a middleware, for example I have a route '/users' and I have a middleware to restrict access to that route, should I configure it in 'middleware/index.js' ? how can I set that middleware only for that route?
Thanks

Everything in this repo is a Router, and Routers can be mounted anywhere you want:
let middleware = someMiddleware();
router.use('/users', middleware);

// or if you're bypassing routers, install per-route:
app.get('/users', [
  someMiddleware(),
  (req, res, next) => {}
]);

I get it, thank you!


299 refactoring stats

Please review - the idea is that Bug Count now happens once before any output is generated and not (potentially) multiple times for each output format. That "global" bug count then becomes a part of CFLintStats and gets passed into each output routine.

Looks good.  My only reservation is that bug counts are only available at
the end of the output -  I don't think that's a problem though.
On Fri, Jun 30, 2017 at 12:45 AM, Kai Koenig<EMAIL_ADDRESS>wrote:

@TheRealAgentK https://github.com/therealagentk requested your review
on: cflint/CFLint#320 https://github.com/cflint/CFLint/pull/320 299
refactoring stats.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/cflint/CFLint/pull/320#event-1145371742, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AFtZu67hV0KGUbUQ9r3yRuWlp-CTx_icks5sJH1ogaJpZM4OKJPl
.

No, the bug counts used to be available only at the end of the output, but now they actually happen before the output creation.
In CFLintMain (lines 452-454):
        for (BugInfo bug : cflint.getBugs()) {
            cflint.getStats().getCounts().add(bug.getMessageCode(), bug.getSeverity());
        }

We could move it into .process, but the counts will now be all done before we go to any output routine.

Great.  Thank you!
On Fri, Jun 30, 2017 at 10:59 PM, Kai Koenig<EMAIL_ADDRESS>wrote:

Merged #320 https://github.com/cflint/CFLint/pull/320.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/cflint/CFLint/pull/320#event-1146830322, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AFtZu1jF7N1-wNsTdHrv1-PrBLKhpID8ks5sJbYpgaJpZM4OKJPl
.