Inspector should display Wikimedia Commons images

The wikimedia_commons key can be set to either a category name (prefixed with Category:) or an image file name (File:). If it’s a file name, the inspector should display the image, just as it does when image is present on the selected feature.
Examples:

https://www.openhistoricalmap.org/node/2099627661
https://www.openhistoricalmap.org/way/198592495
https://www.openhistoricalmap.org/way/199263808

@danrademacher - I know we've been loathe to expand the inspector too much in the past, but this seems like something we could plug into what we've built so far, no?

This would be a more durable alternative to tagging image with a raw Commons image URL, such as on Black Rock City 2008. The image URL can go away if someone uploads a new revision of the file – that revision will wind up at a slightly different URL. It’s safer to consult the Wikimedia Commons API for the canonical file URL.
Here’s where we currently read image and the various undocumented image:* tags:
https://github.com/OpenHistoricalMap/ohm-inspector/blob/94e546bc8ad4b05a09ad052cffff0cec1a8c8217/openhistoricalmap-inspector.js#L117
We’re already using the MediaWiki API to get excerpts about Wikipedia articles. Wikimedia Commons supports the MediaWiki API; we could use it to get the same metadata about an image that Wikipedia displays in a lightbox when you click to preview it. For example, given the tag wikimedia_commons=File:Bread of Life 2331 Jackson Ave New Orleans.jpg, we’d make a request for this query (open in API playground to get:

2×-resolution thumbnail URL as query.pages[0].imageinfo.responsiveUrls["2"]
Link target URL as query.pages[0].imageinfo.descriptionurl
Image capture date in pseudo–ISO 8601 format as query.pages[0].imageinfo.extmetadata.DateTime.value
Photographer/illustrator credit in HTML format as query.pages[0].imageinfo.extmetadata.Artist.value
Attribution in HTML format as query.pages[0].imageinfo.extmetadata.Permission.value (or LicenseShortName for short)

The API supports querying for metadata about multiple images at once.
There’s also a way to get the data in more structured form if we’re interested.

Looking back, I think we just coded in those image URLs based on what we had in the tags on the sample data, rather than with a more long-term view of how we'd deal with link rot over time.
Getting everything we need from a single tag, wikimedia_commons=File:Bread of Life 2331 Jackson Ave New Orleans.jpg is a heck of a lot better than having multiple interdependent tags for each image.
@jeffreyameyer I seem to recall that some of your example image tags used non Wikimedia URLs as src values for the image itself (eg, like an image from a blog). With this new approach, we'd settle on all inspector images coming form Wikimedia Commons, correct?
I think that's a good idea since link rot (not to mention license issues) will be an even bigger issue if folks can continue to grab image URLs from anywhere on the internet.

Automatically grabbing and displaying image URLs from anywhere on the Internet will inevitably lead to broken images, inappropriate images replacing the ones the mapper intended, privacy-invasive trackers on squatted sites, and even perhaps a security hole, since we apparently aren’t checking file types or even file extensions. At the very least, there should be a domain whitelist. It’s fine if someone needs to tag an image that isn’t on this whitelist for the purpose of citing sources, but we don’t have to showcase it in the inspector if so.

I agree we should be at least checking to be sure that putative image URLs return images. Posted that as #583 to address quickly.
I would prefer to just say all Inspector images come from Wikicommons and move on from there, assuming then that if folks post inappropriate content to Wikicommons and cite it at OHM then at least we have multiple angles where community correction is likely.
Here's an example of a way with photos from 2 different sources:
https://staging.openhistoricalmap.org/way/198291609#map=20/47.59899/-122.33458&layers=O&date=1923-01-01&daterange=1923-01-01,2023-12-31
https://pcad.lib.washington.edu/
https://cdm16118.contentdm.oclc.org/
These seem like they're likely well-known in Seattle but little known beyond that, though oclc.org has a bigger footprint as a library software provider.
What mechanism might we use to maintain a safe list of domains eligible for inclusion in the inspector?

What mechanism might we use to maintain a safe list of domains eligible for inclusion in the inspector?

There’s a long tail of image values, but at a glance, even whitelisting a single domain – collections.mcny.org – would cover a third of the occurrences of this key, and wikipedia.org/wikimedia.org would cover another third. That’s small enough for a simple regular expression.

Minh:

Automatically grabbing and displaying image URLs from anywhere on the Internet will inevitably lead to broken images, inappropriate images replacing the ones the mapper intended, privacy-invasive trackers on squatted sites, and even perhaps a security hole, since we apparently aren’t checking file types or even file extensions. At the very least, there should be a domain whitelist. It’s fine if someone needs to tag an image on a domain that isn’t whitelisting, for the purpose of citing sources, but we don’t have to showcase it in the inspector if so.

Dan:

I would prefer to just say all Inspector images come from Wikicommons and move on from there, assuming then that if folks post inappropriate content to Wikicommons and cite it at OHM then at least we have multiple angles where community correction is likely.

Photo linking is something we have, but haven't pushed too far on and I think the points about dead links and malicious files are worth planning around.
And, having first-rate support for Wikimedia Commons photo integration makes complete sense.
However, I think there are way too many other sources of historical photos that we would want to limit it to just Wikimedia Commons. I think the depth, quality, and most importantly - recency - of photos there are too limiting. And, it's sort of counter to the whole GLAM / Linked Data gestalt.
For example, here are some photo repositories from up in Seattle that would be fantastic to have people using:
Museum of History and Industry - hosted at UW
Seattle Public Library
King County Historical Photos
Seattle Then & Now
Ballard Historical Society
BA-KGROUND - another hobbyist site
There are other sites hosting pre-geolocated pictures we could leverage:
From friend of OHM, Dan Vanderkam:

Old SF
Old NYC
Old Toronto - now archived, but we can get the data
Historypin - run by another friend of OHM, Jon Voss

Then, of course, there's the Library of Congress & things like its Historic American Buildings Survey..
And... there are cases of unusual photographs, not posted on a hosting site, not found with reverse image search, that are still of interest. See the picture for Segedunum at the end of Hadrian's Wall. (url shortened... https://bit.ly/pl_89288... probably a very bad thing, but intended to save bits on an Internet Archive URL).
We could go on here, but I think it's clear that the vast majority of interesting historical photos available on the Internet are outside of Wikimedia, even though that's contrary to what taginfo tells us right now. Hard-limiting image tagging to just what's on Wikimedia really restricts the creativity of mappers who want to put in the work. It will also limit our ability to demo stuff to potential picture partners. And... it's solving a problem I'm not sure we have quite yet.

Let’s please keep this ticket on topic, about showing Commons images. Any discussion about not showing an image should go in #583 or another issue.

Commons has a system of keeping track of images used on OSM and the OSM Wiki so that administrators know to keep a redirect around when renaming an image and avoid breaking images on OSM without a good reason. If we migrate Commons-hosted images to the wikimedia_commons tag, this system can easily be extended to OHM.

I spun out #585 to discuss the whitelist proposal specifically.

Mappers naturally add wikimedia_commons=* tags instead of image=* because iD and Rapid have built-in support for wikimedia_commons=*. Whatever the merits of image=*, we should also support wikimedia_commons=*.
Note that wikimedia_commons=* can be set to a category (with the prefix Category:), in which case the inspector should automatically fetch a bunch of images from the category to put in the gallery. This would be a very nice alternative to having to tag a bunch of images one by one using image:*=*.


Avoid lookup of Event Listener Group(s)

Merged https://github.com/hibernate/hibernate-reactive/pull/760
Thanks!


Show island code + fix bug #1266

Fixes "raw" issue detailed in #1266
Allows code to be put in an editor tag instead of just a hidden code tag. Potentially could make this an editable cell
Changed include_code functionality to be is_reactive, and made include_code show the code

Fixed the fe lint and removed non-deterministic snapshot, will come back and fix tonight if more issues persist


Dash book and companion app

Hello,
I just finished writing a book about Dash.
The book is basically a single tutorial on how to build an app with a real-life dataset.
I also published the app.
If you think this is relevant, where do you think they should go?
The app could go under "App Examples", but I'm not sure about the book.
Thanks.

Hey @eliasdabbas - sorry this dropped off my radar.
Happy for you to create a new sectionn "Books" below the existing section "Talks".
Nice work on publishing a book - I see it's getting good reviews on Amazon.


chore: mock deployer method signature

:broom: updates the mock deployer's delegate to match the Deployer it is mocking.

Expected usage is illustrated within a refactored implementation of mock.NewDeployerWithResult.
/kind techdebt

/lgtm


Error using the code

I tried the code and it is giving me the following error message. What could be the problem?

demo_UserData
Error: File: easyGSA.p Line: 112 Column: 0
Invalid syntax for calling function 'InferenceData' on the path. Use a valid syntax or explicitly initialize
'InferenceData' to make it a variable.

Error in demo_UserData (line 12)
[Si,STi,results] = easyGSA('UserData',Data) % uses GPR models by default.

Many thanks for pointing this out. This issue was resolved in the latest release (May 11, 2020).

Thank you for the great program.
It is user friendly, and I would recommend it to my colleagues.
On Fri, 15 May 2020 at 11:51, Resul AL<EMAIL_ADDRESS>wrote:

Closed #1 https://github.com/resulal/easyGSA/issues/1.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/resulal/easyGSA/issues/1#event-3339986968, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AIWZSVVV3QMVAFWRKBATO7DRRT67JANCNFSM4M5NHMFQ
.

--
Best regards,
Uwanuakwa Ikenna D.

+90<PHONE_NUMBER> *


Update README.md

Top Releases link works. Old went to https://github.com/mgear-dev/mgear_dist/blob/releases
with 404 error.

@jparks-semc Thanks forPR!


Typo in section 'What Can You Do with AI?'


chore: Fix clippy lint

Fixes clippy lint.

There are some unresolved warnings (these codes are at v0.11.4). Clippy warns them as derive_partial_eq_without_eq. I'm not sure that how they should be handled.
WireType in src/encodeng.rs
https://github.com/tokio-rs/prost/blob/d3ba4e8fbc0155d9640fa67c7382a6dd4920b082/src/encoding.rs#L267-L276
DurationError in prost-types/src/lib.rs
https://github.com/tokio-rs/prost/blob/d3ba4e8fbc0155d9640fa67c7382a6dd4920b082/prost-types/src/lib.rs#L145-L165
TimeSampError in prost-types/src/lib.rs
https://github.com/tokio-rs/prost/blob/d3ba4e8fbc0155d9640fa67c7382a6dd4920b082/prost-types/src/lib.rs#L318-L335

@tottoto we should handle them the same way that we handle the other by having an allow. I think that makes the most sense, what do you think?

I think WireType should implement Eq since it have to return true when all same variants are compared (according to check_wire_type).
I also considered whether the PartialEq are actually needed or not on error enums. It seem that they are implemented only for tests. In particular the errors enum do not have to be implemented as PartialEq (like hyper's error) imho. If prost does not intend to provide the PartialEq functionality to its users, we might be able to remove PartialEq from them (and implement PartialEq and Eq, or implement PartialEq and allow derive_partial_eq_without_eq on them by #[cfg_attr(tests, ...)]).

Yeah, I actually don't think I mind Eq on enums since that actually kinda makes sense.  Im cautious to add Eq to anytime stamp stuff since generally you shouldn't compare them like that. What do you think?

In my opinion, WireType should implement Eq because without Eq it can not assure that the same wire type check always return true.
On the other hand, DurationError and TimeStampError should not do. We should handle error enum by pattern matching so maybe PartialEq is not also unnecessary imho. However, since removing PartialEq is a big breaking change and discussing it is also a too big in order to fix lint warnings, I'd like to leave them unchanged and add allow rules.

These are my proposal: https://github.com/tokio-rs/prost/pull/780/commits/e71d6f1c1b34d3f22ecc9591256476979ded75c0, https://github.com/tokio-rs/prost/pull/780/commits/bf2696ba077ddce2d018fab17b4a6f4c9f5c7516.

Thanks for doing all these PRs!!! I really appreciate it!


Images with SBOMs attached report as signed with sign.IsSigned()

If an image is not signed but has an sbom attached, passing it to sign.IsSigned() will return a false positive.
Can be rproduced with this reference :
gcr.io/ulabs-cloud-tests/supply-chain-demo@sha256:97fa9dd10904972265ca625373490ceed4066062d50063b910b020b80fdd7f20
# Download its signature
cosign download signature gcr.io/ulabs-cloud-tests/supply-chain-demo@sha256:97fa9dd10904972265ca625373490ceed4066062d50063b910b020b80fdd7f20
Error: no signatures associated with gcr.io/ulabs-cloud-tests/supply-chain-demo@sha256:97fa9dd10904972265ca625373490ceed4066062d50063b910b020b80fdd7f20
main.go:46: error during command execution: no signatures associated with gcr.io/ulabs-cloud-tests/supply-chain-demo@sha256:97fa9dd10904972265ca625373490ceed4066062d50063b910b020b80fdd7f20

# Download its SBOM:
cosign download sbom gcr.io/ulabs-cloud-tests/supply-chain-demo@sha256:97fa9dd10904972265ca625373490ceed4066062d50063b910b020b80fdd7f20
Found SBOM of media type: text/spdx
SPDXVersion: SPDX-2.2
DataLicense: CC0-1.0
SPDXID: SPDXRef-DOCUMENT
DocumentName: github.com/puerco/supply-chain-demo
DocumentNamespace: http://spdx.org/spdxpackages/github.com/puerco/supply-chain-demo
Creator: Tool: ko 0.11.0
....

Upon further investigation I think i found the source for this bug and it is in the promoter code, not here. Fixing now → sorry for the noise :)
/close


Rebuild DS assets to be a more suitable format such as svg, webp or jpg xr etc.

NOTE: These formats will break in < IE8. svg is probably the only logical option if any: https://caniuse.com/#feat=svg

I think this should be done with the icon library issue @govau/uikit#526

I am going to close this issue, I have updated the #528 ticket with the note about modern file formats. We have to be careful though because IE8 hates SVGs.


Output intensity_image for each label

For the seed use case, it would be ideal if the intensity_image for each labelled object in a mask could be automatically saved as a numpy array, and named based on the label number to allow matching between the image + features table values. In this use case the intensity_image gives a segmented array of an individual seed which is useful for further analysis (e.g. VAE, clustering to explore factors affecting seed internal structure).
The segmented image (intensity_image) of a single seed can be created with regionprops and saved as an numpy array as below:
import numpy
import skimage

props = skimage.measure.regionprops(labels[0], img[0], cache=True)

seed_array = props[0].intensity_image
seed_array

numpy.save("/content/gdrive/MyDrive/Example CT Data/C0007864_seed4.npy", seed_array)

At the moment you should be able to get the image_intensity numpy array by including 'image_intensity' in the features list. If you save the result, you can then access the arrays by using result.image_intensity (rather than result.features for the features dataframe). The individual arrays are not explicitly named, but they are output in the same order as the feature table and can be accessed using indexing. Does that solve your problem for the moment?

If there is a way to generate all the features + intensity images with pixelflow at once but avoid the intensity_image arrays being included in the table I need to export as csv  I think that would be an improvement, but keeping this separate works fine

A slight correction: As you suggested we can just use results.image_intensity to retrieve the images for each label rather than results.features.intensity_image as shown in the example below
#generate segmented images of each individual seed in a mask
seg_seed = pixelflow(
    mask,
    img,
    features=('label', 'image_intensity')
)

#make list of all seeds in mask, shift backwards by one to match index values
X = list(seg_seed.features.label)
for i in range(len(X)):
    X[i] -= 1

#save segmented images of all seeds within a seed pod
for file in X:
    np.save(pod_name + '_seed_' + str(seg_seed.features.label[file]) + '.npy', seg_seed.image_intensity[file])

The latest merges mean that the image_intensity can be extracted from both 2D and 3D images as part of a list of features.


make servicetopology filter in yurthub work properly when service or nodepool change

What type of PR is this?

/kind feature

What this PR does / why we need it:
make servicetopology filter in yurthub work properly when service or nodepool change
Which issue(s) this PR fixes:

Fixes #871
Special notes for your reviewer:

/assign  @rambohe-ch
Does this PR introduce a user-facing change?

 "NONE"

@LinFCai Thank you for posting pull request for service topology controller. How about add unit tests for the added code?

/lgtm
/approve


[Accessibility] [Keyboard]: Everytime a response button is selected, there is a focus loss and the focus is not visible on any elements in the group

Screenshot

Using keyboard tab arrive at "I Accept" button and select it.  Notice that it will show next question group.
Arrive at the next group and select "Yes".

Actual
There is a focus loss.   Actually the focus is on selected button but the focus is not visible.
Pressing tab takes the focus to next disabled button in the group but the focus is not visible.
The focus recovers only when user enters the next question group.
Expected
There should not be focus loss when a button is selected. Also the focus should be clearly visible with every keyboard tab
WCAG Violation
https://www.w3.org/WAI/WCAG21/Understanding/focus-visible.html

It may be same as https://github.com/microsoft/AdaptiveCards/issues/2236 on adaptive cards but need someone to confirm and comment appropriately.

@rp-dev can you send me anything that I can test it on my side (thru Teams)? Either the following will work:

Bot secret
URL to the Web Chat page
Instructions to setup a Health Bot

Then I can take a look and see if it is related to AC 2236 or not.

I'm closing this as stale since we don't have repro steps. If this comes up again, please provide repro steps and we can re-approach.


Draft: train cmd validates requested algorithm supported or not

this closes #326

Closing this for now, can re-open once it's updated.


Contacts info not showing up on product main page

Bug description
Despite having contacts (technical, PM..) specified for a product, they do not show on product main page.
The technical contact does however show when listing all products.

Still have bug here

Hello @zfirered this fix has not made it to the master branch quite yet. Switching to the dev branch is your best bet for using this capability.

thanks mate


Implement test worker/test framework

Implement a test worker and test helpers for public consumption.
This should also be adopted by the worker tests in the project.

Work here is in progress, but likely to span across multiple sprints. We'll decompose this issue and assign more granular tasks.

@fabiocav, I'm assuming once some of that work can be shared, it will be. Looking forward to trying out what's being built.

Is there any update on when this would be available?

Any updates? :)

do we have any framework to unit test out-of-process azure functions?

@fabiocav Any updates or availability ETA on this feature?

@brettsam is actively investigating this and has made some progress, but there have been higher priority items taking precedence. We'll continue to use this issue to provide updates as we go

In the meantime does this help?
//Arrange
var context = Substitute.For<FunctionContext>();
var request = Substitute.For<HttpRequestData>(context);
var response = Substitute.For<HttpResponseData>(context);

var serviceCollection = new ServiceCollection();
serviceCollection.AddSingleton(Options.Create(new WorkerOptions{Serializer = new JsonObjectSerializer()}));

var serviceProvider = serviceCollection.BuildServiceProvider();
context.InstanceServices.ReturnsForAnyArgs(serviceProvider);

request.Headers.ReturnsForAnyArgs(new HttpHeadersCollection());
response.Headers.ReturnsForAnyArgs(new HttpHeadersCollection());
response.Body.ReturnsForAnyArgs(new MemoryStream());
request.CreateResponse().ReturnsForAnyArgs(response);

var function = new Function();

//Act
var result = await function.Run(request);
result.Body.Position = 0;
var content = await JsonSerializer.DeserializeAsync<ErrorResponse>(result.Body);

//Assert
Assert.Equal(HttpStatusCode.OK, result.StatusCode);
Assert.Equal("Error", content?.Message);

Those who are searching for options - here is one more. I have created Test Doubles for the required classes to get Unit Testing working for a Isolated Process model function app. Here is the repo - https://github.com/lohithgn/az-fx-isolated-unittest.
Hope this helps.

In the meantime does this help?
//Arrange
var context = Substitute.For<FunctionContext>();
var request = Substitute.For<HttpRequestData>(context);
var response = Substitute.For<HttpResponseData>(context);

var serviceCollection = new ServiceCollection();
serviceCollection.AddSingleton(Options.Create(new WorkerOptions{Serializer = new JsonObjectSerializer()}));

var serviceProvider = serviceCollection.BuildServiceProvider();
context.InstanceServices.ReturnsForAnyArgs(serviceProvider);

request.Headers.ReturnsForAnyArgs(new HttpHeadersCollection());
response.Headers.ReturnsForAnyArgs(new HttpHeadersCollection());
response.Body.ReturnsForAnyArgs(new MemoryStream());
request.CreateResponse().ReturnsForAnyArgs(response);

var function = new Function();

//Act
var result = await function.Run(request);
result.Body.Position = 0;
var content = await JsonSerializer.DeserializeAsync<ErrorResponse>(result.Body);

//Assert
Assert.Equal(HttpStatusCode.OK, result.StatusCode);
Assert.Equal("Error", content?.Message);

For those of you using Moq, framework, only difference of what @andersson09  suggested is the following changes. Otherwise Body is always reinitialized and status code always returns 0.
// Status Code stubbing
mockHttpResponseData.SetupProperty(data => data.StatusCode);

// Body initialization
var memoryStream = new MemoryStream();
mockHttpResponseData.Setup(data => data.Body).Returns(() => memoryStream);

What’s the latest on this issue? We’d really like to expand our api contract testing to isolated azure functions in dotnet. We can do this with TestSever for our dotnet core mvc apps. What’s the ETA?

@fabiocav  would appreciate any update on this front. please let us know where this heading ?

@fabiocav Is this being currently worked on?

Hi @fabiocav, there haven't been any updates on this feature for quite some time.
Is this something we can really expect to happen? If so, do we have any rough idea of the priority or an ETA?
If we can expect this sometime this year or even in 2023 Q1, I'd put less effort into making our own framework while writing tests for a new isolated functions service.
Thanks!

looking forward to an update on this also!

Any updates on this?  That the unit test story for isolated functions is half baked isn't called out anywhere in the documentation.
2 years since this issue was opened. Since in-process functions are not being iterated on, anyone who has a cache of large unit tests will run into this issue while migrating.
@fabiocav  appreciate your work on this but is there any update/ETA on this?

I think I m close to be able to do a PR that would allow integration testing using testserver handler for grpc. I have a working example on my fork. But some part are still hard coded.

This being half-baked is the primary reason we avoid using Azure Functions for things like APIs, instead favoring WebApis for WebApplicationFactory harness. Please prioritize this 🙏🏻.

Very much looking forward to this

Hello as @fabiocav asked:
To enable integration testing using TestHost with grpc. Following things are needed:

Allow to pass a custom handler to grpc client so we can have communication without IO via TestClientHandler.

Implement the Host Server (2 solutions):
a. Implement the logic of  the server in Test library (the way I used in #1303)
b. Having the test host directly provided by the https://github.com/Azure/azure-functions-host re-using maximum of code

a. Implement the logic of the server in Test Library need to develop alot of implementation from azure-function-host. Like handling the initilization of function at startup. A cool think is that we could specify only a substet of function if needed.
b. Create the test host in azure-functions-host would allow to be closer to the running version and also would allow to use all the triggers and test extensions but most of the code is in Host Application so it will need alot of refactoring to extract revelant code in another project to be packaged.

I'm  (again) new to Azure Functions (returning after a long break) and I've created a quite complex one lately (.NET7, Azure Functions V4, Isolated) and was trying to write integration tests.
My function has middlewares and is doing a lot of external HTTP calls and data processing, so an easy way to set up an integration test with mocks would be great.
Right now I use Postman to write tests (but there feel more like functional tests to me), but I must run my function locally to call my API instead of external API, etc.
A clean and simple solution is needed and a lot of people are waiting for it.

Hi @fabiocav ,
Can you please provide an update?

Hello as @fabiocav asked:
To enable integration testing using TestHost with grpc. Following things are needed:

Allow to pass a custom handler to grpc client so we can have communication without IO via TestClientHandler.
Implement the Host Server (2 solutions):
a. Implement the logic of  the server in Test library (the way I used in Setup test framework #1303)
b. Having the test host directly provided by the https://github.com/Azure/azure-functions-host re-using maximum of code

a. Implement the logic of the server in Test Library need to develop alot of implementation from azure-function-host. Like handling the initilization of function at startup. A cool think is that we could specify only a substet of function if needed.
b. Create the test host in azure-functions-host would allow to be closer to the running version and also would allow to use all the triggers and test extensions but most of the code is in Host Application so it will need alot of refactoring to extract revelant code in another project to be packaged.

Hi @bhugot ,
Can you please shar ean E2E example workin with 2.b?

Hello @mohan810 it's. In the PR

Masstransit + hangfire is the alternative for azure functions, for those who treat this more-than-2-years-overlooked-issue as a show stopper.

Any update on priority/progress test framework for isolated functions?
This will be blocking many people moving to PROD environment with the migration from inprogress to isolated.

Also very interested in this!

As above, very interested in this.

Hello as @fabiocav asked:
To enable integration testing using TestHost with grpc. Following things are needed:

Allow to pass a custom handler to grpc client so we can have communication without IO via TestClientHandler.
Implement the Host Server (2 solutions):
a. Implement the logic of  the server in Test library (the way I used in Setup test framework #1303)
b. Having the test host directly provided by the https://github.com/Azure/azure-functions-host re-using maximum of code

a. Implement the logic of the server in Test Library need to develop alot of implementation from azure-function-host. Like handling the initilization of function at startup. A cool think is that we could specify only a substet of function if needed.
b. Create the test host in azure-functions-host would allow to be closer to the running version and also would allow to use all the triggers and test extensions but most of the code is in Host Application so it will need alot of refactoring to extract revelant code in another project to be packaged.

Whichever option you choose, I like code re-use there are a lot of "gotchas" that makes the MVC TestServer not usable in certain circumstances.  For example, TestClient doesn't have the same stack of HttpHandlers as a non-test HttpClient.  This means you can't test telemetry (AppInsights, OpenTelemetry), distributed transactions, and other things.  I'd prefer if they'd used a regular HttpHandler and modified it as needed.

You are wrong on this as you can create the test handler only . And so add all the delegating handler you want. The only real problem I ever met was that the content stream was not the same for the test handler than Real http call. And didn t check if it was change in later version

You are wrong on this as you can create the test handler only . And so add all the delegating handler you want. The only real problem I ever met was that the content stream was not the same for the test handler than Real http call. And didn t check if it was change in later version

Hmm.. I guess I'll have to revisit.  When I last looked, the HttpClient had a SocketHandler that got in the way, but maybe that can be bypassed and replaced with the DelegateHandler wrapped around a TestServerHandler?  And going from the other direction, DiagnosticHandler wasn't public and couldn't be added to the TestHttpClient.
https://github.com/dotnet/aspnetcore/issues/24633

Iam quite stumped there's no easy way to do integration tests with azure functions like we can do with asp .net. For me this really feels azure functions is not mature yet. What surprises me even more that this issue is quite old already. Does this not have priority?

@Barsonax, if you read carefully, in one of the comments of this or other linked issues, @fabiocav mentioned that unit test support is not such important and AZ func team has tasks with higher priority to implement.
I can't imagine nowadays developing code that you can't unitest. The official advice to mock everything and invoke your function via static method, or execute and debug your function locally, looks like neglection of delevopers intelligence to me.
My advice - stay away from technologies you can't deploy and execute integration tests in-house (at least in simulation or dockerized mode )
The $$$ you save running your code in serverless environment costs you more when you get surprises in production, because of the bug/cases you couldn't tests, causing business downtime.

@Barsonax, if you read carefully, in one of the comments of this or other linked issues, @fabiocav mentioned that unit test support is not such important and AZ func team has tasks with higher priority to implement.

Ah missed that, if that's really the case then that priority is wrong imho. But then again that's just my naive opinion.

I can't imagine nowadays developing code that you can't unitest. The official advice to mock everything and invoke your function via static method, or execute and debug your function locally, looks like neglection of delevopers intelligence to me.

This is what I was doing but yeah it annoys me it's so hard to test the whole app. There will always be gaps if you only do simple unit tests.

My advice - stay away from technologies you can't deploy and execute integration tests in-house (at least in simulation or dockerized mode )
The $$$ you save running your code in serverless environment costs you more when you get surprises in production, because of the bug/cases you couldn't tests, causing business downtime.

Totally agree, we are actually moving some functionality away from functions to a simple asp .net api because it's less complex. Some of the triggers are nice though but iam definitely keeping the functionality there to a minimum until this is fixed.

inaccessibility of ServiceBusReceivedMessage from middleware (https://github.com/Azure/azure-functions-dotnet-worker/issues/1824)

That one is going to be resolved in the coming days as it's already working and just missing documentation.

inability to run Azure service bus locally to test ServiceBusTrigger function (https://github.com/Azure/azure-service-bus/issues/223#issuecomment-1741114770) that make testing more difficult than it should be

If you're testing a trigger and need to pass in a raw message (ServiceBusMessage), you can use a testing model factory provided by the ASB SDK to create one.
But in general, I agree. Having a foundational testing framework would be beneficial.

This item should also cover the related work captured in #304

In the meantime does this help?
//Arrange
var context = Substitute.For<FunctionContext>();
var request = Substitute.For<HttpRequestData>(context);
var response = Substitute.For<HttpResponseData>(context);

var serviceCollection = new ServiceCollection();
serviceCollection.AddSingleton(Options.Create(new WorkerOptions{Serializer = new JsonObjectSerializer()}));

var serviceProvider = serviceCollection.BuildServiceProvider();
context.InstanceServices.ReturnsForAnyArgs(serviceProvider);

request.Headers.ReturnsForAnyArgs(new HttpHeadersCollection());
response.Headers.ReturnsForAnyArgs(new HttpHeadersCollection());
response.Body.ReturnsForAnyArgs(new MemoryStream());
request.CreateResponse().ReturnsForAnyArgs(response);

var function = new Function();

//Act
var result = await function.Run(request);
result.Body.Position = 0;
var content = await JsonSerializer.DeserializeAsync<ErrorResponse>(result.Body);

//Assert
Assert.Equal(HttpStatusCode.OK, result.StatusCode);
Assert.Equal("Error", content?.Message);

For those of you using Moq, framework, only difference of what @andersson09 suggested is the following changes. Otherwise Body is always reinitialized and status code always returns 0.
// Status Code stubbing
mockHttpResponseData.SetupProperty(data => data.StatusCode);

// Body initialization
var memoryStream = new MemoryStream();
mockHttpResponseData.Setup(data => data.Body).Returns(() => memoryStream);

For using Moq, I share with you how to implement this solution using Moq
public static HttpRequestData CreateMockHttpRequestData(string body, string? schema = null)
{
    var functionContext = new Mock<FunctionContext>();
    var requestData = new Mock<HttpRequestData>(functionContext.Object);
    var serviceCollection = new ServiceCollection();
    serviceCollection.AddSingleton(Options.Create(new WorkerOptions { Serializer = new JsonObjectSerializer() }));

    var serviceProvider = serviceCollection.BuildServiceProvider();
    functionContext.Setup(context => context.InstanceServices).Returns(serviceProvider);

    var bodyForHttpRequest = GetBodyForHttpRequest(body);
    requestData.Setup(context => context.Body).Returns(bodyForHttpRequest);

    var headersForHttpRequestData = new HttpHeadersCollection();
    if (!string.IsNullOrWhiteSpace(schema))
    {
        headersForHttpRequestData.Add("Authorization", $"{schema} edd2545es.ez5ez5454e.ezdsdsds");
    }

    requestData.Setup(context => context.Headers).Returns(headersForHttpRequestData);

    return requestData.Object;
}

private static MemoryStream GetBodyForHttpRequest(string body)
{
    var byteArray = Encoding.UTF8.GetBytes(body);
    var memoryStream = new MemoryStream(byteArray);
    memoryStream.Flush();
    memoryStream.Position = 0;

    return memoryStream;
}

Any updates?

I came up with this until there is something like we have for ASP.NET Core applications.
Creating Integration Tests for Azure Functions

I came across this project https://github.com/wigmorewelsh/FunctionTestHost, just given it a go with a .net 6 isolated function and it works nicely.

Any updates on this?

I might as well ask as it's been a couple of months...... any updates?

Might I make a suggestion here?
It seems that the newish .NET Aspire framework is a great fit for testing isolated Azure Functions.  They're using the Visual Studio "IDE Execution" API to attach a debugger to user code that was started indirectly as sub-processes, spawned by the DCP "orchestration process".
https://github.com/dotnet/aspire/blob/main/docs/specs/IDE-execution.md
This sounds identical to Visual Studio starting an Azure Function Host which then spawns sub processes (user Function code) containing the user code.

This is the approach I've implemented in my company , but still lacks the ability to control the DI container (substitute services with mocks and set them up), but this is also solvable...
I still can't understand how Azure dev team expects developers to test AZ functions???
Testability is one of the most important aspects when choosing the technology, customers just can't fall in the "serverless costs you less"  trap. Without being able to unit/integration test - stay away.

So we saw the upcoming end of LTS for .NET 6 in November 2024 and thought, "Crikey! We'd best get a move on an migrate to .NET 8. Might as well jump on to Isolated Process while we're at it.". We initially tried out the ASP.NET Core integration route, maintaining all the familiar IActionResult and HttpRequest types and interfaces, but found that performance tanked instantly by a very noticeable amount (<30ms avg response times for simple HttpTrigger functions under .NET 6 In Process, jumping to >120ms avg response time under .NET 8 Isolated Process.  We then started trying to migrate to the in-built model using HttpResponseData and HttpRequestData and while performance improved, unit and integration testing were damn near impossible. A number of years-long threads of disappointment like this one and no visible process towards a solution is pretty frustrating.

I strongly think that http api's in Azure functions are always going to be second citizen to just asp .net. Might as well use asp .net then.

I, like the rest of the commenters here am pretty stunned that there is no MS solution to this yet. I don't think we need to rehash why a robust set of unit tests is fundamental to all good codebases, so this feature really shouldn't have been released without a clear unit testing approach.
I was mostly able to work around the testability limitations of the FunctionContext using a combination of what @dioum2touba showed above using the Moq library plus a few other tweaks. For example, my big issue is with the IInvocationFeatures type of the Features property - I cannot Mock it as i'd want using e.g:
invocationFeatures.Setup(x => x.Get<IFunctionBindingsFeature>()).Returns(...) as the type Microsoft.Azure.Functions.Worker.Context.Features.IFunctionBindingsFeature is internal! Gah! I cant add a Fake implementation of 'IInvocationFeatures' either for the same reason - I will not be allowed to override the 'Get' and return this type.
So my solution (don't judge me, i've been looking at this for a day and it's starting to blur) to test a custom AuthenticationMiddleware class is along the lines of:
[Fact]
public async Task Invoke_ApiAuthenticationFailed_FunctionNotTriggered_UnauthorizedResponseReturned()
{
    // Arrange
    Mock<IApiAuthentication> apiAuthentication = new(); // Custom Auth service
    Mock<ILogger<AuthenticationMiddleware>> logger = new();

    Mock<IHttpRequestDataFeature> httpRequestDataFeature = new();
    Mock<IInvocationFeatures> invocationFeatures = new();

    var functionContext = MockFunctionContextHelpers.CreateContext(new Dictionary<string, object?>(), invocationFeatures.Object);

    invocationFeatures.Setup(x => x.Get<IHttpRequestDataFeature>()).Returns(httpRequestDataFeature.Object);

    var mockHttpRequestData = MockFunctionContextHelpers.CreateHttpRequestData("{}", "1234");

    httpRequestDataFeature
        .Setup(x => x.GetHttpRequestDataAsync(It.IsAny<FunctionContext>()))
        .ReturnsAsync(mockHttpRequestData);

    apiAuthentication.Setup(x => x.AuthoriseAsync(It.IsAny<HttpHeadersCollection>())).ReturnsAsync(new ApiAuthorisationResult("Stranger danger."));

    // Inline delegate, so we can set & check updated FunctionContext properties.
    var functionTriggered = false;
    async Task NoOpFunctionDelegate(FunctionContext context)
    {
        functionTriggered = true;

        // Do nothing
        await Task.Run(() => { });
    }

    try
    {
        // Act
        var sut = new AuthenticationMiddleware(apiAuthentication.Object, logger.Object);
        await sut.Invoke(functionContext, NoOpFunctionDelegate);
    }
    catch (Exception e)
    {
        // There is still no good Unit testing solution for Azure Functions. In this case we cannot use Moq to return a Setup for the 'Get' of the type:
        // 'IFunctionBindingsFeature' which needs to be in the IInvocationFeatures collection to be able to call 'GetInvocationResult' on the FunctionContext. We want to do something like:
        // invocationFeatures.Setup(x => x.Get<IFunctionBindingsFeature>()).Returns(...)
        // ... but we can't as the type 'Microsoft.Azure.Functions.Worker.Context.Features.IFunctionBindingsFeature' is internal.
        // We cant add a Fake implementation of 'IInvocationFeatures' either for the same reason - we will not be allowed to override the 'Get<T>' and return this type.
        // Track either: https://github.com/Azure/azure-functions-dotnet-worker/issues/281 or https://github.com/Azure/azure-functions-dotnet-worker/issues/2263 for updates.
    }

    // Now we are past the error, we can access the httpResponseData.Body from the 'mockHttpRequestData' setup above.
    var updatedHttpResponseData = mockHttpRequestData.GetHttpResponseData;
    updatedHttpResponseData.Body.Position = 0;
    using var streamReader = new StreamReader(updatedHttpResponseData.Body);
    var httpResponseDataBody = await streamReader.ReadToEndAsync();

    // Assert
    updatedHttpResponseData.StatusCode.Should().Be(HttpStatusCode.Unauthorized);
    httpResponseDataBody.Should().Be("{\"Status\":\"Authorization failed\"}");

    functionTriggered.Should().BeFalse("Api Authentication failed, function not triggered.");

    // Assert the params passed to the mocked functions are as required
    apiAuthentication.Invocations[0].Arguments[0].Should().BeEquivalentTo(new HttpHeadersCollection
    {
        { "Content-Type", "application/json" },
        { "Authorization", "Bearer 1234" },
    });

    logger.Invocations[0].Arguments[0].Should().Be(LogLevel.Warning);
    logger.Invocations[0].Arguments[2].ToString().Should().Be("Stranger danger.");
}

Yes, I know.
The only other bit you'd be interested in here is the MockFunctionContextHelpers class which is:
public static class MockFunctionContextHelpers
{
    public static MockHttpRequestData CreateHttpRequestData(string? payload = null,
        string? token = null,
        string method = "GET")
    {
        var input = payload ?? string.Empty;
        var functionContext = CreateContext();
        var request = new MockHttpRequestData(functionContext, method: method,
            body: new MemoryStream(Encoding.UTF8.GetBytes(input)));

        request.Headers.Add("Content-Type", "application/json");

        if (token != null)
        {
            request.Headers.Add("Authorization", $"Bearer {token}");
        }

        return request;
    }

    public static FunctionContext CreateContext(Dictionary<string, object?> bindingData = null, IInvocationFeatures invocationFeatures = null)
    {
        var bindingContext = new MockBindingContext(new ReadOnlyDictionary<string, object?>(bindingData ?? new Dictionary<string, object?>()));
        var context = new MockFunctionContext(bindingContext, invocationFeatures);

        var services = new ServiceCollection();
        services.AddOptions();
        services.AddFunctionsWorkerCore();

        services.Configure<WorkerOptions>(c =>
        {
            c.Serializer = new JsonObjectSerializer();
        });

        context.InstanceServices = services.BuildServiceProvider();

        return context;
    }
}

the Mock types in here are pretty much lifted from @lohithgn 's solution: https://github.com/lohithgn/az-fx-isolated-unittest

MockBindingContext

How did you define MockBindingContext ?

How did you define MockBindingContext ?

It's pretty straightforward:
public class MockBindingContext : BindingContext
{
    public MockBindingContext(IReadOnlyDictionary<string, object?> bindingData)
    {
        BindingData = bindingData;
    }

    public override IReadOnlyDictionary<string, object?> BindingData { get; }
}

To support unit testing, both ASP.NET Web APIs and Azure Functions (including isolated), UnitTestEx was created. This is our attempt to fill this gap and semi-standardize testing implementation - this leverages the WebApplicationFactory for Web APIs and enables a similar capability for Azure Functions including mocking of services etc.

In case this is of use to others, I have created a basic HttpRequestData builder for .NET 8:

GitHub
[NuGet(https://www.nuget.org/packages/WorkerHttpFake)

This is based on a few similar issues and respositories, fulfilling some of the simpler use cases for integration/Moq testing.
Anyone is welcome to use/adapt/copy whatever areas may help you.


As a user, I want to get the locations of highly rated places in my vicinity, so I can find a place to visit

This user story was assigned as low priority for the team, and will be pushed back till v2.0, as it ties in with the Google Maps functionality.


edit icons not displayed

as described in #110 the forms for editing relations change after an inital edit. -> go to edit page of any enity; modify any relation --> the feather icons are not visible any more with the effect, that user cant modify any relations any more.

fixed with https://github.com/acdh-oeaw/apis-core/commit/b0c0a231e08f65836f5641cbf3f45edb77d09bf2 by @steffres


Application start and retry

If application can't start we may wait for changes and try to start it again after changes in file system.
FYI @lundibundi

Closed in favour of https://github.com/metarhia/metacom/issues/163


client: Init() supports passing in devices

containers_post.go has an implementation which respects the devices
parameter. Let's document it and also pass it in.
Signed-off-by: Tycho Andersen<EMAIL_ADDRESS>

I'm not opposed to having the "devices" struct shown as an example in some of the REST queries, however your current wording and systematic inclusion of the example hints that it is a needed thing.
It is not. LXD will automatically generate the rootfs device for you if you don't provide any device dict.

(or even if you do provide the dict but just don't have a disk device for / in there)


Custom scrollbar

Related Issue

#43

Proposed Changes

Created Custom ScrollBar with hover effeccts

Checklist

[X] Documentation of the code
[X] Add your name to the CONTRIBUTORS file
[X] Testing your code in the local machine

Screenshots

Could you change the scroll-bar thickness to 3px, make it rectangular, and make the white track transparent?

@jay-io By transparent track what do you mean?
Below two screenshots are attached, please select 1 to commit or anything else to change please specify too

2nd one looks good.


upgrade gradle to 7.0 and refactor build.gradle

upgrade gradle to 7.0 and refactor build.gradle

@jonyangx You could remove your Chinese nickname 杨军 through config your git：-)


Add API needed for background indexing in SourceKit-LSP

Explanation: Adds a couple of APIs to the SourceKitLSPAPI module that are needed for background indexing in SourceKit-LSP
Scope: Purely additive API
Risk: Very low, just adds new API
Testing: n/a
Issue: n/a
Reviewer: @MaxDesiatov and @bnbarham on https://github.com/apple/swift-package-manager/pull/7540 https://github.com/apple/swift-package-manager/pull/7555 respectively

@swift-ci Please test

@swift-ci Please test Linux


Error - Failed to save "config.json"

This is an issue continuing on #3382 as the author of that issue closed it for other reasons. I understand "do no post duplicate issues", but this easier than dealing with #3382 directly.
Pull Request #3567 attempts to solve this issue.

Closed due to duplicate issue.


Gotta Go Fast

Obviously we need to seriously optimize whatever is taking pages multiple seconds to load (likely something is terribly non-optimal with our dojo querying).
We should also take advantage of prefetch and prerender though.
Incredible click-bait: https://ipullrank.com/how-i-sped-up-my-site-68-percent-with-one-line-of-code

I think that article is about client-side performance
The first step might be some profiling: https://dev.to/yellalena/profiling-flask-application-to-improve-performance-4970
My guess would be that challenge starts are blocking the process from responding to requests (#83)


Initializing List with [] inside a function leads to a Reference Error

Steps to recreate the problem

Open the Effekt Interpreter.
Import List: import immutable/List
Create this function: def l() = { var li: List[String] = []; li }
Call l.

Expected Output
An empty List of Strings.
Real Output
const tmp954 = $immutable_list.Nil();
ReferenceError: $immutable_list is not defined

I did some investigation on this bug and found the reason.
I ran this program:
import immutable/List

def listBug() = {
    var l: List[String] = []
    l
}

def main() = {
    listBug()
}

The resulting JS code is:
const $effekt = require("./effekt.js");

const $immutable_List = require("./immutable_List.js");

const $listbug = {  };

function listBug() {
    return $effekt.withRegion((($this) =>
        {
            const tmp732 = $immutable_list.Nil();

            const l = $this.fresh(tmp732);

            const tmp733 = l.op$get();

            return $effekt.pure(tmp733);
        }));
}

function main() {
    return listBug();
}

module.exports = Object.assign($listbug, { main: main, listBug: listBug });

As you can see in the second const $immutable_List = require("./immutable_List.js"); the L is uppercase. But when called in const tmp732 = $immutable_list.Nil(); the L is lowercase.

Actually, the problem is that I wrote it in uppercase instead of lowercase. The import worked just fine but not the compilation. I suggest that imports should be case-sensitive.


WSDL served in native and JVM mode is not the same

The WSDL document served in native mode is slightly different than than the JVM one. The difference is in namespace prefixes. Where JVM has
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
native has
xmlns:ns1="http://schemas.xmlsoap.org/wsdl/soap/"
Then all occurrences of those prefixes also differ - e.g.
<soap:binding .../>
vs.
<ns1:binding .../>
This should not happen and we should investigate why this happens.

The issue can be reproduced by removing normalizeNsPrefixes() from Java2wsTest and from Java2wsIt
https://github.com/quarkiverse/quarkus-cxf/commit/21487587fca7b8938d25a9ed47e320b085da85f4#diff-cf451b68e046701407eca06d40063792a9dbed790aa60d2c9ed7b4b597cc9680R8-R13


Cannot use std::hash_map and std::hash_set with recursive types

std::hash_map
import "std";

struct foo {
    var map: std::hash_map[[ssize, foo]];
}

func main() void {
    var x: foo = uninit;
}

$ sunder-compile test.sunder
[std/std.sunder:3100] error: struct `struct { var state: usize; var index: usize; var key: ssize; var value: foo; }` contains a member variable of incomplete struct type `foo`
        var value: V;
        ^
[test.sunder:4] info: ...encountered during template instantiation of `std::hash_map[[ssize, foo]]`
    var map: std::hash_map[[ssize, foo]];
                  ^

std::hash_set
import "std";

struct foo {
    var set: std::set[[foo]];
}

func main() void {
    var x: foo = uninit;
}

$ sunder-compile test.sunder
[std/std.sunder:3096] error: struct `struct { var state: usize; var index: usize; var key: foo; var value: void; }` contains a member variable of incomplete struct type `foo`
        var key: K;
        ^
[std/std.sunder:3408] info: ...encountered during template instantiation of `std::hash_map[[foo, void]]`
    var _hash_map: std::hash_map[[T, void]];
                        ^
[test.sunder:4] info: ...encountered during template instantiation of `std::hash_set[[foo]]`
    var set: std::hash_set[[foo]];
                  ^

Additional Notes
Attempting to box the templated type using a pointer also does not work:
import "std";

struct foo {
    var map: *std::hash_map[[ssize, foo]];
}

func main() void {
    var x: foo = uninit;
}

$ sunder-compile test.sunder
[std/std.sunder:3100] error: struct `struct { var state: usize; var index: usize; var key: ssize; var value: foo; }` contains a member variable of incomplete struct type `foo`
        var value: V;
        ^
[test.sunder:4] info: ...encountered during template instantiation of `std::hash_map[[ssize, foo]]`
    var map: *std::hash_map[[ssize, foo]];
                   ^

In order to hold the data, a boxed any must be used to "smuggle" the heap allocated struct:
import "std";
import "sys";

struct foo {
    var _map: *any; # std::hash_map[[ssize, foo]];

    func map(self: *foo) *std::hash_map[[ssize, foo]] {
        return (:*std::hash_map[[ssize, foo]])self.*._map;
    }
}

func main() void {
    var x: foo = uninit;
    sys::dump[[typeof(x.map())]](x.map());
}

$ sunder-run test.sunder
00 00 00 00 00 00 00 00

The discovery of this issue, and an example of this smuggling in action, comes from an initial draft of a data interchange format library called bubby: https://github.com/ashn-dot-dev/bubby/blob/4f1f6f0f605b8ba7f6d18fa1c0945460576fabab/bubby.sunder#L22C1-L23C50

A better workaround was used in https://github.com/ashn-dot-dev/bubby/commit/afc18d96430c4d74059844c00f9a453d83b496a4. The size of both std::hash_map and std::hash_set is fixed regardless of the template types used, so std::hash_map[[void, void]] and std::hash_set[[void]] can be used as placeholder types, with type punning being used to later extract the desired type from the hash map and hash set member variables.


Correction for raw affiliation Department of Neurology, CH Narbonne, France

Correction needed for raw affiliation Department of Neurology, CH Narbonne, France
raw_affiliation_name: Department of Neurology, CH Narbonne, France
new_rors:
previous_rors: 022m8c549
works_examples: W2883378224
contact: 58aba86d62b1748dfa548f88149a2c0d:c524d2e26191dc4fd4ce957f78910d4fc4cd @ inrae.fr

This issue was accepted and ingested by the OpenAlex team on 2024-10-09. The new affiliations should be visible within the next 7 days.


[feature request] take screenshoot with the latest state before failing

currently, bitrise shows a video in the instrumentationTests but it is very difficult to see what happened if you have plenty of tests. The espresso logs does not help, it will be awesome if it is possible to take a screenshot as soon as the test fails and it is presented in the web.
This is an example how to capture a screenshot. It will require to extract the screenshots from the sdcard once all tests are done.
public static void captureScreenshot(final String name)
   {
      final File sdCard = Environment.getExternalStorageDirectory();
      final File dir = new File(sdCard.getAbsolutePath() + "/FailedTestScreenshots");
      final String path = dir + "/" + name + ".png";
      final File imageFile;

// Get the current screen view
      final View screenView = _mainActivity.getWindow().getDecorView().getRootView();
      screenView.setDrawingCacheEnabled(true);

   // Create the bitmap which will be used for creating the screenshot image file.
      final Bitmap bitmap = Bitmap.createBitmap(screenView.getDrawingCache());
      screenView.setDrawingCacheEnabled(false);

// Activity needs to be present for the screenshot to be captured.
if (_mainActivity == null)
{
 CustomLogger.d("Activity quit before screenshot could be  taken.");
}

// Check if the directory is already present, if not, create it.
// Also add useful error messages for logging.
if (dir.isDirectory() || dir.mkdirs())
{
  imageFile = new File(path);

  // Java 8 style try with resources handling that auto close any streams for you after task is done.
  try (OutputStream out = new FileOutputStream(imageFile))
  {
    bitmap.compress(Bitmap.CompressFormat.PNG, 90, out);
    out.flush();
  }
  catch (final FileNotFoundException e)
  {
  Timber.d("Unable to find or create file for screenshot");
  }
  catch (final IOException e)
  {
  Timber.d("Unable to access I/O to create file for screenshot");
  }
}
else
  {
   Timber.d("Directory could not be created");
  }
}

it is optional to use firebase testlab.
I currently use an emulator: NexusLowRes,24,en,portrait
insrumentation

Hi @dabitdev, just to clarify this, the whole step is using the Firebase Test Lab solution, the device you listed is one of the devices you can select from their emulators.

Hi,
Shouldn't we be able to use this method to take screenshots?

Hi @ivanatworkjam!
You are absolutely able to use it 🙂


TypeError in /

Error in ClashLeaders
TypeError in /
Unable to get property 'add' of undefined or null reference
View on Bugsnag
Stacktrace
js/components/TrophyDistribution.vue:81 - I.methods.highlightClan
js/components/TrophyDistribution.vue:88 - I.watch.foundClan

View full stacktrace
Created automatically via Bugsnag

An error linked to this issue has been marked as fixed in Bugsnag
TypeError in /


大家！有人复现出来嘛？爬虫代码卡住了，多次显示id_mappings未定义是什么原因呢？

Brothers, since most of The data sets of rumor detection are not open, I have set up a group for everyone to share the data set. If you are interested, you can add me on wechat The-xyc or contact me by email<EMAIL_ADDRESS>I will organize everyone.


[faucet] group faucets by dripping token and show token balance only once per group

It is not intuitive that the KSM balance is shown twice here.
better would be to show the Kusama logo with the token balance only once
Below that, all eligible faucets can be listed with their claim button

currently, the balance is even broken. After dripping one faucet, the balance is different although it's the same wallet:

How do we identify which faucet drips which token. I can't see how this is reflected in any data structure? So this would need more development on the pallet side. So I will close this with #1640, as we do group now the native token faucets together.


Update the template for Distillery 2.0?

Apparently Distillery 2.0 has been out for a while and promotes config providers over Conform as the solution for production environment config. Could the template (and the posts) also be updated to reflect that?

Using a config provider to read a Conform config file is perfect. I am quite interested in config providers, particularly for things like AWS Systems Manager and Key Management Service.
I am working on a big post on automated deployment with CodePipeline, then I will come back to this.


[FEATURE REQUEST] Nested Create

I have two model "User" & "Course"
User has attribute supervising_courses
Course has attribute managers
Those are connected as many to many association.
Whenever a user create a course, I have to connect supervising_courses and managers. But I like to do it on life cycle callback such as beforevalidate or beforecreate.
But it's kind of impossible because course has not created for the callback (beforeValidate, afterValidate, beforeCreate) and user information can't be retained at the callback (afterCreate). So I have to override action create or make new action for this. Is there any good solution for this? I want to do it on lifecycle callback.
I like to associate this two model at Course Life Cycle Callback! Is is possible?
User Model
module.exports = {
  attributes: {
    // Many to Many
    supervising_courses: {
    	collection: 'Courses',
    	via: 'managers',
    	dominant: true
    }
  }
};

Course Model
module.exports = {
  attributes: {
    // Many to Many
    managers: {
    	collection: 'Users',
    	via: 'supervising_courses'
    }
  },

  beforeValidate: function(values, next) {
    next();
  },

  afterValidate: function(values, next) {
    next();
  },

  beforeCreate: function(values, next) {
    next();
  },

  afterCreate: function(values, next) {
    next();
  }
};

Any news on this? I've used nested create somewhat successfully, but with some weird results. It appears when I do a nested create that the afterCreate lifecycle callback is never called on the primary model, instead beforeUpdate and afterUpdate are called. The model instances do get saved to the database as expected though.

@tjwebb I can see that waterline-adapter-tests already cover this scenario in create.nested.js:
            var data = {
              name: 'many to many nested',
              taxis: [
                { medallion: 1 },
                { medallion: 2 }
              ]
            };

            Associations.Driver.create(data).exec(function(err, values) { ... });

so I believe we can close this.

Please reopen if this hasn't been fully answered.


Fix some GM Core items activations

Regarding Accolade Robe (Greater) - it doesn't make sense that the better version has a more restrictive item activation. My reading of the text is that Review still has 1-action activation, but it's free once a minute.

I believe I won't be introducing any more changes here.


Getting Started Guide seems to be outdated

I have followed following guide.
https://upcloud.com/resources/tutorials/get-started-upcloud-command-line-interface
It's a minor thing, but guide says: Click the Add Member button
It seems that this button was replaced by Create subaccount so it may create some friction for first time user perspective.
Also, I am not sure where to send suggestions / issues related to portal or documentation. Is it the right place?

Thank you for reporting the outdated information!
We do not have generic community discussion forum available at the moment, so using GitHub issues of the most related repository, like you have done here, works well for reporting these issues. 👍 You can also contact our support via the chat button in the lower right corner of our Hub if anything in these guides/tutorials is unclear.

The link in the initial message should now redirect to an updated version of the tutorial.


Any way to enable secure API gateway?

If not, big feature request. Its not a deal breaker but having the ability in the zappa_settings.json to have the API Gateway create and produce an API key and require it on all the routes to secure things would be great.

Can you clarify this one a bit more?
To me, this seems like it should be an application-specific feature, not something that Zappa does, unless there is a specific Amazon service or API Gateway feature that you're talking about here.
What kind of API key? Just a password, or an OAuth scheme?

Its an API Gateway feature.  If you go into each of the API resources that get created there is an "Method Request" in Method Request, you can select to use an API Key, and Keys are generated in the API Gateway console. This gives you an x-api-key header you pass over to enable access control to the gateway.

Ahhhhhhhh. Okay, then yes, this is probably something that Zappa should handle. Do you have any links to docs/guides/tuts about this?

Nothing crazy specific. If i remember correctly zappa is boto3, http://boto3.readthedocs.io/en/latest/reference/services/apigateway.html has methods for create_api_key/delete_api_key/get_api_key and most of the create_* method object returns have a key for 'apiKeyRequired', which just needs a boolean true.

#215 PR made.

Merged! Thank you!!


Compilation error with macro (0.12.1)

Hello!
I am trying to build hello-world and got those macro errors:
   Compiling drone-core v0.12.1
error: constant expression depends on a generic parameter
   --> /home/mojo/.cargo/registry/src/github.com-1ecc6299db9ec823/drone-core-0.12.1/src/inventory.rs:301:40
    |
301 |                   pub fn $share(self) -> (Inventory<T, { C + $inc }>, $(Token<$share_token>),*) {
    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
318 | / define_methods! {
319 | |     share1 1 => T;
320 | |     share2 2 => T T;
321 | |     share3 3 => T T T;
...   |
335 | |     merge8 8 => a b c d e f g h;
336 | | }
    | |_- in this macro invocation
    |
    = note: this may fail depending on what value the parameter takes
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: constant expression depends on a generic parameter
   --> /home/mojo/.cargo/registry/src/github.com-1ecc6299db9ec823/drone-core-0.12.1/src/inventory.rs:309:69
    |
309 |                   pub fn $merge(self, $($merge_token: Token<T>,)*) -> Inventory<T, { C - $dec }> {
    |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
...
318 | / define_methods! {
319 | |     share1 1 => T;
320 | |     share2 2 => T T;
321 | |     share3 3 => T T T;
...   |
335 | |     merge8 8 => a b c d e f g h;
336 | | }
    | |_- in this macro invocation
    |
    = note: this may fail depending on what value the parameter takes
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: aborting due to 2 previous errors

error: could not compile `drone-core`.

To learn more, run the command again with --verbose.
error: Recipe `build` failed on line 27 with exit code 101

rustup show command outputs:
[...]
active toolchain
----------------

nightly-x86_64-unknown-linux-gnu (overridden by '/home/mojo/Projects/drone-os/hello-world/rust-toolchain')
rustc 1.46.0-nightly (0cd7ff7dd 2020-07-04)

PS: Thanks for the project, I really enjoyed following DroneOS book.

The more recent nightly upgrade of Rust made const_generics impossible. We are aware of the problem and will replace the inventory crate with an alternative crate. As it will be a breaking change for existing applications, we will introduce the change together with other forthcoming upgrades in the next major Drone-OS release.
In the meantime, please set the text in the file 'rust-toolchain' (in the project's root directory) like this:
nightly-2020-04-30


Add a dummy search endpoint to the API

This would be a dummy hospital search. For now, it will be enough to move the functionality of apis/infomed/searchForHospitals() there and make the API function call the implementation on the server side.
This issue depends on #5.

I'm going to close this in light of #79.


Create a function that validates that the csv data matches the column metadata

Nothing visual yet (that's in other issues).

This will be implemented in the implementation via core.


No Authentication Option For BepInEx ?

Hi @lloesche - I've been using this image alot :-) Thanks :-) Is there a way to let people login to the game without a password for the BepInEx Config as well just like there is for Valheim Plus Config? and if so - how?

Is there a way to let people login to the game without a password for the BepInEx Config

Hi there @fclante -- BepInEx is just a generic Unity game patcher. It doesn't have any in-game functionality itself. Valheim Plus for instance uses BepInEx to patch Valheim and remove the password.


Implemented share links for VKontakte and Odnoklassniki

Fix PrestaShop/PrestaShop#17886
Additionally fixed the fork project name in the README.md.

Also need to add the icons to base theme

What about PR?

I'm sorry but I'm not sure these social networks as are popular as the others 🤔
@PrestaShop/prestashop-product-team wdyt ?

VKontacte is the leader in Russia, that would makes sense to have it for this market/area.
Eventually, if this is not possible to add new one "per default", is this possible to create a way to add custom social networks with a form? it would require to manage 2 fields: name (text), picture/logo (file upload). Some CMS allows to do that, this is very useful: it can also be used to place a link to a RSS, to a blog, or to a marketplace, or other custom ways to follow the shop.

Hi,
Having the possibility to share on VK an OK.ru is great.
VK monthly traffic =  1.87B
OK.ru monthly traffic = 892.08M
One question, how does it work for the icon in the front-end?

On another note, I agree with @ttoine, to avoid ending up with a list of 100 social media, we should add the possibility to add custom social media at some point. We'll look into creating some specs for that.

I created an issue to link this PR to, I add the link in the Description.

Hello @marinovdf, thanks for your contribution, would you mind to rebase your pull request? Thanks

@marinovdf Thank you for this contribution the PR is ok
@PrestaShop/prestashop-designers we should integrate the icon for the new social media what do you think ?

Definitely needs the icones :)

@NeOMakinG It seems that icons from this module use these classes for loading icons (https://github.com/PrestaShop/PrestaShop/blob/develop/themes/classic/_dev/css/components/footer.scss#L65). Could you help @marinovdf and improve for having icons to this PR ? Thanks

You just need to add svg icons into the img folder as it is done for others social networks, and then add classes there like this is done already : https://github.com/PrestaShop/PrestaShop/blob/develop/themes/classic/_dev/css/components/footer.scss#L65

@LouiseBonnard please note that SVG vector graphic pictures are used in this case already.

@NeOMakinG So this plugin runs only with the theme classic and not independently. Yes ?

@Progi1984 didn't think about it but it looks like yes, damn this is weird

Hi,
I agree and we should definitely add VK and Ok.ru icons otherwise share buttons remain blank and cannot be identified as these social networks. I will provide the specific icons. :)

@PrestaShop/prestashop-product-team Does this module have to work independently? Or Can we add icons to classic theme ?

How does it work for existing social network icons?

@sam-pires It fetchs icon from the classic theme from specific CSS class.

and it uses a specific list of icons in the theme or it uses fontawesome?

from this theme

Ok so after discussion, let's add the icon to the classic theme as it has been done with other social networks.

Ping @NeOMakinG

Ok so after discussion, let's add the icons to the classic theme as it has been done with other social networks.

Could we know why? 🙏

Could we know why? 🙏

you can ;)
There are 2 options:

Adding the icons to the classic theme, making the module dependant on the theme
Making icons manageable at the module level

The module has always worked the first way. So making it work differently means modify how it works for all the social networks already available in the module.
For the moment let's keep it that way. The PR has been opened for a long time, let's not change everything now.
Nevertheless, it is interesting to make it work differently, allowing the users to add their own social networks in the module. So everyone is free to add the ones they like, and it doesn't require PrestaShop to add and update all social networks needed by the users.
I created a 'feedback' about it in Productboard already. We could create an issue if you want, but we already know a lot about the needs for this module.

ping @Progi1984 and @NeOMakinG what is the status of this PR ? Can it go to QA ?

Hi,
I agree and we should definitely add VK and Ok.ru icons otherwise share buttons remain blank and cannot be identified as these social networks. Since we're using google material for icons and fontawesome to complete the missing ones, i recommend using those svg for the icons:

VK: https://fontawesome.com/icons/vk?style=brands
Ok.ru: https://fontawesome.com/icons/odnoklassniki?style=brands

Someone should add these icons to the classic theme in order to continue with this PR
@marinovdf do you want to do it ?
Or I'll just do it

Hi everybody
Since we had no news from the author for more than 6 months, I will follow our guidelines and I'll close this pull request as it seems stale. Feel free to reopen or open another one if you think it's still relevant 😉
Thanks!


Unable to create any wallet apart from DFI

Hi,
I have been reading and re-reading the literature on your app regarding creating wallets for Liquidity Mining purposes.
As per the attached screenshot, I now have a test deposit of 700DFI sitting in that wallet - all good.
However, contrary to the information I have read on your app, there is no way to create wallets other than DFI. Each time I click on the "Wallets" tab (as shown), all that happens is I see my DFI wallet. There is no option for me to create a BTC / ETH wallet, etc.
Please advise what is going on with your app that is preventing me from opening other wallets and thus liquidity mining with you.

Creates itself automatically at the DEX. You can convert DFI to BTC or ETH or other.
After a few minutes you have an BTC wallet or other.

Hi @Ausafari , thanks for your feedback. @domedesign55 is right, it'll automatically appear once you receive / swap to other coins. For enquiries like this, you may also turn to the Telegram Channel for quick tips!
https://t.me/defiblockchain


Click on the item have no reaction

Click on the item have no reaction, to click many times to click, whether RecyclerView control of reason, can consider to the ListView

I have already solved


Experimental v6 Client crash on Quest

Hi,
I have installed the latest server and client Experimental v6 and when I open in on the quest it opens the Steamvr world without the menu etc and then closes.
The server says client is connected and it was working fine last night.
Thanks

You could try to reinstall alvr on the quest:

uninstall with adb uninstall com.polygraphene.alvr
install as usual

I never had an issue like this

closed due to inactivity


pfs-93 removed two calls for api to one and unused method in shared a…

…ssignee

Sam Joseph
Not sure I understand the intention behind this change, and even if needed, the new approach is much more prone to error. You are moving from using typed functions to switch between routes to strings, which have no safety at all. If a dev mistypes newBlackendRequestz, the code won't compile. If they mistype "financeAPY" as the string, the new request method will attempt to send a request but without a url at runtime.


Support unicode escapes in TextFormat.

NOTE: The existing JSON support handles surrogate pairs differently that the
conformance test for TextFormat. This implementation follow the conformance test
recommended handing even though it differs from what the C++ implementation
does.
Also update known failing conformance tests list.

Just look at the first commit to see the real changes needed for this.


RTCIceServer frontend bug fix

This bug caused following error:

I'm assuming, servers should be added only if lite is active. Otherwise they are undefinded. So likely it's just typo, it should have been lite === true instead of lite !== true. But no point of createing double new RTCPeerConnection() anyhow. It breaks current development stack.

if lite !== true is correct, lite meaning using ICELite witch requires no STUN or TURN servers. If it's throwing an error then there is something else going on.

I see... Maybe the case was, I was using backend from docker image and frontend from latest commit and they are not compatible.


Add on_complete argument in DefaultExtractor.

Signed-off-by: Jakub Dardzinski<EMAIL_ADDRESS>
Problem
DefaultExtractor does not support running another method on extract_on_complete
Closes: #1173
Solution
Add boolean argument.
Checklist

[x] You've signed-off your work
[x] Your pull request title follows our guidelines
[x] Your changes are accompanied by tests (if relevant)
[x] Your change contains a small diff and is self-contained
[x] You've added a header to source files (if relevant)

Codecov Report

Merging #1188 (c36dd8d) into main (28eb919) will increase coverage by 0.02%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##               main    #1188      +/-   ##
============================================
+ Coverage     79.77%   79.79%   +0.02%
============================================
  Files            78       56      -22
  Lines          3515     3103     -412
  Branches         22        0      -22
============================================
- Hits           2804     2476     -328
+ Misses          681      627      -54
+ Partials         30        0      -30

Impacted Files
Coverage Δ

...ion/airflow/openlineage/airflow/extractors/base.py
91.66% <100.00%> (+0.59%)
:arrow_up:

...penlineage/client/transports/TransportFactory.java

...a/io/openlineage/client/transports/HttpConfig.java

integration/dagster/openlineage/dagster/utils.py

...va/io/openlineage/client/transports/Transport.java

...penlineage/client/transports/ConsoleTransport.java

.../java/io/openlineage/client/OpenLineageClient.java

...c/main/java/io/openlineage/client/Environment.java

...o/openlineage/client/transports/NoopTransport.java

.../io/openlineage/client/transports/KafkaConfig.java

... and 13 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Images should not be copied

Images should not be copied.

Great idea. I think this issue will continue to pop up with other file types, and a user may even want to customize this.
So, my plan is to add a new extension setting where you can provide a comma-separated list of file extensions which by default should not be selected (they can still be manually selected, just like with gitignored filed). I will default this list to contain common image extensions like png, jpg, jpeg, and webp.
What do you think of this approach? Any other file extensions you can think of which would probably be safe to ignore?
Planning on getting to this during the weekend.

This should be implemented with the latest version.


Subdomains?

Hi there,
I've abandoned Spark in favour of Laracogs, looks terrific so far! I'm struggling a bit with how to handle a subdomain with the Starter kit right now (i.e. app.myapp.com), as the routes break whether or not I put them into a domain group. Would you have any pointers or suggested approach to doing this?
Hope it's ok to ask this here.

Its always ok to ask. I was just testing with domains and it appears to work, do you have homestead and your hosts files updated accordingly? I tested with Route::group(['domain' => 'app.laracogs.dev'], function () {}); in both the RouteServiceProvider and the routes/web.php so I'm a little stumped as to why it isn't working.

Hey, thanks and sorry for the delay in responding. I think I had mis-configured the routes between the auth and rest of the app. Seems to be good now. Closing!


Module Not found (Module in wrong directory)

Hi there I recently installed your modules for the dialog component.
I’m trying to use the file however it says it can’t compile the “X” icon which is located in a different folder.
As per the image, the icons folder is located in the esm folder and not the cjs folder, yet it keeps trying to pull from there.
yes I have tried changing the folders, even copied and pasted the icons folder into the cjs folder then deleting the icons from the esm folder. But nothing works.

Any work around to this will be greatly appreciated thanks.

Just downgrade lucide-react to 0.263.1 works fine

Found this issue as well.

Just downgrade lucide-react to 0.263.1 works fine

Does not work for me as I just tried it. The error is still appearing.

Just a thought but the issue might be coming from here:
   exports.X = X;
exports.XCircle = XCircle;
exports.XCircleIcon = XCircle;
   exports.XIcon = X;
exports.XOctagon = XOctagon;
exports.XOctagonIcon = XOctagon;
exports.XSquare = XSquare;
exports.XSquareIcon = XSquare;

It looks like the conflict might be arising because the "X" component is being called twice, but react does not know which to import.

Same issue as: #1163

This issue has been automatically closed because it received no activity for a while. If you think it was closed by accident, please leave a comment. Thank you.


BUG: Fixes memory leak warning in unit tests

To allow the next round of build to test this, I am moving forward with the integration :rocket:


feat: Added custom query support for PostgreSQL

Closes #569
Adds custom query support for PostgreSQL
Created new file third_party/ibis/ibis_postgres/client.py  to add  _get_schema_using_query and _get_type to PostgreSQLClient

/gcbrun

/gcbrun


Issue connecting to MS SQL Server running on non default port 1433

Issue Title
Issue connecting to MS SQL Server running on non default port 1433 from Linux environment
OS Version
Linux 4.4.0-109-generic #132~14.04.1-Ubuntu SMP Tue Jan 9 21:46:42 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
dotnet core project settings
<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
    <RuntimeFrameworkVersion>2.0.5</RuntimeFrameworkVersion>
  </PropertyGroup>

  <ItemGroup>
    <Folder Include="wwwroot\" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.5" />
    <PackageReference Include="System.Data.SqlClient" Version="4.4.2" />
  </ItemGroup>

  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.2" />
  </ItemGroup>

</Project>

General
Using System.Data.SqlClient to connect to Sql server database. Following the sample in this post https://blogs.msdn.microsoft.com/dotnet/2016/11/09/net-core-data-access/
It works fine if the sql server is listening on port 1433 but fails when connecting to sql servers listening on port 1434. Confirmed that there is no network / firewall issues that that is blocking the ports. Able to connect to the same sql server on port 1434 using java code.
This connection string works >
Server=myhostname,1433;Database=mydatabase;User Id=myuser;Password=mypassword;
This connection string does not work in above linux environment.  Works fine on windows
Server=myhostname,1434;Database=mydatabase;User Id=myuser;Password=mypassword;
Both connect strings work fine in Windows environment.
Record Fetch Error: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 35 - An internal exception was caught)

If an instance of SQL Server is listening on any other port, than 1433. You have to specify a server-alias or change the standard port globally.
You can have SQL Server listening on multiple ports.

@usergiga , Thank you for the reply.  I have the alias created and that doesn't seem to help. The connection works fine in Windows runtime.  Have this issue only in the Linux (Ubuntu) runtime.

Issue moved to dotnet/corefx #27307 via ZenHub


fix(deps): update terraform terraform-ibm-modules/cos/ibm to v8.10.2

This PR contains the following updates:

Package
Type
Update
Change

terraform-ibm-modules/cos/ibm (source)
module
patch
8.10.1 -> 8.10.2

Release Notes

terraform-ibm-modules/terraform-ibm-cos (terraform-ibm-modules/cos/ibm)
v8.10.2
Compare Source
Bug Fixes

fixed bug where secrets module was being called by the DA even when no service credentials were being created (#696) (f5b69b5)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

:tada: This issue has been resolved in version 1.11.7 :tada:
The release is available on:

GitHub release
v1.11.7

Your semantic-release bot :package::rocket:


Slow to populate packages (no pre-caching)

Takes a long time to populate packages tab, my first run seemed to get stuck and needed a close/reopen after a few minutes, subsequent opens take about 30 seconds each time.

This is even with "show installed package" off

please use version 4.0
https://github.com/HandyOrg/HandyWinGet/releases/tag/v4.0.0-beta.1

Really use it - it grabs and parses the packages in less than 3 seconds on my machine.  Seriously a wondrous speed increase.


[In-App Reporting] Create an interface to consume and render  a bundle config that comprises of Indicators for each reporting module

Is your feature request related to a problem? Please describe.
As an implementor, we need to find a way in which we can be able to bundle various indicators into modules and then render them on the UI for user selection. This should be done in a configurable way as some indicators are not necessarily grouped as modules as is in the case for LMH eCBIS
**Example 1 -   LMH eCBIS Indicators bundled into modules **
Module 1  - Routine household visits

Births (community/home)
Births (facility)
Stillbirths
Neonatal deaths
Post-neonatal deaths
Child deaths
Maternal deaths
Community triggers
Deaths > 5 years (community/home)

Module 2 - RMNH

Pregnant women visits
Referred for delivery
Referred for ANC
Postnatal visits
Referred for danger signs
HBMNC within 48 hours: Mother
HBMNC within 48 hours: Infant
Clients currently using modern FP

Example 2 - WHO SMART DAK ANC Indicators  - No module

ANC-IND-01  - Percentage of pregnant women with first ANC contact in the first trimester (before 12 weeks of gestation)
ANC-IND-02  - Percentage of pregnant women who received iron and folic acid (IFA) supplements for 90+ days
ANC-IND-03  - Percentage of pregnant women screened for syphilis during ANC
ANC-IND-04  -  Percentage of pregnant women with at least four ANC contacts
ANC-IND-05  - Percentage of pregnant women with a minimum of eight antenatal care contacts
ANC-IND-06  - Pregnant women who received counselling on danger signs (%) during at least one ANC contact
ANC-IND-07  - Percentage of pregnant women with at least one blood pressure measure during ANC
ANC-IND-08  - Percentage of pregnant women with at least one blood pressure measure in the third trimester during ANC
ANC-IND-09  - Percentage of pregnant women whose baby’s heartbeat was listened to at least once during ANC
ANC-IND-10  - Percentage of pregnant women with an ultrasound scan before 24 weeks
ANC-IND-11  - Percentage of women who received three doses or more of intermittent preventive therapy for malaria (IPTp) during their last pregnancy
ANC-IND-12  - Percentage of pregnant women counselled and tested for HIV
ANC-IND-13  - Percentage of pregnant women who received oral pre-exposure prophylaxis (PrEP)

Describe the solution you'd like
The Initial interface should show a listing of the different modules as depicted in the mock or just show a list of indicators if the indicators are not grouped into modules.
Screenshot of mock

Additional context
We could write a config as described below to sync and render the above list as shown in the code snippet below
...
"reports": {
    "Household": [
		{
			"id": "1",
			"title": "ANC-IND-01 ",
			"description": "ANC-IND-01  - Percentage of pregnant women with first ANC contact in the first trimester (before 12 weeks of gestation) ",
			"url": "http://fhir.org/guides/who/anc-cds/Measure/HOUSEHOLDIND01"
		},
		{
			"id": "2",
			"title": " Births (facility)",
			"description": "Number of  Births at a facility",
			"url": "http://fhir.org/guides/who/anc-cds/Measure/HOUSEHOLDPREGNANCY"
		}
    ],
    ...
}

or just a list of indicators if not grouped into a module as
...
"reports":  [
		{
			"id": "1",
			"title": "ANC-IND-01 - Pregnancy Trimetster 1 ",
			"description": "Number of Births in the community or recorded at Home",
			"url": "http://fhir.org/guides/who/anc-cds/Measure/HOUSEHOLDIND01"
		},
		{
			"id": "2",
			"title": " ANC-IND-02 - Folic Acid Deficiency",
			"description": "Percentage of pregnant women who received iron and folic acid (IFA) supplements for 90+ days",
			"url": "http://fhir.org/guides/who/anc-cds/Measure/HOUSEHOLDPREGNANCY"
		}
    ]
    ...
}

NB. We shall have a config to let the app know if our preferred mode of report generation is manually invoked or periodically done via scheduled work manager
This can take the following approach
Scheduled approach

[x] 1. Based on this approach we shall be generating MeasureReports in  the background based on the https://github.com/opensrp/fhircore/issues/1798
[ ] 2. Query each MeasureReport (Indicator) and add it to a list as described above based on the period
[ ] 3. Pass the List to the reporting interface

Manual generation

[x] 1. Select the Module of interest (Aggregated Indicators)
[x] 2. Select the period
[x] 3. Invoke $evlaute_measure to generate each Indicator in the selected module and desired period (start date & end date)
[x] 4. Add the results  of each indicator to a list as described above based on the period
[x] 5. Pass the List to the reporting interface

Clarification required

Do we need to show what indicators comprise of each module ?

Note that the format of these indicators is different now, there's no JSON, it's bundles of Measures (I think?)

Done


Write comment to a PR for push action.

I need to add/update a comment with code coverage when I do push to a branch. But it is possible only for pull_request and pull_request_target events.
I have checked your code and I see that for pushing you do only createCommitComment.
It would be grate if you add an opportunity to setup it some how.
I suggest to add additional option where I can define action type for publish a comment.
If there is no a PR you can skip publishing comment.

It's not a common usage, because every commit may related to more than 1 PR.
I will leave this issue open, if more people will vote for this, I will think about implementation.

After reviewing the issue, I've decided to close it as I currently don't have plans to implement this feature due to low interest.
If you have any further questions or concerns, please don't hesitate to let me know or reopen this issue.
Thanks you


feat: support ocp v4.11

OCP version support v4.8-v4.11

update to controller-runtime v0.12.3

update to kube apis v0.24.0

move from batchv1beta1 to batchv1.CronJob

TODO: reconcileutils seems to begin to break at runtime, (meterbase) controllers need to move to using controllerutil instead

intended changes are now in branch feature/splitOperator


📝[Documentation Update]: Bug , Enchancement and Documentation label to Issues

Automatic Addition of Bug , Enchancement and Documentation label to Issues

@varshith257 please assign me this issue.

@varshith257
"Settings" > "Actions" > "General" and under "Workflow permissions", select "Read and write permissions".
adi enable chesthe automatic ga label's add ayyidi

@varshith257 please assign me this issue.


Add shell to PatrolIntegrationTester, or ability to execute code on testing machine

Use case
I am writing patrol test to test my Flutter app on Android emulator on my machine. I want to be able to run terminal commands on my host machine during the patrol test (inside the PatrolTesterCallback).
This feature request is indeed related to the problem I am having, however the feature will serve a much wider variety of cases than described shortly.
So, the problem is that I cannot trigger Android's flow for handling URLs of Instant Apps. When testing manually, I usually fire this terminal command:
adb shell 'am start -a android.intent.action.VIEW -d "https://..." com.my.applicationId'

this brings up this system UI:

And then, when testing manually, I click "OPEN APP", which opens Android Instant App, from which I download my full app and get to testing further.
The adb command above is not the only one I wish to be able to run from within the patrol test. I also want to generate the URL during the test, and for this I have a nifty CLI command on my machine (it contacts my server to get me the URL).
To sum up, I want to start my patrol test by running a few terminal commands (executing them on my host machine), and then start using patrol's finders to assert what is shown on the emulator's screen.

What I have tried:
There is already a native openUrl method provided by patrol. However, it never opens the Android's UI as in the picture above - it simply opens the browser (not even my app, which actually handles the URL nicely). openUrl will only open my app, if the URL schema is a custom schema that my app supports. I mean, my app support both "https://" and "mycustomapp" shemas. But with patrol I am not able to test "https" schema, as it always opens the browser. This, obviously, makes it impossible to test the real user flow - user clicking on the URL, user making a decision to continue viewing the URL in the Instant App, user interacting with Instant App, user downloading the full app, and user interacting with the full app.
Proposal
void main() {
  patrolTest(
    'My test.',
    ($) async {
      final result = $.host.run('command', ['option', 'value']); // akin to Process.run on the host
      // use result...
    },
  );
}

this was implemented in https://github.com/leancodepl/patrol/pull/630 but then removed

Hello @bartekpacia, since it was removed, is there any workaround to achieve the desired action?


org profile: Add new settings save method to org profile.

I've implemented the new org settings saving method to organization profile page.
Also after implementing the new saving method to org profile, there is so much obsolete code, which is removed here as well.
But I'm getting one problem in Casper test, tests fail while uploading files, I found that no POST request is being sent to the server but after adding these lines back make tests pass.
    $(".organization form.org-profile-form").off('submit').on('submit', function (e) {
            e.preventDefault();
            e.stopPropagation();
    });

I guess this have something to do with casper.fill but I'm not sure what?
@timabbott FYI.

GIF showing new changes and that uploading is working fine.

If this PR get merged then I can update the new-feature-tutorial for the frontend because it also includes some cleanup.

This looks great, merged after fixing a typo in your hack comment, thanks @shubhamdhama!
I noticed two unrelated bugs while looking at this: https://github.com/zulip/zulip/issues/8842 and the fact that the "deactivate organization" section's status element is still at the top of the page, not inside it's subsection.


How to load weights into model?

Hello, I am having difficulty trying to run txt2img on my macbook pro M1. I downloaded the sd-v1.4.ckpt from the link in the readme, but run into the same issue as https://github.com/liuliu/swift-diffusion/issues/49
In trying to debug this, when I print all the keys from the checkpoint, I notice they are labeled as:

So I am wondering if

is the correct way to load the weights into the model (and similarly for the text model and encoder/decoder?
However, I am still getting nan values as the output from my decoder at the end, wondering if this is related to the weight loading or something else?
Thank you!

Loading with
graph.openStore("path_to_sd1.5.ckpt") { store in     store.read("text_model", model: textModel)   }
is working, but the problem seems to be using the LoRAUnet or LoRACLIPTextModel. Loading with UNet() and CLIPTextModel instead works


[HM3D]--Semantic scene support/bugfixes.

Motivation and Context
This PR adds various functions and refactors required to implement support for HM3D semantic scenes in the correct format.  Included are :

Better vertex color handling in semantic mesh load
More rigorous string verification for sentinel string denoting Semantic Scene Descriptor file type
Proper application of frame re-orientation to Semantic Mesh data.  This is required to enable any semantic meshes to be re-oriented in engine.
Force all semantic meshes to be treated as Instance Meshes (temporary so that vertex colors and vertex ids are supported).

Also, some refactors to improve efficiency and debug message content in Resource Manager are included.

How Has This Been Tested
Locally c++ and python tests

Types of changes

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

Checklist

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have completed my CLA (see CONTRIBUTING)
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

@aclegg The tests in install_and_test_ubuntu will not pass until the mp3d example dataset is updated to have and use the scenedataset config.