[SPARK-26946][SQL] Identifiers for multi-catalog

What changes were proposed in this pull request?

Support N-part identifier in SQL
N-part identifier extractor in Analyzer

How was this patch tested?

A new unit test suite ResolveMultipartRelationSuite
CatalogLoadingSuite

@rblue @cloud-fan @mccheah

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

ok to test.

Test build #102680 has started for PR 23848 at commit 86b9a4f.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/8218/
Test PASSed.

Test build #102680 has finished for PR 23848 at commit 86b9a4f.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class UnresolvedRelation(table: CatalogTableIdentifier)
sealed trait IdentifierWithOptionalDatabaseAndCatalog
case class CatalogTableIdentifier(table: String, database: Option[String], catalog: Option[String])
class TableIdentifier(table: String, db: Option[String])

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/102680/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/8678/
Test PASSed.

Test build #103232 has started for PR 23848 at commit 372e38f.

Test build #103232 has finished for PR 23848 at commit 372e38f.

This patch fails to build.
This patch merges cleanly.
This patch adds the following public classes (experimental):
public class CatalogNotFoundException extends RuntimeException
case class CatalogIdentifier(space: CatalogIdentifier.Namespace, name: String)

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/103232/
Test FAILed.

Looking at the build failure

Test build #103234 has started for PR 23848 at commit c434f4c.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/8680/
Test PASSed.

Test build #103234 has finished for PR 23848 at commit c434f4c.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/103234/
Test FAILed.

Test build #103255 has started for PR 23848 at commit feed4a3.

Test build #103255 has finished for PR 23848 at commit feed4a3.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/103255/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/8701/
Test PASSed.

Sorry for breaking up my review into individual comments. I think this looks ok short of some style changes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/9024/
Test PASSed.

Test build #103623 has started for PR 23848 at commit 54280ed.

Test build #103623 has finished for PR 23848 at commit 54280ed.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
public class IdentifierImpl implements Identifier
trait LookupCatalog
case class CatalogIdentifier(namespace: Array[String], name: String) extends Identifier

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/103623/
Test FAILed.

@jzhuge, this looks really close to being ready to me!

Test build #103654 has started for PR 23848 at commit 5e18fcf.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/9054/
Test PASSed.

Test build #103654 has finished for PR 23848 at commit 5e18fcf.

This patch fails Java style tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class IdentifierImpl implements Identifier

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/103654/
Test FAILed.

Test build #103658 has started for PR 23848 at commit ce96f84.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/9057/
Test PASSed.

Test build #103658 has finished for PR 23848 at commit ce96f84.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/103658/
Test FAILed.

retest this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/9064/
Test PASSed.

Test build #103666 has started for PR 23848 at commit ce96f84.

Test build #103666 has finished for PR 23848 at commit ce96f84.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/103666/
Test PASSed.

+1
This looks good to me. @cloud-fan, do you have any more review comments?

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/9082/
Test PASSed.

Test build #103685 has started for PR 23848 at commit 11c7871.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/9129/
Test PASSed.

Test build #103750 has started for PR 23848 at commit 3bb4485.

Test build #103750 has finished for PR 23848 at commit 3bb4485.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/103750/
Test PASSed.

The parser part and identifier interface/impl class LGTM. The catalog lookup part looks reasonable but I'm not very confident without seeing the actual use case. To move things forward, I'm merging this. I may refactor this part after the table catalog gets it.

thanks, merging to master!

Thanks @cloud-fan !

Thanks for merging, @cloud-fan, and thanks for working on this, @jzhuge!


be consistent with messages for "info" command

the message from "help" command for "info" is different from the one with "info" when the "type" doesn't match

Thanks!


Support 'merge = false' for all parameters not just effects

@gettek I was looking at #20 again, and I initially thought that the functionality for the 'effect' parameter was implemented for all parameters.  However it isn't.  Is that something you'd consider doing?
Here's my use-case - I want to implement all the built-in policies that create the DNS zone group for private endpoints in a single initiative (e.g. 'Configure Key Vault to use private DNS zone', 'Configure a private DNS Zone ID for blob groupID'), etc.  These all take 'effect' and 'privateDnsZoneId' as parameters.  Your module will create policy-specific parameters for 'effect' but not 'privateDnsZoneId', as that needs to be different for each policy.
I could use the native TF resource for initiative definition, but it's far more verbose that your module would be (i.e. loads of JSON for the policy definitions and parameters).  With your module, it would just look like this:
module "customer_mg_configure_dns_private_endpoints" {
  source                  = "gettek/policy-as-code/azurerm//modules/initiative"
  version                 = "2.6.1"
  initiative_name         = "pe_dns"
  initiative_display_name = "[Platform]: Configure DNS for Private Endpoints"
  initiative_description  = "Automatically creates A records in private DNS zones for private endpoints"
  initiative_category     = "Network"
  merge_effects           = false # will not merge any parameters
  management_group_id     = data.azurerm_management_group.env.id

  member_definitions = [
    data.azurerm_policy_definition.storage_accounts_configure_dns_blob,
    data.azurerm_policy_definition.storage_accounts_configure_dns_queue,
   ... # etc.
  ]
}

sorry for the late reply, was on holiday.
I've dropped the use case for this for now, as it turns out those built-in private DNS policies are useless.  They have no existence condition so they don't work with remediation tasks 🙄
I may want to use this for other stuff though.  Apologies for not being very useful for testing, I don't have a proper private test environment setup.


fix: init logger in vhs publish flow

Was getting a nil pointer error before when calling vhs publish due to logger not being initialized. Fixed that, now vhs publish seems to be working as expected

Had to fix the verified commit signing :)

@bashbunni thanks!


Clear recommendation needed whether or not to switch Active Region/App while traveling in Europe.

Where to find the issue
The issue occurs in directly linked or indirectly linked FAQs.
Describe the issue
A traveler arriving in a different EU location is faced with the choice as to whether to continue to use the CWA, or download a local app, and also whether to switch the Local Region to the country they are traveling in or about to travel in.  Some countries require Covid-19 tests to be made before arriving in the country, and some after arriving in the country to leave quarantine. So the handling of test-results also has to be taken into consideration.
Now that interoperability between several European Apps has been enabled, the in-app documentation and UI should reflect this, and the traveler should be given clear answer as to whether to stick with the CWA in the new country, or switch to the local compatible app.
Currently, this information can only be gleaned through linked faqs and is often contradictory depending on how many links you traverse. So linking is not sufficient.
Examples:
Caveat: I have included the UK NHS app in these examples, even though it is no longer EU and not compatible (but uses the Google/Apple AP), simply to give examples of issues that will almost certainly occur in other apps in future, if not already. I have not installed all national compatible apps to give a comprehensive as-is comparison because what follows are simply examples.
Example 1: FAQs
The EU claims that a switch is necessary when a test is performed:
"You can only insert a positive coronavirus test result in the app of the country where the test was taken."
https://ec.europa.eu/commission/presscorner/detail/en/qanda_20_1905#gateway
But elsewhere in the same FAQ
"Thanks to the EU interoperability gateway service, citizens can use one single app even when they travel cross-borders, while continuing to benefit from contact tracing and being able to report a positive test or to receive an alert."
The RKI linked from the CWA recommends sticking to the original Active Area when traveling:
"If you are in another EU country or in one of these countries and have made a molecular biological test (PCR test) which is positive, you can upload it to the Corona-Warn-App. To do so, it is necessary to verify your identity by calling the hotline +49<PHONE_NUMBER>."
(As an aside, often 800 numbers cannot be reached from other countries. My test with the French covid number failed, but the German number did work from Ireland).
Example 2: Local Capabilities
The CWA does not support extended functions in other countries. So by not transferring away from the CWA you would be at a disadvantage.
Other EU apps sometimes show local information.
E.g. Irish apps show local infection rates. It also enables a call-back number. UK app supports  QR-Code venue registration. Local regulations may also already be supported in some apps.
However, some apps do not let you use the app unless you switch to their active region (E.g. UK). So often the app's secondary value over and above the Google/API RPI tracking cannot be used unless the Local Region is set to the local country (deactivating the CWA).
In future, we can expect local diversification to play an even more important role.
Suggested change
Because linking to FAQs will inevitably lead to different sources (RKI, Telekom, SAP technical, BDI...) with often outdated information contradictions are inevitable. So linking to FAQs is not sufficient. One bullet point in the "Learn More and Help" wizard is what's needed. Alternatively, a sentence of recommendation in the Transnational Exposure Logging section.

Note - I deleted example 3, which showed the exposure logging as only being active since the Active Region was re-activated. I cannot reproduce this with the Irish App or any of the other EU compatible apps. Apologies if this caused anyone on the team to perform additional research.

Hey @alanrick ,
Thanks for the input. However, I'm still not sure whether you are addressing one issue or multiple issues at once. It would be better if you would create individual issues for each example in the respective repositories (cwa-website or cwa-wishlist).
Furthermore, I should note that your suggestion of putting the information is probably not practical, since we cannot update the app as often as the FAQs.

Corona-Warn-App Open Source Team

I'm trying to answer the question in the title "Clear recommendation is needed whether or not to switch Active Region/App while traveling in Europe". As you can see from the examples having different answers spread over different FAQs is confusing and worth avoiding.
My crude analysis of the other 8 transnational apps took several hours but resulted in a clear "yes - switch apps". Having this embedded in the app avoids the FAQ conflicts and confusion while simplifying the decision when arriving at the border.
I don't see any reason why this answer will change, even when more apps are added.

@alanrick wow - I did just look at your Excel sheet with the comparison of the apps.
Nice. I was not aware how many countries there are meanwhile.
Do you know if all these contries participate in DEK distribution / exchange with each other?
And another question: What is your definition of "open source"?

Thanks @ndegendogo . They are just scrappy notes and you're already found the first mistake. Germany is of course opensource, and Ireland sadly isn't. I added links to the repositories as I only stumbled on then by accident and they may not be true.
I assume the DEKs (Diagnosis Keys?) are exchanged, but strictly speaking it's my interpretation of "Interoperable - this app already talk to another app" from the official EU table.
All credit to the EU for fostering this diversity coupled with integration. And all credit to the German Warn App which appears to be the only one to support returning the results of a test in the app (after the qr-code scan).

@heinezen I’ve noticed that other apps display information on-place but extracted from a central source-of-truth using an API.

This appears to me to be the ideal solution in terms of trustworthiness, reliability and dynamic.
Ideally this question would be answered in the transnation section using this technique and that would fulfil your wish for it to be kept up to date.


Checks for problems in Accumulo

This PR:

Moves existing checks (checkTablets and the fate check for dangling locks) into the appropriate new admin check command
Adds new checks
New tests in AdminCheckIT
SYSTEM_CONFIG now checks for

valid locked table/namespace ids (the locked table/namespaces exist)
locked table/namespaces are associated with a fate op

ROOT_METADATA now checks for

offline tablets
missing "columns"
invalid "columns"

ROOT_TABLE now checks for

offline tablets
tablets for metadata table have no holes, valid (null) prev end row for first tablet, and valid (null) end row for last tablet
missing columns
invalid columns

METADATA_TABLE now checks for

offline tablets
tablets for user tables (and scanref) have no holes, valid (null) prev end row for first tablet, and valid (null) end row for last tablet
missing columns
invalid columns

SYSTEM_FILES now checks for

missing system files

USER_FILES now checks for

missing user files

There are still quite a few checks that need to be added (mentioned in https://github.com/apache/accumulo/issues/4687) and probably more. This is a first/starting PR for these checks. More checks will be added in follow-ons. Something else still left todo are tests for these checks for FAILING cases.
Part of #4892

@kevinrr888 these changes look good. I was running the changes locally and I noticed at the top level the accumulo check-server-config command exists. Was wondering if that should be rolled into this check command, if it should could add that to the checklist on #4892.

Thanks, I had missed that. Added to #4892. Also noticed accumulo check-compaction-config, which I also added to the checklist. Did you think this should be included as well or no?

Changes in 11f1f7643e51c7f0851a0220b4892e074ff86594:

System.out -> log.trace/warn to avoid flooding output with unnecessary/detailed info. The most important info (e.g., output of admin check list command, and the final run status table from the admin check run command) is still printed to stdout. Problems found are now logged at warn instead of stdout. Detailed, non-error info logged at trace.
Created new check Check.TABLE_LOCKS which ensures that table and namespace locks are valid and are associated with a FATE op. This depends on SYSTEM_CONFIG, which seemed like the most fitting location for it in the dependency tree.
New check assertNoOtherChecksRan() in AdminCheckIT which ensures only the expected checks ran
A few misc review changes: MetadataCheckRunner code improved to only fetch required columns when scanning, object creation moved outside of a loop

Let me know how these changes look. Something still left TODO is tests for failing checks. Tests should be added to ensure everything that is supposed to be checked correctly fails when it is expected to. I imagine this will take quite a bit of time to do and the changes are already pretty large, so thinking it might be best to leave for follow-on.


rnpm link

When I run this command on a fresh project, after adding dependency, 'rnpm link' doesn't do anything. The process sits there and never terminates.

@arashbi This could be from some recent changes to rnpm. Could you try manually linking the libraries?

Please upgrade to 1.6.1. That is indeed a bug with 1.6.

Thanks @grabbou!


English Translation For Nechronica (Nechronica: The Long Long Sequel - English)

Changes / Comments
Created a new sheet for Nechronica using English text instead of Korean. No other changes to the previous sheet

nechronica.html updated to use English text (placeholder texts, section headers, etc.)
nechronica.css name changed
necrhonica.png updated to show English version of the sheet
sheet.json updated for new file names

Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[x] Does the pull request title have the sheet name(s)? Include each sheet name.
[ ] Is this a bug fix?
[ ] Does this add functional enhancements (new features or extending existing features) ?
[ ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[x] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Character Sheet Info Roll20 Internal Use only.

Character Sheet Info Roll20 Internal Use only.

Hey there @Brewstone, there is a already a sheet for nechronica, so why not translate that instead of creating a new sheet? I am asking because while there have been duplicate public sheets allowed in the past, going forward Roll20 wants to limit this practice. Thanks for all the work you do!

Hey there @Brewstone, there is a already a sheet for nechronica, so why not translate that instead of creating a new sheet? I am asking because while there have been duplicate public sheets allowed in the past, going forward Roll20 wants to limit this practice. Thanks for all the work you do!

This basically is a translation. I'm not sure what the way to go about doing a translation for a sheet would be, other than simply having a new sheet for the new language. If you can point in the right direction I'd be willing to give implementation a shot.

This basically is a translation. I'm not sure what the way to go about doing a translation for a sheet would be, other than simply having a new sheet for the new language. If you can point in the right direction I'd be willing to give implementation a shot.

Hey @mperes , just checking to see what the process is for getting a sheet added to Crowding or who the person to ask is.
Thanks!

Hey @mperes , just checking to see what the process is for getting a sheet added to Crowding or who the person to ask is.
Thanks!

Hey @Brewstone, the sheet is not there because it was not setup for translation. I believe that would be a great contribution from you if are willing to put the work. Please check this link

Hey @Brewstone, the sheet is not there because it was not setup for translation. I believe that would be a great contribution from you if are willing to put the work. Please check this link


Port bindings through API 1.18

Hi,
I have a problem with port mapping when I create containers.
If I want to map x container port to y host port (on <IP_ADDRESS>), I usually insert ExposedPort and PortBindings in creation REST request, but it doesn't work correctly when I start it. It only map container port, not host port.
Documentation isn't clear about starting... seems there aren't any parameters to specify during starting.
Thanks for help
B.R.
Alessio

Start can take anything that's in HostConfig in create.
There should be no change between prior docker versions and 1.18 API.
Can you provide what your sending, what's the container struct looks like after, and what you're expecting to see?

Ok
I run create call:
{"Memory":"100000000","MemorySwap":"0","CpuShares":"1","ExposedPorts":{"9000\/tcp":[]},"Cmd":["node","server.js","-p","8180","-l","<IP_ADDRESS>","--auth","admin:admin_dblablblablae1","-w","\/root"], "HostConfig": {
           "PortBindings": { "8180/tcp": [{ "HostPort": "9000" }] } ,"AttachStdin":"false","Image":"containerx"}

Then I run start simply by
https://10.xxx.79.xxx:2376/containers/4b91731e3bf938320bbca3cedc1a1c4d9d21fc47ea24121be8fa0b0f5fba00c5/start

All run correctly, service is up, but I can't access to the service using public ip (firewall is set, when I run command with -p 9000:8180 the server replies fine)
I've tried more and more... also without exposedports early, but with poor results.
Also, ExposedPorts should be the container port not the host port.

so
HostPort is encoded within PHP call, in the original form:
json_encode( array( "PortBindings"=> array( '8180/tcp'=> array( array( "HostPort"=> "9000" ) ) ) ) );

Corrected container port instead of host port. Seems it work fine. Tomorrow I'll verify!

Also php `json_encode

Yes I did, was a simple problem in mapping host-to-container. Thanks! ;)


Add AuthenticationFailure condition to dnszone controller

Add AuthenticationFailure condition to dnszone controller

[x] Add AuthenticationFailure condition to dnszone controller
[x] Add unit tests
[x] Manually test

@staebler I believe I've addressed your feedback and I implemented the changes we discussed in standup.
I also finished the manual testing. I believe this PR is ready to go. PTAL.

@staebler I believe I've addressed your concerns. PTAL.

@staebler @akhil-rane I addressed your comments, PTAL.
Specifically are the new access*Reason and authentication*Reason acceptable to you?


Update AttestationsRegistry.sol: Gas Optimizations

Refer this -> https://gist.github.com/grGred/9bab8b9bad0cd42fc23d4e31e7347144#for-loops-improvement

Closing due to inactivity!


uiua: 0.3.1 -> 0.4.1

Description of changes
Update uiua and the uiua-vscode extension.
Changelog:

https://github.com/uiua-lang/uiua/releases/tag/0.4.0
https://github.com/uiua-lang/uiua/releases/tag/0.4.1

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Priorities
Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 271261 run on x86_64-linux 1

3 packages built:

uiua
uiua386
vscode-extensions.uiua-lang.uiua-vscode


shortcut to duplicate windows explorer tab

Description of the new feature / enhancement
shortcut to duplicate windows explorer tab, like Crtl+Shift+K in Edge
Scenario when this would be used?
Although Ctrl + N will generate a new duplicate window, there is no shortcut for duplicating the window as a new tab.
Supporting information
No response

/feedbackhub


Updated PowerShell script for connection policy

@SenthuranSivananthan,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

@SenthuranSivananthan : Thanks for your contribution to the Azure documentation! The author, @CarlRabeler, has been notified to review your proposed change.

#sign-off


Document Configuration attribute behavior in upgrade guide

I've triggered the following builds for you. Click here to see all build failures.

BuildDistributions build

@bot-gradle test bd

I've triggered the following builds for you. Click here to see all build failures.

BuildDistributions build

@bot-gradle test and merge

I've triggered a build for you. Click here to see all failures if there's any.


Caused by: java.lang.IllegalStateException: Required view 'rv_content' with ID<PHONE_NUMBER> for field 'rvContent' was not found. If this view is optional add '@Nullable' (fields) or '@Optional' (methods) annotation.

i use my code to bind layout ,like this.
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.CLASS)
@Documented
public @interface BindLayout {
@LayoutRes
int value();
}
－－－－－－
public final class AlexBind {
private static void bindActivityLayout(Activity activity) {
Class aClass = activity.getClass();
BindLayout annotation = (BindLayout) aClass.getAnnotation(BindLayout.class);
if (annotation != null) {
activity.setContentView(annotation.value());
ButterKnife.bind(activity);
}
}
}
－－－－－－－
@BindLayout(R.layout.activity_team_report_from)
public class TeamReportFromActivity extends SuperBaseActivity {
　@BindView(R.id.rv_content)
RecyclerView rvContent;
@BindView(R.id.rl_bottom)
RelativeLayout rlBottom;
@BindView(R.id.left_btn)
FrameLayout leftBtn;
@BindView(R.id.title_name)
TextView titleName;
@BindView(R.id.iv_author)
ImageView ivAuthor;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AlexBind.bindActivity(this);
｝
.....}
－－－－－－－
but,huawei make error.
Caused by: java.lang.IllegalStateException: Required view 'rv_content' with ID<PHONE_NUMBER> for field 'rvContent' was not found. If this view is optional add '@Nullable' (fields) or '@Optional' (methods) annotation.

This is what happened when findViewById returns null for a view ID you have requested. It is not a problem with the library. Either the view isn't available in that configuration, you've inflated the wrong layout, or there's a severe bug in the device.

thanks brother


Event CommentCreated

Hi,
Could you show me an example of how to trigger a new comment creation event with respect to LakM\Comments\Events\CommentCreated
?

Not clear what you exactly meant. Those events are trigger by the package. You can just consume them as you do  laravel event and listners.

I'm trying to call this function using event and listners but it doesn't work for me, could you prepare some short demo video showing how to call this trigger correctly? I would appreciate your help

Please provide related code sample.

File AppServiceProvider.php
<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Event;
use LakM\Comments\Events\CommentCreated;
use App\Listeners\SendCommentConfirmation;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     */
    public function register(): void
    {
        //
    }

    /**
     * Bootstrap any application services.
     */
    public function boot(): void
    {
        Event::listen(
            CommentCreated::class,
            SendCommentConfirmation::class,
        );
    }
}

File : Listeners/SendCommentConfirmation.php

<?php

namespace App\Listeners;

use App\Events\CommentCreate;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;

class SendCommentConfirmation
{
    /**
     * Create the event listener.
     */
    public function __construct()
    {
        //
    }

    /**
     * Handle the event.
     */
    public function handle(CommentCreate $event): void
    {
        print_r('<br>'.$event->email. ' save it as a order email');
    }
}

I'll look into this.

But at a glance inside handle method of your listner you must expect LakM\Comments\Events\CommentCreated event as the argument.

I applied your advice and now it works fine.
public function handle(CommentCreated $event): void
another question how can I get the comment id? $event->id does not return this data to me

$event->model->id


Make Microsoft.Testing.Platform.MSBuild as build assets only

Fix #3856

Closing as it's not the right way to fix.


Added use-countries hook

use-countries
Custom react hook to list countries and languages.

Thank you!


Map the full Gospelstdlib to the Ortac_runtime.Gospelstdlib module

This is really a one-commit PR, but it was based on #72.
Instead of hard-coding an association table that maps Gospel Stdlib values to their equivalent OCaml code, expect the target runtime to provide its own implementation in the Ortac_runtime.Gospelstdlib module, following exactly the same structure as the Gospel Stdlib. Consequently, Ortac_runtime_intf.Gospelstdlib could be generated (using fold_namespace for instance...). It is still handwritten, because the implementation is real only partial for now.
That restructuring makes it clearer which parts of the runtime is exposed to support the specification translations and which parts should really only be used by the generator (Z.forall, Z.exists). On the other hand, the generator does call the functions that are provided by the Gospelstdlib sub-module (pred, etc.)
To ensure that Ortac_runtime.Z does not shadow Z in the implementation of the Gospelstdlib, Gospelstdlib is implemented before
The expected test results are updated accordingly

I implemented starts_with using cppo but this breaks ocamlformat (and syntax highlighting, but that’s not such a big deal), which is quite annoying. So I found a better way: we provide a string.pre413.ml module that should shadow String when building on older compilers.
The other comments should also have been addressed.


Implement excluding sensitive data from logs

Co-authored-by: Mykola Bilochub<EMAIL_ADDRESS>

Landed in https://github.com/metarhia/globalstorage/commit/2efdade92fd943ceb1bd3d92a754b9a3a641b7fb.


Custom routes.json not working with :parameters

I tried to reproduce the following locally: https://github.com/typicode/json-server/issues/167
I copied the route to my routes.json:
"/Data/Items/:itemId/Document/:id.json": "/Document/:id"

I then added Document to my db.js file in my js function that returns JSON.
"document": [
    {
      "id": 346,
      "itemId": 42,
      "foo": "bar",
      "body": "some data"
    }
  ]

Navigating to the /document route works, the rewritten route does not.
This is the route I tried to hit: /Data/Items/3/Document/2.json

I forgot to mention I'm running<EMAIL_ADDRESS>

I've noticed the same thing, and also that filters such as the below don't work:
'/v1/accounts/:account_id/resource': '/resource?account_id=:account_id'

I am also having the routes not filtering the results issue.
The following routes.json is not retuning the filtered result
{
"/data/StandardList" : "/StandardList?_start=0&_end=3"
}

I am also having the same issue. Seems related to another issue too. I think its any kind of property used in the url that isn't :id.

I confirm there is a filtering issue when working with custom routes: neither pagination, sorting, or filtering works at all.

Did we resolve this this ?. On the github documentation, we can see --routes argument where if use that, it shows no such param exist.


Added "line" aligned propagation of stream

The additional pre-buffering of input stream with "line aligned" delivery, helps to avoid breaking of escape sequences like "colorization".
It helps for final console output function to not strip "unknown sequences" of non-printable characters.
Now (with my previous commit) colorized output can be used by
monitor_filters = esp32_exception_decoder

i.e. without extra hacks like monitor_raw = yes or monitor_filters = direct, colorize,...

I really suggest merging this.
Cost me hours before I found and applied this - done.


Non-domain joined machine trying to access Azure Files

"If your machine isn't domain joined to an AD DS, you may still be able to leverage AD credentials for authentication if your machine has line of sight to the AD domain controller."
Can this be clarified please? So the machine is not domain joined... Does it simply need to be able to connect/resolve the DNS somehow, or what is expected here?
I assume there are no alternatives?

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: fba964be-3f77-d80c-f1a5-35bb1430bb8f
Version Independent ID: fe70b11e-10fe-5a8c-1fad-b22a83693503
Content: Overview - On-premises AD DS authentication to Azure file shares
Content Source: articles/storage/files/storage-files-identity-auth-active-directory-enable.md
Service: storage
Sub-service: files
GitHub Login: @khdownie
Microsoft Alias: kendownie

@jbostoen
Thanks for your feedback! We will investigate and update as appropriate.

@jbostoen
If your machine is not domain joined to an AD DS, you may still be able to leverage AD credentials for authentication if your machine has line of sight of the AD domain controller.
You can enable the feature on a new or existing on-premises AD DS environment. Identities used for access must be synced to Azure AD. The Azure AD tenant and the file share that you are accessing must be associated with the same subscription.
Domain-join an on-premises machine or an Azure VM to on-premises AD DS. We strongly recommend you review the How it works section to select the right domain service for authentication.
If the subscription under which the file share is deployed is associated with the same Azure AD tenant as the Azure AD DS deployment to which the VM is domain-joined, you can then access Azure file shares using the same Azure AD credentials. The limitation is imposed not on the subscription but on the associated Azure AD tenant.
Azure Files on-premises AD DS authentication only integrates with the forest of the domain service that the storage account is registered to. To support authentication from another forest, your environment must have a forest trust configured correctly. The way Azure Files register in AD DS almost the same as a regular file server, where it creates an identity (computer or service logon account) in AD DS for authentication. The only difference is that the registered SPN of the storage account ends with "file.core.windows.net" which does not match with the domain suffix. Consult your domain administrator to see if any update to your suffix routing policy is required to enable multiple forest authentication due to the different domain suffix. We provide an example below to configure suffix routing policy.
To learn how to enable Azure AD DS authentication for Azure file shares, see Enable Azure Active Directory Domain Services authentication on Azure Files.
Azure AD DS provides managed domain services such as domain join, group policies, LDAP, and Kerberos/NTLM authentication. These services are fully compatible with Active Directory Domain Services. For more information, see Azure Active Directory Domain Services.
When you enable AD DS for Azure file shares over SMB, your AD DS-joined machines can mount Azure file shares using your existing AD DS credentials. This capability can be enabled with an AD DS environment hosted either in on-prem machines or hosted in Azure.
To help you setup Azure Files AD authentication for some common use cases, we published two videos with step by step guidance for the following scenarios:
To use the AD credential for authentication, you need to make sure that the AD credential is synced to Azure AD, and that Azure AD is fully synced to Azure AD DS. If not, AAD DS will not be able to perform authentication against an AD credential. Please check the sync status
enable AD DS authentication for your Azure file shares
Kindly let us know if you still have more questions on this. I wish to engage with you offline for a closer look and provide a quick and specialized assistance, I will follow-up with you.
Thanks for your patience and co-operation.
Hope this helps!
If there are any further questions regarding the documentation, please tag me in your reply and we will be happy to continue the conversation.

Thanks for the detailed explanation!

@jbostoen I think the sentence you highlighted is misleading, and we should remove it from the docs.
The requirement depends on what AD source you're using to authenticate: AD DS, Azure AD DS, or Azure AD (which is in preview).   If your machine or VM is outside of the network managed by your AD DS, you'll need to enable VPN to reach AD DS for authentication.
We don't really recommend using Azure AD DS, even though it's possible and we document and support it.
The third option is Azure AD, which allows Kerberos authentication without the need for line-of-sight to domain controllers. However, initial preview support is limited to hybrid user identities (identities created in AD DS and synced to Azure AD using Azure AD Connect).

Thanks for your answer, @khdownie . I think it indeed is a bit misleading at that point.
Thank you for the detailed explanations!

@jbostoen
We are going to close this thread as resolved but if there are any further questions regarding the documentation, please tag me in your reply and we will be happy to continue the conversation.

@jbostoen I looked into this and you can access Azure Files using a domain identity even if the machine you are accessing from is not domain joined. Azure Files supports authentication from non-domain joined devices if the client has line-of-sight to the domain controller and the user types in their AD domain credentials. Note that for non-domain-joined machines wishing to access Azure Files w/Azure AD DS (not on-premises AD DS), customers would want to set up line-of-sight to the domain controllers for Azure AD DS, which are located in Azure. They would have to set up this connectivity through either site-to-site or point-to-site VPN.


Added nnapi op support for Mobilenetv2 model

@RavirajSitaram , @fujunwei , Please review the PR and merge.
Thanks,
Vijeet


Support new GOSSI metadata

Fixes #1385
Fixes #317
Fixes #318
Were any Django, import pipeline, or table_schema files modified? Y
Were any JavaScript or CSS files modified? N

If YES:

JSHINT run on all affected files: Y/NA
Tested on Chrome, Firefox, Safari, Edge, and iOS: Y/NA
(Remember to test all browser sizes)
Tested for race conditions (with delayed API calls if applicable): Y/NA

Was the documentation reviewed for necessary changes or additions? Y/NA

About
Getting Started
FAQ
API Guide
Tooltips
Import/database schema

Description of changes:
Known problems:

/review

AI Code Review is in progress (usually takes <3 minutes unless it's a very large PR).


How about the InitializeComponent method

I came here looking for details on the one method that is called by every single blank UWP app created in Visual Studio Page.InitialzeComponent()
Would have thought this may have been the place to look for it, or possibly follow links somewhere else.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 2cb6376e-2c9f-10e5-24c5-56bd78a6956b
Version Independent ID: 42069986-5904-e987-b6d4-ccede63326e1
Content: Page Class (Windows.UI.Xaml.Controls) - UWP app developer
Content Source: https://cpubwin.visualstudio.com/DefaultCollection/windows-uwp/_git/winrt-api-build?path=%2fwinrt-api-build%2fwindows.ui.xaml.controls.page.yml&version=GBlive&_a=contents
Product: uwp
Git Login: wdg-dev-content
Microsoft Alias: wdg-dev-content

Note that InitializeComponent isn't a method on Page itself.  It's a method that's generated by the Xaml compiler during build and added to the subclass (for example MainPage.g.i.cs).  In VS you can F12 on the call to it to get to the definition of it.

So @MikeHillberg I guess this isn't the place to find an answer

I can't find a page talking about the XamlCompiler's InitializeComponent code and it seems reasonable for us to have one that is at least mentioned here.

Thanks for taking the time to let us know about this and we sincerely apologize for the delayed response. Due to the sheer volume of feedback in our repo, we are currently prioritizing new Issues. If you believe your feedback is still actionable, let us know either directly in this thread or by filing a new Issue and we’ll work to incorporate the suggestions into the documentation. Though the Issue will be marked as Closed, we will monitor any replies that come afterwards so feel free to treat this like an open Issue. Many thanks!


Support PushSecret Property for AWS SM

Problem Statement
I've supported PushSecret Property for AWS SM. Thank you for your review!
Related Issue
Relates to https://github.com/external-secrets/external-secrets/issues/2353
Proposed Changes
I ran into a few issues I'd like to get feedback on:
Concurrency
The AWS secretsmanager api doesn't allow to update only a specific field.
I used the GetSecretValue to retrieve the entire json followed by the PutSecretValue to put the updated secret.
This opens up some concurrency risks though: 2 fields can be updated at the same time potentially causing a lost update.
The api offers something that looks like it could be leveraged for optimistic locking: GetSecretValueOutput has a VersionId field, while PutSecretValueInput's field ClientRequestToken serves to supply the "VersionId" of the updated secret (this is an idempotency mechanism of AWS)
AWS recommends to put a UUID in there, but if we were to put something incrementing in there, we could potentially leverage this for optimistic locking.
I'm not sure this is the way to go as this would conflict with secrets auto-rotated by secretsmanager.
Is there maybe a client-side synchronisation or locking feature in ESO?
Support non-json?
When PushSecret is called with a remoteRef.property for a secret that is not a json, an error "PushSecret for aws secrets manager with a remoteRef property requires a json secret" is returned.
Do we want to support non-json secrets in aws secretsmanager?
Checklist

[x] I have read the contribution guidelines
[x] All commits are signed with git commit --signoff
[x] My changes have reasonable test coverage
[x] All tests pass with make test
[x] I ensured my PR is ready for review with make reviewable

@gusfcarvalho with regards to standardizing pushSecret across providers, is this PR compliant?

/ok-to-test sha=aae1848

Thanks for raising the concurrency issues. I believe this hasn't been implemented in other providers.

AWS recommends to put a UUID in there, but if we were to put something incrementing in there, we could potentially leverage this for optimistic locking.

Great suggestion! I've read through the docs and it seems it could be possible. The PUT operation should fail in case of a race condition.

I'm not sure this is the way to go as this would conflict with secrets auto-rotated by secretsmanager.
Is there maybe a client-side synchronisation or locking feature in ESO?

Nop, there's no client-side synchronisation, this is hard to achieve because we support different deployment models (it would have to be out of process, potentially even cross-cluster).
I don't think we need to support the auto-rotation integration with secretsmanager. If AWS SM rotates something we can't synchronise the rotation with a PushSecret. Users would have to separate it into two different AWS SM secrets, which should be fine.
I did a test run with your PR and it looks good. Would be great if can fix the concurrency issues :pray:

Working on the sonar code smells

Hey, is this ready to be reviewed?

Hey, is this ready to be reviewed?

Yeah, please do.

/ok-to-test sha=40138b8

great stuff @benbertrands, thank you so much for this :bow:


open in new window.

Flutter Web:
When opening a page, how do I open it in a new window?
ex Html:
<a href='https://google.com'  target='_blank'> Google </a>

Have you tried the url_launcher package?
I think there it opens urls in a new tab by default.

Can I pass parameters through the url_Launch package and receive them from beamer?
Let's test it... Thank you.

Can I pass parameters through the url_Launch package and receive them from beamer?
Let's test it... Thank you.

Did it work? 😄

any updates ?

Very simple and perfect. It works very well. This package is very nice and the recent update is very satisfying. Thank you. ^^
ex-parameter: 1405qQNC
 url = 'https://smaple.com/#/yourpage/1405qQNC';
              if (await canLaunch(url)) {
                await launch(url);
              }


Bookmarks and history not clearing after log out

Steps to reproduce:

Launch SAFE browser and log in with valid SAFE credentials.
Browser / create bookmarks or read existing data from SAFE network.
Click "logout"

Expected results:
Bookmarks and history will clear.
Actual results:
Data from step 2 above persists.
This issue has been seen previously https://github.com/maidsafe/safe_browser/issues/325

fixed by #605

Regression has been resolved by RC2. Verified working as expected, moving to done.


MMCls Swin Transformer -Base output channels does not match with neck channels in MMDet

Hello,
I try to load mmcls.SwinTransformer base in mmdet, but failed  because the output channels of Swin-B (256, 512, 1024, 1024) don't match with neck input channels (128, 256, 512, 1024) in official Swin-B object detection setting.
How can I get the same output channels from Swin-B backbone as neck input channels in mmdet?
Swin-B output channels:
(norm0): LayerNorm((256,), eps=1e-05, elementwise_affine=True)
(norm1): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(norm2): LayerNorm((1024,), eps=1e-05, elementwise_affine=True)
(norm3): LayerNorm((1024,), eps=1e-05, elementwise_affine=True)]

Neck input channels:
[  (neck): FPN(
    (lateral_convs): ModuleList(
      (0): ConvModule(
        (conv): Conv2d(128, 256, kernel_size=(1, 1), stride=(1, 1))
      )
      (1): ConvModule(
        (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1))
      )
      (2): ConvModule(
        (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1))
      )
      (3): ConvModule(
        (conv): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1))
      )
    )]

Post related information

The output of pip list | grep "mmcv\|mmcls\|^torch"
[mmcls                   0.23.0
mmcv-full               1.4.2
torch                   1.9.0
torchaudio              0.9.0a0+33b2469
torchvision             0.10.0]
Your config file if you modified it or created a new one.

[_base_ = [
    '../_base_/models/mask_rcnn_r50_fpn.py',
    '../_base_/datasets/coco_instance.py',
    '../_base_/schedules/schedule_1x.py', '../_base_/default_runtime.py'
]

pretrained = 'ckpts/swin-base_3rdparty_in21k.pth'

# please install mmcls>=0.22.0
# import mmcls.models to trigger register_module in mmcls
custom_imports = dict(imports=['mmcls.models'], allow_failed_imports=False)
checkpoint_file = 'https://download.openmmlab.com/mmclassification/v0/convnext/downstream/convnext-tiny_3rdparty_32xb128-noema_in1k_20220301-795e9634.pth'  # noqa

model = dict(
    backbone=dict(
        _delete_=True,
        type='mmcls.SwinTransformer',
        arch='base',
        img_size=224,
        drop_path_rate=0.2,
        out_indices=(0, 1, 2, 3),
#         init_cfg=dict(type='Pretrained', checkpoint=checkpoint_file,prefix='backbone.')
    ),
    neck=dict(in_channels=[128, 256, 512, 1024])
)

optimizer = dict(
    _delete_=True,
    type='AdamW',
    lr=0.0001,
    betas=(0.9, 0.999),
    weight_decay=0.05,
    paramwise_cfg=dict(
        custom_keys={
            'absolute_pos_embed': dict(decay_mult=0.),
            'relative_position_bias_table': dict(decay_mult=0.),
            'norm': dict(decay_mult=0.)
        }))
lr_config = dict(warmup_iters=1000, step=[8, 11])
runner = dict(max_epochs=12)]

Your train log file if you meet the problem during training.
[Traceback (most recent call last):
File "tools/train.py", line 246, in
main()
File "tools/train.py", line 242, in main
meta=meta)
File "/dfs/data/open_mmlab/mmdet_panoptic/mmdet/apis/train.py", line 244, in train_detector
runner.run(data_loaders, cfg.workflow)
File "/dfs/data/miniconda/envs/panoptic/lib/python3.7/site-packages/mmcv/runner/epoch_based_runner.py", line 127, in run
epoch_runner(data_loaders[i], **kwargs)
File "/dfs/data/miniconda/envs/panoptic/lib/python3.7/site-packages/mmcv/runner/epoch_based_runner.py", line 50, in train
self.run_iter(data_batch, train_mode=True, **kwargs)
File "/dfs/data/miniconda/envs/panoptic/lib/python3.7/site-packages/mmcv/runner/epoch_based_runner.py", line 30, in run_iter
**kwargs)
File "/dfs/data/miniconda/envs/panoptic/lib/python3.7/site-packages/mmcv/parallel/data_parallel.py", line 75, in train_step
return self.module.train_step(*inputs[0], **kwargs[0])
File "/dfs/data/open_mmlab/mmdet_panoptic/mmdet/models/detectors/base.py", line 248, in train_step
losses = self(**data)
File "/dfs/data/miniconda/envs/panoptic/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
return forward_call(*input, **kwargs)
File "/dfs/data/miniconda/envs/panoptic/lib/python3.7/site-packages/mmcv/runner/fp16_utils.py", line 98, in new_func
return old_func(*args, **kwargs)
File "/dfs/data/open_mmlab/mmdet_panoptic/mmdet/models/detectors/base.py", line 172, in forward
return self.forward_train(img, img_metas, **kwargs)
File "/dfs/data/open_mmlab/mmdet_panoptic/mmdet/models/detectors/two_stage.py", line 127, in forward_train
x = self.extract_feat(img)
File "/dfs/data/open_mmlab/mmdet_panoptic/mmdet/models/detectors/two_stage.py", line 69, in extract_feat
x = self.neck(x)
File "/dfs/data/miniconda/envs/panoptic/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
return forward_call(*input, **kwargs)
File "/dfs/data/miniconda/envs/panoptic/lib/python3.7/site-packages/mmcv/runner/fp16_utils.py", line 98, in new_func
return old_func(*args, **kwargs)
File "/dfs/data/open_mmlab/mmdet_panoptic/mmdet/models/necks/fpn.py", line 159, in forward
for i, lateral_conv in enumerate(self.lateral_convs)
File "/dfs/data/open_mmlab/mmdet_panoptic/mmdet/models/necks/fpn.py", line 159, in
for i, lateral_conv in enumerate(self.lateral_convs)
File "/dfs/data/miniconda/envs/panoptic/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
return forward_call(*input, **kwargs)
File "/dfs/data/miniconda/envs/panoptic/lib/python3.7/site-packages/mmcv/cnn/bricks/conv_module.py", line 201, in forward
x = self.conv(x)
File "/dfs/data/miniconda/envs/panoptic/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
return forward_call(*input, **kwargs)
File "/dfs/data/miniconda/envs/panoptic/lib/python3.7/site-packages/torch/nn/modules/conv.py", line 443, in forward
return self._conv_forward(input, self.weight, self.bias)
File "/dfs/data/miniconda/envs/panoptic/lib/python3.7/site-packages/torch/nn/modules/conv.py", line 440, in _conv_forward
self.padding, self.dilation, self.groups)
RuntimeError: Given groups=1, weight of size [256, 128, 1, 1], expected input[2, 256, 100, 152] to have 128 channels, but got 256 channels instead]

Got it, swin in mmdet output before the downsample layer. I will implement it and create a PR today, please wait.

I'm sorry that it's a design mistake.
Please use the code in https://github.com/open-mmlab/mmclassification/pull/947 and try again.

I verified the code and it works well.
Thanks for your quick action.


"Select All" for first time leads to Uncaught TypeError: Cannot convert undefined or null to object

Hi, issue is reproducible on live demo
Repro steps:

Start fresh demo
Select aggregator (for example, Paty Size)
Click select All (I know that All already selected, but I am persistent)
Notice exception
TypeError: Cannot convert undefined or null to object

(anonymous function)
../node_modules/immutability-helper/index.js:141
  138 | $unset: function(value, nextObject, spec, originalObject) {
  139 |   invariantSpecArray(value, '$unset');
  140 |   value.forEach(function(key) {
> 141 |     if (Object.hasOwnProperty.call(nextObject, key)) {
  142 |       if (nextObject === originalObject) nextObject = copy(originalObject);
  143 |       delete nextObject[key];
  144 |     }

Looks like issue is pretty simple, but in our case it is annoying.
Possibly related to #67

I've had the same problem. Because I dropped {...this.state} when declared component:
<PivotTableUI
                        data={dataArray}
                        cols={["Col1"]}
                        rows={["Row1"]}
                        onChange={s => this.setState(s)}
                    />

Obviously this couldn't work because changed PivotTableUI state goes to nowhere.
So I had to change it to (notice the absence of data attribute):
<PivotTableUI
                        cols={["Col1"]}
                        rows={["Row1"]}
                        onChange={s => this.setState(s)}
                        {...this.state}
                    />


Error 500 when viewing a commit by its ID

Description
When trying to view commits by their ID, Gitea sometimes crashes and shows an "Error 500" page.
The error:
An error occurred:

template: repo/diff/section_unified:32:28: executing "repo/diff/section_unified" at <$section.GetComputedInlineDiffFor>: error calling GetComputedInlineDiffFor: runtime error: slice bounds out of range [2:1]

Gitea Version: 1.19.0

Gitea Version
1.19.0
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
https://gist.github.com/a20eac1d/aeb2f6830f439c1081a438be0d540451
Screenshots
https://i.imgur.com/BDd2x90.png
Git Version
2.38.4, Wire Protocol Version 2 Enabled
Operating System
Ubuntu 22.04 LTS
How are you running Gitea?
Gitea is running in a Docker container, created with the official tutorial at: https://docs.gitea.io/en-us/install-with-docker/
Database
SQLite

Is your patch a public one? Could you upload it to help the investigation?

@lunny Sorry, what do you mean by patch?

This bug appears to be a regression. When I downgrade my Gitea instance back to 1.18.0 (with the exact same settings) I cannot reproduce this issue. Upgrading to 1.19.0 again causes it to happen.

@lunny
I was able to re-produce this issue on the official Gitea demo site. It is much more difficult to make it happen on there and it is super easy for me to reproduce on my local instance, so I believe the available CPU power has something to do with it.
Check out this repository: https://try.gitea.io/a20eac1d/bug1190/commits/branch/main
Under the SHA1 header you can find a button that says "f8269d2a24". Pressing this will take you to that specific commit.  If you are lucky, at some point at least one of those tabs will crash with an "Error 500". This happens rarely on a powerful instance like the Gitea demo, but it happens extremely often on my local instance which has less CPU power available. This does not happen on 1.18.0 and it only started happening in 1.19.0

Thank you for your detailed report! It helps a lot.
I think it could be fixed by  Fix cases.Title crash for concurrency #23885
#21814 was introduced by 1.19, it makes the compare page crashes more than before.


Missing command line parameter

RobotLog2DB provides the possibility to define missing values in command line with
--variant VARIANT and --versions VERSIONS
Why not also PyTestLog2DB?
Having the need always to edit the configuration file is unfavorable.
Also for testing purposes it would be better to have both applications implemented in the same way.

Hi Ngoan,
both tools need to have same command line interface.
Please also take care of the documentation.
Thank you,
Thomas

merged and solved with #20


Gh 129 allow dots and dashes in repo name

addresses #129

released with 2.3.6. Give it a few to make it to TF


Switching links to blogs/youtube

I switched the links from the GitHub repos over to the Medium posts (for the ones that have it) - I was debating between doing it this way, or adding a second phrase after each one i.e. "* argo-events (blog here!)". I figured it would be clearer to just go with just a single link to the blog post. That way the viewer will get to the important part first, i.e. why did BLK invest in this work, then that page will link back to the specific repos.
One other thought - linking to blog posts is nice, as it lets us add smaller contributions to this list like what we're doing with EJML (which would have a blog post explaining what we did and what value it brought to BLK), or adding a link to a year-in-review kind of post from the OSPO summarizing the breadth of OSS contributions in 2023.
Let me know your thoughts here @michael-bowen-sc .

I like the style of having a repo link and a separate link for the blog post when there is one. I would also put the title of the blog post directly as that is what entices the reader to click it and provides some teaser as to what the content is. The repo name on its own most naturally should link to the repo, itself, imo.

LGTM

I think it needs a little more delineation that the blogpost titles aren't descriptions of the project. Suggest capturing like below, putting the title of the blog/video in quotes with an indication of what the content is. Otherwise, it looks like the project is being described by the title of the blogpost and it's not totally clear that it's a post about the project.
•	argo-events - check out our KubeCon talk, “Automatic Research Workflows at BlackRock” (Youtube)
•	kafka-security – “Utilizing OAuth for Kafka Security” (blog)
•	OCIBuilder – “An Easy Button for Building OCI Container Images” (blog)
•	LCSO – “Writing an Optimization Library in Rust” (blog)
•	HOLA – “A Lightweight Hyperparameter Optimization Software Package” (blog)
•	SeparableOptimization.jl
•	PiecewiseQuadratics.jl


SCP-2652 - Add more necessary Marlowe types to the frontend

This PR makes some additional Haskell types available in the Marlowe Run frontend code. Some are added to the PAB's PSGenerator (@j-mueller please check you're happy with including these there). And others are added manually to Marlowe.Semantics and to a new Marlowe.Client module (to correspond to the Marlowe.Client module in the Haskell code).
This is a prerequisite to SCP-2594 (handling errors from the Marlowe Plutus contract) - this PR stops short of dealing with these properly, and adds a FIXME comment at the relevant point.
Having to write out duplicate types manually isn't ideal, but as things stand I couldn't see a way around this, because the types in question depend on types in Marlowe.Semantics (which are all duplicated manually and have custom encoding/decoding instances). Ideally we will find a way at some point to do without the custom serialization and just generate these types automatically - or maybe even get Marlowe.Semantics running in the browser with ghcjs. But for now, I think this is the best we can do.

They can still be generated by using bridges that can be defined like this: https://github.com/input-output-hk/plutus/blob/master/fake-pab/app/PSGenerator.hs
You can see CreateContractRequest has Contract inside: https://github.com/input-output-hk/plutus/blob/master/fake-pab/src/API.hs and it is part of the API and the PureScript types are generated automatically
Is that what you were trying to do?

Aha, cool, I did not know that. Yes, that should work in this case. But then I we'd want a separate PSGenerator for Marlowe Run to generate the Marlowe.Client types in that way - which could be left for follow-up PR.

This introduces a front-end bug, but I'm 95% sure I know what the problem is. I don't have a fix yet, but fixing it will be easier at this point in another PR - so I'm going to go ahead and merge when it goes green.


Fix typos in signals and custom management commands docs.

Continue to PR 11483.

@felixxm

Custom management commands example imports Question as Pollso it should work

Yes, right. but in the closepoll.py file handle function, the example has:
    poll.opened = False
    poll.save()

We don't have open field in Question model.

@hramezani It is explained in this doc:

The poll.opened attribute does not exist in the :doc:tutorial</intro/tutorial02> and was added to polls.models.Question for this example.

Merged in a7038adbd02c916315b16939b835f021c2ee8880.


"All packages" workflow - also test installation with differing values of "delimited identifiers" setting

This has bitten me twice personally - on IPM itself (see #440) and on TestCoverage (a long time ago).
It would be good to know which packages do/don't work with delimited identifiers disabled (by default, they are enabled). See: https://docs.intersystems.com/iris20241/csp/docbook/DocBook.UI.Page.cls?KEY=RSQL_setoption#RSQL_setoption_supportdelimitedidentifiers

@isc-shuliu this isn't v0.9.0 critical but would be good to keep in mind.


[BUG] Prometheus rules are not deployed because the CRD is not installed

Describe the bug
There is a possibility that the kubevirt Prometheus rules are not deployed because the CRD is not installed
To Reproduce
Steps to reproduce the behavior:

install the master-head image of the v0.3.0 version e.g master-48c97ea7-head
check the Harvester cluster is up and running
check the monitoring of service monitor and Prometheus rules, at times the Prometheus rules or service monitor is not created of the kubevirt-operator

Expected behavior
both kubevirt's service monitor and Prometheus rules should be created, and this is because the race-condition of the virt-operator and Prometheus-CRD chart, as there is a possibility that the monitoring-crd chart is not installed before the virt-operator is running.
Workaround
delete the virt-operator pod in the harvester-system namespace and it will be created successfully
Environment:

Harvester ISO version:  master-48c97ea7-head
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630):

Upstream issue: https://github.com/kubevirt/kubevirt/issues/6551
This might be a feasible solution (and maybe the best at this time).

@guangbochen We experience the same on all our v1.0.1 clusters, which means no VM metrics.

As a temp workaround, you can trigger the Prometheus rules redeployment by restarting the kubevirt operator pod:
$ kubectl get pod | grep virt-operator | awk '{print $1}' | xargs kubectl delete po

Do we have news on this? This is pending since mid-April.

This is an upstream bug related to the https://github.com/kubevirt/kubevirt/issues/6551, also the issue only occurs when there is a race condition during the cluster-init bootstrap, not every installation or cluster will encounter this problem, but we will see if we can make some contribution to the upstream kubevirt, thanks for bearing with us.

The kube-operator saves  service monitor enable and promethues enable into local flag when it starts up by checking if related CRDs are in ApiServer. And later only use local saved flag.  Hence, both of those two have no chance to be enabled later. Current workaround to delete the POD and the replaced new POD will have related flag.
I will add it to harvester doc troubleshooting
https://docs.harvesterhci.io/v1.0/troubleshooting/monitoring/
And look for a patch to upstream kubevirt.
kubevirt/kubevirt/pkg/virt-operator/application.go

serviceMonitorEnabled, err := util.IsServiceMonitorEnabled(app.clientSet)
prometheusRuleEnabled, err := util.IsPrometheusRuleEnabled(app.clientSet)

Another possibility, let's check if it can be patched in the Harvester cluster-init bootstrap before virt-operator has a fix.

$ kubectl get pod | grep virt-operator | awk '{print $1}' | xargs kubectl delete po

Update the workaround: the namespace is needed.
check the virt-operator pod
$ kubectl get pods -n harvester-system | grep "virt-operator" | awk '{print $1}' | xargs kubectl get pods -n harvester-system

NAME                             READY   STATUS    RESTARTS   AGE
virt-operator-78b84587c9-zw2cd   1/1     Running   0          4m51s

delete the virt-operator pod
$ kubectl get pods -n harvester-system | grep "virt-operator" | awk '{print $1}' | xargs kubectl delete pod -n harvester-system

verify the newly replaced virt-operator pod log to confirm prometheusrule is defined
$ kubectl get pods -n harvester-system | grep "virt-operator" | awk '{print $1}' | xargs kubectl logs -n harvester-system | grep "prometheusrule is defined"

{"component":"virt-operator","level":"info","msg":"prometheusrule is defined","pos":"application.go:262","timestamp":"2022-07-12T15:58:40.080472Z"}

The best way to address this issue would require an upstream fix of https://github.com/kubevirt/kubevirt/issues/6551, postpone to the future milestone and please refer to the above workaround solution if u have encountered this issue, thanks.

@guangbochen Would a KB article referencing this workaround (https://github.com/harvester/harvester/issues/1289#issuecomment-1102347781) work best? Or do you want this workaround included under Troubleshooting > Monitoring?

@LucasSaintarbor adding a doc to the Troubleshooting > Monitoring should be good enough, btw since the upstream PR https://github.com/kubevirt/kubevirt/pull/8914 is merged, so we will backport the fix to the Harvester v1.2.0 release, thanks.

This is on the v1.2.0 test plan:

Check the Harvester cluster is up and running
Enable rancher-monitoring on the add-on page
Check if the monitoring service monitor and Prometheus rules have been created.

Verified this bug has been fixed.
Test Information

Environment: qemu/KVM single node
Harvester Version: v1.2-a5e74302-head
ui-source Option: Auto

Verify Steps

Install Harvester with any nodes
Login to dashboard, navigate to Advanced/Addons
Enable rancher-monitoring
Login to console, execute kubectl get pods -A | grep monitor, all pods should be updated to Running excepts helm-install-rancher-monitoring
In dashboard page Advanced/Addons, state of rancher-monitoring should be updated to DeploySuccessful
Access Prometheus dashboard in Prometheus tab of rancher-monitoring
Status of Runtime & Build Information should have Start time and Configuration reload: Successful
Access Grafana dashboard in Grafana tab of rancher-monitoring
Monitoring data should displayed accordingly


[AMORO-2968]: Eliminate AMS Full GC impactions deriving from local terminal clean spark context

Why are the changes needed?

Close #2968.
Brief change log

add local.spark.cleaner.referenceTracking: false in amoro terminal backend config

How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible
[ ] Add screenshots for manual tests if appropriate
[ ] Run test locally before making a pull request

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not documented)

I think this issue is done due to https://github.com/apache/amoro/pull/2973

I think this issue is done due to #2973

I seem to have missed it. Thank you for your feedback


Productionization Guidance

Hi,
We've been running Heroic in production for some time now and are beginning to ramp up I/O steadily. Looking forward, I'm wondering if there's any guidance that exists about how to most effectively use Heroic in a production environment. What knobs do you recommend turning on JVM to achieve the best read/write throughput? Do you recommend using certain nodes as read-only and others as write-only?
We're using Big Table for the data backend and Elasticsearch for metadata. We use the HTTP API for all read/write functionality. Most of our transactions are for a single data point going into a single series. I have considered implementing batching on our producers, but for now each data point is written in a single HTTP request. I'm thinking about doing the following setup. Can you please let me know if this sounds reasonable and if so, which parameters to tweak in order to achieve the desired outcomes?

3x API nodes (high CPU, low memory), write only. Needs to be able to handle a bunch of concurrent HTTP connections with smaller payloads.
3x API nodes (med CPU, high mem), read only. Needs to be able to handle fewer HTTP connections, with much higher IO per request.

What JVM or Heroic config options would each type of machine be best equipped with? How can each of these node types be optimized for their respective role?
Thanks!

I'm not sure if there exist any guidance on how to use most effectively Heroic but I can share my current setup.
The end goal would be to use heroic + cassandra for storing metrics without any time limitation. Yep, forever.
Current setup runs on 20 Vmware vms.
5 cassandra nodes => 4 cpus, 16 gb ram per node
6 elasticsearch nodes => 4 cpus, 16 gb ram per node, 3 nodes for metadata, 3 nodes for suggestions.
4 heroic nodes => 4 cpus, 4 gb ram per node
1 grafana vm => 2 cpus, 4 gb ram.
3 kafka servers => 4 cpus, 8 gb ram per node.
1 logstash vm => 8 cpus, 20 gb ram.
Currently consuming circa 1 GB of data per day and everything runs pretty stable.
The amount of data generated for metrics will increase when I'll migrate all the graphs from a cacti instance but I hope heroic will remain usable/stable when everything will be migrated.
If you have any question let me know.
All the best,
Valentin


[YUNIKORN-960] Expose cluster utilization info in new REST calls

What is this PR for?
Move cluster utilization info from /ws/v1/clusters/utilization to /ws/v1/partitions/utilization to standardize on new path on REST calls.
What type of PR is it?

[ ] - Bug Fix
[x] - Improvement
[ ] - Feature
[ ] - Documentation
[ ] - Hot Fix
[ ] - Refactoring

Todos
What is the Jira issue?

https://issues.apache.org/jira/browse/YUNIKORN-960

How should this be tested?
Existing tests and manually testing the REST call.
Screenshots (if appropriate)

Questions:

@wilfred-s I wanted to test locally, but the only way I know to bring up the Web UI is to run through K8s. But installing Yunikorn with the 0.12.1 helm chart doesn't work anymore due to the recent decoupling scheduler/admission-controller changes. The helm chart specifies a default override to run admission_util.sh on the scheduler, but this results in the following error now:
yunikorn-scheduler-5b558dff96-cqv45   1/2     PostStartHookError: command '/bin/sh /admission_util.sh create' exited with 2: /bin/sh: can't open '/admission_util.sh': No such file or directory

How do you recommend I proceed here? Is there a workaround I can use to test the REST calls?

Testing of the rest API does not require anything but a running scheduler. The rest API is exposed in the scheduler binary. Check the build and run guide. Check out all repos, use the overrides as explained and you can the create a standalone scheduler binary using make run-local. Otherwise build a scheduler docker image and just start that. You have the full rest API available to test.
REST changes can also be unit tested via the handler_test.go

Testing of the rest API does not require anything but a running scheduler. The rest API is exposed in the scheduler binary. Check the build and run guide. Check out all repos, use the overrides as explained and you can the create a standalone scheduler binary using make run-local. Otherwise build a scheduler docker image and just start that. You have the full rest API available to test.
REST changes can also be unit tested see for examples the handler_test.go

yunikorn-scheduler-5b558dff96-cqv45   1/2     PostStartHookError: command '/bin/sh /admission_util.sh create' exited with 2: /bin/sh: can't open '/admission_util.sh': No such file or directory

How do you recommend I proceed here? Is there a workaround I can use to test the REST calls?

The current master code cannot be installed with an already released helm chart. You would need to build a helm chart locally. See my previous comment on how to test.

@wilfred-s Thank you, tested locally and attached screenshots showing the REST path change.


Fixes #58 support allOf property of Swagger 2.0

Added support for the allOf property by deep merging the objects in the allOf array, including $refs and the allOf arrays in those $refs.  The deep merged object is then used as the swaggerModel passed into validateSpec.
Because of the deep merge, I added a dependency on the deepmerge library instead of writing a new implementation.
This passes all of the tests currently and I added some of my own, let me know if there is a better way to do this!

Thanks for your pull request @jjcross.  Your code was instrumental in implementing the allOf support but has not been used.  Your contribution is greatly appreciated and I welcome your continued participation in this project.


Cause colors

Here's the list of all campaign causes and their corresponding hex codes.

Cause
Hex Code

Animals
#1BC2DD

Bullying
#E75526

Disasters
#1D78FB

Discrimination
#E1000D

Education
#1AE3C6

Environment
#12D168

Health
#BA2CC7

Homelessness
#FBB71D

Sex
#FB1DA9

Violence
#F1921A

Poverty
#69D24B

Relationships
#A01DFB

@lkpttn Health is split into two distinct causes: Physical Health and Mental Health. Using the same color for both now, but we'll likely want to change this as they appear next to each other alphabetically.

@lkpttn Hex colors in the iOS app now load hex values from the Categories in the LDT News app.


mix-manifest.json path contains backslash

OS: Windows 10
PHP: 7.1.0
laravel-mix: 0.5.2
npm: 4.0.5
Node.js: 7.4.0
I am using the following webpack.mix.js:
let mix = require('laravel-mix').mix;

mix.js('resources/assets/js/app.js', 'public/js')
   .sass('resources/assets/sass/app.scss', 'public/css')
   .copy('node_modules/famfamfam-flags/dist/png/', 'public/img/flags');

mix-manifest.json:
{
  "/js/app.js": "/js/app.f93f48fd83d448491cc9.js",
  "/css\\app.css": "/css\\app.b960f2c012c15f311cf5.css"
}

app.blade.php snippet:
<link rel="stylesheet" href="{{ mix('css/app.css') }}">
<script src="{{ mix('js/app.js') }}"></script>

Resulting in
Unable to locate Mix file: /css/app.css. Please check your webpack.mix.js output paths and try again. (View: D:\...\app.blade.php) (View: D:\...\app.blade.php)

When I replace the \\ in the manifest with forward slashes, the mix helper will output the correct path.

Working fine for me (Windows 7 though), no backslashes in the manifest file. Can you try doing this with a minimal install of laravel-mix (so no laravel framework, just a node application) and see what the manifest file contains?

Fixed.


Custom Dialog Storyboard Error

Hello,
It is very likely this is user error, but I would like to submit it just in case it is not.  When I create a custom dialog and I go to close it, I am getting the error below:
"Unable to find the dialog closing storyboard. Did you forget to add BaseMetroDialog.xaml to your merged dictionaries?"
I've isolated it to it happening when I am adding the Bool to Vis converter in the dialog (though I assume it isn't specifically that, but just adding a resource dictionary).
<dialogs:CustomDialog.Resources>
  <ResourceDictionary>
    <BooleanToVisibilityConverter x:Key="BoolToVis" />
  </ResourceDictionary>
</dialogs:CustomDialog.Resources>

I feel like it is a case of RTFM (RTFError in this case?) but I can't figure the proper way to add it, or if something is actually wrong.
I've put together a sample that reproduces this.  Run the code, click the button to open the dialog, click the button to close the dialog, and you get the error.
https://github.com/saltypoison/MahAppsStoryboardErrorExample

MahApps.Metro v1.3.0
Windows OS Win 10 Enterprise
Visual Studio 2013 Update 5
.NET Framework 4.6.1

Hopefully I've provided all the info needed.
Thank you, and as an aside, love MahApps.Metro.  Great stuff!  ~Ryan

@saltypoison -> https://github.com/saltypoison/MahAppsStoryboardErrorExample/pull/1
The resources for the dialogs and custom dialogs are set in code behind, so if you reset this in xaml you will get this warning. To add additional resources put it to another resources tag inside a container.

Thanks for looking at it!
When I added it to app.xaml I still received an error that was resolved when switching it from DynamicResource to StaticResource
Would it be best practice to add converters like that to app.xaml, or is it a special case with the custom dialog?


mountPropagation: None equates to rprivate, not private

Evidences:

kubelet translates core/v1.MountPropagationNone to runtimeapi.MountPropagation_PROPAGATION_PRIVATE:

https://github.com/kubernetes/kubernetes/blob/v1.26.1/pkg/kubelet/kubelet_pods.go#L298

CRI runtimes translate runtimeapi.MountPropagation_PROPAGATION_PRIVATE to OCI mount option "rprivate":

https://github.com/containerd/containerd/blob/v1.6.16/pkg/cri/opts/spec_linux.go#L181
https://github.com/cri-o/cri-o/blob/v1.26.1/server/container_create_linux.go#L982

This commit also replaces the link to https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt with https://man7.org/linux/man-pages/man8/mount.8.html , as the former one does not mention rprivate .

/approve

/sig node
This should have tech review by someone confident to check the evidence.

/approve
FWIW

@kubernetes/sig-node-pr-reviews , can we have a tech review on this PR?

I think we might need to reword this a little more - While cri-o and containerd do use rprivate, Kubernetes implementations that still support dockershim, or use cri-dockerd and forks (or other vendor provided cri's)  may still be using private. (https://github.com/Mirantis/cri-dockerd/blob/9a87d6ae274ecf0f23776920964d6484bd679282/libdocker/helpers.go#L236)
This might need to become a "cri-o and containerd use rprivate, other cri's may use private" type change
/hold

I think we might need to reword this a little more - While cri-o and containerd do use rprivate, Kubernetes implementations that still support dockershim, or use cri-dockerd and forks (or other vendor provided cri's) may still be using private. (https://github.com/Mirantis/cri-dockerd/blob/9a87d6ae274ecf0f23776920964d6484bd679282/libdocker/helpers.go#L236)
This might need to become a "cri-o and containerd use rprivate, other cri's may use private" type change
/hold

No, cri-dockerd+dockerd never uses the private propagation. The comment line in cri-dockerd is wrong.
But you are right that the propagation isn't always rprivate, as dockerd conditionally changes the rprivate propagation to rslave when the mount source containers the daemon root (/var/lib/docker):

https://github.com/Mirantis/cri-dockerd/pull/159

---
apiVersion: v1
kind: Pod
metadata:
  name: propagation-test1
spec:
  containers:
    - name: sleep
      image: busybox
      command: ['sleep', 'infinity']
      volumeMounts:
        - mountPath: /mnt
          name: mnt
          mountPropagation: None
          # The mount propagation `None` is translated to:
          # - cri-dockerd v0.3.0, with Docker v20.10.23: rprivate
          # - containerd v1.6.15: rprivate
          # - CRI-O v1.24.1: rprivate
  volumes:
    - name: mnt
      hostPath:
        path: /mnt
---
apiVersion: v1
kind: Pod
metadata:
  name: propagation-test2
spec:
  containers:
    - name: sleep
      image: busybox
      command: ['sleep', 'infinity']
      volumeMounts:
        - mountPath: /mnt
          name: mnt
          mountPropagation: None
          # The mount propagation `None` is translated to:
          # - cri-dockerd v0.3.0, with Docker v20.10.23: rslave
          # - containerd v1.6.15: rprivate
          # - CRI-O v1.24.1: rprivate
          #
          # Docker changes the propagation from "rprivate" (default) to "rslave",
          # because the mount source (`/`) contains `/var/lib/docker`.
          # - https://github.com/moby/moby/blob/v20.10.23/daemon/volumes.go#L137-L143
          # - https://github.com/moby/moby/blob/v20.10.23/daemon/volumes_linux.go#L11-L36
          #
          # This behavior was introduced in Docker 18.03: https://github.com/moby/moby/pull/36055
          #
          # containerd and CRI-O do not automatically change the propagation:
          # - https://github.com/containerd/containerd/blob/v1.6.15/pkg/cri/opts/spec_linux.go#L181
          # - https://github.com/cri-o/cri-o/blob/v1.24.1/server/container_create_linux.go#L967
  volumes:
    - name: mnt
      hostPath:
        path: /

Updated the PR to clarify this limitation.

(leaving the unhold to someone from sig-docs)

/hold cancel


Enable nginx log format and destination config

Enable operators to provide custom access log formats and destinations.
This needs to be merged along with https://github.com/cloudfoundry/cf-release/pull/779.

Hi @sykesm,
This looks great! Merged.
Thanks,
@wendorf & @jberkhahn , CF CAPI team


Docker container doesn't have wappalyzer

It seems docker image doesn't have wappalyzer installed and thus it is not possible to identify apps
Command:
sudo docker run -v "${PWD}/output:/usr/lib/sudomy/output" -it --rm screetsec/sudomy:v1.1.2 --all -d somedomain --html -nT -sS -tO -aI

Output:
Error: require wappalyzer for identify apps but it's is not installed. Aborting.

Will be update on docker

https://github.com/Screetsec/Sudomy/pull/47

@Kiblyn11 you can try our new image with version tags 1.1.5

@myugan It seems now httprobe is missing
docker run -v "${PWD}/output:/usr/lib/sudomy/output" -it --rm screetsec/sudomy:v1.1.5 -d hackerone.com --html -nT -sS -tO -aI
error: Error: require httprobe but it's is not installed. Aborting.


Training MDRN-S 2x

Hello, this is my first time asking questions on GitHub, so I'm not sure if this question is appropriate here or not. I'm trying to reproduce MDRN-S from your article for 2x upscaling, but I don't know what performance to expect from the model, and I have limited GPU resources. Therefore, if you have already conducted experiments with a model of this size for 2x upscaling and can share your experience, it would be very helpful to receive such information.

Hello, MDRN-S as a variant of MDRN is only used to participate in the NTIRE2023 ESR competition, as the competition requires × 4, therefore we did not prepare ×2，×3.
---Original---
From: @.>
Date: Fri, Dec 8, 2023 01:45 AM
To: @.>;
Cc: @.***>;
Subject: [bbbolt/MDRN] Training MDRN-S 2x (Issue #4)
Hello, this is my first time asking questions on GitHub, so I'm not sure if this question is appropriate here or not. I'm trying to reproduce MDRN-S from your article for 2x upscaling, but I don't know what performance to expect from the model, and I have limited GPU resources. Therefore, if you have already conducted experiments with a model of this size for 2x upscaling and can share your experience, it would be very helpful to receive such information.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: @.***>


Intel NUC production image won't boot, but development does

I downloaded the latest production "balenaOS 2.50.1+rev1" image, and installed in on a new Intel NUC 10 NUC10I5FNH2.
I get the exact same error message, that sighmon reported in this forum post:
https://forums.balena.io/t/dell-precision-3640-not-getting-past-the-balena-logo/202120
I also uploaded a screenshot here: https://tinyimg.io/i/EaWl6rb.jpg
I downloaded the same image, but development version. In this case everything works. (except the ethernet port, but we are using USB-Ethernet dongle as a workaround).
Can you guys please give me some pointers, what could be wrong?
Thank you

Could you please retry with a recent version? The Intel NUC 10 should already be supported.

we have put another OS on our NUCs for now, but when we install new ones we will try it. btw. i have read in other comments that it works with 10th gen NUCs, so i happily close this issue.


i18n locale data not found for non "en-US" codes

Which @angular/* package(s) are the source of the bug?
localize
Is this a regression?
No
Description
Internationalization documentation followed: here
After set different locale ID from default value in "sourceLocale" or "locales" build section property inside angular.json, ng serve and ng build give the message "Locale data for {language_id}-{locale_extension} cannot be found."
Current angular.json file i18n section:

Current angular.json file build -> options section:

Current main.ts file after ng add @angular/localize:

Please provide a link to a minimal reproduction of the bug
No response
Please provide the exception or error you saw
▲ [WARNING] Locale data for 'it-IT' cannot be found. Using locale data for 'it'. [plugin angular-locale-data]

    angular:polyfills:angular:polyfills:1:7:
      1 │ import 'angular:locale/data:it-IT';

Please provide the environment you discovered this bug in (run ng version)
Angular CLI: 17.3.8
Node: 20.9.0
Package Manager: npm 10.1.0
OS: win32 x64

Angular: 17.3.11
... animations, common, compiler, compiler-cli, core, forms
... localize, platform-browser, platform-browser-dynamic, router

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1703.8
@angular-devkit/build-angular   17.3.8
@angular-devkit/core            17.3.8
@angular-devkit/schematics      17.3.8
@angular/cli                    17.3.8
@schematics/angular             17.3.8
rxjs                            7.8.1
typescript                      5.2.2
zone.js                         0.14.7

Anything else?
No response

This is because Angular locale data which is generated using CLDR contains it instead of it-IT. You can verify this by checking the available locales at @angular/common locales.


webpage is not responsive for different screen types

Web Page is not compatible with different screen types, guess we should use react-responsive to make it compatible on different screen sizes

This issue is for a: (mark with an x)
- [ X] bug report -> please search issues before submitting
- [ ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

Any log messages given by the failure

Expected/desired behavior

OS and Version?

Windows 7, 8 or 10. Linux (which distribution). macOS (Yosemite? El Capitan? Sierra?)

Versions

Mention any other details that might be useful

Thanks! We'll be in touch soon.

It is now responsive, as of the latest release:
https://github.com/Azure-Samples/azure-search-openai-demo/releases/tag/2024-07-10
Additional improvements are being discussed here:
https://github.com/Azure-Samples/azure-search-openai-demo/issues/1458


Tutorials on Portable Consent

This PR introduces three comprehensive tutorials that guide developers through the new Portable Consent feature in XMTP. The tutorials are designed to help integrate consent management into various XMTP use-cases like inboxes, subscriptions, and broadcasting.

How to Add Consent to an Existing XMTP Inbox: This tutorial walks you through adding user consent features to your existing XMTP app. It covers initializing XMTP client with consent, filtering conversations, and allow/deny actions.

Enabling Subscribers with XMTP: Learn how to create a Subscribe button that respects user consent. This tutorial covers state management, refresh consent lists, and various scenarios where consent affects subscription.

How to Broadcast with XMTP: This tutorial explains how to send broadcast messages while managing consent. Learn rate limiting, check recipient addresses for consent, and handling messages based on consent status.

Preview Links:

How to Add Consent to an Existing XMTP Inbox
Enabling Subscribers with XMTP
How to Broadcast with XMTP

Example Repos:

How to Add Consent to an Existing XMTP Inbox Repo
Enabling Subscribers with XMTP Repo
How to Broadcast with XMTP Repo

Closed in favor of the iframe approach.


Add "View FPS" in 3D->Perspective's popup.

Very simple addition to avoid flooding Output window.
https://i.imgur.com/JjJNjBs.png

Looks good! I like how the mspf (milliseconds per frame) is also mentioned.

Looks good, but please squash the two commits together: http://docs.godotengine.org/en/latest/community/contributing/pr_workflow.html#mastering-the-pr-workflow-the-rebase

@akien-mga Done

Something must have gone wrong as you now have 4 commits. Once you've rebased locally and have one commit on top of the master branch, you should force push to update your PR, not pull again.

@akien-mga Yes, my bad. Hopefully now it's fine.

LoL, I was confused, I though you wanted to add a something related to a First Person Shooter view... XD
Anyway, LGTM :)

(sorry for the close, I missclicked)


parallel_sort instead of std::sort

Description
Please include a summary of the change. For large or complex changes please include enough information to introduce your change and explain motivation for it.
Changes proposed in this pull request:

/intelci: run

/intelci: run

/intelci: run


feat: support idForwarding feature toggle

Fixes #73
This PR add support for the idForwarding feature toggle in Grafana. It restores the old behavior back that a identity of an user can be used to fetch dashboard data. This mitigrate any RBAC breakout issues.
If idForwarding, Grafana issue an JWT Token for the logged-in user and set it to X-Grafana-Id header. The JWT token can be re-used for request against Grafana. In such scenarios, the externalServiceAccounts is not needed.
The feature is availible since Grafana 10.3

This is awesome!! Cheers @jkroepke for looking it up. I was bit skeptical when I discovered that Grafana does not forward cookies any more as it can leave a big security hole. This is exactly what we need.
If you dont mind can you add a test case in e2e test matrix that uses idForwarding feature without externalServiceAccounts feature? Cheers!!

CI may failed here, because only siged-in users gets an id which can be forwarded.

CI may failed here, because only siged-in users gets an id which can be forwarded.

Yes, you are right. Playwright fixtures make API requests instead of starting a session. Sorry for the noise. Could you please revert the changes to workflow file so that CI passes.
I will try to rework the playwright fixtures to start a proper browser session so that Grafana will forward JWT token and add a test in a different PR.

Playwright fixtures make API requests instead of starting a session.

Normally, it should work that way, otherwise API request later have that issue, too.

Yes, that is what I meant in my previous comment. Currently playwright make API requests to Grafana and I will try to change that by adding a browser session fixture.
Could you please revert all the changes you made in tests? I will modify the playwright fixtures in a separate PR.

Something is not working as expected. I anonymous auth is disabled, the reporting fails locally and I would like to debug it

Did you login with admin credentials before generating the report? If not, it is meant to fail.

Something is not working as expected. I anonymous auth is disabled, the reporting fails locally and I would like to debug it

Did you login with admin credentials before generating the report? If not, it is meant to fail.

I disable anonymous auth and grafana forces me to sign-in. I'm using admin as login, but the plugin had issues to authenticate against dashboards. I have the feeling, that the token issued by idForwarded can't be used for authenticate against grafana again.
It seems like another feature flag is required to use the token as authentication.
https://github.com/grafana/grafana/blob/369cd6f81e59048d4f8518530ff6ab8b505ff280/pkg/services/authn/authnimpl/registration.go#L93-L95

It seems like I had mis-understand this feature.
The signed-id which is generated by Grafana can't be used for authentication against Grafana API.

The signed-id which is generated by Grafana can't be used for authentication against Grafana API.

Not exactly!! I digged into the Grafana sources and I figured out how we can use it.
So, when we enable this feature flag, Grafana is sending a signed JWT token to the plugin. In order to use this token for auth, we need to enable JWT auth module on Grafana server. It took a while for me to find the key used to sign the JWT token as we need to configure it for Grafana to verify the token. Finally, I found it after reading a lot of code. So with the following env vars:
- GF_AUTH_JWT_ENABLED=true
- GF_AUTH_JWT_JWK_SET_URL=http://localhost:3000/api/signing-keys/keys
- GF_AUTH_JWT_HEADER_NAME=X-Grafana-Id
- GF_AUTH_JWT_USERNAME_CLAIM=preferred_username
- GF_AUTH_JWT_EMAIL_CLAIM=email

the plugin works as intended making requests to Grafana with JWT token impersonated as user. I have tested it by removing Viewer role from a dashboard and a normal user attempting to make API request to generate report. Grafana correctly returned 401 when trying to fetch dashboard for this user.
The only little cosmetic issue I found is that the Origin in the users list in Grafana UI will be changed to JWT as shown below:

If we look into a specific user, we will have following:

Basically JWT auth is synchronising user attributes and roles. From IAM point of view, it is not a problem because Grafana is the auth provider and so this synchronization will be effectively a no-op. However, operators will loose the Origin of the users which can be undesirable especially when there are multiple auth providers for a given instance.
Using Proxy Auth:
Another "potential" idea is to use Auth Proxy. The plugin SDK will give us the current username who is making the API request. So by setting the username to the custom header set in the auth-proxy config, we should be able to make the API requests. If we use this strategy, we should strongly advocate the operators to use whitelist attribute in auth-proxy to allow requests only from localhost (as spoofing headers can be pretty easy from browser). Supporting this should be fairly straight-forward as well. Add a plugin config setting, like authProxyHeaderName and if it is not empty, set this header in the API requests with username as value.
We can support both these methods and let the operators decide which is the best for their deployment. What do you think?

Basically JWT auth is synchronising user attributes and roles.

I also tested it via JWT auth, I have no idea about any site-effects here.

I also tested it via JWT auth, I have no idea about any site-effects here.

There should not be side-effects as Grafana is auth provider here.

In our setup, we are already using the JWT auth to authenticate Azure identities and #83 would be sufficient in our case.
Auth proxy would a potential solution, however feel free to finish the implementation or documentation here.


Missing translations in captcha

On page https://gitreports.com/issue/ad-m/poradnia.siecobywatelska.pl I can see following:

By change I can enter token.

Thank you a lot.