A little help for custom data training

Hello! Thank you for making your code public. I am trying to train a custom model for detection of boats. I have approx 3,867 images with VOC annotations (xml files). Can you guide me how I should arrange the data, as in what folder structure should I use?

Hello! Thank you for making your code public. I am trying to train a custom model for detection of boats. I have approx 3,867 images with VOC annotations (xml files). Can you guide me how I should arrange the data, as in what folder structure should I use?

Hi,just arrange ur dataset as VOC format. and put it at ./data/ ,and change the path in ./data/voc0712.py, I will update the train process in README

Thank you for your help. I have rearranged the data as per VOC format, following the exact same folder hierarchy. I also made all the changes as per your guide. However, I am stuck again on another error now, I have tried to troubleshoot it before posting it here. Would appreciate if you have a look into it. Thanks again.
PS: I have 13 classes in my boat classification dataset. 'vaporettoactv' is one of the class name, mentioned in the KeyError

Thank you for your help. I have rearranged the data as per VOC format, following the exact same folder hierarchy. I also made all the changes as per your guide. However, I am stuck again on another error now, I have tried to troubleshoot it before posting it here. Would appreciate if you have a look into it. Thanks again.
PS: I have 13 classes in my boat classification dataset. 'vaporettoactv' is one of the class name, mentioned in the KeyError

May there is an error in your voc0712.py while parsing your label "vaporettoactv". Please paste your
voc0712.py

This KeyError keeps on changing. However I am sharing the voc0712.py and another screenshot of the error.
`"""VOC Dataset Classes
Original author: Francisco Massa
https://github.com/fmassa/vision/blob/voc_dataset/torchvision/datasets/voc.py
Updated by: Ellis Brown, Max deGroot
"""
from .config import HOME
import os.path as osp
import sys
import torch
import torch.utils.data as data
import cv2
import numpy as np
if sys.version_info[0] == 2:
import xml.etree.cElementTree as ET
else:
import xml.etree.ElementTree as ET
VOC_CLASSES = (# always class 0
'Alilaguna', 'Ambulanza', 'Barchino', 'Boat',
'Lanciafino10mBianca', 'Lanciafino10mMarrone', 'Motobarca', 'Mototopo', 'Patanella',
'Polizia', 'Raccoltarifiuti', 'Topa', 'VaporettoACTV')
VOC_ROOT = osp.join('./', "data/VOCdevkit/")
class VOCAnnotationTransform(object):
"""Transforms a VOC annotation into a Tensor of bbox coords and label index
Initilized with a dictionary lookup of classnames to indexes
Arguments:
class_to_ind (dict, optional): dictionary lookup of classnames -> indexes
(default: alphabetic indexing of VOC's 20 classes)
keep_difficult (bool, optional): keep difficult instances or not
(default: False)
height (int): height
width (int): width
"""
def __init__(self, class_to_ind=None, keep_difficult=False):
    self.class_to_ind = class_to_ind or dict(
        zip(VOC_CLASSES, range(len(VOC_CLASSES))))
    self.keep_difficult = keep_difficult

def __call__(self, target, width, height):
    """
    Arguments:
        target (annotation) : the target annotation to be made usable
            will be an ET.Element
    Returns:
        a list containing lists of bounding boxes  [bbox coords, class name]
    """
    res = []
    for obj in target.iter('object'):
        difficult = int(obj.find('difficult').text) == 1
        if not self.keep_difficult and difficult:
            continue
        name = obj.find('name').text.lower().strip()
        bbox = obj.find('bndbox')

        pts = ['xmin', 'ymin', 'xmax', 'ymax']
        bndbox = []
        for i, pt in enumerate(pts):
            cur_pt = int(float(bbox.find(pt).text)) - 1
            # scale height or width
            cur_pt = cur_pt / width if i % 2 == 0 else cur_pt / height
            bndbox.append(cur_pt)
        label_idx = self.class_to_ind[name]
        bndbox.append(label_idx)
        res += [bndbox]  # [xmin, ymin, xmax, ymax, label_ind]
        # img_id = target.find('filename').text[:-4]

    return res  # [[xmin, ymin, xmax, ymax, label_ind], ... ]

class VOCDetection(data.Dataset):
"""VOC Detection Dataset Object
input is image, target is annotation
Arguments:
root (string): filepath to VOCdevkit folder.
image_set (string): imageset to use (eg. 'train', 'val', 'test')
transform (callable, optional): transformation to perform on the
input image
target_transform (callable, optional): transformation to perform on the
target annotation
(eg: take in caption string, return tensor of word indices)
dataset_name (string, optional): which dataset to load
(default: 'VOC2007')
"""
def __init__(self, root,
             image_sets=[('2007', 'trainval')],
             transform=None, target_transform=VOCAnnotationTransform(),
             dataset_name='VOC0712'):
    self.root = root
    self.image_set = image_sets
    self.transform = transform
    self.target_transform = target_transform
    self.name = dataset_name
    self._annopath = osp.join('%s', 'Annotations', '%s.xml')
    self._imgpath = osp.join('%s', 'JPEGImages', '%s.jpg')
    self.ids = list()
    for (year, name) in image_sets:
        rootpath = osp.join(self.root, 'VOC' + year)
        for line in open(osp.join(rootpath, 'ImageSets', 'Main', name + '.txt')):
            self.ids.append((rootpath, line.strip()))

def __getitem__(self, index):
    im, gt, h, w = self.pull_item(index)

    return im, gt

def __len__(self):
    return len(self.ids)

def pull_item(self, index):
    img_id = self.ids[index]

    target = ET.parse(self._annopath % img_id).getroot()
    img = cv2.imread(self._imgpath % img_id)
    height, width, channels = img.shape

    if self.target_transform is not None:
        target = self.target_transform(target, width, height)

    if self.transform is not None:
        target = np.array(target)
        img, boxes, labels = self.transform(img, target[:, :4], target[:, 4])
        # to rgb
        img = img[:, :, (2, 1, 0)]
        # img = img.transpose(2, 0, 1)
        target = np.hstack((boxes, np.expand_dims(labels, axis=1)))
    return torch.from_numpy(img).permute(2, 0, 1), target, height, width
    # return torch.from_numpy(img), target, height, width

def pull_image(self, index):
    '''Returns the original image object at index in PIL form
    Note: not using self.__getitem__(), as any transformations passed in
    could mess up this functionality.
    Argument:
        index (int): index of img to show
    Return:
        PIL img
    '''
    img_id = self.ids[index]
    return cv2.imread(self._imgpath % img_id, cv2.IMREAD_COLOR)

def pull_anno(self, index):
    '''Returns the original annotation of image at index
    Note: not using self.__getitem__(), as any transformations passed in
    could mess up this functionality.
    Argument:
        index (int): index of img to get annotation of
    Return:
        list:  [img_id, [(label, bbox coords),...]]
            eg: ('001718', [('dog', (96, 13, 438, 332))])
    '''
    img_id = self.ids[index]
    anno = ET.parse(self._annopath % img_id).getroot()
    gt = self.target_transform(anno, 1, 1)
    return img_id[1], gt

def pull_tensor(self, index):
    '''Returns the original image at an index in tensor form
    Note: not using self.__getitem__(), as any transformations passed in
    could mess up this functionality.
    Argument:
        index (int): index of img to show
    Return:
        tensorized version of img, squeezed
    '''
    return torch.Tensor(self.pull_image(index)).unsqueeze_(0)`

Patanella

there  might be some label error in your annotations, KeyError: 'patanella'  means there is name:patanella in your xml files while your class name is Patanella, which is sensitive to captial letters, so you sure check your xml files and make sure all label is right .

@midasklr @khalidw I was getting the same error. This is how I solved the KeyError:
In voc0712.py script, I changed name = obj.find('name').text.lower().strip() to name = obj.find('name').text.strip() inside the  call method of VOCAnnotationTransform class.
i.e. removing .lower() method fixed the keyError for me. BTW as suggested above I also cross-checked my annotations but could not find any error. So I think this might be a possible bug.


upgrade to dev@v3: use java21+maven3.9+project-build-plugin:11.4

roll-out v3 pipelines, complying with 11.4 that uses Maven3.9 and Java21.

I think the oauth-issue is a real problem. Either the setup is wrong or the app/secret is no longer valid.


[RFE] Rancher view right access for grafana only.

hello. how i can give new user only to view grafana?

@ilyavbokov can you please use the RFE template to provide more details of the feature you need?
It will help us triage and act on it quicker ;)

hello. if i add read-only user, with permissions to delete nodes, grafana isn't active. how i can set to user rights to view only grafana and button will be active.

link to screenshot with error Grafana not available


Ask for timezone in mentoring guide

We should ask both mentors and mentees what TZ they are in, as it is not great to mentor people in IST if you are is PST.

Message from the maintainers:
Love this enhancement proposal? Give it a 👍. We prioritise the proposals with the most 👍.

Maybe we can specify/request the TZ in both

mentoring document
mentoring issue template

Maybe just as - are you in:

Americas
Europe, Middle East or Africa (EMEA)
Asia Pacific (APAC)


[test]fs test

What this PR does / why we need it:
Special notes for your reviewer:
Does this PR introduce a user-facing change?

Codecov Report

Merging #630 (1e69b83) into main (0be5881) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##             main     #630   +/-   ##
=======================================
  Coverage   30.44%   30.44%
=======================================
  Files          26       26
  Lines        1560     1560
=======================================
  Hits          475      475
  Misses       1020     1020
  Partials       65       65

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Thank you

Thank you for making this repo!  I was able to get the language server and syntax highlighting working with Helix.  Huge thank you!

Thankyou for your thanks, it took a lot of work to get it to the state it's in, and it's great to hear people appreciate it.


#1019 various ADSL tidy ups

Thank you for your Pull Request! We have developed this task checklist from the Development Process Guide to help with the final steps of the process. Completing the below tasks helps to ensure our reviewers can maximize their time on your code as well as making sure the admiral codebase remains robust and consistent.
Please check off each taskbox as an acknowledgment that you completed the task or check off that it is not relevant to your Pull Request. This checklist is part of the Github Action workflows and the Pull Request will not be merged into the devel branch until you have checked off each task.

[x] Code is formatted according to the tidyverse style guide
[x] Updated relevant unit tests or have written new unit tests - See Unit Test Guide
[x] If you removed/replaced any function and/or function parameters, did you fully follow the deprecation guidance?
[x] Update to all relevant roxygen headers and examples
[x] Run devtools::document() so all .Rd files in the man folder and the NAMESPACE file in the project root are updated appropriately
[x] Address any updates needed for vignettes and/or templates
[x] Update NEWS.md
[x] Build admiral site pkgdown::build_site() and check that all affected examples are displayed correctly and that all new functions occur on the "Reference" page.
[x] Address or fix all lintr warnings and errors - lintr::lint_package()
[x] Run R CMD check locally and address all errors and warnings - devtools::check()
[x] Link the issue so that it closes after successful merging.
[x] Address all merge conflicts and resolve appropriately
[x] Pat yourself on the back for a job well done!  Much love to your accomplishment!

Closes #1019

@millerg23 admiraltest is just SDTMs right? do you mean https://github.com/pharmaverse/admiral/tree/main/data? i see an adsl here which i could make a commit to update if you agree?
i got rid of FASFL as i think just including the SAFFL example is enough to show people. not sure i've ever seen FASFL really used even at Roche - maybe only for like single arm studies or non-randomized.

@millerg23 admiraltest is just SDTMs right? do you mean https://github.com/pharmaverse/admiral/tree/main/data? i see an adsl here which i could make a commit to update if you agree?
i got rid of FASFL as i think just including the SAFFL example is enough to show people. not sure i've ever seen FASFL really used even at Roche - maybe only for like single arm studies or non-randomized.

Yes of course, you are correct, only SDTMs in admiral.test. Might as well update ADSL in data area. Agree to remove FASFL.


Change Doku

Hi,
when you follow this documentation, the cluster will not be fully functional (several Errors regarding the VIPs (RPC Errors from passive node etc.)).
Please Change this documentation to use Standard internal Load Balancers with HA Ports for the VIP. With this configuration, the cluster will be fully functional (Change permission from node not Holding cluster core ressources etc.)).
Regards,
Dominik

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

ID: af26cb8a-f7a0-291b-7ac3-e38f679df4ba
Version Independent ID: dd04d12d-05cb-6fb4-4a2c-ef85ebb15d0e
Content: SQL Server FCI - Azure Virtual Machines
Content Source: articles/virtual-machines/windows/sql/virtual-machines-windows-portal-sql-create-failover-cluster.md
Service: virtual-machines-sql
GitHub Login: @MikeRayMSFT
Microsoft Alias: mikeray

Thanks for the feedback! We are currently investigating and will update you shortly.

@kamellemann this should work regardless of what load balancer you are using. It specifies you can use internal or external. What type were you using when you got the error?

Hi,
you have to use an internal load balancer with ha port configured for the cluster vip with direct return.
I've done some Tests and this is the only fully functional setup. Without ha port only the configured Port gots load balanced so kerberos, Ping, some Cluster Manager (Oracle) etc. want work because they are communicating with the cluster name.
BR,
Dominik
Outlook for Androidhttps://aka.ms/ghei36 herunterladen

From: Micah<EMAIL_ADDRESS>Sent: Thursday, September 13, 2018 9:54:32 PM
To: MicrosoftDocs/azure-docs
Cc: Dominik Wilsberg; Mention
Subject: Re: [MicrosoftDocs/azure-docs] Change Doku (#14925)
@kamellemannhttps://github.com/kamellemann this should work regardless of what load balancer you are using. It specifies you can use internal or external. What type were you using when you got the error?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/issues/14925#issuecomment-421132192, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AXTM5L-VfKpcUw6s4hRe4T6hjmb7b2Ogks5uarf4gaJpZM4WmnNh.

Hi all,
we can have an remote Session next week so that i can demonstrate my demo-setup.
BR,
Dominik
Outlook for Androidhttps://aka.ms/ghei36 herunterladen

From: Micah<EMAIL_ADDRESS>Sent: Friday, September 14, 2018 9:24:54 PM
To: MicrosoftDocs/azure-docs
Cc: Dominik Wilsberg; Mention
Subject: Re: [MicrosoftDocs/azure-docs] Change Doku (#14925)
@MikeRayMSFThttps://github.com/MikeRayMSFT could you look at this one and confirm?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/issues/14925#issuecomment-421460057, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AXTM5AUF1mrBhq1HZqdCaqP8JVNS6RVEks5ubAKGgaJpZM4WmnNh.

@kamellemann - We're working to update and verify this. I have created a work item internally that I will use to track this. Thank you for raising this issue.
#please-close


Option and theme updates v2

Hi, I really like this project. I've added a couple of features that I've included in this PR which I think could come in handy for others.

Option to hide period headers
Option to hide empty empty rotors if they're not needed
Theme option updated to accept multiple themes
Small theme

The multiple theme option just accepts a comma seperated string and splits it, possibly this should take a string or an arroay of strings?
I'm not a native javascript developer so there may well be better ways of adding some of the functionality above so feel free to change if you think it can be improved.
I've also added an hasOccurred event in in my local brance in addition to your hasEnded event so I'll create a seperate PR for that once we're happy with this one if you think it would be useful.

Thanks for cleaning this up. I have a question regarding the Occurence UTS to count down to, this naming is confusing me a bit. Was your intention to be able to fire an event at one or more timestamps during the countdown?

Ah yes, I think the issue is here.
https://github.com/PButcher/flipdown/pull/24/commits/c0b3dedf6abcffdb70f091a383010bc84f678a26#diff-995524a2f71c68dc4e564cb1c358aee9R391
This should be dayRotor.style.display = 'none';
Yes, the occurnce event is intended to fire an event at a specified time during the countdown. I agree that it would be better to allow multiple target times to be chained together though I wasn't sure how best to implement this.
I'm happy to rename this if you've got a less confusing suggestion, I picked hasOccured to fit with the existing hasEnded but maybe this can just be an event method.

That was it, thanks. There's definitely value in being able to trigger events during the countdown so I'll put some thought into how to name that feature and how best to allow multiple events during the countdown. Perhaps something like this?:
.events({
  at: // Could be a UTS or a number in seconds after the UTS value flipdown was initialised with
  func: () => { // Do something }
}, /* More events here */)

Yes, that looks good :)
I like the idea of the every functionality as well, perhaps it would be possible to do using cron, though maybe that's making things too complicated.

Regarding the

showEmptyRotors: false,

option: Maby adapt the CSS, so that the whole div is centered in itself?

The problem there is that the element does not resize to reflect the number of visible rotors. The containing element should be resized based on the number of visible rotors. I'd appreciate a PR for that if you're up for it. Once this current PR is ready, that centring feature should be added with it though.

Check if this works
.flipdown {
  overflow: visible;
  /*width: 510px;*/
  width: max-content;
  height: 110px;
}

My current brute-force approach to hiding unneeded rotors is a couple of small modifications to the flipdown code. This obviously not a general solution.

In _createRotorGroup() I set the rotorGroup.style.display to "none"
In _init I selectively set the styles to "inherit" for the rotors I want shown

As far as countdown events, another nice one would be to trigger things at certain points, like when only 30 seconds remain or when each day/hour/minute/second finishes.


WIP: Enable disambiguation across the board for Orchestrator

Description
Enable disambiguation support in Orchestrator across the board. This PR doesn't automatically add the OnChooseIntent trigger, the user needs to do this manually.
Also, there's a case of what should happen when say, QnA and Orchestrator are used in the same dialog.  If CrossTrainedRecognizerSet fires a ChooseIntent with Orchestrator's top scoring intent also "ChooseIntent", then the user has to do some work to extract out Orchestrator's actual results.
Task Item
fixes #5747

Screenshots

Coverage remained the same at 51.326% when pulling a7fa1a6e88b0ee9424ddd6cd6f2ceebe2ee3f141 on tachou/orchDisambiguation into ef424c5583d9c2813f4b7255201d912ccc770696 on main.


Add the mstflint Kernel Module

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[x] The toolchain has been rebuilt successfully (or no changes were made to it)
[x] The toolchain/worker package manifests are up-to-date
[x] Any updated packages successfully build (or no packages were changed)
[x] Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
[x] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
[x] All package sources are available
[x] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
[x] LICENSE-MAP files are up-to-date (./SPECS/LICENSES-AND-NOTICES/data/licenses.json, ./SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md, ./SPECS/LICENSES-AND-NOTICES/LICENSE-EXCEPTIONS.PHOTON)
[x] All source files have up-to-date hashes in the *.signatures.json files
[x] sudo make go-tidy-all and sudo make go-test-coverage pass
[x] Documentation has been updated to match any changes to the build system
[x] Ready to merge

Summary
What does the PR accomplish, why was it needed?
This PR adds the mstflint kernel module for secure boot. AODS had a requirement to be able to use the mstflint tool (with its signed kernel module) for debugging and diagnostic purposes.
Does this affect the toolchain?
NO
Test Methodology

Pipeline build id: https://dev.azure.com/mariner-org/mariner/_build/results?buildId=331631&view=artifacts&pathAsName=false&type=publishedArtifacts
Tested the signed artifact from above pipeline and was able to install the module (insmod) when secure boot is enabled.

DKMS can build modules but not sign. DKMS is not a viable approach for
mariner.
On Mon, Apr 3, 2023, 8:28 PM AlexBlago @.***> wrote:

@.**** commented on this pull request.
In SPECS/mstflint/mstflint.spec
https://github.com/microsoft/CBL-Mariner/pull/5139#discussion_r1156690118
:

@@ -40,13 +56,35 @@ find . -type f -iname '*.cpp' -exec chmod a-x '{}' ';'
%configure --enable-fw-mgr --enable-adb-generic-tools
%make_build

+# Compile mstflint driver
+export EXTRA_CFLAGS='-DVERSION="%version"'
+cd kernel
+set -- *
+mkdir source
+mv "$@" source/
+mkdir obj
+
+rm -rf obj
+cp -a source obj
+cd $PWD/obj
+make KPVER=%{kver}
+cd -
+cd -
why not DKMS?
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/CBL-Mariner/pull/5139#discussion_r1156690118,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACJGD5K7IKJVZD7Y2WMLDULW7OINNANCNFSM6AAAAAAWFQ3EUA
.
You are receiving this because your review was requested.Message ID:
@.***>

Could you please clarify if the mstflint-signed RPM package with the pre-compiled kernel module is intended to be shipped with the kernel it was compiled against or if it can be shipped separately?
It's important to ensure that the pre-compiled module is compatible with the target systems.

Could you please tell me where in this PR the kernel module is being signed? I assume that it should happen after the compilation step, right? Perhaps I just have overlooked it. Please also clarify if the mstflint-signed RPM package with the pre-compiled kernel module is intended to be shipped with the kernel it was compiled against or if it can be shipped separately? It's important to ensure that the pre-compiled module is compatible with the target systems.

@ogalbxela Thanks for reviewing this PR. The signing process is in CBL-Mariner pipeline repo which is not public. mstflint tool and its kernel module will be published per each CBL-Mariner release in https://packages.microsoft.com/.


Tiny fix of compile-time check on osFile

This is a tiny fix of a compile-time check on osFile.
It's not like it matters all that much, as the missing method would be caught in other layers anyway, but when the check is there, it should be correct :)

ugh DCO. OK


Let ChangeDataHolderEvent.ValueChange to track ItemStack's durability change

Javadocs for ChangeDataHolderEvent:
An event that is associated with a DataHolder that may have some BaseValues changed, offered, or removed. Note that calling any methods relating to modifying a DataHolder while this event is being processed may produce awkward results.
As a plugin developer, I would assume the change of Keys.ITEM_DURABILITY should be hooked by the event.
According to the documentation, ChangeDataHolderEvent should be fired when something is associated with a DataHolder that may have some BaseValues changed, offered, or removed.
ItemStack itself is an DataHolder too, so it also looks natural to track it.

Didn't even think about the fact that durability can be changed by something other than player atm.
In Bukkit API, there is a event called PlayerItemDamageEvent, and this event only monitors the durability change when it's damaged by the player.
Perhaps it can be go under org.spongepowered.api.event.item.inventory package with name something like DamageItemStackEvent? And cause stack can include the player who is using the item with durability. (or maybe a separate method)

1.14 will have Dispensers causing damage to item stacks, (shears on wool, currently)


The -d does not what it supposed to...

to relative paths:
[dependencies]
mylib = {include=["../deps/mylib/include"], ...}

does not work with the command:
pybuildc -d path/to/project build

you can fix it by changing the directory to the specified dir...


Is possible to add AI Extension.?

Hi,
First, i will say thanks for making this openblock source.I am looking for this open source for a long time.
Now i am trying to integrate the Google's Teachable Machine to this source. But i can't able do that.
lf possible, Can you able to add AI extension in this source?
Thanks in Advance.

Hi,
I'm not very familiar with Google's Teachable Machine. Can you give me a general idea of how you plan to use it.

Hi,
I just want to interface with Arduino with Teachable machine Trained data over serial communication or bluetooth.
I have tried to add that feature using https://github.com/mitmedialab/prg-extension-boilerplate from this.
But i can't able to complete it. Since i new to this programming, i can't figure it out.
Hope you will get that what i trying to do.

I'll see if I can do that. But if it's too complex to be included in the core development plan, we won't be able to achieve it in a short time.

Thank you.


Response with Umlaute wrong encoding

I'm having issues with Umlaute in the response body. I have the following endpoint
get("/test", (request, response) -> {
    response.status(200);
    return "ÄÖÜäöüß";
});

When I access the resource with curl this results in
> GET /test HTTP/1.1
> Host: localhost:9002
> User-Agent: curl/7.45.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Tue, 05 Jul 2016 18:01:41 GMT
< Content-Type: text/html;charset=utf-8
< Transfer-Encoding: chunked
< Server: Jetty(9.3.6.v20151106)
<
├ä├û├£├ñ├Â├╝├ƒ* Connection #0 to host localhost left intact

The same problems occurs with XML and JSON responses.
I am using OpenJDK <IP_ADDRESS>-3.

Is the java source code encoded with UFT-8?

Had the same problem with Jetty or Netty based Servers.
I added the following line to my ~/.bashrc:
export JAVA_TOOL_OPTIONS='-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF-8'
In my Dockerfiles this looks like
ENV JAVA_TOOL_OPTIONS '-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF-8'
Since then there were no more encoding problems.
Hope this helps!

After a little bit of trying I found out that this is an issue with curl under windows. I tested this under Win10 and got the error which led to this question. After that I ran curl under linux and got the desired result.
Thanks for your help


Add StackReference docs.

Going to go ahead and merge to unblock getting the docs into prod. Please let me know if you have any follow-up feedback.


Set SP-R as Marksman Rifle

Hey @carlssonemil
Just a quick fix to move the SP-R 208 to the Marksman category. Changes look weird due to all the JSON blocks being a similar shape and git getting confused which lines changed! All I did was cut-paste the SP-R further up and change its category. Also set the Topo challenge description as all Marksmans have it unique.
Cheers!

Cheers! I haven't had the time to play this new season yet, so just took a guess based on previous articles that stated that this weapon would be a sniper rifle.


Ensure that template compilation panics are sent to the logs

Although panics within the rendering pipeline are caught and dealt with,
panics that occur before that starts are unprotected and will kill Gitea
without being sent to the logs.
This PR adds a basic recovery handler to catch panics that occur after
the logger is initialised and ensure that they're sent to the logger.
Signed-off-by: Andrew Thornton<EMAIL_ADDRESS>

I have marked this bug because it prevents effective debugging.

Codecov Report

Merging #16788 (e8176d6) into main (db1e3d0) will decrease coverage by 0.00%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main   #16788      +/-   ##
==========================================
- Coverage   45.52%   45.51%   -0.01%
==========================================
  Files         762      762
  Lines       85939    85942       +3
==========================================
- Hits        39124    39119       -5
- Misses      40508    40515       +7
- Partials     6307     6308       +1

Impacted Files
Coverage Δ

cmd/web.go
0.00% <0.00%> (ø)

modules/util/timer.go
42.85% <0.00%> (-42.86%)
:arrow_down:

modules/queue/workerpool.go
54.19% <0.00%> (-3.06%)
:arrow_down:

services/pull/pull.go
42.19% <0.00%> (+0.40%)
:arrow_up:

modules/log/event.go
61.57% <0.00%> (+0.92%)
:arrow_up:

modules/process/manager.go
75.30% <0.00%> (+2.46%)
:arrow_up:

Continue to review full report at Codecov.

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


657 dont expose vitest globals

Description
stops backend from having global access to jest methods.
Screenshots
Notes

uninstalls @types/jest from backend. This 3rd party library was giving types to the jest globals and telling typescript/eslint that they didn't need to be imported.
installs @jest/globals, maintained by jest, which lets us import the global stuff explicitly, with types attached.
installs the jest plugin to eslint which allows us to quick-fix some of the bits. i.e. if we've not yet imported the expect method, we can right click on it when eslint complains and auto-import it from @jest/globals.
removes the eslint disabling rules that are no longer necessary
removes a repeated test
solves mockCall being used for mocking multiple methods

Concerns

still need to figure out how to not /* eslint-disable @typescript-eslint/unbound-method */
some things still have type any
I think we could remove some of the as unknown as casts...

Checklist
Have you done the following?

[x] Linked the relevant Issue
[ ] Added tests
[ ] Ensured the workflow steps are passing

Unsure about a couple of things. In general, it seems this PR is tackling more than what is described in the issue. If we are deliberately not providing jest functions in global scope, then we don't really need any new linter config, because the tests wouldn't compile if we tried to use the jest functions without importing them, right?

You're right, the linter plugin is beyond scope and the program won't compile if we are missing the imports. The purpose of the linter plugin is so we can auto import stuff from the right place - i.e. if we haven't imported the jest object already, then it will get highlighted, and then we can right click -> import from jest/globals, to save us from having to type it manually. Without the plugin, eslint doesn't know where to find the right import. It's just a quality of life thing - the type issues all come out of typescript, rather than the linter.

Unsure about a couple of things. In general, it seems this PR is tackling more than what is described in the issue. If we are deliberately not providing jest functions in global scope, then we don't really need any new linter config, because the tests wouldn't compile if we tried to use the jest functions without importing them, right?

You're right, the linter plugin is beyond scope and the program won't compile if we are missing the imports. The purpose of the linter plugin is so we can auto import stuff from the right place - i.e. if we haven't imported the jest object already, then it will get highlighted, and then we can right click -> import from jest/globals, to save us from having to type it manually. Without the plugin, eslint doesn't know where to find the right import. It's just a quality of life thing - the type issues all come out of typescript, rather than the linter.

Hmm, I guess that's a weakness of VSCode then, as I get import suggestions in WebStorm 🙄


chore(release): upgrade release branch to 1.6.0

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: tangollama:x: nr-opensource-botYou have signed the CLA already but the status is still pending? Let us recheck it.


[ja] Update install-kubeadm.md

In Japanese page,it says old method  curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - .
But,recent versions of Ubuntu,they shows warning about apt-key add .
and I also see English page, it says newer method.
so I copied English page's code and translate some comments in Japanese.

OK,if I have a time ,I'll translate all off this page.

@yayoimizuha
If you have an opportunity to update the entire page, please create a new PR.
In that case, it is better to create an issue first.

/assign @inductor @nasa9084
Could you check this PR?

/approve


Unexpected Character {

When I launch my script that requires Telebot I keep getting:
/node_modules/telebot/lib/telebot.js:86
      let { url, cert } = this.webhook;
          ^

SyntaxError: Unexpected token {
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:373:25)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/Users/renevlugt/Development/albys_bot/index.js:4:17)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)

Hi. TeleBot requires Node.js version 6.0 and beyond. Please check your version.

Updated to Node 6.5.0:
/node_modules/telebot/lib/telebot.js:304
    for (let type of types) {
                   ^

TypeError: types[Symbol.iterator] is not a function
    at TeleBot.on (/Users/renevlugt/Development/albys_bot/node_modules/telebot/lib/telebot.js:304:20)
    at Object.<anonymous> (/Users/renevlugt/Development/albys_bot/index.js:13:5)
    at Module._compile (module.js:556:32)
    at Object.Module._extensions..js (module.js:565:10)
    at Module.load (module.js:473:32)
    at tryModuleLoad (module.js:432:12)
    at Function.Module._load (module.js:424:3)
    at Module.runMain (module.js:590:10)
    at run (bootstrap_node.js:394:7)
    at startup (bootstrap_node.js:149:9)

If I change to for(let type in types) I get
[bot.info] new methods: keyboard, button, inlineKeyboard, inlineButton, answerList, getMe, sendMessage, forwardMessage, sendPhoto, sendAudio, sendDocument, sendSticker, sendVideo, sendVoice, sendLocation, sendVenue, sendContact, sendChatAction, getUserProfilePhotos, getFile, getChat, leaveChat, getChatAdministrators, getChatMember, getChatMembersCount, kickChatMember, unbanChatMember, answerInlineQuery, answerCallbackQuery, editMessageText, editMessageCaption, editMessageReplyMarkup, setWebhook
[bot.error.webhook]
<title>302 Found</title>

302 Found

nginx/1.10.0

I tried both the latest release and current develop version. I'm using polling rather than webhooks. Tried both the spelling pooling and polling on both versions.

Actually turns out that was a mistake in my script, 'text' works fine but the code before it where they type was a regex broke it. Also came to the conclusion that if you enter an incorrect api token it tries to fall back to webhooks and fails. A more graceful way to notify a dev of his mistake might be better.


Recaptcha for subscribe form

Perhaps you @padms can have a look at this when you are done with your current tasks?

Waiting for us to make a decision on alternative to Google

Came across this one https://friendlycaptcha.com/
https://friendlycaptcha.com/insights/recaptcha-alternatives-compared-recaptcha-vs-hcaptcha-vs-friendly-captcha/

Looking more into Friendlycaptcha as that seems to be the best solution. Issues with url being blocked by policy though. @pradeepvenurao is looking into it.

Friendlycaptcha is approved by legal.


Error when trying to create  BFT test network

I followed the steps to start a test-network with the ordering service using SmartBFT. I set the docker images and binaries to use v3.0.0-preview version.
./network.sh up -bft
Using docker and docker-compose
Starting nodes with CLI timeout of '5' tries and CLI delay of '3' seconds and using database 'leveldb' with crypto from 'cryptogen'
LOCAL_VERSION=v3.0.0-preview
DOCKER_IMAGE_VERSION=v2.5.6
Local fabric binaries and docker images are out of  sync. This may cause problems.
/..../go/src/github.com/jvallejodiaz/fabric-samples/test-network/../bin/cryptogen
Generating certificates using cryptogen tool
Creating Org1 Identities
+ cryptogen generate --config=./organizations/cryptogen/crypto-config-org1.yaml --output=organizations
org1.example.com
+ res=0
Creating Org2 Identities
+ cryptogen generate --config=./organizations/cryptogen/crypto-config-org2.yaml --output=organizations
org2.example.com
+ res=0
Creating Orderer Org Identities
+ cryptogen generate --config=./organizations/cryptogen/crypto-config-orderer.yaml --output=organizations
+ res=0
Generating CCP files for Org1 and Org2
Creating network "fabric_test" with the default driver
Creating volume "compose_orderer.example.com" with default driver
Creating volume "compose_orderer2.example.com" with default driver
Creating volume "compose_orderer3.example.com" with default driver
Creating volume "compose_orderer4.example.com" with default driver
Creating volume "compose_peer0.org1.example.com" with default driver
Creating volume "compose_peer0.org2.example.com" with default driver
Creating peer0.org2.example.com ... done
Creating orderer4.example.com   ... done
Creating peer0.org1.example.com ... done
Creating orderer3.example.com   ... done
Creating orderer.example.com    ... done
Creating orderer2.example.com   ... done
Creating cli                    ... done
CONTAINER ID   IMAGE                                      COMMAND             CREATED         STATUS                  PORTS                                                                              NAMES
65fe38d0247d   hyperledger/fabric-tools:latest            "/bin/bash"         1 second ago    Up Less than a second                                                                                cli
38271f47a2b9   hyperledger/fabric-orderer:3.0.0-preview   "orderer"           2 seconds ago   Up Less than a second   <IP_ADDRESS>:7050->7050/tcp, <IP_ADDRESS>:7053->7053/tcp, <IP_ADDRESS>:9443->9443/tcp             orderer.example.com
998864eebbb9   hyperledger/fabric-peer:latest             "peer node start"   2 seconds ago   Up Less than a second   <IP_ADDRESS>:7051->7051/tcp, <IP_ADDRESS>:9444->9444/tcp                                     peer0.org1.example.com
64e3aec8d3d6   hyperledger/fabric-orderer:3.0.0-preview   "orderer"           2 seconds ago   Up Less than a second   <IP_ADDRESS>:7052->7052/tcp, <IP_ADDRESS>:7055->7055/tcp, 7050/tcp, <IP_ADDRESS>:9446->9446/tcp   orderer2.example.com
cc480a4f661c   hyperledger/fabric-orderer:3.0.0-preview   "orderer"           2 seconds ago   Up 1 second             <IP_ADDRESS>:7056-7057->7056-7057/tcp, 7050/tcp, <IP_ADDRESS>:9447->9447/tcp                 orderer3.example.com
d8a958de75b0   hyperledger/fabric-orderer:3.0.0-preview   "orderer"           2 seconds ago   Up 1 second             <IP_ADDRESS>:7058-7059->7058-7059/tcp, 7050/tcp, <IP_ADDRESS>:9448->9448/tcp                 orderer4.example.com
606d991edbae   hyperledger/fabric-peer:latest             "peer node start"   2 seconds ago   Up 1 second             <IP_ADDRESS>:9051->9051/tcp, 7051/tcp, <IP_ADDRESS>:9445->9445/tcp                           peer0.org2.example.com

However, when I try to start a new channel it shows the following error:
 ./network.sh createChannel -bft
Using docker and docker-compose
Creating channel 'mychannel'.
If network is not up, starting nodes with CLI timeout of '5' tries and CLI delay of '3' seconds and using database 'leveldb
Network Running Already
Using docker and docker-compose
Generating channel genesis block 'mychannel.block'
Using organization 1
/.../go/src/github.com/jvallejodiaz/fabric-samples/test-network/../bin/configtxgen
+ '[' 1 -eq 1 ']'
+ configtxgen -profile ChannelUsingBFT -outputBlock ./channel-artifacts/mychannel.block -channelID mychannel
2024-02-29 09:43:28.210 GMT 0001 INFO [common.tools.configtxgen] main -> Loading configuration
2024-02-29 09:43:28.213 GMT 0002 INFO [common.tools.configtxgen.localconfig] completeInitialization -> orderer type: BFT
2024-02-29 09:43:28.213 GMT 0003 INFO [common.tools.configtxgen.localconfig] Load -> Loaded configuration: /Users/jvallejo/go/src/github.com/jvallejodiaz/fabric-samples/test-network/bft-config/configtx.yaml
2024-02-29 09:43:28.216 GMT 0004 INFO [common.tools.configtxgen] doOutputBlock -> Generating genesis block
2024-02-29 09:43:28.216 GMT 0005 INFO [common.tools.configtxgen] doOutputBlock -> Creating application channel genesis block
2024-02-29 09:43:28.216 GMT 0006 INFO [common.tools.configtxgen] doOutputBlock -> Writing genesis block
+ res=0
Creating channel mychannel
Adding orderers
+ . scripts/orderer.sh mychannel
+ '[' 1 -eq 1 ']'
+ . scripts/orderer2.sh mychannel
+ . scripts/orderer3.sh mychannel
+ . scripts/orderer4.sh mychannel
+ res=0
Status: 201
{
	"name": "mychannel",
	"url": "/participation/v1/channels/mychannel",
	"consensusRelation": "consenter",
	"status": "active",
	"height": 1
}

Status: 201
{
	"name": "mychannel",
	"url": "/participation/v1/channels/mychannel",
	"consensusRelation": "consenter",
	"status": "active",
	"height": 1
}

Status: 201
{
	"name": "mychannel",
	"url": "/participation/v1/channels/mychannel",
	"consensusRelation": "consenter",
	"status": "active",
	"height": 1
}

Status: 201
{
	"name": "mychannel",
	"url": "/participation/v1/channels/mychannel",
	"consensusRelation": "consenter",
	"status": "active",
	"height": 1
}

Channel 'mychannel' created
Joining org1 peer to the channel...
Using organization 1
+ peer channel join -b ./channel-artifacts/mychannel.block
+ res=1
+ peer channel join -b ./channel-artifacts/mychannel.block
+ res=1
+ peer channel join -b ./channel-artifacts/mychannel.block
+ res=1
+ peer channel join -b ./channel-artifacts/mychannel.block
+ res=1
2024-02-29 09:43:43.801 GMT 0001 INFO [channelCmd] InitCmdFactory -> Endorser and orderer connections initialized
Error: proposal failed (err: bad proposal response 500: "JoinChain" for channelID = mychannel failed because of validation of configuration block, because of Failed capabilities check: [no valid channel configuration found: Must set some OrdererAddresses])

Can someone point me into the right direction?

You don't say how you installed the Fabric binaries and Docker images so I can't tell if something was wrong there. Possibly it was an issue with the preview build. Either way, I don't see a problem when running with the current main branch and Fabric v3.0.0 binaries and Docker images.
The command I used are:

curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/main/scripts/install-fabric.sh | bash -s -- --fabric-version 3.0.0 binary docker (in the root of the fabric-samples repository).
./network.sh up -bft (in the test-network directory).
./network.sh createChannel -bft
./network.sh deployCC -ccn basic -ccp ../asset-transfer-basic/chaincode-go/ -ccl go

The network comes up OK and chaincode can be deployed. I can then run the sample application that invokes the chaincode successfully.
Any problem seems to be resolved so I will close this issue. Please comment if you still see problems.


Fix compatibility issues with logging 2.0

Logging 2.0 was recently released and causes this error with Blazing
undefined method `consolidate' for Logging:Module

This will lock the version to 1.8 to work around this error until Blazing can be updated to be compatible with 2.0.

:+1:

:+1:

Thjanks for your patience guys. A bugfix release v0.4.2 is out which pins the logging version.


Re-arch base tab navigation

Current dependencies on/for this PR:

main

PR #90   👈

This stack of pull requests is managed by Graphite.


Allow ABAC at the time of TGT creation

When granting TGTs, check for service access based on principal attributes. The presented functionality already takes place at the time of service validation, but it would be nice to also check at TGT time to short-circuit failures.

+1. The build fails because of a Checkstyle check. I believe more and more that our Checkstyle way is a bit too constraining (especially in the test classes).

Well in this case seems like a legitimate error, but shall we relax checkstyle rules for tests?

We could keep the Checkstyle report for tests but stop blocking the build.

That might work. I am afraid that if we don't fail the build though, "errors" would go unnoticed. Over time, we'll end up with a whole bunch of, for instance, unused imports, in test cases simply because we think the build "passed".

I agree, it's a trade-off to find. But I'm a bit doubtful about the value of the Checkstyle rules: does it prevent any bug to ban star import for example?

That depends on the rule and case. If we have star-import for example, this could possibly turn into a bug:
 DEFAULT_ERROR_LIST.add(FailedLoginException.class);

Specially since, we accept contributions from everyone this should help preserve the patch quality. Over time, we'll end up with a huge giant mess, with various styles used by everyone because they prefer it that way.
I am working on converting another project, which I wont name, to use gradle. The project is over 10 years old with a lot of features. You should the codebase I am dealing with :)

Also, we'll end up having pointless conversations specially on patch acceptance :D for instance, I create HelloWorld.java as an abstract class. You would say, the class should be called AbstractHelloWorld. One other person would say I like BaseHelloWorld. Another would say I like RootHelloWorld. We'll debate this for 3 days :)
It's much easier to say: Rules say abstract classes must be named as X. End of story.

True and I have no better proposal actually.


Fix uncommon filenames

It is me or this file as a space in its name, instead of an underscore?
Originally posted by @ccoVeille in https://github.com/gofr-dev/gofr/pull/781#discussion_r1666559207

I don't think this filename should be in camelCase.

Originally posted by @ccoVeille in https://github.com/gofr-dev/gofr/pull/781#discussion_r1666562779

I might take a look at https://github.com/ls-lint/action to avoid such issues


Upgrade to minikube 1.18.0

it is unfortunately not just a matter of updating version. it seems that conntrack needs to be provided too:
X Sorry, Kubernetes v1.18.0 requires conntrack to be installed in root's path
The command "sudo minikube start --vm-driver=none --kubernetes-version=v1.18.0" failed and exited with 78 during .

conntrack installation steps here http://conntrack-tools.netfilter.org/manual.html#Installation
(I have not tried yet)

@apupier
sudo apt-get update
sudo apt-get install -y conntrack

will do the job on travis-ci / dist: bionic

Thanks for the issue, indeed there are some changes, will update the example.

Closed by https://github.com/lilic/travis-minikube/pull/25 🎉


docker nginx reverse proxy + goaccess container

I can't seem to get this working.
Here's an example of my config
Nginx
listen              443 ssl http2;
location /ws/ {
    proxy_pass http://localhost:7890;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
}

goaccess.conf

port 7890
addr <IP_ADDRESS>
ws-url wss://tld.com:443/ws/

Docket Compose

    nginx:
        restart: always
        image: nginx:stable-alpine
        links:
          - novelepubs:uwsgi
          - andreahasani:uwsgi1
          - tubex69:uwsgi2

        ports:
          - 80:80
          - 443:443

        volumes:
            - /etc/letsencrypt/:/etc/letsencrypt

            # Logs server
            - ./containers/logger/nginx:/var/log/nginx
            - ./containers/logger/goaccess/html:/srv/stats

        networks:
            - websiteNetwork

    logger:
      restart: always
      image: allinurl/goaccess
      ports:
        - 7890:7890

      depends_on:
        - "nginx"

      volumes:
        - ./containers/logger/goaccess/data:/srv/data/
        - ./containers/logger/goaccess/html:/srv/report/
        - ./containers/logger/nginx:/srv/logs/
        - /etc/letsencrypt/:/etc/letsencrypt
      networks:
          - websiteNetwork

networks:
    websiteNetwork:
        driver: "bridge"

Am I doing something wrong?

Haven't had a chance to set the same environment in order to reproduce this, however, may be this will help?

Here you go, fully working goaccess subdomain.conf in RP :)
https://github.com/Zidichy/Server/blob/master/proxy-confs/goaccess.conf

@Zidichy Awesome, thanks for sharing this!

@allinurl  Np :) Happy to help out.
Actually, i have a question, can i ask it here or do you want me to create a new issue ?

@Zidichy feel free to do it here on github.


[Discussion] Exporting a checkpoint with static-sized tensors

I'm trying to convert the 4stems checkpoint to TensorFlow-lite and I need the model to have static-sized tensors (so as to be able to use the Metal or CoreML delegates).
I've tried specifying the input shape of 'waveform' but the outputs are still dynamic-sized.
Can this be done with the current checkpoints?

@tinoucas have you made any progress on it? i'm also willing to dive in this challenge, i need to run spleeter models on android however it seems like none of the delegates support dynamic sized tensors, and the model have 174 dynamic tensors 😅


Explanation for Kubelet Identity Role Assignment

Hi Team,
Could you provide an explanation around why the Kubelet Identity needs Virtual Machine Contributor?
https://github.com/mspnp/aks-secure-baseline/blob/853ccd92bd8199c2a5486fda8947688e1353b065/cluster-stamp.json#L730
Appreciate the guidance!

Thanks for your inquiry @haithamshahin333 , please let us share with you the following comments we added in our ARM templates giving some details for this:
https://github.com/mspnp/aks-secure-baseline/blob/3f3090b2cdf46493b18115af33d00158d6ba0707/cluster-stamp.json#L727
as well as what is documented at the add-pod-identity repository around role assignments.

Thanks @ferantivero - so is the kubelet and not the cluster identity that makes those updates? It makes sense that some identity that AKS is associated with would need the proper roles, but my thought was that it would be done with the cluster identity and not the kubelet identity (and the cluster identity already has contributor over the cluster infrastructure resource group).

In this Reference Implementation we configured the ASK cluster with user-assigned managed identity authentication method.
When a pod is scheduled in an AKS cluster using user-assigned auth method, the add-pod-identity is going to attempt to use the user-assigned managed identity that is being returned by identityProfile.kubeletidentity to assign the managed identity associated to the "new" pod in creation phase to the underlying VMSS used by the node pool.
Some final thoughts,

Please note that add-pod-identity by its own design dictated which cluster identity (kubelet in this case) out many identities is used as part of managed identities assignments.
Most likely, in the future we are going to be inclined to usage of an AKS Pod Identity v2 add-on which will change how this present insides the cluster.

For further information why this kubelet manage identity is being used instead of any other one, you could ask this very same at the add-pod-identity repo.


Taskbar badge does not show until the app window closed

Describe the bug
I am using Windows.UI.Notification.BadgeUpdateManager api to add a badge to taskbar icon for a winui3 app, the badge does not appear in the taskbar icon until the window is closed. And it will disappear after it launches. In short, it seems that a winui3 app cannot show the badge when the app window is running.
For UWP app however, badge will appear as soon as the function is called.
Steps to reproduce the bug

Use following code

	inline auto MakeBadgeNotification(wchar_t const* glyph)
	{
		auto xml = winrt::Windows::UI::Notifications::BadgeUpdateManager::GetTemplateContent(
			winrt::Windows::UI::Notifications::BadgeTemplateType::BadgeGlyph
		);
		xml.SelectSingleNode(L"/badge")
			.as<winrt::Windows::Data::Xml::Dom::XmlElement>()
			.SetAttribute(L"value", glyph);
		return winrt::Windows::UI::Notifications::BadgeNotification{ xml };
	}

	inline auto MakeBadgeNotification(int value)
	{
		auto xml = winrt::Windows::UI::Notifications::BadgeUpdateManager::GetTemplateContent(
			winrt::Windows::UI::Notifications::BadgeTemplateType::BadgeNumber
		);
		xml.SelectSingleNode(L"/badge")
			.as<winrt::Windows::Data::Xml::Dom::XmlElement>()
			.SetAttribute(L"value", winrt::to_hstring(value));
		return winrt::Windows::UI::Notifications::BadgeNotification{ xml };
	}

winrt::Windows::UI::Notifications::BadgeUpdateManager::CreateBadgeUpdaterForApplication().Update(MakeBadgeNotification(1)); //number badge
winrt::Windows::UI::Notifications::BadgeUpdateManager::CreateBadgeUpdaterForApplication().Update(MakeBadgeNotification(L"alert")); //glyph badge

Badge only appears in start menu, not in taskbar
Close the app, the taskbar pinned icon now has badge.

Expected behavior
No response
Screenshots
This is Winui3 app

After closing the window:

This is UWP app

NuGet package version
Windows App SDK 1.4.2: 1.4.231008000
Packaging type
Packaged (MSIX)
Windows version
Windows 10 version 1809 (17763, October 2018 Update)
IDE
No response
Additional context
No response

I tested in C# on Windows 10 22H2 with updateBadgeGlyph from MSDN and it does not seem to work either
A workaround can be with ITaskbarList3::SetOverlayIcon
A test on Windows 10 :

@castorix That good ol COM api is obviously proven to be working. However, you have to provide the HICON instead of the windows built-in glyph, and it's hard to make it consistent with the design language.

This is bugging the "Your phone" app in windows 10. The number badge just disappear when the app is opened, and re-appear after it's closed.

UPDATE: This issue does not exist on Windows 11.


CloudWatchRegistryProperties has wrong configuration prefix

Type: Bug
Component:
Autoconfigure Cloudwatch
Describe the bug
With spring boot 3, the configuration prefixes for metric provider have been changed (see https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#actuator-metrics-export-properties). I expect that io.awspring.cloud.autoconfigure.metrics.CloudWatchRegistryProperties would follow the same rule for configuration prefixes. This is currently (3.0.0-RC2) not the case. It still uses management.metrics.export.cloudwatch. It should be management.cloudwatch.metrics.export.

Thanks! Would you like to submit a PR?

Sure, I'll give it a try.


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target/pull/569 is merged into live branch.
Auto archive content to https://github.com/VSC-Service-Account/docs-archive-test-target.git

Docs Build status updates of commit b349334:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error-BackendEngineExceptionError] An exception occurred during the build process. Please check the raw log and retry building your content again. If the issue persists, please open a ticket in https://SiteHelp and include the URL of publishing report as well as below information: One or more errors occurred..

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 in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


[C-2379] Figure out an easy way to setup dump data for contributors

At first, I was considering whether we should create a dump.sql file filled with 'INSERT' queries. Running it with the command line interface scaffold-up command would help populate the database with a bunch of random data. But then again, maintaining this could get pretty tricky, especially if there are changes to the models or database, for example.
We should brainstorm some more on ways we could streamline the process.
From SyncLinear.com | C-2379

Not sure if this was changed, but the first time I ran installation for this project back in April or so, it came with silicon valley series characters as dummy data. Unfortunately, that does not seem to be the case anymore.
@joanreyero might have some insights on this.
Also, simply creating a new workspace does not automatically create any data.
The only integrations that works out of the box is Dev and Hacker News. The latter does not work well in my experience, currently only Dev works for me. Hacker News just keeps saying it is integrating but that takes forever.
Lemme know if you need further details from a contributor POV


Add default storage class documentation for 1.6

fixes https://github.com/kubernetes/kubernetes/issues/40070

This change is

In my mind, it is much better to put the relevant data inline or on a new page vs directing people to github. But I'm okay with this as is as this is isolated to VMWare stuff.

Can you rebase and drop the merge commit?  Generally we look for a clean set of commits as we merge to master.

Eh.. I used the edit functionality of GitHub for markdown to do this change. let me start a new PR.. I cannot push to this branch as such.

Will fix this

Fixed

@kerneltime This is for the 1.6 release, right? If so, I can change the base to release-1.6 and merge it there.

I do not mind but does it not need to be in the master as well?

@kerneltime It will be. Once the k8s 1.6 release goes out, we will merge the release-1.6 branch for the docs into master.

Had to merge master into release-1.6 before I could change the base.


Problem: API lacks an authorization implementation

Is your feature request related to a problem? Please describe.
Enduro's API has optional authentication using OpenID Connect (OIDC), but there is no mechanism in place to control access to resources based on user roles or permissions.
Describe the solution you'd like
I looked at different options to provide this functionally:

Access Control Lists (ACLs)
Role-Based Access Control (RBAC)
Attribute-Based Access Control (ABAC)
Policy-Based Access Control (PBAC)

ACLs allows granular control over each resource, but it has scalability issues as the application grows. Like RBAC, they won't provide a flexible and fine-grained access control that will allow us to manage complex access needs dynamically as the application grows.
Both ABAC and PBAC grant or deny access based on attributes like user roles, resource types, operations, etc., evaluating them through defined policies. This attributes can have a hierarchical organization, policy inheritance and delegated administration (as the system and organization evolves). While PBAC provides comprehensive policy management, it can be implemented following ABAC when more defined policies and integration with external decision points are needed.
As an initial implementation or PoC, I'd like to see how Enduro is capable of getting a list of attributes from a configurable claim in the OIDC access token and limit user actions based on them. For example, considering the following actions (API-endpoints/UI-views):

List packages
Read package
Download package

And the following attributes:

package:*
package:list
package:read
package:download

"configurable_claim": [ "package:*" ]

Should be able to perform all actions.
"configurable_claim": [ "package:list", "package:read" ]

Should only be able to list and read packages, but not download them.
Describe alternatives you've considered
Mentioned above.
Additional context

Similar to the API authentication, we should try to make it optional and configurable.
Actions and attributes above are just an example for an initial implementation.
Should we consider attribute negation (not:package:download, !package:download, package:!download)?

This is a good incremental approach to validating and building out our identity management capabilities in Enduro.

Initial implementation:

Some notes @fiver-watson:

I used the home icon from https://icon-sets.iconify.design/clarity/ (line version) for consistency.
I left the same content width from other pages, with it centered.
I didn't add the @ in front of the user name. Depending on the claims obtained by the OIDC provider the user name could read "Jane Doe", so I think it's better without it.
I added an element in the sidebar to indicate it's the current page and have an obvious link for it. The heading logo also works as a link to the home page, but it's not so obvious.

Let me know your initial thoughts.

As discussed, we don't currently have the infrastructure to test this locally. I can see the lovely new landing page 🎉 For our purposes, I'm going to move this to done; we can reopen if necessary once the client has had a chance to configure and test.


CreatePR - 27 Jan - Normal Mode - Insignificant - CLA Signed and  Approved

Hi @selvabrillio, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;


Negative array index incorrectly returns first element

In jrsonnet, any negative index of a non-empty array returns the first element. In go-jsonnet, it is an out-of-bounds error.
local xs = [1, 2];

// any negative index in jrsonnet returns xs[0]:
[xs[-1], xs[-2], xs[-42]]

jrsonnet:
[
   1,
   1,
   1
]

go-jsonnet on the same file:
RUNTIME ERROR: Index -1 out of bounds, not within [0, 2)
        bug.jsonnet:4:2-8       thunk from <$>
        Array element 0
        During manifestation

Negative index on an empty array does fail, but with the wrong index value:
[][-1]

jrsonnet:
// array out of bounds: 0 is not within [0,0)

go-jsonnet:
RUNTIME ERROR: Index -1 out of bounds, not within [0, 0)
        bug.jsonnet:1:1-7       $
        During evaluation

Related to https://github.com/CertainLach/jrsonnet/pull/117


Add support for IPv6 gateway, and use it to make examples IPv6-capable

Also contains a fix to #205 (Protocol::Icmp -> Protocol::Icmpv6).
Both examples were tested on my computer with both IP versions.
Instructions in the README should work, but they are a summary of a lot of trial-and-error to configure my computer so some command(s) might be missing.

I could remove the commits with routes, and put them in a new PR after
you merged this one. Would that be ok?

I could remove the commits with routes, and put them in a new PR

Yeah, I think that would probably be better.

done

Looks good once the route command is fixed. Thanks for working on this!

@m-labs-homu r+

:pushpin: Commit c08b8b5 has been approved by dlrobertson

:hourglass: Testing commit c08b8b50ba93a4b3628748b4bc37753308e106cc with merge 4bf917ced35ab60ae5dd270e1582550545ec35f9...

@dlrobertson Thank you for reviewing this! I am very happy with how the code turned out, and even more so that I have been freed to do something else :D

I am very happy with how the code turned out

@ProgVal thanks for sticking with it! Sorry for criticizing you for duplicating lines so many times :laughing:  Also could you open up an RFC issue of sorts before you create a PR for multiple routes. I think some time spent discussing a design could be useful.

:sunny: Test successful - status-travis
Approved by: dlrobertson
Pushing 4bf917ced35ab60ae5dd270e1582550545ec35f9 to master...


docs: use brand-edx.org theme for themed doc site

Use npm aliases for swapping the themes
Now uses the brand-openedx theme by default

Coverage remained the same at 87.767% when pulling 4ae7fdd8b0a7ce361f8723809c2d7d18a0adab5b on abutterworth/doc-theme-update into bf3b43be6107e050c0cecf06cc6794e21cad6589 on master.

:tada: This PR is included in version 12.2.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Use keyword signatures

The previous version 1.x used keyword signatures for targets. I'm trying to update my project (https://github.com/mapbox/mapbox-gl-native) to 2.x, but am getting this error:

CMake Error at cmake/node.cmake:35 (target_link_libraries):
The plain signature for target_link_libraries has already been used with
the target "mbgl-node".  All uses of target_link_libraries with a target
must be either all-keyword or all-plain.
The uses of the plain signature are here:

cmake/NodeJS.cmake:583 (target_link_libraries)

Why was the signature changed back to the (old?) plain syntax?

node-cmake has never used keyword signatures, I even went back and double checked;
This is where the libraries variable is set (in 1.x):
https://github.com/cjntaylor/node-cmake/blob/1.3.0/variants/NodeJS.cmake#L119
This is where target_link_libraries is called (in 1.x):
https://github.com/cjntaylor/node-cmake/blob/1.3.0/FindNodeJS.cmake#L487
This error is typically because you've added scope specifiers, like "PUBLIC" or "PRIVATE" to your target_link_libraries command. I generally don't do this and don't plan to support it because strange things happen with 'PRIVATE' scoped libraries. Especially with shared libraries, missing symbols are highly likely. Omitting these keywords is mostly equivalent to "PUBLIC" and behaves as expected. Most cmake examples use the plain format.

I've debugged this further, since I'm still seeing the above error message. It turns out that:

On non-Windows platforms, NodeJS_LIBRARIES was empty, so the call to target_link_libraries didn't contain any parameters. Apparently CMake doesn't count this as a call, so the call type doesn't get tainted.
Instead, it used set_target_properties to set the linker flags in the 1.x series, while the 2.x series uses.

I believe the 1.x branch was correct in not using target_link_libraries for setting linker flags. What is the reason for moving the LINK_FLAGS to target_link_libraries?

CMake docs say this:

Use the LINK_FLAGS target property to add link flags explicitly. The flags will then be placed at the toolchain-defined flag position in the link command.

It also seems like node-cmake uses keyword signatures for pretty much all other calls, but not for target_link_libraries.

I've gone ahead and merged this change, since it isn't detrimental (more specifically, it should be backwards compatible). Your reference to the CMake docs only applies for CMake >= 3.7+; this project only requires features from CMake >= 3.1+, and unless there is some compelling reason otherwise, I intend to hold the CMake version dependency to 3.1.

On non-Windows platforms, NodeJS_LIBRARIES was empty, so the call to target_link_libraries didn't contain any parameters. Apparently CMake doesn't count this as a call, so the call type doesn't get tainted.

😱  - good catch. I'll have to look through the CMake documentation to see when this happened, but this is new behaviour as of one of the 3.0 versions. Prior to this, target_link_libraries was the recommended mechanism for adding all linker flags, in addition to libraries. I've mostly tested this with older versions of CMake on windows; I'll make sure this rule gets accounted for in post 2.2.1 updates.


Ignore order of fields in snapshot.

The snapshot is serialized as JSON. JSON does not guarantee ordering of object fields.
RFC7159

An object is an unordered collection of zero or more name/value pairs

However, the snapshot test fails if the order of fields in the serialized JSON has changed.
Snapshot.java#L42
if (!rawSnapshot.trim().equals(currentObject.trim()))

JSON is just a way to represent the object being tested with snapshot. If the objects compared are deeply equal, default GSON serializer will serialize them equally every time. If you provide a custom JSON serializer function, you must ensure the same behavior.

Hi @andrebonna,
it still doesn't work for me, unless I also add
objectMapper.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true);

in the method io.github.jsonSnapshot.SnapshotMatcher.buildObjectMapper()
Further reading: https://www.stubbornjava.com/posts/creating-a-somewhat-deterministic-jackson-objectmapper
Pls let me know if I can help with this issue.

Provide us and example. JSON properties should be in the same order as Class properties definition.

Please, provide us an example. JSON properties should be in the same order as Class properties definition.

Thx for the reply. I'm sorry, but I lack the time to look into trying to extract the case into an example. However, as we are open source, if you want you can

check out our code,

switch to branch `

edit https://github.com/metasfresh/metasfresh-webui-api/blob/gh4959-app/pom.xml and remove the -PR from <artifactId>json-snapshot-PR</artifactId>

and try out the test case https://github.com/metasfresh/metasfresh-webui-api/blob/gh4959-app/src/test/java/de/metas/ui/web/dataentry/window/descriptor/factory/DataEntryTabLoaderTest.java

Without objectMapper.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true); the snapfile sas created on the first run, and then created differently on the second run

When I run this with https://github.com/json-snapshot/json-snapshot.github.io/pull/12 plus objectMapper.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true);,  then it worked in Eclipse (See next copmment for details, i believe it's related but not same same topic)

Turned out that for me even objectMapper.configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, true); didn't really help to create the same snapshot on my local machine and our CI.
I suspect different java versions to be part of the problem

Note: jackson was the same (tried both 2.8.8and 2.9.8), and we also use maven-enforcer to keep the dependency tree clean of duplicate classes and different versions of the same artifact)

The problem occurred with an interface that had default methods/properties:

on my local machine the properties were still ordered alphabetically "globally"
on jenkins I got the interface's properties (ordered alphabetically) followed by the implementing class's properties (also ordered alphabetically)

Here is my failed test: https://jenkins.metasfresh.com/job/metasfresh-webui/job/gh4959-app/12/testReport/de.metas.ui.web.dataentry.window.descriptor.factory/DataEntryTabLoaderTest/createGroupEntityDescriptors_verify_DocumentEntityDescriptor/ ..just for completeness..i'm not sure if it helps 😊
I eventually got around this problem by explicitly setting the order (i.e. @JsonPropertyOrder(value = { "columnName", "defaultOrderBy", "defaultOrderByAscending", "mandatory" }) ), but to me that's just a workaround. I want my collegues to love your tool and use it broadly, and I think for that, can'T  tell them "yeah, it's great but you need to instrument your production code like this and that etc etc".
So, I'm going to check out https://github.com/skyscreamer/JSONassert as documented here: https://www.baeldung.com/jsonassert .
I plan to extend SnapshotConfig to allow a more lenient comparison instead of the current if (!rawSnapshot.trim().equals(currentObject.trim())).

Maybe it would be possible to compare expected and actual JSON trees for equality using JsonNode#equals?
I'd expect Jackson to return true for two nodes that have the same fields and values, regardless of field order, but I have not checked.


PCT Response to GCP service terms

Describe the issue
This is to review the privacy terms for the GCP Service Order.
Additional context
Add any other context, attachments or screenshots
Definition of done

PCT review of response/terms from GCP and feedback is approved
15 min meeting with PO to bring him up to speed.

There's a meeting to coordinate with Audra for some back and forth on the PCT review.


[Snyk] Security upgrade nginx from 1.25.2-alpine3.18-slim to 1.25-alpine3.18-slim

This PR was automatically created by Snyk using the credentials of a real user.Keeping your Docker base image up-to-date means you’ll benefit from security fixes in the latest version of your chosen image.
Changes included in this PR

Dockerfile

We recommend upgrading to nginx:1.25-alpine3.18-slim, as this image has only 0 known vulnerabilities. To do this, merge this pull request, then verify your application still works as expected.
Some of the most important vulnerabilities in your base image include:

Severity
Priority Score / 1000
Issue
Exploit Maturity

614
CVE-2023-5363 SNYK-ALPINE318-OPENSSL-6032386
No Known Exploit

614
CVE-2023-5363 SNYK-ALPINE318-OPENSSL-6032386
No Known Exploit

514
Improper Check for Unusual or Exceptional Conditions SNYK-ALPINE318-OPENSSL-6055795
No Known Exploit

514
Improper Check for Unusual or Exceptional Conditions SNYK-ALPINE318-OPENSSL-6055795
No Known Exploit

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

Superfluous as base image was upgraded to 1.27 by 9c17f77d26568df8b30eb2b1575d43a3edec342f.


Adding 11 new MAST notebooks (9 Kepler + 1 K2 + 1 TESS)

This PR proposes to add eleven new Kepler-focused tutorial notebooks under notebooks/MAST.
These new notebooks have the following titles:

Searching for Kepler/K2 and TESS Data Products Using Lightkurve
Identifying Transiting Planet Signals in a Kepler Light Curve
Visualizing Periodic Signals Using a River Plot
How to Understand and Manipulate the Periodogram of an Oscillating Star
How to Estimate a Star's Mass and Radius Using Asteroseismology
Instrumental Noise in Kepler and K2 #1: Data Gaps and Quality Flags
Instrumental Noise in Kepler and K2 #2: Spurious Signals and Time Sampling Effects
Instrumental Noise in Kepler and K2 #3: Seasonal and Detector Effects
Instrumental Noise in Kepler and K2 #4: Electronic Noise
Removing Instrumental Noise from K2 and TESS Light Curves Using Pixel Level Decorrelation (PLD)
Removing Scattered Light from TESS Data Using the Lightkurve RegressionCorrector

These tutorials were authored by @astrobel, @nksaunders, @ojhall94, and @barentsen, and have already been peer-reviewed once by @mustaric & @barentsen. They have also been copy-edited by @lglattly with assistance from @kelle. In other words, these notebooks should be in a good shape.

Thanks! CI failure is the same as before, so I guess we can ignore. I still would like @mustaric to sign it off here, for official record, before merging.

Thank you @pllim! 🙏


Likert bugs

Fix Summary component not displaying likert values correct.
Fix validation message not displaying correct for likert.
Fix Wcag issue with empty column header. (Added textResourcebinding)
Related Issue(s)

#316
#217

Verification

[x] Your code builds clean without any errors or warnings
[x] Manual testing done (required)
[x] Relevant automated test added (if you find this hard, leave it and we'll help out)
[x] All tests run green

Documentation

[ ] User documentation is updated with a separate linked PR in altinn-studio-docs. (if applicable)

Thanks for the contribution! :partying_face: As I mentioned in #479, maybe the cypress test could be expanded to assert the values shown/selected in the summary component here? :blush:


Fix incorrect names in semanticdb for for-comprehensions

Fixes #1037
Adds a special case for the foreach/map/flatMap/withFilter symbols that are generated by desugaring of for-comprehensions.
We still add the synthetic symbol to the cache, but later we come along and replace it with the correct symbol.

Thanks to @yilinwei for pairing with me and to @olafurpg for the advice!

LGTM! Thanks for contributing :)

While running this morning I realized we might be able to get away with another approach, behold #1125


fix deletion of self-destruct tasks in disableAll()

instead of deleting iCurrent multiple times, the task which was just disabled and has the self-destruct request flag set, shall be deleted.
adjust the respective example to disable the remaining 5 tasks using disableAll(), which then shows that not all memory is freed.

Pushed into testing branch as v3.8.4
Thank you for all your help @schlimmchen


[INLONG-1997][Bug][InLong-DataProxy] package of DataProxy is not exist in distribution dir

Fixes #1997

Codecov Report

Merging #2006 (9805145) into master (b25d1f1) will decrease coverage by 0.01%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #2006      +/-   ##
============================================
- Coverage     12.28%   12.27%   -0.02%
+ Complexity     1159     1157       -2
============================================
  Files           413      413
  Lines         35225    35225
  Branches       5542     5542
============================================
- Hits           4328     4323       -5
- Misses        30127    30133       +6
+ Partials        770      769       -1

Impacted Files
Coverage Δ

.../client/producer/qltystats/BrokerStatsItemSet.java
67.44% <0.00%> (-4.66%)
:arrow_down:

.../producer/qltystats/DefaultBrokerRcvQltyStats.java
44.14% <0.00%> (-1.18%)
:arrow_down:

Continue to review full report at Codecov.

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


SSL Certficate *.defichain-bridge.com is expired

SSL Certficate *.defichain-bridge.com is expired
this should be the cause of the current problems

thank you for pointing to the problem. Does anyone know when the maintainer of this site is going to do something about it? Is there any way to get in touch with him except via github Issues ?

Certificate renewed.


DX: ProjectCodeTest - fix detection by testExpectedInputOrder

@fabpot , fabbot.io is wrong here, it assumes it runs on Symfony. maybe it could run rules depending on repos (default rules or default+Symfony rules?)

Merge conflicts. 😭

not sure what this comment brings to discussion, each of us can see it, no need to fingerprint it :shrug:

Coverage remained the same at 92.339% when pulling e36a05f6828d84ed810f1cbf34bded1610fab917 on keradus:dx_project_code_expected_order into 8fc254807bcafa8a0443aedc02c7d88b19e80e77 on FriendsOfPHP:master.


Fran 4 26

Docs Build status updates of commit 2ef3a97:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/MicrosoftDocs/mixed-reality, working directory: W:\03nx-s, target branch: master, target branch commit: 19b697854471a757548f201b7e13560f413eb970, source commit: 2ef3a97384a0867cb57912a88452de7072a54e8a.

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

I fixed the html tables to markdown and fixed all Md issues - There shouldn't be conflicting files unless those links have changes and I'll check. I edited this doc earlier but pushed to Casey's branch. Please review.

Old PR, will approve latest version