Does not work with React Native Expo SDK 42+ Please Remove Isomorphic-Webcrypto

Currently building a React Native app and just finished porting it over from Firebase to CosmosDB.
Everything looked great, but when I went build it for deployment, I get this error on eas build:
❌  ld: 12 duplicate symbols for architecture arm64
Turns out, I am by no means the first. Others in the community narrowed down the problem to a package called @unimodules/core, which is a dependency of isomorphic-webcrypto, which is a dependency of @azure/cosmos.
The issue has been open on the isomorphic-webcrypto package for some time https://github.com/kevlened/isomorphic-webcrypto/issues/65
But that package has only one maintainer, and hasn't been updated in over a year.
Because there is no movement on the isomorphic-webcrypto package, I am asking that the Azure Team please remove  isomorphic-webcrypto as a dependency, so that react-native Expo devs can use an up-to-date version of Expo.
Thank you so much!

Label prediction was below confidence level 0.6 for Model:ServiceLabels: 'Azure.Core:0.40485868,Storage:0.09189288,Cosmos:0.0918496'

@jeremymeng can you look into this and make a recommendation for how to best resolve?

cosmos uses isomorphic-webcrypto for sha-256 digest and hmac computation when targeting React Native.  We could change to not explicitly require this package, and instead rely on customers to provide necessary crypto polyfill.
https://github.com/Azure/azure-sdk-for-js/blob/bdf740cb2e3a83527dcbe64ecb93b696f0a97838/sdk/cosmosdb/cosmos/src/utils/globalCrypto.native.ts#L7
In app config we use computerSha256Hash and computerSha256Hmac from @azure/core-util.  On React Native, it falls back to the browser version, which requires the importKey, sign, and digest from crypto.subtle API.
Our current sample provides the polyfill using isomorphic-webcrypto though as it is the only one that I know of and tested on Android Emulator. https://github.com/Azure/azure-sdk-for-js/blob/bdf740cb2e3a83527dcbe64ecb93b696f0a97838/samples/frameworks/react-native-expo/ts/appconfigBasic/shims.ts#L5-L6
If isomorphic-webcrypto doesn't work on iOS then we need another polyfill.
Another approach is to provide digest/hmac functionality using RN-native packages. But I haven't found any blessed packages for this.

Update: I found a temporary workaround, which is to use Expo's classic build service, instead of their newer EAS build service. Unfortunately, the classic build service is deprecated and goes offline in about 160 days. So I'm reaching out to them and see if they can get EAS build to work like classic in this regard, or hold off on deprecating classic.
Thanks @jeremymeng  and @xirzec for looking into it. I wish you luck finding another polyfill.

https://github.com/expo/eas-build/issues/121#issue-1309922843

Update: can confirm that this issue is affecting android builds on Expo EAS, not just ios.
Any progress on removing isomorphic-webcrypto?

@charlestbell I opened a draft PR #23156.  Please give try the package produced by the CI automation.  If I understand correctly, removing the dependency would hopefully fix the build errors, but you would get runtime error when using cosmos, unless you provide crypto polyfills.

PR #23156 doesn't work in my testing. I will spend some more time on this then get back to you.

@charlestbell here's an updated version that I was able to use to run some cosmos test in Android Emulator (with polyfills).  Please give it a try

Thank you, I'll take a look

I pasted the updated package slice inside my node modules folder in @azure/cosmos, but I'm still fuzzy on how to polyfill crypto.
I did some digging and came up with rn-nodify.js  but that option is looking scary.
What did you use @jeremymeng?

@charlestbell I was able to use isomorphic-webcrypto on Android Emulator.  Here's my shim.js which I load at the beginning of app.js before importing Azure SDK packages.
import "react-native-url-polyfill/auto";
import "react-native-get-random-values";
import "text-encoding-polyfill";
const getRandomValues = global.crypto.getRandomValues;
import * as crypto from "isomorphic-webcrypto";
global.crypto = crypto;
global.crypto.getRandomValues = getRandomValues;

Pardon my ignorance, but if this is still using isomorphic-webcrypto. Then how does it help me with my problem?

I don't have an issue with Android Emulator, I have an issue with Expo Application Services' build process, using the eas-cli.

Pardon my ignorance, but if this is still using isomorphic-webcrypto. Then how does it help me with my problem?

@charlestbell My PR removes cosmos' hard-coded require dependency on isomorphic-webcrypto so expo will not load it during build time, and customers have an opportunity to provide their own crypto polyfill.  At this point I don't know about other crypto polyfill that would satisfy EAS build. Maybe expo team has more insights on this?

Understood. Thank you.
I don't know where to find a polyfill either, so I'm in the same boat.
Thanks for doing what you've done though. If anyone knows of another polyfill, I'll give it a try with the version you provided.

Getting issue without expo
https://github.com/Azure/azure-sdk-for-js/issues/26574

Can isomorphic-webcrypto be replaced with expo-crypto? Getting the same issue as well.

Can isomorphic-webcrypto be replaced with expo-crypto? Getting the same issue as well.

The problem is @azure/cosmos has a dependency on isomorphic-webcrypto:
https://www.npmjs.com/package/isomorphic-webcrypto?activeTab=dependencies
isomorphic-webcrypto has a dependency on @unimodules/core - @unimodules/core is deprecated.
Maybe we could update isomorphic-webcrypto to not have a dependency on @unimodules/core?

At this point I don't know about other crypto polyfill that would satisfy EAS build. Maybe expo team has more insights on this?

@jeremymeng  I think you can probably use the react-native-webview-crypto package and create a polyfill that supports web.crpyto calls. There's an example that works in the github link
https://github.com/webview-crypto/react-native-webview-crypto
Just used it for a private project where I couldn't use isomorphic-webcrypto

There is a fork here that removes the @unimodules/core dependency and uses expo-crypto:
https://github.com/earonesty/isomorphic-webcrypto
For this to work with eas build I think you would need to add the following to the the package.json for this fork:
  "react-native": {
    "./src/main.js": "./src/react-native.js",
    "./src/index.mjs": "./src/react-native.js"
  },


Support UNSPECIFIED payload format in CloudEvents mapping

This is a follow up of
https://github.com/eclipse-uprotocol/up-spec/pull/247

@stevenhartley would you mind taking a look?

We cannot get rid of datacontenttype. If we want to add a new one called pformat that we could but datacontenttype is defined in CE specs and it is needed for backwards compatibility with older versions of the protocol

What older version of which protocol are you referring to? An old version of uProtocol? If so, what exactly are the expectations regarding the use of datacontenttype in that old version?
CloudEvents itself does not actually define datacontenttype to contain a value, based on my understanding of the spec ...

We cannot get rid of datacontenttype. If we want to add a new one called pformat that we could but datacontenttype is defined in CE specs and it is needed for backwards compatibility with older versions of the protocol

What older version of which protocol are you referring to? An old version of uProtocol? If so, what exactly are the expectations regarding the use of datacontenttype in that old version?
CloudEvents itself does not actually define datacontenttype to contain a value, based on my understanding of the spec ...

Older versions of the protocol would reject anything that was not application/x-protobuf (what was in production) because AFAIK the PR I made to remove this attribute (and assume it is this type all the time) did not make it into the production code in the cloud.
Cloudevent specifications does define the attribute as optional here.
Having said that, I am simply asking that we do not remove the attribute definition and in fact leave the "if it is missing it is assumed to be application/x-protobuf).
If we want to add a new attribute that sends an int in lie of a string, that is ok, but don't change the behavior of datacontenttype

2. unset

I think we leave it as is meaning we keep datacontenttype and if it is not present we assume it is UPAYLOAD_PROTOBUF_WRAPPED_IN_ANY.

@sophokles73 , i was thinking, since we are re-writing the cloudevent, why don't we get rid of the string names for the various non-mandatory CE types (i.e. everything other than id, type, source)? Since it is a key-value pair where the key is a string, pformat could be replaced with 12 and priority replaced with 5, thus reducing even further the packet size. If we don't do this now, we will have to go to v2 later for the message types...

I am a little concerned that having a mixture of real key names and plain integers (IDs from the proto) will lead to a lot of confusion and many questions. Also, the traceparent attribute is actually a common registered attribute in CloudEvents and using the numerical identifier instead would somehow be counterproductive, wouldn't it? FMPOV we should therefore stick with the key names instead of the IDs. WDYT?

LGTM


Log product telemetry for Cody Free and Pro tier experiences

Telemetry here: https://docs.google.com/spreadsheets/d/1QXnrHkgGLXdbfHEhI_VjtDTy-mCtnK1qri3IMQu7rNk/edit#gid=233337627

Duplicated by #1958


dbt generate docs hangs when database has > 100 tables

While adopting dbt-athena we noticed that for some of our databases dbt docs generate hangs indefinitely.
After some investigation we found that it happens when using the athena__get_catalog macro for a db with more than 100 tables. This is not a dbt-athena issue itself, rather an AWS Athena internal issues. We ended up talking with AWS support and they mentioned that an issue most likely related to this is something they are working on, but have no timeline for when it's going to be fixed.
In the mean time the workaround that we were advised to use is to also filter by tables. After some manual testing we found that splitting the catalog query to filter by databases AND tables (in batches of 100) solves the issue. Sample of the query:
select *
from (
		(
			with tables as (
				...
			),
			columns as (
				...
			),
			catalog as (
				...
			)
			select *
			from catalog
			where lower("table_schema") = lower('very_large_database')
				and (
					"table_name" = lower('table_1')
					or "table_name" = lower('table_2')
                                         ....
					or "table_name" = lower('table_100')
					)
			union all
			select *
			from catalog
			where lower("table_schema") = lower('very_large_database')
				and (
					"table_name" = lower('table_101')
					or "table_name" = lower('table_102')
                                         ....
					or "table_name" = lower('table_200')
					)
.....
	)

These tables can be retrieved from the manifest as part of the adapter get_catalog().

Hi @JustasCe ,
#74 also solves this problem.
I override  _get_one_catalog method which internally calles Glue API directly (If your env have related permissions).


Incorrect hyperlink in the calltree

For example, see the call site link of the function igraph_i_parse_real in the igraph report, https://storage.googleapis.com/oss-fuzz-introspector/igraph/inspector-report/20230226/calltree_view_4.html?scrollToNode=00221
The call site of the aforementioned function in the original igraph library is this: https://github.com/igraph/igraph/blob/6de21b242e764c2a0a6cb7a6ae04aa70262dbc25/src/io/dl-parser.y#L229. The line numbers of functions and call sites are all taken from this file ending with ".y".
However, link in the call tree links to a C file in the coverage report which is converted from the .y file. This creates a discrepancy between all line numbers recorded from the original file and the converted C file. See the coverage report highlighting the incorrect line (this is the link to call cite of igraph_i_parse_real in the call tree): https://storage.googleapis.com/oss-fuzz-coverage/igraph/reports-by-target/20230226/read_dl_fuzzer/linux/src/igraph/build/src/io/parsers/dl-parser.c.html#L229.
Could this be a potential bug? Thank you.

Interesting, thanks for reporting!
Am trying to understand what the true callsite should be, is it https://storage.googleapis.com/oss-fuzz-coverage/igraph/reports-by-target/20230226/read_dl_fuzzer/linux/src/igraph/build/src/io/parsers/dl-parser.c.html#L1845 ?

dl-parser.c is generated from dl-parser.y by GNU Bison. The .y file is written with Bison syntax, but contains mostly C code.
Bison includes #line preprocessor directives into the output by default. This allows most tools to produce diagnostics that refer back to the .y file. igraph actually has this turned off by default, but it has a switch for its CMake-based build system to turn it on, -DFLEX_KEEP_LINE_NUMBERS=ON, which I used for OSS-fuzz: https://github.com/igraph/igraph/blob/master/fuzzing/build.sh#L23
This way, AddressSanitizer output, as well as compiler warnings, will actually refer to code written by humans (in the .y source file), rather than the generated .c files, whose layout depends on the Bison version.
The most useful location to refer to is in the .y file, line 229:
https://github.com/igraph/igraph/blob/6de21b242e764c2a0a6cb7a6ae04aa70262dbc25/src/io/dl-parser.y#L229
What you link to is also technically correct:
https://storage.googleapis.com/oss-fuzz-coverage/igraph/reports-by-target/20230226/read_dl_fuzzer/linux/src/igraph/build/src/io/parsers/dl-parser.c.html#L1845
But it is much less useful when working on igraph, as now I need to refer to the C sources generated specifically on the OSS-fuzz infrastructure, and relate them back the .y file on my system.
Note that it is this line in the generated C file that allows the compiler to refer back to the .y file:
https://storage.googleapis.com/oss-fuzz-coverage/igraph/reports-by-target/20230226/read_dl_fuzzer/linux/src/igraph/build/src/io/parsers/dl-parser.c.html#L1842

Just going by the name of this ticket, this is another odd behavior, less interesting than how to handle intermediate generated source files which feels like an enhancement issue where certainly if attribution to the authored source is possible it should be supported.
Looking at https://storage.googleapis.com/oss-fuzz-introspector/htslib/inspector-report/20230124/fuzz_report.html and viewing first fuzz-blocker cram_close	call site: 03338
The call site link is to the line above (hts_tpool_process_destroy) what is the actual call site of cram_close, cram_write_eof_block.

Thanks for the description @szhorvat
I think there are two issues at play here.
The callsite here https://storage.googleapis.com/oss-fuzz-introspector/igraph/inspector-report/20230226/calltree_view_4.html?scrollToNode=00221 is set to "red" because the line it refers back to "https://storage.googleapis.com/oss-fuzz-coverage/igraph/reports-by-target/20230226/read_dl_fuzzer/linux/src/igraph/build/src/io/parsers/dl-parser.c.html#L229" which is not covered. This, however, is wrong information because the line number is taken from the *.y file (229) whereas it references the generated *.c file where the corresponding callsite in the coverage report is 1845 (https://storage.googleapis.com/oss-fuzz-coverage/igraph/reports-by-target/20230226/read_dl_fuzzer/linux/src/igraph/build/src/io/parsers/dl-parser.c.html#L1845). And in the coverage report, line 229 is irrelevant to the callsite.
There are two problems:

The coverage indication is wrong, because it mingles the line numbers as described above.
The link should be to *.y file rather than *.c file, because developers deal only with the *.y file and not really deal with the *.c file (which furthermore depends on the Bison version used).

Solution to (1) above should probably be fairly intuitive to come up with -- I'll look at this.
Solution to (2) is a bit different. Currently the callsite pages provide links to files in the code coverage reports, and the *.y file is not part of the code coverage report, if it was it should be here https://storage.googleapis.com/oss-fuzz-coverage/igraph/reports-by-target/20230226/read_dl_fuzzer/linux/src/igraph/src/io/report.html. As such, we need to either (2.1) include a link back to the source repository where the *.y file exists or (2.2) include the *.y file in the code coverage report, and get the coverage reporting utilities to use these. I think (2.1) is easier solvable because it's in our  control, whereas (2.2) may not be fully in our control. I think coming up with (2.1) should be possible.


featureCounts future warning

I'm seeing a new pandas warning pop up, related to read_table:
bcbio/anaconda/lib/python2.7/site-packages/bcbio/rnaseq/featureCounts.py:82: FutureWarning: read_table is deprecated, us
e read_csv instead.
  df = pd.io.parsers.read_table(count_file, sep="\t", index_col=0, header=1)

Line 82 just needs to be updated with pd.io.parsers.read_csv.

Pull requests welcome! :)

@roryk On it! I'll test that out on one of my VMs

Thanks Mike!

I saw this existed in a bunch of other places so I went ahead and fixed them all, thanks for the heads up!


Improve the website layout

Currently the website looks terrible. If there's any takers for making it look prettier, would be much appreciated.

jussi-kalliokoski, since it seems like currently you are converting your README.md to HTML, I would suggest you play around with markdown-styles (npm install -g markdown-styles) and the generate-md command. The github theme looks good. The only issue is it creates an assets/css directory and thus complicates your web structure, but if you really wanted to, you could inline the css.

@cipherboy thanks, I'll take a look!

@jussi-kalliokoski can't get the npm dependencies installing. Think it's something to do with trash and OSX.

Any chance we can just compile the docs to a .json format instead?
Here's what I have so far (WIP)

@rob-balfre can you paste the error you're getting so I can take a look? I'm developing on OS X myself and can't reproduce. :/
Looks awesome! I'd be happy to take even the WIP in already. :P Don't worry about the code blocks / syntax highlighting, I've got something coming for that!

Any chance we can just compile the docs to a .json format instead?

The docs are actually compiled to a JSON format already: http://jussi-kalliokoski.github.io/trine/docs/v0.0.0/index.json - it's defined in https://github.com/jussi-kalliokoski/trine/blob/master/tools/DocumentationBuilder/index.js#L48

I made a PR with my doc's updates and included my npm debug. :)

@rob-balfre ahh, I see the issue now! Please update to latest npm and the issue should go away. :)

@jussi-kalliokoski worked :)


World map plus tweaks

This adds a couple of things I'd been thinking about how to do before my laptop died on Friday

Adds interactive world map, shows number of events and location using the info from django, as last tab in dashboard for now
Adds Export csv button for tables
Makes tables style consistent for all events and other tables
Fixes bug in bar graph, x and y titles were switched

Wow that's super nice @mblue9! I've self-requested a review, and took the liberty to add a few minor UI tweaks. Here's a screenshot of the end result:

Please feel free to further adjust as you see fit. I was hesitating about the color scale, if a single color gradient would be easier.

Also, I believe this PR resolves #18 . Although that issue mentions "dashboard", only a map view is explicitly listed as a checkbox item.

One comment about the data, and how it's summed up by country. Should the overlay be adjusted for UK to differentiate between ELIXIR-UK and EMBL-EBI?

EMBL-EBI being a "non-country" (the only of its kind?) . Call-out, inset, legend... ? Doesn't look straightforward to do.
Would it be feasible to add an option (or even make it default) to color in log scale.
Current scale disproportionately highlights two countries.

Thanks for the comments and edits!

Please feel free to further adjust as you see fit. I was hesitating about the color scale, if a single color gradient would be easier.

Yes I was also thinking of changing it to single colour instead, maybe ELIXIR orange like current TMD map?

One comment about the data, and how it's summed up by country. Should the overlay be adjusted for UK to differentiate between ELIXIR-UK and EMBL-EBI?

EMBL-EBI being a "non-country" (the only of its kind?) . Call-out, inset, legend... ? Doesn't look straightforward to do.

Are you both thinking what I was originally thinking -that the map shows events by organiser? I copied the current TMD
map which shows the country in which the event is held (location_country field) which would be UK for EMBL-
EBI?  (and I haven't checked but assume this means virtual events are excluded)
I was wondering if we should
-leave as is, showing location, as then it includes events outside ELIXIR countries (e.g. there are some in US)
-change to mapping by organiser, which would exclude events held outside ELIXIR countries
-let user choose to view by location or organiser e.g. dropdown (I think I like this one)

Would it be feasible to add an option (or even make it default) to color in log scale.
Current scale disproportionately highlights two countries.

Agree, I was debating whether it would be good to "normalise" by population to be fairer to small countries but logging is easier 😄

:+1: for single color but would still consider the log scale (or equivalent solution)
Normalise by population sounds appealing but may need upkeep in the future.

leave as is, showing location, as then it includes events outside ELIXIR countries (e.g. there are some in US)
change to mapping by organiser, which would exclude events held outside ELIXIR countries
let user choose to view by location or organiser e.g. dropdown (I think I like this one)

Under 1., would online still show up as the location of the primary/main organizer?
Curious about those US events. Are they still co-organized by a node? How/Why did they end up in TMD?
(:see_no_evil: do we now also need to consider CCPA because of this?)
I see ELIXIR network mostly interested in 2. but then it's also unclear how to plot and count co-organized events.
Our intention of making Tango generalisable may benefit from 3.
Forward looking, wondering only if that requires additional information which may not be available. Having some server-side setting to control which variants are enabled/available could be useful then.

The previous commits  introduces a detailed contribution when hovering over a country:

In the case of US, it looks like ELIXIR-DE is the node_main for 6 events:

Another 👍🏻 for the single color, orange could work but if it's too bright/intense perhaps an ELIXIR blue could also work, up to you @mblue9 .
For normalisation, I think arguments can be made for taking into account Node size as well (which is even more dynamic than country population). So rather than finding the best strategy it might be easier for now to apply a log as @unode suggested.

Under 1., would online still show up as the location of the primary/main organizer?

I think Online is considered as a "country" so it doesn't show up - can be verified by printing the dataframe. I guess we could clarify that online events are reported separately.
My interpretation of the role of this chart is to show how far-reaching the training events are, so I believe it's easier to merge it as is and ask for feedback after this gets deployed.

Very good idea to merge this in, and we should remember the above points that are still unresolved:

single color gradient
apply log to dataframe

I was on holiday last week so just getting back to this now, the edits look great @mihai-sysbio.

Very good idea to merge this in, and we should remember the above points that are still unresolved:

single color gradient
apply log to dataframe

I've made a PR for that now here
https://github.com/elixir-europe-training/ELIXIR-TrP-Training-Metrics-Database-Tango/pull/27


Form builder: Bootstrap 5

This PR is a bit messy, because it merges the current master into form_builder_master. The actual changes are only the last three commits. Specifically only the following changed: https://github.com/apepper/scrivito_example_app_js/pull/22/files/665cdff62f1d23aca2146edd775c3cc7fa970cbf..4e1f5080d969f6c538eab96d4405ccf9f815144c?w=1

@dcsaszar @apepper Fixes https://github.com/agessler/scrivito_example_app_js/commit/a905c39b172bc5eeb1300c68d7b5ca17ab64a489

changed placement to top instead of bottom
data trigger is now hover instead of click... focus doesn't work..?
popover-body padding is default by framework - you can/will change anyway.. I want it as close as possible to default

REVIEW (b130d86)

I briefly tried out "hover" on my iPhone. It works just fine.

[...] but there is this cursor position on top of the "mandatory" asterisk (and an even smaller area above the info icon), where the help bubble/help cursor flickers back-and-forth.

I guess you win the next "eagle eye award":

REVIEW (90249a5)


Question regarding the ElastoDyn

Hello everyone,
Currently I am trying to study the effect of blade flexibility on system response. For that I am reducing the stiffness. I am wondering if that makes sense as I am keeping other parameters in Elastodyn file same. I think the mode shape coefficients, natural frequency, and damping might change as well. That means I have to generate new ElastoDyn file ? Could anyone share any thought on how to do that? I read about Bmodes but would appreciate any suggestions.
Regards,

Dear @PaulKSmith,
For ElastoDyn's blade model, the user must specify the mass and distributions, as well as the mode shape and structural damping ratio for each mode.  The mode shapes are intrinsically tied to the mass and stiffness distributions, so, I agree that if you change the latter, you should recalculate the mode shapes (e.g., using BModes).
The structural damping ratios do not necessarily scale with a stiffness change, but it is difficult to assess damping levels without more information, and in the absence of that, it may be preferred to assume a conservatively low level of structural damping.
Best regards,

Dear @jjonkman Thank you for the reply! Appreciate it very much.
Now, I am trying to run BModes using the download link mentioned in this previous post:
(https://forums.nrel.gov/t/bmodes-download/2306/14)
I could easily run the test cases. Howver, I my intention is to reproduce the modal coefficients first mentioned in the ElastoDyn file for the DTU10MW. Here are the parameters I have in ElastoDyn Blade input file:
BlFract	PitchAxis	StrcTwst	BMassDen	FlpStff	EdgStff	GJStff	EAStff	Alpha	FlpIner	EdgIner	PrecrvRef	PreswpRef	FlpcgOf	EdgcgOf	FlpEAOf	EdgEAOf
However, I see that cg_offst	sc_offst	   tc_offst missing from here. So,  I am wondering how to calculate these parameters to run BModes?
I checked ElastoDyn Blade file of the (https://github.com/IEAWindTask37/IEA-10.0-198-RWT) and noticed it has only six columns [ BlFract      PitchAxis      StrcTwst       BMassDen        FlpStff        EdgStff]. Does that mean it does not need other parameters from ElastoDyn which  I am using above?  I am using OpenFAST-v3.5.2-dirty to run my simulations and it is perfectly working with the above mentioned ElastoDyn input file.
Regards,

Dear @PaulKSmith,
The blade input file of ElastoDyn within OpenFAST only needs 6 columns of distributed blade data (BlFract PitchAxis StrcTwst BMassDen FlpStff EdgStff); older versions within FAST v7 supported additional columns for use in the FAST-to-ADAMS preprocessor that is no longer supported.
Regarding how to set up the BModes input file for consistency with the ElastoDyn model, see my response dated March 18, 2015 in the following topic on our forum: https://forums.nrel.gov/t/nrel-5mw-blade-mode-shape/1092.
Best regards,

Dear @jjonkman ,
Thank you for the reply. Always appreciate it.
It took some time to read all the forums associated with the one you mentioned. I noticed that there are differences between IEAWindTAsk37 and old FAST v7 ElastoDyn input of the DTU 10MW model, therefore the modal coefficients changed between these two models.
To build my confidence, I wanted to validate the IEAWindTAsk37 ElastoDyn input file modal co-efficients with BModes. However, I see some differences. Here is the summary:

-0.33667
BldFl1Sh(2)
Flap mode 1,
coeff
of
x^2
==>
-0.35311

3.86045
BldFl1Sh(3)
,
coeff
of
x^3
==>
3.883281

-9.50716
BldFl1Sh(4)
,
coeff
of
x^4
==>
-9.51792

12.17967
BldFl1Sh(5)
,
coeff
of
x^5
==>
12.07877

-5.19628
BldFl1Sh(6)
,
coeff
of
x^6
==>
-5.09102

-2.16796
BldFl2Sh(2)
Flap mode 2,
coeff
of
x^2
==>
-2.02892

16.57105
BldFl2Sh(3)
,
coeff
of
x^3
==>
15.71578

-52.2934
BldFl2Sh(4)
,
coeff
of
x^4
==>
-49.9678

62.58792
BldFl2Sh(5)
,
coeff
of
x^5
==>
59.74453

-23.6977
BldFl2Sh(6)
,
coeff
of
x^6
==>
-22.4636

0.268236
BldEdgSh(2)
Edge mode 1,
coeff
of
x^2
==>
0.495838

1.718565
BldEdgSh(3)
,
coeff
of
x^3
==>
0.463422

-3.79766
BldEdgSh(4)
,
coeff
of
x^4
==>
-1.21502

5.201944
BldEdgSh(5)
,
coeff
of
x^5
==>
2.931682

-2.39109
BldEdgSh(6)
,
coeff
of
x^6
==>
-1.67592

Right side of the table is the newly calculated coefficients while those are on the left side are copied from IEAWindTask37. Although there are some small differences in flap modes, edge mode coefficients are deviated the most. I am wondering if the coefficients in  IEAWindTask37 are also derived the same way (uncoupled)? I understand from the previous forum discussion, the flap, and edge modes are needed to be calculated uncoupled from BModes and later it will be coupled during runtime in OpenFAST. Without knowing the insights of ElastoDyn, I am assuming any mode derived other than the settings you recommended will be incorrect? Please correct me if I am wrong.
You also commented that With these features, my experience has been that while the prescribed mode shapes input to FASTshould be reasonable, they do not need to be exact for accurate response predictions.  in https://forums.nrel.gov/t/the-consideration-of-interactive-effect-between-blade-and-tower-rotor-when-the-bmodes-mode-shapes-are-entered-to-fast/1507/2
Saying that, how do I confirm if the small change in modal coefficients due to change in elasticity (which I am studying currently) is different from the changes of two models (e.g., IEAWindTask37 and freshly calculated BModes) ?
I also wanted to know the insight on how the modes are coupled during runtime ? Also if torsion and axial can be modelled as well through ElastoDyn? I would like to request some reference about these.
Thank you always!
Regards,


Add Security Policy for vulnerability reporting

Hello,
could you please add a Security Policy file to your GitHub repository, and ideally also enable private vulnerability reporting, so that users know how they can report potential vulnerabilities to you?

Thanks for your suggestion!
We have added the security policy file and enable private vulnerability reporting.
Users can use the GitHub Security Advisory "Report a Vulnerability" tab to report vulnerabilities.

Thanks a lot for this quick response and the well written security policy!
This resolved my original request here, so I will close this issue.

I found that I cannot comment after publishing the advisor (https://github.com/turms-im/turms/security/advisories/GHSA-g9v7-9h57-3cmm) to the public. So I add a comment on it here.

Thanks for your reporting and detailed explanation!
I considered this a security enhancement since a hacker can only crack the password if they find the exact password or repeat the password.
I have fixed the problem (https://github.com/turms-im/turms/commit/8a13cfc63b0bdfc0aac6eaed5174e82e25bf1707), committed it on all branches, and published new images for servers.
Again, thanks for reporting!

I found that I cannot comment after publishing the advisor

Yes, that is quite weird. I have created https://github.com/orgs/community/discussions/133153 to suggest removing that limitation.
Is the version information of the advisory correct? Currently it says 0.10.0 is both affected and patched. Should the affected version rather be "< 0.10.0"? (I am not familiar with the versioning of this project though.)
Thanks for fixing this issue! Were you able to fix it in a backward compatible way, or was backward compatibility not a concern here?
Also, I have added one small suggestion here, I hope it is useful: https://github.com/turms-im/turms/commit/8a13cfc63b0bdfc0aac6eaed5174e82e25bf1707#r144719830

Is the version information of the advisory correct?

Yes. In fact, Turms only has one version the latest version currently because:

We have limited resources and no effort to maintain multiple versions.
It is recommended for users to always keep up with the latest version as the latest version contains more bug fixes, enhancements, and features.

Were you able to fix it in a backward compatible way, or was backward compatibility not a concern here?

The fix is backward compatible since we use versioning in the BCrypt implementation. For new passwords, it uses the more secure version, and for old passwords, it uses the old algorithm, so it can work for both old and new passwords without users' intervention.


parsing a list via query parameters in the form ?k1=v1,v2 and not ?k1=v1&k1=v2

I have an operation that takes the following
string Foo
@length(min: 1)
list MyValues {
    member : Foo
}

as a query parameter. I can see from the generated swagger docs that it translates the following value in the examples:
[
  "foo1",
  "foo2"
]

as ?my_values=foo1&my_values=foo2
This is not what I want. I want to be able to pass the two values like this: ?my_values=foo1,foo2 is this possible via smithy?

nvm. having checked with open api, ?k1=v1,v2 would be considered a string type


Rotation and Shearing giving faulty results

According to the examples in the readme, rotation and shearing are not correctly implemented. Any update in progress?

What exactly in the ReadMe points toward an incorrect implementation of rotation and shearing?

The bounding boxes in your examples are simply wrong after shearing and rotation.

@ogencoglu This can happen if you are using Python 2
In data_aug.py your scale factor should be float, but in Python 2 they will be treated as Integers
Just change the scale_factor code in data_aug.py as follows:'
Instead of
        scale_factor_x = img.shape[1] / w
        scale_factor_y = img.shape[0] / h

Do this
        scale_factor_x = 1.0* img.shape[1] / w
        scale_factor_y = 1.0*img.shape[0] / h

I can also confirm that shear and rotation don't work properly on python 3. I think the problem is due to resize to fit the original image dimensions


Build Tool Plugin Support

Short description 📝
I'm an avid user of XcodeGen and would like to have Build Tool Plugin support. It's possible to implement this without having to change this project but it leads to temporary identifiers sticking around in the generated project.
More details can be found in the issue where I documented my research.
Solution 📦
Adds a flag to XCSwiftPackageProductDependency to indicate that it should be treated as a build tool plugin.
Implementation 👩💻👨💻

Add flag to XCSwiftPackageProductDependency
Prefix the product name with "plugin:" as this indicates to Xcode that this should be treated as a plugin
Check if a targets dependencies includes a package product that sets the flag to true
Fix the package product reference before continuing

@marciniwanicki @adamkhazi Just a quick ping: Is there anything I can do to move this along? Do you've any questions or suggestions regarding this feature? I'd be very grateful for any feedback.

@all-contributors add @technocidal  for code

Hey there! Any updates?

I've converted back draft while this is being worked on

I think I dropped the ball on this one. Sorry. I'll try to summarise my thoughts which I should've done way earlier.
I can totally understand that getting this done would be a great thing but I'm a bit worried that this will generate a lot of follow-up maintenance. I've also worked on the Plugin Support for SwiftLint which has turned into a massive headache for everyone involved. There are a lot of edge case related to plugins that are not correctly handled by Xcode. This means that it is entirely possible that adding a plugin to your project breaks it. This happens with SwiftLint and it's dependency on swift-syntax quite a lot. You can find more details in this discussion.
There are also some other weird linker issues that we've filed a Feedback (FB11877146) for but haven't heard from Apple yet.
Regarding the actual implementation. I think I only need to update my fork and add finish implementing the test suite/fixtures but I'm a bit disheartened due to the problems mentioned above.

No worries at all and no rush.
Thank you for sharing some of gotchas with plugins - sorry to hear about the hurdles you had to face with it.

@technocidal any updates from Apple?


New package: BayesianTomography v0.1.0

Registering package: BayesianTomography
Repository: https://github.com/marcsgil/BayesianTomography.jl
Created by: @marcsgil
Version: v0.1.0
Commit: 9069d4f9559c60ced5632132e8caa1f6b65fe9c0
Git reference: HEAD

Closing in favor of https://github.com/JuliaRegistries/General/pull/104111


Monitor for DuckDNS

⚠ Please verify that this bug has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

📝 Describe your problem
Hello! I was using the DNS monitor and didn't understand how to set it up for a DDNS which in my case is https://duckdns.org - any ideas?
🐻 Uptime-Kuma Version
1.20.1
💻 Operating System and Arch
Debian GNU/Linux 11
🌐 Browser
Google Chrome 100
🐋 Docker Version
Docker version 20.10.5+dfsg1, build 55c4c88
🟩 NodeJS Version
No response

Nevermind, when I was trying to add the A record, DuckDNS was down.


Allow partial redefinition of the ouputs config

In Hugo, the default outputs configuration looks like this:
[outputs]
  page = ["HTML"]
  home = ["HTML", "RSS"]
  section = ["HTML", "RSS"]
  taxonomy = ["HTML", "RSS"]
  taxonomyTerm = ["HTML", "RSS"]

This is what you get when doing nothing.
The current behaviour says that if you provide your own outputs configuration, it must be complete.
We do, however, add HTML as a fallback for a missing config entry. But, currently, if you want to add JSON to the home page (for a search index), this:
[outputs]
  home = ["HTML", "RSS", "JSON"]

Will result in missing RSS for the other list types.
This is surprising for users. See https://github.com/gohugoio/hugoDocs/issues/408

outputFormats, mediaTypes, related, outputs, permalinks(and maybe others) translates into a map in the config.
For maps with entries of the same type (mediaTypes), Hugo allows redefinition of just one or more entries.
For maps with entries of different types (related), you must provide the full configuration. The different entries only make sense in relation to the others.

We will follow the rule in the above and change the way outputs behaves.

I confirm the fix in this commit. Thanks!


unsorted integer indexing on netCDF4 objections on disk

add more informative error message when unsorted integer array is used to index netCDF4 variable on disk.
Closes #593

@shoyer - This could use a quick review when you get a chance.  For one reason or another, the IndexError is not raised when using dask so I've skipped over it.

@jhamman Yep, dask rewrites indexers to getitem. In the case of unsorted indexers, it currently pulls out items by block first:
https://github.com/blaze/dask/blob/de3633b2693e67f0acccebda4dfc58332aefb527/dask/array/slicing.py#L461
Wrapping all netCDF4 variables with dask.array might be a viable work around for the netCDF4-python issue, if we make dask a required dependency. We'll probably want to do that after https://github.com/blaze/dask/issues/746 is fixed anyways, though.

Okay, that makes sense.  Well this done.  I'll merge this evening if there are no objections.

Yep, works for me. Probably a good idea to add a comment to that effect to the skipped test.

Updated that comment.  Merging now.


Change fromHex methods to accept CharSequence.

Coverage remained the same at 81.578% when pulling c31320c0ed63a5625cb1eecc2d41720b12cfa50a on bogdandrutu:charseq into 381e11c5168e5d31e09ec92840f908b42be647e6 on census-instrumentation:master.

Codecov Report

Merging #897 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##             master    #897   +/-   ##
========================================
  Coverage      79.5%   79.5%
  Complexity      933     933
========================================
  Files           158     158
  Lines          4158    4158
  Branches        395     395
========================================
  Hits           3306    3306
  Misses          768     768
  Partials         84      84

Impacted Files
Coverage Δ
Complexity Δ

api/src/main/java/io/opencensus/trace/TraceId.java
95.55% <ø> (ø)
24 <0> (ø)
:arrow_down:

api/src/main/java/io/opencensus/trace/SpanId.java
94.73% <ø> (ø)
21 <0> (ø)
:arrow_down:

Continue to review full report at Codecov.

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


what's the difference between call_cq and notification_cq.

What version of gRPC and what language are you using?
grpc version: 1.27.3
C++11
What operating system (Linux, Windows,...) and version?
Ubuntu 18.04
What runtime / compiler are you using (e.g. python version or version of gcc)
gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
What did you do?
::grpc::Service::RequestAsyncServerStreaming(
int index, ::grpc_impl::ServerContext* context, Message* request,
internal::ServerAsyncStreamingInterface* stream,
::grpc_impl::CompletionQueue* call_cq,
::grpc_impl::ServerCompletionQueue* notification_cq, void* tag)
what's the difference between call_cq and notification_cq.
They are used for different event type?

I write an example to solve the problem.
https://github.com/DinoStray/grpc_example_async_cpp_api


[Doc Improvement][FAQ section updates]

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/Teams conversational AI/coversational-ai-faq.md
95
3
link
:white_check_mark:

msteams-platform/toolkit/faq.md
92
11
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/Teams conversational AI/coversational-ai-faq.md
95
3
link
:white_check_mark:

msteams-platform/resources/faqs.md
92
10
link
:white_check_mark:

msteams-platform/teams-faq.md
91
55
link
:white_check_mark:

msteams-platform/toolkit/faq.md
92
11
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/Teams conversational AI/coversational-ai-faq.md
95
3
link
:white_check_mark:

msteams-platform/resources/faqs.md
92
10
link
:white_check_mark:

msteams-platform/teams-faq.md
91
55
link
:white_check_mark:

msteams-platform/toolkit/faq.md
92
11
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/Teams conversational AI/coversational-ai-faq.md
95
3
link
:white_check_mark:

msteams-platform/resources/faqs.md
92
10
link
:white_check_mark:

msteams-platform/resources/removing-tab-margins.md
96
1
link
:white_check_mark:

msteams-platform/teams-faq.md
91
55
link
:white_check_mark:

msteams-platform/toolkit/faq.md
92
10
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/Teams conversational AI/coversational-ai-faq.md
100
2
link
:white_check_mark:

msteams-platform/resources/faqs.md
92
10
link
:white_check_mark:

msteams-platform/resources/removing-tab-margins.md
96
1
link
:white_check_mark:

msteams-platform/teams-faq.md
91
55
link
:white_check_mark:

msteams-platform/toolkit/faq.md
92
10
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/Teams conversational AI/coversational-ai-faq.md
100
2
link
:white_check_mark:

msteams-platform/resources/faqs.md
94
6
link
:white_check_mark:

msteams-platform/resources/removing-tab-margins.md
96
1
link
:white_check_mark:

msteams-platform/teams-faq.md
93
41
link
:white_check_mark:

msteams-platform/toolkit/faq.md
92
10
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/Teams conversational AI/coversational-ai-faq.md
100
2
link
:white_check_mark:

msteams-platform/resources/removing-tab-margins.md
96
1
link
:white_check_mark:

msteams-platform/teams-faq.md
93
41
link
:white_check_mark:

msteams-platform/toolkit/faq.md
92
10
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/Teams conversational AI/coversational-ai-faq.md
100
2
link
:white_check_mark:

msteams-platform/resources/faqs.md
94
6
link
:white_check_mark:

msteams-platform/resources/removing-tab-margins.md
96
1
link
:white_check_mark:

msteams-platform/teams-faq.md
93
41
link
:white_check_mark:

msteams-platform/toolkit/faq.md
92
10
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/Teams conversational AI/coversational-ai-faq.md
100
2
link
:white_check_mark:

msteams-platform/resources/faqs.md
94
6
link
:white_check_mark:

msteams-platform/resources/removing-tab-margins.md
96
1
link
:white_check_mark:

msteams-platform/teams-faq.md
93
41
link
:white_check_mark:

msteams-platform/toolkit/faq.md
92
10
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/Teams conversational AI/coversational-ai-faq.md
95
3
link
:white_check_mark:

msteams-platform/resources/faqs.md
92
10
link
:white_check_mark:

msteams-platform/resources/removing-tab-margins.md
96
1
link
:white_check_mark:

msteams-platform/teams-faq.md
91
55
link
:white_check_mark:

msteams-platform/toolkit/faq.md
92
12
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/Teams conversational AI/coversational-ai-faq.md
95
3
link
:white_check_mark:

msteams-platform/resources/faqs.md
92
10
link
:white_check_mark:

msteams-platform/resources/removing-tab-margins.md
96
1
link
:white_check_mark:

msteams-platform/teams-faq.md
91
55
link
:white_check_mark:

msteams-platform/toolkit/faq.md
92
12
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.