Add support for .xctestproducts and Test Plan

Description
In this PR, I suggest adding support for the .xctestproducts package in XCTest. As I described in issue #583, using xctestproducts is more suitable for CI and also supports the Test Plan feature.
Currently, in order to export the test products, one needs to package the Derived Data and the .xctestrun file. After this change, the user can choose to upload the xctestproducts package, and we will detect it internally.
One additional change on the UI side is regarding the Test Plan name. In case the test type is XCTest, the user can enter the test plan name, which we will use if the test package is of type xctestproducts.
If we decide to proceed with this change, the Wiki page will need to be updated.
Linked GitHub issue ID: #583
Pull Request Checklist

[x] Tests for the changes have been added (for bug fixes / features)
[x] Code compiles correctly with all tests are passed.
[x] I've read the contributing guide and followed the recommended practices.
[ ] Wikis or README have been reviewed and added / updated if needed (for bug fixes / features)

Does this introduce a breaking change?
If this introduces a breaking change for Hydra Lab users, please describe the impact and migration path.

[ ] Yes
[x] No

How you tested it
I test the change locally by uploading xctestproducts package and by choosing different test plans to execute
Please check the type of change your PR introduces:

[ ] Bugfix
[x] Feature
[ ] Technical design
[ ] Build related changes
[ ] Refactoring (no functional changes, no api changes)
[ ] Code style update (formatting, renaming) or Documentation content changes
[ ] Other (please describe):

@DavidAsulin1 Again, thank you for the contribution, on behalf of the team.
Would you mind adding a UT that can cover the changed branches in the code?

/azp run

/azp run

/azp run

@DavidAsulin1 Again, thank you for the contribution, on behalf of the team.
Would you mind adding a UT that can cover the changed branches in the code?

@hydraxman The changes I made are better suited for Integration Testing rather than Unit Testing. I updated the private runXctest implementation to handle a different package behavior.


V-slice to psych chart converter

What feature do you want to get added on the P-Slice engine?
You should add a V-slice to psych chart converter on the chart editot

Is that on pslice android

base psych and p-slice android doesn't have converters or open charts


Update github.com/golang-jwt/jwt/v4

Result of go get -u github.com/meilisearch/meilisearch-go && make tidy.
Fixes: https://github.com/go-gitea/gitea/security/dependabot/78

The faulty version was still in go.sum, so I eliminted it with
go get -u github.com/meilisearch/meilisearch-go@0bf60fad690aa32d1e8bb713f04181a011e1d49a && make tidy


feat(semantic): parse jsdoc comments

@Boshen I took a very naive first pass and it's not completely functional. I'd love to see your ideas around using OnceCell and how we can properly attribute a given comment span to a node span.
I attempted the lazy OnceCell approach in this commit (https://github.com/Boshen/oxc/pull/205/commits/9cefee43fc0bfc76436b6040de9efc9a708b2e02), but OnceCell is not Copy so it doesn't compile

I think this is in the right direction, shall we remove the OnceCell for now and focus on the parser itself on this PR?
I also realized by going through the jsdoc doc, there are three components:

jsdoc attachment to jsdoc targeting AST node
jsdoc parsing
jsdoc building for the entire module

So the overall architecture may be the following:

The SemanticNode will have a flag indicating whether it has jsdoc comment - we want to minimize the bytes used by SemanticNode as it is constructed millions of times
The JSDoc storage stores a map of NodeId or Span to the jsdoc comment span for this module
The jsdoc is only parsed and cached when we call its API inside the linter:

if node.get().has_jsdoc() {
  let parsed_jsdoc = ctx.semantic().jsdoc().get(node);
}

I think I got an idea on how to do 1.
You can keep on working on 2 and 3 as current development setup is already in the right direction.
What do you think?

I started working on comment attachment here: https://github.com/Boshen/oxc/commit/3b7469af24da3045ee0d305079776336c028760e
It seems I'll have to adjust some APIs on main, mainly to bring in trivias and source text into the semantic builder on initialization.

Updated with a commit:
We can now retrieve jsdoc on the following code:
/**
* @deprecated
**/
    function foo() {
    }

I'll keep on working with the builder by adding tests.
@shannonrothe You can focus on the parser without worrying about comment attachments now.

@shannonrothe Are you free for a round of review? Everything except the parser is ready to be merged. We can work on the parser in another around.


[New Port Request] MIT Kerberos/krb5

Library name
krb5
Library description
No response
Source repository URL
https://github.com/krb5/krb5
Project homepage (if different from the source repository)
https://web.mit.edu/kerberos/
Anything else that is useful to know when adding (such as optional features the library may have that should be included)
krb5 has a Kerberos for Windows release as well:
https://web.mit.edu/kerberos/kfw-4.1/kfw-4.1.html

PR: #38402


SimpleElastix fails when using SetInitialTransformParameterFileName

This is probably the same issue as #121 but I am opening here since the discussion there drifted into transformix for which a workaround exists. Here's a self contained minimal example below that triggers the segfault.
It only segfaults when the transform provided with SetInitialTransformParameterFileName references a second transform parameter file (as demonstrated below), there are no issues if  "InitialTransformParametersFileName" = ["NoInitialTransform"].
myimg=sitk.GetImageFromArray(np.zeros((64,64,64)))
sitk.WriteImage(myimg,'myimg.nii') # for transformix command line comparison
se=sitk.ElastixImageFilter()
rigid_pmap=sitk.GetDefaultParameterMap("rigid",1)
sitk.WriteParameterFile(rigid_pmap,'rigid1.txt')
se.SetParameterMap(sitk.GetDefaultParameterMap("rigid",1))
#create a transformparameter file template to use for this example
se.SetMovingImage(myimg)
se.SetFixedImage(myimg)
se.Execute()
rigid_xfm_template=se.GetTransformParameterMap()
#create two transforms that we would like SimpleElastix to preload
xfm1 = sitk.SimpleITK.ParameterMap(rigid_xfm_template[0])
xfm2 = sitk.SimpleITK.ParameterMap(rigid_xfm_template[0])
#First load xfm2 which then loads xfm1
xfm2["InitialTransformParametersFileName"]=["xfm1.txt"]
xfm1["InitialTransformParametersFileName"] = ["NoInitialTransform"]
sitk.WriteParameterFile(xfm1,'xfm1.txt')
sitk.WriteParameterFile(xfm2,'xfm2.txt')
se.SetInitialTransformParameterFileName('xfm2.txt')
se.Execute() #segfaults, but works in elastix cmd line call
#this runs: /usr/local/elastix/bin/elastix -m myimg.nii -f myimg.nii -t0 xfm2.txt -p rigid1.txt -out .
Here's a stack trace from debugging sitkElastixImageFilterImpl.cxx which unfortunately was beyond my competency level :(
Soren

I have the exact same problem. It's quite maddening. I really have no clue why this shouldn't work, or what the reasonable workaround is. Did you manage to get anywhere?


RC3: Export placeholder types and type-related functions

This is a collection of changes to enable existing codebases using RC3 to more easily migrate to RC4. The following RC4+ changes are represented in this PR:

https://github.com/microsoft/FluidFramework/pull/21003
https://github.com/microsoft/FluidFramework/pull/20123
https://github.com/microsoft/FluidFramework/pull/20859

These changes are being handled on the consumer side, so closing this PR.


Add support for contributions through .spec.contributions field in DevWorkspace

What does this PR do?
Adds support for the .spec.contributions field as described in https://github.com/devfile/api/issues/874. The new field functions the same as current plugin components but can be defined separately from .spec.template, allowing easier conversion from devfile to devworkspace and back.
For test cases, I copied most of the existing tests for plugins functionality and adapted them to use contributions instead.
What issues does this PR fix or reference?
Part of https://github.com/devfile/devworkspace-operator/issues/656
Is it tested? How?
This PR adds a new sample: samples/theia-next-contributions.yaml that uses the new field instead of a theia plugin component. This should behave identically to the current theia-next.yaml sample.
In addition I've rewritten the samples from #844 to use contributions instead of plugin components:

checode + golang [link]:
kubectl apply -f https://gist.githubusercontent.com/amisevsk/b44ab9d83c2ac6cb4c500ad16ee70ca7/raw/a4506801c3d20e6a1423a98238d7e8d9636005f3/code-golang.devfile.yaml

theia + golang [link]:
kubectl apply -f https://gist.githubusercontent.com/amisevsk/b44ab9d83c2ac6cb4c500ad16ee70ca7/raw/a4506801c3d20e6a1423a98238d7e8d9636005f3/theia-golang.devworkspace.yaml

PR Checklist

[ ] E2E tests pass (when PR is ready, comment /test v8-devworkspace-operator-e2e, v8-che-happy-path to trigger)

[ ] v8-devworkspace-operator-e2e: DevWorkspace e2e test
[ ] v8-che-happy-path: Happy path for verification integration with Che

/retest

@amisevsk the code looks good to me, though in my testing on Minikube I found that the devworkspace URL does not appear with the theia-next-contributions.yaml sample or checode + golang.
[aobuchow@fedora samples]$ kubectl get dw -w
NAME                DEVWORKSPACE ID             PHASE      INFO
test-contrib-code   workspace30e25356b27043bc   Starting   Waiting for workspace deployment
test-contrib-code   workspace30e25356b27043bc   Starting   Waiting for workspace deployment
test-contrib-code   workspace30e25356b27043bc   Running    Workspace is running

Is there something I'm missing here?

@AObuchow Weird, that doesn't reproduce for me. Are you sure you're running the changes from this PR?

@AObuchow Weird, that doesn't reproduce for me. Are you sure you're running the changes from this PR? New CRDs + old DWO image would explain that.

I deleted my minikube cluster and reinstalled everything, just to make sure I had a clean slate.
I was able to get the theia-next-contributions.yaml sample working by building and deploying the DWO controller image to minikube (i.e. not scaling the deployment to 0) rather than running the controller locally. However, when running the controller locally, this issue still occurs.
I checked the git log and diff'ed the CRD's and code changes and everything seems in place.
Are you testing with the controller running locally as well? If so, then it's something else on my end for sure.

@AObuchow doesn't reproduce when running locally either. Try a clean install: make uninstall, make install

I've only tested locally, and got the same behaviour as @AObuchow if I apply the template with oc apply -f samples/theia-next-contributions.yaml. For some reason, the spec.contributions field is removed when creating the DevWorkspace.
However, I'm able to do oc edit devworkspace theia-next and add the spec.contributions back manually, and that got it working; the workspace pod starts with the theia-ide container contributed from spec.contributions

@dkwon17 does this still occur if you run make uninstall before trying to test?

I've tested on OpenShift 4.11 and minikube (k8s 1.23.3) and could not reproduce this issue :thinking:

In either case, make sure that the webhooks deployment for your test environment is running a PR branch build -- if your webhooks server is using the old DevWorkspace definitions, it's likely not deserializing the components field to begin with, causing it to be dropped when the mutating webhook adds a creator label.

Thanks @amisevsk , I realized this was the culprit. If I update the webhook-server image from the devworkspace-webhook-server deployment with the image for this PR, then I don't get the issue of having the spec.contributions disappearing

Thank goodness, I'm glad we figured it out -- I thought I was losing my mind! :smile:


Set placeholder image when resouce is nil

Fix for #510

Current coverage is 74.17% (diff: 60.00%)

Merging #511 into master will increase coverage by 0.05%

@@             master       #511   diff @@
==========================================
  Files            21         21
  Lines          2229       2234     +5
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           1652       1657     +5
  Misses          577        577
  Partials          0          0

Powered by Codecov. Last update 1e057c7...0446a2d


1gd/1gD may hangs up forever ...... Bug?

int main()
{
  char *a = "NOT NULL";
  if(a)
  {
    char *b = a;
    printf("%s\n", b);
  }
  else
  {
    char *b = "NULL";
    printf("%s\n", b);
  }

  return 0;
}

When I input "1gd" or "1gD" on "b" variable inside the else block, gVim will hanging up until input Ctrl+C ... :(

Yeah, it is a bug, Vim keeps searching and finding the same position and does not return.
I think this commit fixes it. (Note: The test will not finish, if run on an unpatched vim)

Hi ChrisBra, cs86661 and list,
2017-4-20(Thr) 1:03:04 UTC+9 Christian Brabandt:

Yeah, it is a bug, Vim keeps searching and finding the same position and does not return.
I think this commit fixes it. (Note: The test will not finish, if run on an unpatched vim)

I think below patch is better.
When t is not FAIL, add len to curwin->w_cursor.col simply.
diff --git a/src/normal.c b/src/normal.c
index 53bda6c..754aa5d 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -4371,7 +4371,10 @@ find_decl(
if ((pos = findmatchlimit(NULL, '}', FM_FORWARD,
(int)(old_pos.lnum - curwin->w_cursor.lnum + 1))) != NULL
&& pos->lnum < old_pos.lnum)

  {

  curwin->w_cursor.col += len;
  continue;

  }

}
if (t == FAIL)

--
Best regards,
Hirohito Higashi (h_east)

It works! thanks everyone. :)

Hirohito Higashi wrote:

Hi ChrisBra, cs86661 and list,
2017-4-20(Thr) 1:03:04 UTC+9 Christian Brabandt:

Yeah, it is a bug, Vim keeps searching and finding the same position and does not return.
I think this commit fixes it. (Note: The test will not finish, if run on an unpatched vim)

I think below patch is better.
When t is not FAIL, add len to curwin->w_cursor.col simply.
diff --git a/src/normal.c b/src/normal.c
index 53bda6c..754aa5d 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -4371,7 +4371,10 @@ find_decl(
if ((pos = findmatchlimit(NULL, '}', FM_FORWARD,
(int)(old_pos.lnum - curwin->w_cursor.lnum + 1))) != NULL
&& pos->lnum < old_pos.lnum)

{

curwin->w_cursor.col += len;
continue;

}

}
if (t == FAIL)

The value of "len" is the length of the pattern.  It may move the cursor
beyond the end of the line.
Hmm, there can't really be a valid match before the end of the block.
Thus we might as well move the cursor to "pos".
--
There are 2 kinds of people in my world: those who know Unix, Perl, Vim, GNU,
Linux, etc, and those who know COBOL.  It gets very difficult for me at
parties, not knowing which group to socialise with :-)
Sitaram Chamarty
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///


Bugfix/Alert i18n bug #235

Worked with David on this today. Figured out it was pretty much what Simon was saying in the issue description. The Alert_Risk wasn't getting set to the translated word, but we couldn't change it everywhere because it was also being used to make api calls. So we opted to create another constant with the correct translated function call and implement that only in the showAlerts function.
Fix #235.
I tried running the tests with npm run test but it was getting an error on
ERROR in ./src/main/zapHomeFiles/hud/serviceworker.js 4:3
Module parse failed: Unexpected token (4:3)
File was processed with these loaders:
 * ./src/webpack/loaders/zap-loader.js
You may need an additional loader to handle the result of these loaders.
| const ZAP_HUD_FILES = 'https://zap';
| const toolScripts = [
> 	''http://zap/to/some/tool'' <<<these are two single quotes not double quotes>>>
| ];

I went to zap-loader.js and found that there are escaped single quotes and it said they are there to make the js linter happy but when i removed them the test completed :) I didnt push that change here but just wanted to mention it.
source = source.replace('<<ZAP_HUD_TOOLS>>', '\'http://zap/to/some/tool\'');

There's a lint issue in pageAlertsLow.js.

There's a lint issue in pageAlertsLow.js.
I see a lint issue in every file actually because of the todo comments and the file name not being in kebab case. Should I make those changes?

Sorry, was referring just to the error:
✖    20:1   Trailing spaces not allowed.            no-trailing-spaces

(The warnings are  ok to leave for now, there's already an issue to address them.)

btw, worth mentioning the fix in the changelog.

mentioning

The author/committer email looks unusual, was that set on purpose? https://help.github.com/en/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address

The author/committer email looks unusual, was that set on purpose? https://help.github.com/en/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address

Thanks for making me aware of that. I probably did that a long time ago and forgot about it. I updated it so hopefully its showing my proper email address now.

You'd have to amend the commits (also with --reset-author) to update the email in those.

Had a little trouble with git in changing the author, I ended up rewriting those commits with the correct email. Not sure if I did it the correct way but I made sure to merge with the existing changes so hopefully its okay.

I'd suggest squash all of them, to remove the old commits (or just drop those).

Thanks for getting all the linting and changelog corrections lined up @thc202 ! Anything else @Rshahatit needs to do in order to merge this commit?

No, looks good (I didn't notice nor get notification of the latest push).

Thanks!


Increase session_command_buffer size

Describe the feature
After running reth for a while and interacting with transactions, I start to run into receive errors on the GetPooledTransactions message, where the response is supposed to be sent on the oneshot response channel. The receive error means that the sender is dropped, which I think can only be because we're using try_send on the commands_to_session buffered channel, which can silently fail if the buffer is full: https://github.com/paradigmxyz/reth/blob/c070e77524680e0937ab4b2131452d8d5dbe80e4/crates/net/network/src/session/mod.rs#L243
The buffer size is set here and is 10 by default:
https://github.com/paradigmxyz/reth/blob/c117d4b44f63de8821160510cf9d492be9dc25b6/crates/net/network/src/session/config.rs#L23-L38
The fix should just be increasing the buffer size, I can do a PR for that, but would like to have some feedback on how big it should be. We should also probably introduce some trace logs that print the current buffer size when sending a message to the session.
Additional context
No response

ty for this feedback.
these were basically just initial assumptions.
Since we also send eth messages through here, increasing is reasonable.
This buffer basically just handles egress, 10 was very conservative, we can bump it to 32 first and increase again.
This is a per session buffer so 32 should be fine.

I can do a PR for that,

🙏


Reduce prop data sent on each page

We're currently sending a dump of all data, we should be minimizing what we send to only what's needed for the page type
Example: https://github.com/colbyfayock/spacejelly.dev/commit/ff48c4bb77aadb32d69a8921567db73ec728d882#diff-dd527244dd5ec0ea4b814ba323b9a09c91fc40ba4cd2a64efbdeb0b0d3fabf8e
Can drastically reduce page size

Fixed by https://github.com/colbyfayock/next-wordpress-starter/pull/325


feat: ion-textarea minRows/maxRows

Feature Request
Ionic version:

[x] 4.x
Describe the Feature Request

according to the docs there is a rows and cols attributes but there is no maxRows and maxCols the former being important bing very useful when dealing with native since if someone writes a message or something that is longer I don't want the autoGrow directive to take over the entire screen
Describe Preferred Solution

essentially it would be nice to have these abilities to impliment instead of using a 3rd party package to fulfill a min/max rows/cols
Describe Alternatives

Related Code

current implementation:
          <textarea
            autosize
            [minRows]="1"
            [maxRows]="4"
            [(ngModel)]="message"
            placeholder="escribe aqui"
            class="msg-input"
            (keydown)="onKeydown($event)"
            (click)="scrollToBottom()"
          ></textarea>

desired outcome:
          <ion-textarea
            autoGrow
            [minRows]="1"
            [maxRows]="4"
            [(ngModel)]="message"
            placeholder="escribe aqui"
            class="msg-input"
            (keydown)="onKeydown($event)"
            (click)="scrollToBottom()"
          ></ion-textarea>

Additional Context

Thanks for the feature request! It looks like you can use max-height and max-width to achieve this result.
I created a CodePen here: https://codepen.io/liamdebeasi/pen/wLMvGv
Does this work for your use case? Thanks!

I am away from my computer at the moment. I will follow up with this and let you know.

Hi, @liamdebeasi While that does technically has the desired effect the other problem is working with it natively. Once it reaches the maximum height and you continue type after each new line, there is a flash of text scrolling to the top and then back down to the bottom again and a button that I have in the text area is being stretched out of proportion.
This issue doesn't happen on the desktop, but, only natively.

Thanks for the follow up! Would you be able to provide a code example of how that would work with the native textarea element?
Thanks!

hi @liamdebeasi Sorry I don't know what you mean exactly. I implemented the max-height as you suggested in the codepen above. The implementation that I was inferring was that of the autoSize module that my application uses currently. currently I am using this autosize feature and while it works I want to try and rely on as little 3rd party modules as possible. currently in my application this is the actual implementation that I am using and it works great natively.
<textarea autosize class="input-message" maxRows="5" [(ngModel)]="message"></textarea>

here is a small Stackblitz with the implementation

Here is an implementation of a React wrapper component that does the job for me. Anyone facing this problem may try out the solution (or work out something similar in angular):
function TextArea({ maxRows, approxCharsPerRow, onIonChange, ...rest}) {
  const [allowAutoGrow, setAllowAutoGrow] = React.useState(true);

  const handleOnChange = React.useCallback((e) => {
    const newLines = e.target.value.split('').filter(c => c === '\n').length;

    setAllowAutoGrow(
      newLines < (maxRows - 2) &&
      e.target.value.length < (approxCharsPerRow * maxRows)
    );
    return onIonChange && onIonChange(e);
  }, [approxCharsPerRow, maxRows, onIonChange]);

  return (
    <IonTextarea
      autoGrow={allowAutoGrow}
      rows={allowAutoGrow ? 1 : maxRows}
      onIonChange={handleOnChange}
      {...rest}
    />
  )
}

Thanks for the issue. This has been resolved via https://github.com/ionic-team/ionic/pull/21333, and a fix will be available in an upcoming release of Ionic Framework.
Rather than expose a CSS variable for this, we were able to accomplish this via style inheritance. This allows developers to set max/min height and widths on the ion-textarea and have it work properly with autogrow.
Usage Example:
ion-textarea {
  max-height: 300px;
  min-height: 100px;
}

I'm running into:

with:
    <ion-textarea
        enterkeyhint="enter"
        inputmode="text"
        [(ngModel)]="messageBody"
        autoGrow="true"
        placeholder="Write a message..."
      ></ion-textarea>

ion-textarea {
    border-radius: 10px;
    min-height: 20px;
    height: auto;
    max-height: 200px;
    --padding-start: 10px;
    --padding-bottom: 10px;
    --padding-top: 10px;
    --padding-end: 50px;
    background-color: var(--ion-color-light);
    color: var(--ion-color-dark);
  }

I've tried adding some styles to overwrite the current framework styles:
textarea, .native-textarea.sc-ion-textarea-ios {
  min-height: 20px !important;
  max-height: 200px !important;
}

.textarea-wrapper,
.native-textarea {
    min-height: 20px !important;
    max-height: 200px !important;
}

but the element height seems to be overriding:
element.style {
    height: 326px;
}

anything else I can try in the meantime? or just wait for the framework update?


Animation types when switching tabs

Hi, thanks for continuing this package.
Is there a way to use different screen transition animation? (ex: Fade/Zoom)
Currently it's sliding left/right when tapping on the tabs.

No sorry, currently it is not possible.

@jb3rndt  I'm wondering if you have come up with any solution or implementation that makes the other transitions possible without losing the state as of today. our app relies on stateManagement and we need to have fade transition between pages for both iOS and Android

Hi, yes! You can find animatedTabBuilder in version 5.0.0-beta.5. Here is an example hot to use this callback for a translation transition (which is the default):
final double yOffset = newIndex > index
     ? -animationValue
     : (newIndex < index
         ? animationValue
        : (index < oldIndex ? animationValue - 1 : 1 - animationValue));
  return FractionalTranslation(
   translation: Offset(yOffset, 0),
    child: child,
  );

It should work with a fade too.


Update LC domain name

LC domain name might be something like amlight.net or zaoxi.ac.nz. So this updates to use the full url instead of splitting to get the domain name.

@congwang09 LGTM, but please address the test failures before merging?

the domain name from .env: Here: https://github.com/atlanticwave-sdx/sdx-lc/blob/fc74b0516e5dce53d4c6fbaff385e011b45c9718/.github/workflows/test.yml#L78
and the unittest read the mock topology inline: self.__topology: https://github.com/atlanticwave-sdx/sdx-lc/blob/fc74b0516e5dce53d4c6fbaff385e011b45c9718/swagger_server/test/test_topology_controller.py#L90
where:  id="test_topology_link_id"

these two need to be equal. so please debug the new parser to fix the test, change the value in .env if necessary.
@congwang09

the domain name from .env: Here: https://github.com/atlanticwave-sdx/sdx-lc/blob/fc74b0516e5dce53d4c6fbaff385e011b45c9718/.github/workflows/test.yml#L78

and the unittest read the mock topology inline: self.__topology: https://github.com/atlanticwave-sdx/sdx-lc/blob/fc74b0516e5dce53d4c6fbaff385e011b45c9718/swagger_server/test/test_topology_controller.py#L90
where:  id="test_topology_link_id"

these two need to be equal. so please debug the new parser to fix the test, change the value in .env if necessary. @congwang09

Yeah, that's a good point. The tests are passing now.


Using LiveScan3D with Realsense D435

Hi,
I wanted to inquire if LiveScan3D would work with the realsense d400 series cameras?
Moving this issue to LiveScan3D-Hololens git.
Thanks and Best Regards

Hi,
In order for the app to work with the realsense you would need to implement the iCapture interface for that sensor. I don't think it is a lot of work, but it would still require the knowledge of basic C++ programming.
Marek

Hi,
iCapture is an interface that the application can use to communicate with an RGBD camera. The idea is, that to work with an RGBD camera, you need to implement a class derived from iCapture that will implement all of its functions. An example of such a class is kinectCapture, which implements the iCapture inteface for the Kinect v2 depth camera, the implementation of this class is here.
Marek

Hi, did someone managed to implement iCapture.h ?  Thanks!

Is there any guide on how to implement an interface?

How do I make the interface work with kinect 360?

Hi,
I have never worked with Kinect 360, so  I can't really help you with the specifics.
As for an example you can see the implementation for Kinect v2 here:
https://github.com/MarekKowalski/LiveScan3D/blob/master/src/LiveScanClient/kinectCapture.cpp
There is also an implementation for Azure Kinect, though the interface was slightly modified, you can find it here:
https://github.com/MarekKowalski/LiveScan3D/blob/AzureKinect/src/LiveScanClient/azureKinectCapture.cpp
Marek

I looked at the files. There isnt a one to one replacement of the functions
eg getbodyframe. What should i do in this case? Thanks
On Sun, 1 Mar 2020, 12:43 am Marek<EMAIL_ADDRESS>wrote:

Hi,
I have never worked with Kinect 360, so I can't really help you with the
specifics.
As for an example you can see the implementation for Kinect v2 here:
https://github.com/MarekKowalski/LiveScan3D/blob/master/src/LiveScanClient/kinectCapture.cpp
There is also an implementation for Azure Kinect, though the interface was
slightly modified, you can find it here:
https://github.com/MarekKowalski/LiveScan3D/blob/AzureKinect/src/LiveScanClient/azureKinectCapture.cpp
Marek
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/MarekKowalski/LiveScan3D/issues/34?email_source=notifications&email_token=AF5PZFLTTQRVJCBQUDX4PELRFE5JNA5CNFSM4GLUVP72YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENL6VIQ#issuecomment-592964258,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF5PZFNZLNAJHHNP2DMNORLRFE5JNANCNFSM4GLUVP7Q
.

Hi,
If you do not need the functionality provided by the functions that are not present, you can return some sort of an empty input.
Thanks,
Marek


decoupling vm from consensus

closes: https://github.com/spacemeshos/go-spacemesh/issues/3272
supersedes: https://github.com/spacemeshos/go-spacemesh/issues/3289

malformed and unverifiable transactions are ineffective and will be returned back to conservative cache
transactions that weren't executed due to block gas limit are also returned as ineffective to conservative cache
if transaction was verified when accepted by the node it won't be verified again by the vm when executed. conservative cache should save headers for verified transactions
conservative cache doesn't parse/verify transactions before sending them to vm. it will use vm output to restore its own consistency after applying layer

@countvonzero please take a look at this change

bors merge


Dev test: Molecule Shapes 1.5.0-dev.3

@arouninfar, @kathy-phet, molecule-shapes/1.5.0-dev.3 is ready for dev testing. Document issues in https://github.com/phetsims/molecule-shapes/issues and link to this
issue.
Assigning @kathy-phet and @KatieWoe for prioritization.

General Dev Test

What to Test

Click every single button.
If there is sound, make sure it works.
Make sure you can't lose anything.
Play with the sim normally.
Try to break the sim.
Try to include browser version numbers
If there is a console available, check for errors and include them in the Problem Description.
Run through the string tests on at least one platform, especially if it is about to go to rc.
Check the Game Up harness on one platform.

General Dev Test Platforms

[x] Latest macOS, Safari (Time = 2.25 hrs)
[x] Windows 10, Chrome (Time = 2.00 hrs )
[x] Windows 10, Firefox (Time = 1.5 hrs)
[x] Latest iOS, Safari (Time = 1.5)
[x] Win 11 Firefox (Time = 2)

Light testing, or optionally skip if time crunch:

[x] Latest macOS, Chrome (Time = 1 hr)
[ ] Latest Chrome OS, Chrome (Time = )

Issues to Verify

[x] Many credits gone

These issues should have either use the labels "status:ready-for-qa" or "status:ready-for-review." If it is ready for
QA then close the issue if fixed. If ready for review then leave open and assign back to the developer.

Link(s)

Simulation

PhET-iO Dev Test

What to Test

Make sure that public files do not have password protection. Use a private browser for this.
Make sure that private files do have password protection. Use a private browser for this.
Make sure standalone sim is working properly.
Make sure the wrapper index is working properly.
Make sure each wrapper is working properly.
Launch the simulation in Studio with ?stringTest=xss and make sure the sim doesn't navigate to youtube
For newer PhET-iO wrapper indices, save the "basic example of a functional wrapper" as a .html file and open it. Make
sure the simulation loads without crashing or throwing errors.

General Dev Test Platforms

[x] Latest macOS, Safari (Time = 2 hrs)
[x] Latest iOS, Safari (Time = 2)
[x] Windows 11, Chrome (Time = 3)
[x] Windows 10, Firefox (Time = 2 hrs)
[x] Latest Chrome OS, Chrome (Time = 2)

Link(s)

Wrapper Index

FAQs for QA Members

There are multiple tests in this issue... Which test should I do first?
Test in order! Test the first thing first, the second thing second, and so on.

How should I format my issue?

We typically assign the developer who opened the issue in the QA repository.

My question isn't in here... What should I do?
You should:

Consult the QA Book.
Google it.
Ask Katie.
Ask a developer.
Google it again.
Cry.

Memory Test:

PhET-iO Memory Test:

QA is done

Thanks!


DH\Adf\Node\Block\Document::load returns a different type to what DH\Adf\Exporter\Html\Block\DocumentExporter expects

Per the documentation: a root node is mapped to DH\Adf\Node\Block\Document class and its exporter class is DH\Adf\Exporter\Html\Block\DocumentExporter
However, when using DH\Adf\Node\Block\Document::load with a JSON object, the DH\Adf\Node\Block\Document::load member returns type of DH\Adf\Node\BlockNode while DH\Adf\Exporter\Html\Block\DocumentExporter expects type of DH\Adf\Node\Block\Document.
Is there a way to coerce the types to remove this warning?
"name": "damienharper/adf-tools",
"version": "1.0.0",

Hi @bdanbury, could you please post a sample code that triggers the warning/error and the generated warning/error message?

Context: $i is an iteration of Issues from \JiraCloud\JiraClient\IssueService.
if ($i->fields->description) {
$exporter = new DocumentExporter(Document::load([
'type' => $i->fields->description->type[0],
'content' => objectToAssocArray($i->fields->description->content)
]));
$description = $exporter->export();
}
[image: image.png]
On Fri, Jan 5, 2024 at 4:06 PM Damien Harper @.***>
wrote:

Hi @bdanbury https://github.com/bdanbury, could you please post a
sample code that triggers the warning/error and the generated warning/error
message?
—
Reply to this email directly, view it on GitHub
https://github.com/DamienHarper/adf-tools/issues/7#issuecomment-1879256099,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUGRCBPLRSL7BKBRO6TENSDYNBTLRAVCNFSM6AAAAABBNDSYPOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZZGI2TMMBZHE
.
You are receiving this because you were mentioned.Message ID:
@.***>


A01638247-homework-02

I have a mismatch in the count , in one process i have
Seller number: 4
Seller 4 sell 138, 862 bottles remaining
Seller number: 4
Seller 4 sell 290, 572 bottles remaining
Seller number: 4
Seller 4 sell 293, 279 bottles remaining
Seller number: 4
You cant sell 308 bottles, because there were 279 bottles remaining
Seller number:
In the other i have
➜  parallel-programming-lecture git:(pullrequest) ✗ ./a.out
Seller number: 2
Seller 2 sell 252, 748 bottles remaining
Seller number: 2
Seller 2 sell 288, 460 bottles remaining
Seller number: 2
Seller 2 sell 292, 168 bottles remaining
Seller number: 2
Seller 2 sell 124, 44 bottles remaining
Seller number:
279-124 is not equal to 44
any reason ?


Footprints and Thumbnail images remain on map in UI after the Footprint and Thumbnail image icons were deselected

Details here:
https://jira.jpl.nasa.gov/browse/PODAAC-5545

@davidcolemanjpl Please test this in HITIDE UI 4.17.1 in UAT.
Thanks!

HiTIDE (UAT) v4.17.1-RC.1
Confirmed that this anomaly is  no longer an issue in HiTIDE UAT.
Test Complete

@davidcolemanjpl please test again in OPS.
Thanks!

HiTIDE (OPS) v4.17.1
Confirmed that this is no longer an issue in HiTIDE OPS.
Test Complete


Nested inference example: Schelling coordination game

This PR adds two small examples (ported from this Forest example and this one) illustrating nested inference with enumeration in Pyro.  The examples implement two variants of a Schelling coordination game, in which two agents who want to meet decide where to go independently by reasoning recursively about the other's decision process.

Fixed the merge conflict, @jpchen please merge after tests pass unless you have other requests for changes.


Ignore .DS_Store files

Please ignore .DS_Store files :)

Nope.
We're expecting every contributor to exclude such sort of system ignores (e.g. *.swp,  *~, *.sublime-workspace, .project, .idea, .DS_Store, tags, etcetc.) in their own user gitignore.
Thanks!
See also: https://github.com/rails/rails/commit/5a8e7287c542cbe82d3127cae83dab8571ab9114

Ah I see. :+1:


Epub3 reader for ionic

In my ionic application i integrate the epub3 file so i need to read the epub3 file in my application. Is cordova provide any plugins for read epub3 file.

Hello! Thanks for opening an issue with us! As this seems like more of a support question i will urge that you ask this question on our forum. Thanks for using Ionic!


IE11 - ERROR TypeError: Object doesn't support property or method 'entries'

I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[x] Bug report
[ ] Performance issue
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request
[ ] Other... Please describe:

Current behavior

In Angular v8, 9, 11 ngneat/dialog is throwing error on IE11
ERROR TypeError: Object doesn't support property or method 'entries' #12
when using const ref = this.dialog.open(TestDialogComponent);
I tried adding these in polyfills
import 'core-js/es';
import 'core-js/features/reflect';

but then I am getting
ERROR TypeError: Unable to get property 'apply' of undefined or null reference
Expected behavior
This statement const ref = this.dialog.open(TestDialogComponent); should work on IE 11 and open dialog successfully with Angular versions 8 or more

Minimal reproduction of the problem with instructions

Create a new Angular project (v8, v9 or latest)
Write function to Open dialog with TestDialogComponent( I've taken code reference from @ngneat/dialog example application)

openDialog() {

    const ref = this.dialog.open(TestDialogComponent);

    ref.backdropClick$.subscribe({
      next: () => (this.backDropClicked = true)
    });

    return ref;
 }

Set "target": "es5" in tsconfig.json
remove not from browserslist from IE11
On firing any event to call the function on Step 2, I am getting this error ERROR TypeError: Object doesn't support property or method 'entries'  and dialog is not getting opened
It is not working with this specific use case when dialog gets opened with Component

Environment

Angular version: 11.0.5

Browser:
- [ ] Chrome (desktop) version XX
- [ ] Chrome (Android) version XX
- [ ] Chrome (iOS) version XX
- [ ] Firefox version XX
- [ ] Safari (desktop) version XX
- [ ] Safari (iOS) version XX
- [x] IE version 11
- [ ] Edge version XX

The suggested solution would be to
https://github.com/ngneat/dialog/blob/085c361ce2f4bb8a1c70cfc2a81a041a41f9cc8e/projects/ngneat/dialog/src/lib/dialog.component.ts#L87
make this statement work for IE11

Hi @anuragaroraaa! The spread operator is downgraded by typescript to work on old browsers (so it isn't a problem).
And you should polyfill object's entries method in polyfills.ts file:
import 'core-js/features/object/entries';

Once done, dialog should work 👍🏻

Hi @anuragaroraaa! The spread operator is downgraded by typescript to work on old browsers (so it isn't a problem).
And you should polyfill object's entries method in polyfills.ts file:
import 'core-js/features/object/entries';

Once done, dialog should work 👍🏻

Hi @tonivj5, as stated above, I tried adding polyfills for object's entries and was able to fix below error
ERROR TypeError: Object doesn't support property or method 'entries'
but as soon as I am adding entries polyfills
I am getting this error
ERROR TypeError: Unable to get property 'apply' of undefined or null reference
I tried all the combinations of polyfills for fixing this issue, but nothing worked
Finally it is worked on IE only when I replaced
host.append(...this.nodes);
with
host.appendChild.apply(host, this.nodes);
Please do suggest some alternatives.

Hi @tonivj5, as stated above, I tried adding polyfills for object's entries and was able to fix below error
ERROR TypeError: Object doesn't support property or method 'entries'
but as soon as I am adding entries polyfills
I am getting this error
ERROR TypeError: Unable to get property 'apply' of undefined or null reference
I tried all the combinations of polyfills for fixing this issue, but nothing worked
Finally it is worked on IE only when I replaced
host.append(...this.nodes);
with
host.appendChild.apply(host, this.nodes);
Please do suggest some alternatives.

@anuragaroraaa add an Object.assign polyfill

@anuragaroraaa add an Object.assign polyfill

@Lonli-Lokli  I tried that too, same error
ERROR TypeError: Unable to get property 'apply' of undefined or null reference

@Lonli-Lokli  I tried that too, same error
ERROR TypeError: Unable to get property 'apply' of undefined or null reference

The problem isn't spread operator itself, the problem is append method, it isn't supported in IE

Finally it worked on IE only when I replaced
host.append(...this.nodes);
with
host.appendChild.apply(host, this.nodes);

It works because you are using appendChild instead of append, but it doesn't do the same. If nodes has more than one element, it didn't append it (it happens with ng-templates).
As a workaround you can polyfill append.
Anyway I have open a PR that should fix it #13 👍🏻
By the way, entries polyfill should be being added if it isn't supported by IE11

The problem isn't spread operator itself, the problem is append method, it isn't supported in IE

Finally it worked on IE only when I replaced
host.append(...this.nodes);
with
host.appendChild.apply(host, this.nodes);

It works because you are using appendChild instead of append, but it doesn't do the same. If nodes has more than one element, it didn't append it (it happens with ng-templates).
As a workaround you can polyfill append.
Anyway I have open a PR that should fix it #13 👍🏻
By the way, entries polyfill should be being added if it isn't supported by IE11

Thanks @tonivj5. Looking forward for the release.

Thanks @tonivj5. Looking forward for the release.


Open "Loadout Settings" for current character by clicking their tab

Suggestion to make clicking the current character's tab also open the Loadout Settings:

Why would this be needed? this would open up a popup if a user just want to swap to a different character. Sounds more like an annoyance.

No you misunderstand. It would only open the popup if you're on the current character.
If you're already on Hu Tao -> clicking Hu Tao opens her Loadout settings.
If you're on Hu Tao -> clicking Xiangling swaps to Xiangling

Still no. A navigation element is just an navigation element, it shouldn't be opening popups. Its taking away from the role of the button right next to it.


[BUG] CAN'T OPEN ROBLOX

Acknowledgement of preliminary instructions

[ ] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[ ] My answer given in the checkbox above is a lie.

What problem did you encounter?
https://github.com/user-attachments/assets/816ff0a6-fae5-4763-98e4-7bb1b9fb1471

[] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.

[!WARNING]
PLEASE READ THE PRELIMINARY INSTRUCTIONS BEFORE POSTING.

https://github.com/pizzaboxer/bloxstrap/wiki/Roblox-crashes-or-does-not-launch

Will reopen once you've confirmed you've read


Non-blocking validation for URLs in csvlint

From @Floppy on September 1, 2015 6:34
Once #726 is possible, we can adapt the csvlint app to be able to validate URLs downloaded from the net in a streaming fashion, so that the user sees messages appear in an interactive way, not after a long wait with seemingly nothing happening.

Copied from original issue: theodi/shared#726

@Floppy this is stuff from when I was last here - these changes have been incorporated right


xev{d,e}: Fix darwin build

Description of changes
I'm bundling the changes for xevd and xeve because they are so similar. If preferable I can split them into two separate PRs.
This is a prerequisite to fixing ffmpeg_7-full on Darwin.
I'm still in the process of upstreaming this work so it's quite a number of patches to vendor, some of which might technically be possible to fetchpatch after upstreaming.
The patches are likely to change before being accepted upstream. So it mostly depends on how quickly we want ffmpeg_7-full working on Darwin (and potentially aarch64-linux, couldn't test).

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[x] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I marked this as draft because upstream moved. Restructuring the patches in this PR tomorrow.

I switched to fetching all the upstream patches I could, except for the cnt_tmp patches as those might change the behavior, instead adding NIX_CFLAGS_COMPILE disabling any warnings that remained errors.
Note that this should fix building with Clang on Linux too, as a consequence of fixing the Clang build for Darwin. Similarly it should now be compatible with aarch64-linux.

Ah, the reason my upstream PR did conditional appending of compiler options. Should've realized the same problem would crop up again. I'll think a bit about a fix. Might not be for tonight though.

Looks like it’s a known GCC issue and I don’t know if there’s a workaround. I think just making the flags conditional on Clang would be fine, as they can all hopefully be removed on the next upstream version bump. But whatever you decide on is okay with me.

@emilazy, #gcc said -Wno-* variants might work, they shouldn't cause a problem unless there's other errors.

Still weird on Linux, I’m afraid.
Result of nixpkgs-review pr 328422 run on x86_64-linux 1
8 packages failed to build:
6 packages built:
ERROR: xevd >= 0.4.1 not found using pkg-config

If you think configure made a mistake, make sure you are using the latest
version from Git.  If the latest version fails, report the problem to the
<EMAIL_ADDRESS>mailing list or IRC #ffmpeg on irc.libera.chat.
Include the log file "ffbuild/config.log" produced by configure as this will help
solve the problem.

That was the error is solved with adding -lm to cflags.

@emilazy, re mpeg5/xevd#67, since I can't respond to a top-level review comment specifically. That's worked around with the disabling of the warnings, which is simpler and upstream might opt to go for explicit branching on the compiler like they did for Xeve so I don't really care about carrying that patch.
Still looking into the pkg-config problem but my builder is wimpy and since ffmpeg_7-full is the package displaying the issue it'll have to be for tomorrow.
If desirable I can drop the dropping of the -lm flag but my interest is piqued.

No rush; feel free to shave those yaks :)
FWIW it fails right at the start of -full; I only had to compile the packages you’re directly touching for it to hit that error, thankfully.

Ah, shucks. I'm currently awaiting upstream's response to another pair of PRs that should solve the -lm problem but I don't expect that to fix the build for aarch64-linux.
I'll move this back to draft until I have more info.

Waiting to see response to #330842 before deciding what to do here.

@emilazy, @jopejoe1, this should be ready.

Thanks for the work.


Dependencies and AGP upgraded

All dependencies updated.
Android gradle plugin upgraded to "8.0.2"

Thanks for the PR Rumit, I'll review it in detail but currently CI workflow is failing, can u please see rectify the issues?

Sure @avidraghav , I'll check once I get time.

Sure @avidraghav , I will check it once I get time.

@avidraghav You can review. CI workflow does not fail now.

@avidraghav  You can review. CI workflow does not fail now.

it's still failing, the issue has arisen due to update of some dependency i guess. Closing the PR for now. If you resolve the issue reopen it.


Step 'Wait for port 22 to be ready' stucked

Hello,
I'm trying to test symplegma and I'm stucked at the first step : 'Wait for port 22 to be ready'.
Of course, if I try manually nc HOST PORT, I can find the string 'OpenSSH' and, if I comment this part, it works.
How to solve this problem ?
Environment:

Ansible version: 2.7.8
Provider: Scaleway
OS: Ubuntu Bionic

That's weird, I only tested it on CentOS and CoreOS, I can try tomorrow on ubuntu. Do you have any debug log from ansible ?

I'll try it now in debug mode and I'll join you the result :)

Sorry for my response time, I would try something before writing my response :)
After testing with -vvv (and a lot of patience...) I found one problem: wrong ansible_python_interpreter value ... I've changed python with python3, but not /opt (for CoreOS I think) with /usr.
But this step still stucked  and here is the debug logs :
<localhost> ESTABLISH LOCAL CONNECTION FOR USER: xunleii
<localhost> EXEC /bin/sh -c 'echo ~xunleii && sleep 0'
<localhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /home/xunleii/.ansible/tmp/ansible-tmp-1563224302.811949-245313105333036 `" && echo ansible-tmp-1563224302.811949-245313105333036="` echo /home/xunleii/.ansible/tmp/ansible-tmp-1563224302.811949-245313105333036 `" ) && sleep 0'
<localhost> ESTABLISH LOCAL CONNECTION FOR USER: xunleii
<localhost> EXEC /bin/sh -c 'echo ~xunleii && sleep 0'
<localhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /home/xunleii/.ansible/tmp/ansible-tmp-1563224302.8239734-257772676152677 `" && echo ansible-tmp-1563224302.8239734-257772676152677="` echo /home/xunleii/.ansible/tmp/ansible-tmp-1563224302.8239734-257772676152677 `" ) && sleep 0'
<localhost> ESTABLISH LOCAL CONNECTION FOR USER: xunleii
<localhost> EXEC /bin/sh -c 'echo ~xunleii && sleep 0'
<localhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /home/xunleii/.ansible/tmp/ansible-tmp-1563224302.8381455-111083372960892 `" && echo ansible-tmp-1563224302.8381455-111083372960892="` echo /home/xunleii/.ansible/tmp/ansible-tmp-1563224302.8381455-111083372960892 `" ) && sleep 0'
Using module file /usr/local/lib/python3.7/dist-packages/ansible/modules/utilities/logic/wait_for.py
Using module file /usr/local/lib/python3.7/dist-packages/ansible/modules/utilities/logic/wait_for.py
<localhost> PUT /home/xunleii/.ansible/tmp/ansible-local-20896ifq1srq8/tmp0o2914_7 TO /home/xunleii/.ansible/tmp/ansible-tmp-1563224302.811949-245313105333036/AnsiballZ_wait_for.py
Using module file /usr/local/lib/python3.7/dist-packages/ansible/modules/utilities/logic/wait_for.py
<localhost> EXEC /bin/sh -c 'chmod u+x /home/xunleii/.ansible/tmp/ansible-tmp-1563224302.811949-245313105333036/ /home/xunleii/.ansible/tmp/ansible-tmp-1563224302.811949-245313105333036/AnsiballZ_wait_for.py && sleep 0'
<localhost> PUT /home/xunleii/.ansible/tmp/ansible-local-20896ifq1srq8/tmpi9c3gfqb TO /home/xunleii/.ansible/tmp/ansible-tmp-1563224302.8381455-111083372960892/AnsiballZ_wait_for.py
<localhost> PUT /home/xunleii/.ansible/tmp/ansible-local-20896ifq1srq8/tmpbospkq9w TO /home/xunleii/.ansible/tmp/ansible-tmp-1563224302.8239734-257772676152677/AnsiballZ_wait_for.py
<localhost> EXEC /bin/sh -c 'chmod u+x /home/xunleii/.ansible/tmp/ansible-tmp-1563224302.8381455-111083372960892/ /home/xunleii/.ansible/tmp/ansible-tmp-1563224302.8381455-111083372960892/AnsiballZ_wait_for.py && sleep 0'
<localhost> EXEC /bin/sh -c 'chmod u+x /home/xunleii/.ansible/tmp/ansible-tmp-1563224302.8239734-257772676152677/ /home/xunleii/.ansible/tmp/ansible-tmp-1563224302.8239734-257772676152677/AnsiballZ_wait_for.py && sleep 0'
<localhost> EXEC /bin/sh -c '/usr/bin/python3 /home/xunleii/.ansible/tmp/ansible-tmp-1563224302.811949-245313105333036/AnsiballZ_wait_for.py && sleep 0'
<localhost> EXEC /bin/sh -c '/usr/bin/python3 /home/xunleii/.ansible/tmp/ansible-tmp-1563224302.8239734-257772676152677/AnsiballZ_wait_for.py && sleep 0'
<localhost> EXEC /bin/sh -c '/usr/bin/python3 /home/xunleii/.ansible/tmp/ansible-tmp-1563224302.8381455-111083372960892/AnsiballZ_wait_for.py && sleep 0'

When I'm running manually the last line (/usr/bin/python3 /home/xunleii/.ansible/tmp/ansible-tmp-1563224302.8381455-111083372960892/AnsiballZ_wait_for.py), I get this output:
/home/xunleii/.ansible/tmp/ansible-tmp-1563224508.982143-123080354506233/AnsiballZ_wait_for.py:17: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
  import imp

Thanks for your help :)
NB: I've another problem with pip3 install.... but I'll write you an issue tomorrow about that

The thing is that the role os_bootstrap should not be necessary if you already have python-dev and pip install.
I'll try quickly with ubuntu on AWS.

Could you try setting bootstrap_python: false in group_vars

After testing, python3 is installed by default, but not pip3 (I don't know where it used).
Also, if I skip python bootstrapping, it try to uninstall docker which is not installed by default.
I think OS Bootstrapping must be allowed only on CoreOS, avoid theses errors.
What do you think about that ?

I've been trying to install on Ubuntu. There are a couple of error i'm fixing and will release today. It is mostly what you said:

bootstrapping python must be done only for CoreOS, so bootstrap_python should be set to false in your case.
python-dev and python-pip or python3-dev and python3-pip should be install for ansible.
etcdctl is missing for non CoreOS OS by default, i'll add it also
runc is missing also on ubuntu, I will add it to the containerd playbook
bin_dir should be set to /usr/local/bin in non CoreOS os as it is in PATH by default and avoid error.

Thank you so much :)

New version works well we Ubuntu ... thanks


Generating codes with more clean templating

currently code genrator is not using any template engines to generate codes. So its code is unreadable.

https://github.com/swift-aws/aws-sdk-swift/pull/153


Fix cancellation issue in disconnect from db

Description
From time to time test cases fail in the tear down stage with an error message related to the termination of the database connection pool. I noticed that this also happens on test cases that do not even start the server, which is very strange. After some investigation it seems that the disconnect() method of the database layer isn't re-raising the asyncio.CancelledError. This way a timeout, while stopping the server in the tear down of the server fixture, doesn't actually cancel the disconnect task. I think this causes the disconnect task to cross the boundary of the test case it belongs to. This PR ensures that the asyncio.CancelledError re-raised.

  When a timeout occurs,
05:02:27         it cancels the task and raises TimeoutError.     When a timeout occurs,
05:02:27         it cancels the task and raises TimeoutError.  To avoid the task
05:02:27         cancellation, wrap it in shield().
05:02:27
05:02:27         If the wait is cancelled, the task is also cancelled.
05:02:27
05:02:27         This function is a coroutine.
05:02:27         """
05:02:27         loop = events.get_running_loop()
05:02:27
05:02:27         if timeout is None:
05:02:27             return await fut
05:02:27
05:02:27         if timeout <= 0:
05:02:27             fut = ensure_future(fut, loop=loop)
05:02:27
05:02:27             if fut.done():
05:02:27                 return fut.result()
05:02:27
05:02:27             await _cancel_and_wait(fut, loop=loop)
05:02:27             try:
05:02:27                 return fut.result()
05:02:27             except exceptions.CancelledError as exc:
05:02:27                 raise exceptions.TimeoutError() from exc
05:02:27
05:02:27         waiter = loop.create_future()
05:02:27         timeout_handle = loop.call_later(timeout, _release_waiter, waiter)
05:02:27         cb = functools.partial(_release_waiter, waiter)
05:02:27
05:02:27         fut = ensure_future(fut, loop=loop)
05:02:27         fut.add_done_callback(cb)
05:02:27
05:02:27         try:
05:02:27             # wait until the future completes or the timeout
05:02:27             try:
05:02:27                 await waiter
05:02:27             except exceptions.CancelledError:
05:02:27                 if fut.done():
05:02:27                     return fut.result()
05:02:27                 else:
05:02:27                     fut.remove_done_callback(cb)
05:02:27                     # We must ensure that the task is not running
05:02:27                     # after wait_for() returns.
05:02:27                     # See https://bugs.python.org/issue32751
05:02:27                     await _cancel_and_wait(fut, loop=loop)
05:02:27                     raise
05:02:27
05:02:27             if fut.done():
05:02:27                 return fut.result()
05:02:27             else:
05:02:27                 fut.remove_done_callback(cb)
05:02:27                 # We must ensure that the task is not running
05:02:27                 # after wait_for() returns.
05:02:27                 # See https://bugs.python.org/issue32751
05:02:27                 await _cancel_and_wait(fut, loop=loop)
05:02:27                 # In case task cancellation failed with some
05:02:27                 # exception, we should re-raise it
05:02:27                 # See https://bugs.python.org/issue40607
05:02:27                 try:
05:02:27 >                   return fut.result()
05:02:27 E                   asyncio.exceptions.CancelledError
05:02:27
05:02:27 usr/lib64/python3.10/asyncio/tasks.py:456: CancelledError
05:02:27
05:02:27 The above exception was the direct cause of the following exception:
05:02:27
05:02:27     def finalizer():
05:02:27         """Yield again, to finalize."""
05:02:27
05:02:27         async def async_finalizer():
05:02:27             try:
05:02:27                 await gen_obj.anext()
05:02:27             except StopAsyncIteration:
05:02:27                 pass
05:02:27             else:
05:02:27                 msg = "Async generator fixture didn't stop."
05:02:27                 msg += "Yield only once."
  When a timeout occurs,
05:02:27         it cancels the task and raises TimeoutError.  To avoid the task
05:02:27         cancellation, wrap it in shield().
05:02:27
05:02:27         If the wait is cancelled, the task is also cancelled.
05:02:27
05:02:27         This function is a coroutine.
05:02:27         """
05:02:27         loop = events.get_running_loop()
05:02:27
05:02:27         if timeout is None:
05:02:27             return await fut
05:02:27
05:02:27         if timeout <= 0:
05:02:27             fut = ensure_future(fut, loop=loop)
05:02:27
05:02:27             if fut.done():
05:02:27                 return fut.result()
05:02:27
05:02:27             await _cancel_and_wait(fut, loop=loop)
05:02:27             try:
05:02:27                 return fut.result()
05:02:27             except exceptions.CancelledError as exc:
05:02:27                 raise exceptions.TimeoutError() from exc
05:02:27
05:02:27         waiter = loop.create_future()
05:02:27         timeout_handle = loop.call_later(timeout, _release_waiter, waiter)
05:02:27         cb = functools.partial(_release_waiter, waiter)
05:02:27
05:02:27         fut = ensure_future(fut, loop=loop)
05:02:27         fut.add_done_callback(cb)
05:02:27
05:02:27         try:
05:02:27             # wait until the future completes or the timeout
05:02:27             try:
05:02:27                 await waiter
05:02:27             except exceptions.CancelledError:
05:02:27                 if fut.done():
05:02:27                     return fut.result()
05:02:27                 else:
05:02:27                     fut.remove_done_callback(cb)
05:02:27                     # We must ensure that the task is not running
05:02:27                     # after wait_for() returns.
05:02:27                     # See https://bugs.python.org/issue32751
05:02:27                     await _cancel_and_wait(fut, loop=loop)
05:02:27                     raise
05:02:27
05:02:27             if fut.done():
05:02:27                 return fut.result()
05:02:27             else:
05:02:27                 fut.remove_done_callback(cb)
05:02:27                 # We must ensure that the task is not running
05:02:27                 # after wait_for() returns.
05:02:27                 # See https://bugs.python.org/issue32751
05:02:27                 await _cancel_and_wait(fut, loop=loop)
05:02:27                 # In case task cancellation failed with some
05:02:27                 # exception, we should re-raise it
05:02:27                 # See https://bugs.python.org/issue40607
05:02:27                 try:
05:02:27                     return fut.result()
05:02:27                 except exceptions.CancelledError as exc:
05:02:27 >                   raise exceptions.TimeoutError() from exc
05:02:27 E                   asyncio.exceptions.TimeoutError
05:02:27
05:02:27 usr/lib64/python3.10/asyncio/tasks.py:458: TimeoutError
05:02:27 ------------------------------ Captured log setup ------------------------------
05:02:27 WARNING  inmanta.config:config.py:179 Config name token not defined in section server_rest_transport
05:02:27 ------------------------------ Captured log call -------------------------------
05:02:27 WARNING  inmanta.config:config.py:179 Config name token not defined in section server_rest_transport
05:02:27 WARNING  py.warnings:warnings.py:109 /opt/inmanta/lib64/python3.10/site-packages/inmanta/server/config.py:116: DeprecationWarning: The server_rest_transport.port config option is deprecated in favour of the server.bind-port option.
05:02:27   warnings.warn(
05:02:27
05:02:27 WARNING  py.warnings:warnings.py:109 /opt/inmanta/lib64/python3.10/site-packages/inmanta/protocol/endpoints.py:384: RuntimeWarning: coroutine 'test_bind_port..test_endpoint' was never awaited
05:02:27   method.function(*args, **kwargs)
05:02:27
05:02:27 WARNING  inmanta.config:config.py:179 Config name token not defined in section server_rest_transport
05:02:27 WARNING  py.warnings:warnings.py:109 /opt/inmanta/lib64/python3.10/site-packages/inmanta/server/config.py:108: DeprecationWarning: Ignoring the server_rest_transport.port config option since the new config options server.bind-port/server.bind-address are used.
05:02:27   warnings.warn(
05:02:27
05:02:27 WARNING  inmanta.config:config.py:179 Config name token not defined in section server_rest_transport
05:02:27 ---------------------------- Captured log teardown -----------------------------
05:02:27 ERROR    inmanta.server.services.compilerservice:compilerservice.py:513 The following exception occurred while cleaning up old compiler reports
05:02:27 Traceback (most recent call last):
05:02:27   File "/opt/inmanta/lib64/python3.10/site-packages/inmanta/server/services/compilerservice.py", line 508, in _cleanup
05:02:27     await data.Compile.delete_older_than(oldest_retained_date)
05:02:27   File "/opt/inmanta/lib64/python3.10/site-packages/inmanta/data/init.py", line 3100, in delete_older_than
05:02:27     await cls._execute_query(query, oldest_retained_date, connection=connection)
05:02:27   File "/opt/inmanta/lib64/python3.10/site-packages/inmanta/data/init.py", line 1024, in _execute_query
05:02:27     return await con.execute(query, *values)
05:02:27   File "/opt/inmanta/lib64/python3.10/site-packages/asyncpg/connection.py", line 320, in execute
05:02:27     _, status, _ = await self._execute(
05:02:27   File "/opt/inmanta/lib64/python3.10/site-packages/asyncpg/connection.py", line 1659, in _execute
05:02:27     result, _ = await self.__execute(
05:02:27   File "/opt/inmanta/lib64/python3.10/site-packages/asyncpg/connection.py", line 1684, in __execute
05:02:27     return await self._do_execute(
05:02:27   File "/opt/inmanta/lib64/python3.10/site-packages/asyncpg/connection.py", line 1711, in _do_execute
05:02:27     stmt = await self._get_statement(
05:02:27   File "/opt/inmanta/lib64/python3.10/site-packages/asyncpg/connection.py", line 398, in _get_statement
05:02:27     statement = await self._protocol.prepare(
05:02:27   File "asyncpg/protocol/protocol.pyx", line 168, in prepare
05:02:27   File "asyncpg/protocol/protocol.pyx", line 865, in asyncpg.protocol.protocol.BaseProtocol._dispatch_result
05:02:27 asyncpg.exceptions._base.InternalClientError: got result for unknown protocol state 3

Self Check:

[ ] Attached issue to pull request
[x] Changelog entry
[x] Type annotations are present
[x] Code is clear and sufficiently documented
[x] No (preventable) type errors (check using make mypy or make mypy-diff)
[x] Sufficient test cases (reproduces the bug/tests the requested feature)
[x] Correct, in line with design
[ ] End user documentation is included or an issue is created for end-user documentation

Reviewer Checklist:

[ ] Sufficient test cases (reproduces the bug/tests the requested feature)
[ ] Code is clear and sufficiently documented
[ ] Correct, in line with design

Processing this pull request

Merged into branches master in fee4846845c2fb058495acc607c69de8185c71b1

Processing #4345.

Processing #4344.

Processing #4345.


Update test_mixnet.sh script for new tao_admin interface.

This also resolves a TODO in mixnet_router.go and mixnet_proxy.go, using Kevin's suggestion for handling interrupts.

two tiny details to fix, then LGTM


Release window bug

In debug mode it works perfectly when I build for windows, it stops working, did anyone manage to solve it or can you give me a tip on how to solve it?

What is the error?

the error at first says that it is not finding the .s3db file in the assets

The .s3db file is something you've added, right? I don't (yet) see how it's related to this package, so you open assets with sqlite3 directly, does the file exist?

Are you sure you're including the necessary .dll files even in the release build? I had a similar problem and the missing files ended up being the solution.
You might want to create a release build outputting any errors, so you can easily go and address them.


pass style property to getmenuprops, refs UIORG-87

yarn run v1.6.0
$ eslint *.js settings
/home/jenkins/workspace/folio-org/ui-organization/PR-103/project/settings/Plugins.js
4:1  error  'stripes-config' should be listed in the project's dependencies. Run 'npm i -S stripes-config' to add it  import/no-extraneous-dependencies
✖ 1 problem (1 error, 0 warnings)
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

All UI Regression Tests PASSED. Details at:  https://jenkins-aws.indexdata.com/job/folio-org/job/ui-organization/job/PR-103/1/UI_20Regression_20Test_20Report/


include full URL in HAR type

It will probably be useful to have the full URL in the HAR type. It's
defined as Node's builtin URL class. We will se if this bites us in the
future!

This PR add the --match-server-url flag.
For now it has two options: "none", and "full". (It defaults to none)
If you set it to none then it ignores protocol, host etc. And only matches on subpaths. If you set it to full, everything has to match.
None is useful if you e.g. have tests that target localhost, but your specification only has proper urls.
The logic is probably somewhat convoluted since I'm not entirerly sure how this will be used. However a somewhat extensive test suite for the url matching function was written that covers the cases I'm currently interested in. As we understand the tool better we can extend this test suite and then refactor the url matching function!


Add benchmark for Bidirectional LSTM on IMDB

Adding benchmark for Bidirectional LSTM on IMDB at keras.io example and already passed the tests on CPU and GPU.
@yhliang2018 Thanks for reviewing!

@googlebot I signed it!

You may want to make sure all checks get passed on this PR.

Thanks for the changes!
With the new change, you may also need to update the cpu benchmark to reduce the redundant code.

Yeah, I will do it in this PR.

Already Update.

Thanks. The code part looks great! Most comments are on docstrings.
BTW, do you have the plan to simplify the file "keras_cpu_benchmarks_test.py" this PR? It can also be in next PR if you prefer.

Yeah, I didn't simplify it in this PR because I want to make sure we can define the template first. And I will submit another PR to fix it.


DCOS-38202: jobs modal container mediator

This PR introduces JobCreateEditFormModal "mediator" instead of JobFormModalContainer. Some parts of the container went into the modal component, other parts went into the mediator. Everything should be working. This is a dorp-in replacement.

Legit cypress errors

@nLight is it possible we can have more information on how to test this PR, and what should we not expect to be there? Something like on this pr: https://github.com/dcos/dcos-ui/pull/3028, but not necessary identical.

@Fabs as I stated above that is a drop in replacement. You just test the PR no setup needed. Everything should be there

@DanielMSchmidt interesting, I can't replicate it. Would you mind sharing the exact steps, video?

Though I realized why we need the defaultTab! Going to fix it

@nLight Could not reproduce it again, strange 🤔

there was an issue with labels in the PR before, but that might be unrelated and fixed somewhere else

@Fabs @juliangieseke @DanielMSchmidt folks, I fixed the default tab issue (switching to json would reset tab when you switch back). Please merge :)


Add eacdn.com CNAME adserver

https://campaigns.williamhill.com/S.ashx?btag=a_180785b_141c_&affid=1486932&siteid=180785&adid=141&c= (=> wlwilliamhill.adsrv.eacdn.com) on forthegamblers.com

https://track.10bet.com/S.ashx?btag=a_29999b_14c_&affid=1674273&siteid=29999&adid=14&c= (=> wl10bet.adsrv.eacdn.com) on www.profittipsters.com

Can be blocked by generic rule /S.ashx?btag and I already opened PR in EL, but the pattern may change.

||eacdn.com^ is already in EL.


Local deployment failing when trying to deploy a model registered in workspace.

Package Name: azure.ai.ml:
Package Version: 1.12.1:
Operating System: mac os:
Python Version:3.10:

Describe the bug
Trying to do a local deployemnt based on docs present here https://learn.microsoft.com/en-in/azure/machine-learning/how-to-deploy-online-endpoints?view=azureml-api-2&tabs=azure-cli
I am able to create a local endpoint but the deployment is failing. Below is the error trace
Creating local deployment (mobile-pricing-endpoint-a116c8ce / blue) ....Done (0m 20s)
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[19], line 1
----> 1 ml_client.online_deployments.begin_create_or_update(blue_deployment,local=True).result()

File ~/miniforge3/envs/azure-ml/lib/python3.10/site-packages/azure/core/tracing/decorator.py:78, in distributed_trace.<locals>.decorator.<locals>.wrapper_use_tracer(*args, **kwargs)
     76 span_impl_type = settings.tracing_implementation()
     77 if span_impl_type is None:
---> 78     return func(*args, **kwargs)
     80 # Merge span is parameter is set, but only if no explicit parent are passed
     81 if merge_span and not passed_in_parent:

File ~/miniforge3/envs/azure-ml/lib/python3.10/site-packages/azure/ai/ml/_telemetry/activity.py:275, in monitor_with_activity.<locals>.monitor.<locals>.wrapper(*args, **kwargs)
    272 @functools.wraps(f)
    273 def wrapper(*args, **kwargs):
    274     with log_activity(logger, activity_name or f.__name__, activity_type, custom_dimensions):
--> 275         return f(*args, **kwargs)

File ~/miniforge3/envs/azure-ml/lib/python3.10/site-packages/azure/ai/ml/operations/_online_deployment_operations.py:216, in OnlineDeploymentOperations.begin_create_or_update(self, deployment, local, vscode_debug, skip_script_validation, local_enable_gpu, **kwargs)
    214     log_and_raise_error(ex)
    215 else:
--> 216     raise ex

File ~/miniforge3/envs/azure-ml/lib/python3.10/site-packages/azure/ai/ml/operations/_online_deployment_operations.py:142, in OnlineDeploymentOperations.begin_create_or_update(self, deployment, local, vscode_debug, skip_script_validation, local_enable_gpu, **kwargs)
    135         except Exception as ex:
    136             raise LocalDeploymentGPUNotAvailable(
    137                 msg=(
    138                     "Nvidia GPU is not available in your local system."
    139                     " Use nvidia-smi command to see the available GPU"
    140                 )
    141             ) from ex
--> 142     return self._local_deployment_helper.create_or_update(
    143         deployment=deployment,
    144         local_endpoint_mode=self._get_local_endpoint_mode(vscode_debug),
    145         local_enable_gpu=local_enable_gpu,
    146     )
    147 if deployment and deployment.instance_type and deployment.instance_type.lower() in SmallSKUs:
    148     module_logger.warning(
    149         "Instance type %s may be too small for compute resources. "  # pylint: disable=line-too-long
    150         "Minimum recommended compute SKU is Standard_DS3_v2 for general purpose endpoints. Learn more about SKUs here: "  # pylint: disable=line-too-long
    151         "https://learn.microsoft.com/en-us/azure/machine-learning/referencemanaged-online-endpoints-vm-sku-list",
    152         deployment.instance_type,  # pylint: disable=line-too-long
    153     )

File ~/miniforge3/envs/azure-ml/lib/python3.10/site-packages/azure/ai/ml/operations/_local_deployment_helper.py:103, in _LocalDeploymentHelper.create_or_update(self, deployment, local_endpoint_mode, local_enable_gpu)
    101     log_and_raise_error(ex)
    102 else:
--> 103     raise ex

File ~/miniforge3/envs/azure-ml/lib/python3.10/site-packages/azure/ai/ml/operations/_local_deployment_helper.py:88, in _LocalDeploymentHelper.create_or_update(self, deployment, local_endpoint_mode, local_enable_gpu)
     82     deployment_metadata = json.dumps(deployment._to_dict())
     83     endpoint_metadata = (
     84         endpoint_metadata
     85         if endpoint_metadata
     86         else _get_stubbed_endpoint_metadata(endpoint_name=deployment.endpoint_name)
     87     )
---> 88     local_endpoint_polling_wrapper(
     89         func=self._create_deployment,
     90         message=f"{operation_message} ({deployment.endpoint_name} / {deployment.name}) ",
     91         endpoint_name=deployment.endpoint_name,
     92         deployment=deployment,
     93         local_endpoint_mode=local_endpoint_mode,
     94         local_enable_gpu=local_enable_gpu,
     95         endpoint_metadata=endpoint_metadata,
     96         deployment_metadata=deployment_metadata,
     97     )
     98     return self.get(endpoint_name=deployment.endpoint_name, deployment_name=deployment.name)
     99 except Exception as ex:  # pylint: disable=broad-except

File ~/miniforge3/envs/azure-ml/lib/python3.10/site-packages/azure/ai/ml/_utils/_endpoint_utils.py:101, in local_endpoint_polling_wrapper(func, message, **kwargs)
     99 event = pool.submit(func, **kwargs)
    100 polling_wait(poller=event, start_time=start_time, message=message, is_local=True)
--> 101 return event.result()

File ~/miniforge3/envs/azure-ml/lib/python3.10/concurrent/futures/_base.py:451, in Future.result(self, timeout)
    449     raise CancelledError()
    450 elif self._state == FINISHED:
--> 451     return self.__get_result()
    453 self._condition.wait(timeout)
    455 if self._state in [CANCELLED, CANCELLED_AND_NOTIFIED]:

File ~/miniforge3/envs/azure-ml/lib/python3.10/concurrent/futures/_base.py:403, in Future.__get_result(self)
    401 if self._exception:
    402     try:
--> 403         raise self._exception
    404     finally:
    405         # Break a reference cycle with the exception in self._exception
    406         self = None

File ~/miniforge3/envs/azure-ml/lib/python3.10/concurrent/futures/thread.py:58, in _WorkItem.run(self)
     55     return
     57 try:
---> 58     result = self.fn(*self.args, **self.kwargs)
     59 except BaseException as exc:
     60     self.future.set_exception(exc)

File ~/miniforge3/envs/azure-ml/lib/python3.10/site-packages/azure/ai/ml/operations/_local_deployment_helper.py:219, in _LocalDeploymentHelper._create_deployment(self, endpoint_name, deployment, local_endpoint_mode, local_enable_gpu, endpoint_metadata, deployment_metadata)
    202 (model_name, model_version, model_directory_path,) = get_model_artifacts(
    203     endpoint_name=endpoint_name,
    204     deployment=deployment,
    205     model_operations=self._model_operations,
    206     download_path=deployment_directory_path,
    207 )
    209 # Resolve the environment information
    210 # - Image + conda file - environment.image / environment.conda_file
    211 # - Docker context - environment.build
    212 (
    213     yaml_base_image_name,
    214     yaml_env_conda_file_path,
    215     yaml_env_conda_file_contents,
    216     downloaded_build_context,
    217     yaml_dockerfile,
    218     inference_config,
--> 219 ) = get_environment_artifacts(
    220     endpoint_name=endpoint_name,
    221     deployment=deployment,
    222     environment_operations=self._environment_operations,
    223     download_path=deployment_directory,
    224 )
    225 # Retrieve AzureML specific information
    226 # - environment variables required for deployment
    227 # - volumes to mount into container
    228 image_context = AzureMlImageContext(
    229     endpoint_name=endpoint_name,
    230     deployment_name=deployment_name,
   (...)
    236     model_mount_path=f"/{model_name}/{model_version}" if model_name else "",
    237 )

File ~/miniforge3/envs/azure-ml/lib/python3.10/site-packages/azure/ai/ml/_local_endpoints/validators/environment_validator.py:51, in get_environment_artifacts(endpoint_name, deployment, environment_operations, download_path)
     29 """Validates and returns artifacts from environment specification.
     30
     31 :param endpoint_name: name of endpoint which this deployment is linked to
   (...)
     48 :raises: azure.ai.ml._local_endpoints.errors.CloudArtifactsNotSupportedError
     49 """
     50 # Validate environment for local endpoint
---> 51 if _environment_contains_cloud_artifacts(deployment=deployment):
     52     if isinstance(deployment.environment, Environment):
     53         environment_asset = deployment.environment

File ~/miniforge3/envs/azure-ml/lib/python3.10/site-packages/azure/ai/ml/_local_endpoints/validators/environment_validator.py:208, in _environment_contains_cloud_artifacts(deployment)
    207 def _environment_contains_cloud_artifacts(deployment: OnlineDeployment):
--> 208     return isinstance(deployment.environment, str) or deployment.environment.id is not None

AttributeError: 'NoneType' object has no attribute 'id'

To Reproduce
Steps to reproduce the behavior:

Do a model run and register your model in using mlflow.log_model
Then follow the instructions in the link provided above

Expected behavior
The local deployment should happend as listed in the docs

Providing the code used:
from azure.ai.ml import MLClient
from azure.keyvault.secrets import SecretClient
from azure.identity import DefaultAzureCredential

keyVaultName = ""
KVUri = f"https://{keyVaultName}.vault.azure.net"
credential = DefaultAzureCredential()
client = SecretClient(vault_url=KVUri, credential=credential)

subs_id = client.get_secret("subscription-id").value
rg_name = client.get_secret("ml-resource-group").value
ws_name = client.get_secret("ml-workspace-name").value

ml_client = MLClient(
    credential=credential,
    subscription_id=subs_id,
    resource_group_name=rg_name,
    workspace_name=ws_name,
)

mobile_pricing_model = ml_client.models.get(name="mobile_pricing_model",version="2")

from azure.ai.ml.entities import ManagedOnlineEndpoint

import uuid
# endpoint_name = "mobile-pricing-endpoint-" + str(uuid.uuid4())[:8]
endpoint_name = "mobile-pricing-endpoint-a116c8ce"

endpoint = ManagedOnlineEndpoint(
    name = endpoint_name,
    description="this is a sample endpoint",
    auth_mode="key"
)

ml_client.online_endpoints.begin_create_or_update(endpoint, local=True)

from azure.ai.ml.entities import ManagedOnlineDeployment, Environment

endpoint_name="mobile-pricing-endpoint-a116c8ce" ## endpoint name has format requirements
blue_deployment = ManagedOnlineDeployment(
    name="blue",
    endpoint_name=endpoint_name,
    model=mobile_pricing_model,
    instance_type="Standard_DS3_v2",
    instance_count=1,
)

ml_client.online_deployments.begin_create_or_update(blue_deployment,local=True).result()

@Gunnvant you have not specified the deployment environment. Please re-check the https://learn.microsoft.com/en-in/azure/machine-learning/how-to-deploy-online-endpoints?view=azureml-api-2&tabs=azure-cli
Example:
model = Model(path="../model-1/model/sklearn_regression_model.pkl")
env = Environment(
conda_file="../model-1/environment/conda.yaml",
image="mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04:latest",
)
blue_deployment = ManagedOnlineDeployment(
name="blue",
endpoint_name=endpoint_name,
model=model,
environment=env,
code_configuration=CodeConfiguration(
code="../model-1/onlinescoring", scoring_script="score.py"
),
instance_type="Standard_DS3_v2",
instance_count=1,
)

@Gunnvant yes, for local deployment you will have to provide the environment.
Good suggestion will try to follow up with the relevant PM to update the docs.


Possible to use with form_tag?

Hey there, thanks for the great wrapper! Is it possible to use this with trix_editor_tag or similar for non model based forms? If not, I'd be glad to write a pull request but would appreciate some pointers on where to look as I haven't written a custom form_tag helper before. Thanks for your work @maclover7 !

Duplicate of #44 (the PR for this change).


add enable basic auth option

We added a new enable-basic-auth option and PROXY_ENABLE_BASIC_AUTH environment variable that can be set to true to make the proxy verify the basic auth header with the accounts service. This should only be used for testing and development and is disabled by default.
first step for https://github.com/owncloud/product/issues/198
I am not using a new middleware, because I want to save an additional trip to the accounts service.

default is disabled, code looks good. maybe add a docs page for testing??

Maybe we should add a log message with Level WARN that says that the configuration is insecure? Other than that

yep, I am annoying admins on every request: https://github.com/owncloud/ocis/pull/627/files#diff-f41fd6020fdfa56d329e7af72f4aab2cR94

a lot of the background steps are now failing because the ocs api now dies with a 500 when basic auth is enabled:
Background:                                                                                # /drone/src/ocis/tests/acceptance/features/apiOcisSpecific/apiTrashbin-trashbinDelete.feature:7
--
1300 | Given user "Alice" has been created with default attributes and without skeleton files   # FeatureContext::userHasBeenCreatedWithDefaultAttributesAndWithoutSkeletonFiles()
1301 | HTTP status code 500 is not the expected value 200
1302 | Failed asserting that 500 matches expected 200.

it tries to contact 9152 ... the old root storage that should no longer be in use ...
2020-09-29T14:57:25Z WRN core access token not set pkg=rhttp service=reva traceid=20e0dc60f131f4f40840fb7531893d8c | 1010s
-- | --
100016 | 2020-09-29T14:57:25Z INF unary code=OK end="29/Sep/2020:14:57:25 +0000" from=tcp://<IP_ADDRESS>:56608 pkg=rgrpc service=reva start="29/Sep/2020:14:57:25 +0000" time_ns=26930 traceid=20e0dc60f131f4f40840fb7531893d8c uri=/cs3.auth.registry.v1beta1.RegistryAPI/GetAuthProvider user-agent=grpc-go/1.26.0 | 1010s
100017 | 2020-09-29T14:57:25Z INF user id:<idp:"https://ocis-server:9200" opaque_id:"Alice" > username:"Alice"<EMAIL_ADDRESS>display_name:"Alice Hansen" opaque:<map:<key:"gid" value:<decoder:"plain" > > map:<key:"uid" value:<decoder:"plain" > > >  authenticated pkg=rgrpc service=reva traceid=20e0dc60f131f4f40840fb7531893d8c | 1010s
100018 | 2020-09-29T14:57:25Z INF unary code=OK end="29/Sep/2020:14:57:25 +0000" from=tcp://<IP_ADDRESS>:51924 pkg=rgrpc service=reva start="29/Sep/2020:14:57:25 +0000" time_ns=111354513 traceid=20e0dc60f131f4f40840fb7531893d8c uri=/cs3.auth.provider.v1beta1.ProviderAPI/Authenticate user-agent=grpc-go/1.26.0 | 1010s
100019 | 2020-09-29T14:57:25Z INF unary code=OK end="29/Sep/2020:14:57:25 +0000" from=tcp://<IP_ADDRESS>:56684 pkg=rgrpc service=reva start="29/Sep/2020:14:57:25 +0000" time_ns=213920 traceid=20e0dc60f131f4f40840fb7531893d8c uri=/cs3.storage.registry.v1beta1.RegistryAPI/GetStorageProvider user-agent=grpc-go/1.26.0 | 1010s
100020 | 2020-09-29T14:57:25Z INF unary code=OK end="29/Sep/2020:14:57:25 +0000" from=tcp://<IP_ADDRESS>:58436 pkg=rgrpc service=reva start="29/Sep/2020:14:57:25 +0000" time_ns=504263 traceid=20e0dc60f131f4f40840fb7531893d8c uri=/cs3.storage.provider.v1beta1.ProviderAPI/CreateHome user-agent=grpc-go/1.26.0 | 1010s
100021 | 2020-09-29T14:57:25Z INF unary code=OK end="29/Sep/2020:14:57:25 +0000" from=tcp://<IP_ADDRESS>:56606 pkg=rgrpc service=reva start="29/Sep/2020:14:57:25 +0000" time_ns=119674203 traceid=20e0dc60f131f4f40840fb7531893d8c uri=/cs3.gateway.v1beta1.GatewayAPI/Authenticate user-agent=grpc-go/1.26.0 | 1010s
100022 | 2020-09-29T14:57:25Z INF core access token generated pkg=rhttp service=reva traceid=20e0dc60f131f4f40840fb7531893d8c | 1010s
100023 | 2020-09-29T14:57:25Z INF unary code=OK end="29/Sep/2020:14:57:25 +0000" from=tcp://<IP_ADDRESS>:56684 pkg=rgrpc service=reva start="29/Sep/2020:14:57:25 +0000" time_ns=134703 traceid=20e0dc60f131f4f40840fb7531893d8c uri=/cs3.storage.registry.v1beta1.RegistryAPI/GetStorageProvider user-agent=grpc-go/1.26.0 | 1010s
100024 | 2020-09-29T14:57:25Z ERR unary code=Unavailable end="29/Sep/2020:14:57:25 +0000" from=tcp://<IP_ADDRESS>:56606 pkg=rgrpc service=reva start="29/Sep/2020:14:57:25 +0000" time_ns=1417563 traceid=20e0dc60f131f4f40840fb7531893d8c uri=/cs3.gateway.v1beta1.GatewayAPI/Stat user-agent=grpc-go/1.26.0 | 1010s
100025 | 2020-09-29T14:57:25Z ERR error sending grpc stat request error="rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:9152: connect: connection refused\"" pkg=rhttp service=reva traceid=20e0dc60f131f4f40840fb7531893d8c | 1010s
100026 | 2020-09-29T14:57:25Z ERR http end="29/Sep/2020:14:57:25 +0000" host=<IP_ADDRESS> method=PUT pkg=rhttp proto=HTTP/1.1 service=reva size=0 start="29/Sep/2020:14:57:25 +0000" status=500 time_ns=126606817 traceid=20e0dc60f131f4f40840fb7531893d8c uri=/remote.php/webdav/textfile0.txt-chunking-8703-3-2 url=/remote.php/webdav/textfile0.txt-chunking-8703-3-2

this is what is going on. the testsuite uses the ocs api to provision accounts. the requests were not authenticated, yet. now the proxy tries to authenticate 'admin', the default admin account, which does not exist, so the proxy returned a 500 because it was trying to create a new account ... so we now end the request when basic auth fails. We also now use the default admin account now, which is moss.

Rebased and force pushed...

I introduced an admin:admin user as part of this PR, because phoenix webUI tests use a hardcoded admin:admin user. I don't want to go the extra mile and make it configurable in the test suite. Sufficient for now to have this as an extra default admin user.

wow ... weird quirks in the ocs v2 api ...
https://github.com/owncloud/core/blob/b9ff4c93e051c94adfb301545098ae627e52ef76/lib/public/AppFramework/OCSController.php#L142-L150
reproducing the weirdness

@kulmann defaulting to false when no roles are set breaks ... All the tests ... Or nearly all ;)

I know. The tests need more fixing. ;-) I will take care. But not today.