Configuration: darwin64-arm64-cc for Apple silicon

The PR adds a new configuration, darwin64-arm64-cc for targeting Apple silicon (tested on DTK).

(Just for clarity)
This is a port to newly announced Apple processors for new Macs, isn't it?

Before this goes through, a CLA is required.

@levitte how do I sign the CLA?

@beldmit that is correct, this is for Apple's newly announced ARM hardware

No worries - I found and sent of a signed copy of the agreement to legal.

For the time bing, we use the following flags here:
-mmacosx-version-min=11.0 -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
as arm64 on MacOS is not available before 11.0, we can set the minimum there.
And as for my Mac the default Xcode is 11.x, the 12.0 beta is explicit referenced by path here for the Mac SDK.

I can confirm it builds.
But we have to specify the -isysroot in the variables here for both linker and compiler to use the SDK in the Xcode beta and link with arm64 libraries.
From my build script:
export CC="clang"
export CXX="clang"
export CFLAGS=" -O2 -mmacosx-version-min=11.0 -arch arm64 "
export LDFLAGS=" -arch arm64 -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk "
export CPPFLAGS=" -I.. -I/Users/cs/Development/Libs/zlib/macArm -I/Users/cs/Development/Libs/zlib/zlib -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk "
./Configure shared enable-rc5 zlib darwin64-arm64-cc

Close/reopen to kick CLA bot.

I cherry picked this into the code used by rust-openssl and it allowed native builds. 👍

When might we see this merged in and added to a release?

Looks like this has the necessary approvals - except there is a discrepancy above.
@levitte - you've labelled this for "master" but the PR is targeting 1.1.1.
Do you intend that it should be applied to both?

Since an almost identical change to cover this has been applied to master now will this issue be accepted to 1.1.1 stable? An accepted 1.1.1 stable patch would be useful for package managers to reference, even if there isn't an immediate requirement for a 1.1.1 release.

The 1.1.1 stable branch is in "bugfix-only" mode, and the thread at https://mta.openssl.org/pipermail/openssl-project/2020-June/002044.html doesn't seem to have reached a clear conclusion about whether hardware-support patches fall on the "feature" or "bugfix" side of the line.
(Also, we seem to actually be overdue for a 1.1.1 release, based on the "approximately three months" schedule since 1.1.1g, which came out on April 21, 2020.)

I see what you mean, and it is completely up to the maintainers to make that decision. I would just like to say:

Package managers will need to pick up this patch or similar.

It's obviously prefereable to get OpenSSL straight from the source, without extra patches / forks.

OpenSSL 3.0.0 is not slated to release until "2020 early Q4".
We expect consumer Apple Silicon hardware before the end of the year, dev hardware is already out there.
OpenSSL 3.0.0 is a API bump, so could require more work for some users than 'drop it in'.

I think it is completely fair to have 1.1.1 be bugfix only, but only when there is a release of OpenSSL3 to point people towards, before then there could be some leniency towards minor patches for hardware enablement. For now I will merge the patch on 1.1.1 for the package manager I use for OpenSSL.

I would hope this patch goes into an 1.1.1 update as everyone will want to just rebuild apps for the new Apple Mac platform.

This is already being shipped through Homebrew, but we would welcome it being merged and released as a 1.1.1 update, so all users on macOS get the exact same (and definitive) version.

Attempted to make the labels reflect reality.
AFAICT the code has not changed since @levitte and @beldmit approved, so setting "approval:done", but the question of whether this is appropriate for 1.1.1 needs OTC action.

24 hours has passed since 'approval: done' was set, but as this PR has been updated in that time the label 'approval: ready to merge' is not being automatically set.  Please review the updates and set the label manually.

Removing the "beta 1" milestone, since this PR targets 1.1.1.

Now that 1.1.1h has shipped without this, and based on the previously quoted approximately three months release cadence, is it correct to assume that this support will not be shipped in 2020?

Now that 1.1.1h has shipped without this, and based on the previously quoted approximately three months release cadence, is it correct to assume that this support will not be shipped in 2020?

Per https://mta.openssl.org/pipermail/openssl-project/2020-September/002221.html there should be one more 1.1.1 release in 2020 ... but this PR is blocking on an OTC decision, for which I have not seen indications of a particular timeline.

Hi, Homebrew maintainer here: for those of us not knowledgable about the OpenSSL governance, is there a way to request/spur an OTC decision, or at least to know whether this is being considered or silently ignored?

@levitte could you opine on the question of starting an OTC vote, since you approved the changes?
(It seems that I am the one who added the "hold: need OTC decision" label and thus could technically remove it, but that doesn't feel right, since I'm not on the OTC...)

@levitte could you opine on the question of starting an OTC vote, since you approved the changes?

OTC can only consider whether this meets current policy or not. Current policy says only bug and security fixes are allowed in stable branches. I think it is a stretch to say that this qualifies as a bug fix.
In order to change the policy in order to allow a broader set of changes to be backported I think that you have to have an OMC decision. There might be some support for that. See the recent discussion in #11188.

@mattcaswell thanks for clarifying.  What do you think the correct label state is for this PR at this time?  (Please feel empowered to remove the "OTC hold" label that I presumptively added.)

Changed this to an OMC hold.

This PR is in a state where it requires action by @openssl/omc but the last update was 30 days ago

Seems approved, does it need something else before merge? thanks

Seems approved, does it need something else before merge? thanks

This PR has an OMC hold on it, so its awaiting an OMC decision. OMC policy does not currently allow the backport of this change to 1.1.1 (it's considered a new feature, and new features are not allowed to be introduced in stable releases). However there is an ongoing discussion to change that policy, which would allow the addition of new platforms into a stable release.
See:
https://mta.openssl.org/pipermail/openssl-project/2020-October/002380.html

@mattcaswell thanks a lot for your explanations, what do you mean by "backport to 1.1.1"? where should be added if not in 1.1.1?
Because version 3 is not stable yet.

@mattcaswell thanks a lot for your explanations, what do you mean by "backport to 1.1.1"? where should be added if not in 1.1.1?
Because version 3 is not stable yet and companies use only stable versions. (1.1.1 in openssl's case)
cheers!

There is a similar change already in master (which will become 3.0). New features are only allowed in master. This PR backports that functionality from master to 1.1.1.

Just to let you know, this issue has been duped by #13476, if anyone wants to chime in on the bugfix vs feature discussion.

As suggested by @richiksc, here's a copy of my summary from #13476, after arguing that this is a bugfix and not a feature:

When adding patches to Homebrew Formulae, the patches have to be pushed upstream (happening here by proxy)
This change is configuration only, the chance to break existing targets is zero.
The existing aarch64 assembly code is tested on iOS via ios64 assembly target.
The M1 chip is an evolution of those ARMv8 chips (it is ARMv8.4 compatible) and can even run existing iOS apps without emulation, showing it is indeed fully compatible.

@mattcaswell I have looked through the LTS+ discussion and it sounds like this will only add confusion and more maintenance work to handle different releases. The same could be achieved by altering the LTS rules instead of adding another release type.
Many existing projects like Ubuntu regularly update their LTS releases with new kernels to support new hardware, so adding hardware support as part of LTS is common practice.
The whole goal of LTS is to provide a version that can be used and depended on over an extended period of time which also means it needs to support new hardware, otherwise people will have to port their software to new versions before they can upgrade or switch a server.
I think what really matters is how risky the change is to break existing code/platforms.
Back on topic — in the LTS+ mailing list thread a bug fix is defined as:

Fixes for defects that impact behaviour that do not impact the API or the ABI
Minor fixes to existing code to correct major performance regressions (…)
Inclusion of new API functions to correct missing accessor functions

It could be argued that existing assembly for the CPU not being used is a defect (extremely poor performance) and the fix for that (adding a build target) is not impacting the API or ABI. So in that sense it is a bug fix.
Under the LTS+ idea this would be explicitly allowed as a "platform support update", but these can't really break the ABI or API either, so these only differ from a bug fix if they also introduce new code under the existing ABI/API.

Please correct me if I'm wrong, because I'm unfamiliar with the structure of the project, but adding a new compile target in configuration has virtually zero risk of breaking functionality on other, pre-existing platforms, right? This is no different to adding another compile target in a buildscript for a project? In that scenario, the only risk would be having the built binaries for darwin64-arm64-cc not be fully functional, which would not be a regression. If that is the case, I don't see why it wouldn't be an accepted patch in an LTS release according to the traditional definition of LTS.
In addition, the ios64 asm has already been tested on processors that use largely the same architecture as the M-series SoCs on arm64 Macs, as @felixbuenemann pointed out.

I think what really matters is how risky the change is to break existing code/platforms.

I understand your point of view.  However this change to add a new platform is probably on the least risky end of what adding a new platform often looks like. Typically adding a new platform is usually more involved and invasive. Often requiring amendments to various platform specific files, perhaps adding integration to a platform specific seed source, etc (e.g. take a look at some of @rsbecker's PRs adding support for the non stop platform). So, in general, adding a new platform is not considered an "ultra low" risk activity. It does comes with some impact (not to mention the potential for additional support requests that rolling out to a platform that has not had support might bring).
Until now the OMC has had a simple rule to follow: no new features in stable releases - with new platforms counted as new features. This is simple and easy to explain. If we start accepting some new platforms but not others then suddenly things start become a lot more murky: where is the dividing line between what is acceptable and what is not?
Added to this we have some users who are very conservative about what they want from an LTS release. They have no interest in adding additional platforms. Such users prioritise stability above all else.
And yet, we have other users for whom adding new platforms and performance improvements is a perfectly acceptable risk - and indeed highly desirable.
Our current rules are too strict IMO. But in our internal discussions it has become clear that just loosening them for all users is not going to be an acceptable answer. That is where the LTS+ proposal is coming from. It keeps both camps of users happy at the cost of a slightly raised maintenance overhead. Although in reality I expect the two branches to track fairly closely to each other - so I don't expect the overhead to be that large.
Now, with specific reference to this PR it is clear that it does not currently conform to the rules laid out by the OMC. So, if you want to see it merged that gives 3 possible routes to achieve this (that I can think of):

Seek a one off exception from the OMC
Change the rules for what is acceptable in an LTS release
Introduce the LTS+ release type

Having sat in the some very long discussions on this topic I can tell you that (2) is unlikely happen any time soon. (1) is a possibility - but I suspect that the OMC would hold any decision on that until the LTS+ question has been resolved one way or the other. However if the LTS+ proposal fails this is probably the best route (although I don't have a high degree of confidence that such an exception would be accepted).

@mattcaswell Spinning this from another angle: What is a new platform?
This change adds neither a new operating system, since it reuses darwin64 code nor a new CPU, since it reuses ios64 ASM code for armv8. So in the end it's just adding a missing configure entry for a platform that is already there.
If it is not accepted, the same patch will be used downstream in various projects anyways, since there's no viable alternative.
Having it upstream prevents fragmentation and is good open source practice.
I think seeking an exception is the way to go here and does not depend on the LTS+ decision, since that handles more complicated additions, like the one you mentioned.
What would be the process to ask for such an exception from the OMC?

What would be the process to ask for such an exception from the OMC?

The first step would be to decide what decision it is exactly that you are asking the OMC to make. This needs to be in the form of a proposed vote. You might check the openssl-project email archives where there are numerous examples of various OTC and OMC vote proposals (this would be an OMC vote, but OTC votes work in a very similar way):
https://mta.openssl.org/pipermail/openssl-project/
You'd also need to get an OMC member willing to start your vote. I would probably do that assuming you came up with some reasonable vote text (note I don't necessarily guarantee to vote in favour...I'll need to give that some thought and look at the exact vote text to decide that).
Ideally proposed votes should be discussed on the openssl-project list before the vote actually starts (in order to incorporate any feedback into the vote text). That's a moderated list (you must join the list in order to post), but I'm a moderator and usually let through any on-topic posts.
The actual vote itself will take place on the private OMC list with the results reported back to openssl-project once done.

Having lived through this, it almost seems that the criteria analogous to CLA: Trivial might be a reasonable deciding factor on a new platform at this stage. That definitely would not apply in the case of NonStop, which actually had a surprisingly small number of high impact changes that cause the builds to break a few times. But if a platform could be added requiring a one or two line configuration file with no code changes (qualifying for a CLA: Trivial PR), perhaps that might be acceptable, since CLA is a well quantified policy. But if the new platform required additional touch-points in the code, that would escalate the requirement to a larger change (but I don't really get a vote, just an opinion).

@mattcaswell I've written a proposal and posted it at https://gist.github.com/ee30b5c8f52e030629dc2de95f81d8b, you can add comments there if anything needs to be changed, so we don't clutter this thread.

@felixbuenemann Link is 404. Are you sure the gist is public?

@felixbuenemann Link is 404. Are you sure the gist is public?

Link is fixed, the last char was missing.

@mattcaswell I've written a proposal and posted it at https://gist.github.com/ee30b5c8f52e030629dc2de95f81d8b1, you can add comments there if anything needs to be changed, so we don't clutter this thread.

Nice write up. The proposal looks fine to me, but you should post it to the openssl-project list asking for feedback on the vote text. You can state that I have agreed to raise it with OMC if you like (normally vote proposals come from OMC/OTC members - but there is no reason why someone else can't ask for a vote to be considered). Normally I like to leave starting a vote for a few days to give people a chance to feedback on the wording.

@felixbuenemann great write up, thanks!

@mattcaswell OK, I've posted the proposal to the openssl-project list, pending moderation.

@mattcaswell OK, I've posted the proposal to the openssl-project list, pending moderation.

Yep, I saw. I let it through:
https://mta.openssl.org/pipermail/openssl-project/2020-November/002457.html

OMC vote has started. I'll let you know the result once I know.

The OMC vote has now completed. It passed:
accepted:  yes  (for: 6, against: 1, abstained: 0, not voted: 0)
Therefore I am lifting the OMC hold on this PR.

@stuartcarnie - I think this change deserves a mention in the CHANGES file. Please could you add on to this PR?

@stuartcarnie - I think this change deserves a mention in the CHANGES file. Please could you add one to this PR?

@stuartcarnie I had one on the (dupe) PR #13476 in commit 105be6e21f2f33b687a28b81c6d62e85d54ea860, you can just copy it and change the name.

Note that #13517 should be folded in here too so that ./config gets the correct platform (otherwise it will select i686-apple-darwin  as the platform (incorrectly).

Given that we just announced that 1.1.1i will be released on 8th December it would be great to get this PR merged before then.

Note that #13517 should be folded in here too so that ./config gets the correct platform (otherwise it will select i686-apple-darwin as the platform (incorrectly).

@stuartcarnie - are you able to include that change here?

@mattcaswell yes, I can transfer that commit over now

@mattcaswell that fix is based of master; there is no config.pm in the 1.1.1 branch. Any suggestions?

I have found the guessing logic in config, but that will require I do some testing on my DTK to reimplement it, which I will do later today.

Do you want help with the 1.1.1 config script?  I know it inside out, so I'm guessing it takes me 5 minutes tops

@levitte yes please! 👏🏻👏🏻

--- config-     2020-12-02 08:16:21.393694700 +1000
+++ config      2020-12-02 08:16:25.397069100 +1000
@@ -253,11 +253,8 @@
            Power*)
                echo "ppc-apple-darwin${VERSION}"
                ;;
-           x86_64)
-               echo "x86_64-apple-darwin${VERSION}"
-               ;;
            *)
-               echo "i686-apple-darwin${VERSION}"
+               echo "${MACHINE}-apple-darwin${VERSION}"
                ;;
        esac
        exit 0

That is the equivalent patch to apply ...

And another update having actually tested this on a apple silicon device so we have to pick this up in one more location to translate correctly.
--- config-     2020-12-02 08:16:21.393694700 +1000
+++ config      2020-12-02 08:32:21.806134400 +1000
@@ -253,11 +253,8 @@
            Power*)
                echo "ppc-apple-darwin${VERSION}"
                ;;
-           x86_64)
-               echo "x86_64-apple-darwin${VERSION}"
-               ;;
            *)
-               echo "i686-apple-darwin${VERSION}"
+               echo "${MACHINE}-apple-darwin${VERSION}"
                ;;
        esac
        exit 0
@@ -497,6 +494,9 @@
        else
            OUT="darwin64-x86_64-cc"
        fi ;;
+  $MACHINE-apple-darwin*)
+        OUT="darwin64-$MACHINE-cc"
+       ;;
   armv6+7-*-iphoneos)
        __CNF_CFLAGS="$__CNF_CFLAGS -arch%20armv6 -arch%20armv7"
        __CNF_CXXFLAGS="$__CNF_CXXFLAGS -arch%20armv6 -arch%20armv7"

@t-j-h beat me to it :wink:

Thanks! Applying now and will push another commit

@t-j-h I can't apply that patch:
$ pbpaste | git apply -
error: patch failed: config:253
error: config: patch does not apply

Will this be in 1.1.1i or is it too late for that?

Will this be in 1.1.1i or is it too late for that?

It should be fine for inclusion. The next step is we have to wait 24 hours in case of any objections. But assuming none are raised we can merge - which is in plenty of time for 1.1.1i.

24 hours has passed since 'approval: done' was set, but as this PR has been updated in that time the label 'approval: ready to merge' is not being automatically set.  Please review the updates and set the label manually.

Merged.  I took the freedom to squash all the commits into one.
61168b5b8dde03f3b77ddf5e4b1b81c338c01746 Configuration: darwin64-arm64-cc for Apple silicon

Thanks everyone who contributed to getting this in.

I am sure 1.1.1 must now be building for arm64(Apple Silicon).
I recently got the need to support arm64.
I took the latest stable branch of 1.1.1.
./Configure shared enable-rc5 darwin64-arm64-cc
make
Now when i do make it fails also giving supported architecture error, obviously i am using an x86-64 mac.
In file included from crypto/armcap.c:10:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h:64:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:75:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_va_list.h:32:9: error: unknown type name '__darwin_va_list'
typedef __darwin_va_list va_list;
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
Am i running wrong somewhere, Please !! Thanks!

@udiakasnuke To cross compile for arm64 Macs on an x86_64 Mac, you need to have the Xcode 12 CLT and the macOS 11 SDK installed, and then make sure you are using that SDK as the active sdk by setting these two environment variables:
SDKROOT=$(xcrun -sdk macosx11.0 --show-sdk-path)
MACOSX_DEPLOYMENT_TARGET=$(xcrun -sdk macosx11.0 --show-sdk-platform-version)

@richiksc - Yeah!! Thanks!! I almost forgot that.... Just for summary, i did

SDKROOT=$(xcrun -sdk macosx11.1 --show-sdk-path)                 -    I had Xcode 12.3 hence 11,.1
MACOSX_DEPLOYMENT_TARGET=$(xcrun -sdk macosx11.1 --show-sdk-platform-version)
./Configure shared enable-rc5 zlib darwin64-arm64-cc
make

and i could see the static and dynamic library of libcrypto(.a / .dylib) and libssl(.a / .dylib), and all the headers are already present in include/openssl path.

@richiksc - Yeah!! Thanks!! I almost forgot that.... Just for summary, i did

SDKROOT=$(xcrun -sdk macosx11.1 --show-sdk-path)                 -    I had Xcode 12.3 hence 11,.1
MACOSX_DEPLOYMENT_TARGET=$(xcrun -sdk macosx11.1 --show-sdk-platform-version)
./Configure shared enable-rc5 zlib darwin64-arm64-cc
make

and i could see the static and dynamic library of libcrypto(.a / .dylib) and libssl(.a / .dylib), and all the headers are already present in include/openssl path.

I did the same but for some reason my make command is picking up old sdk (10.15) even though 11.1 is installed and set.

What am I doing wrong ?

@richiksc - Yeah!! Thanks!! I almost forgot that.... Just for summary, i did

SDKROOT=$(xcrun -sdk macosx11.1 --show-sdk-path)                 -    I had Xcode 12.3 hence 11,.1
MACOSX_DEPLOYMENT_TARGET=$(xcrun -sdk macosx11.1 --show-sdk-platform-version)
./Configure shared enable-rc5 zlib darwin64-arm64-cc
make

and i could see the static and dynamic library of libcrypto(.a / .dylib) and libssl(.a / .dylib), and all the headers are already present in include/openssl path.

I did the same but for some reason my make command is picking up old sdk (10.15) even though 11.1 is installed and set.

What am I doing wrong ?

@richiksc - Yeah!! Thanks!! I almost forgot that.... Just for summary, i did

SDKROOT=$(xcrun -sdk macosx11.1 --show-sdk-path)                 -    I had Xcode 12.3 hence 11,.1
MACOSX_DEPLOYMENT_TARGET=$(xcrun -sdk macosx11.1 --show-sdk-platform-version)
./Configure shared enable-rc5 zlib darwin64-arm64-cc
make

and i could see the static and dynamic library of libcrypto(.a / .dylib) and libssl(.a / .dylib), and all the headers are already present in include/openssl path.

I did the same but for some reason my make command is picking up old sdk (10.15) even though 11.1 is installed and set.

What am I doing wrong ?

Make sure you run
export SDKROOT=$(xcrun -sdk macosx11.1 --show-sdk-path)
instead of just setting it in terminal. rookie mistake.

@richiksc - Yeah!! Thanks!! I almost forgot that.... Just for summary, i did

SDKROOT=$(xcrun -sdk macosx11.1 --show-sdk-path)                 -    I had Xcode 12.3 hence 11,.1
MACOSX_DEPLOYMENT_TARGET=$(xcrun -sdk macosx11.1 --show-sdk-platform-version)
./Configure shared enable-rc5 zlib darwin64-arm64-cc
make

and i could see the static and dynamic library of libcrypto(.a / .dylib) and libssl(.a / .dylib), and all the headers are already present in include/openssl path.

I did the same but for some reason my make command is picking up old sdk (10.15) even though 11.1 is installed and set.

What am I doing wrong ?

Make sure you run
export SDKROOT=$(xcrun -sdk macosx11.1 --show-sdk-path)
instead of just setting it in terminal. rookie mistake.


Re-review of unresolved conversations in PR#33

Thank you for your work on this PR. I had some suggestions and some questions about fail states I would like explained a bit more.
Originally posted by @mcdonnnj in https://github.com/cisagov/pe-reports/pull/33#pullrequestreview-748099667
With multiple approvals from the team we are looking to move forward with a merge. The PR is a blocker for other Issues pending that will clean-up branch "main".
To continue, we are creating this issue in the event we need to revisit some of the unresolved conversations.

Closing issue as these items are now being addressed again in #33 (review)


Repeat forever doesn't work

Setting the repeat value to -1 doesn't work in v1.2.0

I cannot replicate that, for me it works. Could you please attach a log of the activation of the switch, e.g. with cat /var/lib/homebridge/homebridge.log | grep [rR]andomly or whatever you call the platform.

Apologies, between changing versions and what settings were in the config file and what was cached, meant the timer wasn't actually set to -1. It's been resolved now and is working.


Bio Weekly - Add Figure for Weekly HFH Clinical Collections by Clinic Location

Add a new figure for weekly number of clinical collections at HFH by clinic location.
Title this new figure: Figure 7.2 Weekly Clinical Biospecimen Collections at Henry Ford by Clinic Location
Requestor(s): Michelle
Table or Figure title: Figure 7.2 Weekly Clinical Biospecimen Collections at Henry Ford by Clinic Location
Variables needed (include variable name and Concept ID):

RcrtES_Site_v1r0 (214456996)

BioSpm_Setting_v1r0 (650516960)

BioClin_SiteBlLocation_v1r0 (185243482) OR 7.  Use the blood location ID or the urine location ID to get the location; it can be assumed that they are the same if both are present. If one is not populated, the other can be used.)

BioRec_CollectFinal_v1r0 (410912345)

Specify numerator and denominator by variable name where applicable:

Denominator = All finalized clinical collections at HFH - RcrtES_Site_v1r0 (214456996) = 1; BioSpm_Setting_v1r0 (650516960) = 1; BioRec_CollectFinal_v1r0 (410912345) = 1
Numerator = HFH clinic locations (BioClin_SiteBlLocation_v1r0 (185243482) OR 7. BioClin_SiteUrLocatBL_v1r0 (452847912))
HFH Clinic Locations:
Macomb =<PHONE_NUMBER> OR<PHONE_NUMBER>
West Bloomfield =<PHONE_NUMBER> OR<PHONE_NUMBER> OR<PHONE_NUMBER>
Wyandotte =<PHONE_NUMBER>
Fairlane (Dearborn) =<PHONE_NUMBER>
Plymouth =<PHONE_NUMBER>
Royal Oak =<PHONE_NUMBER>
Troy =<PHONE_NUMBER>
K1 HFH Main =<PHONE_NUMBER> OR<PHONE_NUMBER>
Sterling Heights =<PHONE_NUMBER>
Columbus =<PHONE_NUMBER>
Livonia =<PHONE_NUMBER>

Notes: N/A
Approved by:

@HopkinsDC

@HopkinsDC  Of course. If it's alright I'd prefer to put the key below the figure. The code is less complex and that also lines up with the plot structure in the Operations Table for consistency purposes

@KELSEYDOWLING7 Okay, that's fine. This figure looks great!
Can you apply the key location change to all of the figures in the report? (I'll make a new issue for it, just for tracking purposes, and link it to this one.)

Update successfully implemented in 12/11 weekly biospecimen metrics report.


API Access SharePoint Admin Page Issue

Target SharePoint environment
SharePoint Online
What SharePoint development model, framework, SDK or API is this about?
💥 SharePoint Framework
Developer environment
None
What browser(s) / client(s) have you tested

[ ] 💥 Internet Explorer
[X] 💥 Microsoft Edge
[ ] 💥 Google Chrome
[ ] 💥 FireFox
[ ] 💥 Safari
[ ] mobile (iOS/iPadOS)
[ ] mobile (Android)
[ ] not applicable
[ ] other (enter in the "Additional environment details" area below)

Additional environment details
No response
Describe the bug / error
After installing a new version of SPFx package, API page reflects multiple instances of the same APIs (both in approved and pending). Approving API's essentially creates a copy. New package adds another copy to pending. On Entra side of things everything looks fine.
This issue happens on demo tenants, as well as customer tenants.

Steps to reproduce

Install SPFx package with Graph API's in webApiPermissionRequests
Approve API's from SharePoint Admin Center
Install new package
Look into API access page again

Expected behavior
There should be only one instance of every Graph API on API access page.

Just in case - looking into the oAuth2PermissionGrant response - it does return the following for the approved list - essentially showing scopes twice (as they are on a screenshot for approved). I did approve them twice, so it is kinda messed up now:
"scope": "User.Read.All Files.Read.All Sites.ReadWrite.All Directory.Read.All Group.ReadWrite.All Organization.Read.All Sites.Manage.All InformationProtectionPolicy.Read TeamsAppInstallation.ReadForUser TeamsAppInstallation.ReadForUser InformationProtectionPolicy.Read Sites.Manage.All Organization.Read.All Group.ReadWrite.All Directory.Read.All Sites.ReadWrite.All Files.Read.All User.Read.All"

Thanks for reporting this issue.  We have made a fix for this which should roll out around October the 2nd.


add 'single-node-production-edge' annotations to CVO manifests.

This adds annotations for the single-node-production-edge cluster profile. There's a growing requirement from several customers to enable creation of single-node (not high-available) Openshift clusters.
In stage one (following openshift/enhancements#504) there should be no implication on components logic.
In the next stage, the component's behavior will match a non high-availability profile if the customer is specifically interested in one.
This PR is separate from the 'single-node-developer' work, which will implement a different behavior and is currently on another stage of implementation.
For more info, please refer to the enhancement link and participate in the discussion.

Shifting strategy based on https://github.com/openshift/enhancements/pull/560


tons of staging stuff

@jread-usgs this PR will get us up to date - i don't think there'll be any changes to how write_ts is working for you, but you never know....

looks like the same old autobuild errors. still no idea why parse_ts_path fails in the autobuild environment. maybe they don't actually have file paths there?

Probably want to increment the minor version on this? I know we haven't been consistent with that, but it will help us internally at least (e.g., oh, you are on version 0.7.3? that's why your styx_sites fail).

Also, I get those errors locally now:
Running the tests in ‘tests/testthat.R’ failed.
Last 13 lines of output:
  OK: 60 SKIPPED: 0 FAILED: 9
  1. Failure (at test-mda_helpers.R#66): ts file paths can be made and parsed
  2. Failure (at test-mda_helpers.R#67): ts file paths can be made and parsed
  3. Failure (at test-mda_helpers.R#68): ts file paths can be made and parsed
  4. Failure (at test-mda_helpers.R#69): ts file paths can be made and parsed
  5. Failure (at test-mda_helpers.R#70): ts file paths can be made and parsed
  6. Failure (at test-mda_helpers.R#71): ts file paths can be made and parsed
  7. Failure (at test-mda_helpers.R#72): ts file paths can be made and parsed
  8. Failure (at test-mda_helpers.R#73): ts file paths can be made and parsed
  9. Failure (at test-mda_helpers.R#74): ts file paths can be made and parsed

testthat::expect_equal(mda.streams:::parse_ts_path("nwis_12398074-ts_doobs_nwis.tsv.gz", use_names=FALSE), data.frame(site_name="nwis_12398074", ts_name="ts_doobs_nwis", stringsAsFactors=FALSE))
Error: mda.streams:::parse_ts_path("nwis_12398074-ts_doobs_nwis.tsv.gz", use_names = FALSE) not equal to data.frame(site_name = "nwis_12398074", ts_name = "ts_doobs_nwis", stringsAsFactors = FALSE)
Attributes: < Component “class”: Lengths (1, 2) differ (string compare on first 1) >
Attributes: < Component “class”: 1 string mismatch >

I can fix those if you would like

sure, if you can fix them, that'd be great! what's the cause? i've had trouble debugging them because i can't replicate them.
in the meantime, if you don't want to merge the full PR, you just need to change the make_site_name definition to this:
make_site_name <- function(sitenum, database=c("nwis", "styx")) {

which should also fix parse_site_name for the fake-data sites

This looks good, but let's fix tests on the next round after we figure out why your returns from those functions are different than expected

resolves #108


Disallow string concatenation when using __dirname and __filename (no-path-concat)

See: http://eslint.org/docs/2.0.0/rules/no-path-concat
Replace this:
var fullPath = __dirname + "/foo.js";

With this:
var fullPath = path.join(__dirname, "foo.js");

From eslint docs:

However, there are a few problems with this. First, you can't be sure what type of system the script is running on. Node.js can be run on any computer, including Windows, which uses a different path separator. It's very easy, therefore, to create an invalid path using string concatenation and assuming Unix-style separators. There's also the possibility of having double separators, or otherwise ending up with an invalid path.

In order to avoid any confusion as to how to create the correct path, Node.js provides the path module. This module uses system-specific information to always return the correct value.

# tests 427
# pass  395
# fail  32

7.5% of packages either don't work on Windows, or their tests don't work on Windows.
I think we should enable this, because even though this will make people change their code, this is actually a real problem – a programmer error — in their code that should be fixed.

After fixing up all the packages that I have push access to, only 21/427 (5%) are failing. All the cases I fixed up were real cases where that code wouldn't work in a cross-platform way on Windows.
I think this is a good rule.

ACK

Released in standard 6.0.0.


[New Recipe] Passing data between components

Preview: https://deploy-preview-301--sveltesociety-preview.netlify.app/recipes/svelte-language-fundamentals/passing-data-between-component

This looks great!! It will be a great addition to the community.

But I did notice a fair amount of errors language wise though, care to have a second look at those ?

But I did notice a fair amount of errors language wise though, care to have a second look at those ?

Ouch... I didn't proofread it... I guess my English is not as good as I was thinking :sweat_smile:
I will correct them :wink:


Auto Tunning

DBADash should check if auto Tunning is enabled or not. MS decided to make this default for SQL 2022 which is a very bad idea. It would nice to check for that.

Thanks for the suggestion.  This will likely be included at some point.   As a workaround it could be captured as a custom collection/report.


Getting Started

Following the current directions at https://sdk.boundlessgeo.com/docs/ leads to this error:
{
  "status": 1,
  "file": "/home/aliasmrchips/sdk-starter/src/App.scss",
  "line": 1,
  "column": 1,
  "message": "File to import not found or unreadable: @boundlessgeo/sdk/stylesheet/sdk.scss.",
  "formatted": "Error: File to import not found or unreadable: @boundlessgeo/sdk/stylesheet/sdk.scss.\n        on line 1 of src/App.scss\n>> @import \"@boundlessgeo/sdk/stylesheet/sdk.scss\";\n\n   ^\n"
}

following the step adding the sdk scss file to App.scss
@import<EMAIL_ADDRESS>
Repeated on Mac and Ubuntu

FWIW, in order to get the "Getting Started" guide to work, I had to check out and build the sdk (option B for installing). This required installing cairo in order to install node-canvas; brew install cairo on Mac and sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev on Ubuntu. Then I had to yarn add<EMAIL_ADDRESS>to rollback from a v3 beta release.

thanks for your feedback @aliasmrchips I am going to run to the getting started myself again and will update where needed

I retried the "Getting Started" with the updates and it worked like a charm. Thanks!

thanks for confirming @aliasmrchips


chore: bump dependencies version to work with node10

Description

Bump segfault-handler to 1.0.1.
Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Should fix #109


example suggestion: How to do multiline strings in Roc?

Clarifying question, this is the kind of example you are expecting right?
greeting = "Hello Sahil\nThis is a multi-line string"

I think more like
query =
    """
    UPDATE sessions
    SET user_id = \(Num.toStr user.id)
    WHERE session_id = \(Num.toStr sessionId);
    """


Update git tag sort handling for skaraMirror.sh

Update tag sort handling to handle <IP_ADDRESS>+1 "patch" version
Signed-off-by: Andrew Leonard<EMAIL_ADDRESS>

@andrew-m-leonard ^^


Firefox 49.0.2 drag and drop will open a new TAB

http://rubaxa.github.io/Sortable/
Firefox 49.0.2  The default opens the drag and drop gesture，drag and drop will open a new TAB;

I had some other issues with Sortable.js and Firefox 49. Text Input Fields inside a sortable element were not selectable anymore.
In my case, I could fix it by removing / commenting out the following line:
dragEl.style['will-change'] = 'transform';
Maybe it's the same issue and this workaround works for you as well?

Sortable working fine on jquery-sortable but  No jQuery Firefox open a new tab, No jQuery there is no quick solution?

i also met。firefox49.0.2 。I removed dragEl.style['will-change'] = 'transform'; but it is not ok。

same Q.

also

I have the same Q too.It's a firefox drag feature, not a bug. You can disable it by settings.
looked at about:addons

I find a solution, it works:
document.body.ondrop = function (event) {
    event.preventDefault();
    event.stopPropagation();
}

I have the same Q too.Thanks to RoamIn ! I have fixed it with the solution of RoamIn.

Thanks RoamIn. It really works!

Thanks @Roamln

xiexie

@RoamIn your solution works, but all the dom on the page can not receive any drag event!

@RoamIn your solution works, but all the dom on the page can not receive any drag event!

Pity...

This is due to your browser extension. You can get around this yourself if you use setData:
new Sortable(myList, {
    setData(dataTransfer) {
        // use dataTransfer.setData to set data
    }
});

This is due to your browser extension. You can get around this yourself if you use setData:
new Sortable(myList, {
    setData(dataTransfer) {
        // use dataTransfer.setData to set data
    }
});

Nice work. it is better than setting 'ondrop ' on body!


Update the default char_pos_tracker to have a smaller (or empty) list

We should have more lightweight defaults, as this part of the string tracker can generate a significant portion of the overall serialized datasetprofile size it should be opt in.
see https://github.com/whylabs/whylogs/blob/mainline/src/whylogs/core/statistics/stringtracker.py#L36

no char_pos tracker in 1.0.0 on by default, but we can consider this for maintenance fix of 0.7.x


Added arrowsAroundDots option

The arrows will be inserted before and after the dots. I have introduced a dotsClass wrapper div to position the arrows and the list inline. Also the arrows are wrapped to retain the toggled display block option (maybe not necessary). An example SCSS for the option is added to the PR.
Thanks for the nice carousel.

Sorry if I missed your point, but isn't this already possible with custom arrows (appendArrows) and appendDots option?
http://jsfiddle.net/o4toq31q/128/

Sorry, I did not notice that option. It would have made the patch a bit easier.
It is not the same. The markup on the fiddle makes it impossible to have the arrows displayed inline before and after the dots without knowing how many dots are displayed like in this screenshot:

If there are less dots, the arrows move more in the middle. The prev button has to be placed before and the next button has to be displayed after the dots and all three elements have to be placed inline. It is not possible with display absolute of the arrows.
Maybe an wrapArrows option could do that without adding the dotsClass wrapper and the arrow wrappers. If there is a chance of adopting this, I would prepare another pull request.


bats: fixes installation

Things done:

[x] Tested using sandboxing (nix-build --option build-use-chroot true or nix.useChroot on NixOS)
[x] Built on platform(s): NixOS
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

The build was failing with:
/...-stdenv/setup: ./install.sh: /usr/bin/env: bad interpreter: No such file
or directory
See https://hydra.nixos.org/build/32353411/log

Looks like I forgot to test this with a chroot


Default response on logic adapter

hey, i'm just using the doc code for default response:
´def get_default_response(self, input_statement):
from random import choice
    if self.default_responses:
        response = choice(self.default_responses)
    else:
        try:
            response = self.chatbot.storage.get_random()
        except StorageAdapter.EmptyDatabaseException:
            response = input_statement

    self.chatbot.logger.info(
        'No known response to the input was found. Selecting a random response.'
    )

    return response´

but, could I define one especif response instead of selecting a new one?

If you are looking specific response please specific response adapter for more information please go through this link https://chatterbot.readthedocs.io/en/stable/logic/index.html#specific-response-adapter


Database Schema Description Not Visible After Navigating to Next Page

Describe the bug
The database schema description is not displayed in the UI after navigating to the next page and then returning to the previous page.
To Reproduce
Steps to reproduce the behavior:
1.Go to 'Plugins -> Add Plugin -> PostgresDB.
2. Fill in the necessary fields, then click Connect and Save and Continue.
3. Go to the page displaying the database schema description.
4. Add a description in the schema description field on the first page.
5. Navigate to the next page.
6. Return to the previous page.
7. The database schema description is no longer visible.
8. See error
Expected behavior
The database schema description should remain visible after navigating away and returning to the page.
Screenshots

Desktop (please complete the following information):

OS: Windows
Browser chrome

@sethumadhavan-k  please assign me this issue.


Feat/delete data

IMPORTANT: Please do not create a Pull Request without creating an issue first.
Any change needs to be discussed before proceeding. Failure to do so may result in the rejection of the pull request.
Do not change the following line aside from replacing YOUR-ISSUE-HERE with the issue this PR fixes
fixes #476
Please provide enough information so that others can review your pull request:
Explain the details for making this change. What existing problem does the pull request solve?
I added a button in the settings for a user to delete all data, which seems to make logical sense. A dialog will render asking if a user is sure they want to delete. If they click yes, it deletes the observation file, all individual observation files, and clears the detailData and observations in the redux store.
This should satisfy the legal requirements that users can delete their data at any time.
Test plan (required)

Demonstrate the code is solid. Example: The exact commands you ran and their output, screenshots / videos if the pull request changes UI.

Final Checklist

[ x ] Have you bumped the version in package.json?

Second decimal for major change, third decimal for minor change. This can go past 10 i.e. 1.0.9 !=> 1.1.0, 1.0.9 => 1.0.10
Read here for more info

[ x ] Have you added any new tests necessary?
[ x ] Is your PR rebased off the most current master?
[ x ] Have you squashed all commits, or if you will merge will you squash all commits?
[ x ] Did you use yarn, not npm?
[ x ] Did you use Material-UI wherever possible?
[ x ] Did you format according to Prettier?
[ x ] Did you run all of your most recent changes locally to make sure everything is working?

For anyone reviewing - take a look at the referenced ticket where we decided for now adding basic "delete all" functionality is a good first step leading up to Friday's beta launch, and from here we'll add functionality to delete specific files as how to best do that becomes a more involved conversation (modifying observations.json, dealing with currently basing adding new observations off of total observations, and if we delete one that will throw things off, etc)

One question I would have is when we said "delete everything" did we mean delete all observations or delete all user data?  I was assuming it was the latter.  This leaves intact, for instance, the onboarding data.  Not sure what else is in gaia but at least that.

I think for the scope of the story we should keep it to observations, but that's a good point, @fallon7284
I can write out another issue for "Delete All User Data" - because that can still be very different and should have a different "are you sure?" type message. But, this does comply better with regulations (not in the US) giving individuals the right to be forgotten.

Code looks pretty much on point except for the two bugs @acthelemann caught that need to be fixed to ensure that we actually delete all of the files -- 1) the number of files is the length of observations.json, not the length of observation.json - 1 and 2) the if you're looping from 1 to the number of observations, you're loop should run until <= numObservations.  Those are noted where needed and I'm going to make one more suggestion about naming functions on the relevant file, but otherwise looks good to me.

Also, almost slipped my mind, let's add a couple of quick unit tests for the component and actions

Writing the tests will likely take me a good while, but so far I've got all the changes except the red button color. It's red but there's some property that makes it go transparent on hover that I'm trying to identify.

@JWaltuch Great work!
you can add to class deleteButton this:

    '&:hover': {
      boxShadow: '0px 1px 10px 0px #f64141',
      background: `#f64141`,
    },

I think I got everything, so hopefully is ready to merge! :)

Haha I did bump it but I'm guessing when I merged in changes in bumped it back lol. Should be fixed!

Got it.


Possible to implement drop pin feature ?

Currently, to pick a location I am using your showSimplePickerLocation widget, However, is it possible to use it from the OSMflutter widget itself as I have to open two different screens? sth like this? https://pub.dev/packages/map_pin_picker

yeah you can open two different screen and each screen contain its own OSMFlutter

I meant in one screen.  In osmflutter only.  I dont want to open two screen. I want to use the picker in osmflutter widget. Is that possible or if u could tell how I could do it. I will try it out.

i think to implemented you need some other feature should be added to plugin
like getGeoPointCenter() direclty

i will make more reseach about what mappicker propose to see how i can help you to acheive that

i think you can use pickerMapController and change isPicker OSMFlutter to  true
and the icon make it invisible or empty widget like SizedBox.shrink()
and use method of pickerMapController to getCenterPosition

This, is what I want to achieve , Now in my OSMFlutter widget, I can get the MapPicker,
 child: MapPicker(
                    iconWidget: Icon(
                      Icons.location_pin,
                      size: 30,
                      color: Colors.red,
                    ),
                    //add map picker controller
                    mapPickerController: mapPickerController,
                    child: (OSMFlutter(
                      key: _mapKey,
                      controller: osmController,

                      staticPoints: [
                        StaticPositionGeoPoint(
                          driverKey,
                          MarkerIcon(
                            //icon: null,
                            icon: Icon(Icons.star),
                          ),
                          [GeoPoint(latitude: driverLat, longitude: driverLon)],
                        ),
                      ],
                      //currentLocation: false,
                      road: Road(
                        startIcon: MarkerIcon(
                          icon: Icon(
                            Icons.pin_drop,
                            size: 64,
                            color: Colors.green,
                          ),
                        ),
                        roadColor: Colors.yellowAccent,
                      ),
                      markerOption: MarkerOption(
                          defaultMarker: MarkerIcon(
                        icon: Icon(null
                            //Icons.star_half_rounded,
                            //color: Colors.blue,
                            //size: 56,
                            ),
                      )),
                    )),
                  ),

but to  get the MapPicker working I need these three functions

onCameraMoveStarted: () {
// notify map is moving
mapPickerController.mapMoving();
},
onCameraMove: (cameraPosition) {
this.cameraPosition = cameraPosition;
},
onCameraIdle: () async {
// notify map stopped moving
mapPickerController.mapFinishedMoving();
//get address name from camera position
List addresses = await Geocoder.local
.findAddressesFromCoordinates(Coordinates(
cameraPosition.target.latitude,
cameraPosition.target.longitude));
// update the ui with the address
textController.text='${addresses.first?.addressLine ?? ''}';
},
I know you are busy, if you can give me few suggestion then I will work on it.

yeah i should add  onCameraMoveStarted,onCameraIdle
but implementing  onCameraIdle will be tricky on the android side

i can add getCenterPosition and you can compare between current value and previous to start or finishMoving

Okay! That would be great!

try to put isPicker in OSMFlutter to true and use PickerMapController as Controller
and use this method getCurrentPositionAdvancedPositionPicker to compare between previous and current geoPoint
and for icon use any icon with transparent color or withOpacity(0) to make it invisible and size  equal to 0

Oh! That should work I think. I will give it a try. Thank you.


explorer.cardano.org is down

Hi, guys,
https://explorer.cardano.org/ is currently down, would someone take a look at it and bring it back? Thanks.
And I am from Ownbit wallet team. The latest version of Ownbit is supporting ADA now. Can we share the news to the community together? And is there some 3rd party ADA Waller’s webpage, so that Ownbit can be added?
Website: https://ownbit.io
Thanks for your help.
Best Regards from Ownbit team

Thanks for the report @jtomtan
Our service team was already investigating and since resolved the issue. Please note, cardano-explorer-app and the new backend services are not being served at https://explorer.cardano.org/ yet, however this is due to change very soon.

The latest version of Ownbit is supporting ADA now. Can we share the news to the community together?
Fantastic! I'll ask a team member from the relevant area to get in touch

Thanks for the report @jtomtan
Our service team was already investigating and since resolved the issue. Please note, cardano-explorer-app and the new backend services are not being served at https://explorer.cardano.org/ yet, however this is due to change very soon.

The latest version of Ownbit is supporting ADA now. Can we share the news to the community together?

Fantastic! I'll ask a team member from the relevant area to get in touch

Thanks for the reply. Please let me know if someone I can contact.


Add optional default to Category node

Closes #1
Also clean up handling of optional attributes in evaluator

@IzaakWN does this work for your case?
I remember we talked about about specifying the default in the Variable but I decided against that, based on the fact that all variable types are default constructible so if the user wants to put in a dummy value they can.
The keyword-only evaluate signature we talked about can still be implemented by just default-constructing the missing arguments. Perhaps still we can add a boolean required flag to the input Variables but at least it is orthogonal to putting defaults in the nodes.

Yes, the default field in Category looks good to me!
Regarding a default value in Variable, I don't think it would be strictly necessary, but we can think about it in the future if it would not be too difficult. Without a default input, users will be forced to chose think about what dummy value to pass, which can be either good or bad.

I think we can make a nice solution for default Variable input by allowing a sentinel object in the variant for the evaluate signature, e.g.:
double Correction::evaluate(const std::vector<std::variant<int, double, std::string, Variable::default>>& values) const;

But I will save that for another PR.
I think also that, after adding the binning overflow in #37, it might make sense to allow the default value to be any Content node, that way it is clearly separated from the valid keys in the mapping.

We could also have
default: Union[int, str, Content]

so that one could re-use a key or add a new node. The question is whether this is prone to abuse: after all, if there is a default, it need not have a key. But I could also see an argument for having a "nominal" key.

I settled on default: Optional[Content] since:

A category with no default will always throw on invalid element
A category with a named default value can simply omit the named value from the regular items, as the missing name will resolve to the default
A category with a named value that has some significance needs to handle the name at a different level (e.g. for a systematic node (#4), it might have a Category subnode and descend "nominal" and "shift" category items to return a shifted value)


Unable to pass custom properties in DirectLine API activity post C#

Requirement : In our project we need to pass Activity object using C# in DirectLine API. With other property along with from , text ,type we want to pass "Properties" as well.
Error: Without passing own property it is working fine. But when we are assigning "Properties" parameter in Activity object below exception we are getting during execution of calling method. (From which method we are filling activity and calling API). Although "Properties" is a set property as well.
"Method not found: 'Void Microsoft.Bot.Connector.DirectLine.Activity.set_Properties(Newtonsoft.Json.Linq.JObject)".
DLL Info : We are using Microsoft.Bot.Connector.DirectLine 3.0.2 DLL to call the DirectLine Api.

Please suggest how we can pass our own property in Activity object. Thanks in advance.

You will need to pass the custom properties in Activity.channelData. As channelData is for additional data that is related to that specific message. You can refer to these links below to pass custom properties in DirectLine:

https://github.com/Microsoft/BotFramework-WebChat/issues/721
https://github.com/Microsoft/BotFramework-WebChat/issues/395
https://github.com/microsoft/botframework-sdk/issues/3483

Hope this helps.

Were you able to pass the custom properties in Activity.channelData?

Closing the issue assuming its resolved.

sorry for delay reply anusharavindrar. Implemented using channelData and it is working as expected. thanks for your support.


Fixed incorrect external symbol declaration

Cause SOM-Dashboard failed to link libplatformstats.so

tested the patch on both Ubuntu KR06 and petalinux 0614 kv260 - they both had errors before the patch and patch fixed them.


Incompatible clang causes nvcc and thread-local storage issues

I started getting nvcc fatal : The version ('80100') of the host compiler ('Apple clang') is not supported errors on build, even though this install guide on NVidia said that clang 8.0 would work.
So I downgraded via instructions on this thread and was able to get almost everything to build, but when I started getting thread-local storage not supported errors, I had to switch back.  I didn't know how to switch back so I just downloaded the newer command line tools package from the Apple developer downloads site.
Just wanted to share how I got past some issues that had me stuck for a while.  Maybe there's a way to fix these down the line?

I had a similar issue today setting up a new machine. Here's the steps that worked for me (from this article):

download Xcode 7.2.1 from the apple developer website
create a new directory /Applications/XCode7.2.1/
copy the entire XCode.App inside /Applications/XCode7.2.1
sudo xcode-select -s /Applications/XCode7.2.1/Xcode.app/
compile mapd like normal


Not in center at ListFragment

I also got this problem, solution is your listView must be in a RelativeLayout, please check the layout file int the example


fixes#706condensed-header

Fixes #706
@joshuarrrr Hi Joshua, could you have a look at the additions I made here and make sure I captured everything we need to have? Also, will this backport to 1.3 and 2.0? Thanks.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@natebower I've incorporated all of your suggestions. Thanks.


Fixed missing quotations around name in frontity.settings.js

Hi @davidshq, thanks for this PR. Key names in JS objects don't need to have the quotes around them. The code should work fine as it is. Did this cause you any issues?

Hmmm. Yes, it did. I'll try it again and get back to you with an exact error.


Rake task is not "grepable"

bundle exec rake -T | grep maintenance
# nothing
bundle exec rake -W maintenance:start
# nothing
bundle exec rake maintenance:start
# works just fine

Took me some time to find out what is going on.

Yeah, that's unfortunate. It's because turnout uses rake rules rather rather than rake tasks. I went into some detail on it in an earlier issue.


Add separate audio and video MIME types to Track API

Have you read the FAQ and checked for duplicate open issues?
Yes
Is your feature request related to a problem? Please describe.

CAF would like to be able to determine the audio and video MIME types separately, and without resorting to the Manifest API.
Describe the solution you'd like

Add videoMimeType and audioMimeType fields to shaka.extern.Track.
Describe alternatives you've considered

This is already available from shaka.extern.Stream within shaka.extern.Manifest, but getManifest() is discouraged.
Additional context

b/114766347 for internal context

@joeyparrish I can work on this tomorrow, if you're interested...

Thanks!


Group-by does not work for nested objects

Why cannot  the following group-by="'country.countryName'" be done?

This is actually a decision between supporting
[{
  "name": "A",
  "last.name": "B"
}, {
  "name": "C",
  "last.name": "B"
}]
group-by="'last.name'"

versus
[{
  "name": "A",
  "country": {
    "name": "B"
  }
}, {
  "name": "C",
  "country": {
    "name": "B"
  }
}]
group-by="'country.name'"

I think the first one is currently supported, but you can use a function for either.

Well I am currently solving this with a function. At the moment, I am referring to your second mock which has an object with a nesting -- i just think that it can be a lot more elegant if I would not have to solve it without a function, but I can see how just writing custom function on my end would be a better solution.
Thank you
Eugene

Closing as a resolved support issue.


Add quote to beginning of journal

I'd like to add text to the beginning of the journal entry. How do I get text from my shell script quote (in quote.sh) to select a random quote and add it to my journal text file? I keep getting "permission denied" on the newly created file.

Get file
Get number of lines
Create random number
Get quote at random number
Get slug.txt
Add quote to slug.txt
Save journal entry

Appending text to a file in bash:
"hello" >> currentJournal.txt

quote | cat - ${JOURNAL_DIR}/${_now}.txt > temp && mv temp ${JOURNAL_DIR}/${_now}.txt


Separate Debugger into a distinct struct from Interpreter

The immediate, selfish motivation for this change is that I want to add a parameter to the Interpreter constructor (in #1038) that is really only relevant to debugger scenarios, and I didn't want to update every single call to Interpreter::new.
But I think this is a good change regardless. Some methods and fields in Interpreter are only applicable to debugging, and the rest are only applicable to not-debugging. It's really two separate use cases and two separate sets of data. I wanted to make this distinction clearer.
Very open to feedback and opinions, and suggestions for further cleanup.

@cesarzc would you mind taking a look? I'm touching a couple of folders where you're the owner.


Can we manually set the camera position inside the image stack?

Currently, the camera position is automatically set by choosing a specific annotated nucleus.
It will be more helpful if we can manually decide where we are looking at.

Implemented for next release.


refactor(iroh)!: replace public fields in iroh client with accessors and use ref-cast to eliminate them entirely

Description
With 4 different clients, the current approach might be OK. But we are going to have more. E.g. gossip, see https://github.com/n0-computer/iroh/pull/2258 .
And in any case it feels weird to store the same thing multiple times.
So this replaces public fields in the iroh client with accessors and use ref-cast to eliminate them entirely. There is now only one rpc field, and you can switch from that to the different subsystem client views without runtime overhead, not even an arc clone.
Breaking Changes
Everything that uses the iroh client will have to switch from field accesses to accessor fns.
Notes & open questions

Change checklist

[ ] Self-review.
[ ] Documentation updates if relevant.
[ ] Tests if relevant.
[ ] All breaking changes documented.

lets keep the fields and deprecate them in this PR, and drop them only in the next release

I asked on the public discord. For what it's worth, people seem to be in favour of this change:


Update website link in git description to https://moribvndvs.github.io/ng2-idle/

Current website link in git description points to a 404.

+1

Thanks for the link...couldn't find documentation anywhere.


Localization options

Hello, I am working on a support issue with a Spanish user who is trying to deploy this app. However, it looks like the app is only available as localized for French (C:\inetpub\wwwroot\map-carousel-template-master\js\nls). Is it possible to provide localization for es (Spanish) for this application when deployed locally? Thanks!

have you tried deploying the es files below?
https://github.com/Esri/map-carousel-template/tree/master/nls/es

Thanks John! I am working on adding the file now. For some reason all of the nls files are not coming through on the download for me and the customer. I realized the file was there after adding the issue, so may have jumped the gun.
I appreciate your quick response!
Cheryl
From: john gravois<EMAIL_ADDRESS>Sent: Wednesday, May 04, 2016 10:33 AM
To: Esri/map-carousel-template<EMAIL_ADDRESS>Cc: Cheryl Hagevik<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [Esri/map-carousel-template] Localization options (#3)
have you tried deploying the es files below?
https://github.com/Esri/map-carousel-template/tree/master/nls/eshttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_Esri_map-2Dcarousel-2Dtemplate_tree_master_nls_es&d=CwMCaQ&c=n6-cguzQvX_tUIrZOS_4Og&r=xnCSVirz6ai0VtfsJAP3Q6gvjm1qL7mccglNhlZDQj8&m=L_qnZk-oJttK5H2XBVbwo1M7PZMOCS0R6uEWaGltqOw&s=P9sT-O-rl2o2qajJKzDtIAUcxzU_H392mdo1Dt0AaJw&e=
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_Esri_map-2Dcarousel-2Dtemplate_issues_3-23issuecomment-2D216883637&d=CwMCaQ&c=n6-cguzQvX_tUIrZOS_4Og&r=xnCSVirz6ai0VtfsJAP3Q6gvjm1qL7mccglNhlZDQj8&m=L_qnZk-oJttK5H2XBVbwo1M7PZMOCS0R6uEWaGltqOw&s=gsNqMQa3lPhFsuKs3fuWsPh7sVHhmpXih5Itw0H67Xk&e=

i'm seeing proper file structure in the Download ZIP link in the project homepage.  if you're still experiencing errors and can provide additional information i'd be happy to dig in deeper.

Hi John,
It looks like I am not seeing the full download when using Chrome (50.0.2661.94). However, I was able to get all of the nls folders successfully when downloading through Firefox (46.0).
Thanks,
Cheryl
From: john gravois<EMAIL_ADDRESS>Sent: Wednesday, May 04, 2016 12:45 PM
To: Esri/map-carousel-template<EMAIL_ADDRESS>Cc: Cheryl Hagevik<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [Esri/map-carousel-template] Localization options (#3)
i'm seeing proper file structure in the Download ZIP link in the project homepage. if you're still experiencing errors and can provide additional information i'd be happy to dig in deeper.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_Esri_map-2Dcarousel-2Dtemplate_issues_3-23issuecomment-2D216925815&d=CwMCaQ&c=n6-cguzQvX_tUIrZOS_4Og&r=xnCSVirz6ai0VtfsJAP3Q6gvjm1qL7mccglNhlZDQj8&m=og37-lw3MTYyxq33go-f1eMiTZRNhkEC-2UmMBfV7OM&s=nrayErVQOrgVsM0u2pcHKAWX_Nr99hGZ088fQj6byVo&e=

I am not seeing the full download when using Chrome (50.0.2661.94)

strange.  im not having any trouble using Chrome 50.0.2661.86 on my mac.

That is odd!
From: john gravois<EMAIL_ADDRESS>Sent: Thursday, May 05, 2016 4:11 PM
To: Esri/map-carousel-template<EMAIL_ADDRESS>Cc: Cheryl Hagevik<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [Esri/map-carousel-template] Localization options (#3)
I am not seeing the full download when using Chrome (50.0.2661.94)
strange. im not having any trouble using Chrome 50.0.2661.86 on my mac.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_Esri_map-2Dcarousel-2Dtemplate_issues_3-23issuecomment-2D217264346&d=CwMCaQ&c=n6-cguzQvX_tUIrZOS_4Og&r=xnCSVirz6ai0VtfsJAP3Q6gvjm1qL7mccglNhlZDQj8&m=UYt9uWMjBLPoh9f6vgmW0urj0gDftOO7n_q7G0kgKzA&s=bE5iR6yykUjzI-6ZB-aAb9RWWgJri9TISYOg5Y5AZnE&e=

Hi John,
We are also seeing this issue with the Hosted Map Carousel app when any browser is set to Spanish language settings. The app is unable to access the map-carousel-template-master\map-carousel-template-master\nls\es folder. I am not sure if you also handle issues with the Hosted Configurable App? I am also going to submit a support defect, but wanted to go ahead and pass along the details.
Here are the browser versions where I have reproduced the issue:
Chrome 50.0.2661.94 m, Firefox 46.0.1, IE 11
I suspect the issue will also occur with browser language settings other than French and English but have not tested yet. Please let me know if there is anything else I can do to help with this issue.
Thanks!
Cheryl
From: john gravois<EMAIL_ADDRESS>Sent: Thursday, May 05, 2016 4:11 PM
To: Esri/map-carousel-template<EMAIL_ADDRESS>Cc: Cheryl Hagevik<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [Esri/map-carousel-template] Localization options (#3)
I am not seeing the full download when using Chrome (50.0.2661.94)
strange. im not having any trouble using Chrome 50.0.2661.86 on my mac.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_Esri_map-2Dcarousel-2Dtemplate_issues_3-23issuecomment-2D217264346&d=CwMCaQ&c=n6-cguzQvX_tUIrZOS_4Og&r=xnCSVirz6ai0VtfsJAP3Q6gvjm1qL7mccglNhlZDQj8&m=UYt9uWMjBLPoh9f6vgmW0urj0gDftOO7n_q7G0kgKzA&s=bE5iR6yykUjzI-6ZB-aAb9RWWgJri9TISYOg5Y5AZnE&e=

Hi, we have a bug for this that is scheduled to be fixed in the June release of arcgis online.
BUG-000096260 Map Carousel application template will not load when browser language is set to German.  Every locale but Fr and En are involved.

Great thanks Ian! Glad to hear that the issue is being addressed and that I can attach to the existing defect.
Cheryl
From: Ian Wittenmyer<EMAIL_ADDRESS>Sent: Friday, May 06, 2016 12:16 PM
To: Esri/map-carousel-template<EMAIL_ADDRESS>Cc: Cheryl Hagevik<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [Esri/map-carousel-template] Localization options (#3)
Hi, we have a bug for this that is scheduled to be fixed in the June release of arcgis online.
BUG-000096260 Map Carousel application template will not load when browser language is set to German. Every locale but Fr and En are involved.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_Esri_map-2Dcarousel-2Dtemplate_issues_3-23issuecomment-2D217487959&d=CwMCaQ&c=n6-cguzQvX_tUIrZOS_4Og&r=xnCSVirz6ai0VtfsJAP3Q6gvjm1qL7mccglNhlZDQj8&m=IvktkaNCWYMPNe3nMjzC3ZOJDmRlVmzrYZXkCnWjslU&s=9MQSBumE0uGCWSGlnFcClZI6p4zb1_EfzpDjn3KJ2Jk&e=


DISTMONGO-231 End of life banner for 4.2

modified:   _resource/overrides/main.html
modified:   docs/css/percona.css

The banner appears only after the merge. Adding the preview screenshot here

 The banner appears only after the merge. Adding the preview screenshot here

It may be only me but when I read it I understand that the documentation, not the version is no longer supported.


python: fix missing pin.

Fix a missing "pin." when calling computeJointJacobians(model,data,q)

@paLeziart If you end up with this issue, it also means that the tutorials that you're following are not up to date.
It would be nice to do it. Can you handle it?

@jcarpent It would be tedious for me to do that because I'm just a beginner using Pinocchio and I don't even have the corrections of the different exercises.
I managed to do the two first exercises, the third one cannot be done because the source of the mobile robot is gone. For the fourth one I have a hard time doing question 4 because I don't see how to minimise (\ddot q - \ddot q_0)^T M (\ddot q - \ddot q_0) using solve_qp. For now I use it to minimize x^T M x and then add \ddot q_0 to the result but it's not working very well. Maybe there are updated tutorials somewhere that could be used to replace these ones.


[Tabs] Use the correct window reference

[x] I have followed (at least) the PR section of the contributing guide.

See https://github.com/mui-org/material-ui/pull/16427#discussion_r300698248 for reference.

@NMinhNguyen Nice Job 👍


ECMA Script 6 - Implementation Model

Please find the implementation at https://github.com/hegdeashwin/protocore-es6-edition


Sei Shonagon Second Interlude

I wish you could translate sei's second interlude. Kinda suprising since her second interlude has been out for a while now and still haven't been translated.

Reopen if this isn't fixed now.

still not fixed


Skip response parsing for raw requests

With this commit we skip response parsing for raw requests. As users might leverage the raw-request operation type for any kind of request, it is possible that it produces arbitrarily large responses, which might introduce client-side bottlenecks. As we don't inspect the response body, we might as well just use the raw response internally and avoid an accidental bottleneck due to response parsing.

Thanks!


Plane Mirror Device

Plane mirror is used widely (possibly).
There are 2 instances at i20-1, the share those channels:

Strip(Select) - enum field for the material element - ME2 has Silicon, Rhodium (10 mm or 17mm thickness),  ME1 has  Rhodium, Platium (-21 or -12 as positions)
Pitch (mrad)
Y Position (enum in/out)
Roll (mrad)
Y (mm)
ME1 - does not have and rollw Y position, but has yaw and curvature.

And temperatures.
Acceptance Criteria
TODO - ask how are those mirrors used, what is the most common space of movement.
At least 1 class of mirror has been created.

This sounds similar to the existing FocusingMirror. Would be good to investigate if a common solution can be used for both

See also https://github.com/DiamondLightSource/dodal/issues/398

quite like #416 this is not the highest priority. Yet if other mirrors are faster and need ophyd device, that device could be uset here for the setup phase too.
@tomtrafford - how to frame best the answer to the 'what is the most common space of movement' question?