Bring over remaining phabricator content

Port remaining phabricator wiki content:

security centre (ie vulnerability reporting process)
notes on testing

I've lightly updated the testing notes - there may still be some out-of-date info but I've tried to fix all the major things. I've removed some things that tend to go out of date (e.g. list of supported tool versions).
Non-critical out-of-date things can be fixed in a follow-up and shouldn't scope-creep this PR.
Part of review: please confirm that I haven't missed any useful content from Phabricator https://developer.trustedfirmware.org/w/mbed-tls/

This resolves the content part of https://github.com/Mbed-TLS/mbedtls/issues/4086 (with a remaining task of hunting down and updating links to the old wiki).

I've removed some things that tend to go out of date (e.g. list of supported tool versions).

Please do keep the list of tool versions, that is the main information in https://developer.trustedfirmware.org/w/mbed-tls/testing/ci/. It documents the tool versions that we have in our CI, for which otherwise you have to dig down in multiple CI scripts. It's a checklist that team members use to set up their environment when they join.

I've removed some things that tend to go out of date (e.g. list of supported tool versions).

Please do keep the list of tool versions, that is the main information in https://developer.trustedfirmware.org/w/mbed-tls/testing/ci/. It documents the tool versions that we have in our CI, for which otherwise you have to dig down in multiple CI scripts. It's a checklist that team members use to set up their environment when they join.

I don't agree, that list was last updated in Sept 2020, and I doubt we would remember to update it in the future. So I don't think it's providing useful information.

It documents the tool versions that we have in our CI, for which otherwise you have to dig down in multiple CI scripts.

Multiple CI scripts really? My understanding is that you only have to look at a single file: https://github.com/Mbed-TLS/mbedtls-test/blob/master/resources/docker_files/ubuntu-22.04/Dockerfile (or whatever version's closest to the distro/version you're using). I has all the info that the table has I think - except as Dave points out, the Dockefiles are always up-to-date while the table isn't. (Case in point: when we added named versions of GnuTLS & OpenSSL on the CI, we didn't update the table.)
I think we should replace the table with a link to one of the Dockerfiles. If there's any additional information needed, we can keep it in addition to the link. For example draw attention to the fact that you need to set up environment variables pointing to GnuTLS & OpenSSL, talk about which versions of Python are supported, because in the Dockerfiles that's mostly implicit (and even then, perhaps we shouldn't directly mention versions of Python here but instead point to the README from the main repo - that's what's most likely to remain up-to-date).

Multiple CI scripts really? My understanding is that you only have to look at a single file

You have to look at all the docker files. And all.sh to understand how some of the tools are invoked. And scripts/min_requirements.py (from which you deduce scripts/min_requirements.py) which is invoked by Groovy code. Our scripts have a level of complexity where “TRFS, noob” doesn't cut it. Remember, this is information someone needs when they're starting working on the project.

the Dockefiles are always up-to-date while the table isn't.

Sure, that's the curse of documentation. It's still better to have documentation. Documentation in the canonical place rather than a wiki that's being shut down would have a better chance of keeping up-to-date.

I agree with Manuel. History has shown that we will not keep it up to date. I also think it's low-value information - most people will never need it and can always ask. A short section to document "here is how you find the minimum tool versions from docker" is fine.
I'm not going to do this in this PR, but if anyone feels motivated, happy to take a separate PR to add such a section.


Change timer sounds

Changelog

[x] Added the use-sound package (supposedly only "1kb bytes (gzip) in your bundle! ~10kb loaded async"). Its useSound hook enables the following changes.
[x] Timer sounds are now unaffected by hardware media keys (afaik)
[x] Countdown sound starts 6 seconds before the timer ends. Afterwards, the times-up sound is played. The scheme is as follows: tik - tok - tik - tok - tik - tok - boom. This felt more natural than tik - tok - tik - boom.
[x] Timer sounds dont re-play after the page is reloaded without closing a finished timer
[x] Sound volume reduced

Checklist

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] The light- and dark-theme are both supported and tested
[x] The design was implemented and is responsive for all devices and screen sizes
[x] The application was tested in the most commonly used browsers (e.g. Chrome, Firefox, Safari)

This might be resolved by not triggering the second sound by useEffect (due to its asynchrone nature)

Btw. yesterday during the AD exchange retro perspective, I heard that Miro only plays a sound once the timer has ended. To be honest I really like that.

Btw. yesterday during the AD exchange retro perspective, I heard that Miro only plays a sound once the timer has ended. To be honest I really liked that.

Yes, I support that. The tik-tok-sound's initial purpose of indicating that board members should hurry up is gone anyways due to the short tik-tok-period. Therefore, one sound at the end is enough.


[VS Code] Enhance source control diffing to automatically open side-by-side diff when following participant

When a host opens a change in VS Code Source Control they see the original file and the changes side by side.
Expected: When a collaborator is following the host participant, they should also see both the original file and the change side by side.
Actual: Collaborator only sees the file that the host has in focus.

Related issue #36 already allows for the collaborating participant to manually open the side-by-side diff from the Source Control tab. This request is to make it automatic.
Feature Request

Automatically open the selected change and it's side-by-side diff when Follow Participant is on.

Out of scope

No replicating host layout/splits (#1954) since diffs open as single files (see image above)

@linhub15 : thanks for the feature suggestion!
Assigning to @fubaduba for consideration

Closing this as resolved since it's been fixed for a while 😄


Remote-SSH and Remote Azure ML not working on latests insiders

Issue Type: Bug

Open VS Code Insiders
Open Remote Explorer
Select SSH Targets
Expand a host to see its previously saved folders
Right click "Open on SSH host in new window"
New window is open but the connection is stuck, left bottom remote label shows "Opening Remote.."

Note: We were testing the Azure ML remote capabilities and find the same issue, could it be that all remote extensions are affected?

VS Code version: Code - Insiders 1.57.0-insider (1082913dd012e21cc5f35a06f15c480ca447f67f, 2021-05-27T06:55:24.593Z)
OS version: Windows_NT x64 10.0.19042
Fetching remote diagnostics for 'ssh-remote+sevillal-ci3' timed out.

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz (8 x 2112)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.92GB (2.80GB free)

Process Argv
--crash-reporter-id 2b925b84-77da-4382-9d6c-89a345fc2762

Screen Reader
no

VM
0%

Fetching remote diagnostics for 'ssh-remote+sevillal-ci3' timed out.
Extensions (17)

Extension
Author (truncated)
Version

vscode-eslint
dba
2.1.20

EditorConfig
Edi
0.16.4

prettier-vscode
esb
6.4.0

vscode-azureresourcegroups
ms-
0.4.0

vscode-azurestorage
ms-
0.12.0

vscode-cosmosdb
ms-
0.16.0

python
ms-
2021.5.842923320

vscode-pylance
ms-
2021.5.4

jupyter
ms-
2021.6.881596855

vscode-ai
ms-
0.6.23

vscode-ai-remote
ms-
0.3.0

remote-containers
ms-
0.148.0

remote-ssh
ms-
0.55.0

remote-ssh-edit
ms-
0.55.0

azure-account
ms-
0.9.8

vscode-typescript-tslint-plugin
ms-
1.3.3

vscode-yaml
red
0.18.0

A/B Experiments
vsins829:30139715
vsliv368:30146709
vsreu685:30147344
vspor879:30202332
vspor708:30202333
vspor363:30204092
vspre833cf:30267465
vshan820:30294714
vscorecescf:30290706
vscus158:30286553
vscod805cf:30301675

I've similar problem, but I'd like to use dev container on Windows. It stuck on Opening Remote....
Version: 1.57.0-insider (user setup)
Commit: 541a5d4fa70ab3095f23b28b88914e1f6a8f65c4
Date: 2021-05-28T09:50:57.063Z
Electron: 12.0.9
Chrome: 89.0.4389.128
Node.js: 14.16.0
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19042


Document should mention "__" and ":" is not supposed to be used in app settings

According to https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local?tabs=windows%2Ccsharp%2Cbash#local-settings-file - Values must be strings and not JSON objects or arrays. Setting names can't include a colon (:) or a double underline (__). Double underline characters are reserved by the runtime, and the colon is reserved to support dependency injection.
I'm currently working on two support tickets and noticed that double underscore in app setting will cause Windows consumption plan function app scale controller not working as expected(not listening to specific trigger activity if the trigger's connection string contains "__" or ":"), but the original document did not specifically indicate this issue. The document only tells what should be used in Linux.

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

ID: 1e25899c-1ed8-7cfc-2c37-73bb010a87f0
Version Independent ID: 8b366c42-43f8-d5eb-b619-b356e75a9916
Content: Configure apps in the portal - Azure App Service
Content Source: articles/app-service/configure-common.md
Service: app-service
GitHub Login: @cephalin
Microsoft Alias: cephalin

@yuu045-ran Thanks for the feedback! We are currently investigating and will update you shortly.

@yuu045-ran Thank you for raising this up. We agree that this would be useful information to share with readers. We have created a PR but cannot merge it until after Microsoft Ignite starts on Tuesday. We have added this PR to our list of items needing to be merged after Microsoft Ignite starts.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Update live-transcription.md

Typo in API version

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


EWDK setup scripts only work with 'drive letter' paths.

The setup scripts will fail if the path is a SMB path. This is unfortunate for build servers.  It at least should be noted in the doc page.

Hi @HollisTech thanks for the suggestion.  Do you have specific wording you'd like to recommend?  I'm not immediately familiar with the issue.

By 'smb path' I mean a network share path like "\server-name\EWDK" instead of, for example: "F:\EWDK".

Hi @HollisTech,
Are you saying that mapping the network drive doesn't work with the EWDK setup scripts?  For example: net use * \\server-name\EWDK should result in the system assigning a drive letter that is not in use.  Then use that new drive letter to run the EWDK scripts.

Hi @tedhudek
Sure, one can always mount iso's with drive letters. However that is a manual step and not particularly great to have to do in, for example, a build script. SMB paths are ubiquitous these days and are much easier to use in many environments. While this 'feature' is a bug in the EWDK setup scripts, and should be fixed, the docs ought to point out the (discovered) requirement that the EWDK has to be accessed through a mounted  volume.

Thanks @HollisTech!
I just added this caveat to step 1 of https://learn.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk#download-icon-windows-11-version-22h2-updated-may-2023-ewdk-with-visual-studio-build-tools.


Edge TypeError when opening project.json in monaco editor

jsonMode.js (7,14043)[functions]__proto__[object Error] {...}description""message"Unable to get property 'getText' of undefined or null reference"name"TypeError"number0stack"TypeError: Unable to get property 'getText' of undefined or null reference   at parseJSONDocument (https://functions-next.azure.com/assets/monaco/min/vs/language/json/jsonWorker.js:9:17144)   at e.prototype.doValidation (https://functions-next.azure.com/assets/monaco/min/vs/language/json/jsonWorker.js:9:19198)   at e.prototype.fmr (https://functions-next.azure.com/assets/monaco/min/vs/base/worker/workerMain.js#json:11:6366)   at t.prototype._handleMessage (https://functions-next.azure.com/assets/monaco/min/vs/base/worker/workerMain.js#json:10:8110)   at handleMessage (https://functions-next.azure.com/assets/monaco/min/vs/base/worker/workerMain.js#json:10:7763)   at e.prototype._handleMessage (https://functions-next.azure.com/assets/monaco/min/vs/base/worker/workerMain.js#json:10:5802)   at e.prototype.handleMessage (https://functions-next.azure.com/assets/monaco/min/vs/base/worker/workerMain.js#json:10:5320)   at t.prototype.onmessage (https://functions-next.azure.com/assets/monaco/min/vs/base/worker/workerMain.js#json:10:7836)   at self.onmessage (https://functions-next.azure.com/assets/monaco/min/vs/base/worker/workerMain.js#json:11:7673)"
`
"sessionId": "4a03d1d64ae84585bc19bc21c66cbb73",
"clientSessionStartDate": {
"iso": "2017-03-30T00:44:23.390Z",
"offset": 420,
"ticks":<PHONE_NUMBER>390
},
"clientCurrentDate": {
"iso": "2017-03-30T00:44:23.820Z",
"offset": 420,
"ticks":<PHONE_NUMBER>820
},
`

@fashaikh Was there a user-facing error, or just something you saw in the console?


Fixed scene.pick object empty after exiting VR

Problem recurrence steps:

Click the point entity object. Console. log prints the object value
Click VRButton to enter VR mode
Exit VR mode
Viewer. Scene. Pick cannot pick objects, and the printed value is undefined

viewer.entities.add({
      position: Cesium.Cartesian3.fromDegrees(116.39224, 30.902853),
      point: {
        color: Cesium.Color.YELLOW,
        pixelSize: 30,
      },
    });

    let handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
    handler.setInputAction((event) => {
      let pickedObject =viewer. scene.pick(event.position);
      console.log("pickedObject",pickedObject)  // **Open VR and exit the post-VR mode, and print undefined**

    }, Cesium.ScreenSpaceEventType.LEFT_CLICK);

This commit fixes the problem

Thank you so much for the pull request @muyao1987! I noticed this is your first pull request and I wanted to say welcome to the Cesium community!
The Pull Request Guidelines is a handy reference for making sure your PR gets accepted quickly, so make sure to skim that.

:x: Missing CONTRIBUTORS.md entry.

Please add yourself to the contributors file!

:x: Missing CLA.

Please send in a Contributor License Agreement (CLA) and comment back here to let us know to check this!
Maintainers, here's how to check for a submitted CLA.

:grey_question: CHANGES.md was not updated.

If this change updates the public API in any way, please add a bullet point to CHANGES.md.

:grey_question: Unit tests were not updated.

Make sure you've updated tests to reflect your changes, added tests for any new code, and ran the code coverage tool.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.

It has been handled as required
[x]   Missing CONTRIBUTORS.md entry.
[x]   Missing CLA.
[ x]  Cesium Viewer works.
[x ]  Works in 2D/CV.

Thanks for the PR @muyao1987! I don't see your username listed in the CLA list. Did you sign the Individual CLA using this GitHub account?

Thanks for the PR @muyao1987! I don't see your username listed in the CLA list. Did you sign the Individual CLA using this GitHub account?

已经提交

@sanjeetsuhag Hello, have you received the CLA I submitted? And can the problem itself be fixed in this way?

Thanks again for your contribution @muyao1987!
No one has commented on this pull request in 90 days. Maintainers, can you review, merge or close to keep things tidy?
I'm going to re-bump this in 90 days. If you'd like me to stop, just comment with @cesium-concierge stop. If you want me to start again, just delete the comment.

Thanks again for your contribution @muyao1987!
No one has commented on this pull request in 90 days. Maintainers, can you review, merge or close to keep things tidy?
I'm going to re-bump this in 90 days. If you'd like me to stop, just comment with @cesium-concierge stop. If you want me to start again, just delete the comment.

Thanks again for your contribution @muyao1987!
No one has commented on this pull request in 90 days. Maintainers, can you review, merge or close to keep things tidy?
I'm going to re-bump this in 90 days. If you'd like me to stop, just comment with @cesium-concierge stop. If you want me to start again, just delete the comment.


Initial PR for package manager

Some UI
Folder structure and placeholders

I'm okay with it.
Note that even there was bad stuff in the xaml files, I probably couldn't tell just looking at the markup (much easier to see it in action).  So I glanced over those.  Most of the UI code is coming from NuGet anyway.
Some parts are clearly not finished, so I didn't bother with notes.
The WPF enum value conversion stuff may be possible to unify with our existing converter?  If so, it can be done later.


Suggestion for Literal wrong

If you write Literal('a', 'b') you get the wrong suggestion Did you mean Literal[a, b]
If you write T(a, b), where T is defined as a literal, you get the wrong suggestion Did you mean Literal(a, b)

Fixed with #136


Set availability for inverted character class test

This feature depends on running with a Swift 5.7 stdlib, and fails when that isn't available.

@swift-ci Please test macOS platform

@swift-ci Please test

@swift-ci Please test

@swift-ci Please test

@swift-ci Please test


css not loading when using slick with event

am having a small problem in here, i added the slider to an event to show multiple sliders (simple hide and show on click), everything working but when navigating between the links, the slider does not load the css in time and waits until the transetion to get the css.
i tried the waitfortransion att, and lazyload but still having the same problem, anyone can help?
the slider is on http://marksman.me/wordpress
thanks

I'm not the wise one to give you the answer, but just a thought, would assigning classes to the element in the event call in the script perhaps make a difference?


Project 8: Details modal (pair programming)

Project 8: Details modal (pair programming)
In this section I have built for this milestone is:

Added When the user clicks (or taps) the button to check project details, the popup with details about the project appears for both mobile and desktop screen sizes.
Added When the user clicks (or taps) the close (X) button, the popup disappears for both mobile and desktop screen sizes.

Project 8: Details modal (pair programming)
In this section I have built for this milestone is:

Remove the code comments(eslint disable...).
Update Modal based on  figma version and bring down the seelive/seesource buttons

Project 8: Details modal (pair programming)
In this section I have built for this milestone is:

Remove the code comments(eslint disable...).
Update Modal based on figma version and bring down the seelive/seesource buttons

Thanks, @Ginohmk for your feedback and approval.


Implement InstanceAdmin::AsyncGetAppProfile.

This fixes #1531.

This change is

The Windows build failure seems unrelated.


match nested classes and classes at the same time (want to use the same body)

Hi @frhagn
I have a situation where I want to use the same text processing on both nested classes and classes. In C# I have a class that contains nested classes. I want both the nested classes and the top level classes to be output the same way into the typescript file.
Right now I think I have to duplicate the code in the tst file that outputs the typescript: once for the filter: $Classes() and one for $Classes()[$NestedClasses[]].
Is there a way to have the filter capture both of these and use the same body?
Thanks
Greg

Try something like this:
${
    bool ClassFilter(Class c) => c.Name == "Program";

    IEnumerable<Class> AllClasses(File f)
    {
        var classes = f.Classes.Where(ClassFilter).ToList();
        return classes.Concat(classes.SelectMany(c => c.NestedClasses));
    }
}

$Classes(c => ClassFilter(c))[] // <-- Dummy: File must contain a matching filter

$AllClasses[export class $Name {

}]

Hi @frhagn
This pointed me in the right direction. Thank you very much.
I have combined this with #95 where @wookim00 suggested using class attributes. I am moving to a setup where I only have 2 tst files in my project, one spits out the Typescript service wrapper and the other spits out the Typescript viewmodel and knockout viewmodel classes.
I use two attributes on my C# classes:
[ExportToTypescript] and [ExportToTypescriptWithKnockout]
Since I have put these attributes on Classes and Nested Classes I had to use your code above to capture the classes and nested classes that have these attributes. The one thing that differed from what you put is that when I want to select a nested class, I may not have selected the parent class. Here is what I put in my .tst file:
    bool ExportToTypeScriptFilter(Class c) {
        bool select = false;
        foreach (var attr in c.Attributes) {
            if (attr.Name == "ExportToTypescript" || attr.Name == "ExportToTypescriptWithKnockout") {
                select = true;
                break;
            }
        }
        return select;
    }
    bool ExportToTypeScriptFilterWithKnockout(Class c) {
        bool select = false;
        foreach (var attr in c.Attributes) {
            if (attr.Name == "ExportToTypescriptWithKnockout") {
                select = true;
                break;
            }
        }
        return select;
    }

    IEnumerable<Class> ClassesToExportToTypescript(File f)
    {
        var classes = f.Classes.Where(ExportToTypeScriptFilter).ToList();
        return classes.Concat(f.Classes.SelectMany(c => c.NestedClasses).Where(ExportToTypeScriptFilter));
    }
    IEnumerable<Class> ClassesToExportToTypescriptWithKnockout(File f)
    {
        var classes = f.Classes.Where(ExportToTypeScriptFilterWithKnockout).ToList();
        return classes.Concat(f.Classes.SelectMany(c => c.NestedClasses).Where(ExportToTypeScriptFilterWithKnockout));
    }
}$Classes(c => ExportToTypeScriptFilter(c))[]
$ClassesToExportToTypescript[namespace $CustomNamespace {
    export interface $Name { $Properties[
        $Name: $Type;]
    }
}]

$ClassesToExportToTypescriptWithKnockout[namespace $CustomNamespace {
    export class Knockout$Name { $Properties(x => !IsScalarClass(x))[
...

Ok I think I am wrapping my head around this.
I am now working under the assumption that the $Classes is the almighty selector. If it returns false for all classes, then no file will be output.
So I now do this:
    //////////////////////////////////////////////////////////////////////////////////
    // select the classes to convert to typescript
    bool ClassShouldBeExported(Class c) {
        // A class should be processed (only the relevant bits will be exported) if
        // 1: it contains the attribute export to typescript or export with knockout
        // 2: one of its nested classes (recurrsion) contains the same two attributes
        // 3: one of its nested enums contain the export to typescript attribute
        // we short circuit as soon as possible
        // This is used by the $Classes() filter to see if there are any classes within the file
        // that need processing. We then ignore that list and go onto the other filters with the
        // actual code. This is so we can write the typescript code snippets once
        if (ExportToTypeScriptFilter(c)) {
            return true;
        }
        foreach (var nc in c.NestedClasses) {
            if (ClassShouldBeExported(nc)) {
                return true;
            }
        }
        foreach (var ne in c.NestedEnums) {
            if (ExportToTypeScriptFilter(ne)) {
                return true;
            }
        }
        return false;
    }
    // These are the filters used to determine the relavent parts of the file to transform
    bool ExportToTypeScriptFilter(Class c) {
        bool select = false;
        foreach (var attr in c.Attributes) {
            if (attr.Name == "ExportToTypescript" || attr.Name == "ExportToTypescriptWithKnockout") {
                select = true;
                break;
            }
        }
        return select;
    }
    bool ExportToTypeScriptFilter(Enum e) {
        bool select = false;
        foreach (var attr in e.Attributes) {
            if (attr.Name == "ExportToTypescript") {
                select = true;
                break;
            }
        }
        return select;
    }

And then I have this line as the first line of the body in the .tst file:
    // Ok here we go. The first line determines if there is a class in this file worth outputing. If it
    // doesnt find any classes or bits of class to be exported, then a corresponding .TS file wont be output
    // this is why ClassShouldBeExported looks at all the bits and pieces (nested classes and enums)
}$Classes(c => ClassShouldBeExported(c))[]

Notice that in ClassShouldBeExported, I look at the nested classes and nested enums. And I recurse on the nested classes.
So now with this, I can put the attribute [ExportToTypescript] on the top level class, or just one of the nested classes or on just one of the nested enums and the .tst file will pick that up and output a TS definition for that.
BTW @frhagn, I would be happy to supply the two .tst files that I am using if you want to put them up as examples of a more complex and complete solution in your documentation.


[BUG] Can't backup VMs with volumes created with Containerized Data Importer

Describe the bug
I have installed the KubeVirt CDI so I can persist ContainerDisks in VMs. When I create a VirtualMachine with dataVolumeTemplate the volume is created properly and the VM works as intended, but in the Harvester UI the Volume doesn't show that it is attached to a VM and the associated VM doesn't show that it has any Volumes. A side effect I'm experiencing seems to be I can't take any Backups of the VM. How can I resolve this?
To Reproduce
Steps to reproduce the behavior:

Install the KubeVirt CDI
Create a VM using a manifest with a dataVolumeTemplates spec (sample below)
Observe the Volumes show no VM attached and the VM shows no Volumes.

Expected behavior
Volumes should show as being attached to the appropriate VM and vice versa.
Support bundle
Bundle too big to attach, but can be found in the related Slack thread.
https://rancher-users.slack.com/archives/C01GKHKAG0K/p1695815435730789
Environment

Harvester ISO version: 1.2.0
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630): Baremetal

Additional context
Manifest
---
apiVersion: kubevirt.io/v1
kind: VirtualMachine
metadata:
  name: k8s-control1
spec:
  runStrategy: RerunOnFailure
  dataVolumeTemplates:
  - metadata:
      name: k8s-control1-volume
    spec:
      storage:
        volumeMode: Block
        resources:
          requests:
            storage: 20Gi
        accessModes:
          - ReadWriteMany
      source:
        registry:
          url: "docker://quay.io/fedora/fedora-coreos-kubevirt:stable"
  template:
    spec:
      domain:
        cpu:
          cores: 4
        devices:
          disks:
          - disk:
              bus: virtio
            name: k8s-control1-root
          - disk:
              bus: virtio
            name: cloudinitdisk
          rng: {}
          interfaces:
            - bridge: {}
              model: virtio
              name: nic-0
        machine:
          type: q35
        memory:
          guest: 3996Mi
        resources:
          limits:
            cpu: '4'
            memory: 4Gi
          requests:
            cpu: 250m
            memory: 2730Mi
      evictionStrategy: LiveMigrate
      hostname: k8s-control1
      networks:
        - multus:
            networkName: k8s
          name: nic-0
      volumes:
      - dataVolume:
          name: k8s-control1-volume
        name: k8s-control1-root
      - cloudInitConfigDrive:
          secretRef:
            name: k8s-control1-ignition
        name: cloudinitdisk

Hi @andyrue,
Harvester VM Backup supports volumes as persistentVolumeClaim, and cloudInitNoCloud.
Moreover, the persistentVolumeClaim requires to be Longhorn volumes for having snapshot, backup, and restore.

The resulting volumes from using the CDI are a PVC on Longhorn, it just seems to be missing something to link it properly to the VM in the UI.
Name:          k8s-control1-volume
Namespace:     default
StorageClass:  harvester-longhorn
Status:        Bound
Volume:        pvc-03770031-1254-42e3-94b4-cb5e4c999cc9
Labels:        app=containerized-data-importer
               app.kubernetes.io/component=storage
               app.kubernetes.io/managed-by=cdi-controller
               kubevirt.io/created-by=1770ae9e-7347-41ac-91d6-609a83e7cc66
Annotations:   cdi.kubevirt.io/storage.condition.running: false
               cdi.kubevirt.io/storage.condition.running.message: Import Complete
               cdi.kubevirt.io/storage.condition.running.reason: Completed
               cdi.kubevirt.io/storage.contentType: kubevirt
               cdi.kubevirt.io/storage.pod.phase: Succeeded
               cdi.kubevirt.io/storage.pod.restarts: 0
               cdi.kubevirt.io/storage.populator.progress: 100.0%
               cdi.kubevirt.io/storage.preallocation.requested: false
               cdi.kubevirt.io/storage.usePopulator: true
               pv.kubernetes.io/bind-completed: yes
               pv.kubernetes.io/bound-by-controller: yes
               volume.beta.kubernetes.io/storage-provisioner: driver.longhorn.io
               volume.kubernetes.io/storage-provisioner: driver.longhorn.io
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:      20Gi
Access Modes:  RWX
VolumeMode:    Block
DataSource:
  APIGroup:  cdi.kubevirt.io
  Kind:      VolumeImportSource
  Name:      volume-import-source-dfe2ae47-c9cf-4127-8390-261560da0c31
Used By:     virt-launcher-k8s-control1-d745p
Events:      <none>

VM Showing an empty Volume field.

Volume showing no VM attached

But the VM is working properly.

The UI issue is because the Harvester dashboard looks for a specific annotation to understand the relationship between the volume and the VM. Once it's added, it shows up as attached.
harvesterhci.io/owned-by: [{"schema":"kubevirt.io.virtualmachine","refs":["default/k8s-control1"]}]

That said, something else seems to be wrong, since snapshotting a VM with this configuration results in the snapshot winding up in an error state. Snapshotting the volume appears to succeed.


Initial port of TF micro to synopsys ARC processors

This pull request contains the changes to the makefiles for the project generation for tensor flow micro to generate a make project for synopsys ARC processors. It also installs the hooks to download and compile the embarc_mli library either as sources or as pre-compiled binary.
Next step will be the calling of embarc_mli functions from TF micro code.

@googlebot I signed it!


Add server feature to detect websocket support on the server

Similar to what we had in katana, this would be useful for signalr to automatically disable websockets if it wasn't enabled on the IIS Server.
See https://github.com/aspnet/SignalR/issues/1033.
/cc @Tratcher

The OS check is easy enough, though pan has said it's hard to tell if the IIS feature is installed. ANCM would also have to follow this information out of proc.
There's also the challenge that websockets is half provided by middleware.

Why would this be in Hosting rather than IISIntegration?

We need to look at what system.web did. There’s a server variable that gets set when it it’s enabled.
It’s in hosting because that’s where we currently have server features defined.

We briefly talked about this yesterday with @pan-wang @anurse and @Tratcher. IIRC ANCM will set an env variable to say whether WebSockets is supported. IISIntegration/Kestrel can then populate something (designed TBD) to signify what protocols are allowed.

Lets design the feature and decide where it's going to live. Lets also make sure we know how to flow this feature through so the SignalR can read it in the correct place. I think we can just look at IServer.ServerFeatures.
Another issue is that potentially middleware wants to tweak this feature. If you use Kestrel without the websocket middleware then it should say that websocket aren't supported.

Components involved in the matrix:

Kestrel - Supports Upgrade
HttpSys - Supports Upgrade (WebSockets)
IIS/Express In Proc - Supports WebSockets on Win7+ if the module is installed
IIS/Express out-of-proc - Supports WebSockets on Win7+ if the module is installed
NGinx - ?
Apache - ?
WebSocket middleware - Supports WebSockets if Upgrade is available
SignalR - Wants WebSockets
Hosting - To connect it all together

We also have to consider back-compact for ANCM.
I expect one of the more complex scenarios is the most common:
IIS/Express Win10 With or without module installed -> Kestrel -> Hosting -> WebSockets Middleware -> SignalR

We also have to consider back-compact for ANCM.

It's fine telling people to upgrade ANCM if they want SignalR to work properly. We can also tell people to set the feature manually if they're on an older version and they know websocket are supported.

IIS/Express Win10 With or without module installed -> Kestrel -> Hosting -> WebSockets Middleware -> SignalR

Yes, it's also common on Antares where the module isn't on by default (last I checked).

Hosting - To connect it all together

Nothing really happens in hosting, we just filed the bug here because its easy. The feature will likely exist somewhere in server.abstractions.

NGinx - ?

It supports WebSockets by establishing a tunnel to the proxied server

Since version 1.3.13, nginx implements special mode of operation that allows setting up a tunnel between a client and proxied server if the proxied server returned a response with the code 101 (Switching Protocols), and the client asked for a protocol switch via the “Upgrade” header in a request.

Not sure how you could detect this though...

Websocket will not work on win7 even IIS websocket module is installed and enabled,  e.g., iisexpress on win7. This is why we detect both OS and module.
On Antares user needs to enable websocket and pay for it.

I have a related scenario where middleware needs to know if the app is behind a reverse proxy (ANCM/IIS/NGINX) for the sake of turning on/off redundant functionality.

I'll do a little sketch and set up a meeting to design this.

This will be implemented by the servers directly:
https://github.com/aspnet/IISIntegration/issues/584
https://github.com/aspnet/HttpSysServer/issues/427

Or is the assumption that anything else always supports WS? 😊

WS support is assumed unless something explicitly tells it otherwise. That's our back-compat story as well.
This is one more thing in the list that would be added to a UseNGinxIntegration component.


⚠ UdeS website (prod) has degraded performance

In 8ff4947, UdeS website (prod) (https://www.usherbrooke.ca/) experienced degraded performance:

HTTP code: 200
Response time: 1528 ms

Resolved: UdeS website (prod) performance has improved in 36bfc8d.


matts feedback

Here's my feedback, opening it as a PR so you can see/review individual changes.
One higher level comment: what is the methodology for referring to hazards and indicators?  Sometimes I see them in bold, but other times I see them in code case.  It seems like we use bold when referring to a hazard/indicator pair (i.e., hazard: water stress, indicator: score), and then we use code case when only referring to indicators (i.e., burned_area_norm or kbdi_susceptibility).  But I think it would be simper to use one form to highlight all hazards and indicators.

Thanks @mcooper  ! Updated the updates.md with your suggestions and merged with suggested changes from @christopher-lowrie . Kindly close this PR


Scroll/zoom changes for desktops (based on Julien's Android changes)

This libmatoya branch will contain some changes to add DESKTOP scroll/zoom support, which are being adapted from the ANDROID scroll/zoom support that Julien worked on previously (e.g. from the Parsec "android-zoom" project which refers to several matoya branches - See Julien's PRs for details).
Note that this branch has a sister branch in the Parsec repo (same name "unscaled-view") that has the corresponding app-side changes that use the matoya changes.
Implementation: On Android the scroll/zoom was implemented with finger gestures, but on desktop the gestures don't apply so I need to add support for scrollbars or edge scrolling, and sending the corresponding zoom and scroll events back to the app.

Julien's MTY_Zoom and MTY_Cursor functions which were originally part of this PR are being moved out of libmatoya over to the app side.  So the bulk of the changes remaining in this PR are from Julien's changes to the quad rendering code to support scaling and offsetting of the quad image, plus a few additional changes support the app's desktop zoom and scroll code.

Closing this because the corresponding Parsec PR was closed ("unscaled-view" branch in the Parsec repo).  Will reopen this one later if/when that branch is reopened.


Add a Top Nav bar

can take inspiration from : gyanaguru.vercel.app
Sections -

How to use
About Us
FAQ's
Contact US

HI @PiyushKalyanpy , can I work on this? I have a PR ready if you can assign this to me. :)


Fixed all bugs in latest HealPokemon Module

Event handlers were not registered and inventory was missing importand method.

👍