Authentication: Smart plus Azure AD B2C

Hi everybody. Now i have another issue: on my fhir server i setted up the authentication with SMART, but, on my website, login should have done with azure ad b2c, letting users to register and login with their google or facebook profile. After this login they will obtain a token but, is there a way to wire this login/token procedure with the authentication procedure to call the fhir server?
Thank u

There is "probably" some way to hack your way through this. But the tokens from AAD B2C don't have the app roles we rely on in the OSS server, so you would need to do some surgery on the token validation policy we have in the server.
It is, unfortunately, not a supported scenario right now.

Damn. So is there a way to use ad b2c instead of smart to auhtenticate to the server?

As I said above, not without doing some surgery to the code. It would depend on the user case and it may not be a lot of work, but out of the box AAD B2C will not work with the server through configuration alone. Adding @brandonpollett who did a bit of experimenting with B2C at some point. He might have something to add.

Ok thank u. I hope Brandon can have a solution cause i don't know what kind of surgery i could do on the code

Just to set your expectations, I don't think we have a "solution" sitting around anywhere, but we might be able to enumerate the things that one would need to think about to make it work.

ok, would be a great thing yet

Just to set your expectations, I don't think we have a "solution" sitting around anywhere, but we might be able to enumerate the things that one would need to think about to make it work.

Hi @hansenms - I need to get this working, fhir-server/smart authenticating against AD B2C. I'm hoping someone might be able to point me in the right direction. Would it be possible to that kind of info?

The FHIR server now uses an IFhirAuthorizationService, which is injected into the service on startup. You could configure the FHIR server to use AD B2C as authority an then write a new IFhirAuthorizationService, which implements the logic you would like to support with B2C and then inject it at start up. I would specifically look at: https://github.com/microsoft/fhir-server/blob/master/src/Microsoft.Health.Fhir.Core/Features/Security/Authorization/RoleBasedFhirAuthorizationService.cs as an example implementation and search  for where this service is injected:
https://github.com/microsoft/fhir-server/blob/master/src/Microsoft.Health.Fhir.Api/Modules/SecurityModule.cs#L71
Hope this helps.

@hansenms - oh, that looks very promising. Thanks very much! I'll investigate.

Hi - OK, I've made some good progress. I have it authenticating against AD B2C, but only in a very basic fashion. Any valid token grants all roles to everything. I thought that moving on from that to implementing some actual access control would be fairly straightforward, but perhaps not. The main issues I have are:

Adding custom claims to AD B2C tokens seems difficult and time-consuming (out of scope for this question). I could temporarily fake this by storing something claim-like in a local DB.

I need to implement this use case:
https://www.hl7.org/fhir/usecases.html#phr (Personal Health Record)
So, I need a way to associate a token (or, more accurately, the ID contained) with a particular patient. However, there's this: "Scopes define the subset of data to which a role definition applies. Currently, only the root scope (/) is supported, which means that role definitions apply to all the data in the FHIR server." (from https://github.com/Microsoft/fhir-server/blob/master/docs/Roles.md ). Does this effectively mean that FHIR Server can't be used at all for my purpose? Or is there some way I may be able to modify it to support per-patient auth? Any guidance appreciated...

At the moment, we only have a global scope in the FHIR server, but we do have work planned to allow you to define a slice (subsection) of the data, which could be parameterized. But nothing built-in at the moment.
Since you are interested in the patient perspective, there may be some stuff you can leverage. Specifically, we support compartments, so you could actually use something like API management (or hack the FHIR server code) to force a given search into a patient compartment. You could also use security tags and then effectively append security tags to searches and so on.
I think though that the Patient compartment is what you are looking for: https://www.hl7.org/fhir/compartmentdefinition-patient.html

@hansenms  - that looks like it should work, thanks very much for the assistance! I'd prefer to limit access in code. One idea I had was modifying SearchService (in my case, SqlServerSearchService). On searching, I could check the user context, and if required, insert SearchOptions with the compartment id and type for the current caller. As a POC, I changed SearchService.SearchAsync to virtual, and implemented the following on a new subclass of SqlServerSearchService, which I use in place of SqlServerSearchService:
public override async Task<SearchResult> SearchAsync(
	string resourceType,
	IReadOnlyList<Tuple<string, string>> queryParameters,
	CancellationToken cancellationToken)
{
	// var contextCompartmentId = string.Empty;
	var contextCompartmentId = "0a99cb57-d0e5-4eec-9b2a-86cdaf5002f3";
	SearchOptions searchOptions;

	// If I have a valid ID for a patient compartment, that's my context. Force the search into that compartment.
	// Otherwise, do a normal search.
	if (string.IsNullOrEmpty(contextCompartmentId))
	{
		searchOptions = _searchOptionsFactory.Create(resourceType, queryParameters);
	}
	else
	{
		searchOptions = _searchOptionsFactory.Create("Patient", contextCompartmentId, resourceType, queryParameters);
	}

	// Execute the actual search.
	return await SearchInternalAsync(searchOptions, cancellationToken);
}

However, that doesn't work. The documentation says: "There is an instance of the patient compartment for each patient resource, and the identity of the compartment is the same as the patient." ( https://www.hl7.org/fhir/compartmentdefinition.html ). I have a patient with the ID as in the sample above, I can work with it fine. But when I force queries into the compartment in the way shown, I can no longer work with that patient; it's as if it doesn't exist. A call to list patients now returns an empty set. Do you think that what I'm doing above is valid, or am I on the wrong track?
Of course, even if the approach is correct, I have an issue with getting my context, e.g. the ID from the caller's token. One thing at a time though...

I am not sure it would be as simple as that. There would be a number of other places to edit it too. I would add something early on in the pipeline instead to rewrite the URLs before they hit the FHIR layers at all, that way it would apply to search and CRUD operations too. Maybe @brendankowitz can comment here.

Hmm, OK, thanks @hansenms . That could offer a solution to the question about the token/context as well, something at that level is more likely to have access to that. Would you or @brendankowitz have any hints as to where I could start looking for a spot to insert my changes into the pipeline? Or any further ideas at all would be much appreciated.

We have some flow diagrams (in mermaid format) here: https://github.com/microsoft/fhir-server/tree/master/docs/flow diagrams. They may help figure out where the best place to intercept it might be.

Thanks very much for your help, @hansenms - it's now working fine (well, enough for a POC at least). I consider my work on this temporary, as 'we do have work planned to allow you to define a slice (subsection) of the data'. Do you have any approximate idea when that might be available?

We have not scheduled the work yet, so I can't give a date on that just yet.

Right now we don't have this work planned in the near future. We definitely intend to revisit more advanced RBAC scenarios but for now I'm going to close this as won't fix.

Revisiting this thread to confirm that currently using AAD B2C to authenticate for FHIR server access is supported, but does not support role-based access with permissions to data subsets.  At this point, successful authentication will allow access to the complete dataset.  Please confirm whether this is accurate, or provide any further clarifications.  Thank you!

Revisiting this thread to confirm that currently using AAD B2C to authenticate for FHIR server access is supported, but does not support role-based access with permissions to data subsets. At this point, successful authentication will allow access to the complete dataset. Please confirm whether this is accurate, or provide any further clarifications. Thank you!

Hi, I also have the same question. Is it possible to have an answer here? Thanks!

Hi @hansenms, Can we confirm whether successful authentication will allow access to the complete dataset and supports RBAC now? We are looking to complete this configuration for the July 1st mandate.

@tragdorvigani1 Hi, We are having the same B2C issues. Can you please assist us with the solution you used to complete your POC.

@CaitlinV39 can you comment.

This issue is still in the same status, that we do not have support for Azure AD B2C within the FHIR Server. We are leaving this open as informational but don't have firm timelines to address. You could look at the open-source FHIR Proxy (https://aka.ms/fhirproxy) which has some additional capabilities through proxy.

Azure B2C integration is supported with FHIR service, please refer to the documentation for more details.
Note this support is available only on Azure Health Data Services.
@chegemr @npvinhphat @tragdorvigani1

closing the issue as B2C support is available in FHIR service


Fix form-recognizer model copy route

The model copy url seems to be incorrect, copy-to => copyTo.

Learn Build status updates of commit 777e4d4:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/applied-ai-services/form-recognizer/v3-migration-guide.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

#sign-off


npmjs.org: "Browse by Author" infinite loop?

http://search.npmjs.org/#/_browse/author
JavaScript is gobbling up CPU cycles (maybe an infinite loop?) until browser offers to kill the page. Tested on FF and Chrome.

You should file this against the npmjs.org project rather than here.

Ah! Didn't know there was a separate project for the website--thanks for pointing that out. Moved the issue there.


Update this project to a newer version of Godot

Hello @ndee85,
This project and artwork is nice, it would be great if we could use it in the official demo project repo.
Would you be willing to update this project to work with Godot 3.2?

Hello Andreas,
it would be great ; - )


Store client endpoint

Two advantages. The endpoint is set centrally (not in each method) and inheritance classes can override it if necessary.

Perfect. Thanks.


Selecting Form Elements

I am working on a small form project and though cash would be a nice script to use. One issue I have run into is trying to use $('form').find(':input') as a var for an each() function. When I try, I receive the error, "Failed to execute 'querySelectorAll' on 'Element': ':input' is not a valid selector". Is there any way to implement the ':input' selector into cash?

The equiv would be const inputs = $('form').find('input, select, textarea, button')
I can't speak for the cash maintainers, but the jQuery ':input' selector isn't especially performant according to the docs so I'm not sure how valuable adding it to cash would be.

Thanks for the clarification @dominicwhittle , I totally blanked on the performance side of the equation.

Yes, custom psuedo selectors have been avoided thus far for performance & size reasons. These selectors would also add a lot of complexity to the logic, pulling the project away from trying to be a simpler alternative for jQuery.


[1.10] test_networking.test_vip test is flaky

High Level Description
It's a backport of test_vip fixes.
Related Issues

DCOS_OSS-1463 test_networking.test_vip test is flaky

Checklist for all PR's

[x] Included a test which will fail if code is reverted but test is not. If there is no test please explain here:
[x] Read the DC/OS contributing guidelines
[x] Followed relevant code rules Rules for Packages and Systemd

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[x] Change log from the last version integrated (this should be a link to commits for easy verification and review): example
[x] Test Results: [link to CI job test results for component]
[x] Code Coverage (if available): [link to code coverage report]

PLEASE FILL IN THE TEMPLATE ABOVE / DO NOT REMOVE ANY SECTIONS ABOVE THIS LINE
Instructions and Review Process
What is the review process and when will my changes land?
All PRs require 2 approvals using github's pull request reviews.
Reviewers should be:

Developers who understand the code being modified.
Developers responsible for code that interacts with or depends on the code being modified.

It is best to proactively ask for 2 reviews by @mentioning the candidate reviewers in the PR comments area. The responsibility is on the developer submitting the PR to follow-up with reviewers and make sure a PR is reviewed in a timely manner. Once a PR has 2 ship-it's, no red reviews, and all tests are green it will be included in the next train.

@mesosphere-mergebot bump-ee

@mesosphere-mergebot bump-ee

@mesosphere-mergebot bump-ee

@drewkerrigan @GoelDeepak  It's a backport of test_vip fixes. could you please review this PR?

Getting all status checks green in this PR and EE is tempting me to type merge-it :)

@mesosphere-mergebot merge-it


[MIEB] Add image classification tasks

First batch of image classification datasets, which covers

Caltech101
CIFAR10
CIFAR100
FGVCAircraft
Food101
OxfordPets

Checklist

[ ] Run tests locally to make sure nothing is broken using make test.
[x] Run the formatter to format the code using make lint.

Adding datasets checklist

Reason for dataset addition: ...

[x] I have run the following models on the task (adding the results to the pr). These can be run using the mteb -m {model_name} -t {task_name} command.

[x] mteb run -m openai/clip-vit-base-patch32 --model_revision 3d74acf9a28c67741b2f4f2ea7635f0aaf6f0268 --output_folder results-mieb -t Caltech101

[x] I have checked that the performance is neither trivial (both models gain close to perfect scores) nor random (both models gain close to random scores).
[ ] If the dataset is too big (e.g. >2048 examples), considering using self.stratified_subsampling() under dataset_transform()
[x] I have filled out the metadata object in the dataset file (find documentation on it here).
[ ] Run tests locally to make sure nothing is broken using make test.
[x] Run the formatter to format the code using make lint.

thanks! amazing speed. I think for these ones, we would like to implement evaluation with both AbsTaskImageClassification (linear probe) and also zero-shot ones with AbsTaskZeroshotClassification.  Text candidate prompts for zeroshot can be found
p42 here in the CLIP paper, e.g., "a photo of kangaroo" and the rest of 101 for Caltech101. cc @imenelydiaker for information as well.
Also why is test failing for loading caltech101?

For CIFAR, the implementation here is short for both linear probing and zero shot on the B/32 model 🤔


StoreNonPixelDataInImage in ITKExamples not working

Description

StoreNonPixelDataInImage in ITKExamples not working, reader->GetMetaDataDictionary() can't get the "ASimpleFloat" key and value.
Steps to Reproduce

Expected behavior

Actual behavior

Reproducibility

100%
Versions

ITK 5.1
Environment

win10, vs2019 16.4
Additional Information

just need to add reader->Update();

just need to add reader->Update();

@jues could you please create a pull request?


Add a tool script to help check for unused runners

This should help keep Schutzfile cleaned up.

Updated this to treat centos and centos-stream as equal.

Ugh, now there's a conflict, sorry. :/


test: add interface-core-api ping tests and fix impl

depends on: https://github.com/ipfs/interface-ipfs-core/pull/273
closes #762

ooh definitely #762 and hopefully #725 🤞

CI is failing.
  1) .ping .ping sends the specified number of packets:

     Uncaught AssertionError: expected [Error: Peer lookup error: failed to find any peer in table] to not exist

      at ipfsdA.ping (node_modules/interface-ipfs-core/js/src/ping.js:51:30)

      at pump (src/ping.js:49:18)

      at node_modules/pump/index.js:75:7

      at f (node_modules/once/once.js:25:25)

      at Writable.<anonymous> (node_modules/pump/index.js:33:5)

      at Writable.f (node_modules/once/once.js:25:25)

      at Writable.onfinish (node_modules/end-of-stream/index.js:30:27)

      at finishMaybe (node_modules/readable-stream/lib/_stream_writable.js:630:14)

      at afterWrite (node_modules/readable-stream/lib/_stream_writable.js:492:3)

      at _combinedTickCallback (internal/process/next_tick.js:144:20)

      at process._tickCallback (internal/process/next_tick.js:180:9)

Looking into it. I found https://github.com/ipfs/js-ipfs-api/pull/770 which I think is causing a lot of flake.
My current plan is to wait until the nodes are connected in the before function before starting the tests.

Good catch @alanshaw 👏🏽
There is still a race condition on the pubsub test
  1) .pubsub multiple nodes connected light-load tests call subscribe/unsubscribe 10 times:

      Uncaught AssertionError: expected [ Array(1) ] to deeply equal []

      + expected - actual

      -[

      -  "pubsub-tests-95d85efa861b4f19e5391bc4457d2e86"

      -]

      +[]

      at ipfs1.pubsub.ls (node_modules/interface-ipfs-core/js/src/pubsub.js:666:39)

      at stringlistToArray (src/utils/stringlist-to-array.js:6:3)

      at send (src/utils/send-request.js:208:7)

      at f (node_modules/once/once.js:25:25)

      at streamToValue (src/utils/stream-to-json-value.js:30:5)

      at concat (src/utils/stream-to-value.js:12:22)

      at ConcatStream.<anonymous> (node_modules/concat-stream/index.js:37:43)

      at finishMaybe (node_modules/readable-stream/lib/_stream_writable.js:630:14)

      at afterWrite (node_modules/readable-stream/lib/_stream_writable.js:492:3)

      at _combinedTickCallback (internal/process/next_tick.js:144:11)

      at process._tickCallback (internal/process/next_tick.js:180:9)

I've been working on that.
I've been experimenting and have changed the unsubscribe logic to only callback on the last event I can listen for on a dropped connection. This still does not guarantee that by the time pubsub.ls is called that the topic won't appear in the list.
The only way I can get this to work is to add an artificial timeout. I don't know enough go to figure out if there's some sort of delay when a connection is dropped before a subscription is unsubscribed. It could be that, or just that go simply doesn't find out about the dropped connection before the call to pubsub.ls is made.
I don't know if this is also a problem when talking to a js-ipfs daemon via the api. I will check.

Just to follow up, it appears that js-ipfs doesn't need the artificial timeout so it's leaning towards a go-ipfs issue right now.

@alanshaw seems you submitted multiple small PR that all fix a few of the flakyness on tests. Do you want to go and create a master PR to test all of them together?

I was going to get the small ones merged and then rebase this - hope thats ok 😛

@diasdavid I think this is looking good to go now. Tests are passing on macOS and linux more reliably than before.
Windows tests are consistently failing. I tracked that back to this commit where you upgraded go-ipfs to 0.4.14.
I've branched off this branch and reverted to<EMAIL_ADDRESS>and whilst the tests still fail, the swarm connectivity issues are gone (and the failing tests all look like things we changed since 0.4.14). You can inspect the CI logs for that experiment here.
I think this might be a regression in go-ipfs...

@Stebalien see comment above https://github.com/ipfs/js-ipfs-api/pull/768#issuecomment-390238263

@alanshaw mind reporting that as a potential bug to go-ipfs?
Also, can you report as a bug the situation where a ipfs.pubsub.unsubscribe followed by an ipfs.pubsub.ls will not present an up to date list of subscriptions (race condition)? //cc @Stebalien

Will do

Long time coming but issue for swarm connectivity issues: https://github.com/ipfs/go-ipfs/issues/5146


P256 keys using Secure Enclave and Android StrongBox

This PR contains the functionality to add support for hardware-backed P256 keys on iOS and Android Using iOS Secure Enclave and Android StrongBox. This is done by using the secure-env library. iOS is accessed via Security.framework and Android via JNI. Using these features you must build the library with mobile_secure_element or askar-crypto directly with p256_hardware.
During the implementation I ran into some issues due to askar-crypto being no_std. because of this I made the rng: impl KeyMaterial optional as well as the id: &str. My initial intention was to create a structure or enum for KeyGenOps, but due to not always having access to an allocator I could not leverage Box and dynamic dispatch. If there are any solutions for this, I would be happy to change the current implementation.
askar-crypto now also has a method to get the key by id. Which ties askar-crypto directly to storage, but I could not find any other way of doing this due to the nature of Secure Elements.
Over FFI, when supplying an id to askar_key_generate, the key will be created on hardware. This seems a bit too implicit for me. My next approach would be generate a random id, uuid or something and simply pass in a boolean for hardware_backed.
Implemented that we generate an id now for secure element keys and the user just has to provide hardware_backed argument over FFI as an i8.
Still in draft for now, as I have to do some testing.
Will also include an updated python wrapper (only software as key_backend allowed) and an updated node.js wrapper. React Native will be done in #246 as that will also include the React Native Example app and move to pnpm.

In credo we sign based on the public key, will that also be possible with the hardware keys? Or do we need to pass the key id specifically?

In credo we sign based on the public key, will that also be possible with the hardware keys? Or do we need to pass the key id specifically?

Do you have an example of this code? If I can check which path it takes I can see whether it'll work or not. I don't think we can go from a public key to storage and get the HSM key. Software keys are stored as a JWK, but for secure element keys I chose to store just the id. If this is a very strong requirement I could do something like:
{
  "id": "CUSTOM_USER_DEFINED_ID",
  "public_key_base58": "bla..."
}

instead of the id alone.

Could we make the id the public key? Or is it generated by the secure enclave?
this is the code in Credo, we fetch the key based on the publicKeyBase58: https://github.com/openwallet-foundation/credo-ts/blob/8f49d84d52143bd9136cebd502bd9d10b5881463/packages/askar/src/wallet/AskarBaseWallet.ts#L214
If we can't do that, it will require A LOT of effort in Credo, as we would have to introduce a new concept of keyIds (which is a good thing probably), but it will be a big breaking chagne as we pass a Key instance around on MANY levels and layers

Could we make the id the public key? Or is it generated by the secure enclave?
this is the code in Credo, we fetch the key based on the publicKeyBase58: https://github.com/openwallet-foundation/credo-ts/blob/8f49d84d52143bd9136cebd502bd9d10b5881463/packages/askar/src/wallet/AskarBaseWallet.ts#L214
If we can't do that, it will require A LOT of effort in Credo, as we would have to introduce a new concept of keyIds (which is a good thing probably), but it will be a big breaking chagne as we pass a Key instance around on MANY levels and layers

In Credo we store the key using publicKeyBase58 as its name (id). Does this new approach prevent us from specifying the id we want when creating a key in hardware?

Could we make the id the public key? Or is it generated by the secure enclave?

Yes! The name is not equal to the underlying Secure Element id, they are separate identifiers.

If we can't do that, it will require A LOT of effort in Credo, as we would have to introduce a new concept of keyIds (which is a good thing probably), but it will be a big breaking chagne as we pass a Key instance around on MANY levels and layers.

We can defer it for now, and possibly introduce it later, but it is not required.

In Credo we store the key using publicKeyBase58 as its name (id). Does this new approach prevent us from specifying the id we want when creating a key in hardware?

No it does not. It will work exactly the same as before. askar_key_generate now takes a key_backend argument which can be Software (default) or Secure Element. And based on that backend we generate a uuid for the Secure Element and only use that internally. After creation you can fetch the public key and use that as the name of the row.

Okay perfect, sounds good :)

Looks great so far, maybe there would be a need to inspect what backends are supported by Askar for the current platform?

Looks great so far, maybe there would be a need to inspect what backends are supported by Askar for the current platform?

Yes that should be quite easy based on the feature flags. I will add it to askar-crypto and expose it over ffi as askar_get_supported_key_backends(out: *mut FfiStringListHandle) -> ErrorCode.

CI is finally finished so it is ready.


Return valid error in status field of GitServer

We haven't an error message in the status field, and if GitServer can't create a connection, we need to know what is going wrong.

Added error property to the GitServer status.


fix(api): use resolvedUrls from devserver

Description
Applied the fix with resolvedUrls for ws api logs and provided fallback url in case resolvedUrls is null.

This relates to https://github.com/vitest-dev/vscode/issues/226
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[ ] It's really useful if your PR references an issue where it is discussed ahead of time. If the feature is substantial or introduces breaking changes without a discussion, PR might be closed.
[x] Ideally, include a test that fails without this PR but passes with it.
[x] Please, don't make changes to pnpm-lock.yaml unless you introduce a new test example.

Tests

[x] Run the tests with pnpm test:ci.

Documentation

[ ] If you introduce new functionality, document it. You can run documentation with pnpm run docs command.

Changesets

[x] Changes in changelog are generated from PR name. Please, make sure that it explains your changes in an understandable manner. Please, prefix changeset messages with feat:, fix:, perf:, docs:, or chore:.

Thanks for fixing this too.

I wonder if considerations about it being empty on server restart will be different here?

Assuming you're talking about this concern https://github.com/vitest-dev/vitest/pull/4855#discussion_r1446187828, yeah, it looks like this.ctx.server.resolvedUrls becomes null on Vite server restart before Vite 5.1. Since Vite 5.1 is already released, maybe it's fine if we can put current url as a fallback for this unfortunate case.
If you want to use this to grab api server url for https://github.com/vitest-dev/vscode/issues/226, then such restart is irrelevant and I think fixing just initial start log would worth fixing anyways.

maybe it's fine if we can put current url as a fallback for this unfortunate case.

I put a fallback logic, but I don't know how to test it (as in "could not quickly find a clear way").

I put a fallback logic, but I don't know how to test it (as in "could not quickly find a clear way").

You mean testing this fallback logic (e.g. restart etc...)? I don't think that's necessary and the tests you have looks good to me already.
Maybe instead of adding a new test/ws-api directory, we could move it to existing test directory. Let me think about it, but your change looks good to me in general :+1:


puppy forces full percent encoding in path segments

trying to fetch https://www.elyrics.net/read/0-9/$uicideboy$-lyrics/[whispers-indistinctly]-lyrics.html
i get code 404
(Windows OS)
it is because puppy forces percent encoding of a lot of chars ($, [, ], etc..)
browsers don't do it.
can be checked in chromium console:

i think the same is true for query params and fragment.. browsers for some reason act different when encoding them. maybe RFC allows it or it is made so for compatibility.

This is fixed in release 2.1.2. Feel free to re-open if things are still not working as expected.


heron_simulator: 0.3.2-1 in 'kinetic/distribution.yaml' [bloom]

Increasing version of package(s) in repository heron_simulator to 0.3.2-1:

upstream repository: https://github.com/heron/heron_simulator.git
release repository: https://github.com/clearpath-gbp/heron_simulator-release.git
distro file: kinetic/distribution.yaml
bloom version: 0.10.1
previous version for package: 0.3.1-1

heron_gazebo
* Bumped CMake version to avoid author warning.
* Add the config, launch, and worlds folders to the install target
* Contributors: Chris Iverach-Brereton, Tony Baltovski

heron_simulator
* Bumped CMake version to avoid author warning.
* Contributors: Tony Baltovski

Holding for the upcoming Kinetic sync


[fix][java-client] Fix performance regression with message listener

Motivation
https://github.com/apache/pulsar/pull/13023 has introduced a performance regression.
For each message, we are switching from external thread pool -> internal thread poll -> external thread pool.
Previously we want to control the outstanding messages of a consumer using a listener, so after #11455,
the message will not move from the receiver queue to the external executor. And #13023 changed the listener trigger
in the internal thread pool to fix the ordering issue, so this is the root cause of the performance regression.
Here is the frame graph to show the thread frame of the internal thread and external thread.
framegraph.html.txt
And also fix the performance issue for multiple topic consumers and key-shared subscriptions which enabled message listeners. Before this change, the messages are processed serially. After this change, We can improve parallelism on the premise of ensuring order.
Modification

Remove the isListenerHandlingMessage control
Move the messages from the receiver queue to the queue of external executor but not increase permits
Increase permits before call message listener

After the above changes, we don't need to call triggerListener from the external executor.
Here is the thread frame graph after applying this change
framegraph2.html.txt
Before this change, the consumer can't reach 50000 messages/s.
After this change, the consumer can reach 400000 messages/s
2022-04-14T02:14:58,208+0800 [main] INFO  org.apache.pulsar.testclient.PerformanceConsumer - Throughput received: 9723124 msg --- 470142.670  msg/s --- 3.587 Mbit/s  --- Latency: mean: 9476.742 ms - med: 9441 - 95pct: 11908 - 99pct: 12152 - 99.9pct: 12239 - 99.99pct: 12247 - Max: 12247
2022-04-14T02:15:08,222+0800 [main] INFO  org.apache.pulsar.testclient.PerformanceConsumer - Throughput received: 14411888 msg --- 468147.684  msg/s --- 3.572 Mbit/s  --- Latency: mean: 15262.627 ms - med: 15253 - 95pct: 18023 - 99pct: 18258 - 99.9pct: 18315 - 99.99pct: 18317 - Max: 18318
2022-04-14T02:15:18,236+0800 [main] INFO  org.apache.pulsar.testclient.PerformanceConsumer - Throughput received: 18841513 msg --- 442446.540  msg/s --- 3.376 Mbit/s  --- Latency: mean: 21164.401 ms - med: 21094 - 95pct: 23664 - 99pct: 23899 - 99.9pct: 23939 - 99.99pct: 23955 - Max: 23955
2022-04-14T02:15:28,253+0800 [main] INFO  org.apache.pulsar.testclient.PerformanceConsumer - Throughput received: 23082078 msg --- 423212.525  msg/s --- 3.229 Mbit/s  --- Latency: mean: 27174.714 ms - med: 27272 - 95pct: 29453 - 99pct: 29698 - 99.9pct: 29725 - 99.99pct: 29736 - Max: 29736
2022-04-14T02:15:38,268+0800 [main] INFO  org.apache.pulsar.testclient.PerformanceConsumer - Throughput received: 27647013 msg --- 455823.127  msg/s --- 3.478 Mbit/s  --- Latency: mean: 32438.418 ms - med: 32410 - 95pct: 34870 - 99pct: 35098 - 99.9pct: 35130 - 99.99pct: 35133 - Max: 35134

Documentation
Check the box below or label this PR directly.
Need to update docs?

[ ] doc-required
(Your PR needs to update docs and you will update later)

[x] no-need-doc
(Please explain why)

[ ] doc
(Your PR contains doc changes)

[ ] doc-added
(Docs have been already added)

@eolivelli Could you please help review again?

Has this been cherry picked to 2.10, 2.9, and 2.8 yet?

Yes, see the cherry-picked labels.


What is not traced

Server

URLs without mapping. see also #13
exceptions in handlers. see also #13, #50 - Traced by servlet filter SpanFinishingFilter.

Client

interceptors do not catch UnknownHostException #30
some impls do not allow to specify custom ExecutorService (which propagates active span), therefore when invoking multiple async requests at the same time created spans can have a wrong parent #37 CXF does not support this but it invokes filters in the same thread, however async response filter is executed in a different thread so it cannot close scopes!

Resteasy/CXF does not propagate correct status code on exceptions https://issues.jboss.org/browse/RESTEASY-1758


file for visual check of various formatting

Hey @docker/docs-maintainers, this file will be a canary/smoketest that we can use as a quick visual check when we start culling excess JS and CSS.
I've added a bunch of code format blocks at the end; if you know of one that I don't currently have, lmk or add it yourself by pushing to the patch.
Signed-off-by: LRubin<EMAIL_ADDRESS>

Also of note: I'm not sure where we want this to live? Is root okay?  I've omitted it from all the menuing, so that should be enough I'd hope, but maybe we should make a utility folder (for the allpagelinks and other test files).

Deploy preview ready!
Built with commit b24357cb87b53f36c1b05cfd27a9cd042987719c
https://deploy-preview-585--docker-docs.netlify.com

Alright let's get this in, it's been quiet for awhile and I can't think of anything more to add. We can always iterate. Thanks for this, @sanscontext :)


security: Mitigate Prototype Pollution Vulnerability

This pull request addresses a critical issue in the current record schema that makes it susceptible to prototype pollution. The vulnerability arises due to the lack of key validation, allowing certain keys to be exploited, leading to potential security risks.
To mitigate this vulnerability, I have implemented a key blacklisting mechanism. By doing so, specific keys prone to prototype pollution are disallowed within the record schema.

Thank you!


Add Authentication Options on Initial Tab

Add AADDS or AD DS on the getting started screen to prompt for the identity type.

@danycontre can you add comment please?


Out-of-the-box behavior unexpected by new users / Modify FAQ/QuickStart/Doc

I do run coverage via $ coverage -m pytest following the QuickStart section in your docs.
The problem is that the resulting report do contain two kinds of files that IMHO do not belong into a coverage report: test-files and python-standard-lib files. Here is a snipped from the report:
Name                                                                                Stmts   Miss  Cover
---------------------------------------------------------------------------------------------------------
/home/user/mluCloud/my.work/bit/backintime/qt/plugins/notifyplugin.py                    35     22    37%
/home/user/mluCloud/my.work/bit/backintime/qt/plugins/systrayiconplugin.py               44     19    57%
/usr/lib/python3/dist-packages/PyQt5/__init__.py                                          1      0   100%
/usr/lib/python3/dist-packages/_distutils_hack/__init__.py                               98     93     5%
/usr/lib/python3/dist-packages/cairo/__init__.py                                         13     11    15%
/usr/lib/python3/dist-packages/cryptography/__about__.py                                  4      0   100%
/usr/lib/python3/dist-packages/cryptography/__init__.py                                   2      0   100%
...
/usr/lib/python3/dist-packages/six.py                                                   504    250    50%
applicationinstance.py                                                                   79      4    95%
backintime.py                                                                           534    258    52%
bcolors.py                                                                               18      8    56%
cli.py                                                                                171    153    11%
config.py                                                                               952    428    55%
...
test/__init__.py                                                                          0      0   100%
test/generic.py                                                                         162      9    94%
test/test_applicationinstance.py                                                        162      0   100%
test/test_argparser.py                                                                  174      0   100%
test/test_backintime.py                                                                  55      2    96%
---------------------------------------------------------------------------------------------------------
TOTAL                                                                                39172  22261    43%

Technically I do understand why this happens. But the users perspective and needs are what counts.
It is IMHO clear what a users expects from a coverage run. A user do not want to calculate the code coverage of test-files or python-standard-lib files. A user only want the code coverage of the productive code and nothing else.
This should be the default behavior.
Technically it is IMHO easy to know the test files using the same discover patters as pytest/unittest. It is similar for python-standard-lib files to always using the "dist-packages" folder.
If you disagree and do not want to implement that behavior that minimally mention this "problem" in the QuickStart and the FAQ or elsewhere in the docu. Also please mention a solution for that problem.

I see your point about the third-party code (it's not standard-lib).
Although many people feel as you do about test files, I absolutely disagree: You should include your tests in coverage.
Try using --source=. on your command line. Does that make it do what you want?  I can add something about these issues to the quick start.

I can certainly try to clarify these factors in the quick start, though perhaps this is too much detail for there.  The quick start already says:

To limit coverage measurement to code in the current directory, and also find files that weren’t executed at all, add the --source=. argument to your coverage command line.

The fact is, coverage.py knows almost nothing about tests.  It monitors execution, and tells you what code ran and what code didn't.  It doesn't try to distinguish between "test" code and "product" code.  You can control that with a number of settings.

The fact is, coverage.py knows almost nothing about tests. It monitors execution, and tells you what code ran and what code didn't. It doesn't try to distinguish between "test" code and "product" code.

But that behavior is not what most of users expect or what the tools name suggest.
Just copy and paste this sentences "The fact is..." and the QuickStart would be more clear and save a lot of users a lot of time and frustration.

What do you think?  https://github.com/nedbat/coveragepy/commit/1adda03be757b9e41388f8237374b01b8bf97c54

Docs updated in that commit.


Static role/creds: user_domain id/name

Fix user domain name/id for static users.


the install command from document  is wrong

Describe the bug
According to https://docs.px.dev/installing-pixie/install-guides/self-hosted-pixie，
export LATEST_CLOUD_RELEASE=$(git tag | grep -Po '(?<=release/cloud/v)[^\-]*$' | sort -t '.' -k1,1nr -k2,2nr -k3,3nr | head -n 1)

it is not ok for mac.

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem. Please make sure the screenshot does not contain any sensitive information such as API keys or access tokens.
Logs
Please attach the logs by running the following command:
./px collect-logs

App information (please complete the following information):

Pixie version
K8s cluster version
Node Kernel version
Browser version

Additional context
Add any other context about the problem here.

Ah good catch. Unfortunately this command was written with linux grep in mind and macOS's grep has different flags.
export LATEST_CLOUD_RELEASE=$(git tag | perl -ne 'print $1 if /release\/cloud\/v([^\-]*)$/' | sort -t '.' -k1,1nr -k2,2nr -k3,3nr | head -n 1) should be a system independent equivalent command.
We will update the docs with the same.


chore: Replace ~ images with relative links for GH

These links are OK for DocFx, but GitHub doesn't like them. Should get ride of some build warnings too.

:warning: Validation status: warnings

File
Status
Preview URL
Details

articles/concepts/circuits.md
:warning:Warning

Details

articles/concepts/software-stack.md
:warning:Warning

Details

articles/concepts/the-qubit.md
:warning:Warning

Details

articles/libraries/chemistry/installation.md
:warning:Warning

Details

articles/libraries/chemistry/schema/broombridge.md
:warning:Warning

Details

articles/libraries/standard/algorithms.md
:warning:Warning

Details

articles/libraries/standard/prelude.md
:warning:Warning

Details

articles/techniques/putting-it-all-together.md
:warning:Warning

Details

articles/techniques/testing-and-debugging.md
:warning:Warning

Details

articles/concepts/circuits.md

Line 20: [Warning] Invalid file link:(~/media/Concepts1.png).
Line 28: [Warning] Invalid file link:(~/media/concepts_2.png).
Line 36: [Warning] Invalid file link:(~/media/concepts_3.png).
Line 46: [Warning] Invalid file link:(~/media/concepts_4.png).
Line 55: [Warning] Invalid file link:(~/media/concepts_5.png).
Line 62: [Warning] Invalid file link:(~/media/concepts_6.png).
Line 81: [Warning] Invalid file link:(~/media/concepts_7.png).
Line 89: [Warning] Invalid file link:(~/media/concepts_8.png).
Line 96: [Warning] Invalid file link:(~/media/concepts_tp2.png).

articles/concepts/software-stack.md

Line 22: [Warning] Invalid file link:(~/media/concepts_stack.png).

articles/concepts/the-qubit.md

Line 46: [Warning] Invalid file link:(~/media/concepts_bloch.png).

articles/libraries/chemistry/installation.md

[Warning] Author Guang Hao Low cannot be recognized in GitHub.
Line 19: [Warning] Invalid file link:(~/media/vs2017-nuget-manage-packages.png).
Line 26: [Warning] Invalid file link:(~/media/vs2017-nuget-package-search.png).
Line 31: [Warning] Invalid file link:(~/media/vs2017-nuget-select-chem.png).
Line 37: [Warning] Invalid file link:(~/media/vs2017-nuger-console-menu.png).

articles/libraries/chemistry/schema/broombridge.md

[Warning] 1 invalid cross reference(s) "here".
Line 24: [Warning] Invalid file link:(~/media/broombridge.png).

articles/libraries/standard/algorithms.md

Line 118: [Warning] Invalid file link:(~/media/draper.png).
Line 132: [Warning] Invalid file link:(~/media/beau.png).

articles/libraries/standard/prelude.md

Line 83: [Warning] Invalid file link:(~/media/prelude_pauliBloch.png).
Line 93: [Warning] Invalid file link:(~/media/prelude_blochIdentity.png).
Line 112: [Warning] Invalid file link:(~/media/prelude_hadamardBloch.png).
Line 198: [Warning] Invalid file link:(~/media/prelude_rotationBloch.png).

articles/techniques/putting-it-all-together.md

Line 125: [Warning] Invalid file link:(~/media/teleportation.svg).
Line 131: [Warning] Invalid file link:(~/media/teleportation.svg).

articles/techniques/testing-and-debugging.md

Line 159: [Warning] Invalid file link:(~/media/unit-test-output.png).
Line 239: [Warning] Invalid file link:(~/media/qubit_id.png).

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

:warning: Validation status: warnings

File
Status
Preview URL
Details

articles/concepts/circuits.md
:warning:Warning

Details

articles/concepts/software-stack.md
:warning:Warning

Details

articles/concepts/the-qubit.md
:warning:Warning

Details

articles/libraries/chemistry/installation.md
:warning:Warning

Details

articles/libraries/chemistry/schema/broombridge.md
:warning:Warning

Details

articles/libraries/standard/algorithms.md
:warning:Warning

Details

articles/libraries/standard/prelude.md
:warning:Warning

Details

articles/techniques/putting-it-all-together.md
:warning:Warning

Details

articles/techniques/testing-and-debugging.md
:warning:Warning

Details

articles/concepts/circuits.md

Line 20: [Warning] Invalid file link:(~/media/Concepts1.png).
Line 28: [Warning] Invalid file link:(~/media/concepts_2.png).
Line 36: [Warning] Invalid file link:(~/media/concepts_3.png).
Line 46: [Warning] Invalid file link:(~/media/concepts_4.png).
Line 55: [Warning] Invalid file link:(~/media/concepts_5.png).
Line 62: [Warning] Invalid file link:(~/media/concepts_6.png).
Line 81: [Warning] Invalid file link:(~/media/concepts_7.png).
Line 89: [Warning] Invalid file link:(~/media/concepts_8.png).
Line 96: [Warning] Invalid file link:(~/media/concepts_tp2.png).

articles/concepts/software-stack.md

Line 22: [Warning] Invalid file link:(~/media/concepts_stack.png).

articles/concepts/the-qubit.md

Line 46: [Warning] Invalid file link:(~/media/concepts_bloch.png).

articles/libraries/chemistry/installation.md

[Warning] Author Guang Hao Low cannot be recognized in GitHub.
Line 19: [Warning] Invalid file link:(~/media/vs2017-nuget-manage-packages.png).
Line 26: [Warning] Invalid file link:(~/media/vs2017-nuget-package-search.png).
Line 31: [Warning] Invalid file link:(~/media/vs2017-nuget-select-chem.png).
Line 37: [Warning] Invalid file link:(~/media/vs2017-nuger-console-menu.png).

articles/libraries/chemistry/schema/broombridge.md

[Warning] 1 invalid cross reference(s) "here".
Line 25: [Warning] Invalid file link:(~/media/broombridge.png).

articles/libraries/standard/algorithms.md

Line 118: [Warning] Invalid file link:(~/media/draper.png).
Line 132: [Warning] Invalid file link:(~/media/beau.png).

articles/libraries/standard/prelude.md

Line 83: [Warning] Invalid file link:(~/media/prelude_pauliBloch.png).
Line 93: [Warning] Invalid file link:(~/media/prelude_blochIdentity.png).
Line 112: [Warning] Invalid file link:(~/media/prelude_hadamardBloch.png).
Line 198: [Warning] Invalid file link:(~/media/prelude_rotationBloch.png).

articles/techniques/putting-it-all-together.md

Line 125: [Warning] Invalid file link:(~/media/teleportation.svg).
Line 131: [Warning] Invalid file link:(~/media/teleportation.svg).

articles/techniques/testing-and-debugging.md

Line 159: [Warning] Invalid file link:(~/media/unit-test-output.png).
Line 239: [Warning] Invalid file link:(~/media/qubit_id.png).

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

:warning: Validation status: warnings

File
Status
Preview URL
Details

articles/concepts/circuits.md
:warning:Warning

Details

articles/concepts/software-stack.md
:warning:Warning

Details

articles/concepts/the-qubit.md
:warning:Warning

Details

articles/libraries/chemistry/installation.md
:warning:Warning

Details

articles/libraries/chemistry/schema/broombridge.md
:warning:Warning

Details

articles/libraries/standard/algorithms.md
:warning:Warning

Details

articles/libraries/standard/prelude.md
:warning:Warning

Details

articles/techniques/putting-it-all-together.md
:warning:Warning

Details

articles/techniques/testing-and-debugging.md
:warning:Warning

Details

articles/concepts/circuits.md

Line 20: [Warning] Invalid file link:(~/media/Concepts1.png).
Line 28: [Warning] Invalid file link:(~/media/concepts_2.png).
Line 36: [Warning] Invalid file link:(~/media/concepts_3.png).
Line 46: [Warning] Invalid file link:(~/media/concepts_4.png).
Line 55: [Warning] Invalid file link:(~/media/concepts_5.png).
Line 62: [Warning] Invalid file link:(~/media/concepts_6.png).
Line 81: [Warning] Invalid file link:(~/media/concepts_7.png).
Line 89: [Warning] Invalid file link:(~/media/concepts_8.png).
Line 96: [Warning] Invalid file link:(~/media/concepts_tp2.png).

articles/concepts/software-stack.md

Line 22: [Warning] Invalid file link:(~/media/concepts_stack.png).

articles/concepts/the-qubit.md

Line 46: [Warning] Invalid file link:(~/media/concepts_bloch.png).

articles/libraries/chemistry/installation.md

[Warning] Author Guang Hao Low cannot be recognized in GitHub.
Line 19: [Warning] Invalid file link:(~/media/vs2017-nuget-manage-packages.png).
Line 26: [Warning] Invalid file link:(~/media/vs2017-nuget-package-search.png).
Line 31: [Warning] Invalid file link:(~/media/vs2017-nuget-select-chem.png).
Line 37: [Warning] Invalid file link:(~/media/vs2017-nuger-console-menu.png).

articles/libraries/chemistry/schema/broombridge.md

[Warning] 1 invalid cross reference(s) "here".
Line 24: [Warning] Invalid file link:(~/media/broombridge.png).

articles/libraries/standard/algorithms.md

Line 118: [Warning] Invalid file link:(~/media/draper.png).
Line 132: [Warning] Invalid file link:(~/media/beau.png).

articles/libraries/standard/prelude.md

Line 83: [Warning] Invalid file link:(~/media/prelude_pauliBloch.png).
Line 93: [Warning] Invalid file link:(~/media/prelude_blochIdentity.png).
Line 112: [Warning] Invalid file link:(~/media/prelude_hadamardBloch.png).
Line 198: [Warning] Invalid file link:(~/media/prelude_rotationBloch.png).

articles/techniques/putting-it-all-together.md

Line 125: [Warning] Invalid file link:(~/media/teleportation.svg).
Line 131: [Warning] Invalid file link:(~/media/teleportation.svg).

articles/techniques/testing-and-debugging.md

Line 159: [Warning] Invalid file link:(~/media/unit-test-output.png).
Line 239: [Warning] Invalid file link:(~/media/qubit_id.png).

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

Hmm, still unhappy on the build, so i'll close for now


Create 463-Island-Perimeter.cs

File(s) Modified:463-Island-Perimeter.cs
Language(s) Used: csharp
Submission URL: https://leetcode.com/submissions/detail/793736254/

Thanks, @agnihotriketan!


SMB Encryption

Hi,
Thank you for an open sourced SMB client for Android.
Does CIFS Document Provider support SMB 3's end-to-end encryption ?
https://docs.microsoft.com/en-us/windows-server/storage/file-server/smb-security
Thanks for your help,
Sep

Sorry, this app is not support encryption because the SMB library jCIFS-ng is not support it.
https://github.com/AgNO3/jcifs-ng/issues/182\

@wa2c Would it be possible to revisit this issue now that SMBJ is a backend option?


[Misc]:pydantic version conflict between vllm openai server and transformers

Anything you want to discuss about vllm.
vllm==0.4.2
pydantic==2.7.1
transformers==4.40.1
error:
RuntimeError: Failed to import transformers.models.clip.modeling_clip because of the following error (look up to see its traceback):
Failed to import transformers.generation.utils because of the following error (look up to see its traceback):
'FieldInfo' object has no attribute 'required'

Related to #4004

@yunll have you resolved this issue?

update accelerate, deepspeed, peft , fixed


how can I find solution "uws_darwin_arm64_111.node"

Error: Cannot find module './uws_darwin_arm64_111.node'
Falling back to a NodeJS implementation; performance may be degraded.
ReferenceError: mocha is not defined
at Object. (/Users/alyos/firstproject/truffle-config.js:102:3)
at Module._compile (node:internal/modules/cjs/loader:1218:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1272:10)
at Module.load (node:internal/modules/cjs/loader:1081:32)
at Function.Module._load (node:internal/modules/cjs/loader:922:12)
at Module.require (node:internal/modules/cjs/loader:1105:19)
at require (node:internal/modules/cjs/helpers:103:18)
at Function.load (/Users/alyos/.nvm/versions/node/v19.2.0/lib/node_modules/truffle/build/webpack:/packages/config/dist/index.js:152:1)
at Function.detect (/Users/alyos/.nvm/versions/node/v19.2.0/lib/node_modules/truffle/build/webpack:/packages/config/dist/index.js:141:1)
at Object.module.exports [as run] (/Users/alyos/.nvm/versions/node/v19.2.0/lib/node_modules/truffle/build/webpack:/packages/core/lib/commands/migrate/run.js:12:1)
at runCommand (/Users/alyos/.nvm/versions/node/v19.2.0/lib/node_modules/truffle/build/webpack:/packages/core/lib/command-utils.js:201:1)
at processTicksAndRejections (node:internal/process/task_queues:95:5)

@alyos-coder I don't think that's related to this library. I suspect uws is uWebSockets, a high-performance websockets library, which includes some native code, which seems to not be loading correctly here.
Notably UWS is used within Truffle, using their own fork of this, which includes that exact error message here:
https://github.com/trufflesuite/uws-js-unofficial/blob/f3e88c168deec031135170a411df6d8683ebcf4c/src/uws.js#L37
Since the stacktrace below also shows a truffle-config.js file, I'd bet that UWS within Truffle is where this message comes from.
I wouldn't worry about it though - unless you're worried about super high performance this sounds like it shouldn't be an issue.
It looks like mocha is not defined is your real problem. That is an error that will crash whatever process or tests you're trying to run. You're probably not importing or configuring Mocha correctly.
Either way, this isn't a MockRTC issue, so I'm going to close this. If you do run into issues caused by MockRTC specifically, feel free to open another issue with more details.


Fields.Update: Mention bug at least for Word 2016

Word 2016, Version 2211 (Build 15831.20208 Klick-und-Los) Steps to reproduce:

Open new Document.
Add two fields with Ctrl-F9
Set fields to { IF a = b c d } and { DOCPROPERTY "notexist" } in any order
MsgBox ActiveDocument.Fields.Update => "1", no matter what is the order of the fields

Happens also with Version 2212 (Build 15928.20216 Klick-und-Los) which is very recent [I just updated]

@jifb Hi, thanks for bringing this up! Can you please provide the steps to repro this so I can verify?

@lindalu-MSFT Whats wrong with the steps I already provided?

@jifb Hi, I get stuck on the third step. I added two fields into a new document, set the fields as shown, and nothing happens. Next, I searched for Field and found Insert a Field. The Field dialog appeared, so I chose IF, then typed in the expression, and chose Enter. I tried the same for DOCPROPERTY field. But the result is d and Error! Unknown document property name. How do I get to step 4 from here to see the message box?

You have to enter the first part "MsgBox ActiveDocument.Fields.Update" into the immediate region (maybe this needs to be activated by "View -> Direct Window") and then press "Enter"


How do I reference additionalData

I'm sending a message as such:
    var payload = {         "data": {             "title": "Controller",             "message": "resub: " + new Date(),             "CONTENT_AVAILABLE": true,             "additionalData": { "topic": "testing" }         }     };
and trying to access it with:
alert(data.additionalData.topic);
I'm receiving 'undefined' for the topic but 'title' and 'message' are readily accessible.

@leydar they way you are sending it the value would end up as:
data.additionalData.additionalData.topic
You don't need to put anything in an additionalData object. Anything that isn't title, message, sound or count ends up in additionalData. So if you use the payload:
var payload = { "data": { "title": "Controller", "message": "resub: " + new Date(), "CONTENT_AVAILABLE": true, "topic": "testing" } };

try that, close the issue when it fixes your problem :smile:

Ah I see. That's accurate information. Thank you.


Apples drop too frequently from trees

What happened?
When breaking leaves or having leaves decay from trees, way too many Apples begin spawning.
How to replicate:
Break Oak Leaves or let them decay from the tree. It's easy to get up to 2 stacks of apples from a couple of trees.
What version did you find the issue on?
v1.1.1

I'm surprised nobody's said anything about this yet. It's been a month of the update and nobody thought to tell me this 😭


match + ionic results in provisioning profile error for some reason

My release lane looks something like this, but it ultimately fails with a code signing error (see below).  The app gets built though, and if I fiddle around in xcode and change Signing (Release) then I can get xcode to build my app for release.  But, why doesn't the ionic build command finish successfully?  It seems like I've matched my app store profile right before building with ionic - so it should work?
Thanks!
(I'm using git_branch and team_id with match because I work across multiple development teams)
lane :release do
  match(
	type: 'appstore',
	git_branch: 'branch_name',
	app_identifier: "my.app.identifier",
	readonly: false,
	username<EMAIL_ADDRESS>	team_id: 'my_team_id'
  )

  ionic(
	platform: 'ios',
	prod: true,
	release: true
  )
end

Error:
Code Signing Error: Provisioning profile "match AppStore my.app.identifier" doesn't include signing certificate "iPhone Developer: My NAME (ABCDEF1234)".

The error makes me think it's using the wrong cert because "match AppStore my.app.identifier" is the correct provisioning profile

Can you post the complete output of running that lane?

Thinking it was bad/old certs or profiles, I deleted a bunch of them up on the portal.  Here's output from the last run where the profile was rebuilt.  I still got the same error though.
	+---------+----------------------------------------------------------+
	|            Detected Values from './fastlane/Matchfile'             |
	+---------+----------------------------------------------------------+
	| git_url | git@github.com:YellowApps/fastlane_certificates.git      |
	+---------+----------------------------------------------------------+

	+-----------------------+----------------------------------------------------------+
	|                            Summary for match 2.129.0                             |
	+-----------------------+----------------------------------------------------------+
	| type                  | appstore                                                 |
	| git_branch            | yellow                                                   |
	| app_identifier        | ["com.yellowhq.district.www"]                            |
	| username              |<EMAIL_ADDRESS>                                      |
	| team_id               | 9DF2XQJMD5                                               |
	| readonly              | false                                                    |
	| storage_mode          | git                                                      |
	| git_url               | git@github.com:YellowApps/fastlane_certificates.git      |
	| shallow_clone         | false                                                    |
	| clone_branch_directly | false                                                    |
	| keychain_name         | login.keychain                                           |
	| force                 | false                                                    |
	| force_for_new_devices | false                                                    |
	| skip_confirmation     | false                                                    |
	| skip_docs             | false                                                    |
	| platform              | ios                                                      |
	| verbose               | false                                                    |
	+-----------------------+----------------------------------------------------------+

	[09:48:11]: Cloning remote git repo...
	[09:48:11]: If cloning the repo takes too long, you can use the `clone_branch_directly` option in match.
	[09:48:15]: Checking out branch yellow...
	[09:48:15]: 🔓  Successfully decrypted certificates repo
	[09:48:15]: Verifying that the certificate and profile are still valid on the Dev Portal...
	Available session is not valid any more. Continuing with normal login.
	[09:48:23]: Installing certificate...

	+-------------------+-----------------------------------------------------------------+
	|                                Installed Certificate                                |
	+-------------------+-----------------------------------------------------------------+
	| User ID           | 9DF2XQJMD5                                                      |
	| Common Name       | iPhone Distribution: Yellow, Inc (9DF2XQJMD5)                   |
	| Organisation Unit | 9DF2XQJMD5                                                      |
	| Organisation      | Yellow, Inc                                                     |
	| Country           | US                                                              |
	| Start Datetime    | 2019-08-17 07:24:02 UTC                                         |
	| End Datetime      | 2020-08-16 07:24:02 UTC                                         |
	+-------------------+-----------------------------------------------------------------+

	[09:48:25]: Installing provisioning profile...
	[09:48:26]: Provisioning profile '7f60037c-09ee-4720-9276-b4640b5465ac' is not available on the Developer Portal for the user<EMAIL_ADDRESS>fixing this now for you 🔨

	+-------------------------------------+----------------------------------------------------+
	|                                 Summary for sigh 2.129.0                                 |
	+-------------------------------------+----------------------------------------------------+
	| app_identifier                      | com.yellowhq.district.www                          |
	| username                            |<EMAIL_ADDRESS>                                |
	| force                               | false                                              |
	| cert_id                             | QW7Z9C8PL3                                         |
	| provisioning_name                   | match AppStore com.yellowhq.district.www           |
	| ignore_profiles_with_different_name | true                                               |
	| team_id                             | 9DF2XQJMD5                                         |
	| platform                            | ios                                                |
	| adhoc                               | false                                              |
	| developer_id                        | false                                              |
	| development                         | false                                              |
	| skip_install                        | false                                              |
	| skip_fetch_profiles                 | false                                              |
	| skip_certificate_verification       | false                                              |
	| readonly                            | false                                              |
	+-------------------------------------+----------------------------------------------------+

	[09:48:26]: Starting login with user<EMAIL_ADDRESS>	Available session is not valid any more. Continuing with normal login.
	[09:48:29]: Successfully logged in
	[09:48:29]: Fetching profiles...
	[09:48:31]: Verifying certificates...
	[09:48:31]: No existing profiles found, that match the certificates you have installed locally! Creating a new provisioning profile for you
	[09:48:36]: Creating new provisioning profile for 'com.yellowhq.district.www' with name 'match AppStore com.yellowhq.district.www' for 'ios' platform
	[09:48:38]: Downloading provisioning profile...
	[09:48:39]: Successfully downloaded provisioning profile...
	[09:48:39]: Installing provisioning profile...
	/var/folders/tr/b1508pgj5gz1dq3b0g2ds34r0000gn/T/d20190817-38918-qfvxnx/profiles/appstore/AppStore_com.yellowhq.district-.www.mobileprovision
	[09:48:39]: Installing provisioning profile...
	[09:48:41]: 🔒  Successfully encrypted certificates repo
	[09:48:41]: Pushing changes to remote git repo...
	[09:48:47]: Finished uploading files to Git Repo [git@github.com:YellowApps/fastlane_certificates.git]

	+---------------------+----------------------------------------------------------------+---------------------------------------------------------+
	|                                                            Installed Provisioning Profile                                                      |
	+---------------------+----------------------------------------------------------+---------------------------------------------------------------+
	| Parameter           | Environment Variable                                     | Value                                                         |
	+---------------------+----------------------------------------------------------+---------------------------------------------------------------+
	| App Identifier      |                                                          | com.yellowhq.district-.www                                    |
	| Type                |                                                          | appstore                                                      |
	| Platform            |                                                          | ios                                                           |
	| Profile UUID        | sigh_com.yellowhq.district.www_appstore                  | 2e15dea3-8f2e-495d-9c85-fe79b40c5ee2                          |
	| Profile Name        | sigh_com.yellowhq.district.www_appstore_profile-name     | match AppStore com.yellowhq.district.www                      |
	| Profile Path        | sigh_com.yellowhq.district.www_appstore_profile-path     | /Users/jsharpe/Library/MobileDevice/Provisioning              |
	|                     |                                                          | Profiles/2e15dea3-8f2e-495d-9c85-fe79b40c5ee2.mobileprovision |
	| Development Team ID | sigh_com.yellowhq.district.www_appstore_team-id          | 9DF2XQJMD5                                                    |
	+---------------------+----------------------------------------------------------+---------------------------------------------------------------+

	[09:48:47]: All required keys, certificates and provisioning profiles are installed 🙌
	[09:48:47]: Setting Provisioning Profile type to 'app-store'
	[09:48:47]: -------------------
	[09:48:47]: --- Step: ionic ---
	[09:48:47]: -------------------
	[09:48:47]: $ ionic cordova prepare ios --no-interactive --release --device --prod
	[09:48:47]: ▸ > ionic-app-scripts build --prod --target cordova --platform ios
	[09:48:51]: ▸ [09:48:51]  ionic-app-scripts 3.2.4
	[09:48:51]: ▸ [09:48:51]  build prod started ...

	# ETC,ETC,ETC

	[09:50:49]: ▸ === BUILD TARGET District OF PROJECT District WITH CONFIGURATION Release ===
	[09:50:49]: ▸ Check dependencies
	[09:50:49]: ▸ Code Signing Error: Provisioning profile "match AppStore com.yellowhq.district.www" doesn't include signing certificate "iPhone Developer: Josh Sharpe (TG37YNE2N4)".
	[09:50:49]: ▸ Code Signing Error: Code signing is required for product type 'Application' in SDK 'iOS 12.4'
	[09:50:49]: ▸ ** ARCHIVE FAILED **
	[09:50:49]: ▸ The following build commands failed:
	[09:50:49]: ▸ Check dependencies
	[09:50:49]: ▸ (1 failure)
	[09:50:49]: ▸ xcodebuild: Command failed with exit code 65
	[09:50:49]: ▸ [ERROR] An error occurred while running subprocess cordova.
	[09:50:49]: ▸ cordova compile ios --release --device --packageType=app-store --developmentTeam... exited with exit code 65.
	[09:50:49]: ▸ Re-running this command with the --verbose flag may provide more information.
	+------------------------------------+-----------------------------------------------------------------------------------------------+
	|                                                            Lane Context                                                            |
	+------------------------------------+-----------------------------------------------------------------------------------------------+
	| DEFAULT_PLATFORM                   | ios                                                                                |
	| PLATFORM_NAME                      | ios                                                                                |
	| LANE_NAME                          | ios build                                                                                |
	| SIGH_PROFILE_TYPE                  | app-store                                                                                |
	| MATCH_PROVISIONING_PROFILE_MAPPING | {"com.yellowhq.district.www"=>"match AppStore com.yellowhq.district.www"}                     |
	+------------------------------------+-----------------------------------------------------------------------------------------------+

After this build, I can open xcode and set the signing profiles manually, and the app builds, however xcode is acting oddly.
First, there's no team set in xcode.  Strange since other apps I build under different teams are set correctly. I can select the correct team manually, but it seems I shouldn't have to do that since it was set by fastlane.
Secondly.  I can select the "Signing (Debug)" profile without issue ("match Development"), but when I go to select the "Signing (Release)" profile, the only "eligible" profile in that dropdown is the  "match Development" profile.  The "match AppStore" profile is listed as inelligible -- but If I select "match AppStore", the items in that dropdown shuffle around and the "match Appstore" becomes eligible.  Very odd.
After all of that, xcode will build the app.

As stated above, I run this lane against a few apps on different teams.  Only one of them is showing these errors at this point.  I couldn't tell you what the difference between the accounts is.  For this broken one, I've deleted all certs & profiles directly in the dev portal - and manually out of ~/Library/MobileDevice/Provisioning Profiles, hoping fastlane would recreate them correctly.  No dice.

I take that back - I've managed to break it for another org/team now. :/

Signing always is a pain, especially for Ionic Cordova projects, that are set up in strange ways (which they are out of the box).
I would create a new Ionic app, and set everything up in a clean way (meaning: no manual changes in Xcode, trying only to use Fastlane for everything and see if you can get it to work as expected that way. If yes, you have your base configuration you can/should create for all other projects to get them to hopefully work.

I fixed it adding device: false


IOS query with boolean as parameter crashes - no conversion for Boolean

realm 0.9.0
kotlin 1.6.10
device: Iphone 6s
The following query crashesh app:
query(clazz,"ObjectGuid = $0 AND Pending = $1",ObjectGuid!!,true).count().find()
fix:
query(clazz,"ObjectGuid = $0 AND Pending = TRUE",ObjectGuid!!).count().find()

It looks like our conversion of input parameters is going wrong somewhere...I suspect it gets turned into a String when it shouldn't. We will investigate
This should also work btw:
query(clazz,"ObjectGuid = ${ObjectGuid!!} AND Pending = ${true}").count().find()
``


Installation error from pip

Trying to update to the most recent release version on Debian Linux results in the following error:

Using wrong pip.


Nullable Enums don't appear as "nullable: true" in swagger.json

I am running .NET 6.0 ASP.Net Core Web Api with SwashBuckle.AspNetCore version 6.3.0 (currently last stable)
The swagger.json doesn't show nullable: true where there is a nullable enum in a dto class
{   "openapi": "3.0.1",   "info": {     "title": "TestBug",     "version": "1.0"   },   "paths": {     "/api/My": {       "get": {         "tags": [           "My"         ],         "responses": {           "200": {             "description": "Success",             "content": {               "text/plain": {                 "schema": {                   "$ref": "#/components/schemas/MyDTO"                 }               },               "application/json": {                 "schema": {                   "$ref": "#/components/schemas/MyDTO"                 }               },               "text/json": {                 "schema": {                   "$ref": "#/components/schemas/MyDTO"                 }               }             }           }         }       }     }   },   "components": {     "schemas": {       "MyDTO": {         "type": "object",         "properties": {           "myEnum": {             "$ref": "#/components/schemas/MyEnum"           },           "myNullableEnum": {             "$ref": "#/components/schemas/MyNullableEnum"           },           "myNullableInt": {             "type": "integer",             "format": "int32",             "nullable": true           }         },         "additionalProperties": false       },       "MyEnum": {         "enum": [           0,           1,           2         ],         "type": "integer",         "format": "int32"       },       "MyNullableEnum": {         "enum": [           0,           1,           2         ],         "type": "integer",         "format": "int32"       }     }   } }
Steps to reproduce:

I am aware of using "UseAllOfToExtendReferenceSchemas", but it's not suitable in my case, since it's breaking other logics.

As per the JSON Schema specification, you can’t assign additional properties on a “reference” schema. That is, if a schema instance uses “$ref”, then it cannot have other properties assigned, including “nullable”. So, you have to apply “UseAllOfToExtendReferenceSchemas” to do this while maintaining a valid Open API / Swagger definition. You should look into what that’s breaking for you because it shouldn’t.

Thanks for your reply!
I understand what you mean. But, is there any possibility, even changing the code of this nuget, to achieve my goal? I know this would be against the JSON Schema specification, but I think it's possible.
Can you show me where is the code to change to do that?

I have the same issue using NewtonSoft. I tried to make an unittest to reproduce the error but I couldn't reproduce this.
I use dotnet core 3.1 with version 6.3 of Swashbuckle.AspNetCore.
As a work-around is added a MapType<> for the enum that is used in the nullable property.

I have the same issue using NewtonSoft. I tried to make an unittest in a clone of this repository to reproduce the error but I couldn't reproduce this. I use dotnet core 3.1 with version 6.3 of Swashbuckle.AspNetCore. As a work-around is added a MapType<> for the enum that is used in the nullable property.

Hi, thanks for your suggestion.
I have something like 30 different enums, not so suitable solution in my case...

I committed the unittest (https://github.com/anoordover/Swashbuckle.AspNetCore/commit/c11f3bcbcdcd319931183a839149d7c2b7b54d3f)

May there is a work-around. Debugging my tests stopped on line 224 in SchemaGenerator. On that line a property UseInlineDefinitionsForEnums is used to decide to return the definition for the enum inline or as a ref. I will try this in my own solution and let you know.

Yes! This work-around work:
services.AddSwaggerGen(options =>
{
options.EnableAnnotations();
options.UseInlineDefinitionsForEnums();
}
But still... on line 224 the definition should be inline when a property is nullable.

Yes! This work-around works: services.AddSwaggerGen(options => { options.EnableAnnotations(); options.UseInlineDefinitionsForEnums(); }
But still... on line 224 the definition should be inline when a property is nullable.

Adding UseAllOfToExtendReferenceSchemas() instead of UseInlineDefinitionsForEnums() also works as a work-around...

UseAllOfToExtendReferenceSchemas breaks my client generation...

Yes! This work-around works: services.AddSwaggerGen(options => { options.EnableAnnotations(); options.UseInlineDefinitionsForEnums(); }
But still... on line 224 the definition should be inline when a property is nullable.

Adding UseAllOfToExtendReferenceSchemas() instead of UseInlineDefinitionsForEnums() also works as a work-around...

Closing as the solution (i.e. to use UseAllOfToExtendReferenceSchemas) has already been provided. If that's breaking client generators then you should create an issue with them instead of SB.
You could also try UseInlineDefinitionsForEnums as suggested by @anoordover

Solution that worked for me.
/// <summary>
    /// Updates already generated schema by marking $ref enum properties in it as nullable
    /// if the orginal class property is of type nullable enum type.
    /// NB: schema filter can modify Schemas after they're initially generated.
    /// </summary>
    public class NullableEnumSchemaFilter : ISchemaFilter
    {
        public void Apply(OpenApiSchema schema, SchemaFilterContext context)
        {
            var isReferenceType =
                TypeHelper.IsReference(context.Type) &&
                !TypeHelper.IsCLR(context.Type) &&
                !TypeHelper.IsMicrosoft(context.Type);
            if(!isReferenceType) { return; }

            var bindingFlags = BindingFlags.Public | BindingFlags.Instance;
            var members = context.Type.GetFields(bindingFlags).Cast<MemberInfo>()
                .Concat(context.Type.GetProperties(bindingFlags))
                .ToArray();
            var hasNullableEnumMembers = members.Any(x => TypeHelper.IsNullableEnum(x.GetMemberType()));
            if (!hasNullableEnumMembers) { return; }

            schema.Properties.Where(x => !x.Value.Nullable).ForEach(property =>
            {
                var name = property.Key;
                var possibleNames = new string[]
                {
                    name,
                    TextCaseHelper.ToPascalCase(name),
                }; // handle different cases
                var sourceMember = possibleNames
                    .Select(n => context.Type.GetMember(n, bindingFlags).FirstOrDefault())
                    .Where(x => x != null)
                    .FirstOrDefault();
                if (sourceMember == null) { return; }

                var sourceMemberType = sourceMember.GetMemberType();
                if (sourceMemberType == null || !TypeHelper.IsNullableEnum(sourceMemberType)) { return; }

                // manual nullability fixes
                if (property.Value.Reference != null)
                {
                    // option 1 - OpenAPI 3.1
                    // https://stackoverflow.com/a/48114924/5168794
                    //property.Value.AnyOf = new List<OpenApiSchema>()
                    //{
                    //    new OpenApiSchema
                    //    {
                    //        Type = "null",
                    //    },
                    //    new OpenApiSchema
                    //    {
                    //        Reference = property.Value.Reference,
                    //    },
                    //};
                    // property.Value.Reference = null;

                    // option 2 - OpenAPI 3.0
                    // https://stackoverflow.com/a/48114924/5168794
                    property.Value.Nullable = true;
                    property.Value.AllOf = new List<OpenApiSchema>()
                    {
                        new OpenApiSchema
                        {
                            Reference = property.Value.Reference,
                        },
                    };
                    property.Value.Reference = null;

                    // option 3 - OpenAPI 3.0
                    // https://stackoverflow.com/a/23737104/5168794
                    //property.Value.OneOf = new List<OpenApiSchema>()
                    //{
                    //    new OpenApiSchema
                    //    {
                    //        Type = "null",
                    //    },
                    //    new OpenApiSchema
                    //    {
                    //        Reference = property.Value.Reference,
                    //    },
                    //};
                    //property.Value.Reference = null;
                }
            });
        }
    }

public static class TypeHelper
    {
        /// <summary>
        /// Checks if type is CLR type.
        /// </summary>
        public static bool IsCLR(Type type) => type.Assembly == typeof(int).Assembly;

        /// <summary>
        /// Checks if type is Microsoft type.
        /// </summary>
        public static bool IsMicrosoft(Type type) => type.Assembly.FullName?.StartsWith("Microsoft") ?? false;

        /// <summary>
        /// Checks if type is value type.
        /// </summary>
        public static bool IsValue(Type type) => type.IsValueType;

        /// <summary>
        /// Checks if type is reference type.
        /// </summary>
        public static bool IsReference(Type type) => !type.IsValueType && type.IsClass;

        /// <summary>
        /// Checks if property type is nullable reference type.
        /// NB: Reflection APIs for nullability information are available from .NET 6 Preview 7.
        /// </summary>
        public static bool IsNullableReferenceProperty(PropertyInfo property) =>
            new NullabilityInfoContext().Create(property).WriteState is NullabilityState.Nullable;

        /// <summary>
        /// Checks if type is enum type.
        /// </summary>
        public static bool IsEnum(Type type) => type.IsEnum || (Nullable.GetUnderlyingType(type)?.IsEnum ?? false);

        /// <summary>
        /// Checks if type is nullable enum type.
        /// </summary>
        public static bool IsNullableEnum(Type type) => Nullable.GetUnderlyingType(type)?.IsEnum ?? false;

        /// <summary>
        /// Checks if type is not nullable enum type.
        /// </summary>
        public static bool IsNotNullableEnum(Type type) => IsEnum(type) && !IsNullableEnum(type);
    }

Based on:

https://stackoverflow.com/questions/23729973/how-to-specify-a-property-as-null-or-a-reference
https://stackoverflow.com/questions/40920441/how-to-specify-a-property-can-be-null-or-a-reference-with-swagger


Decrease readinessProbe period

Type of change

[ ] Refactor
[ ] New feature
[ ] Bug fix
[x] Optimization
[ ] Documentation Update

Description
Decreasing this period should improve the measurement accuracy.
Related Tickets & Documents

Related Issue #
Closes #

Checklist before requesting a review

[x] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.

LGTM


Add Deploy to Salesforce button

A quick method to deploy

Thanks @drushbrook I shall look at it ASAP and merge them in the master.


Show Bays in diagram overview

As a user I want to see the bays in the diagram overview to get a better understanding which IEDs are part of which bay.
ACs:

[ ] show bays in diagram overview (decision and concept from ticket 65)
[ ] reorganize the diagram overview based on the new added bays (no concept yet)
[ ] It is possible to see which IEDs are part of which bays
[ ] bays are displayed as a small outline (similar to the Network Explorer) around the IEDs

Hints:

Spike to discuss possible solutions:
https://github.com/sprinteins/oscd-plugins/issues/65

Waiting for customer feedback


What is the new syntax for style loader with extraction?

I can't figure out the syntax for using style text extraction or how to use PostCSS with Webpack 2.
Current correct Webpack 1:
  plugins: [
    new ExtractTextPlugin('css/[name].css', { allChunks: false}),
  ],
  loaders: [
      {
        test: /\.css$/,
        loader: ExtractTextPlugin.extract("style-loader", "css-loader!postcss-loader")
      {
  ]

New failed Webpack 2 experiment:
let extractCSS = new ExtractTextPlugin('css/[name].css');

  loaders: [
      {
        test: /\.css$/,
        loader: extractCSS.extract({
          notExtractLoader: 'style-loader',
          loaders: ['css', 'postcss']
        })
      }
  ]

You need to use the old loader syntax with ExtractTextPlugin. See here.

I'll close this issue up in half a day or so in case anyone has anything to add.

@mover96 I still don't know the setup for that.  There are a million ways that I could do it incorrectly.

@dschissler This is how I am handling it in webpack 2.1.0 beta.20
 module: {
        loaders: [
            { test: /\.(png|woff|woff2|eot|ttf|svg)$/, loader: 'url-loader?limit=100000' },
            { test: /\.css/, loader: extractCSS.extract(['css']) },
            { test: /\.json/, loader: 'json'}
        ]
    },

So I think that the issue is that postcss isn't working for me.  It just never completes after minutes but works ok on my Webpack 1 setup.
Never completes
        loader: extractCSS.extract(['css', 'postcss']),

completes in 2 seconds
          loader: extractCSS.extract(['css']),

I've trimmed the entirety of my entry code down to just this:
import $ from 'jquery'
import './style.css'

console.log('blah')

and the style is just this:
.p{
  background-color: green;
}

My PostCSS setup:
  postcss: function (webpack) {
    return [
      require("postcss-import")({
        addDependencyTo: webpack,
        path: [themeRoot, appModulesRoot, nodeModulesRoot]
      }),
      require("postcss-url")(),
      require("postcss-cssnext")({
        // Defined in './app/webpack/config'
        browsers: appConfig.browsers,
        import: {
          path: [themeRoot],
          // Setup watches on these files
          onImport: function(files) {
            files.forEach(this.addDependency);
          }.bind(this)
        }
      }),
      require("postcss-browser-reporter")(),
      require("postcss-reporter")(),
    ]
  }

Never completes
loader: extractCSS.extract(['css', 'postcss']),

My ExtractTextPlugin experience is limited, but I'm pretty sure you want the style-loader as the first argument practically always, then chain the rest of the loaders. Try this:
loader: extractCSS.extract(['style', 'css!postcss']),

This fails immediately on Webpack 2
          loader: extractCSS.extract('css!postcss']),

Use my line from above, if it fails what is the error?

I just edited my line above to remove the brackets. Try and use loader: extractCSS.extract('style', 'css!postcss'), and if it fails what is the error? @dschissler

Ok I deleted my last post because it was a silly error.  It doesn't want to finish.
Both don't finish and when I try to hit the webpack-dev-server path it gives me this:
Error: no such file or directory
    at MemoryFileSystem.readdirSync (/opt/webird/dev/node_modules/memory-fs/lib/MemoryFileSystem.js:126:10)
    at writeDirectory (/opt/webird/dev/node_modules/webpack-dev-server/lib/Server.js:77:21)
    at Server.<anonymous> (/opt/webird/dev/node_modules/webpack-dev-server/lib/Server.js:109:3)
    at Layer.handle [as handle_request] (/opt/webird/dev/node_modules/express/lib/router/layer.js:95:5)
    at next (/opt/webird/dev/node_modules/express/lib/router/route.js:131:13)
    at Route.dispatch (/opt/webird/dev/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/opt/webird/dev/node_modules/express/lib/router/layer.js:95:5)
    at /opt/webird/dev/node_modules/express/lib/router/index.js:277:22
    at Function.process_params (/opt/webird/dev/node_modules/express/lib/router/index.js:330:12)
    at next (/opt/webird/dev/node_modules/express/lib/router/index.js:271:10)
    at expressInit (/opt/webird/dev/node_modules/express/lib/middleware/init.js:33:5)
    at Layer.handle [as handle_request] (/opt/webird/dev/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/opt/webird/dev/node_modules/express/lib/router/index.js:312:13)
    at /opt/webird/dev/node_modules/express/lib/router/index.js:280:7
    at Function.process_params (/opt/webird/dev/node_modules/express/lib/router/index.js:330:12)
    at next (/opt/webird/dev/node_modules/express/lib/router/index.js:271:10)

Ok what happens if you do loader: extractCSS.extract('style', 'css'),?

It finishes in 2 seconds and can produce the CSS file.
Is this an issue with the plugin chaining second argument or with PostCSS working with Webpack 2?

Looks like a PostCSS issue to me. I have no experience with that loader so I would try googling that error for a bit and if not make an issue on the loaders repo.

ok.  Difficult to reproduce and take time making a script.  I'll try it later with SASS or LESS.

@dschissler - I'm about 2 hours away from having to do this with sass. I'll update here with issues / success.

Same trouble here with postcss-loader and webpack 2-beta.21.
Tried this
loader: ExtractTextPlugin.extract('style-loader', 'css-loader!postcss-loader')
Then run webpack-dev-server and it doesn't finish.

Still no solution, guys?

Have same issues, anyone find solution ?

Following syntax works:
{
  module: {
    rules: [
      {
        test: /\.css$/,
        loader: ExtractTextPlugin.extract({
          loader: ['css', 'postcss']
        })
      }
    ]
  },
  plugins: [
    new webpack.LoaderOptionsPlugin({
      options: {
        postcss: [
          require('precss'),
          ...
        ]
      }
    }),
    new ExtractTextPlugin({
      allChunks: true,
      filename: 'app.css'
    })
  ]
}

with:
+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>


Seems the gperftools-devel and jemalloc-devel wouldn't be detected correctly on rhel(Redhat Enterprise Linux)

https://github.com/apache/incubator-mxnet/blob/2dbd143e4892bb9ad4aa1835c79f0046603e3531/Makefile#L221
Refer to the mxnet Makefile above, the search paths for gperftools-devel and jemalloc-devel are under /lib//usr/lib//usr/local/lib.
But gperftools-devel and jemalloc-devel package installed via yum will place the dynamic library files into /usr/lib64
TL,DR;
As the title said.

@sandeep-krishnamurthy please label - "Build",

@myme5261314 Is this issue still seen on your setup?

Closing as the issue is resolved. Please reopen if issue still persists


Added dynamic code for year.

Fixes Issue🛠
Closes #860
Description👨💻
Added JavaScript function for dynamic year in footer section.
Type of change📄

[x] Bug fix (non-breaking change which fixes an issue)

Checklist✅

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have added demonstration in the form of GIF/video file
[x] I am an Open Source Contributor

Screenshots/GIF📷

Why have you created new PR, you can just push the new changes in the same previously opened PR by making the commits. Pls take care from the next time @tarushi29

Why have you created new PR, you can just push the new changes in the same previously opened PR by making the commits. Pls take care from the next time @tarushi29

Okay


Github Actions deprecation

What does this PR do?
A call from github actions is deprecated and it should be replaced with a newer version
Fixes #5153
Before submitting

[x] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together? Otherwise, we ask you to create a separate PR for every change.
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] If you made a notable change (that affects users), did you update the CHANGELOG?

PR review
Anyone in the community is free to review the PR once the tests have passed.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[] Add labels and milestones (and optionally projects) to the PR so it can be classified; Bugfixes should be including in bug-fix release milestones (m.f.X) and features should be included in (m.X.b) releases.

Did you have fun?
Make sure you had fun coding 🙃

@Borda I replaced the ::set-env with ::set-output but I kept the rest of the arguments. I am not sure if I was supposed to change the arguments as well as per the example you've references in the issue


Discussion Regarding Recruitment of First-Year Students (2027 Batch)

We will be inviting first-year students to join PSoc most probably after the summer break. We want to make sure these projects are easy for beginners but still interesting and helpful so that on the basis of these tasks/their progress we can recruit only the hardworking and best talents from the batch.
These projects should be easy enough for beginners to understand and do.

[!IMPORTANT]
Criteria For Ideas
Should be easy-to-medium for beginners.
Aren't too hard, but still teach something new.

Instructions for Domain Leads:
If you're a domain lead, please think of simple - yet learning projects that first-year students can do. When you suggest a project, tell us what it's about, what skills are needed, and how hard it is.
When you share your project idea, please include:
- Project Title
- Domain
- Description
- Skills Needed
- Difficulty Level
- ETA

[!WARNING]
Refrain from using AI Tools to generate your answers.
Share your ideas STRICTLY in this issue thread,or discuss in the Discord channel of PSoc,

Other than this,even if you are not a Domain Lead,feel free to be a part of the discussion and suggest ideas!
CC: @majorbruteforce @punitkr03 @Divyakumar21202  (Will tag more ASAP)

You may use this:
[Project Title]
Description:
Briefly describe what the project is about, what it solves and some general use cases.
Features:

State clearly the things that the project aims to achieve
Describe briefly what each feature
Keep it crisp and to-the-point

Tech to learn:

Mention programming languages and frameworks that might be used to achieve it
Provide a road map on how they can go through them
Provide resources that you deem useful
Keep in mind that these should be for easy to medium projects

Best practices:

Mention developer practices that one must adhere to while learning for the project and developing it
Provide resources to learn these

Hoping that everyone is working on recruitment task, if you have any query, you can share here

yup,thinking about some ideas on web,will put them up here asap

Task
https://docs.google.com/document/d/1xavYJc3e9fNozkDJPRVjuxqG93KewhUbXolne9jiRv8/edit?usp=sharing

A Log analysis cli tool , implementing heavy use of Data Structures,Algorithms and backend

https://docs.google.com/document/d/1jdrTr6ly-ASgOdV2EZ_kWU-d5d7A8sXopEIHsuIGXAA/edit?usp=sharing

https://docs.google.com/document/d/1M-qgZEE9DlSnnIAEUVWoUjltQRRWaWR-9AiiNsaTXjU/edit?usp=drivesdk

Thanks everyone for showing a collaborative effort.
@majorbruteforce is in the process of compiling all these docs - this will be shared to undergrads once everything is set up.
GGWP
Closing #54 as completed.