Can't enable addon in Blender 2.92 anymore

I deleted and reinstalled my Blender from scratch, 2.92 version of Blender, Windows 10. I'm unable to activate this tool for some reason now.
For this version (and also 0.40.0) I'm getting traceback errors.

Close Blender
Go to C:\Users<your win10 user name>\AppData\Roaming\Blender Foundation\Blender\2.92\scripts\addons
Delete the folder Blender2MSFS2
Open Blender (don't load your file, just open blender in a blank project)
Add the plugin again downloader from the release here ; https://github.com/tml1024/Blender2MSFS2/releases/download/0.41.4/Blender2MSFS2.zip

Unfortunately the same traceback occurs.
Both trying to install into 'users' location OR in the 'programfiles' location
Project not loaded when trying to activate - just the default box, light and camera or with them deleted.
Thanks for the speedy reply

Hum very weird
Could be a conflict with another plugin ?

No other plugins (other than default). MSFS is all I use this for.

Getting the same exact errors when I try to install it on Blender 2.93.5. Works fine though on Blender 2.83.6.

Hi guys,
I tried again today with clean blender install on fresh machine and it's working well
I don't understand the cause of this issue
As you may now, Asobo team is now working on a new official blender plugin and I have no time actually to work on this one. Therefore, there will be no more development from my side on this plugin

@TangoFx
I was able to reproduce your issue
-> You need to activate the extention gltf2 in preferences


Add support for Ceton PCIe card(s)

Updates as discussed at https://github.com/fHDHR/fHDHR_plugin_origin_ceton/issues/16

Looks clean and and sane to me.  Since it imports glob can you add it to the plugin's requirements.txt?
If @deathbybandaid does not have any objections I will merge this tomorrow.

Is there any way to use ceton api to determine device type?
If so, that would be preferable to a config value

Also read some docs on glob.glob and it appears to be Unix only. Does the Ceton pcie tuner work on Windows machines? If so I'd like to remove the glob.glob logic for something more like
# at top of file
import os

    if self.ceton_pcie:
        pciedevices = len([os.path.join("/dev/ceton/", x) for x in os.listdir("/dev/ceton/") if x.startswith("ctn91xx_ctl")])
        self.plugin_utils.logger.info('Ceton PCIe Device Count: %s' % pciedevices)

It might not be as pretty, but saves a dependency and retains an amount of compatibility.

@arrmo make sure you test that logic, I just typed it up, and have no way to test at the moment.

Yes, absolutely!

@arrmo what does this return on your system?
http://192.168.2001/get_var?i=0&s=diag&v=Host_Connection
It shows 'Ethernet' for the standalone device
Best I can tell the PCI card was supported on windows prior to Win10, but then a driver architecture changed.

It shows 'Ethernet' for the standalone device

Shows pci/ethernet for the internal card.


Change default display upscaling mode to Nearest Neighbor

Closes #3371
Nearest Neighbor offers better contrast and increases sharpness for upscaling;
the reverse is true for downscaling so it is not changed.

Can you rebase this to v3.0?

Can you rebase this to v3.0?


When we minimize browser small, left menu not work in Angular2 version

Thanks, please let me know when it is fixed

Hello, did u fix yet? Could u please share me code changes to fix it ?
Thanks,

Please copy and paste following files to your project:
Angular2_Dev/app/shared/sidebar.directive.js
Angular2_Dev/app/shared/sidebar.directive.js.map
Angular2_Dev/app/shared/sidebar.directive.ts
and then go Angular2_Dev/app/layouts/full-layout.component.html and change following code
<button class="navbar-toggler hidden-lg-up" type="button">☰</button>
to this
<button class="navbar-toggler hidden-lg-up" type="button" mobile-nav-toggle>☰</button>

thanks, confirmed


Jax does not find GPU while Tensorflow can!

Please:

[ x] Check for duplicate issues.
[ x] Provide a complete example of how to reproduce the bug, wrapped in triple backticks like this:
I am installing the jax using the following command:
'pip install --upgrade "jax[cuda111]" jaxlib==0.1.67 -f https://storage.googleapis.com/jax-releases/jax_releases.html'
it gives me the following error:
jax depends on jaxlib@ https://storage.googleapis.com/jax-releases/cuda111/jaxlib-0.1.67+cuda111-cp38-none-manylinux2010_x86_64.whl
I am using cuda 11.4 with python 3.8.10

it give

[ ] If applicable, include full error messages/tracebacks.

Hi - Using jax[cuda111] specifies a CUDA version of jaxlib for each JAX release, which is different than 0.1.67. Those two constraints cannot be mutually satisfied, so pip keeps downloading older versions of JAX trying to find satisfyable constraints until it hits the bug in version 0.2.15 mentioned here: #7083.
To fix the issue, I would suggest specifying your jaxlib GPU wheel directly; i.e.
pip install  jaxlib==0.1.67+cuda111 -f https://storage.googleapis.com/jax-releases/jax_releases.html

I believe you'll also have to install an older JAX version to be compatible with this older jaxlib version; given the release timings, I'd try jax version 0.2.13.

Thanks for the quick response:
I ran the command you recommended it gave me the following error:
ERROR: Could not find a version that satisfies the requirement jaxlib==0.1.67+cuda111 (from versions: 0.1.41, 0.1.42, 0.1.43, 0.1.44, 0.1.45, 0.1.46, 0.1.47, 0.1.48, 0.1.50, 0.1.51, 0.1.52, 0.1.55, 0.1.56, 0.1.57, 0.1.58, 0.1.59, 0.1.60, 0.1.61, 0.1.62, 0.1.63, 0.1.64, 0.1.65, 0.1.66, 0.1.67, 0.1.68, 0.1.69, 0.1.70)
ERROR: No matching distribution found for jaxlib==0.1.67+cuda111

It can't find the jaxlib version with cuda111

What operating system are you on? JAX only provides GPU-compatible wheels for manylinux systems. The list of jaxlib/python/cuda versions available can be seen at https://storage.googleapis.com/jax-releases/jax_releases.html

I am using Ubuntu 20.04 with Cuda 11.4
I downloaded the whl files and tried to pip install it directly by using
pip install jaxlib-0.1.67+cuda111-cp39-none-manylinux2010_x86_64.whl
it gives me the following error:
ERROR: jaxlib-0.1.67+cuda111-cp39-none-manylinux2010_x86_64.whl is not a supported wheel on this platform.

@rghelichi In the initial report you said you were using Python 3.8, but that seems to be the Python 3.9 wheel. What Python version are you using?
If that doesn't help, please share both the version of pip you have installed, as well as the output of uname -a.

Python 3.8.10
pip 21.2.4
Linux gpu-model-check 5.8.0-1038-gcp #40~20.04.1-Ubuntu SMP Thu Jul 15 11:55:03 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Did the Python 3.8 wheel work? (i.e., cuda111/jaxlib-0.1.67+cuda111-cp38-none-manylinux2010_x86_64.whl )?

Thanks for the suggestion it is installed but after trying the example on the website:

jax.profiler.start_trace("/tmp/tensorboard")

# Run the operations to be profiled
key = jax.random.PRNGKey(0)
x = jax.random.normal(key, (5000, 5000))
y = x @ x
y.block_until_ready()

jax.profiler.stop_trace()```

it is looking for cuda 11.1 instead I have 11.4 installed:

2021-08-30 19:00:50.159020: W external/org_tensorflow/tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcupti.so.11.1'; dlerror: libcupti.so.11.1: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda-11.4/lib64:/usr/local/cuda/lib64::/usr/local/cuda/extras/CUPTI/lib64```
I have libcupti.so.11.4 available in those folders.

@yashk2810 any ideas about this?

I don't know why this is happening because I haven't tried building jax with 11.4 yet.
But can you try a soft symlink for libcupti.so.11.4 to point to libcupti.so.11.1?
11.1 wheels should work on 11.4. Also is there a reason you are not using 0.1.70? (can you try with this and see if it works without the symlink?)

@rghelichi That's a warning, not an error. If you ignore that message, does everything work? If that's the case, all we need to do is suppress the warning.

Thank you guys for the amazing support.
@yashk2810 the soft link worked and the warning didnt show up again.
@hawkinsp is there a way to be sure that it is actually using the GPU correctly? I am running on GCP with 2 GPUs (NVIDIA A100)


Envoy requiring root privileges

I am looking into using envoy alongside some kubernetes containers, but it came to my attention that envoy requires root access, which introduces an attack vector. I want to understand why envoy requires root permissions and if there is any work around.

Envoy does not require root privileges. It runs as user 1337 (non root).

@rshriram
up vote
1
down vote
unaccept
According to the instructions I read, Envoy creates iptables rules with Envoy user UID (like in Istio).
sudo iptables -t nat -A PREROUTING -p tcp -j REDIRECT --to-port 5001
sudo iptables -t nat -A OUTPUT -p tcp -j REDIRECT --to-port 5001 -m owner '!' --uid-owner ${Envoy_User_UID}
In order to run this rule, a new user with ${Envoy_User_UID} needs to be created before launching Envoy. Envoy then needs to be run under this user id, so that packets from Envoy don't get redirected to themselves. For the new user to do this, it needs to have root permissions. It is a non-root user, but it needs root permissions to change iptable rules, it being on the kernel and all. Or am I misunderstanding something here?

I don't know where these instructions are from. The init container in Istio does require cap_net_admin privileges to install IPtables rules. Other than that, the sidecar runs as non-root user

Okay. Is there a way for me to query from istio the rules it wants to install in the iptable without actually granting it that privilege? I just want to leave as little attack vectors open as possible.

@rshriram is it possible to inject sidecar to pod running as a non root user? What I understood is init container requires cap_net_admin  to install iptables and it does all these configuration before application pod starts. In my case, the application pod is running as non root user and I need to inject side car to my application pod to get some metrics. If I inject it in application pod I get "error :  container run as non root and image run as a root error".  Is there any way I can achieve this ?

@Manish10689, yes it is possible, I am actually doing it based on the setup inspired from this blog:
https://blog.openshift.com/increasing-security-of-istio-deployments-by-removing-the-need-for-privileged-containers/
The IP table modification is done by a dedicated DaemonSet that has the required privilege. With this your entire pod can run as nonroot.
I am now checking if I can even run using "restricted" scc instead of "nonroot". For this I need to check if istio can run with such scc or really need to run user 1337.

Thanks @dbenque-1a for the reply. I checked it with "Istio Pod Network Controller" but encountered below error (after executing the command helm template -n istio-pod-network-controller ./chart/istio-pod-network-controller | kubectl apply -f - ):
time="2018-11-13T06:17:18Z" level=info msg="Managing Pods Running on Node: sgscapl003"
E1113 06:17:18.695759   20331 runtime.go:66] Observed a panic: "assignment to entry in nil map" (assignment to entry in nil map)
Did you face any such issues with controller ?

@Manish10689 , I am not facing that error, my pod controlled by the DaemonSet works correctly:
> oc logs istio-pod-network-controller-c55gt | head -20
time="2018-11-12T16:31:31Z" level=info msg="Go Version: go1.9.4"
time="2018-11-12T16:31:31Z" level=info msg="Go OS/Arch: linux/amd64"
time="2018-11-12T16:31:31Z" level=info msg="operator-sdk Version: 0.0.5+git"
time="2018-11-12T16:31:31Z" level=info msg="Managing Pods Running on Node: app-node-0.dbenque.nce"
...

I am running an Openshift v3.9. What is your environment?

@dbenque-1a,  i have used kubeadm for kubernetes deployment, below is the version details
Client Version: version.Info{Major:"1", Minor:"12", GitVersion:"v1.12.1", GitCommit:"4ed3216f3ec431b140b1d899130a69fc671678f4", GitTreeState:"clean", BuildDate:"2018-10-05T16:46:06Z", GoVersion:"go1.10.4", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"12", GitVersion:"v1.12.1", GitCommit:"4ed3216f3ec431b140b1d899130a69fc671678f4", GitTreeState:"clean", BuildDate:"2018-10-05T16:36:14Z", GoVersion:"go1.10.4", Compiler:"gc", Platform:"linux/amd64"}


caffe2 error for detectron

Hi,
I am trying to test the code on a custom dataset.
I downloaded seg_every_thing in the root, copied detections_vg3k.py to tools of the former. Built detectron from scratch, but still it gives me:
AssertionError: Detectron ops lib not found; make sure that your Caffe2 version includes Detectron module
There is no make file in the Ops lib of detectron.
How can I fix this?

Hi,
If you get that error, it means that probably your detectron lib build failed. There should be a makefile in detectron/lib.
I'm not sure if you are building the full detectron from scratch, or just the ops build. In the former case, perhaps it's easier if you just use a pre-built version (I know that Detectron 1 is deprecated, but you can still find pre-built versions). There should be an old PyTorch nightly version that comes with pre-built Caffe2.
If you are just trying to build the lib and it fails, I remember having a similar issue and there's a workaround: https://github.com/facebookresearch/Detectron/issues/122#issuecomment-433606932

When I test the cmr code before,I tried to run the boat set of the pascal dataset.In this process,I used detectron.It's a very bad memory.The detectron must used caffe2 which was transfer into pytorch.But the latest pytorch is not suitable with python2.7.
And I have a big problem to install pytorch with source code because I can not download the public package.


LFS-943: Installing ORDO fails

For standalone testing, you must explicitly add a new parameter to the command line. Hm, this is suboptimal, should we instead add a run script?

It still fails, however I was able to install ORDO in 3 older branches without any issue (LFS-876,LFS-925 and LFS-795). I also tried in LFS-559 and LFS-928 (newer branches) and it failed. The old 3 branches where it worked, have old ui that was modifed in LFS-632.

we could even go as far as having scripts for each run mode: cards.sh, cards4care.sh, etc.

I actually created a few for making new clones and  running different modes. It saves so much typing.


Ollama client

Implement an Ollama client and tests a for it.

Support for Ollama and local models is no longer being considered. It seems unnecessary to keep this PR open any longer.


myjenkins: Install Blue Ocean

Add the following plugins to the list in myjenkins/Dockerfile:

blueocean:1.0.0-b23
blueocean-pipeline-editor:0.1-preview-4

Notice that Blue Ocean beta version 1.0.0-b24 is now available:

Fix via https://github.com/gmacario/easy-jenkins/commit/94c16b8db63ed4ac61efd5b678b50b12983643c2


chore: upgrade go dependencies

Codecov Report

Merging #218 (eee82ed) into main (0407ab9) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #218   +/-   ##
=======================================
  Coverage   69.82%   69.82%
=======================================
  Files          47       47
  Lines        2505     2505
=======================================
  Hits         1749     1749
  Misses        481      481
  Partials      275      275

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 0407ab9...eee82ed. Read the comment docs.


Vertipaq Analyzer export to zip

Exporting to zip when running the .vertipaq_analyzer(dataset, workspace, export) method is throwing the following error.  Exporting to table works fine.  This is repeatable across tenants, workspaces.

--------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[22], line 1
----> 1 labs.vertipaq_analyzer(dataset = dataset_name, workspace = workspace_name, export = 'zip')

File /nfs4/pyenv-d5950a54-a991-4136-b5b5-beb174d95096/lib/python3.11/site-packages/sempy/_utils/_log.py:310, in mds_log.<locals>.get_wrapper.<locals>.log_decorator_wrapper(*args, **kwargs)
    307     raise
    309 try:
--> 310     result = func(*args, **kwargs)
    312     # The invocation for get_message_dict moves after the function
    313     # so it can access the state after the method call
    314     message.update(extractor.get_completion_message_dict(result, arg_dict))

File /nfs4/pyenv-d5950a54-a991-4136-b5b5-beb174d95096/lib/python3.11/site-packages/sempy_labs/_vertipaq.py:610, in vertipaq_analyzer(dataset, workspace, export, read_stats_from_data, **kwargs)
    608 for fileName, df in dataFrames.items():
    609     filePath = os.path.join(subFolderPath, f"{fileName}{ext}")
--> 610     df.to_csv(filePath, index=False)
    612 # Create a zip file and add CSV files to it
    613 with zipfile.ZipFile(zipFilePath, "w") as zipf:

AttributeError: 'Styler' object has no attribute 'to_csv'

Is there a library that I am not installing or missing?

Fixed in 0.8.5.


[BUG] Mouse Cursor

Describe the bug
So if i open the client all is normal, but if i go into a world/server my Mouse cursor is always there.
If i open chat all is normal cuz the cursor is there but if i close its still there, i cant place of hit anything because of it
Anyone can help?

There is a problem in its config, I knew the solution to it, I do not remember now, I will enter the game and write

There is a problem in its config, I knew the solution to it, I do not remember now, I will enter the game and write

Thanks <3


Sandboxie will be detected when a statically-linked DLL contains detection code

Due to the documentation of Inject DLL：
The injected DLL is loaded into the sandboxed process (or program) after all the statically-linked DLLs are loaded and initialized, but before the program itself begins to execute at its entry point.

So the statically linked DLL will load and execute before SbieHide. You can use ProcMon to verify this.
In this scenario, an additional launcher is required to perform DLL injection using DetourCreateProcessWithDlls or Windows debugging APIs.
Hope this helps.

Due to the documentation of Inject DLL：
The injected DLL is loaded into the sandboxed process (or program) after all the statically-linked DLLs are loaded and initialized, but before the program itself begins to execute at its entry point.

So the statically linked DLL will load and execute before SbieHide. You can use ProcMon to verify this.
In this scenario, an additional launcher is required to perform DLL injection using DetourCreateProcessWithDlls or Windows debugging APIs.
Hope this helps.

What program does this appear to happen ?


feat(tablewithfilter): allow specifying config through props

Proposed Changes
Allow specifying the tableWithFilter related options through the props:
Usage
// before
const Table = _.compose(
    tableWithFilter({
        matchFilter: (filterText, row) => true,
        blankslate: filterBlankslateProps
    }),
    tableWithActions()
)(TableHOC)

<Table
    id='table-id'
    className='table'
    data={myData}
    renderBody={renderMyRows}
/>

// now you also can do:
const Table = _.compose(
    tableWithFilter(),
    tableWithActions()
)(TableHOC)

<Table
    id='table-id'
    className='table'
    data={myData}
    renderBody={renderMyRows}
    matchFilter={(filterText, row) => true}
    blankslate={filterBlankslateProps}
/>

This new way of doing things is more convenient because usually you have the dispatch props in the scope when setting the props on the Table.
Potential Breaking Changes
Deleted some useless interfaces:

ITableWithFilterStateProps
ITableWithFilterDispatchProps
ITableWithFilterProps

Acceptance Criteria

[ ] The proposed changes are covered by unit tests
[ ] The potential breaking changes are clearly identified
[ ] README.md is adjusted to reflect the proposed changes (if relevant)

Codecov Report

Merging #1485 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master    #1485   +/-   ##
=======================================
  Coverage   98.98%   98.98%
=======================================
  Files         496      496
  Lines       10275    10275
  Branches     2373     2375    +2
=======================================
  Hits        10171    10171
  Misses        104      104

Impacted Files
Coverage Δ

...vapor/src/components/table-hoc/TableWithFilter.tsx
100% <100%> (ø)
:arrow_up:

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 be0ef87...7ca6f01. Read the comment docs.

The props matchFilter and blankslate in <Table> will be only applied to the blankslate in tableWithFilter right? If we need a blankslate for the page no results found, we can still configure its proper matchFilter and blankslate in tableWithBlankSlate?

@rosalie-liu Yes exactly, I kept the naming because it allowed me to reuse the same interface, but perhaps we could rename the props filterBlankslate, filterMatcher, and filterPlaceholder ?

Great idea! Btw, as a prop of <Table>, filterPlaceholder makes me think of placeholder of filterbox, but I'm still ok with it.

It is exactly that, filterPlaceholder is the placeholder of the filter box :tada:

oops, I mixed it with title in blankslate, my bad. So these 3 are just perfect :+1:

Great, I'll do the change


Birdhouse Timer Incorrect

Type
Incorrect behavior
Operating System
Windows
OS Version
Windows 11
Bug description
The time tracking plugin shows that birdhouses are done when there are none built. I haven't done any birdhouses since leagues several years ago.
Screenshots or videos

RuneLite version
RuneLite: <IP_ADDRESS>
Launcher: 2.7.2
Logs
client.log
launcher.log

Did some debugging and was able to track the bug down to this block of code in plugins/timetracking/hunter/BirdHouseTracker.java:158. The return false; is preventing the panel from appropriately marking the 4 birdhouses as empty.
// Prevent the resetting of bird house data that could occur if the varps have not been updated yet
// after the player enters the region. We assume that players would generally have 3 or 4 bird houses
// built at any time, and that dropping from 3/4 to 0 built bird houses is not normally possible.
if (removalCount > 2)
{
	return false;
}


For face landmarker, please provide info on optimal input image size, face size, face location in image, etc.

Description of issue (what needs changing)
missing information
Clear description
Face landmarker seems very sensitive to size of input image, face, or face locations within the image.
Correct links
No response
Parameters defined
No response
Returns defined
No response
Raises listed and defined
No response
Usage example
No response
Request visuals, if applicable
No response
Submit a pull request?
No

@by321,
Thanks for raising this request. We are forwarding issue internally and based on discussion team will prioritise the request.

Hello @by321,
The current face detection model is using the short range model, https://developers.google.com/mediapipe/solutions/vision/face_detector#blazeface_short-range.
The model is trained to used for detecting human face in a short range, more specifically from the model card: https://storage.googleapis.com/mediapipe-assets/MediaPipe BlazeFace Model Card (Short Range).pdf
In out-of-scope setion: ● Detecting people too far away from the camera (e.g. further than 2 meters)
There should be no limitation regarding to the image size and the face location in the image. The model input size is 128x128, and the pipeline will resize the input image to 128x128. Thank you!


fix: concurrent modification for get event sources

This is a fix for v5, will backport it also for main


Node type -1 for cmd/main.py training pipeline

What happened?
node type for models is -1 due to a improperly retrieved machine spec
What did you expect to happen?
node type of 0
How can we reproduce it (as minimally and precisely as possible)?
View Trainer on Metal CI's workflow: Training and Validation e2e with Single Server
Anything else we need to know?
Ref: https://github.com/sustainable-computing-io/kepler-metal-ci/issues/211
Kepler image tag

latest

Deployment

[ ] Model server
[ ] Estimator
[ ] Online trainer
[ ] Offline trainer
[ ] Profiler

Kepler model server image tag if deployed

Kepler estimator image tag if deployed

Kepler online trainer image tag if deployed

Kepler offline trainer image tag if deployed

Kepler profiler image tag if deployed

Kubernetes version

$ kubectl version
# paste output here

Install tools

Kepler deployment config

For on kubernetes:
$ KEPLER_NAMESPACE=kepler

# provide kepler configmap
$ kubectl get configmap kepler-cfm -n ${KEPLER_NAMESPACE}
# paste output here
# provide kepler model server configmap if Kepler Model Server is deployed
$ kubectl get configmap kepler-model-server-cfm -n ${KEPLER_NAMESPACE}
# paste output here
# provide kepler deployment description
$ kubectl describe deployment kepler-exporter -n ${KEPLER_NAMESPACE}

For standalone:
put your Kepler command argument here

Resolved with this PR: https://github.com/sustainable-computing-io/kepler-metal-ci/pull/246


schema evolution support

skip check ordering
use input schema to build accessors

Please refer Issue https://github.com/apache/incubator-iceberg/issues/741 for details

@ravichinoy, thanks for working on this. It looks good.
Can you either fix the methods that use a boxed Boolean or implement the builder-like API I suggested? I can add the builder in a follow-up if you want to get this in more quickly.

Thanks for updating this. I merged it.

thanks @rdblue we will try to implement the Builder pattern as part of follow up PR.


Ensure developer publish info is present

Needed to perform a release to maven central.

Metadata change.  Merging without review.


ci: adding main workflow

adding workflow to have automatic releases as in other action repos
pre-commit added

:tada: This PR is included in version 1.6.4 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Fixed: some entity names lead to errors on save

#3tmdjjf

Task linked: CU-3tmdjjf Fix bug: when entity name contains some special characters it will throw an exception

In the whitelist approach we have a much higher potential to miss characters. For example all Chinese characters.
On the other hand, characters that are not allowed are well documented: https://en.wikipedia.org/wiki/Filename


Package Acquisition using Source / CMake Fetch Content

Currently, directly including the source for 3rd party dependencies is the most common why C++ developers integrate dependencies into their projects. The Azure SDK for C++ is supposed to support this through CMake Fetch Content, allowing it to take care of downloading the source code at a specific version and linking the build process for the specific Azure SDK library. But it seems our support for CMake Fetch Content has lapsed.
Current CMake Fetch Content Issue:
Project Set Up

main.cpp file:

#include <azure/identity.hpp>
#include <azure/keyvault/secrets.hpp>
#include <iostream>

using namespace Azure::Security::KeyVault::Secrets;

int main()
{
    try
    {
        // Set Key Vault URL string
        auto const keyVaultUrl = std::getenv("AZURE_KEYVAULT_URL");

        // Create Default Azure Credential to Authenticate.
        // It will pick up on our AzureCLI login
        auto credential = std::make_shared<Azure::Identity::DefaultAzureCredential>();

        // Create Key Vault Secret Client
        SecretClient secretClient(keyVaultUrl, credential);

        // Create a Secret
        std::string secretName("MySampleSecret");
        std::string secretValue("My super secret value");
        secretClient.SetSecret(secretName, secretValue);

        // Get the Secret
        KeyVaultSecret secret = secretClient.GetSecret(secretName).Value;
        std::string valueString = secret.Value.HasValue()
                                      ? secret.Value.Value()
                                      : "NONE RETURNED";
        std::cout << "Secret is returned with name " << secret.Name
                  << " and value " << valueString << std::endl;
    }
    catch (Azure::Core::Credentials::AuthenticationException const &e)
    {
        std::cout << "Authentication Exception happened:" << std::endl
                  << e.what() << std::endl;
        return 1;
    }
    catch (Azure::Core::RequestFailedException const &e)
    {
        std::cout << "Key Vault Secret Client Exception happened:" << std::endl
                  << e.Message << std::endl;
        return 1;
    }

    return 0;
}

CMakeLists.txt file

# Specify the minimum version of CMake required to build this project
cmake_minimum_required(VERSION 3.30.0)

# Define the project name, version, and the languages used
project(azure_sample VERSION 0.1.0 LANGUAGES C CXX)

# Fetch content
include(FetchContent)
FetchContent_Declare(azuresdkforcpp
    # Set the SDK URL path and releasse tag
    GIT_REPOSITORY      https://github.com/Azure/azure-sdk-for-cpp.git
    GIT_TAG             azure-security-keyvault-secrets_4.2.1
)
FetchContent_GetProperties(azuresdkforcpp)
if(NOT azuresdkforcpp_POPULATED)
    FetchContent_MakeAvailable(azuresdkforcpp)
    add_subdirectory(${azuresdkforcpp_SOURCE_DIR} ${azuresdkforcpp_BINARY_DIR} EXCLUDE_FROM_ALL)
endif()

add_executable(azure_sample main.cpp)

target_compile_definitions(azure_sample PRIVATE _azrue_BUILD_SAMPLES)

target_link_libraries(azure_sample Azure::azure-security-keyvault-secrets)

Windows Result
On Windows, I hit an issue running the CMake config command: cmake -B ./build
PS C:\Users\user\CMakeFetchContentSample> cmake -B ./build
-- Building for: Visual Studio 17 2022
-- Selecting Windows SDK version 10.0.26100.0 to target Windows 10.0.22631.
-- The C compiler identification is MSVC 19.42.34436.0
-- The CXX compiler identification is MSVC 19.42.34436.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/IntPreview/VC/Tools/MSVC/14.42.34433/bin/HostX64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/IntPreview/VC/Tools/MSVC/14.42.34433/bin/HostX64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Cloning into 'azuresdkforcpp-src'...
HEAD is now at 1d22b9bc5 Fix broken link (#5273)
No transport adapter was selected, using WinHTTP as the default option for Windows.
Vcpkg integrate step.
CMAKE_TOOLCHAIN_FILE is not defined. Define it for the user.
AZURE_SDK_DISABLE_AUTO_VCPKG is not defined. Fetch a local copy of vcpkg.
  Policy CMP0169 can be set to
  OLD to allow FetchContent_Populate(vcpkg) to be called directly for now,
  but the ability to call it with declared details will be removed completely
  in a future version.
Call Stack (most recent call first):
  build/_deps/azuresdkforcpp-src/cmake-modules/AzureVcpkg.cmake:36 (FetchContent_Populate)
  build/_deps/azuresdkforcpp-src/CMakeLists.txt:25 (az_vcpkg_integrate)
This warning is for project developers.  Use -Wno-dev to suppress it.

Vcpkg integrate step - DONE.
-- CMAKE_SYSTEM_NAME=Windows;
-- VCPKG_TARGET_TRIPLET=;
Vcpkg integrate step.
Vcpkg integrate step - DONE.
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - not found
-- Found Threads: TRUE
CMake Error at build/_deps/azuresdkforcpp-src/sdk/core/azure-core/CMakeLists.txt:37 (find_package):
  Could not find a package configuration file provided by "wil" with any of
  the following names:

    wilConfig.cmake
    wil-config.cmake

  Add the installation prefix of "wil" to CMAKE_PREFIX_PATH or set "wil_DIR"
  to a directory containing one of the above files.  If "wil" provides a
  separate development package or SDK, be sure it has been installed.

-- Configuring incomplete, errors occurred!

Our current build process using CMake Fetch Content doesn't seem to either be properly pulling the wil dependency or is not properly able to locate the dependency.
Linux Result
On Linux (WSL/Ubuntu) I also hit an issue running the CMake config command: cmake -B ./build:
ronnieg@---:~/code/cmakefetchcontentsample$ cmake -B ./build
-- The C compiler identification is GNU 13.3.0
-- The CXX compiler identification is GNU 13.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Cloning into 'azuresdkforcpp-src'...
HEAD is now at 1d22b9bc5 Fix broken link (#5273)
No transport adapter was selected, using libcurl as the default option for POSIX.
Vcpkg integrate step.
CMAKE_TOOLCHAIN_FILE is not defined. Define it for the user.
AZURE_SDK_DISABLE_AUTO_VCPKG is not defined. Fetch a local copy of vcpkg.
  Policy CMP0169 can be set to
  OLD to allow FetchContent_Populate(vcpkg) to be called directly for now,
  but the ability to call it with declared details will be removed completely
  in a future version.
Call Stack (most recent call first):
  build/_deps/azuresdkforcpp-src/cmake-modules/AzureVcpkg.cmake:36 (FetchContent_Populate)
  build/_deps/azuresdkforcpp-src/CMakeLists.txt:25 (az_vcpkg_integrate)
This warning is for project developers.  Use -Wno-dev to suppress it.

Vcpkg integrate step - DONE.
-- CMAKE_SYSTEM_NAME=Linux;
-- VCPKG_TARGET_TRIPLET=;
Vcpkg integrate step.
Vcpkg integrate step - DONE.
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
CMake Error at /home/ronnieg/cmake-3.31.2-linux-x86_64/share/cmake-3.31/Modules/FindPackageHandleStandardArgs.cmake:233 (message):
  Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR)
Call Stack (most recent call first):
  /home/ronnieg/cmake-3.31.2-linux-x86_64/share/cmake-3.31/Modules/FindPackageHandleStandardArgs.cmake:603 (_FPHSA_FAILURE_MESSAGE)
  /home/ronnieg/cmake-3.31.2-linux-x86_64/share/cmake-3.31/Modules/FindCURL.cmake:203 (find_package_handle_standard_args)
  build/_deps/azuresdkforcpp-src/sdk/core/azure-core/CMakeLists.txt:31 (find_package)

-- Configuring incomplete, errors occurred!

Seems like this is just a case of missing curl. I installed curl and cleared the CMake cache and tried again. The next dependency I was told was missing was OpenSSL, so again I installed it and reran the config. Then I ran into the following issue:
ronnieg@CPC-rgera-JR9LR:~/code/cmakefetchcontentsample$ cmake -B ./build
-- The C compiler identification is GNU 13.3.0
-- The CXX compiler identification is GNU 13.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Cloning into 'azuresdkforcpp-src'...
HEAD is now at 1d22b9bc5 Fix broken link (#5273)
No transport adapter was selected, using libcurl as the default option for POSIX.
Vcpkg integrate step.
CMAKE_TOOLCHAIN_FILE is not defined. Define it for the user.
AZURE_SDK_DISABLE_AUTO_VCPKG is not defined. Fetch a local copy of vcpkg.
  Policy CMP0169 can be set to
  OLD to allow FetchContent_Populate(vcpkg) to be called directly for now,
  but the ability to call it with declared details will be removed completely
  in a future version.
Call Stack (most recent call first):
  build/_deps/azuresdkforcpp-src/cmake-modules/AzureVcpkg.cmake:36 (FetchContent_Populate)
  build/_deps/azuresdkforcpp-src/CMakeLists.txt:25 (az_vcpkg_integrate)
This warning is for project developers.  Use -Wno-dev to suppress it.

Vcpkg integrate step - DONE.
-- CMAKE_SYSTEM_NAME=Linux;
-- VCPKG_TARGET_TRIPLET=;
Vcpkg integrate step.
Vcpkg integrate step - DONE.
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found CURL: /usr/lib/x86_64-linux-gnu/libcurl.so (found version "8.5.0")
Libcurl version 8.5.0
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "3.0.13")
-- Retrieving version from /home/ronnieg/code/cmakefetchcontentsample/build/_deps/azuresdkforcpp-src/sdk/core/azure-core/src/private/package_version.hpp
-- VERSION_MAJOR 1
-- VERSION_MINOR 12
-- VERSION_PATCH 0
-- VERSION_PRERELEASE beta.1
-- AZ_LIBRARY_VERSION
-- Including AMQP library
Vcpkg integrate step.
Vcpkg integrate step - DONE.
-- Using vendored uamqp
CMake Deprecation Warning at build/_deps/azuresdkforcpp-src/sdk/core/azure-core-amqp/vendor/azure-uamqp-c/CMakeLists.txt:4 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.

CMake Error at build/_deps/azuresdkforcpp-src/sdk/core/azure-core-amqp/vendor/azure-uamqp-c/CMakeLists.txt:56 (find_package):
  Could not find a package configuration file provided by
  "azure_macro_utils_c" with any of the following names:

    azure_macro_utils_cConfig.cmake
    azure_macro_utils_c-config.cmake

  Add the installation prefix of "azure_macro_utils_c" to CMAKE_PREFIX_PATH
  or set "azure_macro_utils_c_DIR" to a directory containing one of the above
  files.  If "azure_macro_utils_c" provides a separate development package or
  SDK, be sure it has been installed.

-- Configuring incomplete, errors occurred!

This new error appears to be caused by missing the azure_macro_utils_c dependency that is required by the SDK's vendored version of azure-uamqp-c. I understand that this could probably also by installing the dependency on my env and moving on, but I question why the build process is attempting to build any part of our AMQP stack when I'm only trying to use our Key Vault Secrets and Identity libraries.
Solutions for building the Azure SDK from source

Fix current CMake Fetch Content scenario that invokes vcpkg underneath
Update CMake Fetch Content scenario to only pull the desired source (maybe included core) and have the user resolve all external dependencies
Users pull the zips from our releases in GitHub and they include only the desired library (maybe a compatible version of core as well) then users can either build that source for their platform and take a dep on the build binary or include the source in their project and build in their project's build

Update
I attempted to set up a sample azure project using the Key Vault Secrets and Identity libraries when the dependencies are kept as source in the project. After tinkering around in the project's top level CMakeLists.txt file and the CMakeLists.txt files of the Secrets, Identity and Core libraries I was able to get something that builds and runs properly.
Link to sample project repo
All dependencies were place in the top level lib/ directory, including our cmake-modules/ directory as the CMakeLists.txt files for the libraries require them and I didn't want to edit those more than I had too.
The only changes I had to make to the CMakeLists.txt files of the azure service/core libraries were:

alter the path where they look for the cmake-modules
comment out all steps that would invoke vcpkg and cmake-modules related to vcpkg
in the secrets and identity CMakeLists.txt file, I commented out the find_package(azure-core ....) lines, since my top level CMakeLists.txt file already added core as a subdirectory

Note
I only tested the sample on Linux (WSL/Ubuntu) as it made acquiring the dependencies for core easier.
Benefits
Over the current status of CMake Fetch Content, this solution allowed me to:

only copy the source for libraries I require into my project (manually extracted and copied from a clone of the repo @ tag azure-security-keyvault-secrets_4.2.1

I understand this means the source for Identity I have may not be a stable source, but if that became an issue, I would have grabbed the Identity source from a tag related to one of its stable releases

I did not run into issues like when using CMake Fetch Content, where it seems CMake tries to build all the repo, or at least all of the core libraries, so I didn't run into issues with azure-core-amqp needing azure_macro_utils_c.


[SPARK-27096][SQL] Reconcile the join types between data frame and sql interface

What changes were proposed in this pull request?
Currently in the grammar file, we have the joinType rule defined as following :
joinType
    : INNER?
   ....
   ....
    | LEFT SEMI
    | LEFT? ANTI
    ;

The keyword LEFT is optional for ANTI join even though its not optional for SEMI join. When
using data frame interface join type "anti" is not allowed. The allowed types are "left_anti" or
"leftanti" for anti joins. In this PR, i am making the LEFT keyword mandatory for ANTI joins so
it aligns better with the LEFT SEMI join in the grammar file and also the join types allowed from dataframe api.
This PR makes LEFT optional for SEMI join in .g4 and add "semi" and "anti" join types from dataframe.
I have not opened any JIRA for this as probably we may need some discussion to see if
we are going to address this or not.
How was this patch tested?
Modified the join type tests.

Merged build finished. Test PASSed.

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

Test build #103070 has started for PR 23982 at commit 689ad6d.

Ur, I understand the intention, but this is a breaking change which may make the existing users upset with SQL parsing failures.
cc @gatorsmile

@dongjoon-hyun Thanks.. I totally understand :-).  Its in theory a breaking change. I thought we can simplify stuffs in a
major release. We could put a couple of lines in documentation asking users to add the LEFT
keyword.
Make LEFT optional for semi join for pairty with the ANTI join counter-part and expose "semi" and "anti" as join types from dataframe.
Perhaps there is another option ?? :-)

Any other dbms-like system making this optional?

Test build #103070 has finished for PR 23982 at commit 689ad6d.

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

Merged build finished. Test FAILed.

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

@maropu Thank you. Very few systems i could find that expose the semi and anti join types to users. I checked oracle, mysql, postgress, db2,
Following are the systems i could find that expose this.

Makes LEFT optional for both semi and anti join from the below link.
https://docs.microsoft.com/en-us/u-sql/statements-and-expressions/select/from/joins/semijoin
Hive exposes only LEFT SEMI JOIN. However, LEFT SEMI and SEMI return different output. Not sure if its a bug. This is one of the reason, i was though removing the ambiguity would be better.

Connected to: Apache Hive (version <IP_ADDRESS>.1.0.0-78)
Driver: Hive JDBC (version <IP_ADDRESS>.1.0.0-78)
Transaction isolation: TRANSACTION_REPEATABLE_READ
Beeline version <IP_ADDRESS>.1.0.0-78 by Apache Hive

select * from a1 left semi join a2;
+--------+--------+
| a1.c1  | a1.c2  |
+--------+--------+
| 1      | 1      |
+--------+--------+

select * from a1 semi join a2;  => left is not specified
+----------+----------+--------+--------+
| semi.c1  | semi.c2  | a2.c3  | a2.c4  |
+----------+----------+--------+--------+
| 1        | 1        | 2      | 2      |
| 1        | 1        | 3      | 3      |
+----------+----------+--------+--------+

Merged build finished. Test PASSed.

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

Test build #103073 has started for PR 23982 at commit 7d44849.

Test build #103073 has finished for PR 23982 at commit 7d44849.

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

Merged build finished. Test PASSed.

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

Another option is to make LEFT optional for SEMI join in .g4 and add "semi" and "anti" join types from dataframe.

If anything, I like the second approach because the current one disallows non-left anti that the master accepts now, but the seconds one accepts the all statements that the master accepts now.

@maropu OK.. I will do the 2nd option. Thank you.

WDYT? @dongjoon-hyun @gatorsmile @cloud-fan

+1 for the second option. The Hive one looks like a bug to me

Then, I agree. +1 for the second option, too.

@dongjoon-hyun One question.. In my understanding, option 2 as per @maropu and @cloud-fan is to not change any existing behaviour but simply add more join types i.e make 'left' optional for left semi join . In that case, do we need any migration doc update ?

Oh, is it? I thought it's referring (2) from your https://github.com/apache/spark/pull/23982#issuecomment-469910613

Make LEFT mandatory.

@dongjoon-hyun Yeah :-) I got confused too at first. Upon double checking, i saw that @maropu was responding to following snippet from the PR description.

Another option is to make LEFT optional for SEMI join in .g4 and add "semi" and "anti" join types from dataframe.

Test build #103184 has started for PR 23982 at commit 0a78cb7.

Merged build finished. Test PASSed.

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

Test build #103185 has started for PR 23982 at commit a873a98.

sorry to confuse you.

Merged build finished. Test PASSed.

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

Test build #103188 has started for PR 23982 at commit e726efd.

Merged build finished. Test PASSed.

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

Test build #103190 has started for PR 23982 at commit 97378cd.

Test build #103184 has finished for PR 23982 at commit 0a78cb7.

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

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

Merged build finished. Test FAILed.

Merged build finished. Test PASSed.

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

Test build #103191 has started for PR 23982 at commit 79fc151.

Test build #103185 has finished for PR 23982 at commit a873a98.

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

Merged build finished. Test FAILed.

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

Test build #103190 has finished for PR 23982 at commit 97378cd.

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

Test build #103191 has finished for PR 23982 at commit 79fc151.

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

Test build #103188 has finished for PR 23982 at commit e726efd.

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

Merged build finished. Test FAILed.

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

Merged build finished. Test FAILed.

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

Merged build finished. Test FAILed.

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

retest this please

Merged build finished. Test PASSed.

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

Test build #103199 has started for PR 23982 at commit 79fc151.

Test build #103199 has finished for PR 23982 at commit 79fc151.

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

Merged build finished. Test PASSed.

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

Merged build finished. Test PASSed.

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

Test build #103229 has started for PR 23982 at commit 5fa27ea.

Test build #103229 has finished for PR 23982 at commit 5fa27ea.

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

Merged build finished. Test PASSed.

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

thanks, merging to master!

Thank you very much @cloud-fan @maropu @dongjoon-hyun


adds support for %config(noreplace) macro

This addresses https://github.com/panitw/easy-rpm/issues/58

Thanks for the pull request! Could you please update the tests to reflect these changes?

I've added the necessary tests for the %config(noreplace) setting. Thanks!

Looks good!  Sorry for the delay in review.

@paulcoyle Do you have a target date for the next release that will incorporate these changes?


Change cdn direction

Hello, I have been using this library and I'm wondering if there is any form to change the CDN given that I want to use it without direct access to internet and only using the native emojis brings a problem with the different OS (some users are using linux and w7 so they dont get most emojis)

#133 shows how they're using it.
Its also in docs as backgroundImageFn

Perfect, thanks !


Check eligibility

@sanuann @satra
Perhaps the study should check answers to determine eligibility, right? As is, it just accepts anything. So perhaps:

make sure email has "@" and ".com"?

Make sure year of birth is older than 2004?

@sanuann - for the string entry component is there a way to run regexp based validation. if not, perhaps email should be a specific component.
@daniel - .com is not a good validator for email.
here is a potential email validator: https://www.w3resource.com/javascript/form/email-validation.php

since there weren't existing widgets for email and some other types, i mapped them to text for the time being.
regex based validation should work i think. I will look into it.

@danielmlow - i'm going to close this issue, but the questions and the flow of this protocol should now be adjusted to reflect the approved IRB changes.


[stable/prometheus-operator] Version bump, deprecation of additionalScrapeConfigsExternal

Signed-off-by: Alexander Cristian<EMAIL_ADDRESS>
Is this a new chart

NOTE: We're experiencing a high volume of PRs to this repo and reviews will be delayed. Please host your own chart repository and submit your repository to the Helm Hub instead of this repo to make them discoverable to the community. Here is how to submit new chart repositories to the Helm Hub.

What this PR does / why we need it:
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #23133

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

New PR to replace closed #23134 @vsliouniaev please review and approve if ok

/assign @vsliouniaev

Since CI is wrecked in this repo and because I can't affect it, if you want the tests to pass, you will need to add an override for the node-exporter port in stable/prometheus-operator/ci/02-test-without-crds-values.yaml
nodeExporter:
  service:
    targetPort: 9101
    port: 9101

/retest

/retest

@vsliouniaev are you sure that's the trick to getting the tests to pass? It still seems to fail with those changes.

Try prometheus-node-exporter: instead

/retest

/lgtm


How to register OAuth application in Azure Stack ADFS?

We have a web application that works with Azure AD using OAuth code flow. Now we want to make it work in Azure Stack ADFS. But it looks to me that I can only create service principal but cannot register application in Azure Stack ADFS like how I did in AAD. The service principal let my app to authenticate itself without user credentials. In AAD, our app authenticates user through OAuth 2.0 code flow, and works on behalf of user. How to make OAuth code flow work in Azure Stack ADFS?

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

ID: e1fd72e4-335a-142b-37ae-90a3cbc515f4
Version Independent ID: 7facc888-3549-580d-2c17-c331c134d98c
Content: Create a Service Principal for Azure Stack
Content Source: articles/azure-stack/azure-stack-create-service-principals.md
Service: azure-resource-manager
GitHub Login: @sethmanheim
Microsoft Alias: sethm

@jhan40 Thanks for the feedback! We are currently investigating and will update you shortly.

@TravisCragg-MSFT this is more of an Azure Stack question. can you pls engage your contacts on Azure Stack to help unblock this issue?

@jhan40 You can find information about Azure Stack and Identity Here.  I am researching now to find out if this is possible using an ADFS deployment, as well as the best way to accomplish this task.

@jhan40 We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


ERROR: Parsing Error: The keyword 'const' is reserved

Prerequisites

[x] Can you reproduce the problem with Debug -> Reload Without Extensions?
[x] Did you perform a cursory search to see if your bug or enhancement is already reported?
[x] Did you read the Troubleshooting guide?

Description
I've started a new project only containing three files, HTML, CSS and JS. HTML works fine, CSS works fine, but I just can't get the JavaScript to work. I've only written
'use strict'

const body = document.body;

I then get three JSLint Errors and one ESLint Errors:

Apparently Brackets does not support ES6. Since I have never worked with JSLint, I have absolutely no idea what to do.
Is there a global fix that works for new projects as well?
Steps to Reproduce

Create a JavaScript-File with a fresh installation of Brackets
Write the code mentioned above
Voilà!

Expected behavior: Accept ES6 code
Actual behavior: Outputing warnings and an error.
Versions
I'm running Brackets Release 1.14 build 1.14.0-17740 (release 329d08ffc) on Windows 10

Add /eslint-env es6/ to the top of the file(s)

Thanks, that worked! And sorry for the late reply!

It worked for a while, but then I started getting errors like these:

Is it because of Node not starting?

No, it's because its not defined anywhere jslint can see, add /*global require*/ to the top of the file(s) to say it's defined elsewhere.

Hi,
I've had exactly the same issue but it doesn't work to insert /*global require*/ or '/eslint-env es6/' to the top of the files. Sorry to have to rake up an old issue, am new to .js and need some help.

Hi,
I've had exactly the same issue but it doesn't work to insert /*global require*/ to the top of the file having added /eslint-env es6/S, I didn't know if there was an issues with my placement? I'm attempting to create a basic voice recognition app and I;m new to .js so could use some help.


Bug: $convertFromMarkdownString places caret at the end of the document (instead there should be a default way of pasting long markdown without scrol-downs due to caret at the end)

Even at https://playground.lexical.dev/ the caret on load is at the end of the document.
When a document is long, this forces overflow to happen (especially if a hyperlink is at the last line of the document, so a tooltip is rendered and overflow/scrolling is happening), and in general, on document load (from markdown as well) we expect caret to be at the top
In the meanwhile, would you have an advise how to work around this and force the cursor to not jump to the end?
Thanks!

$convertFromMarkdownString(…);
$getRoot().selectStart();

by caret do u mean cursor? if u mean caret (^), i dont see a caret anywhere on  https://playground.lexical.dev/ .
if u mean cursor, why does the cursor need to be at the start of the document?

I meant the cursor, yes:

Well, if it's a long document, placing the cursor at the end of the document when importing Markdown leads to a scroll-down/jump-down of the browser window. I'd like to prevent this jump-down from happening (and keep the cursor at the document start when importing markdown). How can I achieve that?
In the meanwhile I'll do $getRoot().selectStart();, but I fear that this will still have the jump down-up visible.

Invoking $getRoot().selectStart(); immediately after $convertFromMarkdownString worked as a workaround. My proposal would be to add sth like this directly to $convertFromMarkdownString (for long documents auto-scroll-down on Markdown import is strange)

The current behavior seems to be modeled after what would happen if the entire target element node (the root by default) was selected and then the markdown document was pasted in (the target node is cleared and the end of the new content is selected afterwards). Selecting the end is a deliberate choice at least as the code is written today.
A good start would be to document what this function does. I wouldn't expect it to clear the node or change the selection from the name alone. If I didn't know better, I'd expect to get an array of nodes without any document mutations.

@etrepum @vadimkantorov  based on the conclusion let me know if i can close this issue

@potatowagon I think the issue still exists in the sense that $convertFromMarkdownString modifies the place of the caret which leads to page scroll-down when importing a long markdown.
I agree with @etrepum - I think by default importing markdown should be neutral / not modify the caret place (and cause scroll-downs)

https://github.com/facebook/lexical/pull/4232

when selection is present we still want to restore it, otherwise we risk facing the lost selection invariant.

^ selecting the end is deliberately done for the above reason

seems like we need to do a selection to prevent lost selection invariant.
in this PR the selection is changed from end to start and documentation added: https://github.com/facebook/lexical/pull/6220
tho im unsure what is the best way forward as there may still be the "jumping cursor" problem faced in this issue: instead of cursor jumping to end, it jumps to start
@wdyt @etrepum ?

If I were to design this API I would have it return an Array of parsed nodes that have not been inserted into the document yet and the user can decide how/where to insert and what to do about the selection (and clearing the target element node or not).
For this API in particular I think the best thing to do would be to write some documentation describing the current behavior, it's easy enough to manually select the beginning or the end as long as you know that's expected. The decision of beginning or end is arbitrary, and maybe you don't want to change the selection at all if the target node isn't the root and the selection was elsewhere. I don't think there's one correct answer for this API as currently designed.

FYI to whoever picks this up - in addition to the selectEnd() in createMarkdownImport, there are .select() operations in some of the Markdown transformers that can cause focus stealing, eg listReplace.


Add @alhadhrami to fans

Add @alhadhrami to fans

@yegor256/z please, pay attention to this pull request

@alhadhrami/z this pull request is too small, just 1 lines changed (less than 10), there will be no formal code review, see §53 and §28; in the future, try to make sure your pull requests are not too small; @yegor256/z please review this and merge or reject

@yegor256 I would appreciate the merge. Thanks!

@alhadhrami thanks!

Job gh:yegor256/elegantobjects.github.io#58 is not assigned, can't get performer


[Enhancement] Unwritten public or protected field[HeartbeatRequestBody]

Search before asking

[X] I had searched in the issues and found no similar issues.

Enhancement Request

located at:
eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/http/body/client/HeartbeatRequestBody.java line 70-75
analysis and explanation:
No writes were seen to this public/protected field.  All reads of it will return the default value.
Describe the solution you'd like

eventmesh-sdk-java/src/main/java/org/apache/eventmesh/client/http/consumer/EventMeshHttpConsumer.java line 120,121

eventmesh-runtime/src/main/java/org/apache/eventmesh/runtime/core/protocol/http/processor/HeartBeatProcessor.java line 115,116

Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

@Pil0tXia this issue has be resolved in other issue.

@scwlkq It seems you've mistaken the object class. This issue is still valid.


python3Packages.aiodiscover: init at 1.3.2

Motivation for this change
Python module to discover hosts via ARP and PTR lookup
https://github.com/bdraco/aiodiscover
This will become a Home Assistant dependency.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

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

6 packages built:

python38Packages.aiodiscover
python38Packages.async-dns
python38Packages.pytest-raises
python39Packages.aiodiscover
python39Packages.async-dns
python39Packages.pytest-raises

Result of nixpkgs-review pr 118176 at dd98712f run on x86_64-linux 1

4 packages failed to build:

python38Packages.aiodiscover
python38Packages.async-dns
python39Packages.aiodiscover
python39Packages.async-dns

2 packages built successfully:

python38Packages.pytest-raises
python39Packages.pytest-raises

2 suggestions:

warning: python-include-tests
Consider adding a checkPhase for tests, or if not feasible, pythonImportsCheck.
Near pkgs/development/python-modules/aiodiscover/default.nix:47:0:
   |
47 |     description = "Python module to discover hosts via ARP and PTR lookup";
   | ^

warning: missing-patch-comment
Please add a comment on the line above, explaining the purpose of this patch.
Near pkgs/development/python-modules/aiodiscover/default.nix:25:5:
   |
25 |     (fetchpatch {
   |     ^

Note that build failures may predate this PR, and could be nondeterministic or hardware dependent.
Please exercise your independent judgement.

Considering we have the dhcp component tests enabled, can you look into the requested changes quickly, so we can do the home-assistant release tomorrow without having to wait for this package?

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

6 packages built:

python38Packages.aiodiscover
python38Packages.async-dns
python38Packages.pytest-raises
python39Packages.aiodiscover
python39Packages.async-dns
python39Packages.pytest-raises

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

6 packages built:

python38Packages.aiodiscover
python38Packages.async-dns
python38Packages.pytest-raises
python39Packages.aiodiscover
python39Packages.async-dns
python39Packages.pytest-raises


Change GitHub source links to prevent link rot

Previously the commit reference was generated with rev-parse --abbrev-ref. This would return a name that wasn't actually fixed to the proper commit. For instance, when run at the most recent commit, it returns the branch name (i.e., master). Links using that will always point to the most recent commit in that branch, even though the source files change and lines move.
This makes links not point to where they're supposed to go, and can cause them to fail entirely if the file is renamed. Example: in TypeDoc's own API, all of these links 404 because the files they referenced no longer exist in the current repository branch.
Using the --short option returns the first 7 characters of the commit SHA1 hash, which GitHub will resolve to be the exact point that the documentation was generated at, even after more commits are made later.

I built this off of commit 71ab648c because it was the last working build that I saw.
It's a trivial change. I can easily change this where it's currently living too.

In the spirit of making things easy and enabling people, I updated this to be build off of master.
So now the build fails, of course, because it was broken to begin with, but you can merge it easily!
For an actual working demonstration, you can check out my fix-links-working branch. Or if the current master branch builds on your own machine, then you can just use that.


Laravel relationship not working

When Declaring a model with an hasMany
<?php

class Company extends Model{
    /**
     * @Field()
     * @return Address[]|HasMany
     */
    public function addresses():array {
        return $this->hasMany('App\Address');
    }
}

I got this message:
  "message": "Return value of App\\Company::addresses() must be of the type array, object returned",
  "exception": "Symfony\\Component\\Debug\\Exception\\FatalThrowableError",

is this intended? I expect to directly query the related model
NB: i'm using v4 dev-master on laravel 6

Hey @XPOL555 ,
What you describe is logic.
$this->hasMany('App\Address'); returns a "HasMany" object that is not "traversable".
When you want to go through your collection, you call "$this->addresses", not "$this->addresses()".
So GraphQLite needs to target the magic property and not the method. Since GraphQLite has no way to target a magic property (I'm working to improve that), you need instead to apply the @Field annotation on a getter that wraps the property. So here is what you want to do:
class Company extends Model{
    public function addresses() {
        return $this->hasMany('App\Address');
    }

    /**
     * @Field()
     * @return Address[]
     */
    public function getAddresses():iterable {
        return $this->addresses;
    }

}

Let me know, this should work.

Thank you @moufmouf for the quick reply and... yess! It works like magic! Thank you so much.
I also changed to a belongsToMany with a pivot table and still works.

@moufmouf just migrated from dev to v4 and had no issues - great work guys!


Add a shorcut "open a terminal here" on Windows

On Windows, the file explorer does not provide any "open a terminal here" shortcut.
Add a bat file which just runs cmd to easily open a terminal directly in the scrcpy directory (so there is no need to cd C:\path\ …).

I don't understand how it's related to ScrCpy. What was added?

I don't understand how it's related to ScrCpy.

It's for convenience to get easily a terminal in the correct directory on Windows, to execute adb or scrcpy with arguments.

What was added?

If you look at the change, you can see a new file open_a_terminal_here.bat.

@rom1v Can you please demonstrate a scenario of when it's useful, and how to use it?
Suppose I open ScrCpy. Now I mirror the device on the PC. Now what?

Can you please demonstrate a scenario of when it's useful, and how to use it?

Double click on open_a_terminal_here.bat, and in the terminal write for example:
scrcpy --record file.mp4

Now your session is recorded.

Suppose I open ScrCpy. Now I mirror the device on the PC.

The terminal is used to open scrcpy with arguments. Don't open scrcpy before the terminal.

For future reference, holding Shift adds "open X here" to the Windows Explorer context menu for Terminal, PowerShell, etc.

@RiggiG OK but how is it related to ScrCpy? And why is it essential?
BTW, on Windows 11, when I right click (without Shift), I can already see "Open in Windows terminal". Maybe I've installed something for that though

@RiggiG

For future reference, holding Shift adds "open X here" to the Windows Explorer context menu for Terminal, PowerShell, etc.

Oh, thank you, I didn't know that.

@rom1v another fast way to open terminal in current dir, type "cmd" or "powershell" in windows explorer path bar.


The ms-appinstaller protocol has been disabled.

I see that a very short note has been added to the docs mentioning the error. But it doesn't explain why this is happening or how to enable it. It's worked great in the past so I'm not sure what's changed.
Can you please expand on the note to give us that were using this feature more information?
https://docs.microsoft.com/en-us/windows/msix/app-installer/installing-windows10-apps-web
The ms-appinstaller protocol has been disabled. Please ask the vendor to update the weblink. For more information go to aka.ms/ms-appinstaller-disabled

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

ID: 0414d22b-2b74-000f-9d7b-47f6dcb0e45e
Version Independent ID: 0e72ec33-b8ad-af27-bcb9-16a45936e2a1
Content: Installing Windows 10 apps from a web page - MSIX
Content Source: msix-src/app-installer/installing-windows10-apps-web.md
Product: msix
GitHub Login: @dianmsft
Microsoft Alias: diahar

Hi @billvenhaus thank you for your question. We removed the ms-appinstaller custom scheme due to a security vulnerability. We do intend to bring this back, and are working on it. For now, you can just update the link to be like this:
`

 MyApp Web Page
 Install app package
 Install app bundle
 Install related set

`

Thanks, that worked! Maybe not quite as nice as before since it requires an extra click from the user, but it's simple enough:)


/proc/fs/lustre/sptlrpc/encrypt_page_pools stats

There's another missing stats file used for Lustre's GSS/Kerberos support:
# cat /proc/fs/lustre/sptlrpc/encrypt_page_pools
physical pages:          16465072
pages per pool:          512
max pages:               2058134
max pools:               4020
total pages:             0
total free:              0
idle index:              100/100
last shrink:             1015775s
last access:             1015775s
max pages reached:       0
grows:                   0
grows failure:           0
shrinks:                 0
cache access:            0
cache missing:           0
low free mark:           0
max waitqueue depth:     0
max wait time:           0/1000
out of mem:             0

The implementation is in lustre-release.git/lustre/ptlrpc/sec_bulk.c:
int sptlrpc_proc_enc_pool_seq_show(struct seq_file *m, void *v)
{
[...]
        seq_printf(m, "physical pages:          %lu\n"
                   "pages per pool:          %lu\n"
                   "max pages:               %lu\n"
                   "max pools:               %u\n"
                   "total pages:             %lu\n"
                   "total free:              %lu\n"
                   "idle index:              %lu/100\n"
                   "last shrink:             %lds\n"
                   "last access:             %lds\n"
                   "max pages reached:       %lu\n"
                   "grows:                   %u\n"
                   "grows failure:           %u\n"
                   "shrinks:                 %u\n"
                   "cache access:            %lu\n"
                   "cache missing:           %lu\n"
                   "low free mark:           %lu\n"
                   "max waitqueue depth:     %u\n"
                   "max wait time:           "CFS_TIME_T"/%lu\n"
                   "out of mem:             %lu\n",
                   totalram_pages, PAGES_PER_POOL,
                   page_pools.epp_max_pages,
                   page_pools.epp_max_pools,
                   page_pools.epp_total_pages,
                   page_pools.epp_free_pages,
                   page_pools.epp_idle_idx,
                   (long)(ktime_get_seconds() - page_pools.epp_last_shrink),
                   (long)(ktime_get_seconds() - page_pools.epp_last_access),
                   page_pools.epp_st_max_pages,
                   page_pools.epp_st_grows,
                   page_pools.epp_st_grow_fails,
                   page_pools.epp_st_shrinks,
                   page_pools.epp_st_access,
                   page_pools.epp_st_missings,
                   page_pools.epp_st_lowfree,
                   page_pools.epp_st_max_wqlen,
                   page_pools.epp_st_max_wait,
                   msecs_to_jiffies(MSEC_PER_SEC),
                   page_pools.epp_st_outofmem);
[...]
}

@knweiss Are these statistics that you find useful in your use of Lustre? We're trying to prioritize across a few other targeted sources (client data and lnet data being the big two we had in mind). If this is a high-priority target, we'll prioritize it as such.

Right now, it's low priority.
However, a colleague wants to enable the GSS/Kerberos support in his latest Lustre installation and was interested in these metrics when I asked him today.

Once I finish all of my current refactors, I will get started on this. If you have any information on these metrics (specifically, something I can use for help text), that will speed up the process for me.


Add our (massive) L3 router port relationship patch so we can track it.

Previously, we were cherrypicking this from an abandoned review.openstack.org
patchset.  We should host this ourselves for icehouse, because we won't need it
in stable/juno, and who knows when the Openstack Infra team will clean up old,
abandoned reviews like this one.

This patch differs from upstream code in Juno:
class Router(model_base.BASEV2, models_v2.HasId, models_v2.HasTenant):
     """Represents a v2 neutron router."""

     name = sa.Column(sa.String(255))
     status = sa.Column(sa.String(16))
     admin_state_up = sa.Column(sa.Boolean)
-    gw_port_id = sa.Column(sa.String(36), sa.ForeignKey('ports.id'))
+    gw_port_id = sa.Column(
+        sa.String(36),
+        sa.ForeignKey('ports.id', ondelete="SET NULL"))

This is the result of a periodic bug we've noticed while running this in production:
1.  An akanda router VM is deleted via `nova boot`.
2.  Nova attempts to delete the gateway port for the router.
3.  This deletion fails because of this constraint (because the router still references the Port ID.  When a gateway port is deleted, the `gw_port_id` column on the router should be set to NULL).
4.  Because akanda-rug can't delete the router VM (and thus, create a new one), the failed-to-delete router VM is stuck in a perpetual state of ERROR.

...so we'll either need to get this one-liner merged into Juno (I'd argue that this actually a bug in this code in Juno) or patch on top of Juno neutron.


Horizontal Line null call when HorizontalLineLabel is not specified

Describe the bug
If you create a line chart with a HorizontalLine in ExtraLinesData without specifying a HorizontalLineLabel for this line, then it will cause a null call in fl_chart >= 0.8.5. Of course, this can be circumvented by specifying a line label with a resolver returning an empty string.
The error is as follows:
The following NoSuchMethodError was thrown building LineChart(duration: 150ms, dirty, dependencies: [MediaQuery], state: _LineChartState#25ae0(ticker active)):
The getter 'padding' was called on null.
Receiver: null
Tried calling: padding

#0      Object.noSuchMethod (dart:core-patch/object_patch.dart:53:5)
#1      HorizontalLineLabel.lerp (package:fl_chart/src/chart/line_chart/line_chart_data.dart:759:34)
#2      HorizontalLine.lerp (package:fl_chart/src/chart/line_chart/line_chart_data.dart:655:34)
#3      lerpHorizontalLineList.<anonymous closure> (package:fl_chart/src/utils/lerp.dart:61:29)
#4      new List.generate (dart:core/list.dart:165:28)
...

To Reproduce
Create a horizontal line in a line chart without specifying the label parameter. For example, a line chart with this:
extraLinesData: ExtraLinesData(horizontalLines: [HorizontalLine(y: 10.0, color: Colors.green, strokeWidth: 3)]),
Versions
Flutter: Lastest stable
FlChart: 0.8.5

Fixed in 0.8.6,
Thanks for reporting!


make the parameters of Docker-Java configurable

What problem does this PR solve?
Issue Number: close #xxx
Problem Summary:
What is changed and how it works?
Proposal: xxx
What's Changed:
How it Works:
make the parameters of Docker-Java configurable

@Al-assad  Thank you so much for pointing out my bad code 🙏

@Al-assad  It has been fixed


[FR]: Have QbitManage not remove empty category directories

Is your feature request related to a problem? Please elaborate.
Qbitmanage removes empty category directories when an orphaned file removal or cleanup empties it. This can cause errors in other software which reference the category directories, such as cross-seed. However, it does not appear to remove the empty category directories when no cleanup occurs.
Describe the solution you'd like
QBitmanage could check the directories it wishes to remove against the "cat" section in the config and only remove empty directories above the categories. This could potentially be an option if this would for some reason mess up other setups.
Does your solution involve any of the following?

[X] New config option
[ ] New command option

Describe alternatives you've considered
I have considered having a script just run at an interval to recreate the folders since Qbitmanage does not remove them if there are no cleanup operations within the directory. However, this is janky. I may still implement this alternative though in the meantime.
Who will this benefit?
Users of other programs which touch Qbittorrent's downloads directory.
Additional Information
e.g. I have a category /data/qbittorrent/sonarr_uhd which is often empty since I avoid UHD shows to conserve disk space. Qbitmanage can remove /data/qbittorrent/sonarr_uhd/randomshow1 when empty but keep /data/qbittorrent/sonarr_uhd.

I am having the same issue where it deletes the folder then cross-seed and the starr apps get a little angry. The starr apps do recreate the folder, however cross-seed will error out.


Make engine aware of ephemeral mode

Codecov Report
Base: 100.00% // Head: 100.00% // No change to project coverage :thumbsup:

Coverage data is based on head (7610af2) compared to base (271f78c).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff            @@
##            master      #414   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files          123       123
  Lines        11541     11549    +8
=========================================
+ Hits         11541     11549    +8

Impacted Files
Coverage Δ

fugue/execution/api.py
100.00% <100.00%> (ø)

fugue/execution/execution_engine.py
100.00% <100.00%> (ø)

fugue/workflow/workflow.py
100.00% <100.00%> (ø)

fugue_duckdb/execution_engine.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Changes in lr

I got different learning rate curves in two identical experiments, do you understand the reason?

It looks like the first image is the desired result

In the first picture my device uses only one GPU while the second uses 7. Is this the reason?

Hi @zsgj-Xxx,
Thanks for posting this issue!
1 - Yes the reason is from running on single gpu vs multi-gpu.
specifically, Ranger21 will attempt to compute the warmup phase based on a calculation from Beta2.  That ends up at roughly 2000 iterations.
However, it will then compare that proposed warmup as a percentage of your total iterations and if it exceeds 30% of the total run, then it will recompute based on total iterations.
This was to handle where someone might be doing super short runs and thus the algorithmic calc from beta2 makes no sense.
What is likely happening above is that on your single gpu, the beta2 makes sense as all iterations are being done in one place.
When farmed out to 7 gpus, then the algorithmic amount exceeds the 30% threshold so it defaults to a percentage of what is being run on each gpu...thus the lr curve ends up different in single vs multi-gpu.
Note that you can control the lr warmup percentage directly if you like via the Ranger21 params as well to over-ride any of the above.
Hope that helps clarify though, and also thanks for showing the lr curves as that make's it much easier to confirm that it is expected behaviour.
(longer term still working on an automated lr scheduler which would obviate needing two different calculations in the first place, but not ready yet).

Hi, thank you for your reply. I reset the optimizer parameters

After my training, I compared the result with that of Ranger and found an interesting phenomenon
this is ranger

this is ranger21

The loss of ranger21 fluctuates a little too much. Is it because my parameters are not set correctly?
And I found that the curve of learning rate didn't seem to reach the set value

After a long period of preheating, the learning rate did not reach the set value. When the decline began, the learning rate suddenly returned to the set value and began to decline（At about 72, the learning rate suddenly goes up and then goes down）
Your work is very meaningful！！！

I think I found the problem. I observed that self.current after the warm-up stopped, lr is always adding the last step state of preheating, without adding the current latest lr,  so the lr curve drawn is not correct, or you should modify it
        if step >= warmup:             if not self.warmup_complete:                 self.warmup_complete = True             self.current_lr = lr             return lr

Hi @zsgj-Xxx,
Thanks very much for the screenshots and pointing out this issue.
I'm reviewing now and testing - it appears I had an incorrect >=  instead of just > for if step >= warmup:
Thus, the lr is stopped one iteration short of the full lr b/c the last iteration is = and thus skips it.
I've changed to if step > warmup to allow it to process that last iteration which should get it to full lr set point.
I've also added a check to always verify this was achieved, and to print out a line when full warmup is processed.
I'm testing to make sure it's all working and then will check in.

Hi @zsgj-Xxx,
I've checked in a fix.
In addition, I've added a new show_schedule()   to make it easier to see the lr curves as well as min/max/start values.
Mostly since having this kind of visualization helps to ensure Ranger21 is doing the right thing in all scenarios.
Thanks again for spotting this issue!

Thanks for the quick reply, I'm not quite sure how to set some of the other parameters yet, looking forward to your demo


Errors in the template

http://prntscr.com/gbhg32

We already took care of that, will be available with the next  update.


TextFormField typed some Chinese, it will flash a blue line on Android devices

Steps to Reproduce

TextFormField(
                    autovalidate: true,
                    style: TextStyle(fontSize: 16),
                    controller: _contentController,
                    maxLength: 500,
                    maxLines: 6,
                    decoration: InputDecoration(
                      border: InputBorder.none,
                      filled: true,
                      fillColor: Colors.grey[200],
                      hintStyle:
                          TextStyle(color: Colors.grey[400], fontSize: 16),
                      hintText: "填写10个字以上的问题描述或意见建议，以便我们更好地提供帮助",
                    ),
                    validator: (String v) {
                      return v.trim().length > 0 ? null : '请输入内容';
                    },
                  )

Logs

[  +31 ms] executing: [D:\d\flutter\] git log -n 1 --pretty=format:%H
[ +110 ms] Exit code 0 from: git log -n 1 --pretty=format:%H
[   +2 ms] bd9d31abd9e11a4cd691c431db69cee0ad407f85
[        ] executing: [D:\d\flutter\] git describe --match v*.*.* --first-parent --long --tags
[  +86 ms] Exit code 0 from: git describe --match v*.*.* --first-parent --long --tags
[        ] v1.6.7-33-gbd9d31abd
[  +11 ms] executing: [D:\d\flutter\] git rev-parse --abbrev-ref --symbolic @{u}
[  +72 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/master
[        ] executing: [D:\d\flutter\] git ls-remote --get-url origin
[  +72 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[ +115 ms] executing: [D:\d\flutter\] git rev-parse --abbrev-ref HEAD
[  +78 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] master
[  +88 ms] executing: D:\d\Program Files\Android\Sdk\platform-tools\adb.exe devices -l
[  +42 ms] Exit code 0 from: D:\d\Program Files\Android\Sdk\platform-tools\adb.exe devices -l
[        ] List of devices attached
           37ff6895               device product:hero2qltezc model:SM_G9350 device:hero2qltechn transport_id:6
           emulator-5554          device product:sdk_gphone_x86 model:Android_SDK_built_for_x86 device:generic_x86
           transport_id:1
[  +68 ms] More than one device connected; please specify a device with the '-d <deviceId>' flag, or use '-d all' to act on alldevices.
[   +5 ms] D:\d\Program Files\Android\Sdk\platform-tools\adb.exe -s 37ff6895 shell getprop
[ +190 ms] ro.hardware = qcom
[   +4 ms] D:\d\Program Files\Android\Sdk\platform-tools\adb.exe -s emulator-5554 shell getprop
[  +78 ms] ro.hardware = ranchu
[   +2 ms] SM G9350                  • 37ff6895      • android-arm64 • Android 8.0.0 (API 26)
[   +1 ms] Android SDK built for x86 • emulator-5554 • android-x86   • Android 9 (API 28) (emulator)
[   +9 ms] "flutter run" took 570ms.
[        ] "flutter run" took 570ms.

#0      throwToolExit (package:flutter_tools/src/base/common.dart:24:3)
#1      RunCommand.validateCommand (package:flutter_tools/src/commands/run.dart:275:7)
<asynchronous suspension>
#2      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:467:11)
<asynchronous suspension>
#3      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:424:33)
<asynchronous suspension>
#4      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:29)
<asynchronous suspension>
#5      _rootRun (dart:async/zone.dart:1124:13)
#6      _CustomZone.run (dart:async/zone.dart:1021:19)
#7      _runZoned (dart:async/zone.dart:1516:10)
#8      runZoned (dart:async/zone.dart:1463:12)
#9      AppContext.run (package:flutter_tools/src/base/context.dart:152:18)
<asynchronous suspension>
#10     FlutterCommand.run (package:flutter_tools/src/runner/flutter_command.dart:415:20)
#11     CommandRunner.runCommand (package:args/command_runner.dart:196:27)
<asynchronous suspension>
#12     FlutterCommandRunner.runCommand.<anonymous closure>
(package:flutter_tools/src/runner/flutter_command_runner.dart:396:21)
<asynchronous suspension>
#13     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:29)
<asynchronous suspension>
#14     _rootRun (dart:async/zone.dart:1124:13)
#15     _CustomZone.run (dart:async/zone.dart:1021:19)
#16     _runZoned (dart:async/zone.dart:1516:10)
#17     runZoned (dart:async/zone.dart:1463:12)
#18     AppContext.run (package:flutter_tools/src/base/context.dart:152:18)
<asynchronous suspension>
#19     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:356:19)
<asynchronous suspension>
#20     CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:111:29)
#21     new Future.sync (dart:async/future.dart:224:31)
#22     CommandRunner.run (package:args/command_runner.dart:111:11)
#23     FlutterCommandRunner.run (package:flutter_tools/src/runner/flutter_command_runner.dart:242:18)
#24     run.<anonymous closure> (package:flutter_tools/runner.dart:60:20)
<asynchronous suspension>
#25     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:29)
<asynchronous suspension>
#26     _rootRun (dart:async/zone.dart:1124:13)
#27     _CustomZone.run (dart:async/zone.dart:1021:19)
#28     _runZoned (dart:async/zone.dart:1516:10)
#29     runZoned (dart:async/zone.dart:1463:12)
#30     AppContext.run (package:flutter_tools/src/base/context.dart:152:18)
<asynchronous suspension>
#31     runInContext (package:flutter_tools/src/context_runner.dart:54:24)
<asynchronous suspension>
#32     run (package:flutter_tools/runner.dart:51:10)
#33     main (package:flutter_tools/executable.dart:62:9)
<asynchronous suspension>
#34     main (file:///D:/d/flutter/packages/flutter_tools/bin/flutter_tools.dart:8:3)
#35     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:298:32)
#36     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:171:12)

Analyzing chips_flutter...

   info - This function has a return type of 'Future<bool>', but doesn't end with a return statement -
          lib\feedback_widget.dart:16:18 - missing_return
   info - This function has a return type of 'Route', but doesn't end with a return statement - lib\main.dart:89:26 -
          missing_return
   info - This function has a return type of 'Future<bool>', but doesn't end with a return statement -
          lib\medal_widget.dart:36:18 - missing_return
   info - This function has a return type of 'Future<bool>', but doesn't end with a return statement -
          lib\profile_widget.dart:35:36 - missing_return
   info - This function has a return type of 'Future<bool>', but doesn't end with a return statement -
          lib\rank_overview.dart:34:18 - missing_return
   info - This function has a return type of 'Future<bool>', but doesn't end with a return statement -
          lib\task_widget.dart:33:18 - missing_return

6 issues found. (ran in 12.8s)

[√] Flutter (Channel master, v1.6.8-pre.33, on Microsoft Windows [Version 10.0.17763.529], locale zh-CN)
    • Flutter version 1.6.8-pre.33 at D:\d\flutter
    • Framework revision bd9d31abd9 (4 hours ago), 2019-06-03 03:28:55 -0400
    • Engine revision 184b6e36e8
    • Dart version 2.3.2 (build 2.3.2-dev.0.0 224f82c21c)

[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at D:\d\Program Files\Android\Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • ANDROID_HOME = D:\d\Program Files\Android\Sdk
    • Java binary at: D:\d\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
    • All Android licenses accepted.

[√] Android Studio (version 3.3)
    • Android Studio at D:\d\Program Files\Android\Android Studio
    • Flutter plugin version 32.0.1
    • Dart plugin version 182.5215
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)

[√] IntelliJ IDEA Ultimate Edition (version 2018.1)
    • IntelliJ at D:\d\Program Files\JetBrains\IntelliJ IDEA 2018.1.1
    • Dart plugin version 181.4445.29

[√] Connected device (2 available)
    • SM G9350                  • 37ff6895      • android-arm64 • Android 8.0.0 (API 26)
    • Android SDK built for x86 • emulator-5554 • android-x86   • Android 9 (API 28) (emulator)

• No issues found!

Hi @huangbao21
Are you still experiencing this issue?
Thank you

@huangbao21
I can't reproduce it with flutter v1.16.1
Please comment if the issue still persists and I'll reopen it
Thank you


Remove unnecessary checkout in binder button action

I discovered this a few hours ago, I was going to suggest making this cleanup and using it as an example for binderhub but now you've posted it on https://github.com/machine-learning-apps/repo2docker-action/issues/25#issuecomment-649616185 😀.

Hmmm, I guess to post a comment you need access to the GITHUB_TOKEN, which isn't accessible in PRs from external contributors?

No it isn't accessible from forks because of the way secrets work in Actions.... thanks for the change though


Status condition from unstructured object

Issue #, if available:
Description of changes:
This PR adds a change to convert unstructured object into a known type so that we can we can reuse the standard condition handling methods. Making this change in response to - https://github.com/kubernetes-sigs/karpenter/pull/1248#discussion_r1605242106
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Closing this out since we went a different direction. We'll re-open this if we think that this is needed later down the line.


Permit users to attack with a ship weapon

We might be able to hook the ship attack rolls to permit rolling from the character sheet as normal.

This strays too far into the "system rules" functionality.


Why is callbackUrl stored in a cookie?

Your question
Hello! I'm having a hard time understand the workflow around callbackUrl. Perhaps you could explain this some more
What are you trying to do
I'm trying redirect users to a protected landing page after signing in (/app/welcome for example). I seem to be able to control this using the "site" config option, however it gets added to a "next-auth.callback-url" cookie. Which doesn't work great for my use case as it means that if I were to change the location of this landing page (say for example I now want users to get sent to /app/welcomev2), users would still get the old page until the cookie gets cleared.
Am I misunderstanding the intent of the callback url?
Thanks!
Documentation feedback
Documentation refers to searching through online documentation, code comments and issue history. The example project refers to next-auth-example.

[ ] Found the documentation helpful
[x] Found documentation but was incomplete
[ ] Could not find relevant documentation
[ ] Found the example project helpful
[ ] Did not find the example project helpful

Great question! A cookie is used because not all Providers support tracking the URL the user came from and we want to return them to the page they started their authentication flow once they are signed in. NextAuth.js can be used without a database so we don't really have the option of storing it securely anywhere else.
You can provide the callbackUrl either as an option to the signIn() or signOut() client functions or as a form parameter when signing in. Any value specified should override the previous value.
Before redirecting (and also when saving the URL to the cookie) the redirect() callback is called. You can take advantage of this to change where the user ends up by returning a different URL from the callback, so that if they have a different cookie value saved you can ignore it and tell the system to redirect them somewhere else. This callback also prevents bad actors from injecting malicious values that point to other sites.


Fixes disable_cool and disable_auto along with localisation

This PR fixes jmcollin78/versatile-thermostat-ui-card#14 including the following:

Renamed disable_eco to disable_auto to allow auto HVAC mode to be hidden
Fixes a bug where disable_cool would actually hide auto and vice versa
Adds localisation for disable_auto and disable_cool

Optional things to do:

[ ] Check localisation
[x] Add disable_heat_cool and localisation
[x] Add disable_dry and localisation
[x] Add disable_fan_only and localisation

Changes have been tested. Below screenshot shows localisation for disable_cool which was missing for en and the ability to disable_auto.

Added the ability to disable the 3 missing HVAC modes (heat_cool, dry, fan_only). However these are untested as I have no thermostats with those options. Updated PR with task to test them.

Using a Custom thermostat I was able to test and verify heat_cool, dry and fan_only.

Also verified that all possible HVAC modes work