Fix for iis_pool server-level app pool default value inheritance

Description
Updated :add action to call :config action so that server-level pool defaults that are inherited are discovered properly in load_current_value
Issues Resolved
Fixes #473
Check List

[ ] All tests pass. See TESTING.md for details.
[x] New functionality includes testing.
[x] New functionality has been documented in the README if applicable.

Minor release for this?

@ramereth Yeah, that makes sense, it is a change in behavior despite it doing effectively the same thing.

Released as: 7.5.0


fix(backup): detach volumes if vm is shutdown

Problem:
When users created a backup on a shutdown VM, the upgrade controller cannot drain the node because the volume is attached on the node.
Solution:
If the VM is shutdown, detach volumes after taking a VM backup.
Related Issue:
https://github.com/harvester/harvester/issues/3648
Test plan:
Case 1: Old VM backup volumes can be detached with the new Harvester controller

Create a master-head Harvester.
Create a VM and stop it.
Create a backup for the VM.
After the VM backup is finished, related volumes are attached.
Replace harvester/harvester deployment with this PR image.
Related volumes are detached.

Case 2: New VM backup volumes on a stopped VM can be detached.

Follow Case 1.
Create a new backup on a stopped VM.
The related VM volumes are attached when VM backup is in progress.
The related VM volumes are detached after the VM backup is finished.

Case 3: New VM backup volumes on a running VM cannot be detached.

Follow Case 2.
Start the VM.
Create a new backup on a running VM.
The related VM volumes are still attached after the VM backup is finished.

Or can we determine if the volume can be dettach during drain?

We can do this before node draining and use it as a workaround.

A volume can be dettach safely under the following conditions:

No pod uses this volume
All volumesnapshots based on this volume are in the ready to use state

This may still have some edge cases. We also need to mount volumes when we restore a VM snapshot. In this case, the PVC is not in the above two conditions. For example:

Create a VM.
Create a VM snapshot.
Stop the VM.
Restore the VM snapshot to a new VM.
Before the restore is finished, backup the original VM.

If we only need to unmount volumes before draining nodes, I suggest only adding this script when we do an upgrade.

Question:
to solve such issue from the root, shall we consider:
(1) check any ongoing backup/snapshot before upgrade
(2) check any ongoing upgrade before taking backup/snapshot
do not allow them run in parallel in system level or given node level

(1) check any ongoing backup/snapshot before upgrade
(2) check any ongoing upgrade before taking backup/snapshot

If we want to let users run some workloads or backup / restore during the upgrade, adding these webhooks may limit the cluster's ability.

It would be nice if the PR included a volume_controller_test.go

I added some test cases for it, but they are not coverage all codes, because I haven't found a good way to mock GetByIndex. Thanks.

@mergifyio backport v1.1


Upgrade kuttl testing image to 0.9.0 version

Description of the change:
Upgrade kuttl to version 0.9.0
Motivation for the change:
New version contains the capability to run assertion based on commands/scripts, that enable more complete testing of the objects being managed

Unfortunately this kuttl version contains a breaking change (kudo.dev group removal, https://github.com/kudobuilder/kuttl/pull/263) so upgrading isn't as easy as just changing scorecard-test-kuttl's base image version.
My suggestion is to start versioning the scorecard-test-kuttl image with kuttl version thrown into the matrix, ex:
quay.io/operator-framework/scorecard-test-kuttl-<kuttl version>:<operator-sdk version>

In the above scheme, a kuttl version can be upgraded to the next version that doesn't have a breaking change; once a break occurs, that kuttl version will be fixed and a new matrix entry created for the breaking kuttl version.
/ping @joelanford @jmccormick2001 @jmrodri

As far as I can see, the change would impact XX-assert.yaml and kuttl-test.yaml that can be managed by a simple replace in the files with filenames following that patter. In my opinion is simple enough to include it in the migration guide to the next of operator sdk docs, rather than creating a matrix of versions, specially taking into account that they don't have planned to have an 0.8.1 and a 0.9.1, so it won't be two independent versions with support.
Also I'd like to point out that docs  are referring tag image :dev which hasn't been updated since few months ago and make the test fail, so in my opinion correcting that tag and the namespace of the yaml for the new operator sdk version makes sense rather than having a matrix of versions (which won't have a long live). Users that don't want to upgrade can use an older version of the tag of operator sdk kuttl test.

As far as I can see, the change would impact XX-assert.yaml and kuttl-test.yaml that can be managed by a simple replace in the files with filenames following that patter.

The change is semantically broader than that: kuttl has deprecated an entire group, which is a pretty big breaking change. While I agree the fix is simple, operator-sdk has committed to no breaking changes within the 1.0 major version. Anyone should be able to upgrade between two minor versions, including upgrading image versions, without changing their project.
Two alternatives to the approach I suggested:

sed -i s/kudo.dev/kuttl.dev/g on kuttl config files before passing them to kuttl. This would be the easiest, and I don't see any issue with this as long as the version matches a version supported by kuttl.dev. If it doesn't support that version, then the breaking change problem comes up again.
Version the image with kuttl version only, ex. quay.io/operator-framework/scorecard-test-kuttl:<kuttl version>. This would be fine if an --output flag is supported by the image, which determines what scorecard TestStatus version to output, ex v1alpha3, for backwards and forwards compatibility (since scorecard version no longer affects image tag).

Also I'd like to point out that docs are referring tag image :dev which hasn't been updated since few months ago and make the test fail

This is a docs "bug", dev -> latest.

@estroz  I've been doing some testing with sed, unfortunately the path in which operator-sdk is mouting the yamls is read only.
sed: couldn't open temporary file /bundle/tests/scorecard/kuttl/sedFah9X9: Read-only file system
If you think it'd be appropriate I can move them to /tmp and run kuttl over there.
The option mentioned here:

Version the image with kuttl version only, ex. quay.io/operator-framework/scorecard-test-kuttl:. This would be fine if an --output flag is supported by the image, which determines what scorecard TestStatus version to output, ex v1alpha3, for backwards and forwards compatibility (since scorecard version no longer affects image tag).

Does not seem viable for me, as there is operator-sdk code (to convert the output of kuttle to scorecard), that gets injected into the container too, so if we would use kuttl version only, we would have no way to reflect changes in the binary we are using or any changes in the script for that matter.
Not certain what would be your preferred course.

Does not seem viable for me, as there is operator-sdk code (to convert the output of kuttle to scorecard), that gets injected into the container too, so if we would use kuttl version only, we would have no way to reflect changes in the binary we are using or any changes in the script for that matter.

While breakage is technically possible, the only things the operator-sdk wrapper does is run kuttl with some flags needed to generate a JSON report, decode that report, then encoding it in a scorecard output format. If a bug needs to be fixed/change made in the wrapper, new images can be built for existing kuttl version tags, such that docker pull updated-kuttl-image:<kuttl version> will refresh that image.
This solution isn't foolproof, and can cause some confusion because images tagged with a version are being refreshed in the background. You could use image sha256 tags to overcome these challenges.
I am open to other suggestions and so will post this issue in the working group meeting happening on wednesday (03/03/2021).

@estroz  I've added a new commit that solves the issue by copying the test files to a temp folder in case you want to pursue that route, for me seems like an acceptable compromise. I tested it with our project and it worked just fine, as well as the tests here are passing. In any case I'd update the docs to have the default with the new version so in the future the workaround can me removed.
As you asked for my opinion: I think that rewriting/repushing the image with the same tag can lead to all sort of problems as different behavior can occur in different clusters (cached vs pulled) and I would not go that way under no circumstances.
Let me know if you'd like me to attend the meeting.

The CI for ansible failed, I am assuming that it's not related to my change. But I can't find a way to re-run it without pushing more changes (I don't want to wipe the review).

/ok-to-test

@jlpedrosa you can run /retest now.

@estroz thanks!
/retest

/retest

@kensipe Sorry, my commit wasn't signed and I had to push force, could you re approve this PR? Thanks

@estroz  Any of both approaches meets my reqs, I only need to have >= 0.9 Kuttl version to be able to execute assertions.
Due to the fact that the solution you incline to is just tagging the image, I am not sure what would be the nexts steps in this PR (already rebased), could you shed some light about what would you like me to implement?

could you shed some light about what would you like me to implement

Nothing on your end yet. I'll need to set up a separate release job for scorecard-test-kuttl and get that merged first. Then you can rebase this PR onto master, and once merged I can build a v2.0.0 release.

/retest

@jlpedrosa quay.io/operator-framework/scorecard-test-kuttl:v2.0.0 has been released!

Thanks @estroz  awesome!


Read timeout

When deploying to aws, I'm getting a read timeout. Is it possible to configure this in my application.properties file?

You can override read timeout using the following:
spring.data.jest.read-timeout

In version 3.x you will be able to define custom HttpClientConfigBuilderCustomizer for updating the underlying HTTP client.

Thanks!!


Link tag color changes after app restart

I noticed that the tag color always changes when restarting.
Ex. when first opening the app, the tag "private" has a green color, but after restarting the app, the tag's color is now blue.
Somewhat related, could the color assigned to the tag be the same as the one selected from shlink-web?

That behavior is intentional (for now), the app just uses a random color every time the list reloads. There's a way to tie a tag to a specific color, I just didn't get around to add it yet...

could the color assigned to the tag be the same as the one selected from shlink-web?

Sadly no, the Shlink API only returns the tag name. The color of a tag is not handled by Shlink at all, it's stored in the browsers' local storage by shlink-web. There's no way for the app to access that (and based on this, the colors probably shouldn't even be the same if you use a different device to access shlink-web)

fixed in d00ba4b4e926dbe5673975a6ed14143c0d3dfc70


numpy seems to be missing in install_requires

https://github.com/pfnet-research/chainer-chemistry/blob/master/setup.py#L7
The project does import numpy.

Thank you for suggestion.
Currently numpy dependency is included in chainer repo, so it is automatically installed.

https://github.com/chainer/chainer/blob/master/setup.py#L33

Can we close the issue? @yurivict


[String] Remove _core which is not used in swift-corelibs-foundation anymore

The usages were removed in https://github.com/apple/swift-corelibs-foundation/pull/1584.

@swift-ci Please smoke test

cc @milseman

@swift-ci please test
(I want a full test to check other potential uses)

@swift-ci please test

@swift-ci please test


Custom naming for scaled images

At the moment the naming of client-side scaled images is a bit static and unflexible. Having a file named image.png and configuration {name: "small", maxSize: 100} would always result into a scaled image named image_small.png.
It would be nice to have some more flexibility - to specify something like a naming pattern which is then applied on the scaled images.

Thanks for the suggestion. We'll consider this for a future release.


Add FOSSA Badge to README.md

Saw you were using FOSSA and all checks are green -- here's a PR adding the FOSSA badge to your repo!

Since it is unclear to me how "free" FOSSA will stay, and I would not know which one of our 10+ microservices to add the badge to (I would like to run checks for all of them), I'll not add this to merely one. Thanks for the PR and initiative.


Chipram is only 1.300Kb after installing fresh ClassicWB Lite on a A1200 with 1230@50Mhz and 16MB of fastram

From installation packages I selected ClassicWB Lite. And it installed fine. In WinUAE it says 1950Kb free chipram and all is fine there. But as soon as I connect the hard disk to a real Amiga 1200, chipmem is only reporting 1300Kb. I have kickstart 3.1 Roms installed in my A1200. Is it possible that kickstart 3.1.4 rom image is taking up the chipram memory?

This is not really a HstWB Installer related issue, but using Kickstart 3.1 roms with Amiga OS 3.1.4 will softkick 3.1.4 to ram and this could be the reason for low amount of chipram. Kickstart 3.1.4 will not be softkick with physical Kickstart 3.1.4 roms installed.


Pass all options to sockjs constructor?

From the doc/src it seems url is the only option which gets passed to sockjs constructor. Can we specify other options such as protocol whitelist?
I'll follow up with a pull-request if you think this is worthwhile

Per my comment on the PR, I'm up for it if the angular-sockjs options are removed from the hash and tests are added.


chrome.runtime.lastError for promises

It is unclear how chrome.runtime.lastError should function with promises. i.e. does the promise reject, or does it resolve with void or similar?
Needs further investigation.

Documentation clarified:

This is only defined within the scope of that function's callback

No action required for promises.


Add initial pages

Initial commit of the wiki pages pushed to the branch staging.

Initial commit of the wiki pages pushed to the branch staging.


[GLFW] Gui layer run() method does not return after closing window

Like the title says, closing a WgpuCanvas window does not cause the event loop to return, and thus run() to return. Should be pretty easy?

As far as I can tell this is the (intended) behavior. What GUI backend does not do it this way?

GLFW for example uses loop.run_forever() instead of loop.run_until_complete(...):
https://github.com/pygfx/wgpu-py/blob/e1987d044eaab480f03b08c2ed97e7f2faae8446/wgpu/gui/glfw.py#L514-L518

Looks like this has been fixed a while ago in #319.


[BUG]: ZPA : Service Edges - 404 - No handler found

Describe the bug
Same issue as https://github.com/mitchos/pyZscaler/issues/85 but for Service Edges now
Expected behavior
We would expect to have the list of service edges
Screenshots
OS: Windows 10
Browser [e.g. chrome, safari]: Not a browser, it's using the requests library of Python
Version [e.g. 22]: 2.27.1

Additional context

Hi @LetMeR00t I've tried to replicate the issue but I'm unable to get any errors.
My Steps:

Link a new service edge and create a service edge group.
Run code
Both service edge and service edge group were output

My code:
from pyzscaler import ZPA, ZIA
from pprint import pprint

zpa = ZPA()

for edge in zpa.service_edges.list_service_edges():
    pprint(edge.to_json())

for edge in zpa.service_edges.list_service_edge_groups():
    pprint(edge.to_json())

Did you receive an exception or just no output at all?

Hi @mitchos,
Sorry for the late answer,
I have this error on my side:
Traceback (most recent call last):
...
  File "......", line 212, in collect_events
    all_data = zpa.service_edges.list_service_edges()
....
restfly.errors.NotFoundError: [404: GET] https://config.private.zscaler.com/userconfig/v1/customers/xxxxxxxx/serviceEdge?page=1 body=b'{\n  "exception" : "No handler found",\n  "id" : "resource.not.found"\n}'

ERROR [404: GET] https://config.private.zscaler.com/userconfig/v1/customers/xxxxxxxx/serviceEdge?page=1 body=b'{\n  "exception" : "No handler found",\n  "id" : "resource.not.found"\n}'

I'm not using the v1.0.0 but the latest code from your main branch.

Aha got it.
I hit this bug earlier when I implemented the SCIM Attributes module. Looks like I didn't bring the change over to the SCIM Groups module.
Basically what's happening is I overrode the base URL for the ZPA API calls in the ZPA object, rather than in the module itself. This breaks all subsequent API calls after zpa.scim_groups.list_groups() or zpa.scim_groups.get_group() are invoked. I would bet my money that you are making one of these calls earlier on in your script.
Fix will be out in a few hours in 1.0.2. Thanks for your patience.

Hi,
and you’re right, here is the piece of code using it : https://github.com/LetMeR00t/TA-zscaler-api/blob/main/TA-zscaler-api/bin/input_module_zscaler_zpa_configurations.py
Of course it depends which parameters you select but indeed I’m using this just before
Thank you


[BEAM-1251] Revert #5887 to unbreak Python PostCommit

This change reverts #5887 to fix issues with the Python PostCommit.  I will take care of undoing this rollback after an appropriate fix.

R: @angoenka

Run Python PostCommit

Run Python Dataflow ValidatesRunner

Tests pass; merging.


Display Search Facets on all Home, Community, and Collection pages

Is your feature request related to a problem? Please describe.
In DSpace 6 XMLUI, search facets are displayed on all Home, Community, and Collection pages. Please enable this in DSpace 7. This will allow users to immediately browse and search the repository and collections. This will maintain the experience and functionality our users have come to expect.
Describe the solution you'd like
I think the collection pages in the Iowa State University Repository, https://dr.lib.iastate.edu/home, hosted by Atmire are a good solution. For example, the Theses and Dissertations collection page, https://dr.lib.iastate.edu/collections/0830d32e-14e1-4a4f-bb8f-271a75ed35af?scope=0830d32e-14e1-4a4f-bb8f-271a75ed35af, begins with the same collection information that other DSpace 7 collection pages contain, including the horizontal Browse bar. However, below the Browse bar, instead of the simple list of items, there are the search results for that collection including the search facets.
Default DSpace 7 collection page, https://demo7.dspace.org/collections/38113d78-54aa-4417-8741-a903cd5f4b5e,

Iowa State collection page, https://dr.lib.iastate.edu/collections/0830d32e-14e1-4a4f-bb8f-271a75ed35af?scope=0830d32e-14e1-4a4f-bb8f-271a75ed35af, with search results and search filters,

Notes:

In the Browse bar, they have replaced the "Recent Submissions" tab with a "Search Collection" tab.

Extend this to Community pages. They would be set up the same way with Community information above and search results below.

To support the "Recently Added" view, add "Date Accessed Descending" to the "Sort By" options and make it the default.

Describe alternatives or workarounds you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
I plan to submit related requests such as continuing support of DSpace 5 and 6 XMLUI customized facets per collection.

Pulling this over to the 7.4 board, but I'm flagging as medium priority for now until we have more feedback.  I do agree though that is is something we should add to 7.x, but I'm worried this is more complex and don't wish to detract from higher priority bugs at this time.

@tdonohue Here is the filters addition scope document. Kindly help with the validation.
Filters on the Home page
•	Filters appearance on the home page illustrated

•	Filter’s behavior will be the same as it is on the advanced search page at present.
•	Upon selecting a value from any filter, the user will be redirected to the advanced search page with items listed as per the value selected in the filter. Based on the users’ access rights, results will be filtered from the entire repository. Users can narrow down the list by adding filters available on the advanced search page.

Filters on the Community page
Filters' appearance on the community page is illustrated below

•	Filter’s behavior will be the same as it is on the advanced search page.
•	Upon selecting a value from any filter, items will be listed as per the value selected in the filter from the target community/sub-community. Users can narrow down the list by adding filters available on the advanced search page.
•	Breadcrumb will show Home / Community Name / Search (as per behavior in the DSpace 6.x’ XMLUI)

Filters on the Collection page
Filters' appearance on the collection page is illustrated below

•	Filter’s behavior will be the same as it is on the advanced search page.
•	Items will be listed in the collection as per the current mechanism i.e. Recent Submissions.
•	Upon selecting a value from any filter, items will be listed as per the value selected in the filter from the target collections. Users can narrow down the list by adding more filters available on the advanced search page.
•	Breadcrumb will show Home / Community Name / Collection Name / Search (as per behavior in the DSpace 6.x’ XMLUI)

@DSquareTechnologies : I feel the layout of these pages needs work, as I find it to be extremely confusing & I feel it hurts the usability of these pages. For instance, the "Filters" displayed on each page no longer filter the content you are seeing on the page... instead they redirect you to the search page.  That means these are no longer filters...they are links to searches.

On the Homepage screenshot.

The Heading "Filters" doesn't make sense where you display it, as it is not filtering the Community list to its immediate right.  This impacts the usability of the homepage.  In DSpace 6.x, I see these filters were all under a heading called "Discover" & were displayed to the right of the Community list in a separate menu (to keep them separate from the page content).

We may want to consider if these would look better on the right, or maybe even in a "tabbed" view similar to the current Community / Collection homepages (where there could be potentially 3 tabs...one for "Communities", one for "Recent Submissions" and one for "Search"... the last of which would show these filters)
We also could consider dropping these filters from the homepage entirely, as I'm not sure these filters are more useful than just typing in a search to start searching content.
I also want to note that there are potential performance concerns with putting too much content on the homepage.  At the very least, this feature needs to be possible to disable if it exists on the homepage.

The "Settings" section makes no sense here, as you cannot use it to change the sort/results count on the homepage. It should be removed.

On the Community / Collection screenshots

Again, the Heading "Filters" makes no sense & the layout on the page doesn't make sense (as these filters don't filter the page contents)

I prefer the design that Iowa State has implemented for its Communities/Collections, as it provides a separate tab for "Search".  See the screenshot in the description of this ticket, or https://dr.lib.iastate.edu/collections/0830d32e-14e1-4a4f-bb8f-271a75ed35af?scope=0830d32e-14e1-4a4f-bb8f-271a75ed35af
I think this same design could be used for both Communities & Collections.  Instead of redirecting you to the main search, you can provide an embedded search which is already filtered by that Community/Collection

Overall, I'd highly recommend rethinking the user interface design here.  The current layout is confusing because you are attempting to embed "Filters" on pages which cannot be filtered.  If you need more feedback, let me know. I'd also recommend considering bringing this to either DCAT or a Developer Meeting for additional feedback, as those groups may be able to provide brainstorms on how to make these pages more user friendly.

@tdonohue @artlowel
Here are updated user interfaces of the Homepage, Community page, and collection page with the Discover option per input received during the working group meeting dated December 8th, 2023.
Discover facets on Homepage

Discover the appearance on the home page illustrated below

Discover facet’s appearance on the homepage will be configurable.
Based on the value selected in a facet on the homepage, results from the entire repository will be listed on the advanced search page. Users can narrow down results by adding more filters on the advanced search page.

Discover on Collection page
Discover facets' appearance on the collection page illustrated below

The default listing of items on the collection homepage will be like the search result page and items will be sorted based on submission date and time.
Based on the value selected in a facet on the collection homepage, results from the respective collection will be listed on the page. Users can narrow down results by selecting more filters from discover facets.
Full text search field will search content within the collection.

Discover facets on the Community page
Discover facets appearance on the community page illustrated below

The default listing of items on the Community/Sub-community homepage will be like the search result page and items will be sorted based on submission date and time.
Based on the value selected in a facet on the community/sub-community homepage, results from the respective community/sub-community will be listed on the page. Users can narrow down results by selecting more filters from discover facets.
The full-text search field will search for content within the community/sub-community.
Next to the “Recent Submissions” link, the “Sub-communities & collections” link will be available. Upon clicking this link users shall see a list of sub-communities and collections. The appearance of this list should remain unchanged from the current state.

@DSquareTechnologies : The new overall design looks reasonable to me, and looks to have taken the prior feedback into account.
That said, I think we may want to make (very) minor tweaks to the Community/Collection pages where these facets are displayed.

On those pages, since the entire search results are embedded into the page, I think all search options can be displayed (including changing the "Discover" heading back to "Filters").  The only reason we cannot use the term "Filters" on the homepage is because you are sent to a separate page after clicking on one.  Since you remain on the Community/Collection page while searching, you can keep the term "Filters" on those pages.
The Browse tab might need to be renamed from "Recent Submissions". as this embedded search is not only recent submission any longer.  Instead it might be named something like "Search Within" or "Search Collection" / "Search Community"

Neither of these are major changes to your design.  They are very minor comments/improvements.  I suspect there may be other minor improvements that may be necessary once the code is completed, but I think the overall design looks good & reasonable.
So, as far as I'm concerned, this looks fine & seems to be in line with what was discussed in the Dev meeting.  If others have comments hopefully they'll let you know on this page.

Fixed by:

Added facets to homepage: https://github.com/DSpace/dspace-angular/pull/2275
Added facets to community/collection pages: https://github.com/DSpace/dspace-angular/pull/2732


SUBMARINE-962. Delete temporary build artifacts before caching

What is this PR for?

When building the Submarine repo, some of the modules would use outdated packages in ~/.m2/repository/org/apache in Github action cache
We should delete temporary build artifacts before caching
I believe it will fix the test failures
What type of PR is it?
[Bug Fix]
Todos
No
What is the Jira issue?

https://issues.apache.org/jira/browse/SUBMARINE-962
How should this be tested?

Pass the CIs
Screenshots (if appropriate)
Questions:

Do the license files need updating? No
Are there breaking changes for older versions? No
Does this need new documentation? No

cc @aeioulisa Could you help me review it?


*-monit containers resources in ProxySQL pods does not take the values specified in spec.proxysql.resources attributes of the pxc cluster definition

Report
*-monit containers resources in ProxySQL pods does not take the values specified in spec.proxysql.resources attributes of the pxc cluster definition
More about the problem
It seems not possible to provide resources cutom values for the pxc-monit and proxysql-monit containers that run inside proxysql pods. The configuration specified in the spec.proxysql.resources attributes of the cluster definition only apply to the proxysql container of the pod, but the *-monit containers resources section remains empty. It would be a great feature to add options in the CR definition to specify custom resources values for the *-monit containers of the proxysql pod or use the existing spec.proxysql.resources attributes to fill them.
Steps to reproduce
1 - Create a pxc cluster with proxysql section enabled and defined with custom resources configuration in the spec.proxysql.resources fields
2 - See that only the container named proxysql take the custom resources values in the related pod but the resources section remains empty for pxc-monit and proxysql-monit containers
Versions
1 - Kubernetes - v1.27.6
2 - Operator - Percona Operator for MySQL based on Percona XtraDB Cluster 1.13.0
3 - Database - MySQL XtraDB 8.0
Anything else?
No response

@konoox thanks for reporting it. Raised this jira issue: https://perconadev.atlassian.net/browse/K8SPXC-1379
I see you raised a bunch of issues in our github repos, if you can contact me at<EMAIL_ADDRESS>- we can discuss your use cases and see how we can collaborate to resolve those.


Release Google.Cloud.BigQuery.Storage.V1 version 2.7.0

Changes in this release:
New features

Add trace_id for Read API (commit 2cac347)

Additional notes
The bigquery.readonly has been removed (commit f691c91). We don't expect that to break any users, but please be aware of the change.

I missed "scope" out of the message. Will recreate!


Active Line Highlight is more of a hinderance than anything else

The new line highlighting is far too bright and hides the cursor. Please either reduce opacity or change its color to a darker grey, preferably both.

Thanks for the feedback! We are looking at changing this.
Out of curiosity, we set the color to a pretty faint blue which should already be darker than the rest of the white editor. Are you using a dark mode or something that is conflicting with this?

I'm not seeing any garish colouring...

Thanks for the feedback! We are looking at changing this.
Out of curiosity, we set the color to a pretty faint blue which should already be darker than the rest of the white editor. Are you using a dark mode or something that is conflicting with this?

My mistake, I have a Stylus script that's so old I forgot that it even existed 😅
I've done a good bit of digging into Inspect Element and I cannot for the life of me find the name of the class/attribute for the colour of the Active Line Selection

@JackWeighill The classname is CodeMirror-activeline-background.

Thanks!


solarwinds logo added

Signed-off-by: Soham Banerjee<EMAIL_ADDRESS>Description
Solarwinds logo added and svg file included
This PR fixes #170
Signed commits

[x] Yes, I signed my commits.

@leecalcote  Please review!

@adithyaakrishna  Pls do have a look. And do let me know if any changes are required

@soham4abc Can you please check the deploy preview as the solarwinds logo isn't seen 👀

Closing this PR There are some issues.. Will open after completing


DistanceJointDef fixed, rebuild of most recent version.

Rebuild also contains some bugfixes from others.

Thanks for the PR! I fixed this in a PR with clean up for all joint constructors.


remove k8s metav1.Time dependency from pilot's core data model

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: ayj
If they are not already assigned, you can assign the PR to them by writing /assign @ayj in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

istioctl/OWNERS
pilot/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ayj: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
f6eac151f6ed518bee9e1773c28afa03edb130ec
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ayj: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
f6eac151f6ed518bee9e1773c28afa03edb130ec
link
/test istio-unit-tests

prow/istio-presubmit.sh
f6eac151f6ed518bee9e1773c28afa03edb130ec
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ayj: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
f6eac151f6ed518bee9e1773c28afa03edb130ec
link
/test istio-presubmit

prow/istio-unit-tests.sh
ce102aab5477d3c30f09f1382c6bb41145f81ec8
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test istio-pilot-multicluster-e2e

/lgtm

@ayj: you cannot LGTM your own PR.

In response to this:

/lgtm

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: ayj
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

istioctl/OWNERS [ayj]
pilot/OWNERS [ayj]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: ayj
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

istioctl/OWNERS [ayj]
pilot/OWNERS [ayj]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ayj: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
c126becccd6ff75ba4f79cc116f5ba17b476be72
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ayj: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
c126becccd6ff75ba4f79cc116f5ba17b476be72
link
/test istio-unit-tests

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
c126becccd6ff75ba4f79cc116f5ba17b476be72
link
/test istio-pilot-e2e-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test istio-pilot-e2e-envoyv2-v1alpha3

/lgtm

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: ayj, rshriram
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

istioctl/OWNERS [ayj,rshriram]
pilot/OWNERS [ayj,rshriram]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

New changes are detected. LGTM label has been removed.

/lgtm

@ayj: you cannot LGTM your own PR.

In response to this:

/lgtm

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: ayj, rshriram
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

istioctl/OWNERS [ayj,rshriram]
pilot/OWNERS [ayj,rshriram]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Improve SortCommand

The current sorting by modules sorts by the first module code in the contact's module list. Sorting the contacts by groups of module codes would allow the user to find the contact easier.

After discussion, improving on List command to target this issue will be better.


Balance Change | Notes required for a Government Analyst recommendation |2|

https://trello.com/c/QDiI6sPB/600-balance-change-notes-required-for-a-government-analyst-recommendation-2
Story:
As the Director, I want all Recommended credit balance changes (Part 3 Awards, Reductions, and Validations) to require that the Government Analyst include a Note before I can receive it so that I have the information I need to make the correct statutory decision regarding the transaction.
Demo:
Show that Notes are a required field whenever a credit balance change (Part 3 Awards, Reductions, and Validations) is being Recommended to the Director by a Government Analyst.

 Balance Change | Notes required for a Government Analyst recommendation |2|


Update repo from original

It's just a pull request to keep my forked repo up to date

Changes saved


Fix coding style using autopep8

I tried autopep8 find . -name '*.py' -exec autopep8 --in-place '{}' \; except caffe_pb2.py and caffe_pb3.py.
Seealso #1300.

LGTM 👍

Could you merge or rebase the master branch?

This fix causes a lot of conflicts with other PRs. Please wait till many PRs are merged.

OK, I understand.

@unnonouno Could you suggest the appropriate day on which we merge this PR?

How about using -r option?
And, how about applying this command in traivis ci? We also need to fix contribution guide.

@delta2323 I fixed coding style.

Thank you for fixing the code. It seems OK. So we should determine when to merge it.

@okuta I and @unnonouno added checking mechanism by autopep8 in travis. As the PR originates from latest master branch, it introduced several codes that violates autopep8. Could you fix them?

OK, please go ahead.

Did you fix the contribution guide?

Did you fix the contribution guide?

He didn't seem to fix it.

@unnonouno I fixed. Please review this.

LGTM 👍

Ah, sorry. Please fix where I pointed.


I don't understand how to control colorduino

I have tried many libraries to control this, sometimes changing their content. But I didn't know how to control this.
I would appreciate it if you could tell me how I can control it.

I am using ArduinoIDE ver2.0.1.
Please let me know if you need any information.
I hope you can help me.

The LED matrix is RGB? Common anode?
You have flashed my Chromaduino sketch onto a Funduino/Colorduino board?
That looks a bit like a Funduino/Colorduino in the background with the alligator clip.
What happens if you connect the two together directly, rather than via wires? It would not be hard to get the wires wrong!
Directly socketed, LED 1 should go to BLUE 1.
After 5s, the Chromaduino should run a demo if it has received no i2C instructions.
You need a second Arduino to drive/control the display, connected via I2C to the LED board.
ChromaduinoScrollDemoController.ino is an example sketch to run on the controlling Arduino.
You show two photos.  Are the LEDs changing?  I wonder if you're seeing the Chromaduino "idle" demo animation, but only the red component is working?
I would like to know something about using a common cathode matrix if possible.

I'm surprised you got anything lighting up on a common cathode matrix.
But in any case, the library (and probably the board) are designed for common anode only.
So sorry, but I can't help.


feat: Adding validation to Cloudformation to reject same template_body

feat: Adding validation to Cloudformation to reject same template_body and parameters
First PR to moto, please let me know if I'm missing anything or if anything should be changed.
Addresses #4157

Codecov Report

Merging #4351 (7799d48) into master (0dfae06) will increase coverage by 0.03%.
The diff coverage is 95.65%.

@@            Coverage Diff             @@
##           master    #4351      +/-   ##
==========================================
+ Coverage   95.08%   95.11%   +0.03%
==========================================
  Files         493      493
  Lines       55315    55688     +373
==========================================
+ Hits        52594    52969     +375
+ Misses       2721     2719       -2

Flag
Coverage Δ

servertests
52.82% <82.60%> (+0.76%)
:arrow_up:

test_responses
32.76% <21.73%> (+0.02%)
:arrow_up:

unittests
95.02% <95.65%> (+0.03%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

moto/cloudformation/responses.py
97.50% <95.65%> (-0.14%)
:arrow_down:

moto/ec2/responses/vpcs.py
98.61% <0.00%> (-0.46%)
:arrow_down:

moto/dynamodb/models.py
94.16% <0.00%> (-0.42%)
:arrow_down:

moto/apigateway/responses.py
93.43% <0.00%> (-0.06%)
:arrow_down:

moto/server.py
65.26% <0.00%> (ø)

moto/glacier/urls.py
100.00% <0.00%> (ø)

moto/glacier/utils.py
100.00% <0.00%> (ø)

moto/kms/responses.py
98.38% <0.00%> (ø)

moto/apigateway/utils.py
100.00% <0.00%> (ø)

moto/codecommit/models.py
100.00% <0.00%> (ø)

... and 53 more

Continue to review full report at Codecov.

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


Migrate Card widget to Material 3.

Part of: https://github.com/flutter/flutter/issues/91605
Updated the Card widget with support for Material Design 3.

In order to use the Card with the new Material 3 defaults, turn on the useMaterial3 flag in the ThemeData:
  return MaterialApp(
    theme: ThemeData.light().copyWith(useMaterial3: true),
    // ...
  );

Fixes: #99023
Pre-launch Checklist

[x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[x] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
[x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
[x] I signed the [CLA].
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is [test-exempt].
[x] All existing and new tests are passing.

Gold has detected about 1 new digest(s) on patchset 1.
View them at https://flutter-gold.skia.org/cl/github/100532

LGTM but the corner radius for the first two cards in the example looks off

That's because I took a screen shot of the wrong thing 🤯 . Updated with the correct images. Thx.

Gold has detected about 1 new digest(s) on patchset 2.
View them at https://flutter-gold.skia.org/cl/github/100532


Tests multiple Laravel version with Travis

Tests multiple Laravel version with Travis

Next:

Integrate ES with Travis
Integrations tests

Hey, I checked the PR. I liked the idea behind, but I have couple of concerns.
First of all, having docker setup inside the package isn’t a good practice, I agree. But I like the opportunity to test package in combination with framework and all the dependencies (MySql, ES). Even though we don’t have integration tests at the moment, it’s good to have them at some point.
Second, it’s nice to have ready to use dev env. We can extract it to another repo and use public registry to build images.
What’s on your mind regarding integration tests and dev env?

First of all, having docker setup inside the package isn’t a good practice, I agree. But I like the opportunity to test package in combination with framework and all the dependencies (MySql, ES). Even though we don’t have integration tests at the moment, it’s good to have them at some point.
I'll keep it to be run locally for now, an agree - it would be great to have this is a separate repo

I was thinking about having integrations tests in Travis with testbench - Travis also provides a ES service
What do you think?

I was thinking about having integrations tests in Travis with testbench - Travis also provides a ES service

Possible, but I can't image a full picture. To have integration tests you need some fixtures, dummy entities, Laravel project. You can pull it together in Travis pipeline and run tests, but it's kinda tricky and will be difficult to start development locally.


Cahl bootstrap ks

The initial pass at maketooling for *KS cluster create/destroy
Sample use is https://jenkins.cicd.red-chesterfield.com/job/Canaries-Integration-to-Edge/job/2.2/job/dev/job/canary-travis-start-git-manual-ks/143/
This needs to be squash merged

/lgtm
Ready to roll when you are!


Mem instance for lists

Right now we have infix:50 " ∈ " => mem in Data.List.Basic, and also a ∈ notation class Mem used for sets. I tried to replace the list notation with an instance of Mem and it broke all the proofs :-( What am I doing wrong? Obviously I could just fix all the proofs one by one and make them all longer, but I was not sure this would be welcome as a PR and I suspect I'm missing a trick.

Replacing the list-only notation by a type-class is definitely welcome.  If it turns out that this breaks stuff, then that's a valuable learning experience and exactly what mathlib4 is for.
But please submit a PR.  It's hard to figure out what's going wrong from a frowning smiley.


Flux should detect and rollback failed releases

e.g. if they are crashlooping.

The logic required to do this sounds quite complex.

This isn't a responsibility of Flux, in my opinion.


[BUG]

Environment (使用环境)

Installation method (安装方式):
The version of cpgames (版本号):
Operating system (操作系统):
Python version (Python版本):

Question description (问题描述)
Screenshot (报错截图)
Advice (修复建议)

please describe your questions in details


Sort tasks

Currently, the returned tasks are in arbitrary order.
I think it would be better to sort them.

Done.


Xcode upgrading issue fo firebase plugin

Launching lib/main.dart on iPhone 16 Plus in debug mode...
Running pod install...                                             15.0s
Running Xcode build...
└─Compiling, linking and signing...                         3.3s
Xcode build done.                                           22.1s
Failed to build iOS app
Lexical or Preprocessor Issue (Xcode): Include of non-modular header inside framework module 'firebase_messaging.FLTFirebaseMessagingPlugin':
'/Users/hozefamakhariya/projects/superer_bus-master/ios/Pods/Headers/Public/Firebase/Firebase.h'
/Users/hozefamakhariya/.pub-cache/hosted/pub.dev/firebase_messaging-15.1.0/ios/Classes/FLTFirebaseMessagingPlugin.h:11:8
Could not build the application for the simulator.
Error launching application on iPhone 16 Plus.
Please check this is the issue i always if i run my flutter app in ios simulator i have already all this latest version of xcode and macos and cocoapods but dont understand this issue always occur

This issue has been resolved: https://github.com/firebase/flutterfire/issues/13323


Incremental compilation does not catch type errors in deep imports

It seems watch mode does not check for type errors induced by changes to types in deep imports.
A restart is required to catch these errors.
TypeScript Version:*
Version 3.0.0-dev.20180609 on Windows 10
Search Terms:
watch, incremental, deep
Code
Three files> a.ts, b.ts and c.ts + empty tsconfig.json file to please tsc.
// a.ts:
import {B} from './b';
let b = new B();
console.log(b.c.d);

// b.ts:
import {C} from './c';
export class B
{
    c = new C();
}

// c.ts:
export class C
{
    d = 1;
}

Expected behavior:
Running tsc --watch and making a type error in a.ts by inducing a change in c.ts should result in a type error in the console.
e.g. changing
    d = 1;

to
    d2 = 1;

should result in a type error in a.ts:
a.ts:3:17 - error TS2339: Property 'd' does not exist on type 'C'.
Actual behavior:
Running tsc --watch and making a type error in a.ts by inducing a change in c.ts does not result in a type error. Instead, the compiler happily writes:
Found 0 errors. Watching for file changes.
Restarting tsc in watch mode results in the expected type error:
a.ts:3:17 - error TS2339: Property 'd' does not exist on type 'C'.

looks like a duplicate of https://github.com/Microsoft/TypeScript/issues/25068

@mhegazy this does not seem like duplicate of #25068. The issue here is when c.ts is changed the declaration emit for c.ts changes which results in emitting b.ts but since b.ts does not change, a.ts is not emitted.


Support zerossl IP cert

What would you like to have changed?

Support zerossl IP cert
Why is this feature a useful, necessary, and/or important addition to this project?

Support zerossl IP cert
What alternatives are there, or what are you doing in the meantime to work around the lack of this feature?

Please link to any relevant issues, pull requests, or other discussions.
https://github.com/tinkernels/zerossl-ip-cert

I haven't looked into this much recently, but does ZeroSSL support IP certs from their ACME endpoint? (Their docs say that HTTP validation is supported, which to me implies ACME support.)

I think their API should at least support IP certs, and support for their API is in progress.


Other payments ways (WebPay Chile)

I am using your sdk for java (version 1.0.23)
<dependency>
    <groupId>com.mercadopago</groupId>
    <artifactId>dx-java</artifactId>
    <version>1.0.23</version>
</dependency>

In your documentation HERE, you explain that this is the way to execute another payment methods (Java SDK)
import com.mercadopago.*;
MercadoPago.SDK.configure("TEST-3814457560584474-071815-acaa770cfc4d61fa0e8da3ec86eb3a15-210356554");

Payer payer = new Payer();
payer.setEmail("test_user_19653727@testuser.com");
payer.setIdentification(new Identification("RUT", 76262349));
payer.setEntityType("individual");

TransactionDetails transactionDetails = new TransactionDetails();
transactionDetails.financialInstitution = 1234;

AdditionalInfo additionalInfo = new AdditionalInfo();
additionalInfo.ipAddress = "<IP_ADDRESS>";

Payment payment = new Payment();
payment.setTransactionAmount(10000)
      .setDescription('Title of what you are paying for')
      .setPayer(payer)
      .setTransactionDetails(transactionDetails)
      .additionalInfo(additionalInfo)
      .callbackUrl("http://www.your-site.com")
      .setPaymentMethodId("webpay");

payment.save();

But,

Payer resource haven't entityType attribute.
AdditionalInfo resource haven't ipAddress attribute.
Payment resource:
-- Haven't callbackUrl attribute
-- Haven't public method to set transaction details.

I am closing because this issue was solved in version 1.0.32.


ROMs not included in release

Solution to issue cannot be found in the documentation.

[x] I checked the documentation.

Issue
@Tobias-Fischer Thanks for maintaining the project, in v0.9, we added the ROMs within the PyPI wheels (https://github.com/Farama-Foundation/Arcade-Learning-Environment/pull/516)
However, the conda doesn't seem to have updated to do this. I would guess that during the compile stage, the ROMs are not downloaded and then packaged.
Also, there don't seem to be any tests being run unless I've missed something
This is affecting Gymnasium downstream which uses the ROMs with ale-py (https://github.com/conda-forge/gymnasium-feedstock/pull/41)
Installed packages
.
Environment info
.

Would you be ok to open a PR @pseudo-rnd-thoughts? Or even better take over maintenance here?

I don't actually understand conda-forge at all, so I'm happy to be added as maintainer but I probably can't help too much.
I'll have a look at what is happening for a PR but I don't understand the conda compile process at all


Add mpijob example nccl test for P5 nodes on EKS

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

We need to update the readme to include EKS. For example how to run this example and requirements.

Done!


Update issue templates

Codecov Report

Merging #72 (007fdbf) into main (bb755a6) will decrease coverage by 1.13%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #72      +/-   ##
==========================================
- Coverage   86.53%   85.40%   -1.13%
==========================================
  Files          66       66
  Lines        2747     2747
==========================================
- Hits         2377     2346      -31
- Misses        370      401      +31

see 12 files with indirect coverage changes


[No QA][TS migration] Migrate 'API.js' & 'Middleware' & 'Authentication.js' & 'Network' lib to TypeScript

Details
Migration of 'API.js' & 'Middleware' & 'Authentication.js' & 'Network' to Typescript. I decided to migrate multiple files in one PR as it was impossible to separate these files reasonably (I was getting multiple type errors when I migrated these separately)
Fixed Issues
$ https://github.com/Expensify/App/issues/24902
$ https://github.com/Expensify/App/issues/24925
$ https://github.com/Expensify/App/issues/24901
$ https://github.com/Expensify/App/issues/24932
PROPOSAL: N/A
Tests

[x] Verify that no errors appear in the JS console
[x] Verify that requests are queued correctly in offline mode
[x] Verify that requests are fired correctly when redconnecting
[x] Verify that Network requests are working as before generally

Offline tests
N/A
QA Steps
N/A
PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://github.com/Expensify/App/assets/46095609/f557209d-bcb8-46d5-8508-dbc41c4c7be3

Mobile Web - Chrome
https://github.com/Expensify/App/assets/46095609/8e372e70-1ce8-4da8-a3d4-e8052a11f6a1

Mobile Web - Safari
https://github.com/Expensify/App/assets/46095609/d1aa935f-bb91-463c-af29-b987c1a3d2a2

Desktop
https://github.com/Expensify/App/assets/46095609/1cf36b88-6730-474d-84e3-35ab77b4bb0c

iOS
https://github.com/Expensify/App/assets/46095609/9dee907d-3425-48ac-a022-0c3e86831789

Android

Some tests are still failing, I tried to fix it, but with no luck. I have a task with higher priority, will get back to it later this week.

@mollfpr TS process was changed recently and now C+ are responsible for the reviewer checklist.

This is touching very base things in the app, so please list some of the tests you did.

BTW you have a lint failure

@iwiznia Should be okay now!

@mollfpr If you find some time can you make a reviewer checklist? 🙏  The PR is touching important parts of the codebase so please do it carefully, thanks!

@blazejkustra Sure, and thanks for the suggestion 👍

FYI, still working on fixing unit test..

This PR is no longer blocked and all checks should be working now, can you work on the reviewer checklist @mollfpr?

Heyy @blazejkustra sorry for the late reply. I've been hospitalized for a few days and just got out. I'll get this done by tonight; sorry for the inconvenience 🙏

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

@iwiznia All yours!

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/iwiznia in version: 1.3.86-0 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/francoisl in version: 1.3.86-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


ISPRK-32 Enable junit style test reporting

https://issues.jboss.org/browse/ISPRK-32

@gustavonalle with this change, I am able to get JUnit results with test names in the target/test-reports/junit directory. However, the JUnit results files with the names are still written to the target/test-reports directory. According to https://github.com/etorreborre/specs2/issues/305, you can disable the JUnit set plugin with this:
val myProject = project in file(".") disablePlugins (plugins.JUnitXmlReportPlugin)

@alanfx yes, disabling plugins.JUnitXmlReportPlugin suppresses output in target/test-reports, but it this needed?

@gustavonalle this change looks good to me. The bogus JUnit results are no longer generated, and the results that are generated look good. @vjuranek what do you think?

LGTM

integrated


Appstudio update test-custom-default-branch-pznn

Pipelines as Code configuration proposal
To start the PipelineRun, add a new comment with content /ok-to-test
For more detailed information about running a PipelineRun, please refer to Pipelines as Code documentation Running the PipelineRun
To customize the proposed PipelineRuns after merge, please refer to Build Pipeline customization

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-uqzm-on-pull-request-
creating pipelinerun test-simple-build-uqzm-on-pull-request- in namespace build-e2e-ufnm-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-imul-on-pull-request-
creating pipelinerun test-simple-build-imul-on-pull-request- in namespace build-e2e-ufnm-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-ufgi-on-pull-request-
creating pipelinerun test-simple-build-ufgi-on-pull-request- in namespace build-e2e-ufnm-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-mcmm-on-pull-request-
creating pipelinerun test-simple-build-mcmm-on-pull-request- in namespace build-e2e-ufnm-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-lqle-on-pull-request-
creating pipelinerun test-simple-build-lqle-on-pull-request- in namespace build-e2e-ufnm-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-nyrh-on-pull-request-
creating pipelinerun test-simple-build-nyrh-on-pull-request- in namespace build-e2e-ufnm-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-wadk-on-pull-request-
creating pipelinerun test-simple-build-wadk-on-pull-request- in namespace build-e2e-ufnm-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-annotations-mijr-on-pull-request-
creating pipelinerun test-annotations-mijr-on-pull-request- in namespace build-e2e-ufnm-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-nwtb-on-pull-request-
creating pipelinerun test-simple-build-nwtb-on-pull-request- in namespace build-e2e-ufnm-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request


quotas numbers wanted to be set should be bigger than monitored values

The plugin does not compare and check the quotas that are set with the values monitored. Meaning it lets admins to choose a quotas lower than an already uploaded data.
monitored values:
-bash-4.2$ imeta ls -C /u0137480/home/lt1_d_pilot_003
AVUs defined for collection /u0137480/home/lt1_d_pilot_003:
attribute: irods::logical_quotas::total_number_of_data_objects
value: 13
units:
----
attribute: irods::logical_quotas::total_size_in_bytes
value: 1286416
units:

set quota lower than existing values:
-bash-4.2$ irule -r irods_rule_engine_plugin-logical_quotas-instance '{"operation": "logical_quotas_set_maximum_size_in_bytes", "collection": "/u0137480/home/lt1_d_pilot_003", "value": "10"}' null ruleExecOut
list metadata:
-bash-4.2$ imeta ls -C /u0137480/home/lt1_d_pilot_003
AVUs defined for collection /u0137480/home/lt1_d_pilot_003:
attribute: irods::logical_quotas::total_number_of_data_objects
value: 13
units:
----
attribute: irods::logical_quotas::total_size_in_bytes
value: 1286416
units:
----
attribute: irods::logical_quotas::maximum_size_in_bytes
value: 10
units:

That is correct/expected at this time.
What would you expect it to do?   Not allow the admin to set that value?   Delete data?

I would expect the plugin not to allow the admins to set values lower than monitored - existing data - as metadata.
This is also the case for parent/child collections (hierarchy). Lets say we have a project named as group_A. Inside it, we have personal_usage and common_usage collections. That is, the value chosen personal_usage or common_usage should not be bigger than group_A collection.
However if this logic was set to force users to remove data / empty the collection in question, then okay.  Though there might be chance to see strange values in our quota related dashboards (not ready yet but we are gonna build in grafana)

I would expect the plugin not to allow the admins to set values lower than monitored - existing data - as metadata.

So if the admin cannot set the values whenever/wherever they want... then they will have to set all related/conflicting values first?   That seems... possibly very labor intensive?   And how would we communicate to the admin what the error was?   I'm happy to make it work this way if we can make it helpful / not confusing.

parent/child collections (hierarchy)

This is... going to be tough to get right - and possibly very expensive (when setting the values).
If the 'interior' collections have larger quotas set... then child objects wouldn't be in violation of that quota - but they'd be in violation of the 'outer' quota.  That doesn't seem ... 'wrong'... to me.   They are independently compared/evaluated/enforced.
Getting all these values set correctly relative to all the other values being set requires a visibility across the entire set of metadata that will be tough / more expensive to monitor and keep correct.   I'm not sure this set of code should be doing that monitoring.   But of course, willing to be convinced.
Feels like a matter of policy not to have the quotas be confusing / misleading / contradictory.

Hi Terrell, we discussed this internally and we think the idea of keeping its current way of working is the best. Because;

The plugin can be used as a kind of mechanism to force users to remove data by setting quota lower than existing data size,
It seems he possibility of setting lower values can be applicable especially for the child collections to keep the project collection clean,
As you explained above, admins should be flexible to set any values wherever they want and a potential change should not be tough/expensive,

Above all we like this tool and so expect it to work perfectly:)
Thanks.

Most excellent.


Enable parsing pod template as a modeline.

Release Note
NONE

Thanks. Anything backported to 1.8 should be backported to 1.9 as well.

This one is already on 1.9.

Failures are not related to this PR.


Update properties headers

What?
Update the header for authentication.
Why?
kubeflow-userid doesn't work with multi-tenancy feature.
The main problem is that when a contributor tries to access Notebook, Minio for visualization or any RBACed resource it throws RBAC: access denied which is why the issue is also related to the centralbashboard image version but at least the header should be correct.

Thank you @subodh101!
The change you are suggesting is specific to GCP. Sounds reasonable adding a comment there saying if user uses GCP, they need to change the header name, but it's probably not suitable for everyone.

Thank you! @subodh101
/lgtm
/approve


Issues using WV key rotation on Tizen and WebOS

Have you read the FAQ and checked for duplicate open issues?
yes
What version of Shaka Player are you using?
3.0.5 (with 3.0.8 we have other problems like streams not playing at all - not part of this issue)
Can you reproduce the issue with our latest release version?
no, it has other problems
Can you reproduce the issue with the latest code from master?
no, it has other problems
Are you using the demo app or your own custom app?
own
If custom app, can you reproduce the issue using our demo app?
not available for WebOS/TIZEN
What browser and OS are you using?
AFAIK WebOS/TIZEN are webkit based
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
WebOS 4.x
Tizen 2/2016 3/2017
What are the manifest and license server URIs?
https://smoula.net/data/wv-enc-test/llama-clear.mpd
https://smoula.net/data/wv-enc-test/llama-wv-no-rotation.mpd https://cwip-shaka-proxy.appspot.com/no_auth
https://smoula.net/data/wv-enc-test/llama-wv-rotation.mpd https://cwip-shaka-proxy.appspot.com/no_auth
What did you do?

That all supplied video streams are going to work and play
What actually happened?
Using web player (Chrome/Firefox) all works.
Video without encryption works.
Video with static encryption key works on LG and on Tizen it crashes whole app.
Video with key rotation does not work at all.
According to "Tizen 2017 model is actively tested and supported by the Shaka Player team. Tizen 2016 model is community-supported and untested by us." I and "DRM support matrix" I would expect it to work at least on Tizen 2017. I found nothing about support of key rotation in Shaka on those platforms.
Am I doing something wrong in MPDs? Is it a Shaka's issue or key rotation is not supported at all on Tizen/LG?

Tested on Tizen with the manifests and got the same log:
INFO LOG: 'Starting attach...'
INFO LOG: 'Starting load of https://smoula.net/data/wv-enc-test/llama-clear.mpd...'
WARN LOG: 'No variants met the ABR restrictions. Choosing a variant by lowest bandwidth.'
WARN LOG: 'No preferred audio language set.  We have chosen an arbitrary language initially'
WARN LOG: 'No variants met the ABR restrictions. Choosing a variant by lowest bandwidth.'
INFO LOG: 'Jumping forward', 0.001, 'seconds because of gap before start time of', 0.001
WARN LOG: 'No variants met the ABR restrictions. Choosing a variant by lowest bandwidth.'
WARN LOG: 'No variants met the ABR restrictions. Choosing a variant by lowest bandwidth.'
WARN LOG: 'No variants met the ABR restrictions. Choosing a variant by lowest bandwidth.'
ERROR LOG: 'Timeout waiting for event ended', 'current time', 31.242, 'duration', 150.041, 'ready state', 4, 'playback rate', 1, 'paused', false, 'buffered', [Object{start: 0.001, end: 41.006}]
WARN LOG: 'No variants met the ABR restrictions. Choosing a variant by lowest bandwidth.'
INFO LOG: 'Preparing to destroy walker...'

Do you mean you're not playing the clear non encrypted one? I had problems only with encrypted (particularly with key rotations)

Hello @nextsux , we tested with all three manifests with Shaka v3.0.8 on Tizen, and they all played smoothly. Could you please try with v3.0.8 when the other issues get fixed, and let us know if it's still happening? Thank you!

We've finished tests with LG 4.3.0:
https://smoula.net/data/wv-enc-test/llama-clear.mpd - OK
https://smoula.net/data/wv-enc-test/llama-wv-no-rotation.mpd - OK
https://smoula.net/data/wv-enc-test/llama-wv-rotation.mpd - FAIL with specific configuration
When we set BUFFERING_GOAL to 40, player FAILs with Shaka Error 3016
When we set BUFFERING_GOAL to value from interval 10-14, playback is OK
our used config:
 const BUFFERING_GOAL = 40; // default 10
 player.configure({
        streaming: {
            bufferingGoal: BUFFERING_GOAL
        },
        drm: {
            servers: {
                'com.widevine.alpha': 'https://cwip-shaka-proxy.appspot.com/no_auth'
            },
        }
    });
    ```

https://smoula.net/data/wv-enc-test/llama-wv-rotation.mpd - FAIL with specific configuration
When we set BUFFERING_GOAL to 40, player FAILs with Shaka Error 3016
When we set BUFFERING_GOAL to value from interval 10-14, playback is OK

If you buffer ahead to a point where we don't have keys yet, what should happen is that the browser should play happily unless the playhead reaches that spot before the keys are available.  If that happens, the browser should stall playback until the keys are available.
What might be happening on these TVs is that if we buffer to a point where we don't have keys yet, the TV tries to decrypt/decode that content anyway and throws a fatal error.  If this is true, this would be non-spec-compliant behavior from the platform.  This would also explain why a lower buffering goal works around it for you.
@nextsux, what is the key rotation interval for this content?  Is the 10-14 second buffering goal within ~2 key intervals?

IIRC I've set key rotation for this demo to 5 seconds so key rollover can
be tested quickly. So yes, this explanation makes sense for me.
Dne pá 14. 5. 2021 20:20 uživatel Joey Parrish @.***>
napsal:

https://smoula.net/data/wv-enc-test/llama-wv-rotation.mpd - FAIL with
specific configuration
When we set BUFFERING_GOAL to 40, player FAILs with Shaka Error 3016
When we set BUFFERING_GOAL to value from interval 10-14, playback is OK
If you buffer ahead to a point where we don't have keys yet, what should
happen is that the browser should play happily unless the playhead reaches
that spot before the keys are available. If that happens, the browser
should stall playback until the keys are available.
What might be happening on these TVs is that if we buffer to a point
where we don't have keys yet, the TV tries to decrypt/decode that content
anyway and throws a fatal error. If this is true, this would be
non-spec-compliant behavior from the platform. This would also explain why
a lower buffering goal works around it for you.
@nextsux https://github.com/nextsux, what is the key rotation interval
for this content? Is the 10-14 second buffering goal within ~2 key
intervals?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/google/shaka-player/issues/3193#issuecomment-841419985,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHCEKVQRP3ETYM7KH7BQOLTNVSW3ANCNFSM4YPKDZJA
.

Thank you for confirming.  My best advice, then, is to consider your key rotation interval when you choose the buffering goal for these platforms.
If anyone can think of a workaround that we could apply automatically, I would be happy to discuss.  But I have no good ideas right now.
My first thought was to automatically constrain the buffering goal if Platform.isWebOS(), etc, based on the key interval.  But it seems like it would cause confusion to ignore and override the app's configuration in certain cases.  Besides this, we have no way to automatically discover the key interval.

Nobody has had any ideas for a workaround in a year, so I'm closing this issue now.


[Bug]: ValueError: Unknown DataFormat enumeration code: mzTab

Contact Details
No response
What happened?
Tried to add a mzTab data entity...
data = model.DataEntity(id="metabolomics_1", name= "metabolomics_1", description = "untargeted metabolomics by FIA", data_format="mzTab", data_path = "metabo_1.mztab")
... but it rejects "mzTab"
What system are you using?
Linux distribution
Relevant log output
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[5], line 2
      1 # Generate a data element
----> 2 data = model.DataEntity(id="metabolomics_1", name= "metabolomics_1", description = "untargeted metabolomics by FIA", data_format="mzTab", data_path = "metabo_1.mztab")
      4 # Add element to modo
      5 modo.add_element(element = data, source_file="MM4 DATA.mztab")

File <string>:10, in __init__(self, id, name, description, data_path, data_format, has_sample, has_reference, **_kwargs)

File ~/modo-test/.pixi/envs/default/lib/python3.12/site-packages/modos_schema/datamodel/modos_schema.py:283, in DataEntity.__post_init__(self, *_, **kwargs)
    281     self.MissingRequiredField("data_format")
    282 if not isinstance(self.data_format, DataFormat):
--> 283     self.data_format = DataFormat(self.data_format)
    285 if not isinstance(self.has_sample, list):
    286     self.has_sample = [self.has_sample] if self.has_sample is not None else []

File ~/modo-test/.pixi/envs/default/lib/python3.12/site-packages/linkml_runtime/utils/enumerations.py:52, in EnumDefinitionImpl.__init__(self, code)
     50         self._code = code
     51 elif key not in self.__class__:
---> 52     raise ValueError(f"Unknown {self.__class__.__name__} enumeration code: {key}")
     53 elif isinstance_dt(code, "PermissibleValue"):
     54     if getattr(self, 'code', None):

ValueError: Unknown DataFormat enumeration code: mzTab

Hey @htmonkey, I should maybe have mentioned it, but the mzTab feature is not in a release yet as it's pretty rough, for now it's available on the main branch. As specified in the README, you can install it with:
pip install git+https://github.com/sdsc-ordes/modos-api.git@main

Does it work as expected for you if you install from main?

Just released 0.2.3 to avoid this problem with mztab https://github.com/sdsc-ordes/modos-api/releases/tag/v0.2.3

I can't get 0.2.3 from pypi.

Thanks! There was a CI bug, it's now available from pypi

I had additional problems with pyfuzon, but now it works. It looks really crude. Two questions:

is the mztab supposed to just be copied into the modo path OUTSIDE of the zarr?
the API should allow to recognize what elements exist in modo, type by type. How do I get the information without having to know how the mztab was named?

the terminal rendering of pyfuzon is indeed pretty crude; ideally the fuzzy search engine would be used for live feedback when typing in a form as part of a web UI.

The mztab is indeed copied outside the zarr hierarchy, as the zarr spec does not allow misc files in its herarchy. The zarr hierarchy has a corresponding node in data containing the metadata of embedded files, with a pointer to the filename. The current hierarchy could be improved (see notes here) and your suggestions are of course welcome.
From the CLI, you can show embedded files using modos show --files, from the API it would be modo.list_files(). If what you need is specifically the link between (zarr) identifier and file path, you could do `modo.show_contents('data') to get each DataEntity's metadata (including their file path).

Additionally, it is possible to query the metadata with SPARQL directly, so this would also work:
>>> [r for r in modo.query('SELECT ?id ?path WHERE {?id a modos:DataEntity; modos:data_path ?path . }')]
[(rdflib.term.URIRef('file://ex/data/demo1'),
  rdflib.term.Literal('file://ex/demo1.cram'))]

This is very flexible, but of course not very user-friendly, so if you have a wishlist of helper methods you'd like us to add, we could easily add that.

I got it, thank you. The problem is not poor user-friendliness, but that you still lack fundamental functionalities that are at the core of MODOs (see "Goals"). I will close here and open a new issue.


Add tables weight-formats and pre-post-processing

@oeway This would be my suggestion for listing the supported weight formats, pre-processing, and post-processing, as well as listing which consumer supports which option.
Let me know what you think. Once we agree on a format I will try to fill the lists for pre/post-processing and ask others to double check.

Thanks! Looks good to me! In addition to yes and no, there might be partial implementations, and we can add a footnote below the table.

Thanks! Looks good to me!

Ok, I will finish up everything as far as I can and then ask the others to fill in the gaps.

there might be partial implementations, and we can add a footnote below the table.

Good point; we can add this if it becomes relevant.

I gathered all we had for pre/post-processing in #32, #37 and #39.
Let me know if you think anything is missing or you want any other changes here, @oeway @esgomezm @frauzufall @FynnBe @m-novikov.

It looks very good! thank you
I might have missed it, sorry, what is reference_implementation?
For the post-processing, should we allow basic thresholding? something like:
- `intensity_threshold` binarize the intensity values of an image by thresholding them with a specific value.
  - `kwargs`
    - `threshold` For example [0.5, 75, 0.25] in the case of a 3 channel image where the channels are not thresholded jointly
  - `reference_implementation`

For the pre/post-processing support in @deepimagej we have kind of a solution but it's not clear for us whether it can be considered as "supported processing": both steps are given in IJ macros, so as long as they are not super complicated workflows, we are able to reproduce most of the defined pre/post processings. The problem is that we are not really reading the transformations from the yaml, but from the macros. (Comments are very welcome)

I might have missed it, sorry, what is reference_implementation?

My idea was to provide a link to the reference implementation for the given pre/post-processing, to make it easier to reimplement it. (I haven't provided any links yet, we can fill that in as we go.)

For the post-processing, should we allow basic thresholding? something like:

I think providing basic thresholding as post-processing is a good idea.

both steps are given in IJ macros, so as long as they are not super complicated workflows, we are able to reproduce most of the defined pre/post processings.

Are the macros provided separately by the users?
Do you think you could implement a system where you have default macros corresponding to the pre/postprocessing operations here (at least to the ones that you want to support) and select them according to the yaml? (The user could still provide different macros but at least you could default to what's specified in the yaml).

My idea was to provide a link to the reference implementation for the given pre/post-processing, to make it easier to reimplement it. (I haven't provided any links yet, we can fill that in as we go.)

Good!

Are the macros provided separately by the users?

Yes.

Do you think you could implement a system where you have default macros corresponding to the pre/postprocessing operations here (at least to the ones that you want to support) and select them according to the yaml? (The user could still provide different macros but at least you could default to what's specified in the yaml).

Yes but not really at this moment. What we have is a GitHub repo containing processing routines (macros), so the users can (manually) download and include them in the model package. Here, we can provide the ones specified as "bioimage.io macros" that are exactly what it is defined here. With the example input/output images, it is possible to know whether the model is working properly on different consumers, but still...

Yes but not really at this moment. What we have is a GitHub repo containing processing routines (macros), so the users can (manually) download and include them in the model package. Here, we can provide the ones specified as "bioimage.io macros" that are exactly what it is defined here.

Ok, then I would suggest that you mark the ones where you have a corresponding macro with yes (and you can also provide the link to macro). And we can then add a footnote that explains that the pre/post-processing currently needs to be selected manually in deepImageJ.

Can we add a 'binarize' postprocessing step with threshold as an argument (or something similar)?

I updated the definitions for pre - and post-processing now.
From my side there is still one open question:

do we need mode=fixed for percentile? The use case would be to determine the values corresponding the lower / upper percentile on the training data and then just apply these fixed values during prediction.

Otherwise this is good to go from my side, please let me know if there is still anything unclear or missing.

@constantinpape the lower and upper percentile can be between 0 - 100, correct? Should we add this as a note?

@constantinpape the lower and upper percentile can be between 0 - 100, correct? Should we add this as a note?

Yes, good point.

Would it be weird to disallow the upper percentile to be <1 as a sanity check? Of course it's a valid value, but someone might specify the percentiles in 0,1... and we wouldn't catch it

Can I add one more request? :pray: We use clip also in postprocessing - exactly as defined in preprocessing.

Can I add one more request? pray We use clip also in postprocessing - exactly as defined in preprocessing.

Sure! I will add it later and then would merge this PR. We can fill in what's missing in later PR, this one is becoming pretty long already...
Any objections?

Also, percentile preprocessing uses lower_percentile and upper_percentile, whereas in postprocessing scale_min_max uses min_percentile and max_percentile. And this postprocessing does not work without a reference to the input node - without the reference, min and max percentile cannot be calculated from the normalized output image. But maybe that's ok. I implemented it now like this in our consumer and it works, it can be improved later.

lower_percentile and upper_percentile, whereas in postprocessing scale_min_max uses min_percentile and max_percentile

Ok, we should use the same name here, I will change it to min/max in the preprocessing.

And this postprocessing does not work without a reference to the input node - without the reference, min and max percentile cannot be calculated from the normalized output image. But maybe that's ok. I implemented it now like this in our consumer and it works, it can be improved later.

Do you mean that the mode fixed for scale_min_max (where you would specify a fixed value for min and max) is not possible?
Anyway, I agree maybe better to discuss this in the call tomorrow and fix it later.

@constantinpape yes I see that the perceniles in scale_min_max already has the note that it does not work for fixed. So that's all good. Thanks for the prompt answers!


Prevent destruction of class objects when cloning

The old omit method converts a class to a standard object instead of staying as a class, this prevents you from referencing other properties within the class

Actually thinking about this a bit more, is cloning and ommiting the component even necessary?

LGTM
I think I took this behaviour from mithril itself. Feel free to check, if this is even necessary.


Introduce wrapper function for run.upload_folder

Write a detailed description of your PR here.
Please follow the guidelines for PRs contained here. Checklist:

[ ] Ensure that your PR is small, and implements one change.
[ ] Add unit tests for all functions that you introduced or modified.
[ ] Run PyCharm's code cleanup tools on your Python files.
[ ] Link the correct GitHub issue for tracking.
[ ] Update the Changelog file: Describe your change in terms of
Added/Changed/Removed/... in the "Upcoming" section.
[ ] When merging your PR, replace the default merge message with a description of your PR,
and if needed a motivation why that change was required.

Changes are made in hi-ml now