[SPARK-37722][SQL] Escape dot character in partition names

What changes were proposed in this pull request?
This PR escapes . character in partition names as certain file systems (for example, ABFS) may not support it.
I simply added the . character to the list of special characters in ExternalCatalogUtils. The class already covers backward compatibility so it would read the existing unescaped values with dots correctly.
Why are the changes needed?
Fixes an issue when ABFS throws Caused by: java.lang.IllegalArgumentException: ABFS does not allow files or directories to end with a dot. exception if a partition name contains . symbol.
Does this PR introduce any user-facing change?
Yes.
Forward compatibility is fine, Spark will be able to read both escaped and unescaped . characters.
Although there are no changes in reading string values, there are the following backward incompatible changes:

Double values will not be inferred correctly, this would require backports to older Spark versions.
There is a user-facing change when displaying any double values or string values containing a dot. For example, the command SHOW PARTITIONS would return slightly different result as well as directory names:

Before:
SHOW PARTITIONS escapeDots;

+----------+
| partition|
+----------+
|value=%2E.|
|   value=.|
|  value=a.|
|value=b.c.|
+----------+

After:
SHOW PARTITIONS escapeDots;

+--------------+
|     partition|
+--------------+
|value=%252E%2E|
|     value=%2E|
|    value=a%2E|
|value=b%2Ec%2E|
+--------------+

How was this patch tested?

Added a unit test in InsertSuite to confirm that dots are now escaped + existing unit tests.

Test build #146502 has started for PR 34995 at commit 6c593f3.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50978/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50978/

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

Test build #146502 has finished for PR 34995 at commit 6c593f3.

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

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

I think there is  a bug in the partitioning cast where the value is inferred using the raw value which could contain escaped characters. We escape column name but not the value! For example, if you have double value 4.5, you end up with trying to infer double from 4%2E5. See https://github.com/apache/spark/blob/master/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/PartitioningUtils.scala#L307-L311 and https://github.com/apache/spark/blob/master/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/PartitioningUtils.scala#L491. Timestamps escape value separately in the "inferPartitionColumnValue" method.
IMHO, "inferPartitionColumnValue" method should already take the actual value that was unescaped, not the raw one.
@cloud-fan is this a known issue?

Test build #146539 has started for PR 34995 at commit 8a402b9.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/51014/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/51014/

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

Test build #146539 has finished for PR 34995 at commit 8a402b9.

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

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

Can one of the admins verify this patch?

I think there is a bug in the partitioning cast where the value is inferred using the raw value which could contain escaped characters.

Can you open a new PR to fix this bug? We can discuss the details there. I don't think it's a known issue.

+1 for @cloud-fan 's request. We need to a new JIRA for that, @sadikovi .

cc @sunchao

I have not tested it but it seems Hive would have the same bug writing partitions that end with . character to ABFS.

AFAIK this code was copied from Hive, which means Hive can read any escaped chars, but it does not escape dot when writing. I don't see a compatibility issue here. I think we can even open a ticket for Hive and ask it to escape dot as well, to work with ABFS.

I updated the PR description. Due to double values not applying unescapePathName method to the raw value, this could potentially break backward compatibility for double values as partition values + user-facing changes in SHOW PARTITIONS.
@cloud-fan @dongjoon-hyun let me know if this is a concern, I imagine it should be possible to backport the change to older Spark versions.

The changes to SHOW PARTITIONS looks incorrect. Escaping is an internal detail because we write partition values to directory names. This is not always true for modern data lake formats which store partition values and other metadata in log files. SHOW PARTITIONS should not be affected by this internal detail and always print the actual partition value.

Well, it actually is affected. When I run the following commands in my branch:
CREATE TABLE escapeDots (key int) USING parquet PARTITIONED BY (value string);
INSERT INTO TABLE escapeDots PARTITION(value = 'blah/') VALUES (1);
INSERT INTO TABLE escapeDots PARTITION(value = 'blah{}') VALUES (2);

I get the following output:
+--------------+
|     partition|
+--------------+
| value=blah%2F|
|value=blah%7B}|

We have ShowPartitionsSuiteBase, which doesn't test the escaping behavior. @sadikovi can you add a new test case there and fix SHOW PARTITIONS? Thanks!

I will open a separate PR to fix it soon-ish, thanks.

@sadikovi is this PR unblocked now?

Apologies @cloud-fan. I have not had time to follow up on the test failures and comments. I will get back to this shortly.


Skip parsing trailing closures after literals

Postfix parsing should skip trailing closure if the base expression is a literal (which is not callable).

@swift-ci please test

A few of the recovery tests need to be updated as well

Yeah, I didn't run them all. I'll check them out 👍

@swift-ci please test

@swift-ci Please test


[Bug] System.AggregateException: One or more errors occurred.

[REQUIRED] Please fill in the following fields:

Unity editor version: 2022.3.4f1
Firebase Unity SDK version: 11.3.0
Source you installed the SDK: .unitypackage
Problematic Firebase Component: Auth
Other Firebase Components in use: None
Additional SDKs you are using: None
Platform you are using the Unity editor on: Mac
Platform you are targeting: iOS
Scripting Runtime: IL2CPP
Pre-built SDK from the website or open-source from this repo: website

[REQUIRED] Please describe the issue here:
When trying to use auth.SignInAnonymouslyAsync(), an error was thrown after a very very long time, from the screenshot you can see it take 4 minutes to show the error:

SignInAnonymouslyAsync encountered an error: System.AggregateException: One or more errors occurred. (One or more errors occurred. (An internal error has occurred.)) ---> System.AggregateException: One or more errors occurred. (An internal error has occurred.) ---> Firebase.FirebaseException: An internal error has occurred.
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---
---> (Inner Exception #0) System.AggregateException: One or more errors occurred. (An internal error has occurred.) ---> Firebase.FirebaseException: An internal error has occurred.
   --- End of inner exception stack trace ---
---> (Inner Exception #0) Firebase.FirebaseException: An internal error has occurred.<---
<---

I'm sure I enabled the Anymonous auth method in the console, correctly set the bundle identifier, and has normal network.
Besides, the realtime component worked fine in the same project.
Steps to reproduce:
It has 100% issue repro rate, just set up in normal way.

Create a new Unity project, switch to iOS platform.
Add a new object in the scene, add mount this script on it.
Import Auth SDK and GoogleService-Info.plist file under assets folder.
Run the project.

Relevant Code:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Firebase;
using Firebase.Auth;

public class Test : MonoBehaviour
{
    public FirebaseApp app;
    private FirebaseAuth auth;

    void Start()
    {
        Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task =>
        {
            var dependencyStatus = task.Result;
            if (dependencyStatus == Firebase.DependencyStatus.Available)
            {
                app = Firebase.FirebaseApp.DefaultInstance;

                Debug.Log("Starting initilize");

                auth = Firebase.Auth.FirebaseAuth.DefaultInstance;

                auth.SignInAnonymouslyAsync().ContinueWith(task =>
                {
                    if (task.IsCanceled)
                    {
                        Debug.LogError("SignInAnonymouslyAsync was canceled.");
                        return;
                    }
                    if (task.IsFaulted)
                    {
                        Debug.LogError("SignInAnonymouslyAsync encountered an error: " + task.Exception);
                        return;
                    }

                    Firebase.Auth.AuthResult result = task.Result;
                    Debug.LogFormat("User signed in successfully: {0} ({1})",
                        result.User.DisplayName, result.User.UserId);
                });
            }
            else
            {
                UnityEngine.Debug.LogError(System.String.Format(
                "Could not resolve all Firebase dependencies: {0}", dependencyStatus));
                // Firebase Unity SDK is not safe to use here.
            }
        });
    }
}

It will throw the error mentioned before.
What puzzles me is that my application is still able to read from and write to the Firebase Realtime Database. This leads me to believe that the issue is not network-related.
Furthermore, I have attempted several troubleshooting methods:

I tried using the official Firebase Authentication example app. However, it yielded the same error, suggesting that the issue is not specific to my application.
I tested the application with different Unity .NET settings, including switching to the .NET Framework, but the issue persists.
As a last resort, I created a new Unity project and a new Firebase project, but unfortunately, the same issue emerged.

Given the consistency of the problem across different setups and projects, I suspect there might be a broader issue at play. I have searched extensively online but have been unable to find a solution. Any assistance in this matter would be greatly appreciated.

Hi @RiverTwilight,
Thanks for reaching out. I understand that you're facing an internal error from the Unity editor. I've tried the code you provided, and I was able to anonymously sign in without any issue.
You mentioned that the issue persisted in a new Firebase project. Is this under the same account as the previous one? If so, could you try if a Firebase project from a different account makes any difference? I'm suspecting that the cause of the internal error may be related to your account.

@paulinon
Thanks for your help. I switched to another google account and create a new firebase project. Then I replace the google-service.plist in my Unity project and reimport the Auth SDK. Unfortunately the problem persist:

It can read Realtime Databse smoothly.
It cannot finish auth, and throw the same error after a very long time. It often crashed my Unity editor.

It always took around 4 minutes to thorw the same error:

Additionaly, this error will throw even I stopped the game in Unity simulator.

@RiverTwilight
I notice that you show unity console logs, and mention that the Unity editor is crashing.
Can you confirm whether you are testing this in the Unity editor's play mode (implying you are running the code on a Mac), or are you building for iOS and then testing on an iOS device?
I ask this because Auth has different internal implementations for desktop vs mobile.
Additionally, to help us determine what is happening prior to the error, can you set the log level to debug and then share the logs leading up to the issue?
Firebase.FirebaseApp.LogLevel = Firebase.LogLevel.Debug;

@AlmostMatt
Thanks for your help. I finally tried use Cloudflare's WARP and solve this issue, and my Unity editor don't crash anymore.
Sounds rediculous but WARP actually helps. All issue came back once I turn off WARP.
Previously I'm using ClashX as my proxy tool, and the realtime database just works fine, which make me believe the network is fine.
Anyway, thank you all for focusing this issue.


Lolalytics is outdated

Current game patch is 7.21
Lolalytics version is 7.20
Other sources are up to date

That's for them to update.


⚠ GitLab Server has degraded performance

In 3bce335, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 6835 ms

Resolved: GitLab Server performance has improved in bdaa030.


Hotkeys do not work on equipped unusable items

Hotkeys do not work on equipped items which are unusable
Steps to reproduce the issue
(Won't happen that often)

Log on to character that has been transferred to standard/hardcore after the end of a league
or
Level up gem to higher stat requirement than the character has

And use hotkeys on red equipped items.
What's the expected result?

Hotkeys are functional

What's the actual result?

Hotkeys have no effect

Additional details / screenshot
Rarity: Rare
You cannot use this item. Its stats will be ignored
--------
Beast Cloak
Sadist Garb
--------
Quality: +20% (augmented)
Evasion Rating: 594 (augmented)
Energy Shield: 122 (augmented)
--------
Requirements:
Level: 68
Dex: 103 (unmet)
Int: 109
--------
Sockets: B-B-B-G-G
--------
Item Level: 76
--------
19% increased Evasion and Energy Shield
+63 to maximum Life
+61 to maximum Mana
+40% to Fire Resistance
+21% to Cold Resistance (crafted)

@ykz89 thanks for reporting, fixed in commit linked above


Better details about  environment variables

It took me some time to figure out that the vyper will look up only at uppercase environment variables.  Not sure if is part of the challenge, but that cost me Cloud SQL database running a few hours to debug the connection.
Description
Issues and Pull requests should only be made for changes to the application code, not Tech Challenge Assessments.
Please explain the changes you made here.
Fixes: https://github.com/servian/TechChallengeApp/issues/{issue number}
Checklist

[ ] Code compiles correctly
[ ] Created tests which fail without the change (if possible)
[ ] All tests passing
[ ] Extended the README / documentation, if necessary
[ ] Added issue number to Fixes line above

I think we can close this now?  The updated docs from built_in_db covers this already.

Linking to #109

I'm going to say resolved with #109


Megamenu Backend

Description
This PR includes the following proposed change(s):

BC-481
Includes Strapi model and data fixtures for initial load.

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Refactoring / Documentation
[ ] Version change

if your change is a breaking change, please add breaking change label to this PR
How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Does the change impact or break the Docker build?

[ ] Yes
[x] No

If Yes: Has Docker been updated accordingly?

[ ] Yes
[ ] No

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] New and existing unit tests pass locally with my changes

Please ignore the last two commits as they were from an automated squash tool that didn't seem to work. I will ensure to squash moving forward prior to PR but I would like to get this work into the main branch so I can integrate it.


add the problem file path to yaml errors

Is there any sort of versioning to do?

Is there any sort of versioning to do?

@seantur Nothing to do on your end. Versioning is handled with Git tags, and I plan to push a 0.1.0 in the next month or so.


Refresh workspace config in section 6

Refresh the workspace object in section 6 to pick up the container registry details.

@manashgoswami This PR follows up from our email conversation last week. Could you review it and, since I don't have write perms on this repo, merge if you approve?


Let me discover which repositories dependabot has paused

Is there an existing issue for this?

[X] I have searched the existing issues

Feature description
In the initial announcement, there were a number of ways dependabot notified that it had paused updates for a repository https://github.blog/2023-01-12-a-smarter-quieter-dependabot/ - modifying the PR text & adding a label. This appears to have since been removed from the service & from the documentation. I can see obvious security reasons to have removed this, however we have a number of small repositories that are still in use but have little PR traffic & therefore trigger the pausing mechanism from time to time. Is there some other way we could be notified of this setting? Something that we could access programmatically (i.e. a private API call) would be perfect. It does not seem to appear in the REST API https://docs.github.com/en/rest/dependabot/alerts?apiVersion=2022-11-28.

@madwort we just updated those docs; for paused repos, Dependabot will still display the banner in the UI in the following places:

Dependabot PRs
Dependabot settings page
Dependabot alerts page

You can check if a repo has Dependabot paused from this API: https://docs.github.com/en/rest/repos/repos?apiVersion=2022-11-28#check-if-automated-security-fixes-are-enabled-for-a-repository
Unfortunately we don't have any sort of notification or summary UI at this time to see lists of repos that are paused.


refine: optimizer trace

What Did

compatible with new trace format
highlight selected node
show cost tree

https://user-images.githubusercontent.com/1284531/199206298-08a37515-a37e-476f-8b6f-a4afce6d2e77.mp4

Codecov Report

Merging #1434 (5e39ffe) into master (8db889d) will increase coverage by 1.38%.
The diff coverage is n/a.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1434      +/-   ##
==========================================
+ Coverage   26.20%   27.58%   +1.38%
==========================================
  Files         202       93     -109
  Lines       15399     9972    -5427
  Branches      103        0     -103
==========================================
- Hits         4035     2751    -1284
+ Misses      11093     7041    -4052
+ Partials      271      180      -91

Flag
Coverage Δ

be_integration_test_nightly
?

be_unit_test
27.58% <ø> (-0.02%)
:arrow_down:

e2e_test
?

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

Continue to review full report at Codecov.

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

/cc @Yisaer


Initial draft of doxygen comments for ImathBox.h

Also, provide PREDEFINED tag in Doxyfile to expand IMATH_HOSTDEVICE
and IMATH_CONSTEXPR14.
Signed-off-by: Cary Phillips<EMAIL_ADDRESS>

It's hard to judge any of these changes without seeing how they will render on readthedocs.
One strategy is to set up readthedocs to build docs for a branch named "rtd" (or whatever you prefer), and then in addition to these PRs, you can push to the rtd  branch on the Imath repo, and then we can all preview the build docs.

@lgritz, good idea re: rtd branch, in the meantime, here's a readthedocs output from my fork of the repo: https://cary-ilm-imath.readthedocs.io/en/latest/box.html.
Two things I haven't been able to figure out:

In spite of setting PREDEFINED and ENABLE_PREPROCESSING in Doxyfile, IMATH_HOSTDEVICE and IMATH_CONSTEXPR aren't getting expanded and are still showing up in the output html.

This construct doesn't seem to work in box.rst:
.. doxygenclass:: Box<Vec2>

How do you reference a template specialization that itself involves a template? Seems this should work but it fails. Any clues?

* In spite of setting PREDEFINED and ENABLE_PREPROCESSING in Doxyfile, IMATH_HOSTDEVICE and IMATH_CONSTEXPR aren't getting expanded and are still showing up in the output html.

Try also adding
MACRO_EXPANSION        = YES

* This construct doesn't seem to work in box.rst:
  .. doxygenclass:: Box<Vec2>

Why would it?  The declaration in ImathBox.h is
template <class T> class Box

so it just wants
.. doxygenclass:: Box

Regarding the .. doxygenclass, that was a typo, I meant:
.. doxygenclass:: Box<Vec2<T>>

which is a class in ImathBox.h:
template <class T> class Box<Vec2<T>>

Sphinx gives an error:
Warning doxygenclass: Cannot find class “Box<Vec2>” in doxygen xml output for project “Imath” from directory: doxyxml/

Canceling this, I started over.


Create-Svelte - Fixing sucrase issue while running build script

I was trying to run the create-svelte CLI locally but I was not able to do it with success. I realized that we got the #989 merged and, with this, we were not able to run npm run build in order to build the dist folder (and then run the CLI to set a project).
import { transform } from 'sucrase';
         ^^^^^^^^^
SyntaxError: The requested module 'sucrase' is expected to be of type CommonJS, which does not support named exports. CommonJS modules can be imported by importing the default export.
For example:
import pkg from 'sucrase';
const { transform } = pkg;

Tests

[X] Run the tests with pnpm test and lint the project with pnpm lint

PR 1000!! Congrats! :smile:

thanks — can you fix the lint errors please? (note that i just pushed a commit to this branch — we use uppercase sparingly in these parts :)
FYI the reason this failed locally for you is probably that you're on an ancient version of Node. Since 12.20 or something like that, named imports from CommonJS modules are possible in the majority of cases

I don't think there's anything that actually needs fixing here. If there was flakiness in some part of the automated build/publish, we should just try to run that again.
Locally, on latest master, I'm able to run pnpm -r build without error, and I'm able to manually run bin.js to create a new starter app from the template, and when I run npm pack in create-svelte to double-check which files would be getting published to npm, it contains precisely the files I would expect.
What's being changed in this PR does seem to just be something that's already supported in later versions of Node.

I've opened #1001 to hopefully resolve the problem that was preventing the automatic publishes from happening.

Working version is published now. Thanks for pointing out the issue

thanks — can you fix the lint errors please? (note that i just pushed a commit to this branch — we use uppercase sparingly in these parts :)
FYI the reason this failed locally for you is probably that you're on an ancient version of Node. Since 12.20 or something like that, named imports from CommonJS modules are possible in the majority of cases

Just a note for anybody else that follows me: make sure you have at least the latest version of Node 14 installed.
I ran into this import { transform } from 'sucrase' problem with Node 14.6 and it went away when I upgrade to Node 14.7.
I was quite confused by this thread for a while because the workaround in rafaelcamaram:camara/create-svelte-sucrase-issue doesn't appear to have been merged into master.


Implement the Nystrom approximate algorithm for KRR

Hey here is my PR.
#TODO's in the code should be attended to or removed.
Added a normal example in the meantime.

There is a problem with this implementation: It doesn't save any computation ;)
I will comment in-line

In Seeger et al the alphas have dimension n but the methods appear equivalent. I'll write the maths in the documentation.
However I noticed a mistake in the code, I have yet to solve the final system of equations after doing the pseudo inverse. I will fix this and also attempt to refactor to not use the full kernel matrix for memory efficiency.

Happy to use equation 5 in Rudi et al too.

Pushed some changes but seems the rebase didn't work, will try again

Ok now it seems the rebase worked.
Kernel approximation is given by  K_{nm}K^+{mm}K{mn} and I solve the system with the woodbury formula (+ denotes pseudo-inverse)
Next up:

don't calculate full kernel matrix
checks for m_m < n
move sampling to separate function
doxygen compliant comments
more documentation
BSD

Seems the checks pass now as well :)

A couple 'TODO's still left in the code. I think I addressed most of your previous comments. Currently in the process of writing some unit tests.

Caveat: haven't tested that the class docs render correctly

Also the separate sampling method is WIP

Cool stuff! This is almost ready!
Nevermind the different sub-sampling techniques for now.
Next steps:
1.) Clean up things (resolve all TODOs etc, remove the example code from the patch for now)
2.) Write unit test (at least two cases: ensuring that for m=n the results are the same, and that for a smaller m, the results are at least similar)
3.) Squash all commits into a single one
Then we can merge. Then
4.) Meta example similar to the one I posted
5.) Data patch with integration test
6.) Cookbook page (if you want)

Cool!
I have been away in Sweden for a few days but I'm back in London tomorrow :)
In the meantime I removed the example code and did a unit test and the code seems to work. Initial results (alphas in particular) are very similar to the original KRR method. When I add a tolerance level they differ more (will investigate).
I addressed most of your comments above - will push soon :)

Just pushed  some changes and unit tests.
In the main unit test I use a simple linear example with noise and RBF kernel and compare nystrom with the original using 10 data points each (so results should be the same).
The first four alphas are as follows:
nystrom                            krr
-1379.9329053440129    -1380.0338757362974
2773.579320582402        2773.4428957324544, and
-3522.11899622485        -3522.2550535189807
2745.6471890153457       2745.4287106676047
First four predicted labels:
nystrom                             krr
0.88485147755566351     0.52979802894051109
0.81868948607437175     0.30734515172343291
2.7678414033546024       2.0999106183636242
4.7506759400829015       3.9516436781741486
I will continue investigasting.

Notice some checks didn't pass - maybe the DBL_EPSILON constant is not available

The subsample_indices is protected so I didn't test it, but when I printed the indices for the example above (i.e. sampling all indices) the result was as expected with indices 1,2, ...., 10. Will try to test some more.

The results become more similar as the tau parameter is increased (both absolute and relative difference) - which is not strange perhaps since it would make the system more well-conditioned. This might also hint at that the cause of the difference might be related to the accuracy of the respective solution methods although I'm mostly guessing here.

Actually I'm not sure about the relative difference.
I'm thinking if there is some other way to solve the nystrom system...

I'll continue investigating.

Hi,
sorry about the delay.
About the results.
I would solve the KRR system to get an alpha that has dimension m. This makes evaluating the regression function cheaper (kernel is computed against less point).
For that you need to either set the support vectors and translate the alpha (filling zeros where needed), or overload the apply method of the base class. I have the feeling that your error is coming from something related to this

Let me know if you keep on having problems, I can pull your feature branch and potentially help
Nice one, we are getting there, the code is soon ready :)

Hi sorry for the delay.
I was over at gatsby today for the journal club :)
I will look into the apply function and try calculating the alphas with dimension m.

No worries,
I was out for work today.
Let's get this merged, it is close :)

Sounds good :)

Implemented the Rudi et al method in 'solve_krr_system', which seems to give somewhat better results for m = n. Both methods are somewhat sensitive the tau and differences become smaller as tau increases.
Will now update the 'apply' function(s) for when m < n.

Initially had planned to set 'm_svs' to the smaller set of alphas but found no good place to do this, so set 'm_alpha' to size 'n' and filled with zeros. Almost done.

It doesnt really matter how it is done, important is that it is consistent :)
Cool this is really almost done now

Now it's done and seems to work. Tests pass with all columns and half of the columns (the latter a bit sensitive to the number of training samples in the test).
As mentioned some sensitivity to the tau parameter, if I increase tau from 0.01 to e.g. 0.001 tests fail, but only just.
So now possibly the only things that are left are to update the documentation to reflect more the rudi et al methodology, and possibly add another test that is a bit different.
Oh also haven't done the change you suggested on calculating the kernel matrix, need to look into this.
Will push tomorrow, had some merging issues.

Sorry that should be 'decrease' from 0.01 to 0.001

Great stuff! Looking forward to merge this. You can also add an entry to the NEWS giving yourself credit.

Me too :)
Just pushed the rudi method changes and other fixes. Will do the pending items above.

Travis complains about your get_name unit test:
https://travis-ci.org/shogun-toolbox/shogun/jobs/133729677#L3755
From my side, you can as well just remove it

Ok, this is 1 step from being merged

fix the remaining minor things, in particular the travis
squash all commits into a single one
we can merge :)

Next steps:

meta example (would be cool, ask for help if you wanna write one)
a little benchmark against full KRR
potentially an update of the ipython notebook where KRR is introduced
you choose :)

Great :)

One guess is that the travis error is the DBL_EPSILON constant - I included  which I hoped would help but seems it didn't.

Ok travis is fine. So as soon as we have the kernel matrix computation sorted and done efficiently, we can squash the commits and merge.

Had some issues with memcpy but pushed the other changes in the meanwhile.

so when all is done, the commits need to be squashed and we can merge.

Great will try to complete it today :)

Now memcpy works :) Will squash commits later today.

Squashed commits :)

Will start looking at meta example while awaiting comments :)

Will try running example from rudi or seeger first I think.

Think I'll try to reproduce the examples in rudi. Is there somewhere to put C++ examples or are all meta examples in python?

At the same time I'll do performance comparison

Ok, fine to merge from my side.
There are a few minor things (I will comment) that you can address in a separate patch.
E.g. the NEWS file should be updated with this.
You can try to add a meta example next, see all the other open PRs.
See the readme here
Then yes, performance checks, we usually to this in this framework and mostly compare against sklearn. There are lots of examples where @Saurabh7 did similar benchmark comparisons.

@vigsterkr feel free to merge once reviewed

cool stuff @cfjhallgren !
i only wonder about that virtual other than that we could merge this!

Thanks :) I added the virtual keyword now.

Cool will start with meta example.

ok, great! let's see what travis says and then i'll merge it!


always allow custom assembly labels

(as they are included in the linux binaries too)
Solves #577

Is this the right way to solve this?
Im thinking it might be better fixed by including it in clang. The user did explicitly ask for it?

but it Is in clang, the output is there, for some reason however asm.js decided it was unused. the formatting is slightly different between gcc and clang, but the #app #no_app for custom assembly is the same in both

this is what I am saying, if the user has asked for it, shouldn't we output it in clang rather than remove it from gcc?
I guess what I am asking is, isn't clang the broken output here?

I didn't remove it, it's actually retained in clang this way
https://github.com/mattgodbolt/compiler-explorer/pull/685/files#diff-848733f56cea17641e864b46a771ad4eR219 makes sure every label between inline-assembly tags is left alone

The last change affects the way the label is shown and not treated as anything else but a label inside inline assembly.
This could be a stand alone solution if you still would want .LX0 to filter out the label (because it's unused)

I would like some input to clean up this PR:

Do we want GCC to output the label correctly as an unused label?

or

Do we want inline assembly labels to always show despite the unused filter?

I'll delete this PR and remake as to only do 1


Maybe provide coredns provider of external-dns base on etcd mode

Situation

We all hope there is a way to use external-dns with coredns, but coredns doesn't provide restful or grpc api right now, and the owner of coredns is waiting for TETF finish their DNS grpc standard job.

Suggest

I think that maybe we can provide coredns provider of external-dns base on etcd mode. Like federation of kubernetes using coredns.

Did you see #253?

@hjacobs thks, I have search but not notice this.

@hjacobs thks, I have search but not notice this.


cannot fully disable kafka binder and cloud stack for testing

hi,
we are using
      <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-stream-kafka</artifactId>
        <version>${spring-cloud-stream-binder-kafka.version}</version> //3.1.3
      </dependency>

When running tests the AdminClient (and the larger cloud stack) attempts to init on every test.
We do have an application.yaml with a kafka binder configured which is the one tests are trying to connect to.
The AdminClient tries to connect to a broker that does not exist, consequently failing to create consumers, admin client, etc and adding a lot of time until finally timing out.
Given that not all tests are about testing broker behavior this causes a lot of delay, mostly locally when trying to unit test certain behavior unrelated to brokers.
I tried to exclude kafka and cloud autoconfigurations without success
these are the ones I took out starting with KafkaAutoConfiguration alone and then adding the rest 1 by 1.
  autoconfigure:
    exclude:
      - org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration
      - org.springframework.boot.actuate.autoconfigure.metrics.KafkaMetricsAutoConfiguration
      - org.springframework.cloud.stream.config.BindingsEndpointAutoConfiguration
      - org.springframework.cloud.stream.config.ChannelBindingAutoConfiguration
      - org.springframework.cloud.stream.config.ChannelsEndpointAutoConfiguration
      - org.springframework.cloud.stream.config.BindersHealthIndicatorAutoConfiguration

also tried excluding them via code:
@SpringBootApplication( exclude = {KafkaAutoConfiguration.class, .........})

even with all those out the KafkaAutoconfiguration keeps getting beaned in as well as KafkaBinderConfiguration
I also tried to exclude non autoconfigurations beans as KafkaBinderConfiguration,  KafkaBinderHealthIndicatorConfiguration, DefaultBinderFactory, without success.
I could not find a way to fully disable the cloud stack as some dependency keeps pulling Kafka and binder back in and KafkaAutoconfiguration keeps getting called

I finally "hacked" a solution by making the attempt to connect fail fast like this
  cloud:
    stream:
      kafka:
        binder:
          brokers:

which makes the AdminClient to fail immediately on an empty broker and we don't have to wait for the cloud stack to timeout.
2021-06-11 08:59:34,114 [main] INFO  org.springframework.cloud.stream.binder.DefaultBinderFactory - Creating binder: kafka
2021-06-11 08:59:34,329 [main] INFO  org.springframework.cloud.stream.binder.DefaultBinderFactory - Caching the binder: kafka
2021-06-11 08:59:34,330 [main] INFO  org.springframework.cloud.stream.binder.DefaultBinderFactory - Retrieving cached binder: kafka
2021-06-11 08:59:34,408 [main] INFO  org.apache.kafka.clients.admin.AdminClientConfig - AdminClientConfig values:
	bootstrap.servers = []

Seems there should be a way to completely exclude the cloud stack so it won't load any beans related to binders, channels, kafka, etc
the first one I can see gets called is
2021-06-11 09:07:36,266 [main] INFO  org.springframework.integration.config.DefaultConfiguringBeanFactoryPostProcessor - No bean named 'errorChannel' has been explicitly defined. Therefore, a default PublishSubscribeChannel will be created.

Can u advise if this is by design?
Is it possible to include a "CloudAutoconfiguration" bean that will be at the top of init of the rest of the stack so we can disable it completely maybe like this:?
  cloud:
      disabled: true

addendum:
adding this test dep
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-stream-test-support</artifactId>
            <scope>test</scope>
        </dependency>

eliminates the AdminClient connecting and solves the timeout delay problem when testing non broker related beans, thou still pulls cloud dependencies, add test channels, etc
that solution thou, required us to exclude the TestSupportBinderAutoConfiguration.class  bean to test broker with testContainers on our broker related tests...
Thanks a lot.

Have you tried setting the binding's autoStartup property to false?
https://docs.spring.io/spring-cloud-stream/docs/3.1.3/reference/html/spring-cloud-stream.html#_consumer_properties
https://docs.spring.io/spring-cloud-stream/docs/3.1.3/reference/html/spring-cloud-stream.html#_producer_properties

Another thing to try if you don't want to connect to Kafka in the tests, you can use the new test binder dependency from Spring Cloud Stream.
 <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-stream</artifactId>
            <type>test-jar</type>
            <classifier>test-binder</classifier>
            <scope>test</scope>
        </dependency>

and then use its input and output destination capabilities to test.

Hi Gary and Soby,
thanks for getting back so quickly!
@garyrussell: unfortunately those configs did not make a difference
@sobychacko: we do want to connect to kafka on tests but not to all of them all the time. Probably under 10% of our tests hit kafka behavior
the idea would be to be able to turn cloud functionality on or off with a property or simple exclusion, that way for the tests that don't have a kafka requirement, we won't worry about the connection attempts.
Being able to disable the binder would also be very useful when running locally as the broker does not add much functionality to our particular app in local environments
so being able to disable the binder on demand would be fantastic both for tests and for running locally.

I did something thou that can give u a better hint on how to reproduce this.
from the spring started select lombok webflux and cloud kafka and on the pom use
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-stream-binder-kafka-streams</artifactId>
        </dependency>

instead of the included cloud one
remove the test dependencies
then just add to the application.java the bean from the documentation
    @Bean
    public Consumer<KStream<Object, String>> process() {
        return input -> input.foreach((key, value) -> {
            System.out.println("Key: " + key + " Value: " + value);
        });
    }

run the app or the tests and try to:
prevent the adminclient to try to connect when running on local
be able to run 1 non kafka related test without the binder running and 1 kafka dependent test
with just that you can reproduce  the mentioned behavior
with version 2.5.1 of boot I could disable the connection attempts with the following exclusions
@SpringBootApplication(exclude = {KafkaAutoConfiguration.class, KafkaStreamsBinderSupportAutoConfiguration.class,
        KafkaStreamsTopologyEndpointAutoConfiguration.class, KafkaStreamsFunctionAutoConfiguration.class})

hope this helps
the idea basically is to be able to disable the behavior with props so we can easily switch profiles when running locally or during tests
thanks again so much for your time !!!!

@JohnnyXavier Thanks for the explanation above. Any chance you can set this up in a small project and share it as a GH repository? Please include all the dependencies you need (and the exclusions) to make it work. That way, it is easier for us to reproduce this on our end and see it in action. Once we identify the root cause, then it would be easier to fix. Thank you!

hey @sobychacko sure!
https://github.com/JohnnyXavier/springboot_1089_kafka_binder.git
it is a very simple example.
without locally running kafka

try running run the app without specifying a profile.

You should see the adminClient attempting to reconnect at intervals indefinitely.

try running the app with workaround as active profile.

You should see the adminClient fail and never attempt to reconnect.

Thanks a lot again!

@JohnnyXavier when running this app, you certainly will see that exception, as the app tries to connect to a Kafka broker. I thought your original issue was with running tests in which you don't need to connect to the Kafka broker. Where is the disconnect?

Hey @sobychacko, thanks for the above!
Testing is solved yes! thanks very much for your input.
On my second comment the follow up note was:

Being able to disable the binder would also be very useful when running locally as the broker does not add much functionality to our particular app in local environments
so being able to disable the binder on demand would be fantastic both for tests and for running locally.

Is there a way we can avoid the cloud/binder/kafka stack from running altogether somehow? If I can switch profiles, and on a application-local profile we could prevent the kafka stack to even running would be fantastic.
thanks a lot!


Strict Error Checking Default

Brief description
Provide default of strict error checking for instances created prior to PR.
Testing notes:

Create a render instance.
Delete the strict error checking attribute to simulate having an instance from before the PR was made.
Publish.

Actually True should be default. (That is DL default and that was triggered before the change.)

Done


Opportunities: Resume

When there is no resume uploaded but all other fields are filled out the button is not disabled. All other required fields keep the button disabled until they are filled in correctly, the upload resume should match that pattern.

This will be fixed in PR 156


Remove group_id and block_id from Answers

What is the context of this PR?
All answers with the exception of those of type RepeatingAnswer store the group_id and block_id against them.  This is inconsistent and we don't actually need these attributes on the answers anymore.
This PR removes storage of group and block ID attrs on an answer, and updates all the tests that did the same.
How to review

Run the tests.
Run a survey and  perform a dump submission e.g. using a url like: http://localhost:5000/dump/submission.
Examine the results and verify the answers no longer have group and block id attrs, e.g. look something like this:

{
  "answers": [
    {
      "answer_id": "address-check-answer",
      "answer_instance": 0,
      "group_instance": 0,
      "value": "Yes"
    },

And not like this:
{
  "answers": [
    {
      "answer_id": "address-check-answer",
      "answer_instance": 0,
      "block_id": "address-check-block",
      "group_id": "about-household-group",
      "group_instance": 0,
      "value": "Yes"
    },

@davecharles can be rebased and squashed


Toplevel CRS wrapper class

Currently, I created the CRS class as a sort of wrapper around either GeogCRS or ProjCRS (which have different attributes/layouts), so that the user can always know what to expect. These are then accessed via the "toplevel" attribute. But the CRS class has nothing specifically of value and in a way feels like a wasteful layer to always have to go through the "toplevel" attribute.

In deciding the API for the first stable version, is this wrapper a good thing, or would it be better not having the generic CRS class and instead directly receiving a GeogCRS or ProjCRS when parsing a crs format? This would mean they also had to use these directly when creating a crs from scratch.
How should users check if their crs is geographic or projected, just through instance checking, or also provide a "type" attribute to indicate the type?

In my opinion (and I can be very opinionated if you need me to be) you should use parent/subclassing. You have one base class CRS and any "specific" versions of that are subclasses. Any functionality that is shared between the types of CRS objects can be defined in the CRS class. Anything that has to be customized for a specific CRS type can be overridden in the subclass by redefining the method or by having the base class use a known attribute/property that can be specified by the subclass. For example:
class CRS(object):
    pass

class GeogCS(CRS):
    ...

class ProjCS(CRS):
    ...

When I started writing this comment I thought I could have an example with the existing functionality but I see what you're saying now about the base class not really doing much. I'm also not used to splitting CRS objects up by Proj and Geog, but I also typically deal with PROJ.4 strings instead of WKT where the difference is more clear, so I'm not sure what needs to be separated. I think in the long run it may be best to have the base CRS class even though most people might say that it is premature subclassing. I just want to be able to do isinstance(my_crs, CRS) to know if that's what I'm dealing with. However, now that I think about it, how often would I actually need to do that. Probably not very often.
For your second question, how often do you think people need to know the difference rather than just using whatever is returned by to_ogc_wkt or whatever? I don't think a type attribute is needed.
One feature that was brought up on that xarray/geoxarray issue was wanting to be able to take a CRS-like object and use the __getitem__ method to use bracket access to projection parameters like my_crs['lon_0'] or something like that. Not sure if proj.4 parameter naming is the best thing, but yeah it was brought up and I think it could be a good idea. Not sure how to accomplish this with the current interfaces though given how everything is split up in to its own class.
I also feel like the way I would have done this is put the crs-specific parsing logic in to a crs module along side the CRS classes that get returned. If the interface is clean enough you could even do a class method from_proj4 on the CRS class that parses a proj4 str/dict and returns the proper CRS class. That is how I would do it, doesn't mean the way it is done now is wrong or bad. Just being opinionated 😉 and laying out the options I see available.
Thanks for working so hard to make this package more usable for others.

Another thought on functionality that could be added to these classes (if it doesn't exist somewhere else) would be a "sanitize" or "normalize" function so that I could take any user's PROJ.4 string and get a "consistent" PROJ.4 string back with defaults fill in.
I'm completely willing to help add any of the features or changes I bring up, but I need to slowly get caught up on how you use your own package, where you see it going, and what you think about things that I bring up.

No worries at all about the length or strong opinions, I actually prefer that. It's great to see someone else with an interest in the project, helps keep it moving along, and find solutions for questions I'm unsure about.
The idea of which toplevel class to use is the last API change I want to figure out before making the first stable 1.0 release. Based on your answer so far, it seems the best for now would be to make GeogCRS and ProjCRS subclasses of CRS. That way we avoid the unnecessary .toplevel attribute, can still do isinstance(my_crs, CRS), but if creating from scratch would have to call on the correct one, either GeogCRS or ProjCRS. Although I don't necessarily like the naming of ProjCRS and GeogCRS (they're based on the WKT 1.0 API), and unless you have any other opinions on this, I think I'll just go ahead with that for now.
Finally, I'm happy you say you would help add features etc, and I'd be happy to make you a maintainer too if that would make it easier for you. In terms of helping you be on the same page, what type of information would be useful for you to know in terms of how I see the project, how I have organized and use it, philosophy, etc? I'd be happy to do that to help you understand the framework within which you can contribute, and then maybe add that to the docs in a section for contributors.
About some of the other topics, I will raise and respond to these in separate issues.

It seems like it may be problematic subclassing CRS in ProjCRS and GeogCRS after all, so now I remember why I did it this way.
The problem is that GeogCS can either be the toplevel CRS (in which case it adds "+proj=longlat" and "+nodef"), or it can be a sub-component of ProjCS (in which case these should not be added or would be duplicate). Since the proj4 representation is different depending on whether GeogCS is toplevel or not, we need a way to check for this, and is why I instead made the separate CRS class that we know is always toplevel.
One way to check if it's toplevel would be to check if it has a parent, but currently we have no system of tracking parents, and if we set this as an attribute it could break easily if users try to tweak or recombine instances. I think the only way to correctly check for toplevel is to continue to force the users to wrap their GeogCS or ProjCS inside the CRS class explicitly as a way to indicate that is their final CRS/toplevel. One thing we could do however, is redirect CRS attribute access to its 'toplevel' attribute, so that at least we avoid the unnessary attribute call.
Thoughts on this @djhoese, maybe I'm overthinking things, or maybe there is some other solution to this I haven't thought of?

Decided on dealing directly with either GeogCS or ProjCS and was able to fix the issues I raised above. The user then simply checks for which type via the cs_type attribute.
That means entirely dropping the unnecessary CRS class wrapper and no longer having to go through the toplevel attribute.

Sounds good. Thank you.


Boot JDKs should be updated

Now that https://github.com/eclipse/omr/pull/2796 has been merged into OMR, we can gain some extra build performance by updating boot JDKs to include that fix. It's most significant on Linux 390, but it wouldn't hurt to update all build platforms.

This might actually be one for the build project...  @sxa555 ?


Add transition countdown component

What

Add transition countdown component based on the existing Rails logic in collections (credits to @hannako for the great work on the countdown mechanism) and a simplified and improved frontend approach
Show the transition countdown component in the contextual sidebar

Why
The component is meant to be used on:

the /transition landing page (replacing the current countdown in collections)
in the contextual sidebar across multiple frontend applications (frontend, government-frontend and smart-answers) when a page is not tagged to a 'brexit' taxon and doesn't show a step-by-step navigation.

Trello card
Visual Changes
Preview countdown component
Preview countdown call to action in contextual sidebar

collectionsgovernment-frontend

The component was tested with supported browsers and assistive technologies.

Cross-browser testing captures
Chrome 86

Chrome 86 (focus state)

Edge 86

Firefox 82

Firefox 82 (custom colours)

IE 8

IE 9

IE 10

IE11

Mobile
Safari 12 on OSX

Chrome on Android

Samsung Internet on Android

Chrome on iOS12

Safari on iOS12

On Jan 1st, the countdown_helper.rb's show? method will return false and we will automatically hide the countdown. But with the current code that means we will show the following. Should we have an alternative default string to show instead?

On Jan 1st, the countdown_helper.rb's show? method will return false and we will automatically hide the countdown. But with the current code that means we will show the following. Should we have an alternative default string to show instead? Or is that fine? Contenty question!

Good question @hannako. It was a deliberate choice – now, whether or not we hide the whole thing instead when we reach the date is up to debate. My initial thought is that we can come back and change the code for the 'hide logic' to be applied to the whole component when a decision is made.

Yes good plan. I'm just a bit nervous that we don't know who will be on when decisions are made! Maybe we should make a card for it in case things shift around before then and it gets forgotten. Other than that thought, it all looks great to me. 👍 🥇

As per the latest decision, I added a new commit to remove the taxon-based logic and show the component more widely, except for when we have a page tagged to 'Brexit' or has a step-by-step. At this point is more effective to see the overall changes rather than going commit-by-commit.

Cleaned up commit history and rebased to master. Thanks for the review @sihugh! Will get it merged and released

Annoying jenkins failure 😩


Disable test/SILOptimizer/OSLogConstantEvaluableTest.swift.

This test fails because -enable-ownership-stripping-after-serialization
was disabled for the standard library on tensorflow branch due to SR-11336.
TF-799 tracks re-enabling the test.

Locally confirmed that test/SILOptimizer/OSLogConstantEvaluableTest.swift now passes on macOS:
PASS: Swift(macosx-x86_64) :: SILOptimizer/OSLogConstantEvaluableTest.swift (1 of 1)
Testing Time: 1.26s
  Expected Passes    : 1


Illegal magic() from explicit erasure with Ghost.erased can break extraction

module Test
type t (a:Type0) = nat
let rec f (x:t (Ghost.erased nat)) : Tot nat =
  if x = 0 then x else 1+f(x-1)

extracts to
type 'a t = Prims.nat
let rec f : Prims.nat FStar_Ghost.erased t -> Prims.nat =
  Obj.magic (fun x ->
    if x = Prims.parse_int "0" then x
    else (Prims.parse_int "1") + (f (x - Prims.parse_int "1")))

This not valid in OCaml because magic cannot appear as the LHS of a let rec.

erased t is now extracted to unit, and extraction for the example above is:
open Prims
type 'Aa t = Prims.nat
let rec (f : unit t -> Prims.nat) =
  fun x  ->
    if x = (Prims.parse_int "0")
    then x
    else (Prims.parse_int "1") + (f (x - (Prims.parse_int "1")))

Which seems fine (without an Obj.magic).
Closing the issue. Please reopen if you still see the issue.


Wrong ER graph on discussion page

Looking at https://en.wikipedia.org/wiki/Entity–relationship_model#Crow's_foot_notation for how to interpret the graph shown on https://ing-bank.github.io/doing-cli/discussion/oneproject_setup/ it would mean that e.g. a TEAM has exactly one ITERATION-PATHS.

It's a entity relationship diagram from mermaid (https://mermaid.js.org/syntax/entityRelationshipDiagram.html#relationship-syntax)
https://github.com/ing-bank/doing-cli/blob/7e696b7af826a17f37e7bdf0c2e856aaf41f97c3/docs/discussion/oneproject_setup.md?plain=1#L11
Should mean a team has 1 or more iteration paths, but an iteration path has only exactly 1 team.
Not sure if that's correct though.. long time since I worked on this plugin or with Azure Devops :)


deps: tools: up esbuild to v0.14.40

Details are here https://github.com/evanw/esbuild/releases/tag/v0.14.40.

https://github.com/kamilsk/dotfiles/commit/b3432b468d12d10d0761de5054b645f2f0e39305


Is exposing customized endpoints for organizations within scope of this project?

Hey, I'm an ex-Bunny user, and I've been wanting to set up something similar to Bunny for both myself and for the team I work with now. Wondering if adding the ability to expose a custom endpoint for an organization is within scope for this project, or if I should look into self-hosting a customized fork instead.

Hey, thanks for reaching out. Really cool that you're considering using this :D
Yeah, I think for now it'll be easiest to self host a fork so that you can add and update your handlers without going through me. It should be really easy to deploy this, but lmk if you run into any issues.
However, I've also started using Neh at work and I think it'll be a lot more useful if we had more custom handlers for the company that weren't also exposed to the general public.
To support that use case, I have been thinking of building in some sort of federation of multiple self-hosted Neh instances. For example, the "iron" handler I've built for my company could just 302 redirect to a company-hosted Neh instance, which could be built and secured as the company sees fit without adding too much complexity to Neh itself.
Having said that, this is a longer term idea and there's definitely no timeline for building this


'Failed: Invalid locator' on attempt to chain calls with $('html').$('select')

Bug report

Node Version: 7.8
Protractor Version: 5.1.1
Angular Version: 1.x
Browser(s): chrome
Operating System and Version mac os
Your protractor configuration file (TS)

import { Config, ExpectedConditions, $ } from 'protractor'

let conf: Config = {
  directConnect: true,
  baseUrl: 'http://www.protractortest.org/testapp/ng1/#/form',
  specs: ['./experiment.js'],
}

exports.config = conf;

A relevant example test

import { BaseFragment } from 'protractor-element-extend'
class Select extends BaseFragment {
    constructor(element) {
        super(element);
    }

    selectOption(text) {
        this.element(by.cssContainingText('option', text)).click();
    }

    getSelectedText() {
    	// NOTE: Apparently you can't use the shorthand element locators ($ and $$) with this package.
        return this.$('select').getAttribute('value')
            .then((index) => {
                return this.element(by.css(`option[value="${index}"]`)).getText();
            });
    }
}

describe('Verifying #10 bug with same objects', () => {
    it('with fragment', () => {
        browser.get('')
        let select_frag = new Select($('body'))
        let text = select_frag.getSelectedText()
        text.then(rtext => console.log('$$$$ got text', rtext))
    })
})

Output from running the test

Message:
    Failed: Invalid locator
  Stack:
    TypeError: Invalid locator
        at Object.check [as checkedLocator] (/Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/by.js:267:9)
        at WebElement.findElements (/Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:1983:18)
        at /Users/cody/Projects/{...}/node_modules/protractor/built/element.js:184:46
        at Array.map (native)
        at /Users/cody/Projects/{...}/node_modules/protractor/built/element.js:181:65
        at ManagedPromise.invokeCallback_ (/Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:1366:14)
        at TaskQueue.execute_ (/Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2970:14)
        at TaskQueue.executeNext_ (/Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2953:27)
        at asyncRun (/Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2813:27)
        at /Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:676:7
        at process._tickCallback (internal/process/next_tick.js:109:7)
    Error
        at ElementArrayFinder.applyAction_ (/Users/cody/Projects/{...}/node_modules/protractor/built/element.js:461:27)
        at ElementArrayFinder._this.(anonymous function) [as getAttribute] (/Users/cody/Projects/{...}/node_modules/protractor/built/element.js:103:30)
        at ElementFinder.(anonymous function) [as getAttribute] (/Users/cody/Projects/{...}/node_modules/protractor/built/element.js:829:22)
        at Select.getSelectedText (/Users/cody/Projects/{...}/e2e_tests/helper.js:50:33)
        at Object.it (/Users/cody/Projects/{...}/e2e_tests/test.spec.js:53:63)
        at /Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/jasminewd2/index.js:110:25
        at new ManagedPromise (/Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:1067:7)
        at ControlFlow.promise (/Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2396:12)
        at schedulerExecute (/Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/jasminewd2/index.js:95:18)
        at TaskQueue.execute_ (/Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2970:14)
        at TaskQueue.executeNext_ (/Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2953:27)
        at asyncRun (/Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2813:27)
        at /Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:676:7
        at process._tickCallback (internal/process/next_tick.js:109:7)

    From: Task: Run it("Customer should be able to specify the campaign ends at a certain date/time") in control flow
        at Object.<anonymous> (/Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/jasminewd2/index.js:94:19)
        at /Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/jasminewd2/index.js:64:48
        at ControlFlow.emit (/Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/events.js:62:21)
        at ControlFlow.shutdown_ (/Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2565:10)
        at shutdownTask_.MicroTask (/Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2490:53)
        at MicroTask.asyncRun (/Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2619:9)
        at /Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:676:7
        at process._tickCallback (internal/process/next_tick.js:109:7)

    From asynchronous test:
    Error
        at Suite.describe (/Users/cody/Projects/{...}/e2e_tests/test.spec.js:43:9)
        at Suite.describe (/Users/cody/Projects/{...}/e2e_tests/test.spec.js:36:5)
        at Object.<anonymous> (/Users/cody/Projects/{...}/e2e_tests/test.spec.js:10:1)
        at Module._compile (module.js:571:32)
        at Object.Module._extensions..js (module.js:580:10)
        at Module.load (module.js:488:32)
        at tryModuleLoad (module.js:447:12)
        at Function.Module._load (module.js:439:3)
        at Module.require (module.js:498:17)
        at require (internal/module.js:20:19)
        at /Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/jasmine/lib/jasmine.js:87:5
        at Array.forEach (native)
        at Jasmine.loadSpecs (/Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/jasmine/lib/jasmine.js:86:18)
        at Jasmine.execute (/Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/jasmine/lib/jasmine.js:181:8)
        at /Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/built/frameworks/jasmine.js:132:15
        at Function.promise (/Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/q/q.js:682:9)
        at /Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/built/frameworks/jasmine.js:104:14
        at _fulfilled (/Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/q/q.js:834:54)
        at self.promiseDispatch.done (/Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/q/q.js:863:30)
        at Promise.promise.promiseDispatch (/Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/q/q.js:796:13)
        at /Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/q/q.js:556:49
        at runSingle (/Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/q/q.js:137:13)
        at flush (/Users/cody/.nvm/versions/node/v7.7.4/lib/node_modules/protractor/node_modules/q/q.js:125:13)
        at _combinedTickCallback (internal/process/next_tick.js:73:7)
        at process._tickCallback (internal/process/next_tick.js:104:9)

Sup guys! I got a bug report to my lib (https://github.com/Xotabu4/protractor-element-extend/issues/10)
I am able to see this error but not 100% of time. Basically error appears only when trying to chain element search with this.$('select') . My lib does not do any black magic - it just recreates ElementFinder with data from parameter -
class BaseFragment extends protractor_1.ElementFinder {
    /**
     * Extend this class, to describe single custom fragment on your page
     *
     * @param {ElementFinder} elementFinder ElementFinder that you want to extend
     */
    constructor(elementFinder) {
        // Basically we are recreating ElementFinder again with same parameters
        super(elementFinder.browser_, elementFinder.elementArrayFinder_);
    }
}

This is pretty strange, and i want to ask you if you have any ideas why this might happen?
I will continue digging into code, but i would appreciate any feedback!

So the error you are getting is because the check method in selenium-webdriver by.js is hitting the Invalid Locator error. https://github.com/SeleniumHQ/selenium/blob/master/javascript/node/selenium-webdriver/lib/by.js#L275
Navigating through the Protractor code:
$ method = https://github.com/angular/protractor/blob/master/lib/element.ts#L1190
$ method is built and tied to the browser. https://github.com/angular/protractor/blob/master/lib/browser.ts#L361
If I were debugging this, I would add logging statements to by.js to figure out what is the instance of the locator parameter and possibly console log the locator.

I'm going to go ahead and close this. If it turns out there's an issue with Protractor here we'd welcome a pull request or another issue that links to this and requests a change in protractor?
@Xotabu4 let me know if that isn't fair and I can re-open. Thanks! 😄


Wait for Jobs, errors handling and small improvements

add waiting for Jobs;
add error handling;
improved(a little) logging;
fix example manifest.

Closes: #3

@meshok0 looks good! can you please also add a few sentences to the main README about the fact that the tool also supports jobs now? I think an example in the "The solution" section and maybe a few sentences in the "how it works" sections will do the trick.


faas CLI interactive prompt shouldn't ask for information already provided in parameters

If I run this faas create command with details specifed in the parameters, I don't expect to get asked about the same information later in the prompt. I know there is -y parameter, but IMHO this shouldn't be needed for already specified details.
$ faas create test2.apps.zroubali.devcluster.openshift.com --runtime go --repository docker.io/zroubalik --trigger http

Path to project directory (/Users/zroubali/boson/test2):
Function project name (test2.apps.zroubali.devcluster.openshift.com):
Verbose logging (y/N): y
Runtime of source (go):
Function Trigger (http):
Repository for Function images (docker.io/zroubalik):
Override default deploy namespace (zroubalik):

Also, for me the default suggested as the "deploy namespace" doesn't be to be taken over when just hitting return

I would like to see the behavior change so that the user faces fewer prompts if any by default. Instead of -y to skip prompts, perhaps a -i for 'interactive' to generate prompts. The information is useful to see, however, so for example in @zroubalik's case the output might be something like this.
$ faas create test2.apps.zroubali.devcluster.openshift.com --runtime go --repository docker.io/zroubalik --trigger http
Project name: test2.apps.zroubali.devcluster.openshift.com
Project path: /Users/zroubali/boson/test2
Runtime: go / http
Image repository: docker.io/zroubalik
Namespace: zroubalik
.....
Function deployed to http://test2-apps-zroubali-devcluster.openshift.com
$


Implement padding oracle confirmation in encryption mode

Encryption mode needs to employ pre-flight padding oracle confirmation.
Otherwise encryption mode may rely on false-positive results, producing wrong output.
This case can be tested on virtually any URL not vulnerable to padding oracle.
The confirmation functionality that is now used in decryption mode needs to be re-implemented in a more generic manner, that would not take a valid cipher as an input. Thus it can be used in both modes of operation.
Implementation of such a generic pre-flight check, using HTTP response fingerprinting, would also allow automatic calibration, making the -err argument optional.

implemented in release v.2 (https://github.com/glebarez/padre/commit/14b33ec51912b5a7adb6d55f49a0578b95b7c279)


allow to override man-page date

in order to allow for reproducible builds.
See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.

I'd prefer not to use an environment variable for this, but am happy to add a command-line argument that can pass the environment variable.

The disadvantage with command-line arguments is that every distribution needs to add it explicitly in their build process, which this variable is only set in one place and already used by hundreds of packages.

and the disadvantage of the environment variable is that it can cause unintended behavior...  This isn't the only place I'd need to change things - also the HTML, docset, and new EPUB support...
I assume you've addressed the compiler tool chain issues already?

At least for mxml itself, this was the only issue. And yes, we got such patches into gcc, cmake and rpm upstream already, so we can already build 8098 of 10636 openSUSE packages with bit-identical results.
I publish such stats (updated every few weeks) at http://rb.zq1.de/compare.factory/rbstats
and diffs like http://rb.zq1.de/compare.factory-20170324/mxml-compare.out
What 'unintended behaviour' are you afraid of? Some concerns are already addressed in the source-date-epoch FAQ.

I've committed a simpler change to support the environment variable.
[master b79d3e0] Add support for SOURCE_DATE_EPOCH environment variable (Issue #193)

tested your change. works nicely. Thanks again.


I've marked it as a feature for next version.


Python test file cannot be found

Type: Bug
The pytest tests are actually running fine.  However, when I click on certain tests in the Testing Activity Bar, it cannot find the associated file.  I get an error saying "The editor could not be opened because the file was not found"
VS Code version: Code 1.70.2 (e4503b30fc78200f846c62cf8091b76ff5547662, 2022-08-16T05:35:13.448Z)
OS version: Windows_NT x64 10.0.19044
Modes:

System Info

Item
Value

CPUs
11th Gen Intel(R) Core(TM) i7-11850H @ 2.50GHz (16 x 2496)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
63.67GB (49.34GB free)

Process Argv
--crash-reporter-id 04774cbc-99e4-403b-aeee-84399f2d314d

Screen Reader
no

VM
0%

Extensions (11)

Extension
Author (truncated)
Version

path-intellisense
chr
2.8.1

copilot
Git
1.43.6621

todo-tree
Gru
0.0.215

ael
key
1.2.1

python
ms-
2022.12.1

vscode-pylance
ms-
2022.8.40

jupyter
ms-
2022.7.1102252217

jupyter-keymap
ms-
1.0.0

jupyter-renderers
ms-
1.0.9

vscode-icons
vsc
11.16.0

vim
vsc
1.23.2

(1 theme extensions excluded)

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242cf:30382550
pythontb:30283811
vsjup518:30340749
pythonvspyt551cf:30345471
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscoreces:30445986
pythondataviewer:30285071
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411cf:30557515
vsaa593cf:30376535
pythonvs932:30410667
cppdebug:30492333
pylanb8912:30545647
vsclangdf:30486550
c4g48928:30535728
hb751961:30553087
dsvsc012:30540252
azure-dev_surveyone:30548225
2144e591:30553903

@jbiz25 Please share the logs from Output > Python panel.

Because we have not heard back with the information we requested, we are closing this issue for now. If you are able to provide the info later on, then we will be happy to re-open this issue to pick up where we left off.


Improve error reporting for distro validation

When parsing a configuration with cycles in the connectors, the actual error is not visible:

Repro:
receivers:
  otlp:
exporters:
  otlp:
    endpoint: https://foo.bar
connectors:
  count/count_1:
  count/count_2:
service:
  pipelines:
    traces:
      receivers: [otlp]
      exporters: [count/count_1, otlp]
    metrics:
      receivers: [count/count_1]
      exporters: [count/count_2]
    metrics/count_the_counts:
      receivers: [count/count_2]
      exporters: [count/count_1]

This was actually a different error that the collector image generated. The error message parsing logic was extended to also cover this case:


What happens when Concurrency is 0?

From the code:
// WithConsumeOptionsConcurrency returns a function that sets the concurrency, which means that
// many goroutines will be spawned to run the provided handler on messages

Does that mean the option simply handle gorutines and has no effect on number of underlying consumers - actual rabbitmq consumers?

Correct, it should be a single consumer with multiple goroutines


New Feature: Always On Top

Sets the window to always be on top of others.

Can be modified at runtime:

True → This will bring the window to the front and keep the window above the rest.
False → Will restore the window's default behavior.

SDL_SetWindowAlwaysOnTop is available since SDL 2.0.16.

For testing:
from kivy.config import Config
Config.set("graphics", "always_on_top", 1)  # The app will start with the window on top

from kivy.app import App
from kivy.uix.button import Button
from kivy.core.window import Window

class AlwaysOnTopApp(App):

    def build(self):

        def do(button_instance):
            Window.always_on_top = not Window.always_on_top
            button_instance.text = f"always_on_top == {Window.always_on_top}"

        b = Button(text=f"always_on_top == {Window.always_on_top}", font_size=40)
        b.bind(on_press=do)

        return b

AlwaysOnTopApp().run()

⚠ CI is expected to fail as this  issue needs to be addressed before this PR is merged.

Maintainer merge checklist

[x] Title is descriptive/clear for inclusion in release notes.
[ ] Applied a Component: xxx label.
[ ] Applied the api-deprecation or api-break label.
[ ] Applied the release-highlight label to be highlighted in release notes.
[ ] Added to the milestone version it was merged into.
[ ] Unittests are included in PR.
[x] Properly documented, including versionadded, versionchanged as needed.

also mitigates  #8010

LGTM

Hi @DexerBR ,
Good news! https://github.com/kivy/kivy/pull/8096 has been merged.
Can you please rebase on top of master so the CI can run again?
(Please be aware of the latest changes, and check the docs before testing it on your local development machine)


Hcb heroku

We have the changes as requested:
runtime.txt - contains the python version that the system requires.
Procfile - specifies how the application should run on heroku
hc/url.py - added a line of code to allow static files to be used when the app is hosted on heroku
hc/settings.py - modified the default database configuration

Please can those badges be deleted, let's close this guy.

I see merge conflicts. Please fix @andela-dmigwi


Use dialog components in tutorial part

[ ] - Context creation component
[ ] - File upload component
...


Youtube timestamps don't work

Looks like some youtube asset isn't loading

iframe_api:3 Refused to load the script 'https://www.youtube.com/s/player/77da52cd/www-widgetapi.vflset/www-widgetapi.js' because it violates the following Content Security Policy directive: "script-src 'unsafe-eval' 'self' cdn.rudderlabs.com www.youtube.com/iframe_api s.ytimg.com/yts/jsbin/". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.

handleError::  error in script loading:: src::  https://www.youtube.com/s/player/77da52cd/www-widgetapi.vflset/www-widgetapi.js id:: www-widgetapi-script

Fixed in https://github.com/mickmister/mattermost-plugin-mattermusic/pull/56


Remove env loading from library

Looking for a .env file from within a package is suboptimal. The package should be agnostic of the environment. If it requires some envs, it should do so during the initialisation and explicitly, not by trying to find a .env file.

Summary by CodeRabbit

New Features

The Container class now supports an optional EventDispatcher parameter for more flexible instantiation.

Bug Fixes

The Instructor class no longer loads environment variables during construction, streamlining the initialization process.

Documentation

Enhanced clarity in the get and load methods of the Env class, improving readability without changing functionality.

Thanks Marcos!


Adding Shivanshu21

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

looks good - merging.


Change some macros to constexpr

Inspired by this piece of code
https://github.com/godotengine/godot/blob/49b5776e8bd62b4bfb6511cca770611b6a3062e4/core/string/ustring.cpp#L4315-L4322
I decided to change some macros to constexpr. I changed the math function macros (ABS/MAX etc.) and some editor #define variables. From a trivial change it grew into a pretty gargantuan PR 😕 The reason for this is that I used templates and, unlike macros that take literally anything, the new constexpr methods require that both types are explicitly the same. So I spent some time fixing types until it eventually all compiled.
The affected code should be as fast or sometimes faster (e.g. the piece above). Also the binary somehow got 110 kB smaller \o/
Not sure if there was a smarter way to do this that wouldn't require changing literally every file in the codebase, but I'd be sad if my changes were unnecessary :I

We discussed this in a PR review meeting.
From the state of the current PR we're not convinced by the gain, as it does require a lot of extra casting which seems tedious and not always really meaningful.
On the other hand, it could make sense to move those defines to proper methods in the Math namespace like Math::min, Math::clamp, in which case an approach like this one might be useful.

I forgot to address this after last comment 🙃
The main reason I created this PR is that MAX, MIN, CLAMP will evaluate the expression multiple times, because they are a macro. Like, in the code snippet I linked, the MAX will unwrap to (((rfind("/")) > (rfind("\\"))) ? (rfind("/")) : (rfind("\\"))). It calls rfind() more times than needed, which is just wasteful. We don't have many jarring examples like this, but constexpr is better suited for this than macros.

One snag I can foresee is these might cause problems when compiling with real_t as 32 or 64 bit.
For example, consider this expression from a Vector3:
MIN(size.y, 0.0f)

With real_t as float, this compiles fine, but with real_t as double, presumably the template functions will have a mismatch between the two. Whereas the #define will work fine like this as it will just store the 0.0f as 0.0 double at compile time.
Have you tried compiling with real_t as double?
I'm actually in favour of changing #defines to alternatives where possible, but I'm not absolutely sure we can here in the current state. Juan also suggested maybe being able to take advantage of the auto keyword, and this may help (I'm not super familiar with it).

Yeah, I tried using auto and it compiles without a problem. I can drop most a changes, will try to rebase this.

Rebased. It now works properly, thanks to the power of auto 🚗

Eh, the CI keeps failing. I can't check the errors locally, so I'm just destined to force-push this thing forever :/
I will leave it for now, too much work and I don't know if it's not pointless again. Basically the compiler complains about signed integers compared with unsigned, because suddenly this is a problem.

You should be able to reproduce the issue locally by enabling warnings=extra.

Nope, I don't see any warning.

I guess only GCC and Clang find those errors, we might not enable this warning on MSVC (or maybe it doesn't support it).

I force pushed an amend that fixes the warnings I got on a local debug and tools build with GCC. Let's see if that's enough.

Thanks!


K8SPXC-264 kubectl 1.14 does not support pod as argument

Test name
Status

scaling
passed

big-data
passed

init-deploy
passed

storage
passed

recreate
passed

scaling-proxysql
passed

self-healing
passed

limits
passed

upgrade
passed

restore-to-encrypted-cluster
passed

monitoring
failed

self-healing-advanced
failed

upgrade-consistency
passed

monitoring-2-0
failed

security-context
passed

affinity
passed

demand-backup
passed

operator-self-healing
passed

one-pod
failed

auto-tuning
passed

proxysql-sidecar-res-limits
passed

scheduled-backup
failed

demand-backup-encrypted-with-tls
failed

Test name
Status

init-deploy
passed

storage
passed

self-healing
passed

limits
passed

self-healing-advanced
passed

monitoring
failed

recreate
passed

restore-to-encrypted-cluster
passed

demand-backup
passed

scheduled-backup
failed

scaling
passed

scaling-proxysql
passed

upgrade
passed

upgrade-consistency
passed

monitoring-2-0
failed

security-context
passed

big-data
passed

affinity
passed

one-pod
passed

operator-self-healing
passed

auto-tuning
passed

proxysql-sidecar-res-limits
passed

demand-backup-encrypted-with-tls
passed


chore(clustering): remove legacy hybrid protocol

This PR removes the legacy hybrid protocol.
Some code was moved out of kong.clustering.control_plane into kong.clustering.utils, but aside from that, I have done as little refactoring as possible in order to keep the PR simple.
~NOTE: This is not yet an approved change for 3.1, so it is just a draft for now.~
UPDATE: This change is approved for 3.1, so this is ready for review and merge.

Reviewers: I'm aware this PR lacks a changelog entry and updates to the upgrade doc.
I have an internal ticket assigned to myself for those items and will open a follow-up PR for them.


[Feature] Download button

Implement a download button to directly download the file instead of viewing it in the browser.

Fixed


Take user groups into account when rendering menu

When a category access is restricted by user group, the category is still displayed in the menu, even if the user is not a member of one of those group. It is described here : https://github.com/PrestaShop/PrestaShop/issues/9924
There has been 2 different corrections that have been proposed on this thread, but none of them has been merged in the module (there is some commits for at least one proposition in the dev branch, but not in master branch).
I think my changes are a bit simpler. I simply initialize the "user_groups" property that was already defined in the Ps_MainMenu class, but never initialized. This property was already used in the function makeMenu to restrict category list to only those accessible for the user.
So I only initialize the property, and use it to create the cache key for the menu.

Thanks @rvalery & @sarahdib


Support for more backends

Description

closes: #XXXX

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[ ] Targeted PR against correct branch (master)
[ ] Linked to GitHub issue with discussion and accepted design OR have an explanation in the PR that describes this work.
[ ] Wrote unit tests
[ ] Updated relevant documentation in the code
[ ] Added a relevant changelog entry to the Pending section in CHANGELOG.md
[ ] Re-reviewed Files changed in the GitHub PR explorer

This is the basically solving https://github.com/arkworks-rs/algebra/issues/769#issuecomment-1920661476 right?


Some more CI improvements

Codecov Report

Merging #170 (3e7a793) into master (f19f906) will decrease coverage by 1.06%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #170      +/-   ##
==========================================
- Coverage   92.75%   91.69%   -1.07%
==========================================
  Files          32       32
  Lines        4516     4200     -316
==========================================
- Hits         4189     3851     -338
- Misses        327      349      +22

Impacted Files
Coverage Δ

src/reconstruct_loopset.jl
86.85% <0.00%> (-3.90%)
:arrow_down:

src/lower_load.jl
76.13% <0.00%> (-2.56%)
:arrow_down:

src/costs.jl
83.33% <0.00%> (-2.39%)
:arrow_down:

src/lower_memory_common.jl
93.75% <0.00%> (-2.09%)
:arrow_down:

src/broadcast.jl
84.90% <0.00%> (-2.00%)
:arrow_down:

src/lower_constant.jl
83.15% <0.00%> (-2.00%)
:arrow_down:

src/determinestrategy.jl
95.75% <0.00%> (-1.70%)
:arrow_down:

src/graphs.jl
85.85% <0.00%> (-1.15%)
:arrow_down:

src/mapreduce.jl
85.71% <0.00%> (-1.13%)
:arrow_down:

src/vectorizationbase_compat/contract_pass.jl
81.03% <0.00%> (-0.79%)
:arrow_down:

... and 19 more

Continue to review full report at Codecov.

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

Looks good to me. I'll merge once the tests finish.


预训练代码

可以提供一下预训练的代码吗？

Thank you for your attention! We have uploaded the model pre-training demo. Kindly take a moment to review it.


added exception if LAN_INTERFACE is not set with Tproxy option

@dovholuknf is this going to be approved anytime soon?

@dariuszSki I spoke with @scareything about the lanIf and setting up tproxy. He kindly pointed me to the documentation in the release notes for 0.19.8 which explains that lanIf is not required, if left blank it's simply not specified but you can put a value in there to specify an interface so it's totally optional.
It would be better if ZITI_EDGE_ROUTER_LAN_INTERFACE was a flag option on the CLI command, this way it's easily documented right in the list of command options.
With that said, we don't need this check for the lanIf values. So, I am going to close this PR. I'll rework this today to make it a flag option and put that PR up soon.

@gberl002 ok, sounds good. Will you rework all the changes in this branch to add tproxy switch to ziti edge config edge or just lanif?


训练中途被杀进程

[09/13 22:20:06] ppgan.engine.trainer INFO: Test iter: [0/30]
[09/13 22:20:06] ppgan.engine.trainer INFO: Test iter: [1/30]
[09/13 22:20:07] ppgan.engine.trainer INFO: Test iter: [2/30]
[09/13 22:20:08] ppgan.engine.trainer INFO: Test iter: [3/30]
[09/13 22:20:08] ppgan.engine.trainer INFO: Test iter: [4/30]
[09/13 22:20:09] ppgan.engine.trainer INFO: Test iter: [5/30]
[09/13 22:20:09] ppgan.engine.trainer INFO: Test iter: [6/30]
[09/13 22:20:10] ppgan.engine.trainer INFO: Test iter: [7/30]
[09/13 22:20:11] ppgan.engine.trainer INFO: Test iter: [8/30]
[09/13 22:20:11] ppgan.engine.trainer INFO: Test iter: [9/30]
[09/13 22:20:12] ppgan.engine.trainer INFO: Test iter: [10/30]
[09/13 22:20:12] ppgan.engine.trainer INFO: Test iter: [11/30]
[09/13 22:20:13] ppgan.engine.trainer INFO: Test iter: [12/30]
[09/13 22:20:14] ppgan.engine.trainer INFO: Test iter: [13/30]
[09/13 22:20:14] ppgan.engine.trainer INFO: Test iter: [14/30]
[09/13 22:20:15] ppgan.engine.trainer INFO: Test iter: [15/30]
[09/13 22:20:15] ppgan.engine.trainer INFO: Test iter: [16/30]
[09/13 22:20:16] ppgan.engine.trainer INFO: Test iter: [17/30]
[09/13 22:20:17] ppgan.engine.trainer INFO: Test iter: [18/30]
[09/13 22:20:17] ppgan.engine.trainer INFO: Test iter: [19/30]
[09/13 22:20:18] ppgan.engine.trainer INFO: Test iter: [20/30]
[09/13 22:20:18] ppgan.engine.trainer INFO: Test iter: [21/30]
[09/13 22:20:19] ppgan.engine.trainer INFO: Test iter: [22/30]
[09/13 22:20:20] ppgan.engine.trainer INFO: Test iter: [23/30]
[09/13 22:20:20] ppgan.engine.trainer INFO: Test iter: [24/30]
[09/13 22:20:21] ppgan.engine.trainer INFO: Test iter: [25/30]
[09/13 22:20:21] ppgan.engine.trainer INFO: Test iter: [26/30]
[09/13 22:20:22] ppgan.engine.trainer INFO: Test iter: [27/30]
[09/13 22:20:22] ppgan.engine.trainer INFO: Test iter: [28/30]
[09/13 22:20:23] ppgan.engine.trainer INFO: Test iter: [29/30]
[09/13 22:20:32] ppgan.engine.trainer INFO: Metric fid: 335.5365
[09/13 22:21:45] ppgan.engine.trainer INFO: Epoch: 289/900, iter: 100/125 lr: -1.743e-04 D_fake_loss: 9039.934 D_real_loss: 7181.846 G_adv_loss: 7224.413 G_L1_loss: 1.773 batch_cost: 0.72385 sec reader_cost: 0.67774 sec ips: 1.38151 images/s eta: 15:21:41
已杀死

请问用的是最新版本嘛？


Add extension: AnimeXin

Checklist:

[x] Updated extVersionCode value in build.gradle for individual extensions
[x] Updated overrideVersionCode or baseVersionCode as needed for all multisrc extensions
[x] Referenced all related issues in the PR body (e.g. "Closes #xyz")
[x] Added the isNsfw = true flag in build.gradle when appropriate
[x] Have not changed source names
[x] Have explicitly kept the id if a source's name or language were changed
[x] Have tested the modifications by compiling and running the extension through Android Studio

Note: The lib dood, fembed, and streamsb extractors arent used because of needed modifications to make them work

normally we exclude gogo scrapers, no?

Not really sure what you mean, I never found a single instance where this website scraped gogo

That's funny, cause the very first episode I clicked on to test it this site was just a gogo player... https://animexin.vip/soul-land-season-2-episode-1-27-subbed/
But now that I've clocked on others, I guess it's not all the same...


Docs have error in type signature

On https://www.typescriptlang.org/docs/handbook/modules.html
export const isPrime(x: number): boolean;
is invalid and should be
export const isPrime: (x: number) => boolean;

I found this too.
export const isPrime(x: number): boolean;  is not correct.
Error:(5, 17) TS1005:'=' expected.
Error:(5, 37) TS1005:'=>' expected.


Multiple-value uuid.NewV4() (UUID, error) in single-value context

Multiple-value uuid.NewV4() (UUID, error) in single-value context

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


String literals cause an implicit dependency on IsString.

But because IsString is builtin we add every instance as soon as the type is mentioned. No Problem.

We do not record a dependency of values using string literals on the IsString class. But if the instance of IsString requires an instance of another type class we don't notice that.

Turns out this is not actually a problem.


Non-Blocking --create

Hi there,
I'm interested in using ldb in a bash script. Is there a way I can run ldb ./testdb --create without going into REPL mode?
For example I want to create the db if it doesn't exist and then put a key into it.
But now, ldb ./testdb --create is blocking! :/

You could use ldb ./testdb --create --size.
https://github.com/heapwolf/ldb/blob/f289a716b4e403e335da908d696f031c4ece920c/ldb.cc#L110-L111


WikiText103 eval, attempt to reproduce Alec table posted on Reddit

I get:
gpt2-124M nll: 3.058462142944336, ppl: 21.294784545898438

And we're supposed to get
https://www.reddit.com/r/MachineLearning/comments/oye64h/comment/h7ucco2/
i.e. 1.17 (in what i assume is the nll), so we're not even close to the right order of magnitude.

my own failed attempt at https://github.com/karpathy/llm.c/issues/246

i.e. 1.17 (in what i assume is the nll), so we're not even close to the right order of magnitude.

The formatting of the table is broken, if you look at the leftmost column it says WikiText-2 but gives the number of parameters for the model. I believe the columns should be shifted one to the right with wikitext scores in the range of 20 - 40.

@joeshmoe0112358 ohhh that makes sense RE: column names 🤦♂ . But ok, I am getting ppl ~21 here, and Alec is citing 37.5 for this model

Yes, I am highly skeptical of the accuracy of Alec's table because 37.50 is exactly what the GPT-2 paper reports and they used very different methods. Also, if Alec really did evaluate with stride length = 32, then we would expect his numbers to be significantly lower than the paper's, where lower is better for perplexity (e.g. check highlighted text).

Yes, I am highly skeptical of the reliability of Alec's table because 37.50 is exactly what the GPT-2 paper reports and they used very different methods. Also, if Alec really did evaluate with stride length = 32, then we would expect his numbers to be significantly lower than the paper's, where lower is better for perplexity. (e.g. check highlighted text)

We are abandoning WikiText103 because it's a total mess. We'll instead look at one/few of ARC Easy / Challenge, Squad, Hellaswag, TriviaQA, LAMBADA. Closing.


@export open scene button not working.

Tested versions

Reproducible in v4.4.dev7.official [46c8f8c5c]
Not reproducible in v4.3.stable.official [77dcf97d8]

System information
Godot v4.4.dev7 - Linux Mint 22 (Wilma) on X11 - X11 display driver, Single-window, 1 monitor - OpenGL 3 (Compatibility) - Mesa Intel(R) HD Graphics 520 (SKL GT2) - Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz (4 threads)
Issue description
The OpenScene Button does not appear to work when using @export annonations when you create an @export variable of type PackedScene, or Array[PackedScene].
Steps to reproduce
extends Node

@export var item_scenes: PackedScene

Now, you will see in your inspector like this:

Minimal reproduction project (MRP)
extends Node

@export var item_scenes: PackedScene

The problem seems to be coming from commit (7f09804) where a second parameter was added to open_request (see here).
This parameter has a default value, but since the call in the packed scene is deferred, the templating requires this second parameter passed explicitly to call_deferred. Not clear why the code would not give a compilation error though.
I can try to propose a fix.

Fixed by #100654


Mailbox Preview: more space for the HTML preview

Follow up to #822 to make the HTML preview fill the available space and to condense the metadata table at the top so that we get even more space.
Before

After

Thanks!


test(ivc): test of folding E

I converted r to a degree in Base, but I should have done it in ScalartExt, so now I'm redoing the BigUint logic for finding degrees of r.


DevTest Labs VM Expand Properties Failing

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az lab vm show
Errors:
Invalid properties were specified in the $expand query string parameter.

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az lab vm show --lab-name $labName --name $vmName --resource-group $resourceGroupName --expand 'properties($expand=ComputeVm,NetworkInterface)' --query '{status: computeVm.statuses[0].displayStatus, fqdn: fqdn, ipAddress: networkInterface.publicIpAddress}'

Expected Behavior
{
  "fqdn": "lisalabvm.southcentralus.cloudapp.azure.com",
  "ipAddress": "<IP_ADDRESS>",
  "status": "Provisioning succeeded"
}

Environment Summary
Windows-10-10.0.19028-SP0
Python 3.6.6
Shell: powershell.exe

azure-cli 2.0.74 *

Extensions:
azure-devops 0.3.0

Additional Context
Running the exact command listed in the documentation and its failing.

Found a workaround. Wrap the expand query parameters in quotes.
az lab vm show --lab-name $labName --name $vmName --resource-group $resourceGroupName --expand '"properties($expand=ComputeVm,NetworkInterface)"' --query '"{status: computeVm.statuses[0].displayStatus, fqdn: fqdn, ipAddress: networkInterface.publicIpAddress}"'

This is a known issue with Powershell. The double quotes in params are lost when passing through "%*" in a batch script. Command Prompt does not have this issue.


[1.18.1] Fabulous Graphics

Forge v39.0.59
Bonsai Trees v3.0.0
Trees do not render with fabulous graphics enabled. Changing it back to fancy fixes it.

Thanks for the report. Will be fixed in the next release :)

Thanks!


Add Logic Hash Versioning

The following PR updates the logic hashing utility: https://github.com/plyara/plyara/pull/93
So that this change doesn't create hashes that can be mixed up with hashes generated by the original function, I will add a versioning prefix to the hashes generated by the new function. This will also facilitate any changes that will occur with the build and release of 3.0.0.

The logic hash function also allows for a custom algorithm. There needs to be an algo name field that comes in with the function parameter. And the algo name plus version needs to be prepended to the logic hash in 3.0.