[TextField] Include padding for helperText

It would be nice if TextField could include an attribute so that it can take just as much space as it needs for itself and eventual helperText.
The closest solution right now is to set helperText to an empty string with an empty space like helperText="  " but that doesn't work if the helperText will be be split into two or more lines due to size constraints. In that case elements underneath still get pushed down, despite the preset helper text.
Expected Behaviour
Here is what I want to achieve with a set attribute.
Notice how the TextFields don't get pushed down.

Current Behaviour
Here is what it currently looks like(using margin:normal)
Notice how the TextFields under "Gate" get pushed down when helperText appears.

I know it's a very simple solution(set padding if attribute present) but it feels like something that should be in the TextField specs.
Your Environment
macOS Mojave 10.4
Safari 12.0
Google Chrome 69.0.3497.100

Tech
Version

Material-UI/Core
v3.2.0

React
16.5.2

About the multiple lines, I don't think it's possible to make it work properly, because in some cases the helperText changes a lot. When you want to give exactly hints of what is wrong, something like:

User types a password with 4 characters
helperText tells the user that it needs at least 8 characters
User puts 8 characters, but it doesn't have letters in his password
helperText changes the message

This use of case could break a lot of solutions a think. Unless you pass the number of maximum lines of helperText, but this seems really weird.

I have the same issue: My form is jumping when helperText (dis-)appears.
But I think @Klynger is right: Nobody knows how many lines your helper text needs. Of course in most cases it's a one-liner. That's simple. But what if you (non-error) helperText is a one-liner, and the error text needs 2 lines?
I have another idea for the solution, but I'm no CSS expert, though somebody else has to say if (and how) it works:
I want to define some kind of padding-bottom on the TextField. So you can define "I want 3 lines space below the input". When helperText is undefined there will be 3 lines space. When helperText is a one-liner, you will see this one line, plus additional 2 lines of "padding".
If this can be done with some simple CSS, I'd be fine.
Anyone with some CSS knowledge can do this?

If you just want a single line, you can do it by simply passing "\u00a0" as the helperText.  For multiple lines, something like <>

 </> should work

I would suggest that we apply a change similar to
diff --git a/packages/material-ui/src/FormHelperText/FormHelperText.js b/packages/material-ui/src/FormHelperText/FormHelperText.js
index 94e73fc23..d13ca46aa 100644
--- a/packages/material-ui/src/FormHelperText/FormHelperText.js
+++ b/packages/material-ui/src/FormHelperText/FormHelperText.js
@@ -44,6 +44,7 @@ export const styles = theme => ({

 const FormHelperText = React.forwardRef(function FormHelperText(props, ref) {
   const {
+    children,
     classes,
     className,
     component: Component = 'p',
@@ -81,13 +82,22 @@ const FormHelperText = React.forwardRef(function FormHelperText(props, ref) {
       )}
       ref={ref}
       {...other}
-    />
+    >
+      {children === ' ' ? (
+        // eslint-disable-next-line react/no-danger
+
+      ) : (
+        children
+      )}
+    </Component>
   );
 });

 FormHelperText.propTypes = {
   /**
    * The content of the component.
+   *
+   * If `' '` is provided, the component reserves one line height for displaying a future message.
    */
   children: PropTypes.node,
   /**

It would make it easier for developers to reserve space for the helper message.
Trying helperText=" " is intuitive (at least for the author of the post, and myself that tried it in the past), so why not use it as the supported API.


Selenium::WebDriver::Error::WebDriverError: unable to obtain stable firefox connection in 60 seconds (<IP_ADDRESS>:7055)

When I am trying to execute VideoGrabber.new(url: "http://live.wsj.com/video/opinion-journal-donald-trump-jrs-russia-scandal/EDD478E3-C80B-447C-BC34-9EDCA85C66B7.html") I am getting below error:
Selenium::WebDriver::Error::WebDriverError: unable to obtain stable firefox connection in 60 seconds (<IP_ADDRESS>:7055)
Could you please help on solving this.

Hello,
What is the OS you use? And Which version of Firerfox? This issue is a selenium issue that I also encountered using Ubuntu. If I remember correctly you should downgrade to Firefox 45
More info on https://github.com/seleniumhq/selenium/issues/835
Please tell me how it goes

My Firefox version is 53.0.2 and Selenium-webdriver version is:-2.53.4

We are using a dependancy called watir. And it uses selenium to interact with real browser like Firefox or Chrome for example. selenium is the only way we have to use Firefox.
So alternatively you can choose to pass the 'browser' parameters in VideoGraber to change it to chrome or even better, Phantomjs.
In case you wish to use Phantomjs, you should install it in your local machine. Using Ubuntu you can run this: sudo npm install phantomjs
And then open the Phantomjs folder, go in lib et copy it into your path (/var/lib/ if I recall correctly)
Sorry for this to be so complicated, we have no control over our dependancy. Do not hesitate if you have more questions, as soon as you resolve this, the gem itself is truly worth it and resilient.

Thank you @shideneyu  When I have downgraded to firefox version to 46 Error has been resolved and I am getting data.
Below is my example I have used:

$ video_grabber = VideoGrabber.new(url: "http://live.wsj.com/video/opinion-journal-donald-trump-jrs-russia-scandal/EDD478E3-C80B-447C-BC34-9EDCA85C66B7.html").call
$ video_grabber.fetch_videos
   ["<video style=\"display: block;\" poster=\"https://m.wsj.net/video/20170713/071317opinionjunior/071317opinionjunior_640x360.jpg\" src=\"mediasource:http://www.wsj.com/6d3ee567-2dd3-4d50-8fca-35fe6b21a8c8\" id=\"videoplayer-player\" preload=\"none\" crossorigin=\"anonymous\" height=\"100%\" width=\"100%\" controls=\"true\"/>",
 "<video width=\"100%\" height=\"100%\" crossorigin=\"anonymous\" preload=\"none\" id=\"videoplayer-player\" src=\"mediasource:http://www.wsj.com/6d3ee567-2dd3-4d50-8fca-35fe6b21a8c8\" poster=\"https://m.wsj.net/video/20170713/071317opinionjunior/071317opinionjunior_640x360.jpg\" style=\"display: block;\" controls=\"true\"/>"]

but here I want video url which needs to be usedto play in android application. but I am getting video tags through which I can't play the video from other location
Could you please help me on how to embed this video urls in my application.

You're welcome @anushamummina. Well, at this point this is not the responsibility of VideoGrabber anymore. You are free to make a pull request if you want to add such a feature, but please bear notice that this was not intended in the first place.
But actually it's really easy to do so at this point, you only got to parse the url from this string. I assume here that this is : 'http://www.wsj.com/6d3ee567-2dd3-4d50-8fca-35fe6b21a8c8' , so you only have to make a regexp to grab it (there's other ways than using a regexp, just take the string that begins by 'src="mediasource:' and ends by a space for instance.
I close this issue for the time being, do no hesitate if you have any further questions.


have you tried with NVCaffe-0.16

I tried but only reach 0.63 top-1. Have you shuffled your data for each epoch?
609 01:12:10.964810 19888 caffe.cpp:300] Batch 998, accuracy = 0.66
I0609 01:12:10.964838 19888 caffe.cpp:300] Batch 998, accuracy_top5 = 0.84
I0609 01:12:10.964844 19888 caffe.cpp:300] Batch 998, loss = 1.49327
I0609 01:12:11.079627 19888 caffe.cpp:300] Batch 999, accuracy = 0.56
I0609 01:12:11.079668 19888 caffe.cpp:300] Batch 999, accuracy_top5 = 0.82
I0609 01:12:11.079674 19888 caffe.cpp:300] Batch 999, loss = 1.9213
I0609 01:12:11.079679 19888 caffe.cpp:305] Loss: 1.53589
I0609 01:12:11.079704 19888 caffe.cpp:317] accuracy = 0.633339
I0609 01:12:11.079715 19888 caffe.cpp:317] accuracy_top5 = 0.852882
I0609 01:12:11.079725 19888 caffe.cpp:317] loss = 1.53589 (* 1 = 1.53589 loss)
-Andy

yes, i did use data shuffling for each epoch.
btw, is this the result from the model you trained from scratch?

Yes, it is.

@CFAndy Can you share your training settings including solver and training prototxt? How much ms with what model of GPU did you spend for single image inference?

@CFAndy @shicai  I tried to train mobilenet from scratch using nvcaffe. But I got that the training loss in declining while the testing loss is climbing. Could you tell me what may be the course?


Cannot find module './76.html' when using webpack

I'm submitting a bug report

Library Version:
1.0.0-beta.3.0.1

Please tell us about your environment:

Operating System:
Windows [2016 Server]

Node Version:
6.9.2

NPM Version:
310.9

JSPM OR Webpack AND Version
webpack 2.1.0-beta.28

Browser:
Chrome 55.0.2883.87

Language:
TypeScript 2.1

Current behavior:
I'm trying to display a dialog like the one found in the sample : https://github.com/aurelia/dialog
It throws exception when trying to display dialog
I'm using Aurelia-skeleton-typescript-webpack

Cannot find module './76.html'.
at webpackContextResolve (.$:107)
at webpackContext (.$:102)
at aurelia-loader-webpack.js:145
at n._resolveOrReject (9adb7eaf.js?bu=rms+answers+MapsSDK+AnonymousBeginMapCore.enMapCoreBeginLabelOptionsLocalStorage…:1)
at n._execContinuation (9adb7eaf.js?bu=rms+answers+MapsSDK+AnonymousBeginMapCore.enMapCoreBeginLabelOptionsLocalStorage…:1)
at Array. (9adb7eaf.js?bu=rms+answers+MapsSDK+AnonymousBeginMapCore.enMapCoreBeginLabelOptionsLocalStorage…:1)
at n._dispatchQueue (9adb7eaf.js?bu=rms+answers+MapsSDK+AnonymousBeginMapCore.enMapCoreBeginLabelOptionsLocalStorage…:1)

Expected/desired behavior:

 this.dialogService.open({ viewModel: EditMeasurementPlace, model: {} }).then(response => {                 if (!response.wasCancelled) {                     alert('good');                 } else {                     alert('canceled');                 }             })

What is the expected behavior?
To display the dialog

What is the motivation / use case for changing the behavior?

See #231.


Implement ApplyMap

ApplyMap applies dependencies to the provided struct and registers it
if it is successful.

see fork
https://github.com/simplyianm/inject


Suggestion for classification of the compositional constituants

As the coverage of CDNO is now "Compositional Dietary Nutrition Ontology" I would suggest to clarify the current hierarchy which is "dietary nutritional component"
Actually, they are a mismatch between compositional constituents and "real" nutritional components.
I mean we can enlarge the coverage of this branch by renaming it "compositional constituent" and then distinguish between nutrient subclasses and other  subclasses (see my suggestion below)
This is the direction I am taking in my own work. I would be happy if we could agree on this.

Thanks @maweber-bia, I will discuss this with the team and get back to you during the week. I can see some points that we could agree on and incorporate in CDNO.

mismatch between compositional constituents and "real" nutritional components.

Thanks @maweber-bia for posting this. Would you mind elaborating what is different between "real" and compositional? That might help us better model it. Ontologies allow for multi-inheritance, aka terms having multiple parents, so perhaps it is possible to represent thing from multiple perspectives.

Keep in mind that we'll need to refactor the current dietary nutritional component hierarchy to remove any BFO role terms including vitamins and also plant secondary metabolite (which is also a role). It'd be best for this hierarchy to follow BFO and only contain independent continuants (entities).

@kaiiam Sorry for misusing "real": actually, I mean something which is considered to be nutrients = nutritive components
I think that secondary plant metabolites should be considered as entities too (but perhaps there is the need to renamed the class as phytochemical to be more generic ?)

Sorry for misusing "real": actually, I mean something which is considered to be a nutrient= nutritive component

I'm just trying to understand here are you suggesting something like differentiating chemicals which are nutrients (has some sort of role in nutrition) from those compositional which are eaten but don't provide some sort of nutrition? Is that what you mean if not could you elaborate more so we can try to better model it.

I think that secondary plant metabolites should be considered as entities too (but perhaps there is the need to have the class renamed as phytochemical to be more generic ?)

simply because plant secondary metabolite is a role we should be using that particular term. If something like phytochemical is a more generic and domain accepted term then I'd say we should use something like that instead. Either request it in CHEBI or create it in CDNO.

Edit in previous comment view it on github if using email.

@kaiiam,
my response to your comments

I'm just trying to understand here are you suggesting something like differentiating chemicals which are nutrients (has some sort of role in nutrition) from those compositional which are eaten but don't provide some sort of nutrition? Is that what you mean if not could you elaborate more so we can try to better model it.

--> yes, I was trying to suggest "differentiating chemicals which are nutrients (has some sort of role in nutrition) from those compositional which are eaten but don't provide some sort of nutrition"

If something like phytochemical is a more generic and domain accepted term then I'd say we should use something like that instead.

--> please see the reference https://pubmed.ncbi.nlm.nih.gov/31769838/

Great thanks @maweber-bia! @CropStoreDb and @LilyAndres do you agree with the proposed change from plant secondary metabolite to phytochemical or similar? Does it align with the original nutrition framework CDNO was created from?
I'm just the ontology engineer for the project, not a nutrition scientist, so I won't weigh in except to say that it'd good be too to have a generic high level representation of the intended concept preferably using terminology already accepted by the community. Also we need to not be using a BFO role descendant like plant secondary metabolite in the hierarchy and instead use or create a material entity descendant term.

What we mentioned is that we were going to have plant secondary metabolite as a material entity and not as a role for now

Yes, your right I tough it was a role class but it's our own CDNO class plant secondary metabolite so were good to keep it in the DNC hierarchy as it's a material entity. Sorry I missed that earlier disregard previous comments about needing to change it for the sake of making BFO correct.

See my quote from #29

If we have a new term that's more general than just plants to replace or add to the DNC we should do that, (and maybe depreciate this if needed).

@maweber-bia thanks a lot for all your comments. We are trying to check if the hierarchies that you mentioned work for us, is good to mention that we created the CDNO framework, based on some information from the Food Composition Tables such as USDA, INFOODs and EuroFIR. For this reason, we might not be able to change the label from 'dietary nutritional component' to 'component', as for us 'dietary nutritional component' works. If we change it, we might need to contact Uberon as they already have this term (not sure if this really exists as a term though) this is why we wanted to provide specific terms instead of general terms that have been defined in other ontologies unless is within the CDNO scope, then we can reuse them.
Here is the definition of 'dietary nutritional component' in CDNO:
"A material entity that is ingested and contributes to survival, growth, and development."

For the other subclasses you mentioned. Are "nutrients", "micronutrients" and "macronutrients" considered as roles? If so, we probably want to describe them in the  'dietary role/function' class. Happy to discuss.

I think with the change of Crop DNO to Compositional DNO, we might need to look at special terms we had for plants eg:

deprecate 'dry plant matter' [CDNO:0000002] and create a new term 'dry matter'?
But checking an old issue when we were defining 'dry plant matter' in #18 @kaiiam mentioned the following:

my issue with this term 'dry matter' is that it's super broad it literally refers to any dry matter, could be anything from dried tomatoes or dry space dust. A more general dry matter class would belong in ENVO or elsewhere then CDNO. I think what you guys mean is dry plant matter. I can understand that you'd prefer to use the label dry matter as that's what your users probably expect to see. I propose if you want to keep the label dry matter but it actually refers to only plant material then maybe keep the def:
Material which remains after the removal of water from plant matter.

@kaiiam Do you think ENVO would like to define this term?

Hi, thank you for the answers.
Please do not consider the term "component" in my hierarchy (it is my own top-level). If you consider "nutrient" as a role, then my question is now a little bit misleading. I will wait and see the decision about vitamins (#57 )
I just want to add that to me "plant dry matter" and "dry plant matter" are not the same things
If "dry matter" is too generic, you can use "food dry matter" instead and then, plant dry matter is the dry matter content in plants (you can also have dry matter in other foods, this is a measurement of the dried sample where the moisture is not taken into account)
ash + organic matter = 100% of dried sample.

see here https://lvscaribouresearch.wordpress.com/about/ashdry-matter/ for illustration

If we change it, we might need to contact Uberon as they already have this term

That's an annotation property from UBERON or PROV which is the multi-species anatomy ontology, I don't see how this is relevant to us or something we should care/worry about. Component isn't defined in that annotation property, so we don't need to use the term. I assumed it was terminology used from the original framework if it's recognizable to people then it's probably worth keeping.

Do you think ENVO would like to define this term?

I don't think that's helpful to our purpose here. I'd vote for @maweber-bia's suggestion of using "food dry matter" instead.


Add the "h:sender" parameter to solve "On Behalf Of" issue.

Using this mailgun-java library on our project we faced the issue similar to previously described on stackoverflow and explained at Mailgun Help page.
In a nutshell, the "On Behalf Of" notation is displaying as a From address in case of the mismatch between the domain used in the Sender field (mail.foo.com) and the domain used in the From field (foo.com):
<EMAIL_ADDRESS><EMAIL_ADDRESS>on behalf of; John Smith<EMAIL_ADDRESS>To solve the issue described above we need to set the sender property in the email header to the from address.
Using the from field: .from(custom value) or .from(EmailUtil.nameWithEmail(USER_NAME, EMAIL_FROM)), as suggested in already closed issue #21, is not the equivalent of setting h:sender parameter, as it only sets the From address.
So, adding the possibility to specify the h:sender parameter directly does make sense, at least to solve the "On Behalf Of" issue. Also, more general approach can be considered to add additional sending options/parameters by implementing .addParameter(String name, Object value) and/or .addParameters(Map<String, Object> parameters) methods within com.mailgun.model.message.Message.MessageBuilder to create corresponding com.mailgun.model.message.Message.
The only one workaround we found is to create CustomMailgunMessagesApi interface by extending com.mailgun.api.v3.MailgunMessagesApi and overload the sendMessage method adding additional h:sender url parameter, for example:
public interface CustomMailgunMessagesApi extends MailgunMessagesApi {
   @RequestLine("POST /{domain}/messages?h:sender={sender}")
   MessageResponse sendMessage(@Param("domain") String domain, @Param("sender") String sender, Message message);
}
But that it rather a hack and we would like to avoid it on production code.
@szagr, would it be possible to extend mailgun-java library with additional sending options/parameters in the nearest release? It's quite crucial for our project, as we can keep using this handy mailgun-java library. Otherwise, having this limitation, we will have to search some alternative solutions.

+1 on this, it's a critical feature missing in the library.
Thanks @vkolida for your suggestion, I have created my own CustomMailgunMessagesApi as below if it helps anyone else:
public interface CustomMailgunMessagesApi extends MailgunMessagesApi {

   @RequestLine("POST /{domain}/messages?h:sender={sender}&v:urn={urn}")
   MessageResponse sendMessage(@Param("domain") String domain, @Param("sender") String sender, @Param("urn") String urn, Message message);

   @RequestLine("POST /{domain}/messages?h:sender={sender}")
   MessageResponse sendMessage(@Param("domain") String domain, @Param("sender") String sender, Message message);

}

and how to use it:
MessageBuilder messageBuilder = Message.builder();

CustomMailgunMessagesApi mailgunMessagesApi = MailgunClient.config("my_api_key").createApi(CustomMailgunMessagesApi.class);

Alternatively, check out Sergi Baila's net.sargue.mailgun library - these features have been available for years.

@vkolida, thanks for raising this issue!
Sorry for the late reply.
The mentioned functionality was updated in the new release 1.0.9.
Now you can add your own headers (and nor only) by referencing this documentation:
Send email (sender example)
Send email (with custom form property)
Please let us know If your issue is resolved and If we can close this ticket

Thanks for the new release @vitalii-chornobryvyi-swi
I have tested the 'sender' method and used FormPropertyRequestInterceptor to add a custom parameter, both are working well.


Integrate Feedback Mechanism

The Enyanjyoti platform lacks a feedback system, preventing users from sharing their experiences and suggestions.
Problem
Without feedback, users cannot express their thoughts, limiting the platform's improvement.
Expected Behavior
Users should be able to submit comments, rate sections (1-5 stars), and receive confirmation of their feedback submission.
Proposed Solution
Feedback Form: Create a user-friendly form with fields for name (optional), email (optional), feedback type, and comments.
Rating System: Implement a 1-5 star rating for various sections.

Pls assign me this task under hacktober fest

@sanikamandale17 assigned!

please assign me this project.i want to work on it


[spi_device,rtl] Potential logic optimizations in RTL

Description

[ ] spi_tpm.sv https://github.com/lowRISC/opentitan/blob/99f0afda05ed383d4be65c52d5ba3e80338ceea3/hw/ip/spi_device/rtl/spi_tpm.sv#L1039-L1045
[ ] spi_tpm.sv https://github.com/lowRISC/opentitan/blob/99f0afda05ed383d4be65c52d5ba3e80338ceea3/hw/ip/spi_device/rtl/spi_tpm.sv#L1081-L1093
[ ] spi_tpm.sv https://github.com/lowRISC/opentitan/blob/99f0afda05ed383d4be65c52d5ba3e80338ceea3/hw/ip/spi_device/rtl/spi_tpm.sv#L1110
[ ] spid_upload.sv https://github.com/lowRISC/opentitan/blob/99f0afda05ed383d4be65c52d5ba3e80338ceea3/hw/ip/spi_device/rtl/spid_upload.sv#L501-L510
[ ] spi_cmdparse.sv https://github.com/lowRISC/opentitan/blob/8da2b0d46e7dd24be4155fac83ee4fe3c7a956c2/hw/ip/spi_device/rtl/spi_cmdparse.sv#L191-L201

For spid_upload, the architecture would likely benefit from having a contiguous FIFO entry represent the entire transaction, rather than splitting it up into parts. Currently, command FIFO changes get reported up to SW before a transaction actually completes. On top of that, it's possible the transaction ought to be rejected (e.g. transaction data, neglecting dummy cycles, isn't a multiple of 8 bits).


Workflow Engine Documentation

Workflow Docs for 1.10
Global Changes across all docs

[ ] Swap all references of "Built-in" engine with just Dapr Workflows

Concepts Section

[x] Building Blocks Concepts page
[ ] Components Concepts page

@nyemade-uversky Missing link to Workflow implementation – temporal.go

Developing Applications/API Building Blocks/Workflow

[ ] Workflow Overview

@RyanLettieri Need to add Ryan’s Diagram to this page
@RyanLettieri Need to add Ryan’s description of diagram to this page
@nyemade-uversky  Remove current “Features” section with workflow engine specific features and replace this with a new feature list specifically for the workflow API

[ ] How To

@RyanLettieri  Need high level diagram explaining difference between the built in engine and an external workflow component
@RyanLettieri Need steps/commands for registering user’s temporal component
@RyanLettieri Specify path to temporal yaml
@RyanLettieri Need code example for this
Registration step for component + link to details in reference section
@RyanLettieri What the management SDK is
@RyanLettieri  How to use management SDK for external workflows
@RyanLettieri  Languages supported for the management SDK
@hhunter-ms Update links under “Next Steps” section so they link to appropriate sections.

Developing Applications/Components/Workflow
📢📢📢 NET NEW DOC – needs to be created

[ ] [@cgillum Document for how to author a workflow for built in engine

What the authoring SDK is
How to write a workflow for the workflow engine
Supported SDK languages for authoring
Code sample of workflow
@hhunter-ms  “Features” section from workflow engine overview should be moved to this doc
@hhunter-ms  Add new section “Workflow Patterns” section. Use patterns #1-4 from this page as reference. Re-work the pattern diagrams to fit dapr look/feel and change wording so it’s not an exact copy.

Operations/Components/Workflow-engine

[ ] @cgillum Operational doc for workflow engine. Repurpose existing workflow-engine.md file for operational doc

Operations/Support/Preview Features

[ ] @hhunter-ms  Workflow needs to be added to table

Reference/Component Specs/Workflows
Github location: docs/daprdocs/content/en/reference/components-reference/supported-workflows at issue_2798b · hhunter-ms/docs · GitHub

[ ] @hhunter-ms  Create table for supported external components – just create/add Temporal
[x] @nyemade-uversky Remove Logic apps from section
[x] @nyemade-uversky Remove built in engine from section (dtfx)

Reference/Component Specs/Workflows/Temporal.io

[ ] @nyemade-uversky  Edit code tabs – remove them and re-work page so it makes more sense

Reference/Dapr API/Workflow API reference

[x] @nyemade-uversky Add a generic yaml file into a generic template without real values. Similar to this state store yaml template
[ ] @hhunter-ms Update links for the workflow patterns doc under “Next Steps” section. Need to link to the new Authoring doc which will touch on patterns.
[ ] @hhunter-ms Update link in table to direct user to list of supported workflow components information. Should link to “How To” doc which talks about supported workflow components.

@msfussell Putting this checklist on your radar. This is just a brain dump of all the sections we need to touch, and documentation we still need before we're in a good place with workflow documentation.
Feel free to start leaving reviews in the workflow draft PR (#2915 ). The PR is still in draft since we're still making large changes and all docs needed aren't added yet but it should still be ok to start looking through it you'd like.

I reviewed the PR and we need to be clear on the doc structure. This is my proposed Workflow doc structure which is quite simply (outside of all the diagram that are needed)
Concepts->Building Blocks
Concepts->Components
Quickstarts->Dapr-workflows-quickstart
Developing Applications->Building blocks->Workflow
Developing Applications->Building blocks->Workflow overview
Developing Applications->Building blocks->How to: Write and run Dapr workflows
Developing Applications->Building blocks->How to: Write and run Temporal workflows
Operations->support->support-preview-features
Reference->Api->workflow_api (This needs examples and error handling)
Components-reference->supported-workflows->temporal-io

Quickstarts->Dapr-workflows-quickstart (This need this Quickstart code issue to be done first) dapr/quickstarts#733

@RyanLettieri @nyemade-uversky @cgillum can you confirm again if the quickstart will be included with 1.10?

I reviewed the PR and we need to be clear on the doc structure. This is my proposed Workflow doc structure which is quite simply (outside of all the diagram that are needed)
Concepts->Building Blocks Concepts->Components
Quickstarts->Dapr-workflows-quickstart (This need this Quickstart code issue to be done first) dapr/quickstarts#733
Developing Applications->Building blocks->Workflow Developing Applications->Building blocks->Workflow overview Developing Applications->Building blocks->How to: Write and run Dapr workflows Developing Applications->Building blocks->How to: Write and run Temporal workflows
Operations->support->support-preview-features
Reference->Api->workflow_api (This needs examples and error handling) Components-reference->supported-workflows->temporal-io

@msfussell I agree - I think this doc structure simplifies Workflows better. I think we were getting a little lost in the weeds. Also need to include docs in the .NET SDK repo.

@cgillum @msfussell I think it can go under Developing Applications/Building Blocks/Workflows as a conceptual doc

When you say "workflow engine" are you referring to Dapr Workflows or the Workflow API or both

I'm specifically talking about the workflow engine and information about how it leverages actors, the state store, network connectivity requirements, etc. To me, it didn't seem appropriate as a "developing applications" topic because, as you said, this is purely an implementation detail for developers. I considered this a topic that architects and operators would be primarily interested in.

Operations doesn't contain this either today, it focuses on the Ops role and set up requirements. We tried to stay away from API background here, since it was more developer focused. The closest to providing this background today is the Actor overview https://docs.dapr.io/developing-applications/building-blocks/actors/actors-overview/ which discusses the Placement service for example. It was put here, since we have API specific topics like State Management etc. We could create and Architecture section and have this information there.

Closing this issue in favor of smaller issues, and since we've resolved the question of workflow documentation structure


New.

done

Hey @gitarshmah, if you need help with making your first contribution. Go over discord (link in Readme) to discuss and find a suitable issue.

okk


Reduce margin bottom for nested lists

This change creates a more connected feel between nested lists and their parent list.
Example page: http://docs.appsignal.com/appsignal/contributing.html
Before

After

Reducing margin is fine, but the example of the before / previous is actually not how we should probably use lists ;) It would be more fitting to have a  tag and just one level of list items.
Anyway, we can merge this!

This is one example. I have more 😄
Like a Table of Contents: http://docs.appsignal.com/api/markers.html
I'm not sure what you mean with the tag solution.

It seems github recognizes a <br>tag and creates a new line :D Put it in quotes, should make sense now.

Yes, that would make more sense there


Add meta descriptions for event pages

Trello card
Trello-3652
Context
Add meta descriptions to the event and event listings pages.
Changes proposed in this pull request

Add meta descriptions for event pages

Guidance to review
Also removes redundant show_breadcrumbs reference in events layout.

Tested successfully for /events`
Tested successfully for event detail pages for GIT event type
I can't test for online Q&A event detail pages as there aren't any in dev CRM
It looks like the meta descriptions for provider events are pulling through OK from the one in dev
My (slight) concern is that I don't know what is in the Event_EventSummary_ML for online Q&A and provider events in production CRM - I hadn't really considered these!
I will double-check with the CRM team and will then approve this PR @ethax-ross


Sink to Cosmos using MongoDB fails when global replication enabled

When Sinking to Azure Cosmos DB, everything works as expected when geo-redundancy is turned off.
When you turn it on (multi read, single write), I see the following error:
Caused by: com.mongodb.MongoCommandException: Command failed with error 61: 'query in command must target a single shard key' on server <AZURESERVER>:10255. The full response is {"_t": "OKMongoResponse", "ok": 0, "code": 61, "errmsg": "query in command must target a single shard key", "$err": "query in command must target a single shard key"}

is there any way I can specify a shard key in this environment?

hi @chadmott. so you seem to be one of the "cosmosdb customers" then :)
I quickly investigated this issue and from what I've seen it seems to be a flaw in the MongoDB API support by Azure CosmosDB. The problem is related to bulk writes that are used by the sink connector behind the scenes. My experiments using the mongo shell (so this is absolutely unrelated to the sink connector or the java driver) showed the following:
Using the insertMany or bulkWrite-insertOne methods on collections work also with partitioned cosmosdb collections. The problem is related to using bulkWrite-replaceOne which is needed in order to successfully perform writes using upsert semantic -> this is what the sink connector uses and this is what CosmosDB MongoDB API has obviously its issues with.
That being said I currently cannot directly do anything about it. Maybe it's possible to find a workaround for this. What might work - depending on what your use case really needs - is that you only do insert-driven workloads i.e. do not rely on upsert semantics. Then the bulkWrites ideally succeed also for partitioned collections. What you would still need however is a custom write model using InsertOneModel instead of the ReplaceOneModel that is used currently. You can take a look at the existing ones to get some inspiration - it's pretty straight-foward to implement this see also the docs here. PRs welcome - just saying :)
I hope this helps you at least to understand the problem. Happy to hear from you!

Thank you for the thoughtful reply... after some trial and error, I discovered the strangest thing...
If i manually create a DB in a geo-redundant account, I must specify a shard key, and I get the error.
However, If I just create the geo-redundant account, and create no DBs or Collections, and use the connector (or mongoDB console), Cosmos will provision one without the previously required shard key, and things work like magic.
I'm still investigating this, but it appears to solve the issue. So for others out there... give this a shot.

Not sure if I fully get your response. But yes it's possible to rely on "auto-create" of collections. From what I've experienced in the past however is that you will always only get default settings for such collections e.g. 1000 RUs and limited storage capacity (10GB) meaning that these collections are not partitioned and in turn don't have sharding support. Thus I would assume that the ones provisioned in your case are not sharded, right? This would also make sense since non-sharded collections are supported without this "shard-key related" issue you were referring to in the first place.

@chadmott could you verify if what I wrote above holds true? would be interested if something was changed in this regard. also we can maybe close this issue?

I'm closing this now @chadmott. But feel free to reopen if needed. Thx.


Hide virtual nav bar in full screen mode

Some examples images pls? i want to take this issue

https://developer.android.com/training/system-ui/immersive

i'll take it

Looks like it might be as simple as passing more flags to this function https://github.com/uberspot/2048-android/blob/837893755c25f29f746fa4db62a9e747347c1548/src/com/uberspot/a2048/MainActivity.java#L164

Oh! @AeliusSaionji  this way?
        if (isFullScreen) {             getWindow().clearFlags(LayoutParams.FLAG_FULLSCREEN);             getWindow().getDecorView().setSystemUiVisibility(uiOptions);

I don't actually know android/java development, I just saw that function has FLAG_FULLSCREEN, which the documentation references as one of the fullscreen modes.

setSystemUiVisibility requeries android API 11, we're currently in API 8

If you make sure everything else works and want to do a PR to increase the API version to support android 4.0+ then that's perfectly reasonable and I'd be happy to review it, offer feedback and merge it. :+1:


Delete irrecoverable chunks on crc32 checksum error

In Fluent Bit we see many corrupted chunks (resulting from previous OOM kills in Kubernetes) but they still remain on the disk indefinitely, although the storage.delete_irrecoverable_chunks parameter is set.

It looks like the set CIO_ERR_BAD_CHECKSUM is currently not used as a case for deletion.
This PR should correct this behavior.
cc @edsiper

If I'm correct, checksum errors are not considered irrecoverable since the chunk can actually be loaded and some sort of forensics could be performed (that was my rationale to leave them out when I implemented the feature).

Hi @leonardo-albertovich !
From our perspective, chunks with a bad checksum are irrecoverable and should be deleted if that parameter is set, as they cannot be processed by Fluent Bit anymore.
I absolutely understand your point, and I also wanted to start a separate discussion about possible ways to encode these chunks and send them (e.g., as a log payload) to be processed later.
We believe these corrupt chunks should definitely be deleted, especially since the option suggests it would do exactly that.
As I mentioned, in our case, these corrupt chunks appear when Fluent Bit Kubernetes pods are OOM-killed, so there’s no straightforward way to perform a soft shutdown of Fluent Bit.
Given that the scenario for filesystem usage in storage implies a persistent volume in K8s (or a host mount), this means that storage fills up over time as these corrupt chunks are not automatically deleted. This results in the need for manual intervention, scripting, etc., to identify and remove the bad chunks.
As I said, I think it would be best to delete them when this delete option is set, and to implement another option to forward/copy them to a specified target.

I think we shouldn't but I see what you mean and I guess that since the user already opted in to delete them it would be acceptable to do so.
Could you please chime in @edsiper?
Btw, I noticed something obvious yet valuable in your description. The corrupted chunks are caused by the process being OOM killed. I know it's obvious but I wasn't aware of it being the root of this case and it makes sense not to look further for the corruption source (in this case).
Do I make sense?


Syntax error in test.test_geometry

Hi, Omkar
Great work on the pygorithm project.
I am trying to run the unit test of the project and hit an syntax error in test.test_geometry.
It seems in line 1982, there is a missing left parentheses behind fn. Please check the code below
`# at03
intr, msg = fn((9.5, 8.5), (8.5, 7.5), (9.5, 5), (10.5, 7)), (0, 0), (-9, -9), ((2, 5), (-1, 5), (-2, 3), (2, 1), (3, 2)), reverse=True)
self.assertFalse(intr, msg=msg)`
Hope it helps. Thanks a lot.

I think this is fixed in dev

Fixed in master as well! Thanks for reporting :+1:


SR300 infrared projector doesn't switch off if too close object

Hello,
I have a problem to set the power of the infrared projector of my SR300 (firmware 3.15), I discovered that if an object is too close, the projector stays on even if I set to 0.
Here is a video of my experiment : https://www.youtube.com/watch?v=knnLdWL8SXg
I use a realsense SR300, taking only the color and infrared flux, depth disabled.
rsCamera->enable_stream(rs::stream::infrared, 640, 480, rs::format::y8, 30);
rsCamera->enable_stream(rs::stream::color, 1280, 720, rs::format::rgb8, 10);
The code just loop and variate the laser power with set_option(rs::option::f200_laser_power, power) and print the state and the power value on the screen (the state "off" means we set the value to 0)
I observed that if an object is too close (roughly below 60cm) to the camera at initialisation, the laser power stays fixed and doesn't change value until I liberate the area. After I removed the object, I can put back in place, everything will work fine, but I have no guarantee it will be the case in my scenario.

This is an unexpected behavior. Please reopen if the issue reproduces.


PrimeChecker

Code Added
A summary of change:
O(sqrt(n)) java code for checking if a number is prime or not is added.
Fixes #172
Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generates no new warnings
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

Thanks for contributing here!


Fixed bug that allowed laser designation on the warship

About the PR

You used to be able to laser designate tiles on the drop/gun/warship if you simply switched modes while range finding.
Now the do-after is immediately cancelled when switching modes.

Why / Balance

Fixes #4627
Technical details

The shared RangefinderComponent now stores the DoAfter created in TryTarget(). This DoAfter is cancelled in ChangeDesignatorMode().
Requirements

[x] I have read and am following the Pull Request and Changelog Guidelines.
[x] I have added media to this PR or it does not require an ingame showcase.

Breaking changes

Changelog

:cl:

fix: Fixed bug that allowed laser designation on the warship.


move installation to different account/location

I've kept a bcbio installation under a local account but would like to transfer it to a new location under a different account. Is there any convenient way of doing this?
I tried copying the whole thing, modified ownership and paths wherever I could find them using
sed -i 's/oldpath/newpath/' on the whole thing. Didn't work.
Would anyone know if it would work by listing installed conda packages, reinstalling them again in the new location?

Pär;
Thanks for the question. Unfortunately you can't move conda directories as they contain hard coded paths, so this could break your software installation under anaconda. My suggestion would be to move the data directory (/oldpath/genomes) into the new location and then run a clean install against this. It'll need to reinstall the tools but can make use of the existing genome data which is typically most of the download time. Hope this works for your needs.

Thanks!
(and please excuse my slow response.)


Developers

Can you please help me fixing all issues

@jcgithubdeveloper Thank you for this inquiry
If you are having an issue with an article we can for sure help with that. If your having an issue with a product then the best thing we can do is get you over to Support since they have more resources than we do here to help dig in and find a resolution.
Here is a quick video on opening a ticket: https://www.youtube.com/watch?v=puuOy0sEg1Y
If you don't mind please keep us posted here on the resolution and I really want to get this information you are discovering back into the docs.


Fix bios-boot-sequence.py for run actions in Docker container

when the script is launched to start node in docker container, there are several differences in the start process:

cleos command must be taken with arguments (that is, the arguments wallet-url and url are given if the command is not specified)
Some actions are not required (stop and start nodeos and keosd)

PR #14


docs: update example

Signed-off-by: Bo-Yi Wu<EMAIL_ADDRESS>

Codecov Report

Merging #13 (8368ab0) into master (79774a8) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #13   +/-   ##
=======================================
  Coverage   82.81%   82.81%
=======================================
  Files           6        6
  Lines         227      227
=======================================
  Hits          188      188
  Misses         29       29
  Partials       10       10

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 79774a8...8368ab0. Read the comment docs.


Current banners have incorrect dates

Current banners should end in 8 november

I made a pull request fixing that  #478

Issue no longer valid.


hotfix for pip install

there was some syntax error in the setup
just commented out faiss-gpu for now
changed it to requirements.lock.txt for setup

We can close this one, i think. The setup.py is fixed now in "dev" branch


Only load Jupyter JS dependencies on pages that need it

Description / Summary
I did a quick lighthouse audit on Jupyter Book, and discovered that a large chunk of our Javascript loading is coming from loading the JS bundles needed for Jupyter widgets (there are some other improvements we can make too, will open other issues for that):

This is something we could load in a more restrictive way. Here are a few ideas from anticipated easiest-to-hardest:
Load this JS bundle only if:

The page is an ipynb file
The page is known to have notebook content (e.g., also covering MyST Markdown Notebooks)
The page is known to have widget content on it (maybe as part of the CellOutputBundle parsing logic?)

Value / benefit
This could save a lot of unnecessary JS loading, and speed up page load times.
Implementation details
I think these are the two libraries we could target:

<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js"></script>
<script src="https://unpkg.com/<EMAIL_ADDRESS>
somewhere around here:
https://github.com/executablebooks/MyST-NB/blob/2cc1260b175b1bafe6f80f903e942569930b1f84/myst_nb/__init__.py#L284-L301
Tasks to complete
No response

Switching to a single page app would also diminish the impact of the problem.

This is available since sphinx 3.5: https://github.com/sphinx-doc/sphinx/pull/8631

That would be a pretty substantial change. I've never seen a Sphinx site served as a single page app. Though you could probably do it with something like turbolinks. Maybe something to explore after we've picked off the lower hanging fruit

You can just change the logic based on the sphinx version, ps don't worry about a PR, I'll add it into https://github.com/executablebooks/MyST-NB/tree/refactor-mystnb, which is on its way

Now fixed in #380, although feel free to double-check @choldgraf


Restrict behaves like ClientSetNull in EF Core 2.2 Npgsql

I'm using EF Core 2.2 and when i set Delete Behaivor in a relationship to Restrict, the foreign key is set to null in tracked entities when they are made orphans. This is not in accordance with the behavior described in this article: do not set foreign key property in the child entity to null.
Article: https://docs.microsoft.com/pt-br/ef/core/saving/cascade-delete#feedback
Source code in:
https://github.com/ArthDevRepo/EfCoreRestrictBehaivorProblem
Expected behaivor: When Restrict, do not set FK Property to NULL
Actual behaivor: When Restrict, set FK Property to NULL.

@ArthDevRepo The issue here is that the documentation is incorrect. Restrict (in 2.2--see #12661 for 3.0 changes) means EF will not attempt to set the FK to null or delete a dependent entity when a principal entity is deleted. However, setting the FK explicitly to null either directly or through a corresponding change to the navigation property (as in your example) is still honored. So in a case like in your example, where the FK is nullable and the relationship is optional, setting the FK to null is fine, and can be persisted to the database without error. No orphans are deleted and there is no FK violation.

I want to change de navigation property without setting fk to null, any chance to do it?

From https://docs.microsoft.com/en-us/dotnet/api/microsoft.entityframeworkcore.deletebehavior?view=efcore-2.1

Indicates how a delete operation is applied to dependent entities in a relationship when the principal is deleted or the relationship is severed.

Restrict

For entities being tracked by the DbContext, the values of foreign key properties in dependent entities are not changed. This can result in an inconsistent graph of entities where the values of foreign key properties do not match the relationships in the graph. If a property remains in this state when SaveChanges() is called, then an exception will be thrown.

@ArthDevRepo Can you explain why you want to do that?

Remove the post from blog posts list. Or set post.blog navigation property to NULL.
Expected result is the FK property not changed.

@ArthDevRepo But why do you want to do that? (As I said, the documentation here is wrong.)

I know that doing this does not make sense since I'm deleting the relationship explicitly. My question was whether I was doing it the right way, since the documentation said that FK was not changed. Testing again, I noticed that when deleting the relationship (remove the post from blogs post list), configured with DeleteBehaivor.Cascade, the FK is not changed as with ClientSetNull, SetNull and Restrict. Is that correct? thank you!

@ArthDevRepo Whether or not an FK is set to null depends on whether or not the relationship is required or not, in addition to the delete behavior. A required relationship implies the FK is non-nullable, and hence cannot be set to null.

When a relationship is severed, the fk is set to null if cascade behaivor is clientsetnull, setnull and restrict. Cascade never touch the fk


Fix router transition to also call run() and thus support pre/postDelays

GitHub diff rendering failed miserably. 😅


feat(SHA256): Add initial hardware acceleration impl for SHA256

Description
This adds an initial support to use the hardware accelerated drivers for sha256 operations.
It is currently in a PoC phase.
It is my first time writing a Rust implementation for FFI bindings, so feel free to provide as much feedback as needed.
Current issue.
I am currently stuck on whether or not this implementation is safe and sound, because it successfully passes the self_tests, but it will fail to run the examples in a real_case scenario, triggering Store/AMO access fault errors and such.
Building / Bindings
You can re-compile mbedtls and generate new bindings using the xtask to work with the sha256_alt..
It's not obligatory since I've edited mbedtls and included the compiled libraries in this PR to provide a temporary fix for #13, where it would not print if a test has passed or failed
Testing

You first need to patch esp-wifi to be compatible with the breaking changes from https://github.com/esp-rs/esp-hal/pull/812
Here's a patch that works for me, for a quick copy paste with the current origin:

diff --git a/esp-wifi/src/timer_esp32c3.rs b/esp-wifi/src/timer_esp32c3.rs
index bd05624..3efb8b0 100644
--- a/esp-wifi/src/timer_esp32c3.rs
+++ b/esp-wifi/src/timer_esp32c3.rs
@@ -20,9 +20,9 @@ static ALARM0: Mutex<RefCell<Option<Alarm<Periodic, 0>>>> = Mutex::new(RefCell::

 pub fn setup_timer_isr(systimer: Alarm<Target, 0>) {
     let alarm0 = systimer.into_periodic();
-    alarm0.set_period(TIMER_DELAY.into());
-    alarm0.clear_interrupt();
-    alarm0.interrupt_enable(true);
+    alarm0.set_period(TIMER_DELAY.into_duration());
+    alarm0.interrupt_clear();
+    alarm0.enable_interrupt(true);

     critical_section::with(|cs| ALARM0.borrow_ref_mut(cs).replace(alarm0));

@@ -160,7 +160,7 @@ fn BT_BB(_trap_frame: &mut TrapFrame) {
 fn SYSTIMER_TARGET0(trap_frame: &mut TrapFrame) {
     // clear the systimer intr
     critical_section::with(|cs| {
-        unwrap!(ALARM0.borrow_ref_mut(cs).as_mut()).clear_interrupt();
+        unwrap!(ALARM0.borrow_ref_mut(cs).as_mut()).interrupt_clear();
     });

     task_switch(trap_frame);
@@ -179,8 +179,8 @@ fn FROM_CPU_INTR3(trap_frame: &mut TrapFrame) {
         let mut alarm0 = ALARM0.borrow_ref_mut(cs);
         let alarm0 = unwrap!(alarm0.as_mut());

-        alarm0.set_period(TIMER_DELAY.into());
-        alarm0.clear_interrupt();
+        alarm0.set_period(TIMER_DELAY.into_duration());
+        alarm0.interrupt_clear();
     });

     task_switch(trap_frame);

I've added the crypto_self_test example to test current and future crypto acceleration implementations
How to run (esp32c3):
cargo run --release --example crypto_self_test --target riscv32imc-unknown-none-elf -F esp32c3,esp-wifi/wifi-logs

Are the exceptions raised in copy_nonoverlapping? Maybe the alignment doesn't match when running the example but they happen to fit in the test

This is a chain of unsafe operations, and I think many of them are causing the issue.
It first panic at: https://github.com/esp-rs/esp-mbedtls/blob/ab4ec67e4ef715b81aad6984e8bca072314b836c/esp-mbedtls/src/sha/sha256.rs#L47 when it borrows the peripheral from the context to create a sha.
If I replace this by a static variable that contains SHA from peripheral, instead of stealing it in _init(), it doesn't overflow there anymore.
It then overflows where I try to save the hasher in the context, at this line:
https://github.com/esp-rs/esp-mbedtls/blob/ab4ec67e4ef715b81aad6984e8bca072314b836c/esp-mbedtls/src/sha/sha256.rs#L49

I had a look and I think I partly know what is going wrong:
typedef struct mbedtls_sha256_context {
  void* peripheral;
  void* hasher;
} mbedtls_sha256_context;

is not the same as
#[repr(C)]
pub struct mbedtls_sha256_context<'a> {
    peripheral: SHA,
    hasher: Sha<'a>,
}

On the C side there are just two pointers while on the Rust side there is a ZST and something which is definitely not ZST.
I tried something and came up with
use crate::hal::peripherals::SHA;
use crate::hal::sha::Sha;
use crate::hal::sha::ShaMode;
use esp_mbedtls_sys::c_types::*;
use nb::block;

#[repr(C)]
pub struct mbedtls_sha256_context<'a> {
    peripheral: *mut SHA,
    hasher: *mut Sha<'a>,
}

#[no_mangle]
pub unsafe extern "C" fn mbedtls_sha256_init(ctx: *mut mbedtls_sha256_context) {
    let hasher_mem = crate::calloc(1, core::mem::size_of::<Sha<'_>>() as u32) as *mut Sha<'_>;
    (*ctx).hasher = hasher_mem;
}

#[no_mangle]
pub unsafe extern "C" fn mbedtls_sha256_free(ctx: *mut mbedtls_sha256_context) {
    if !ctx.is_null() && !(*ctx).hasher.is_null() {
        crate::free((*ctx).hasher as *const u8);
        (*ctx).hasher = core::ptr::null_mut();
    }
}

#[no_mangle]
pub unsafe extern "C" fn mbedtls_sha256_clone<'a>(
    dst: *mut mbedtls_sha256_context<'a>,
    src: *const mbedtls_sha256_context<'a>,
) {
    core::ptr::copy_nonoverlapping(src, dst, 1);
    mbedtls_sha256_init(dst);
    core::ptr::copy((*src).hasher, (*dst).hasher, 1);
}

#[allow(unused_variables)]
#[no_mangle]
pub unsafe extern "C" fn mbedtls_sha256_starts(
    ctx: *mut mbedtls_sha256_context,
    is224: c_int,
) -> c_int {
    #[cfg(not(feature = "esp32"))]
    let mode = if is224 == 1 {
        ShaMode::SHA224
    } else {
        ShaMode::SHA256
    };

    #[cfg(feature = "esp32")]
    let mode = ShaMode::SHA256;

    let hasher = Sha::new(SHA::steal(), mode);
    core::ptr::copy(&hasher as *const _, (*ctx).hasher, 1);
    0
}

#[no_mangle]
pub unsafe extern "C" fn mbedtls_sha256_update(
    ctx: *mut mbedtls_sha256_context,
    input: *const c_uchar,
    ilen: usize,
) -> c_int {
    let slice = core::ptr::slice_from_raw_parts(input as *const u8, ilen as usize);
    let mut remaining = &*slice;

    while remaining.len() > 0 {
        remaining = block!((*ctx).hasher.as_mut().unwrap().update(remaining)).unwrap();
    }
    0
}

#[no_mangle]
pub unsafe extern "C" fn mbedtls_sha256_finish(
    ctx: *mut mbedtls_sha256_context,
    output: *mut c_uchar,
) -> c_int {
    let mut data = [0u8; 32];
    block!((*ctx).hasher.as_mut().unwrap().finish(&mut data)).unwrap();
    core::ptr::copy_nonoverlapping(data.as_ptr(), output, data.len());
    0
}

This is not ideal but I tried to avoid changing the C side. You can just ignore peripheral: SHA since it's ZST and stealing it is a no-op. In the above code I dynamically allocate memory for the Sha struct and use that (that is the part which is not that good - would be better to let mbedtls allocate a suitable context and just use that)
With the above code the tests still work and the example runs into -29056 (MBEDTLS_ERR_SSL_INVALID_MAC) - I guess there is something wrong with the cryptographic functionality.
Especially I wonder about the clone function - if mbedtls clones a context and later wants to resume working with that, the hardware is in a different state than what is needed to resume working (hope that makes sense), Even without cloning it's a problem since mbedtls might create a few contexts and use them in any order (without finishing any of them).
e.g. esp-idf does that here: https://github.com/espressif/esp-idf/blob/master/components/mbedtls/port/sha/block/esp_sha256.c#L106 - especially in esp_sha_write_digest_state

Hi,
Thanks for the feedback and help. We can always change the C side headers, as we are providing the alternative context. If there are better ways to represent the context in C, we should do it right that way.
Yeah, I'm not sure about the handling of the clone either.
I've also looked at what we write in the output in _finish() to see if we put in the right data, and the values are the same as the data slice. Which is expected, since the self-tests pass.
I think the main difference between self_tests and a real operation, is that self_tests don't use clone, while doing a request clones the context a few times.
I'm seeing that the C implementation in esp-idf linked above is quite different than the current one, I don't know how close we should be to that implementation.
I've ran sync_client_mTLS using the changes above, and I'm getting the following output. It looks like it runs out of memory.
We are connected!
Making HTTP request
Start tls connect
WARN - no Tx token available
WARN - no Tx token available
WARN - no Tx token available
WARN - Unable to allocate 2312 bytes
WARN - Unable to allocate 2312 bytes
WARN - Unable to allocate 2312 bytes
WARN - Unable to allocate 2312 bytes
WARN - Unable to allocate 2312 bytes
WARN - Unable to allocate 2312 bytes
WARN - Unable to allocate 2312 bytes
WARN - Unable to allocate 2312 bytes
WARN - Unable to allocate 2312 bytes
WARN - Unable to allocate 2312 bytes
WARN - Unable to allocate 2312 bytes
WARN - Unable to allocate 2312 bytes
WARN - Unable to allocate 2312 bytes
WARN - Unable to allocate 2312 bytes
WARN - Unable to allocate 2312 bytes
WARN - Unable to allocate 2312 bytes
WARN - Unable to allocate 524 bytes
WARN - Unable to allocate 1036 bytes
WARN - Unable to allocate 1036 bytes

!! A panic occured in 'examples/sync_client_mTLS.rs', at line 144, column 33

PanicInfo {
    payload: Any { .. },
    message: Some(
        called `Result::unwrap()` on an `Err` value: MbedTlsError(-28160),
    ),
    location: Location {
        file: "examples/sync_client_mTLS.rs",
        line: 144,
        col: 33,
    },
    can_unwind: true,
}

That's definitely an improvement then. I guess the general idea of the code here is fine so no need to worry about esp-idf looking quite different. I think the real remaining problem is that the driver needs a way to "resume" an operation and switch between them. Technically I think we just need to restore some state but the way the driver works currently (IIRC) might require some API changes (i.e. there is currently no safe way to create multiple instances of it)
We can then make mbedtls_sha256_context in the C header fit the hasher so that we don't need additional allocations (and let mbedtls manage that for us)

Closing since this has been superseded by #46


Type cardinalities of CallFacet parameters

This Pull Request is posted for discussion.  I'm fine with it being merged, but please do not merge with less than two GitHub approvals.
The first patch in this PR enacts the following change:
-        call_participant=None,
-        call_from=None,
-        call_to=None,
+        call_participant: Union[None, ObservableObject, List[ObservableObject]] = None,
+        call_from: Union[None, ObservableObject] = None,
+        call_to: Union[None, ObservableObject, List[ObservableObject]] = None,

Here is a breakdown of the effects:
 ...
-        call_from=None,
 ...
+        call_from: Union[None, ObservableObject] = None,
 ...

This denotes call_from is an optional singleton-valued parameter.
-        call_participant=None,
 ...
-        call_to=None,
+        call_participant: Union[None, ObservableObject, List[ObservableObject]] = None,
 ...
+        call_to: Union[None, ObservableObject, List[ObservableObject]] = None,

This denotes call_participant and call_to are optional parameters, which can be a singleton ObservableObject or a list of ObservableObjects.
One side-effect of this patch benefitting type safety of the generated graph objects is that the type system enforces that ObservableObjects are used in these fields.  That is, it would be an error flagged by the type system to pass a uco.identity.Person object here.  (While the ontology currently would permit an object to be multi-typed as Person and ObservableObject, there is a coming proposal to disallow this and several other conflations.  For example, UCO should never accidentally type a node as Person and File; but, how to implement this in SHACL and/or OWL is taking some thought.)
A side-effect of this patch is that type-checking will fail on any downstream code that tries passing a raw JSON object.  I.e. this code currently in example.py is fine ...
account_object_1 = uco.observable.ObservableObject()
call_facet = uco.observable.FacetCall(
    # ...
    call_from=account_object_1,
    # ...
)

... and, this would also be fine (classes inlined because I realized they aren't in this code base yet) ...
class Account(uco.observable.ObservableObject): pass
class PhoneAccount(Account): pass
account_object_1 = uco.observable.PhoneAccount()
call_facet = uco.observable.FacetCall(
    # ...
    call_from=account_object_1,
    # ...
)

... but, someone bypassing the objects hierarchy in this code base would get an error from static type review on trying this:
call_facet = uco.observable.FacetCall(
    # ...
    call_from={
        "@id": "kb:e74ab5f6-cf70-436b-9a58-bed50cff7e79",
        "@type": "uco-observable:PhoneAccount",
    }
    # ...
)

The error from the current type-checking in this code base is:
example.py:455: error: Argument "call_from" to "FacetCall" has incompatible type "dict[str, str]"; expected "Optional[ObservableObject]"  [arg-type]

I'm uncertain how likely this last use case is to occur.  But, if it's something this code base should support, then this patch could keep the type system happy ...
-        call_participant: Union[None, ObservableObject, List[ObservableObject]] = None,
-        call_from: Union[None, ObservableObject] = None,
-        call_to: Union[None, ObservableObject, List[ObservableObject]] = None,
+        call_participant: Union[None, dict, List[dict]] = None,
+        call_from: Union[None, dict] = None,
+        call_to: Union[None, dict, List[dict]] = None,

... but I don't think it's possible to then make use of the Python class hierarchy for type safety.  E.g. that Person graph objct could go in to the Python code, and would have to be caught by SHACL validation to realize it's not an ObservableObject.
In summary: If the type system is to be used to check cardinalities, a decision will have to also be made on type enforcement in methods' parameters.
If the goal of this code base is to catch errors in bindings before run time, the type system is an option.  If instead the goal is to not generate incorrect graphs, asserts in object-initialization, list-appends, or property setter methods could meet the cardinality enforcement goal and bypass Python typing questions.

(This PR is a follow-on from review of #45 .)

@ajnelson-nist everything is clear and elegant, the only doubt concerns the following code:
-        call_participant: Union[None, ObservableObject, List[ObservableObject]] = None,
...
+        call_participant: Union[None, dict, List[dict]] = None,
...

The dict ObservableObject has the method get_id() while the generic dict may not have it so at runtime it would raise an error. It might be fine anyway, the caller will be in charge to use the right parameter.

@ajnelson-nist everything is clear and elegant, the only doubt concerns the following code:
-        call_participant: Union[None, ObservableObject, List[ObservableObject]] = None,
...
+        call_participant: Union[None, dict, List[dict]] = None,
...

The dict ObservableObject has the method get_id() while the generic dict may not have it so at runtime it would raise an error. It might be fine anyway, the caller will be in charge to use the right parameter.

@fabrizio-turchi , thank you for the feedback.
Your remark about get_id(), leading to recalling other methods special to the case_mappings class hierarchy that specializes dict, further confirms to me that this code base should encourage using its specialized classes rather than permitting plain dicts.
If you agree, please leave an approving Review (no description text needed).


Use the new Path.join method to append to a path. (#638)

Description
Please explain the changes you made here:

Replaced path.toBuilder().append(XYZ).build() with path.join(XYZ).
All builder append usages were inside ApplicantServiceImpl.
Added pathJoin() unit test to PathTest.
Verified passing unit tests for PathTest & ApplicantServiceImplTest.
Removed todo documentation above Path.join().

Checklist

[x] Created tests which fail without the change (if possible)
[x] Extended the README / documentation, if necessary

Issue(s)
Fixes #638.

I see a lot more uses of Path#toBuilder() beyond ApplicantServiceImpl:


injectDebugger::39 options.showtips error

When options is undefined is occur error.
options.showtips ? tips : ''
It need to check options Object
options && options.showtips ? tips : ''

Thanks for report, it's fixed and released as v0.8.2.


Add an pad option log level text

Closes https://github.com/sirupsen/logrus/issues/959
I spent a few hours working on the tests. They're not perfect, but I don't think they can be improved substantially without doing a large refactor (which wouldn't be appropriate for me to do in this PR).
The implementation of the option itself is very straightforward, thanks to Sprintf.
I added a bunch of comments that possibly don't belong in the source code? If it's non-ideal having them there, then I can remove them.
The PR should be pretty comprehensive, but totally let me know if there's something else I missed ✨

cc @dgsb for code review!

I got a little bit distracted, but haven't forgotten about this ^^ the requested changes are pretty clear, I'll add them Soon ™

I've never used colored output. Does this work for logs that are e.g. piped to a file?

You only get colored output (and by extension, padded level text) when logging to a terminal
https://github.com/sirupsen/logrus/blob/8ba442aca65c8333a2c78c566e064cc0e8ad1f88/text_formatter.go#L105-L106
https://github.com/sirupsen/logrus/blob/8ba442aca65c8333a2c78c566e064cc0e8ad1f88/text_formatter.go#L191-L192

I've never used colored output. Does this work for logs that are e.g. piped to a file?
You only get colored output (and by extension, padded level text) when logging to a terminal

Thanks, am I correctly following that the existing padding approach is not supported outside of colored output? I was wondering why this was applied to color only

Thanks, am I correctly following that the existing padding approach is not supported outside of colored output? I was wondering why this was applied to color only

Primarily because the existing DisableLevelTruncation flag is nested inside the printColored function, and PadLevelText is (conceptually) an extension of DisableLevelTruncation.
https://github.com/sirupsen/logrus/blob/8ba442aca65c8333a2c78c566e064cc0e8ad1f88/text_formatter.go#L221-L246
It sounds like what you're looking for is the ability to enable either DisableLevelTruncation or PadLevelText without colored output? If so, you should totally create an issue for that 📝

Have we considered padding by default when DisableLevelTruncation is turned on? Seems like a sane default to me and would simplify this.
I'm trying to avoid adding more and more conditionals to the code. (if !f.DisableLevelTruncation && !f.PadLevelText ... if f.PadLevelText).

I would prefer that, but I don't have to context required to know if that's a safe change to make.
If there's someone with write access who would approx me making that change, then I'll change this PR to do that.

@lynncyrin @therealplato is right, I'm sure there are users out there parsing the output, unfortunately so probably a bad idea.

@lynncyrin @therealplato is right, I'm sure there are users out there parsing the output, unfortunately so probably a bad idea.

Agree, we shouldn't change the output for existing users with a given TextFormatter configuration

@lynncyrin thanks for your contribution, sorry for the delay on my side

Its no problem, @dgsb thanks for working with me on this!


moz-git-tools 0.1 (import from head-only)

This imports moz-git-tools version 0.1 into Homebrew core.
I haven't made the commit to remove it from head-only yet; I will soon.

Oh shoot, this was supposed to go to Homebrew, not Linuxbrew. My bad!


Release Localization plugin 0.11.0

mapbox-android-plugin-localization-v8:0.11.0
Bugs

adjusted Timber.e to Timber.d (#993)

Release checklist

[ ] Cut the release branch
[ ] Run through testapp/demo app and test all activities
[ ] Update CHANGELOG.md
[ ] Change version names in gradle.properties
[ ] Publish artifacts to Maven Central
[ ] Change version name back to SNAPSHOT
[ ] Merge the release branch back to master
[ ] Tag releases in GitHub

Post-release @langsmith

[ ] Update README.md
[ ] Update constants.js file in android-docs repo
[ ] Generate updated javadocs and add to android-docs repo
[ ] If needed, bump dependencies in https://github.com/mapbox/mapbox-android-demo

/cc: @mapbox/android @mapbox/enterprise-support @mapbox/maps-pms

cc @snkashis, who's expressed interest in this release

This release is done


added search bar ,app button and profile logo

add a search bar and app buttons and the profile logo and made it responsive to works with different screen sizes

Hey Gyaanendra,
I've reviewed your changes and I think they're a great addition to the UI. However, I noticed a few minor issues that could be addressed to improve the user experience:
The placement of the search box and profile toolbox doesn't quite align with the G-Drive UI pattern. Please refer to the G-Drive app for guidance on the ideal positioning.
The design of the components doesn't fully match the G-Drive style. Consider reviewing G-Drive's UI elements for inspiration.
To make it easier to review your changes, I suggest deploying your forked repository to GitHub Pages. This way, we can see how the search box and profile toolbox look in a live environment and make any necessary adjustments.
Once these adjustments are made, please re-open the PR so we can review the changes and merge them.
Keep up the great work!


injected sw.js ends up precaching additional folders because of vite.config.js outDir param

Not sure if this is the intended behaviour but it's causing me some issues.
My outDir param is set to build the dist files inside a folder that already contain other folders unrelated to the Vite build. And those folders end up being precached inside sw.js which I want to avoid.
I tried excluding them via the workboxOptions options (not entirely sure I'm appending these in the right place) to no avail.
  VitePWA({
    mode: process.env.NODE_MODE,
    srcDir: 'src',
    // filename: 'sw.js',
    filename: 'sw.ts',
    base: '/',
    strategies: 'injectManifest',
    includeAssets: ['/favicon.ico'],
    manifest: {
      name: 'redacted',
      short_name: 'redacted',
      theme_color: '#4338ca',
      background_color: '#4338ca',
      display: 'standalone',
      icons: [
        {
          src: '/icons/android-chrome-192x192.png',
          sizes: '192x192',
          type: 'image/png',
        },
        {
          src: '/icons/android-chrome-512x512.png',
          sizes: '512x512',
          type: 'image/png',
        },
      ],
    },

    workboxOptions: {
        exclude: [
          /^.*folder-to-exclude\/.*$/,
        ]
      }
  }),

Is that where you put workboxOptions ?
Why is sw.js adding folders to the precaching that aren't part of the "Build" command? A quirk surrounding the mixing of self.__WB_MANIFEST and outDir maybe?

@userquin thank you very much for trying to help.

I know I must include everything for my app to work offline, however as I mentioned above, the files that I want filtered out of my sw.js are files that my app does not at all depend on. It just so happens that the sw.js, and my app's assets, are being generated in a folder that already contains other files and folders that my app is not dependent on. Because of a complicated reason, I can't really change that, so I have to figure out a way to have my sw.js not include those files (I don't fully understand why it's including those files anyway, but it has to do with the outDir parameter somehow.
Anyway I just tried multiple variations of using the globIgnores and none of them worked.
Here's what I tried:
  VitePWA({
    mode: process.env.NODE_MODE,
    srcDir: 'src',
    // filename: 'sw.js',
    filename: 'sw.ts',
    base: '/',
    strategies: 'injectManifest',
    includeAssets: ['/favicon.ico'],
    manifest: {
      name: 'redacted',
      short_name: 'redacted',
      theme_color: '#4338ca',
      background_color: '#4338ca',
      display: 'standalone',
      icons: [
        {
          src: '/icons/android-chrome-192x192.png',
          sizes: '192x192',
          type: 'image/png',
        },
        {
          src: '/icons/android-chrome-512x512.png',
          sizes: '512x512',
          type: 'image/png',
        },
      ],
    },

    workbox: {
      globIgnores: [
        'chess',
        '*chess*',
        '*/chess/*',
        '**/chess/**',
        '**/chess/**/*',
        '*/theme.css',
        "**\/chess\/**\/*",
        "**\/vendor\/**\/*",
      ],
    },
  }),

No matter what I do, this line always ends up in my generated sw.js :
{"revision":"4121fcdb5292d2a9dff2b96d565f3ba8","url":"chess/nova-theme/theme.css"},
Am I just completely misusing the globIgnores syntax or.. is the problem elsewhere you think?
Would love some help solving this. Thanks a lot

@vesper8 weird, you can try adding a manifestTransform, you Will be able to filter any entry you want from the sw precache manfest, check how to configure it in sveltekit repo

https://github.com/vite-pwa/sveltekit/blob/main/src/config.ts#L61

@vesper8 you are using inject manifest, add it to injectManifest option instead to workbox

  VitePWA({
    mode: process.env.NODE_MODE,
    srcDir: 'src',
    // filename: 'sw.js',
    filename: 'sw.ts',
    base: '/',
    strategies: 'injectManifest',
    includeAssets: ['/favicon.ico'],
    manifest: {
      name: 'redacted',
      short_name: 'redacted',
      theme_color: '#4338ca',
      background_color: '#4338ca',
      display: 'standalone',
      icons: [
        {
          src: '/icons/android-chrome-192x192.png',
          sizes: '192x192',
          type: 'image/png',
        },
        {
          src: '/icons/android-chrome-512x512.png',
          sizes: '512x512',
          type: 'image/png',
        },
      ],
    },

    injectManifest: {
      globIgnores: [
        'chess',
        '*chess*',
        '*/chess/*',
        '**/chess/**',
        '**/chess/**/*',
        '*/theme.css',
        "**\/chess\/**\/*",
        "**\/vendor\/**\/*",
      ],
    },
  }),

Thank you. I'll give that a try.
I did overcome my problem by changing the outDir to a tmp folder, and then copying the files to where I needed them to be afterwards. This prevented the sw.js from filling up with random files unrelated to my pwa build.


WIP, will definitely fail tests [skip ci]

Description
Alternate approach to https://github.com/dockstore/dockstore/pull/5012
Reset tokens pre-emptively, encounters issues since

OAuth endpoints https://docs.github.com/en/rest/apps/oauth-applications not accessible via kohsuke library
Only seem to be getting 404s even with curl

Issue
https://ucsc-cgl.atlassian.net/browse/SEAB-4527
Please make sure that you've checked the following before submitting your pull request. Thanks!

[ ] Check that you pass the basic style checks and unit tests by running mvn clean install
[ ] Ensure that the PR targets the correct branch. Check the milestone or fix version of the ticket.
[ ] Follow the existing JPA patterns for queries, using named parameters, to avoid SQL injection
[ ] If you are changing dependencies, check the Snyk status check or the dashboard to ensure you are not introducing new high/critical vulnerabilities
[ ] Assume that inputs to the API can be malicious, and sanitize and/or check for Denial of Service type values, e.g., massive sizes
[ ] Do not serve user-uploaded binary images through the Dockstore API
[ ] Ensure that endpoints that only allow privileged access enforce that with the @RolesAllowed annotation
[ ] Do not create cookies, although this may change in the future

hmmm https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/token-expiration-and-revocation#token-expired-due-to-lack-of-use

TBC in https://ucsc-cgl.atlassian.net/browse/SEAB-4818


Response body should be optional

Some responses do not include bodies. This should be represented by the response struct.

Would these be represented as an Option, I ask because I have a couple of libs with dependencies on this project and would happily do the work myself given a little guidance considering I'm still fairly new to Rust.

I think an Option<Body> would be appropriate.


Add support for linux and mac

Hi Soufiane and Yassine.
I've added support for Linux and Mac OS. Kindly review it. Thanks

Hi @okkymabruri. I reviewed your work, it's pretty helpfull thank you ! In fact, the chromedriver should be adapted according to the  chrome version anyway.

Oh yes. I added chromedriver version 87.0.4280.88 both for Linux and Mac.


Remove kebabCase on generateSeparateFile

It removes _.kebabCase from the name of the file on the generateSeparateFile function. It was conflicting with file names like MyClass.java.

You're right. We should probably convert names into filename-safe strings.

Not really, only when invalid chars are found. For instance, if your schema name is MySchema it will remain as MySchema. In the case of a channel like my/channel then yes, it would become my-channel.

Not really, only when invalid chars are found. For instance, if your schema name is MySchema it will remain as MySchema. In the case of a channel like my/channel then yes, it would become my-channel.

But since that problem is that my-channel would not work in java, shouldn't this be converted to MyChannel :smile: ?

The problem is on schemas and other objects like messages. I don't think channels will need to have their own class file. If they do, we can add an option later.


[WAF] Update parameters.mdx

Hello team,
Summary
Lets fix the link to custom response settings for blocked requests.
https://developers.cloudflare.com/waf/custom-rules/custom-rulesets/create-dashboard/#configure-a-custom-response-for-blocked-requests
Thanks!

I think it might be related to the headers further down the page?
https://developers.cloudflare.com/waf/rate-limiting-rules/parameters/#with-response-type-for-block-action

I think it might be related to the headers further down the page?
https://developers.cloudflare.com/waf/rate-limiting-rules/parameters/#with-response-type-for-block-action

Sure thing.


BulkInsert with navigation properties fails on timestamp column

Hi! I have an issue with when i attempt to insert a model with navigation properties. The BulkInsertAsync fails with error message : Cannot insert an explicit value into a timestamp column. Use INSERT with a column list to exclude the timestamp column, or insert a DEFAULT into the timestamp column.

var entries = dbContext.ChangeTracker.Entries<Activity>()
            .Where(x => x.State == EntityState.Added)
            .Select(x => x.Entity)
            .Select(x =>
            {
                x.CreatedBy = currentUserService.UserRole;
                x.Created = now;
                return x;
            } )
            .ToList();

var bulkConfig = new BulkConfig()
            {
                PropertiesToExclude = ["RowVersion"],
                IgnoreRowVersion = true,
                IncludeGraph = true,
            };
await dbContext.BulkInsertAsync(entries, bulkConfig, cancellationToken: cancellationToken);

I have navigation properties and a baseEntity that looks like this:
public abstract class BaseEntity
{
    public byte[] RowVersion { get; set; } = default!;
}

and my Activity models inherits from the BaseEntity class.
The BaseEntity class/model property RowVersion is configures as a rowVersion. builder.Property(p => p.RowVersion).IsRowVersion();
Im not sure what is causing the issue. Do you have any ideas on a cause?

I made the decision to move away from this extension. Best of luck


Addin directive errors with non-standard nuget packages.

When trying to using NuGet packages that don't use the "lib/net45" content location with the AddIn directive, I am receiving the following error:
Could not find any assemblies compatible with .NETFramework, Version=v4.5.
Error:  Failed to install addin 'WinSCP'

How to recreate:

Add the following AddIn directive
#tool nuget:?package=WinSCP

Run build.ps1 and receive the error.

There are several libraries that do not use the standards, this is just one example.

The work around is to pull it down as a tool and use the reference directive to pull it in.

@phillipsj In this case your only option is using #tool with #r like you mention that you do. You will encounter the same problem in VS.
Unless the WinScp package author changes the package to conform to the standard NuGet conventions it's not much we could do about it at the moment :/
What we theoretically could do in the future, that might be usable for other packages, is to add a parameter to explicitly include files in a NuGet package.
#addin nuget:?package=Foo&ref=bar/baz.dll&ref=qux/bar.dll

@patriksvensson Now that sounds like a cool feature, that way users could "opt-in" to load those if you know they can use it.

Though, preferably with .NET Core hopefully soon going mainstream, ideally addins should use correct framework monikers.

@devlead @patriksvensson Cool, you all can close this if you want, its fine with me.

(Moving to GitHub discussions)


alluxio journal is corrupted and the master cannot be started

Alluxio Version:
2.5.0-2
Describe the bug
the master can not be started
log as follows：
2021-09-09 03:56:11,881 INFO  MetricsMasterFactory - Creating alluxio.master.metrics.MetricsMaster
2021-09-09 03:56:11,881 INFO  TableMasterFactory - Creating alluxio.master.table.TableMaster
2021-09-09 03:56:11,881 INFO  FileSystemMasterFactory - Creating alluxio.master.file.FileSystemMaster
2021-09-09 03:56:11,881 INFO  BlockMasterFactory - Creating alluxio.master.block.BlockMaster
2021-09-09 03:56:11,881 INFO  MetaMasterFactory - Creating alluxio.master.meta.MetaMaster
2021-09-09 03:56:11,919 INFO  ExtensionFactoryRegistry - Loading core jars from /opt/alluxio-release-2.5.0-2-SNAPSHOT/lib
2021-09-09 03:56:12,008 INFO  ExtensionFactoryRegistry - Loading extension jars from /opt/alluxio-release-2.5.0-2-SNAPSHOT/extensions
2021-09-09 03:56:12,042 INFO  MetricsSystem - Starting sinks with config: {}.
2021-09-09 03:56:12,044 INFO  MetricsHeartbeatContext - Created metrics heartbeat with ID app-4536778444700063916. This ID will be used for identifying info from the client. It can be set manually through the alluxio.user.app.id property
2021-09-09 03:56:12,064 INFO  TieredIdentityFactory - Initialized tiered identity TieredIdentity(node=, rack=null)
2021-09-09 03:56:12,066 INFO  UnderDatabaseRegistry - Loading udb jars from /opt/alluxio-release-2.5.0-2-SNAPSHOT/lib
2021-09-09 03:56:12,083 INFO  UnderDatabaseRegistry - Registered UDBs: hive,glue
2021-09-09 03:56:12,084 INFO  LayoutRegistry - Registered Table Layouts: hive
2021-09-09 03:56:12,195 INFO  RocksStore - Opened rocks database under path /opt/alluxio-release-2.5.0-2-SNAPSHOT/metastore/blocks
2021-09-09 03:56:12,368 INFO  RocksStore - Opened rocks database under path /opt/alluxio-release-2.5.0-2-SNAPSHOT/metastore/inodes
2021-09-09 03:56:12,412 INFO  RocksStore - Opened rocks database under path /opt/alluxio-release-2.5.0-2-SNAPSHOT/metastore/inodes
2021-09-09 03:56:12,432 INFO  ProcessUtils - Starting Alluxio master @:20258.
2021-09-09 03:56:12,432 INFO  ProcessUtils - Running under Java 1.8.0_282
2021-09-09 03:56:12,444 INFO  RocksStore - Opened rocks database under path /opt/alluxio-release-2.5.0-2-SNAPSHOT/metastore/blocks
2021-09-09 03:56:12,449 INFO  UfsJournalCheckpointThread - TableMaster: Journal checkpoint thread started.
2021-09-09 03:56:12,464 INFO  RocksStore - Opened rocks database under path /opt/alluxio-release-2.5.0-2-SNAPSHOT/metastore/inodes
2021-09-09 03:56:12,465 INFO  UfsJournalCheckpointThread - MetricsMaster: Journal checkpoint thread started.
2021-09-09 03:56:12,466 INFO  UfsJournalCheckpointThread - BlockMaster: Journal checkpointer shutdown has been initiated.
2021-09-09 03:56:12,466 INFO  UfsJournalCheckpointThread - TableMaster: Journal checkpointer shutdown has been initiated.
2021-09-09 03:56:12,466 INFO  UfsJournalCheckpointThread - FileSystemMaster: Journal checkpointer shutdown has been initiated.
2021-09-09 03:56:12,466 INFO  UfsJournalCheckpointThread - MetricsMaster: Journal checkpointer shutdown has been initiated.
2021-09-09 03:56:12,466 INFO  UfsJournalCheckpointThread - MetaMaster: Journal checkpointer shutdown has been initiated.
2021-09-09 03:56:12,468 INFO  UfsJournalReader - Reading journal file /journal/MetaMaster/v1/logs/0x0-0x1.
2021-09-09 03:56:12,468 INFO  UfsJournalReader - Reading journal file /journal/BlockMaster/v1/logs/0x0-0x38fc2.
2021-09-09 03:56:12,470 INFO  UfsJournalReader - Reading journal file /journal/FileSystemMaster/v1/logs/0x0-0x40ea1a.
2021-09-09 03:56:12,470 INFO  UfsJournalReader - Reading journal file /journal/BlockMaster/v1/logs/0x38fc2-0x4c319.
2021-09-09 03:56:12,470 INFO  UfsJournalReader - Reading journal file /journal/FileSystemMaster/v1/logs/0x40ea1a-0x57bd41.
2021-09-09 03:56:12,471 INFO  UfsJournalCheckpointThread - MetaMaster: Journal checkpoint thread started.
2021-09-09 03:56:12,471 INFO  UfsJournalReader - Reading journal file /journal/BlockMaster/v1/logs/0x4c319-0x78a7c.
2021-09-09 03:56:12,471 INFO  UfsJournalReader - Reading journal file /journal/FileSystemMaster/v1/logs/0x57bd41-0x18faa76.
2021-09-09 03:56:12,471 INFO  UfsJournalReader - Reading journal file /journal/BlockMaster/v1/logs/0x78a7c-0x1f6f89.
2021-09-09 03:56:12,471 INFO  UfsJournalReader - Reading journal file /journal/FileSystemMaster/v1/logs/0x18faa76-0x2ef02f5.
2021-09-09 03:56:12,471 INFO  UfsJournalReader - Reading journal file /journal/FileSystemMaster/v1/logs/0x2ef02f5-0x44e118e.
2021-09-09 03:56:12,471 INFO  UfsJournalReader - Reading journal file /journal/MetaMaster/v1/logs/0x0-0x1.
2021-09-09 03:56:12,471 INFO  UfsJournalCheckpointThread - BlockMaster: Journal checkpoint thread started.
2021-09-09 03:56:12,471 INFO  UfsJournalReader - Reading journal file /journal/FileSystemMaster/v1/logs/0x44e118e-0x5ad3401.
2021-09-09 03:56:12,471 INFO  UfsJournalReader - Reading journal file /journal/FileSystemMaster/v1/logs/0x5ad3401-0x5d99129.
2021-09-09 03:56:12,472 INFO  UfsJournalReader - Reading journal file /journal/FileSystemMaster/v1/logs/0x5d99129-0x5d99182.
2021-09-09 03:56:12,472 INFO  UfsJournalReader - Reading journal file /journal/FileSystemMaster/v1/logs/0x5d99182-0x72378ce.
2021-09-09 03:56:12,472 INFO  UfsJournalReader - Reading journal file /journal/FileSystemMaster/v1/logs/0x72378ce-0x86803ee.
2021-09-09 03:56:12,472 INFO  UfsJournalReader - Reading journal file /journal/FileSystemMaster/v1/logs/0x86803ee-0x9bceb5b.
2021-09-09 03:56:12,472 INFO  UfsJournalReader - Reading journal file /journal/FileSystemMaster/v1/logs/0x9bceb5b-0xaf9d10a.
2021-09-09 03:56:12,472 INFO  UfsJournalReader - Reading journal file /journal/BlockMaster/v1/logs/0x0-0x38fc2.
2021-09-09 03:56:12,472 INFO  UfsJournalReader - Reading journal file /journal/FileSystemMaster/v1/logs/0xaf9d10a-0xc51896c.
2021-09-09 03:56:12,473 INFO  UfsJournalReader - Reading journal file /journal/FileSystemMaster/v1/logs/0xc51896c-0xd1ca3dc.
2021-09-09 03:56:12,473 INFO  UfsJournalReader - Reading journal file /journal/FileSystemMaster/v1/logs/0xd1ca3dc-0xdff2080.
2021-09-09 03:56:12,473 INFO  UfsJournalReader - Reading journal file /journal/FileSystemMaster/v1/logs/0xdff2080-0xe992296.
2021-09-09 03:56:12,473 INFO  UfsJournalReader - Reading journal file /journal/FileSystemMaster/v1/logs/0xe992296-0xeeb9dbd.
2021-09-09 03:56:12,473 INFO  UfsJournalReader - Reading journal file /journal/FileSystemMaster/v1/logs/0xeeb9dbd-0xeeba61a.
2021-09-09 03:56:12,473 INFO  UfsJournalReader - Reading journal file /journal/FileSystemMaster/v1/logs/0xeeba61a-0xf1c9fd8.
2021-09-09 03:56:12,474 INFO  UfsJournalReader - Reading journal file /journal/FileSystemMaster/v1/logs/0xf1c9fd8-0xfa4edba.
2021-09-09 03:56:12,474 INFO  UfsJournalReader - Reading journal file /journal/FileSystemMaster/v1/logs/0xfa4edba-0x102d0485.
2021-09-09 03:56:12,474 INFO  UfsJournalReader - Reading journal file /journal/FileSystemMaster/v1/logs/0x102d0485-0x10b37816.
2021-09-09 03:56:12,474 INFO  UfsJournalReader - Reading journal file /journal/FileSystemMaster/v1/logs/0x10b37816-0x113a487a.
2021-09-09 03:56:12,474 INFO  UfsJournalCheckpointThread - FileSystemMaster: Journal checkpoint thread started.
2021-09-09 03:56:12,478 INFO  UfsJournalReader - Reading journal file /journal/FileSystemMaster/v1/logs/0x0-0x40ea1a.
2021-09-09 03:56:12,553 INFO  RocksStore - Opened rocks database under path /opt/alluxio-release-2.5.0-2-SNAPSHOT/metastore/inodes
2021-09-09 03:56:14,466 INFO  AbstractJournalProgressLogger - UfsJournal(/journal/MetricsMaster/v1)|current SN: 0|entries in last 2000ms=0
2021-09-09 03:56:14,466 INFO  AbstractJournalProgressLogger - UfsJournal(/journal/TableMaster/v1)|current SN: 0|entries in last 2001ms=0
2021-09-09 03:56:14,475 INFO  AbstractJournalProgressLogger - UfsJournal(/journal/FileSystemMaster/v1)|current SN: 237417|entries in last 2001ms=237417|est. commits left: 288794897|est. time remaining: 2434023.63ms
2021-09-09 03:56:14,740 INFO  UfsJournalReader - Reading journal file /journal/BlockMaster/v1/logs/0x38fc2-0x4c319.
2021-09-09 03:56:15,242 INFO  UfsJournalReader - Reading journal file /journal/BlockMaster/v1/logs/0x4c319-0x78a7c.
2021-09-09 03:56:15,471 INFO  AbstractJournalProgressLogger - UfsJournal(/journal/MetaMaster/v1)|current SN: 0|entries in last 3000ms=0
2021-09-09 03:56:15,472 INFO  AbstractJournalProgressLogger - UfsJournal(/journal/BlockMaster/v1)|current SN: 349540|entries in last 3000ms=349540|est. commits left: 1710629|est. time remaining: 14681.83ms
2021-09-09 03:56:16,383 INFO  UfsJournalReader - Reading journal file /journal/BlockMaster/v1/logs/0x78a7c-0x1f6f89.
2021-09-09 03:56:17,606 INFO  UfsJournalCheckpointThread - MetaMaster: Journal checkpoint thread has been shutdown. No new logs have been found during the quiet period.
2021-09-09 03:56:17,607 INFO  UfsJournalCheckpointThread - MetaMaster: Journal shutdown complete
2021-09-09 03:56:17,618 INFO  UfsJournal - MetaMaster: journal switched to primary mode. location: /journal/MetaMaster/v1
2021-09-09 03:56:18,466 INFO  UfsJournalCheckpointThread - TableMaster: Journal checkpoint thread has been shutdown. No new logs have been found during the quiet period.
2021-09-09 03:56:18,466 INFO  AbstractJournalProgressLogger - UfsJournal(/journal/MetricsMaster/v1)|current SN: 0|entries in last 4000ms=0
2021-09-09 03:56:18,467 INFO  UfsJournalCheckpointThread - TableMaster: Journal shutdown complete
2021-09-09 03:56:18,467 INFO  UfsJournalCheckpointThread - MetricsMaster: Journal checkpoint thread has been shutdown. No new logs have been found during the quiet period.
2021-09-09 03:56:18,467 INFO  UfsJournalCheckpointThread - MetricsMaster: Journal shutdown complete
2021-09-09 03:56:18,468 INFO  UfsJournal - TableMaster: journal switched to primary mode. location: /journal/TableMaster/v1
2021-09-09 03:56:18,468 INFO  UfsJournal - MetricsMaster: journal switched to primary mode. location: /journal/MetricsMaster/v1
2021-09-09 03:56:19,472 INFO  AbstractJournalProgressLogger - UfsJournal(/journal/BlockMaster/v1)|current SN: 1071924|entries in last 4001ms=722384|est. commits left: 988245|est. time remaining: 5473.50ms
2021-09-09 03:56:20,476 INFO  AbstractJournalProgressLogger - UfsJournal(/journal/FileSystemMaster/v1)|current SN: 2048508|entries in last 6001ms=1811091|est. commits left: 286983806|est. time remaining: 950912.91ms
2021-09-09 03:56:22,390 INFO  NettyUtils - EPOLL_MODE is available
2021-09-09 03:56:22,724 ERROR ClientMasterSync - Failed to get master address during initialization: alluxio.exception.status.UnavailableException: Failed to handshake with master *:20258 to load cluster default configuration values: UNAVAILABLE: io exception
2021-09-09 03:56:28,981 INFO  UfsJournalReader - Reading journal file /journal/FileSystemMaster/v1/logs/0x40ea1a-0x57bd41.
2021-09-09 03:56:30,254 INFO  UfsJournalCheckpointThread - BlockMaster: Journal checkpoint thread has been shutdown.  However, the issue was only discovered after more than 10 days later. This makes recovery very difficult. Do you think we could make a journal integrity checker to deal with such problems? @ggezer

for us,a journal integrity checker is needed urgently

created a feature request, closing this issue now. @lilyzhoupeijie

Any update?
Same issue with v2.8.1 on a stable new cluster


application.isTrackingLatestRelease & application.trackLatestRelease: Fix using draft/invalidated releases

Aligns the SDK methods with what the how the API picks the latest release of an application.
Change-type: patch
Signed-off-by: Thodoris Greasidis<EMAIL_ADDRESS>
Contributor checklist

[ ] Includes tests
[ ] Includes typings
[ ] Includes updated documentation
[ ] Includes updated build output

@balena-ci I self-certify!


[SPARK-17623][CORE] Clarify type of TaskEndReason with a failed task.

What changes were proposed in this pull request?
In TaskResultGetter, enqueueFailedTask currently deserializes the result
as a TaskEndReason. But the type is actually more specific, its a
TaskFailedReason. This just leads to more blind casting later on – it
would be more clear if the msg was cast to the right type immediately,
so method parameter types could be tightened.
How was this patch tested?
Existing unit tests via jenkins.  Note that the code was already performing a blind-cast to a TaskFailedReason before in any case, just in a different spot, so there shouldn't be any behavior change.

Test build #65723 has started for PR 15181 at commit 0bd782b.

Test build #65723 has finished for PR 15181 at commit 0bd782b.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/65723/
Test PASSed.

Test build #65727 has started for PR 15181 at commit d991a3c.

Test build #65727 has finished for PR 15181 at commit d991a3c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/65727/
Test PASSed.

Thanks for the clean up. I'm merging this into master. Because this patch touches multiple files in the critical scheduler code I'm hesitant on back porting this.


gap analysis hci

This PR covers many mapping updates and additions to help prepare the UP for HCI.
Test Steps:

Update organization settings to have a receiver without any receiver transforms receive data for patientState "NY"
Send a report with the HL7 body found in the HCI folder in sharepoint
Compare the output with the original HL7 body, cross-referencing the spreadsheet of noted differences in sharepoint
Run integration tests

Changes

Updated mappings that either do not match the latest HL7 official mappings, or that caused issues with the HCI data
Added mappings that had not been used before
Cleaned up mappings that used excessive subfield-specific elements instead of well-established datatype mappings
Adjusted transforms to preserve current behavior for CA
Adjusted integration tests to more closely match our expectations with the updated mappings

Checklist
Testing

[x] Tested locally?
[x] Ran ./prime test or ./gradlew testSmoke against local Docker ReportStream container?

Linked Issues

Addresses #10963

To Be Done

#11317

Made another batch of updates, and opened several follow-up tickets. Those are listed here:
#11471-add tests for common datatype tests
#11470-Follow-up on how to handle XTN.2, XTN.3 for emails with new ticket
#11468-Remove CA/CA.yml
#11473-Open Ticket and/or PR to add to linux4health library to simplify extensions in Organization.yml
#11469-Open bug for "cannot use %`rext due to mix of constant and fhirpath substitution syntax"
#11472-Some kind of ticket for re-architecting the hl7-mapping schemas
This should be ready for re-review!

I forgot to push my last commit, integration test addition is there now, good catch!


tlsConfig passed via launcherConfig

This PR changes tlsConfig to be an attribute in the launcher config instead of being a separate configuration file. We've tested it with daedalus flight and can confirm tls certificates are generated. This probably breaks tests.

bors r+