Reducing memory usage while evaluating reflective EL expressions

This change fixes https://bz.apache.org/bugzilla/show_bug.cgi?id=69381 by caching the JVM-provided Method[].  The OpenJDK compiler creates duplicate Method objects on every call to Class.getMethods(), which is an expensive task that is only made worse on complex classes that have more Methods.
ClassLoader leaks are avoided by keying off the class' name (String) and storing the Method[] in a WeakReference<Method[]>.  The cost of the concurrency is easily outweighed by the savings from not duplicating dozens of objects, as demonstrated from output in the modified TestELParserPerformance provided at the bottom of this PR body.
Key points from the data:

Non-reflective expressions are unaffected.
For a bean with 10 methods, this logic is 42% faster.
For a bean with 20 methods, this logic is 57% faster
The new code still scales by number of Methods, but the growth is far less (4% vs 40%).

Original:
${beanA.name} duration=[599ms] or 599 ns each
${beanA.name} duration=[337ms] or 337 ns each
${beanA.name} duration=[330ms] or 330 ns each
${beanA.name} duration=[331ms] or 331 ns each
${beanA.name} duration=[330ms] or 330 ns each
Result: name
${beanA.getName()} duration=[1586ms] or 1586 ns each
${beanA.getName()} duration=[1401ms] or 1401 ns each
${beanA.getName()} duration=[1477ms] or 1477 ns each
${beanA.getName()} duration=[1401ms] or 1401 ns each
${beanA.getName()} duration=[1398ms] or 1398 ns each
Result: name
${beanB.getName()} duration=[1921ms] or 1921 ns each
${beanB.getName()} duration=[1972ms] or 1972 ns each
${beanB.getName()} duration=[1969ms] or 1969 ns each
${beanB.getName()} duration=[1970ms] or 1970 ns each
${beanB.getName()} duration=[1974ms] or 1974 ns each
Result: name

Optimized:
${beanA.name} duration=[570ms] or 570 ns each
${beanA.name} duration=[336ms] or 336 ns each
${beanA.name} duration=[330ms] or 330 ns each
${beanA.name} duration=[330ms] or 330 ns each
${beanA.name} duration=[330ms] or 330 ns each
Result: name
${beanA.getName()} duration=[990ms] or 990 ns each
${beanA.getName()} duration=[807ms] or 807 ns each
${beanA.getName()} duration=[814ms] or 814 ns each
${beanA.getName()} duration=[815ms] or 815 ns each
${beanA.getName()} duration=[812ms] or 812 ns each
Result: name
${beanB.getName()} duration=[883ms] or 883 ns each
${beanB.getName()} duration=[848ms] or 848 ns each
${beanB.getName()} duration=[848ms] or 848 ns each
${beanB.getName()} duration=[848ms] or 848 ns each
${beanB.getName()} duration=[848ms] or 848 ns each
Result: name

I was also surprised recently to discover that the JVM does not cache results of Class.getMethods and similar calls. Maybe it's returning a clone each time, but either way it takes time and generates garbage.
So there is a (positive) GC impact of this change as well.

Any caching approach needs to consider the case of two classes in different web applications with the same name but different structures. Essentially, caching needs to be per class loader.

I'd also like to see the key remove from the cache when the value expires.

I'd also like to see the key remove from the cache when the value expires.

+1
So I think your technique @jengebr is good, but the cache just needs to be pulled-up into the application scope or similar. Definitely don't cache directly in the Util class. It probably needs to be in a class that is loaded into the application's ClassLoader to be as clean as possible.
Actually, I think we must not change the javax.el.Util class, right?

Thanks, I get your points about caching scope and cleanup.
@ChristopherSchultz what prevents changes to javax.el.Util?

This complexity led me to try a fallback plan, which can be faster: if the method has zero parameters, retrieve the Method by name.  This works because there is no confusion about parameter types.  Example:
        if (paramTypes.length == 0) {
            try {
                Method method = clazz.getMethod(methodName, paramTypes);
                return method;
            } catch (NoSuchMethodException | SecurityException e) {
                // fall through to broader, slower logic
            }
        }

Test data shows this is 2x faster than caching for the fast case, and has no appreciable impact on the others.  That's an excellent outcome for my application, not sure how you feel about the general case?

@ChristopherSchultz what prevents changes to javax.el.Util?

That class doesn't "belong" to us. Depending upon how it changes, we might fail the TCK. It's just better to put it in something under org.apache.whatever.

Actually, it does belong to us. It isn't part of the public API. We are free to change it how we wish. If you compare our version to the equivalent code in the EL API JAR from Jakarta EE there are various differences.

I'm fine with the zero-arg optimisation. If others want the more general caching solution it can still be implemented.

I'm planning on applying this manually to main and then back-porting. So far I've made the following changes:

refactored the inner test classes to align with the rest of the package
ignored the caching code that wasn't (fully) removed
Called Util.getMethod() before returning to address some test failures caused by visibility issues

Just running the full test suite before committing to check I haven't missed anything.

Those were the only changes required. Fix applied to main, 11.0.1, 10.1.x and 9.0.x.

Thank you so much!  :)


[Question] 监控周期能不能加一个批量修改，服务器数量多的话改起来很麻烦

Question
监控周期能不能加一个批量修改，服务器数量多的话改起来很麻烦

maybe you can use the monitors batch import.

If you have such a need, the current recommendation is to directly execute the update statement to modify the hzb_monitor table


Add label to FloatingActionMenu

Can I add label to mMenuButton in FloatingActionMenu when it has opened?

Also interested in this. I am trying to implement Google Inbox app alike behavior, to change icon on menu opened and set lebel on menu button.  I see this is on schedule for 1.6.0, and i have tried to merge pull request https://github.com/Clans/FloatingActionButton/pull/32 but it does not work, and i have some difficulty understanding why.


Make text and choice instanceable

Resolved by https://github.com/ember-theater/ember-theater/commit/828212152f028ea63e2d800a9892824b46e95b3c.


fix: handle webhook availability in test

What this PR does / why we need it:
Retries webhook test stuff if the webhook isn't up yet.
Which issue this PR fixes
fix #100

Given the annoyance with the error unwrapping and that it makes sense anyway, I looked at making the Pod not ready unless the webhook is already running, but it looks like we're already doing that? Is there any reason that
https://github.com/Kong/gateway-operator/blob/7ef1b7c9f6cce381e1f2b208e1cbaaf106f221ea/internal/manager/run.go#L173
isn't preventing this from happening at all? We already block tests on the Deployment having at least one available replica, so if it's not actually running the server yet it shouldn't proceed with the test.
Checking it directly with a TCP connection is an option but in E2E we don't have easy access to it; we'd need a way into the cluster network or modify manifests to make it a LoadBalancer.

Checking it directly with a TCP connection is an option but in E2E we don't have easy access to it; we'd need a way into the cluster network or modify manifests to make it a LoadBalancer.

This is actually something I had suggested before, a temporary LB to get access from outside. That said, if there's a way we can make the readiness work rather than having to do this that is the ideal solution.

I am further convinced that this just shouldn't happen, so rather than proceed here with something that ignores the error or adds further readiness checks on the test side, I want to catch a failure after https://github.com/Kong/gateway-operator/pull/123 to try and determine how the heck we're getting connections refused at this point.
We may find that it's something unavoidable, in which case I plan to proceed with the error string scrape approach. Converting back to a draft until we understand the failure better.


[New] New support of Python 3.10

Summary of this new feature
To support Python 3.10, add tests with Python 3.10.
CovsirPhy version I used: 2.25.0

Reference for full test with Python 3.10
https://github.com/actions/setup-python/issues/160

The following error was raised.
       Traceback (most recent call last):
        File "/opt/hostedtoolcache/Python/3.10.6/x64/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 156, in prepare_metadata_for_build_wheel
          hook = backend.prepare_metadata_for_build_wheel
      AttributeError: module 'ext' has no attribute 'prepare_metadata_for_build_wheel'

      During handling of the above exception, another exception occurred:

      Traceback (most recent call last):
        File "/opt/hostedtoolcache/Python/3.10.6/x64/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
          main()
        File "/opt/hostedtoolcache/Python/3.10.6/x64/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/opt/hostedtoolcache/Python/3.10.6/x64/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 160, in prepare_metadata_for_build_wheel
          whl_basename = backend.build_wheel(metadata_directory, config_settings)
        File "/tmp/pip-install-nfd3s0t1/datatable_a3070a130bc54a49a8069aebae7b80c1/ci/ext.py", line 587, in build_wheel
          so_file = build_extension(cmd=("debug" if debug_wheel else "build"),
        File "/tmp/pip-install-nfd3s0t1/datatable_a3070a130bc54a49a8069aebae7b80c1/ci/ext.py", line 360, in build_extension
          ext.build()
        File "/tmp/pip-install-nfd3s0t1/datatable_a3070a130bc54a49a8069aebae7b80c1/ci/xbuild/extension.py", line 439, in build
          self._run_prebuild_triggers()
        File "/tmp/pip-install-nfd3s0t1/datatable_a3070a130bc54a49a8069aebae7b80c1/ci/xbuild/extension.py", line 488, in _run_prebuild_triggers
          fn(self)
        File "/tmp/pip-install-nfd3s0t1/datatable_a3070a130bc54a49a8069aebae7b80c1/ci/ext.py", line 369, in generate_documentation
          import gendoc
      ModuleNotFoundError: No module named 'gendoc'

This is due to datatable version 1.0.0 does not support Python 3.10.
Because the datatable version 1.1.0a support Python 3.10, we will use 1.1.0a for a while before 1.1.0 release.
https://github.com/h2oai/datatable/issues/3210
https://github.com/h2oai/datatable/issues/3245

However, the following error was raised when publishing with makepypi.
Building covsirphy (2.26.0)
  - Building sdist
  - Built covsirphy-2.26.0.tar.gz
  - Building wheel
  - Built covsirphy-2.26.0-py3-none-any.whl

Publishing covsirphy (2.26.0) to PyPI
 - Uploading covsirphy-2.26.0-py3-none-any.whl FAILED

HTTP Error 400: Invalid value for requires_dist. Error: Can't have direct dependency: 'datatable @ git+https://github.com/h2oai/datatable.git ; python_version >= "3.10" and python_version < "4.0"' | b'<html>\n <head>\n  <title>400 Invalid value for requires_dist. Error: Can\'t have direct dependency: \'datatable @ git+https://github.com/h2oai/datatable.git ; python_version >= "3.10" and python_version < "4.0"\'

pip does not allow installation of a dependency with URL. Until datatable v1.1.0 release, we will notify users to install datatable with URL before covsirphy installation.

This is related to https://github.com/python-poetry/poetry/issues/2828

Follow-up with #1159 after closing this issue.


Provide angular semantic highlighting.

Currently atom does not properly highlight "{{scope.myvar}}", it highlights everything the string color.
And inside ng attributes
  C

WebStorm handles angular highlighting nicely.

Now, syntax highlighting for expressions looks like above.
Did you use document type as "HTML(Angular)"

No doctype is just HTML when ng-app in body. I have partial templates with
no doctype defined.
On Sun, Apr 19, 2015, 3:45 AM JeongHoon Byun (aka Outsider) <
<EMAIL_ADDRESS>wrote:

[image: 2015-04-19 19 42 32]
https://cloud.githubusercontent.com/assets/390146/7219124/607b3a3c-e6cc-11e4-8075-4056d460d22b.png
Now, syntax highlighting for expressions looks like above.
Did you use document type as "HTML(Angular)"
—
Reply to this email directly or view it on GitHub
https://github.com/angular-ui/AngularJS-Atom/issues/26#issuecomment-94262707
.

I means Atom's document type, not HTML doctype. See right of bottom in above screenshot.
HTML is default for .html. So, this package support HTML (Angular).

I was just trying to figure this out myself. Thanks! I didn't think to check the Atom doctype.

@KellyTeresa Good!


Add docstrings for LabelModel, Baseline, Logger

Add docstrings for labeling/model

Switch LabelModel loss functions to be private

Test Plan
Edit test to match private loss function

Great job with the examples for the baselines!! Quite a few formatting issues here that I think pydocstyle is supposed to catch. Was running it through tox not showing a warning?


[BUG] Raw format backing image unable to transfer to other nodes to maintain minumum number of copies in Talos v1.8.3

Describe the bug
Setting up Talos v1.8.3 by the refined terraform script, and install Longhorn and try to create a backing image with minimum number of copies = 3 using a raw format image from the url https://longhorn-backing-image.s3-us-west-1.amazonaws.com/parrot.raw:

It fails to transfer the backing image to other nodes to maintain minimum number of copies:

The error message encountered is:
found mismatching realSize 1773568 reported by backing image manager backing-image-manager-b2c6-c910
in disk c9103764-6323-4a5a-9d3c-87087408ae76, the realSize recorded in status is 1777664

qcow2 format doesn't have this issue:

Talos v1.7.6 doesn't have this issue:

https://ci.longhorn.io/job/public/job/master/job/talos/job/amd64/job/longhorn-tests-talos-amd64/14/testReport/
To Reproduce
Create a backing image from the url https://longhorn-backing-image.s3-us-west-1.amazonaws.com/parrot.raw.
Or run test case test_backing_image_basic_operation.
Expected behavior

Support bundle for troubleshooting
supportbundle_4db44568-eea6-4a67-8284-b2f0f942804e_2024-12-02T06-24-44Z.zip
Environment

Longhorn version: master-head
Impacted volume (PV):
Installation method (e.g. Rancher Catalog App/Helm/Kubectl): kubectl
Kubernetes distro (e.g. RKE/K3s/EKS/OpenShift) and version: v1.31.1

Number of control plane nodes in the cluster: 1
Number of worker nodes in the cluster: 3

Node config

OS type and version: talos v1.8.3
Kernel version:
CPU per node:
Memory per node:
Disk type (e.g. SSD/NVMe/HDD):
Network bandwidth between the nodes (Gbps):

Underlying Infrastructure (e.g. on AWS/GCE, EKS/GKE, VMWare/KVM, Baremetal):
Number of Longhorn volumes in the cluster:

Additional context

Workaround and Mitigation

cc @ChanYiLin

Fix together in https://github.com/longhorn/longhorn/issues/9882

Hi @yangchiu
Can you help to verify if this is fixed in Talos, thanks!

Verification passed on master-head (longhorn-manager ) and v1.8.x-head (longhorn-manager ). Backing images can be created without any issues, and corresponding test cases passed.
master-head: https://ci.longhorn.io/job/public/job/master/job/talos/job/amd64/job/longhorn-tests-talos-amd64/45/
v1.8.x-head: https://ci.longhorn.io/job/public/job/master/job/talos/job/amd64/job/longhorn-tests-talos-amd64/46/


lein plugin fails to find java

zerusski@:~$ jenv enable-plugin lein
lein plugin activated
zerusski@:~$ jenv enable-plugin export
export plugin already enabled
zerusski@:~$ lein
/usr/local/bin/lein: line 119: /Users/zerusski/.jenv/versions/oracle64-<IP_ADDRESS>/bin/java       : No such file or directory
zerusski@:~$ ls /Users/zerusski/.jenv/versions/oracle64-<IP_ADDRESS>/bin/java
/Users/zerusski/.jenv/versions/oracle64-<IP_ADDRESS>/bin/java
zerusski@:~$ jenv --version
jenv 0.4.4
zerusski@:~$ brew info jenv
jenv: stable 0.4.4, HEAD
Manage your Java environment
http://www.jenv.be
/usr/local/Cellar/jenv/0.4.4 (77 files, 65.2K) *

Disabling the lein plugin magically cures lein.

I've reproduced the problem. Will be fixed in next version

I can confirm this too when I tried to jack-in with CIDER with the lein plugin enabled.

FYI this helps:
https://github.com/gcuisinier/jenv/issues/147#issuecomment-230703031

the issue for me was this line
https://github.com/gcuisinier/jenv/blob/master/libexec/jenv-exec#L22
exportVariable(){
   exportedValues="$exportedValues:$1"
   export $1="$2 $3 $4 $5 $6 $7 $8 $9"
}

removing the quotes from export $1="$2  $3 $4 $5 $6 $7 $8 $9" fixed the issue for me.
(but I end up just disabling lein plugin, and use export plugin instead with lein)

I also had this issue with the latest master, and was able to fix it using @shanipribadi's change.  Can we get this, or something with the same effect, merged in?


mvn install fails on MacOS Ventura

Running mvn install on MacOS Ventura to generate the native artifacts currently fails due to a mismatch between the prototype function signatures and the actual function signatures. make generates the following error message:
../libwfssl/src/threads.c:154:22: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
void ssl_thread_setup()
                     ^
                      void
1 error generated.
make: *** [target/threads.o] Error 1
[ERROR] Command execution failed.

I've created https://issues.redhat.com/browse/SSLNTV-38 to track this so am going to close this GitHub issue.
Thank you very much for reporting this!


Comparison with the Inequality Operator and Comparison with the Strict Inequality Operator inconsistent formatting

Describe your problem and how to reproduce it:
These task has inconsistent code where task is pretty much the same. I would believe that freecode camp should use same code style everywhere. If one task has comments, second should have them too.
Basic JavaScript: Comparison with the Inequality Operator
Basic JavaScript: Comparison with the Strict Inequality Operator
Add a Link to the page with the problem:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-inequality-operator
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-strict-inequality-operator

Sorry If I wan't clear. But yes I am referring to the comments

@arnas I’ll work on this. Also I think that the first one is better.


Inconsistencies in original-dataframe mutation

Old is re: reorder_columns: Does not mutate original DataFrame. I'm thinking about modding it to do so to be consistent with everything else I implemented.
Edit:
In working on the Jupyter Notebook example walkthrough for pyjanitor, I'm noticing some inconsistencies regarding whether the original DataFrame is changed after an operation in the provided example. My notes:

.clean_names() does not mutate
.remove_empty() does
.rename_column() does not
.coalesce() does not
.encode_categorical() does
.convert_excel_date() does

What do we think about this?

@ericmjl @szuckerman - I updated this post and would like your thoughts.

@zbarry I'm glad you brought this up, this has also been on my mind for a while.
I'm in favour of standardizing, but like the inplace=True/False issue, it means we may end up having to place a burden on new contributions to ensure that the functions conform to what we decide now. Both standardizing on mutating the original and not mutating the original will result in technical debt. We just have to decide which one we want more. Unlike the inplace=True issue, this is one that is related to the performance of pyjanitor, rather than the public-facing API.
Let me write down some of my thoughts at this point.
As we all probably know, standardizing on not mutating the original dataframe probably means that we will likely incur a memory and performance cost for large dataframes. Every function would then have to explicitly copy the original dataframe and only make modifications on the modified one.
Standardizing on mutating the original dataframe might be technically more long-winded, which makes development just a teeny bit more difficult. For example, I'm not quite sure how to implement .coalesce() in a way that mutates the original. Maybe I'm not well-versed in the pandas API.
In terms of what users will notice, speed is definitely a thing. However, I think of the pandas userbase as being pareto distributed, with 20% dealing with @zbarry's scale of data. The other 80% deal with in-memory data.
@szuckerman, do let us know what you think here. With 3 of us, we won't need a tiebreaker vote. I'm happy to go both ways, though my current inclinations lean towards a lazier form of development.

Happy to pick up the slack re: technical debt ;)

@ericmjl @szuckerman
Alright, I had some inspiration last night and think I might have come up with a user-friendly, explicit approach to operating in place when working with pyjanitor functions.
To somewhat sum up the previous discussion:

It's really confusing that some janitor functions mutate the original dataframe, and others do not
For contributors, low barrier-to-entry to implementing their desired functionality is beneficial - if they don't think in place for speed / efficiency is necessary, one has to consider the extra burden enforcing in place by default might impose on them
For high-performance applications, dataframe copying is a big performance problem
In my own experience, I've accidentally mutated dataframes I did not mean to. "Explicit is better than implicit" is not happening here.

Proposed solution
The pyjanitor modus operandi would be as follows:

By default, no pyjanitor functions touch the original dataframe
Users must specify that they want pyjanitor operations on a dataframe to happen in place
In place operations are meant for computational efficiency only. There is no guarantee that a method chain has returned the original dataframe. This lack of guarantee removes a bit of technical debt that would force us to make all functions have the capability to operate in place.

So how can this be done in a clean way?
Implementation
Two functions are implemented: a decorator mutates_dataframe and a pf-registered function operate_inplace. The former indicates that a pyjanitor function modifies the data in the original dataframe. Any function that modifies data must be wrapped in the decorator. The purpose of the decorator is to check if the user has specified whether they want to operate in place whenever possible when they use pyjanitor functions. If the user has not specified this, yet the given pyjanitor function does indeed operate on the original data, the decorator copies the dataframe before piping it into the actual implementation. This will enforce that the original data is never touched by pyjanitor unless the user very explicitly wants it to be.
The decorator is implemented as follows:
def mutates_dataframe(func):
    """
    A decorator for functions that mutate dataframes.

    In the case where in place operations are not desired,
    this function will make a copy of the dataframe before
    executing your desired pyjanitor function.
    """

    @wraps(func)
    def wrapper(df, *args, **kwargs):
        try:
            if not df._janitor_operate_inplace:
                df = df.copy()
        except AttributeError:
            df = df.copy()

        return func(df, *args, **kwargs)

    return wrapper

The operate_inplace pandas flavor registered function will be called by the user as the first step in a chain when they want pyjanitor to use inplace=True or equivalent as much as possible. Again, no guarantee that copying never happens. operate_inplace takes an optional kwarg make_copy (currently by default False) which is a one-call version of df.copy().operate_inplace() when the user would like the computational benefits of in place operations without mutating the original data. Since by default, pyjanitor does not mutate the original dataframe, it might actually make more sense to keep with this paradigm when operating in place and have the user again explicitly specify that you don't care if there is a chance the original data is modified (for an additional memory / performance advantage).
operate_inplace is implemented as:
@pf.register_dataframe_method
def operate_inplace(df, make_copy=False):

    if make_copy:
        df = df.copy()

    df._janitor_operate_inplace = True

    return df

All this function does besides the copying if desired is to set a flag that the decorator checks to see if it should copy the dataframe before calling the actual function implementation.
Now, given the pyjanitor example pipeline, the following is guaranteed to not modify df:
df = pd.read_excel('examples/dirty_data.xlsx')
cleaned_df = (
    df
    .clean_names()
    .remove_empty()
    .rename_column("%_allocated", "percent_allocated")
    .rename_column("full_time_", "full_time")
    .coalesce(["certification", "certification_1"], "certification")
    .encode_categorical(["subject", "employee_status", "full_time"])
    .convert_excel_date("hire_date")
    .reset_index_inplace(drop=True)
)

For increased speed, the user can now explicitly specify to use in place ops whenever possible:
df = pd.read_excel('examples/dirty_data.xlsx')
cleaned_df = (
    df
    .operate_inplace()
    .clean_names()
    .remove_empty()
    .rename_column("%_allocated", "percent_allocated")
    .rename_column("full_time_", "full_time")
    .coalesce(["certification", "certification_1"], "certification")
    .encode_categorical(["subject", "employee_status", "full_time"])
    .convert_excel_date("hire_date")
    .reset_index_inplace(drop=True)
)

Demo
Find my notebook demonstration of the concept here, where I'm taking the demo from the pyjanitor notebook walkthrough and modifying all the pyjanitor functions (I don't import janitor here; I just copy the necessary functions into the notebook) to have an in place mode.

There's a ton of good ideas here, and I really like the .operate_inplace() solution.
Just my own 2 cents:
I think that everything should mutate inplace by default, but also return the DataFrame.
This way, the following code snippets are similar:
df = (df.clean_names()
        .remove_empty())

df.clean_names()
df.remove_empty()

I personally find the latter more readable, but understand how most code is written in the former way.
If people do not want to mutate their DataFrames inplace, they could just do this, similar to the .operate_inplace() suggestion:
df = (df.copy()
        .clean_names()
        .remove_empty())

df2=df.copy()
df2.clean_names()
df2.remove_empty()

I think it's important for Pandas to have arguments whether to mutate in place or not since there are many situations where users are working with Pandas interactively and inadvertently messing up data could be a problem in the middle of an analysis.
I look at pyjanitor as being more like a SQL query. It's run at the beginning of an analysis and then one interactively performs EDA or other statistics on the data. In that case, we don't have to be as careful about returning in place or not. If someone messes their data up, they just run the pyjanitor cell again as they would with a SQL pull.
Also, there's some functions like df.add_column('a', value) that don't make sense if they don't mutate in place. One would have to do df = df.add_column('a', value) which isn't much different from df['a'] = value. Just having df.add_column('a', value) is cleaner.

Sorry for delay; on vacation.
Definitely agree that df.func() is a lot cleaner than df = df.func(). Something I'm not sure about, though, is whether it is even possible with pandas to make sure all the functions we (will) provide in pyjanitor mutate the original dataframe. In the case where a function cannot mutate the df, you now have an exception to the "df.func() instead of df=df.func()" rule that users will have to memorize (which was the originating issue behind this discussion).
As @jcmkk3 pointed out, inplace= is going away... Functions like clean_names which rely on  DataFrame.rename will no longer have the ability to then operate on the original dataframe object, further hampering an effort to make sure all janitor functions are guaranteed to mutate it.
As a side note, if we're interested in going with the function call to indicate to avoid copying as much as possible, we might want to consider changing the name of the proposed operate_inplace method, then.

I look at pyjanitor as being more like a SQL query. It's run at the beginning of an analysis and then one interactively performs EDA or other statistics on the data. In that case, we don't have to be as careful about returning in place or not. If someone messes their data up, they just run the pyjanitor cell again as they would with a SQL pull.

@szuckerman This has been my pattern of usage as well. I load in data, do some preprocessing, and then use the data in some other downstream modelling. The biggest win for me has been in interactively shaping the data until I get it right. Later on, when making presentations on how the data were preprocessed, I'm able to read off the data preprocessing steps pretty easily so I don't miss any key steps in my talks.


Prefilling on previously cached games runs again

    I just updated to the latest version and now I am experiencing this issue as well. Was working fine prior to update.

Originally posted by @reg98643t in https://github.com/tpill90/steam-lancache-prefill/issues/114#issuecomment-1306422827

It might be easier for you @reg98643t to message me on Discord so we can chat about this.  My username on Discord is the same as my Github username

I have the same problem.

I fixed it by deleting everything to do with prefill, installing it fresh and then running prefill again. It had to "download" the files again but when it was done it was working properly again.

This means you completely deleted the lancache?

No, just the files associated with the prefill program.

@reg98643t @reg98643t It sounds like everything eventually resolved itself for you.  Thinking about this some more, I believe that I accidentally caused this for some people when I moved the file that tracks previous downloads out of the Cache dir into the Config dir : https://github.com/tpill90/steam-lancache-prefill/issues/202
The intention for doing this was actually to hopefully avoid this exact scenario in the future, so I apologize for the confusion about it.
I'm going to close this issue for now, but please feel free to reopen it if anything changes.


Issue with view publish

No reflaction on change of published views.

Could you explain more?

I've publish views, and tried to make modification but changes were not showing.

You can publish views and you need to create your controller!
But, we will add new features for editing the current views without needing an extra controller.
php artisan vendor:publish --tag="laravel-user-monitoring-views"

php artisan vendor:publish --tag="laravel-user-monitoring-views"
Publishes in resources/views/laravel-user-monitoring but should be in resources/views/vendor/LaravelUserMonitoring.
Relocated in resources/views/vendor/LaravelUserMonitoring, works fine!

And thanks for the package!


Ticdi 320

Added a page for Grazing Lease and added Grazing Lease to the manage templates page

DEV deployments have completed successfully!
Backend available
Frontend available

Your Pull Request code is being promoted!  Please follow the link below.
Main Merge Workflow


How to get operational attributes

Hi again :relaxed:
Sorry for bothering. I am looking for a way to retrieve also operational attributes from a search. I specifically need for a way to obtain the values for memberOf associated to an entry that belongs to some groupOfNames.
Is there any way to do that easily?
Thanks again for this nice library!

As usual, a simple try:
LDAPConnection.search("dn_of_the_entry", attrlist=["memberOf"])

This returns (if the entry exists):
[{'dn': <LDAPDN dn_of_the_entry>, 'memberOf': <list_of_dn_of_the_groups>}]

Thanks again :)


Add it to zigmod

This library doesn't show up at https://zig.pm/
You can add it by submitting it to https://github.com/ziglibs/repository, or at least adding zig-package to the GitHub tags.

I've added zig-package to the GitHub tags.


CI against JRuby 9.4 instead of JRuby 9.3

JRuby <IP_ADDRESS> is now available on setup-ruby.
https://github.com/ruby/setup-ruby/releases/tag/v1.136.0
JRuby 9.4 is MRI 3.1 compatible and JRuby 9.3 is MRI 2.6 compatible. JRuby 9.3 is still supported as a RuboCop runtime, but presumably any new JRuby issues found may be fixed in JRuby 9.4. And MRI 2.6 will be dropped from the runtime in the not distant future.
So, JRuby 9.3 will not be retained and will be replaced by JRuby 9.4 because CI latency.

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[ ] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[ ] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

Thanks!


Changed some things and new stuff themed

I've been working on this for about a week, but then the owner published #36 , so I create a new one 😉.
This pull request has some changes on most parts of the app, and also themed some areas that were not.
I'm keeping this a draft PR for a while.
~I'm posting screenshots tomorrow~
Changes made:

Global variables:

Applied them to light theme for server create modal (why Discord hasn't done a dark themed modal of that yet??)
Changed background modifiers to make them updated with Discord's accessibility change made a week ago.
Discord added a new variable to make all inputs the same, so it's now used in the theme as well.

Experiments:

Forums themed; these new types of channels are publicly available on some servers, so why not theme them already.
Home tab; this is not available to everyone yet, but I themed it.

Most of the pages have been updated to make them as similar to how Discord would like them (e.g. the colors between them); still respecting the colors of this theme.

Boost page, guild audit log, some sections in settings, search in guild, pinned messages, inbox, slash commands.

Server create modal redraw.
Other changes:

People in voice indicator themed.
Bar sliders themed (e.g. the slider found in slowmode settings).
Keybind set input fixed.
Invite friends tile themed (found in voice call when alone).
Changed a few modals: student hub, server join from link, server leave feedback, membership screening, event info (suggestion from #33), screenshare.

Regarding the forums and the home tab, maybe I should remove them from this PR and move it to a dedicated one for the future when they are actually released to the public (?)
Forums:

Home Tab (full):

Home Tab (when width <1300):

Server create modal:

Modals 1:

Modals 2:

Changes made between commit 568731013adfd5d84ca82ad6d50e74efbf876bba and 13de4609ad8b1b524bb660550b080a35093b41de:

I messed up with commits, that's why there are some reverts

Changes made on commit 32e1c28e0eb92952168efc0cbc9875bff891de7e:

Account switcher themed; it seems they are releasing it to the public or a small group of people.

Add servers to student hub fixed.
Invite banner upsell themed.
Server discovery settings themed.

Changes made on commit ff53e49fe22539e79b612367f5f0fa3a7fe4908f:

Color picker themed.
Server template preview themed.

Changes made between commit d42945293ddb47aebf562d8d8c1e7e469522e934 and f9edd2abbac19765c9fc48e2720613e404ecca22:

Fixed file upload input; hover prop. was shared with the keybind set input.
Home feed events card themed.
Fixed bar sliders; microphone sensitivity.
Fixed attachments on the post create text box in forums channels.
Add bot to server modal themed.
Tooltips themed.

LGTM.
I don't know if it is needed to bump the theme version. I think it already had to be done with #36 as it had many fixes.
Regarding the forums and the home feed, at the time of writing this comment, everything is correctly themed, I don't know if anything could change later. Both are currently usable and are found on some specific servers.

Sick👍
Appreciate your help and effort btw


feat(): support ios/md attribute of ion-icon

Support  ios/md attribute:
<ion-icon name="logo-ionic" ios="add" md="remove"></ion-icon>

@rdlabo thank you for the contribution, you are amazing! Would you be able to rebase this feature branch against the latest to resolve the merge conflict?

@sean-perkins  Thanks for checking, I've merged the main branch and resolved the conflicts.
Please check this.

Thanks for the merge. This is all the behavior I want to make better for now.
I look forward to the day when EXPERIMENTAL is removed from this tool and more people will use it.


Update docs to make Supervisord keep running

By default supervisord is configured to only restart jobs that terminate unexpected. SlmQueue does terminate correctly if one of its stopping criteria is met. However this does not mean that supervisord should not restart them. In fact: it should!

:+1:


[Event Request] Codeunit 226 "CustEntry-Apply Posted Entries" - CustPostApplyCustLedgEntry()

Dear BaseApp team,
It would be very useful if we could suppress the "Posting application..." message in CustPostApplyCustLedgEntry procedure :

Please consider to add the "IsHandled" pattern to this dialog.
Thanks

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Can't install compiled eggs

I compiled the Python egg packages as described in the documentation (https://carla.readthedocs.io/en/latest/build_system/).
However when I try to install them I get the following error message:
Processing carla-0.9.7-py3.6-linux-x86_64.egg
Traceback (most recent call last):
  File "/home/user1/.pyenv/versions/3.6.9/bin/easy_install", line 11, in <module>
    sys.exit(main())
  File "/home/user1/.pyenv/versions/3.6.9/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 2316, in main
    **kw
  File "/home/user1/.pyenv/versions/3.6.9/lib/python3.6/site-packages/setuptools/__init__.py", line 143, in setup
    return distutils.core.setup(**attrs)
  File "/home/user1/.pyenv/versions/3.6.9/lib/python3.6/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/home/user1/.pyenv/versions/3.6.9/lib/python3.6/distutils/dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "/home/user1/.pyenv/versions/3.6.9/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/home/user1/.pyenv/versions/3.6.9/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 418, in run
    self.easy_install(spec, not self.no_deps)
  File "/home/user1/.pyenv/versions/3.6.9/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 660, in easy_install
    return self.install_item(None, spec, tmpdir, deps, True)
  File "/home/user1/.pyenv/versions/3.6.9/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 705, in install_item
    dists = self.install_eggs(spec, download, tmpdir)
  File "/home/user1/.pyenv/versions/3.6.9/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 851, in install_eggs
    return [self.install_egg(dist_filename, tmpdir)]
  File "/home/user1/.pyenv/versions/3.6.9/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 909, in install_egg
    dist = self.egg_distribution(egg_path)
  File "/home/user1/.pyenv/versions/3.6.9/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 897, in egg_distribution
    metadata = EggMetadata(zipimport.zipimporter(egg_path))
zipimport.ZipImportError: not a Zip file: 'carla-0.9.7-py3.6-linux-x86_64.egg'
The command '/bin/sh -c bash -ic 'easy_install --user --no-deps carla-0.9.7-py3.6-linux-x86_64.egg'' returned a non-zero code: 1

Any ideas what the issue could be?

@sergi-e could you please help with this and perhaps update the documentation accordingly?

I had a similar error but I'm not sure what to do
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 360, in run
prefix=options.prefix_path,
File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 784, in install
**kwargs
File "/usr/lib/python2.7/dist-packages/pip/req/req_install.py", line 851, in install
self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
File "/usr/lib/python2.7/dist-packages/pip/req/req_install.py", line 1064, in move_wheel_files
isolated=self.isolated,
File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 478, in move_wheel_files
generated.extend(maker.make(spec))
File "/usr/share/python-wheels/distlib-0.2.6-py2.py3-none-any.whl/distlib/scripts.py", line 403, in make
self._make_script(entry, filenames, options=options)
File "/usr/share/python-wheels/distlib-0.2.6-py2.py3-none-any.whl/distlib/scripts.py", line 307, in _make_script
self._write_script(scriptnames, shebang, script, filenames, ext)
File "/usr/share/python-wheels/distlib-0.2.6-py2.py3-none-any.whl/distlib/scripts.py", line 281, in _write_script
self._fileop.write_binary_file(outname, script_bytes)
File "/usr/share/python-wheels/distlib-0.2.6-py2.py3-none-any.whl/distlib/util.py", line 548, in write_binary_file
with open(path, 'wb') as f:
IOError: [Errno 20] Not a directory: '/home/jaskaran/.local/bin/easy_install'


Units in filter query string

Would be nice to have an ability to provide units directly in the filter query, something like *.propery = 100 mm
Needs #12
Also relates to #2

Developer note:
Millimeters
mm  mm² mm³
Centimeters
cm  cm² cm³
Meters
m  m² m³
Inches
" in² in³
Feet
' ft² ft³
Feet and fractional inches
81' 5" - 414' 0" ² - 577' 2-3/4" ³
Feet and decimal inches
81' 5.2" - 413'² 141.1"² - 577'³ 407.61"³
Decimal Inches = Inches
Decimal Feet = Feet
Fractional inches
775-1/2" - 67108-1/2"² - 497345"³
Meters and centimeters
19 m 70.2 cm - 43 m² 2957.0 cm² - 8 m³ 150024.86 cm³
Points
55848.2 pt - 347890304.4 pt² -<PHONE_NUMBER>61.71 pt³
// 11' 2-5/16"
const feetsWithInchesWithFractionalPartRegex = /^(?<feets>[\d]+)'[\s]+(?<inch>[\d]+)-(?<fracinchintpart>[\d]+)\/(?<fracinchdenominator>[\d]+)"$/
// 11' 1/2"
const feetsWithFractionalInchesRegex = /^(?<feets>[\d]+)'[\s]+(?<fracinchintpart>[\d]+)\/(?<fracinchdenominator>[\d]+)"$/
// 11' 3"
const feetsWithInchesRegex = /^(?<feets>[\d]+)'[\s]+(?<inch>[\d]+)"$/
// 1"
const inchesOnlyRegex = /^(?<inch>[\d]+)"$/
// 11' or simple 11
const feetsOnlyRegex = /^(?<feets>[\d]+)('|)$/


test(plugin-htlc-eth-besu): fix assert mixup in refund-endpoint-invalid

In the bottom of the file:
packages/cactus-test-plugin-htlc-eth-besu/src/test/typescript/integration/plugin-htlc-eth-besu/refund-endpoint-invalid.test.ts
There is an assertion of a negative test case that verifies that incorrect
input correctly leads to a failure of the request.
It could be done by using a simple rejects assertion of Jest, but instead
a try catch block is used and there's some dead code in the form of some assertion
in there as well because the operation is never meant to succeed.
The problem is not just that it's dead code but also that it's making the test case
not work at all because if the operation ends up succeeding we are passing the test
anyway with the code as it is today.
    try {
      const refundRequest: RefundReq = {
        id,
        web3SigningCredential,
        connectorId,
        keychainId,
      };
      const refundResponse = await api.refundV1(refundRequest);
      expect(refundResponse.status).toEqual(200);
    } catch (error: any) {
      expect(error.response.status).toEqual(500);
    }

May I pick up this issue?

@Leeyoungone All yours, thank you in advance!


add config file for model chatglm2,gemma,yuan

PR types

PR changes

Description

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.huxinye seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

fix some dpo code and add a dpo dox

需要考虑软链到PaddleNLP/docs目录下


⚠ Bofrost.de has degraded performance

In d5dc7c8, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 814 ms

Resolved: Bofrost.de performance has improved in 704f150.


'Series' object has no attribute 'nonzero'

Function
Pytools.Prophet
Describe the bug
I have created virtual environment in Anaconda and installed all the required packages as per init file. After that I am able to start the project as well and when I start QlikSense desktop it shows adding all the capabilities. Issue is when I open any of the apps like Forecasting and other I am getting few errors like "'Series' object has no attribute 'nonzero'" in the Forecasting app and " No such file or directory: '..\models\NoShow-RF.joblib'" while using ML Predictions app.
Full error message from Python
Provide full stack trace for the error.
If using Qlik-Py-Start you can provide screenshots from the terminal. Make sure to go all the way up to the start of the errors.
Alternatively, you can provide the latest log files from ../qlik-py-tools/qlik-py-env/core/logs.
SSEPlugin.log
Error message in Qlik
Charts showing "Unknown Error"
Expression or load script used in Qlik
Pytools.Prophet([Month Start], Sum(Attendances), 'freq=M')
Environment:

OS [Windows 10]
Qlik Sense Desktop
SSE Version 7.0

Additional context
Add any other context about the problem here.
Looking forward for your response.
Regards,
Tauceef

Hi @tauceef ,
The first problem may be that you are using Anaconda. This extension is tested with vanilla Python 3.6 and does not support Anaconda. The initialization script sets up a Python virtual environment that is known to work with this Server Side Extension.
I don't have any reference to the nonzero attribute in the code, so I can't give any explanation to the error you're getting without a stack trace. The problem with the ML Predictions app just looks like the model may not exist. You will need to run the K-fold Cross Validation app to train the model. Take a look at the app dependencies under the Usage section.
I do strongly recommend using the Qlik-Py-Init script or the Docker container to setup the SSE.

Thanks Nabeel,
Its working now.


Change a bit how we manage RHOL/CRC

The logic was a bit broken and overly complicated for nothing.
Now, it's simple:

we detect if the VM exists
if so, we check if we can either re-use it or if we want a cleanup
if we want to clean it up, well, go that path, clean and boostrap it
if we can re-use it, stop there (but add the crc kubeconfig if wanted)
if VM does not exist, bootstrap it

That way, we should cover most of the potential cases, such as:

pre-provisioned CRC on a node (case for Zuul CI)
operator iterating on a specific deploy, not wanting to crash CRC and
wait for it to re-start on each iteration
brandh new env without anything

/lgtm


Add a setting hint for the Output panel font size

This closes #21237.

Thanks!

Cherry-picked for 3.0.7.


[Misc] Support TPU in initialize_ray_cluster

This PR adds support for TPUs in initializing Ray cluster.
Will also add HPU in the PR #6143

This PR was part of https://github.com/vllm-project/vllm/pull/5871, but separated out to get a quick review.


Goreleaser failing

Goreleaser fails with a claim about go.mod which isn't accurate on the surface:
loading go mod information
    • took: 2s
  ⨯ release failed after 2s                  error=failed to get module path: exit status 1: go: golang.org/x/term@v0.0.0-202109[27](https://github.com/vmware-tanzu/sonobuoy/runs/7904475579?check_suite_focus=true#step:4:28)222741-03fcf44c2211 requires
<EMAIL_ADDRESS>missing go.sum entry; to add it:
	go mod download golang.org/x/sys

Error: The process '/opt/hostedtoolcache/goreleaser-action/1.10.3/x64/goreleaser' failed with exit code 1

This failed for the last release and is failing now. I am unable to repro with an older version of goreleaser (1.4.3) but repro'd locally with the newer 1.10.3 version.
Locally, go mod tidy does nothing. Running the recommended go mod download... command also does nothing.

I was able to identify the issue, repro it, and have a fix ready.
The issue was that the goreleaser step of the release was set to use go1.16 and, as a result, had a different result when you do go mod tidy. This led to the goreleaser failure.


add babel plugin for displayName to README

What: Adding a link for the babel plugin for displayNames to the README and amending the description.

Why: Addresses issue #29

How: By editing the README and adding a link to the npm package.

Codecov Report

Merging #78 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master    #78   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          10     10
  Lines         106    106
  Branches       27     27
=====================================
  Hits          106    106

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 2f224f7...789b5a9. Read the comment docs.

npm-🚫🐜. 🌲 removed!

Yay! Thanks so much for your help and guidance - the YouTube/PayPal/Twitch talks, FEM, everything. This is my first time making a meaningful contribution to an open source project. Can't wait to see where it goes from here 😄

That's awesome! Good work!!


⚠ Bofrost.de has degraded performance

In 50e1b2c, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1494 ms

Resolved: Bofrost.de performance has improved in fc6d0eb after 54 minutes.


Update CONTRIBUTING.md

[Internal] Quick README.md update

AWS CodeBuild CI Report

CodeBuild project: codebuildgithubautobuildPro-fkVQbXRiQi6A
Commit ID: a6aff6ab3ddd35a732e93ac382379d393174ec5a
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


Plagiarism checks: Plagiarism cases for exams

Checklist
General

[x] I tested all changes and their related features with all corresponding user types on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Server

[x] I followed the coding and design guidelines.
[x] I added multiple integration tests (Spring) related to the features (with a high test coverage).
[x] I added @PreAuthorize and checked the course groups for all new REST Calls (security).
[x] I implemented the changes with a good performance and prevented too many database calls.
[x] I documented the Java code using JavaDoc style.

Client

[x] I followed the coding and design guidelines and ensured that the layout is responsive.
[x] Following the theming guidelines, I specified colors only in the theming variable files and checked that the changes look consistent in both the light and the dark theme.
[x] I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
[x] (Indirectly included at the loaded module) I added authorities to all new routes and checked the course groups for displaying navigation elements (links, buttons).
[x] I documented the TypeScript code using JSDoc style.
[x] I added multiple screenshots/screencasts of my UI changes.
[x] I translated all newly inserted strings into English and German.

Motivation and Context

This PR extends the plagiarism features present for course exercises to support exam exercises as well. This allows the instructors to conduct plagiarism checks and to set verdict for exams and allows students to see the plagiarism cases related to their exam submissions.
Description

New endpoint to list plagiarism cases for an exam for instructors are added. The existing components at client are extended toı support exam exercises.
Steps for Testing

Prerequisites:

1 Instructor
2 Students
1 Exam

1 Text Exercise with plagiarism case
1 Modeling Exercise with plagiarism case
1 Programming Exercise with plagiarism case

Log in to Artemis
Navigate to Course Administration
Make two similar submissions with both students.
As the instructor, set the end of working time of the exam to now and run plagiarism check from Exam Detail page > Exercise Groups > Detail page of one of the text/modeling/programming exercises > Check Plagiarism page.
Notify a student about the plagiarism.
With the notified student, ensure they cannot access any sensitive data for the related exam or the plagiarism case.
With the notified student, check if the exam result page shows the red Plagiarism Case button near the affected exercise.
As the instructor, set a verdict.
With the notified student, check if the plagiarism page shows the verdict (you can navigate there from the received notification or the Plagiarism Case/Resolved Plagiarism Case button near the affected exercise.
Repeat steps above for one of each text/modeling/programming exercise types in an exam.
Ensure that exam conduction is not affected and still working as before.
Access to repos belonging to programming exercises in exams working as before except when the student is notified for a relevant plagiarism case, in this case the student should be able to access all repos involved in that plagiarism case to compare files.

Review Progress

Code Review

[ ] Review 1
[ ] Review 2

Manual Tests

[ ] Test 1
[ ] Test 2

Test Coverage

Class/File
Branch
Line

Post.java
65%
86%

PlagiarismCaseResource.java
75%
95%

plagiarism-cases-instructor-view.component.ts
76.08%
100%

plagiarism-cases.service.ts
71.42%
100%

plagiarism-case-student-detail-view.component.ts
75%
95.83%

exam-detail.component.ts
75%
96.22%

exam-participation-summary.component.ts
79.77%
93.06%

Screenshots

@ge65cer @b-fein About the exam reset issue: I reproduced it locally and it turns out this was because of a foreign key in ModelElement referencing a Submission instance that should be deleted with the reset operation. I checked that ModelElements are not used in plagiarism checks, they are used by model training with Compass.
Since the cause of the issue is not related to plagiarism checks and since properly testing changes to the exam operations are extra important and I am not very familiar with Compass, I think it is better to address this problem in its own PR. I will create a new issue with more details and relevant stack trace.

@ge65cer @b-fein I fixed the issue with programming exercise files (access forbidden) and added some server tests for it, you can confirm it by navigating to the plagiarism case view with the same students you tested on TS5.

@ge65cer @b-fein I fixed the issue with programming exercise files (access forbidden) and added some server tests for it, you can confirm it by navigating to the plagiarism case view with the same students you tested on TS5.

@ge65cer

Problems with old plagiarism cases when the exam was reset that should be investigated

Explained in https://github.com/ls1intum/Artemis/pull/5620#issuecomment-1229520204

Do all the verdicts make sense for an exam, or should we maybe limit them to only plagiarism/non-plagiarism?

As far as I know, there are no plans to disable some verdicts for exams but we can discuss it with @krusche if you suggest warning and point deduction should be disabled.

The plagiarism case page for programming exercises can not load the files from the repositories (probably because the repository gets locked in exams?)

Explained in https://github.com/ls1intum/Artemis/pull/5620#issuecomment-1229521058

Do you plan to introduce a page listing all plagiarism cases for a student? (Idea of @b-fein)

Sounds useful, however this is also not present for course exercise plagiarism cases as well so they may be both added together in a future PR.

Button placement in the exam submission page should be optimized

Addressed in https://github.com/ls1intum/Artemis/pull/5620/commits/f4f6d87a16eb943d26261df6ed13e69c5017ec71

@b-fein

resetting an exam doesn’t clear existing cases

Explained in https://github.com/ls1intum/Artemis/pull/5620#issuecomment-1229520204

for programming exercises I can’t see the files of my or the other submissions in the case overview as I’m not allowed to access that endpoint

Explained in https://github.com/ls1intum/Artemis/pull/5620#issuecomment-1229521058

the calculations for the final points when using the grade bonus type were wrong (e.g., 3 +/- 0.9 = 5).

I think this comment belongs to https://github.com/ls1intum/Artemis/pull/5222, right?

Found a small responsive design issue, the button placement could be improved for smaller screens. You may do that here or in a follow-up.

@ge65cer Thanks for the review! I checked the responsiveness issue with the button, it seems the overlapping behavior with text exercises happens when the problem statement is empty. When I added it is displayed better and likewise when I removed the problem statement in develop branch, "View Results" button behaved similarly as well.

For the programming exercises, a horizontal scrollbar appears when it is shifted too much so the user is able to see the contents.
According to the findings above, it seemed that this responsiveness issue does not cause a critical problem so it makes sense to address these in a future PR as you already mentioned.


Can go to previuos changes, no detect the file

GitLens Version:
10.2.0
VSCode Version:
OS Version:
Windows 10
Steps to Reproduce:

I can fetch the repo, but if I click in the previous change its dosen't detect any change and show a error

And when I open gitlens panel it throws:

Thanks

Possible duplicate of #932

Same issue here. On start of VSCode it detects 2 repositories on the same path, for any repository - so then the compare gitRepo path returns undefined and breaks the logic.
Downgrading to git 2.24.0 resolved it for me!

Duplicate of #932


Documentation Update

I've converted the documentatioin that was in README.md, CONTRIBUTING.md and SYSTEMS.md into a github.io website with mkdocs. I've done some reformatting and reorganisation of the sections to make the navigation more logical to me. I've also removed the other files from the root of the repository and shortened README.md to just contain a short header and links to the website.
There's one limitation I've come across. Mkdocs can only build the website out of files in the docs/ directory. So I had to add links to apps/ and post-processing/ in docs/ to be able to link in the markdown files in them. This approach is suggested by mkdocs e.g. here

TODO: Publish a preview page in a subdirectory on pull request

Looks pretty good for the most part, but as discussed yesterday there are still a few formatting issues and hiccups with missing pages. Specifically:

Supported Benchmarks > Synthetic Benchmarks - All have list formatting issues.
Supported Benchmarks > Mini-apps > hpgmg - Missing README.
Supported Benchmarks > Mini-apps > sombrero - List formatting issues.
Supported Benchmarks > Applications > swift - Missing README.
Supported Systems - It's a bit annoying that the right menu collapses whenever you click a sub-category, but otherwise not a big deal.
ARCHER2 Tutorial - Various formatting issues, particularly when displaying bash output.

I've fixed the formatting issues you found @pineapple-cat, and the most obvious ones I could find in the ARCHER2 tutorial. Thanks to @giordano suggestions you can see a preview of the deployed website here


match graph colors to home page colors

tricky because applying styles to the graph element classes doesn't always work (e.g., arrow tips are markers with a url, not a discrete element)

duplicate


Save Configuration

This module currently modifies the active (running) configuration but does not save it.  The module should add a new parameter to save the active configuration to the startup configuration.  The default should be True.

Hi,
Is the save configuration feature intended to assist Netmiko in saving the running config of a Cisco IOS device?

@spirrello:
The save configuration feature would allow the Ansible module to copy the running config to the startup config for any supported platform.
Unfortunately, I don't have the time to put toward this at this time.


Use pre-compiled sccache

Compiling sccache takes a lot of time when building the images. We could instead download the binaries from GitHub:
https://github.com/mozilla/sccache/releases/tag/v0.2.15

Why not caching the sccache binaries? 🤡

Since we start with a 430MB image, add very little and and up with a 1.8GB rust-optimizer image, it seems like we ship all intermediate build artifacts of sccache to our users.

Good point. Removing the sccache artifacts at the end of the builds, or putting them into external storage will solve this.

We could instead download the binaries from GitHub:
https://github.com/mozilla/sccache/releases/tag/v0.2.15

Those binaries are for the sccache client, that lacks the functionality we're using. We either:

Stick to building the sccache binary; maybe for debug, to sped up building.
Download the binaries from another place, if we can find a suitable one.
Move to using client version of sccache.

An alternative to building every time is to build our own image (something like rust-optimizer-base), tag it and publish it, and then use it as a basis to building rust-optimizer. That is, moving stuff from the dockerfile to another dockerfile, for the base image.
I'm exploring alternatives. Will comment back on what I find.

Those binaries are for the sccache client, that lacks the functionality we're using.

Why do you think so? Is there more than one binary? As far as I know this "client" spawns a server automatically. There are also those commands:
        --start-server    start background server
        --stop-server     stop background server

Why do you think so?

I've downloaded the binary package, and the sccache-dist functionality is different to what is built with cargo install.

Deleting the build artifacts releases more than 1GB of disk space. Closing this; will add that change (removing intermediate stuff) under the #35 issue, along with switching to alpine.

Good. Then what remains here is a build time issue, which we consider acceptable for now.

I've downloaded the binary package, and the sccache-dist functionality is different to the sccache that is built with cargo install.

Did you see that for Linux there are two different binaries (sccache-dist and sccache)?

Did you see that for Linux there are two different binaries (sccache-dist and sccache)?

Not on the package I downloaded... thanks, will take a look at the other ones that are available for Linux.


[RESOLVED] CPU2 Temp: Temperature is above warning threshold: >70

Problem started at 12:45:27 on 2023.06.10
Problem name: CPU2 Temp: Temperature is above warning threshold: >70
Host: IDRAC_83
Severity: Warning
Operational data: Current value: 61 °C
Original problem ID: 28499
Event details in Zabbix: http://<IP_ADDRESS>/tr_events.php?triggerid=23263&eventid=28499

Problem has been resolved in 3m 0s at 12:48:27 on 2023.06.10
Problem name: CPU2 Temp: Temperature is above warning threshold: >70
Host: IDRAC_83
Severity: Warning
Original problem ID: 28499


Update QCSubmit for removal of ChemicalEnvironment class in OFFTK >0.14.1

Description
openff-toolkit 0.14.1 removed the deprecated ChemicalEnvironment class and its associated module. We only used this in one place (plus a re-export of an exception type). This PR cleans up that one call site as suggested by @j-wags.
Questions

[ ] Do we want to keep check_environments at all?

Status

[ ] Ready to go

Alright, I added a test showing the ValueError (mis)behavior we discussed and then made another check against the exception string to ignore the no toolkit case. I don't really think adding more conditions to the except is a good idea, but is there anything else to do? Does this change just need to wait on Matt's PR and for it to make its way into a toolkit release?


Few of the masks file are missing

i am trying the repo with building dataset , after running the clustering_mask few of the files generated are not in order and missing .

any solution for this ?

are you sure that the script ran successfully to completion? I don't think this should happen.

yes i ran the below script  was using multi gpu code line as
python -m torch.distributed.run --standalone --nnodes=1 --nproc_per_node 2 --max_restarts 0 /mnt/sdb1/sumant/act_nerf/nbs/mega-nerf-main/scripts/create_cluster_masks.py --config /mnt/sdb1/sumant/act_nerf/nbs/mega-nerf-main/configs/mega-nerf/building.yaml --dataset_path '/mnt/sdb1/sumant/act_nerf/building-pixsfm' --output '/mnt/sdb1/sumant/act_nerf/building-pixsfm/masktry2' --grid_dim 2 4
it displayed the two progress bar on i guess for the image count was 960 and second progress bar just run for 3 mins 10/10.

Strange - I'd recommend adding some print statements in the script to confirm that it is indeed findng '000009.pt' and see what's going on (for example add logging and https://github.com/cmusatyalab/mega-nerf/blob/main/scripts/create_cluster_masks.py#L203) (https://github.com/cmusatyalab/mega-nerf/blob/main/scripts/create_cluster_masks.py#L117)
For debugging you could lower the value of the --ray_samples parameter which should speed things up

Strange - I'd recommend adding some print statements in the script to confirm that it is indeed findng '000009.pt' and see what's going on (for example add logging and https://github.com/cmusatyalab/mega-nerf/blob/main/scripts/create_cluster_masks.py#L203) (https://github.com/cmusatyalab/mega-nerf/blob/main/scripts/create_cluster_masks.py#L117)
For debugging you could lower the value of the --ray_samples parameter which should speed things up

there are few typo error instead of .yaml it is .yml

Strange - I'd recommend adding some print statements in the script to confirm that it is indeed findng '000009.pt' and see what's going on (for example add logging and https://github.com/cmusatyalab/mega-nerf/blob/main/scripts/create_cluster_masks.py#L203) (https://github.com/cmusatyalab/mega-nerf/blob/main/scripts/create_cluster_masks.py#L117)
For debugging you could lower the value of the --ray_samples parameter which should speed things up

@hturki  the single gpu command lines is working fine , there is issue with multi-gpus command line


kubernetes.client.namespace not honored when using ConfigMap PropertySource and DefaultKubernetesClient

Given a Service A1 in namespace A and a POD B1 running in namespace B with the following ConfigMap for Pod B1:
apiVersion: v1
kind: ConfigMap
metadata:
  name: B1
data:
  application.yml: |-
    server:
      port: 8092
    spring:
      profiles: kubernetes
      cloud:
        kubernetes:
          client:
            namespace: A
          discovery:
            enabled: true
    A1:
      ribbon:
        NIWSServerListClassName: org.springframework.cloud.kubernetes.ribbon.KubernetesServerList
        KubernetesNamespace: A
        PortName: https

The DefaultKubernetesClient uses the namespace where POD B1's ConfigMap is applied instead of the value from kubernetes.client.namespace when asked to get all services from KubernetesDiscoveryClient#getInstances. The problem is that ConfigMapConfigProperties#determineSources set's the namespace for the client to the namespace the ConfigMap is deployed to.
Using the same configuration above with spring-cloud-configuration where the application.yml is served from a GIT repo work perfectly fine.

Update: Updated my bootrap.yml of Pod B1 the following way:
 cloud:
    kubernetes:
      reload:
        enabled: true
      config:
        name: B1
        namespace: A

And placed the ConfMap in namespace A. This does not resolve to problem, so I debugged a bit deeper and found that io.fabric8.kubernetes.client.Config.tryNamespaceFromPath(Config) is setting the namespace used in the client. Seams that the value from application.yml placed in the ConfigMap gets ignored ...

Can we take a step back and can you better describe what you are trying to do with this configuration?  I am not sure I understand what you are trying to achieve.

What I want to achieve is that a Pod running in namespace B can discover a service in namespace A.

You can opt in to discover services from all namespaces using spring.cloud.kubernetes.discovery.all-namespaces=true

Already tryed this but it didn't work either, can't remember why as it's quite a long time since I opened the issue.

Can you provide a complete, minimal, verifiable sample that reproduces the problem? It should be available as a GitHub (or similar) project or attached to this issue as a zip file.

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

I'm not willing to invest more time in this issue. I already invested a lot of time and effort to debug the issue and give you a description with the class and method name where things go wrong.
If you are not interested in fixing it, feel free to close the issue.


Cache headers for static resources

Checklist

[x] I've searched the issue queue to verify this is not a duplicate feature request.
[x] I've pasted the output of kargo version, if applicable.
[ ] I've pasted logs, if applicable.

Proposed Feature
Add cache headers to enable browsers to cache static assets.
Motivation
Kargo UI loads quite heavy static resources: ~5.3 mb of Javascript, and ~ 0.5 mb of CSS + fonts. Adding cache header would reduce load time and improve user experience.
Suggested Implementation
Cache headers needs to be added in dashboard hander: https://github.com/akuity/kargo/blob/da05fa797ba9b594711e4aecd8463df9ed7a0169/internal/api/server.go#L269

@rbreeze tentatively assigning to you. I think you are probably more familiar with the appropriate headers for a SPA than I am.


Establish Database according to Data Standard/Vocab on ICES SQL Server

@pcrjoana is it possible to get the up to date version of the data standard, so I can circulate to those willing to provide pilot data?

Database is created in SQL06; awaiting pilot data

database established - screening of data now possible

screening, sessions and import to DB work
Roles for users:
Sharepoint logins are in principle personal, this means that we would need to use EMDO codes to link logins so that all people from the same organisation can see the submissions
this would be a feature in the cetaceans management interface (admin); this would be a manual process where admins have to assign the EDMO's to the users.
@cmspinto to implement this feature

NikkiC is sending over an Excel with 2, 000 records of effort that can be also used here to test the database.


Getting this error when running python -m gpt_engineer.main example

File "", line 198, in _run_module_as_main
File "", line 88, in _run_code
File "C:\AVA Tech\gpt-engineer\gpt_engineer\main.py", line 66, in
app()
File "C:\AVA Tech\gpt-engineer\gpt_engineer\main.py", line 61, in main
messages = step(ai, dbs)
^^^^^^^^^^^^^
File "C:\AVA Tech\gpt-engineer\gpt_engineer\steps.py", line 31, in clarify
user = dbs.input["main_prompt"]
~~~~~~~~~^^^^^^^^^^^^^^^
File "C:\AVA Tech\gpt-engineer\gpt_engineer\db.py", line 18, in getitem
raise KeyError(key)
KeyError: 'main_prompt'

try python -m gpt_engineer.main projects\example

I have some problem..

I have some problem..

Oh i fixed it
Mind you, in my case the problem was that the forward slash was reversed to the left() instead of the right (/)


Wrong environment path generated in transloco-root.module when adding transloco with ng add if module path is not the default path

I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[X] Bug report
[ ] Performance issue
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request
[ ] Other... Please describe:

Current behavior
When adding transloco with the following command the generated environment import path is wrong in transloco-root.module:
ng add @ngneat/transloco --module app/some/path/app.module
The generated import is:
import {environment} from '../../environments/environment';
Expected behavior
The correct import is:
import {environment} from '../../../../environments/environment';
Minimal reproduction of the problem with instructions

Setup a new angular project and try to add transloco to a module that is not at the default app.module location.

Environment

Angular version: 9.0.7

For Tooling issues:
- Node version: v13.7.0
- Platform:  Mac

I would love to, I put it on my list. But I cannot promise when I will get to it.


Expose terminal process ID through API

Part of https://github.com/Microsoft/vscode/issues/11422

Extension authors want to get at the process ID of the shell so they can track what they run, at least on a low level. The problem is that due to a bug in electron (https://github.com/electron/electron/issues/38) there is another process in between the renderer thread and the shell which launches the shell, meaning it's an async operation to grab the PID after the terminal is created.
Therefore, in order to maintain backwards compatibility I think this will need to be exposed as a promise:
// Returns the shell PID
getProcessID(): Thenable<number>;

Alternatively we could expose the in-between process synchronously, it would probably mean more work and confusion for extension authors though:
// Returns the PID of the process that launches the shell
getProcessID(): number;

@jrieken does the Thenable version look reasonable given the situation?

You could just expose the tenable property? Like
interface Terminal {
 // ...
 pid: Thenable<number>
}

If that's preferable 👍

Yeah - I think that more JavaScript'ish

FYI @weinand for the debug stuff we discussed https://github.com/Microsoft/vscode/issues/9957

I ended up expanding to processId for clarity:
interface Terminal {
  processId: Thenable<number>
}

FYI @daviwil

Awesome, thanks man!

@Tyriar So it is not there yet? Updated to latest insiders and terminal._id stopped to work.

@whitecolor insiders just exposed the above API terminal.processId. For your use case though you should use window.onDidCloseTerminal.

@Tyriar Ok processId is available now. As I've mentioned I used pid for getting number of child processes not only to determine if is opened/closed, but aslo its state (depending on number of currently running processes).
There seem to be a problemwith processId: it seem to expose some other id that was previously in terminal._id - number of its child processes always is zero (I use psTree to get running children).
And aslo why setProcessId is a public method? What does it supposed to do? https://github.com/Microsoft/vscode/blob/7236f593e7e8363ac940660a105c15e4f51ea198/src/vs/workbench/api/node/extHostTerminalService.ts#L70

@whitecolor processId is the shell process, not the process that launches the shell:
Before: _id was the pid of terminalProcess which spawned bash/zsh/cmd/etc.
After: processId is the pid of bash/zsh/cmd/etc. that was spawned by terminalProcess
The child processes of processId should be the programs launched by the shell.
setProcessId is public on ExtHostTerminalService but it's not part of the API interface so you should not be touching it, vscode.d.ts defines the API.

ok, but it seem that internal processes (running inside the console) is spawned not by this processesId, but by teminalProcess.
Btw processId is not available on the terminal just after  window.createTerminal executed, have to wait some time, possible to fix?

@Tyriar Maybe we should not make setProcessId a public method. How about a ctor argument which is the (still unresolved) promise of the process id. That will also not require having this ugly wait loop

@whitecolor that cannot change due to a bug in Electron forcing the in between process to begin with. It doesn't seem right that the processes would be children of terminalProcess.js which only spawns the shell. I looked into this in the past and it worked fine.
There's only a single spawn in terminalProcess https://github.com/Microsoft/vscode/blob/master/src/vs/workbench/parts/terminal/electron-browser/terminalProcess.js#L30 The processes launched by the terminal are launched by the shell that they're run in.

@jrieken :+1: #12434

@Tyriar ok, thanks,  I will look into it more carefully

@Tyriar I check all process running in windows (wmic.exe PROCESS GET Name,ProcessId,ParentProcessId,Status) after terminal created and I can not find there pid returned by terminal.processId.then(...)

Can you launch vscode, the terminal and then some program in the terminal and see what the tree looks like? I expect it to be:

VS Code

...
terminalProcess.js

cmd.exe

program ran in cmd.exe

and see what the tree looks like

What tree?

@whitecolor depends on your platform, on Linux I can run pstree.

I run node:

There is pid 984
And processId gives 868

@Tyriar can you confirm my issue with process id?

@whitecolor it's being tested today by 2 team members that will verify the process ID.

@Tyriar Was it a bug and fixed?

@whitecolor no bug has been reported so far, not sure how many people are using it though.

it's being tested today by 2 team members that will verify the process ID.

So it was tested and you can not confirm it?

Yes nothing was reported during the test phase and it's currently in stable.

@Tyriar Well I'm not sure how I should demonstate that something wrong here.
For me terminal.processId promise gives the PID value that doesn't exists in processes list at all.

Created https://github.com/Microsoft/vscode/issues/14286 to track your issue


another take on simpler way of adding a service

For bug https://github.com/TBD54566975/web5-kt/issues/310
an alternative take on https://github.com/TBD54566975/web5-kt/pull/311 which adds a service more directly without taking an update object.

Codecov Report
Attention: Patch coverage is 90.00000% with 2 lines in your changes are missing coverage. Please review.

Project coverage is 73.73%. Comparing base (7b4ff0b) to head (5e4cf90).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #313      +/-   ##
==========================================
+ Coverage   73.58%   73.73%   +0.15%
==========================================
  Files          45       45
  Lines        2162     2182      +20
  Branches      402      404       +2
==========================================
+ Hits         1591     1609      +18
  Misses        376      376
- Partials      195      197       +2

Components
Coverage Δ

credentials
81.27% <ø> (ø)

crypto
49.16% <ø> (ø)

dids
80.71% <90.00%> (+0.20%)
:arrow_up:

common
65.21% <ø> (ø)

i like this approach

ok, let me tighten it up to just have add - as per @jiyoontbd comment as that keeps it focussed, I like it.

@jiyoontbd PTAL again

hey @michaelneale !
ok, so after some discussion, i'd like to propose that we close this PR for now, and address the issue #310 once we hold some design discussions on how exactly one performs a DID update operation.
the reason being is that even if we have addService() implemented, this method would become tech debt quickly because it isn't considering how each did method handles updates.
the core issue here is that we're only mutating our own BearerDid abstraction by using this method. however, adding service (or updating any part of a did) should have downstream actions that we need to consider for each did method (did:dht handles updates differently than did:jwk, for example)
i've written about this a bit more as an issue in web5-spec. let me know if you have any questions! https://github.com/TBD54566975/web5-spec/issues/157

makes sense to me @jiyoontbd! - will close this (maybe keep the branch around temporarily just in case).


Add end-to-end conversation tests support to the 2.0 parser

Description of Problem:
The 2.0 YAML Parser should be able to parse the following block:
# End to end testing format:
test_conversations:
- story: A basic end-to-end test
  steps:
  - user: |
     hello
    intent: greet
  - action: utter_ask_howcanhelp
  - user: |
     show me [chinese]{"entity": "cuisine"} restaurants
    intent: inform
  - action: utter_ask_location
  - user: |
     in [Paris]{"entity": "location"}
    intent: inform
  - action: utter_ask_price

On a first look only user key processing is missing from the Stories parser.
Definition of Done:

[x] Tests are added
[ ] Feature described the docs
[x] Feature mentioned in the changlog

branch: conversation-tests

Is there a PR for this?


Accept either a pool verification key hash or file in StakeKeyDelegationCert command

Closes #1377

bors r+

bors r-

bors r+

bors r-

bors r+


store: Correctly find last vid for copying from immutable tables

This is a mini fix for #3201 right?

Yes, it was a place where we didn't take the difference in db schema into account


[ENH] add eta to rbcs for nonlinear free surface

What changes does this PR introduce?
Draft for comment: obcs allows setting etaH, but I wanted an rbcs-type sponge, so I added this to rbcs.
This is potentially valuable for fjords and other embayments where we want to force the tide via sea surface height in a large receiving basin.  I do this by adjusting the sponge in the receiving basin so that the surface wave is free in the fjord itself.
Does this PR introduce a breaking change?
No
Other information:
I have a simple version of a toy model that works with this at https://github.com/jklymak/FjordForce. That example could be simplified, its just a simulation I had that had a reasonable fjord with large receiving basin set up.

[ ] Needs documentation
[ ] Needs tests?

One thing I'm not clear on - for obcs they have a calculation for OBCS_APPLY_SURF_DR.  I wasn't clear if this was needed here, or because I was directly manipulating etaH it would get calculated in CALC_SURF_DR.

Thanks @mjlosch for taking a look.  For my testing, did you run exp4.nlfs as-is, or did you modify at all?

I just checked out the branch and ran ./testreport -t 'exp4.nlfs tutorial_reentrant_channel with and without the -devel option. I did this on my MacBook with gfortran. If you cannot reproduce that, I'll have a closer look.

Thanks - I can have a look in a few days.

Thanks @mjlosch  this passes that test report.  I added an if statement to rbc_apply_eta.F.
Happy to write a test for this setup.

@jklymak thanks for sharing your code.
I was supposed to look at this PR a long time ago but a little busy these days.
There are several things that I would need to check (including how this fit into time-stepping with various options) as it affects the continuity equation and might affect tracer conservation.
This would not be an issue if the relaxation was only used near Open-Boundary (part of a "sponge layer") but might not always be the case.
The other thing is that we are considering an alternative implementation of  Open-Boundary Conditions that would allow naturally to prescribe the SSH at the OB and account for the pressure gradient across the OB.
If this was available and working, it might be used instead of this Eta relaxation, at least in some cases.
So I would suggest we keep this PR open and keep it up-to-date (will merge latest master branch in) and decide later which direction to take.

Thanks @jm-c  - I use this in an a-physical sponge part of the domain where I would also sponge active and passive tracers, so I don't consider tracer conservation important in my use cases.  I'm not sure use cases where a-physically forcing eta could conserve anything (definitely not mass!) but perhaps there are such use cases...


SSID in ios always returns null

Hello everyone, I'm creating an app that has a service that it only ment to work in some specific network name, in android it works fine, I get that name of the network, but in ios SSID always retuns null but says is connected.
I have the permissions “NSLocationWhenInUseUsageDescription” and “NSLocationAlwaysAndWhenInUseUsageDescription”, I have read all the issues but no one help me, is there something else I can do?
Thanks in advance.
Edit: I'll put more information:
I'm not using expo and I'm using this library and another one, wifi-reborn, but the result it's the same.

Hi @RickSanchez7 !
Am not part of the expo team.
Now about your issue, if you are running the app within expo it will never give you the ssid but on android it will work.
You need to either build your standalone app or eject from expo to get it working.
One last thing add this to your app.json (All this is mentioned on their docs, am assuming you are using netinfo):
https://docs.expo.io/versions/latest/sdk/netinfo/#ios-only
Cheers!

SSID info does not work on simulator. You need to be on real HW to get that.

SSID info does not work on simulator. You need to be on real HW to get that.

I also tried it on the real device iPhone and the result is same, ssid is always return null.

Did you enabled the Access WiFi Information box in the Apple developer portal for your app?

Did you enabled the Access WiFi Information box in the Apple developer portal for your app?

It was this the problem. I'm a Junior developer, and my senior, that does not work with me, was the person who created the account, and I didn't know that we had to that.
Thanks to you all for the help.

@RickSanchez7 i has same issue i was enabled Access WiFi Information but ssid alway return nulll on my ios device

@RickSanchez7 i has same issue i was enabled Access WiFi Information but ssid alway return nulll on my ios device

the same

try to refresh before fetch.

For me worked this:
await NetInfo.configure({
shouldFetchWiFiSSID: true,
});
await NetInfo.refresh();
const networkInfo = await NetInfo.fetch();

@ChaossAdept7 yes you should add the configure method call.


chore: Bump emotion to v11

closes #8
This PR bumps the emotion to v11.

@allcontributors please add @KimBiYam for code

:tada: This PR is included in version 3.2.6 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Adding convenience Makefiles and the oscillation equation to test set

Please pardon my gitgnorance :) - I tried pushing to a separate branch from master as recommended, but I couldn't find my way through it. I also tried submitting these 2 as individual pull requests, but couldn't figure out how.
The pull request includes 2 main commits:

One adds Makefiles to the FOODiE base directory and src/lib and individual test directories. From the base dir you can now invoke:

$ make foodie    # compiles foodie library only
$ make tests     # compiles and links all tests
$ make lorenz    # compiles and links lorenz test
$ make burgers   # compiles and links burgers test
...

Why make if we have FoBiS you may ask. I like GNU make. I also wanted to just get myself going, rather then cloning/installing/figuring out how  FoBiS works. Also, I think having alternate build methods is useful.

The second commit adds the oscillation equation field to the test set. This set is useful for analysis of ODE integrators because the analytical solution is known, and amplitude and phase errors in the numerical solution can be computed in the test program itself. See the code for more details. I will add documentation to it soon. To build and run this test:

$ make oscillation
$ ./oscillation

Here as some test results for Euler explicit, and RK1,2,3,5. Notice that I picked time step and amplitude values so that the erroneous amplitude growth for Euler forward is obvious.

@milancurcic
Thank you very much!
my comments

The makefile is absolutely necessary; I use FoBiS because I hate makefile syntax, but this does not means that other must agree my view of life. Moreover, I hope that other will add others build systems (Cmake, scons, etc...). This is a great stuff, thank very much milan!
The oscillations test is very useful. At a first view it seems that RK class work as expected, and this make me afraid... I was almost sure that it is bugged... more detailed analysis will help (I hope).

Thank you very very much!

@milancurcic You should have the write permissions for this repository: feel free to directly push your work without passing through a pull request, I trust all of you!

@szaghi Great thanks. Yes, it looks like RK[1235] work as expected.


Unable to telnet enable RBR40 V<IP_ADDRESS>

Hello
I am unable to enable telnet with the tool on RBR40 v<IP_ADDRESS> (synced at latest commit)
All attempts with mode 1, 2, 3 and  upper/lower cased digest failed with a timeout (no answer to the magic packet).
I am using the command below:
./telnet-enable.py <IP_ADDRESS> B0:39:56:76:B3:75 admin "fDZGmoc8Wk5E3eaW"
I am running macOS but same issue on three different computers.

Got it working by using the hashed version of the password rather than the password itself.
The hashed password was obtained by:

downgrading to firmware revision v<IP_ADDRESS>
activating telnet through http://<IP_ADDRESS>/debug.htm
telnet-ting to the router
retrieving hashed password with command config get http_passwd_hashed

It seems that using the udp 'magic packet' does not work if telnet has been activated at least once through debug.htm. Would be great if someone could confirm this.
I'll try to investigate the code to understand why the script does not work with unwashed password.

Actually commit 8a72d894 broke the script on (at least RBR40). At 8a72d894~1, the script works with output
Done sending new3 (RAX10/RAX50) pw data to <IP_ADDRESS>:23
This payload computation method is called method 4 and seems to have disappeared in latest version of the script.

I can confirm @jlafaye findings, the previous version works on RBR20

Can confirm latest does not work for RBR50 firmware V<IP_ADDRESS>, and moving to commit 8z72d89~1 fixes it.

Could you please write exactly how to modify the script so that telnet can be enabled for RBR40 with V<IP_ADDRESS>?
Thank you!

New version of the script (25 May 2024) works properly with above RBR40 and LBR20 but telnet doesn't work after reboot :(
nvram commit doesn't help


ERC721 Enumerable: purpose of idToIndex?

We set it in _mint function and don't use it anywhere.
contracts/tokens/ERC721EnumerableImplementation.sol:  mapping(uint256 => uint256) internal idToIndex;
contracts/tokens/ERC721EnumerableImplementation.sol:    idToIndex[_id] = tokens.length;

It was added for the purpose of a burn function. I decided that burn function is not needed for a basic implementation but then forgot to remove the mapping.

I have removed it in my code review branch. Will open a PR soon for a review.

#13


the commandline for training the model on miniImageNet?

hello, how can I train this model on miniImageNet?
There were some "nan" errors when I tried to use the args of TieredImageNet to train the model on miniImageNet.

Hi, sorry for the late reply
have you disabled the embedding optimization during training?  #82 line in INSTA_ProtoNet.py

Thank you!
I ran it on TieredImageNet successfully after commenting out line 82.
I have another question: Which args should I modify if I want to run it on miniImageNet?
How about this one?【python train_fsl.py --max_epoch 200 --model_class INSTA_ProtoNet --backbone_class Res12 --dataset MiniImageNet--way 5 --eval_way 5 --shot 1 --eval_shot 1 --query 15 --eval_query 15 --balance_1 1 --temperature 64 --temperature2 64 --lr 0.0002 --lr_mul 30 --lr_scheduler cosine --step_size 20 --gamma 0.5 --gpu 0 --init_weights ./saves/initialization/miniImageNet/Res12-pre.pth --eval_interval 1 --use_euclidean】

Hi you can try to set the temperature to 24, temperatures 2 to 32 and lr_mul to 25


Origins must be added using relative paths

In above example the command Add-SPOTenantCdnOrigin -CdnType Private -OriginUrl “https://contoso.sharepoint.com/sites/test/siteassets/folder1” is used to add an origin.
When I try to do this using our own tenant I get a message stating the origin needs te be a relative url
Version of PS Sharepoint module:
Get-Module -Name Microsoft.Online.SharePoint.PowerShell -ListAvailable | Select Name,Version
Name                                   Version

Microsoft.Online.SharePoint.PowerShell 16.0.8615.1200
Microsoft.Online.SharePoint.PowerShell 16.0.8615.0

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

ID: 2836d55d-6874-f366-60c2-e3043dd5547e
Version Independent ID: 3c84c811-52bc-872e-48cf-54ecc2a9d7de
Content: Use the Office 365 Content Delivery Network (CDN) with SharePoint Online
Content Source: Enterprise/use-office-365-cdn-with-spo.md
Service: o365-administration
GitHub Login: @kelleyvice-msft
Microsoft Alias: kvice

@bvduijn - thanks for the feedback, I'll get this over to the Enterprise content team for review.

@bvduijn - Thank you for reaching out. I can repro this issue, and will update the documentation accordingly.
The command you should use instead is:
Add-SPOTenantCdnOrigin -CdnType Private -OriginUrl “/sites/test/siteassets/folder1”


RectAreaLights, LTC Textures arent loaded correctly and the shader currently ignores them to avoid artifacts. Need to find a way to properly load the LTC's

Looks like they may not be properly ignored, still seems to be using them?


Improvements to StringList config handling.

StringList was using an untagged enum to deserialize a string or list.  Unfortunately, serde does not handle untagged enums very well.  The error messages are not very good, and it doesn't interact with untyped deserializers (like our environment variables).  This switches it to a newtype struct, and then has hard-coded support for it in the deserializer.  This fixes some deserialization errors (like treating true as a boolean) and provides better error messages.
StringList is currently used for build.rustflags, target.*.rustflags, and target.*.runner.
Fixes #7780
Fixes #7781

r? @Eh2406
(rust_highfive has picked a reviewer for you, use r? to override)

Looks like an improvement.
@bors r+

:pushpin: Commit fd258634c904d4a36cfbc8a176440db7faac3eff has been approved by Eh2406

:hourglass: Testing commit fd258634c904d4a36cfbc8a176440db7faac3eff with merge 914e31d7b27248617c7e9fbc862476256a86d3e8...

:sunny: Test successful - checks-azure
Approved by: Eh2406
Pushing 914e31d7b27248617c7e9fbc862476256a86d3e8 to master...