[SPARK-44125][R] Support Java 21 in SparkR

What changes were proposed in this pull request?
This PR aims to support Java 21 in SparkR. Arrow-related issue will be fixed when we upgrade Arrow library. Also, the following JIRA is created to re-enable them even in Java 21.

SPARK-44127 Reenable test_sparkSQL_arrow.R in Java 21

Why are the changes needed?
To be ready for Java 21.
Does this PR introduce any user-facing change?
No, this is additional support.
How was this patch tested?
Pass the CIs and do manual tests.
$ java -version
openjdk version "21-ea" 2023-09-19
OpenJDK Runtime Environment (build 21-ea+27-2343)
OpenJDK 64-Bit Server VM (build 21-ea+27-2343, mixed mode, sharing)

$ build/sbt test:package -Psparkr -Phive

$ R/install-dev.sh; R/run-tests.sh
...
══ Skipped ═════════════════════════════════════════════════════════════════════
1. createDataFrame/collect Arrow optimization ('test_sparkSQL_arrow.R:29:3') - Reason: sparkR.callJStatic("org.apache.spark.util.Utils", "isJavaVersionAtLeast21") is TRUE

2. createDataFrame/collect Arrow optimization - many partitions (partition order test) ('test_sparkSQL_arrow.R:47:3') - Reason: sparkR.callJStatic("org.apache.spark.util.Utils", "isJavaVersionAtLeast21") is TRUE

3. createDataFrame/collect Arrow optimization - type specification ('test_sparkSQL_arrow.R:54:3') - Reason: sparkR.callJStatic("org.apache.spark.util.Utils", "isJavaVersionAtLeast21") is TRUE

4. dapply() Arrow optimization ('test_sparkSQL_arrow.R:79:3') - Reason: sparkR.callJStatic("org.apache.spark.util.Utils", "isJavaVersionAtLeast21") is TRUE

5. dapply() Arrow optimization - type specification ('test_sparkSQL_arrow.R:114:3') - Reason: sparkR.callJStatic("org.apache.spark.util.Utils", "isJavaVersionAtLeast21") is TRUE

6. dapply() Arrow optimization - type specification (date and timestamp) ('test_sparkSQL_arrow.R:144:3') - Reason: sparkR.callJStatic("org.apache.spark.util.Utils", "isJavaVersionAtLeast21") is TRUE

7. gapply() Arrow optimization ('test_sparkSQL_arrow.R:154:3') - Reason: sparkR.callJStatic("org.apache.spark.util.Utils", "isJavaVersionAtLeast21") is TRUE

8. gapply() Arrow optimization - type specification ('test_sparkSQL_arrow.R:198:3') - Reason: sparkR.callJStatic("org.apache.spark.util.Utils", "isJavaVersionAtLeast21") is TRUE

9. gapply() Arrow optimization - type specification (date and timestamp) ('test_sparkSQL_arrow.R:231:3') - Reason: sparkR.callJStatic("org.apache.spark.util.Utils", "isJavaVersionAtLeast21") is TRUE

10. Arrow optimization - unsupported types ('test_sparkSQL_arrow.R:243:3') - Reason: sparkR.callJStatic("org.apache.spark.util.Utils", "isJavaVersionAtLeast21") is TRUE

11. SPARK-32478: gapply() Arrow optimization - error message for schema mismatch ('test_sparkSQL_arrow.R:255:3') - Reason: sparkR.callJStatic("org.apache.spark.util.Utils", "isJavaVersionAtLeast21") is TRUE

12. SPARK-43789: Automatically pick the number of partitions based on Arrow batch size ('test_sparkSQL_arrow.R:265:3') - Reason: sparkR.callJStatic("org.apache.spark.util.Utils", "isJavaVersionAtLeast21") is TRUE

13. sparkJars tag in SparkContext ('test_Windows.R:22:5') - Reason: This test is only for Windows, skipped

══ DONE ════════════════════════════════════════════════════════════════════════
...
* DONE

Status: 2 NOTEs
See
  ‘/Users/dongjoon/APACHE/spark-merge/R/SparkR.Rcheck/00check.log’
for details.

+ popd
Tests passed.

AppVeyor failure is irrelevant and sparkr test pipeline passed.

yeah, I think AppVeyor is fine to ignore for now.

All tests passed (except AppVeyor).

Could you review this, @viirya ?

Merged to master.


add tests for terminal resource resolution for completions

also simplifies the handling

Not sure what happened with the git history, but will squash and merge.


Update to the latest versions of core and sync

I didn't see much worth mentioning in the core or sync release notes.

https://ci.realm.io/job/objc_pr/configuration=Release,target=ios-swift,xcode_version=8.3.3/ has a test failure I haven't noticed happening on CI before.

-[RealmSwift_Tests.ObjectTests testModifyObservedObjectRemotely] has been failing intermittently on CI for a while now. I discussed it with Austin back in September.


Add filter size in Image

Like AlexNet has filter size in image.

Thanks~~

Great idea!

Done in #19.


Backend environments are not up-to-date

Is your feature request related to a problem? Please describe.
The "Backend environments" tab shows environments that already have been removed. When following the instructions to "Delete" them via the amplify cli, they don't show up there (since they have been already removed).
Describe the solution you'd like
Update the backend environments in Amplify console to fit the cli ones.
Additional context
The Amplify console "Backend environments" tab shows the following environments: "dev", "develop", "devnew", "prod", "stage", "storage".
The CLi shows the following environments for "amplify list env":

@no-creative-name  can you try running amplify pull --appid XXXX --envName storage from local machine?

@no-creative-name Can you please provide your appId and region so we can investigate what backend environments we are seeing on the console side.
Under appSettings --> General it will look something like this:
arn:aws:amplify:::apps/

@ganipcanot
Region: eu-west
AppId: d1emvec1xhju1x

@no-creative-name Yes - I can see [dev, develop, devnew, prod, stage, storage] in the list of BE environments.  Will have to test this out to see if this is some CLI bug.

@ganipcanot any update on this?

@no-creative-name are you still dealing with this issue?


[SPARK-33438][SQL] Eagerly init all SQLConf objects for command set -v

What changes were proposed in this pull request?
In Spark, set -v is defined as "Queries all properties that are defined in the SQLConf of the sparkSession".
But there are other external modules that also define properties and register them to SQLConf. In this case,
it can't be displayed by set -v until the conf object is initiated (i.e. calling the object at least once).
In this PR, I propose to eagerly initiate all the objects registered to SQLConf, so that set -v will always output
the completed properties.
Why are the changes needed?
Improve the set -v command to produces completed and  deterministic results
Does this PR introduce any user-facing change?
set -v command will dump more configs
How was this patch tested?
newly added and existing tests

Test build #131032 has started for PR 30363 at commit 6bb092f.

Test build #131032 has finished for PR 30363 at commit 6bb092f.

This patch fails RAT tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

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

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

Merged build finished. Test FAILed.

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

Test build #134652 has started for PR 30363 at commit 84c16c9.

Test build #134652 has started for PR 30363 at commit 84c16c9.

Test build #134652 has finished for PR 30363 at commit 84c16c9.

This patch fails RAT tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #134652 has finished for PR 30363 at commit 84c16c9.

This patch fails RAT tests.
This patch merges cleanly.
This patch adds no public classes.

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

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

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

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

Test build #134705 has started for PR 30363 at commit 378983e.

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

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

cc @cloud-fan

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

Test build #134705 has finished for PR 30363 at commit 378983e.

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

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

Test build #134720 has started for PR 30363 at commit 8444c5f.

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

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

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

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

Seems like a reasonable bug fix of the SET -v command, but the bug should be rare. cc @viirya @maropu

@srowen, Thanks for reviewing.
I think this PR is a kind of bug fix since the set -v doesn't output expected results in some cases. Also, even though it would work later after the SQLConf objects are used, it still may mislead users if the outputs of set -v are different when run multiple times.
Regarding the complexity, actually, this PR almost has no side effect on existing code. even though there are exceptions during  eagerly loading, it will be catched and won't break the spark

cc @viirya @maropu @HyukjinKwon, this PR is updated based on discussion

Test build #135014 has started for PR 30363 at commit dcfaa61.

Test build #135014 has finished for PR 30363 at commit dcfaa61.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

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

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

Test build #135020 has started for PR 30363 at commit f220389.

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

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

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

Test build #135020 has finished for PR 30363 at commit f220389.

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

Merged to master, branch-3.1, and branch-3.0.

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

late lgtm


chore: Upgrade IPython to version 8.x.x

Detail

Upgrade IPython to version 8.x.x to fix the depandabot warning

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

AWS CodeBuild CI Report

CodeBuild project: GitHubStandardCodeBuild8C06-llutOAimTATs
Commit ID: cdb89c01a992004587a7f945ff7728129992ad9f
Result: FAILED
Build Logs (available for 30 days)

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

AWS CodeBuild CI Report

CodeBuild project: GitHubLoadTests5656BB24-ATYtnXPE7MOa
Commit ID: cdb89c01a992004587a7f945ff7728129992ad9f
Result: FAILED
Build Logs (available for 30 days)

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

AWS CodeBuild CI Report

CodeBuild project: GitHubLoadTests5656BB24-ATYtnXPE7MOa
Commit ID: cdb89c01a992004587a7f945ff7728129992ad9f
Result: SUCCEEDED
Build Logs (available for 30 days)

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


OSD-9238 Refactor code for fedramp variable check on reconciler

Made refactor changes suggested by @cblecker  to the operators code when checking for the presence of the FEDRAMP env variable

/lgtm

Codecov Report

Merging #123 (26bf864) into master (80d39da) will decrease coverage by 0.08%.
The diff coverage is 42.85%.

@@            Coverage Diff             @@
##           master     #123      +/-   ##
==========================================
- Coverage   42.61%   42.53%   -0.09%
==========================================
  Files          14       14
  Lines         833      837       +4
==========================================
+ Hits          355      356       +1
- Misses        438      441       +3
  Partials       40       40

Impacted Files
Coverage Δ

...ntegration/deadmanssnitchintegration_controller.go
59.48% <42.85%> (-0.41%)
:arrow_down:

/assign @jewzaam @robotmaxtron

/approve


Make docker 34

Added a dockerfile, that can be used to run a docker.
This is made to be compatible with the develop branch at commit 544b5f5a43817cb2569e9fd00f7fcd59a16c2697

Originally had this set to merge into main, corrected so going to develop

I realised had been testing a docker image that did not reflect the Dockerfile I had committed. I have fixed this and created documentation of how I created and ran the docker image

Tested running the docker as per instructions. Merge can be completed and pull request closed.


Implementation of SoundStream

Summary
This PR includes

Implementation of residual vector quantization
Implementation of SoundStream
Recipe of SoundStream using LJSpeech

Codecov Report
Attention: 134 lines in your changes are missing coverage. Please review.

Comparison is base (148426a) 84.22% compared to head (c8570e9) 84.18%.

Files
Patch %
Lines

audyn/models/soundstream.py
78.80%
46 Missing :warning:

audyn/optim/optimizer.py
81.86%
33 Missing :warning:

audyn/criterion/gan.py
25.00%
18 Missing :warning:

audyn/modules/rvq.py
77.77%
12 Missing :warning:

audyn/criterion/vqvae.py
33.33%
8 Missing :warning:

audyn/modules/vq.py
91.91%
8 Missing :warning:

audyn/criterion/distance.py
92.42%
5 Missing :warning:

audyn/utils/model/__init__.py
25.00%
3 Missing :warning:

audyn/utils/driver/gan.py
66.66%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #48      +/-   ##
==========================================
- Coverage   84.22%   84.18%   -0.05%
==========================================
  Files          71       74       +3
  Lines        7100     7832     +732
==========================================
+ Hits         5980     6593     +613
- Misses       1120     1239     +119

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Yaml namelist: naming of different "model classes"

In c3s_511 we expect some issues with the nomenclature of different models.
Currently, a single model that others are referred to, is called ref.
In c3s_511 we need to define a main "model" (actually obs) that is used and others (references) that are compared to this. Therefore the tag ref_model will be a discussed issue. Is it possible to add a "main_model" or "primary_model" tag on the same level as ref_model? Or should we consider renaming all together?

It is possible to add extra arbitrary key: value pairs to the variables section(s) in the namelist and those will be passed on 'as is' to the diagnostic scripts, just try it to see how it works.
However, if you want special behaviour (e.g. replace a model name with a list of file names, preprocessing functions using the information provided) that would require a change to the namelist parser and preprocessor.
Can you specify a bit further what kind of functionality you would need? Or is it just the name reference_model that you are concerned about?

It's really just the name.
With the old backend, we could specify a chosen model as reference, so we could use it differently than others (compare against others).
Specifically in c3s_511, we have a single observation, that we compare others to. Therefore, the others (e.g. single point measurements in multiple files) would be the references and the observation the one that is validated.
It would be hard to explain this to users within the project, why they should call the actual obs as ref and the ref as "other" models.
As ESMValTool grows larger, especially covering more and more purposes, the naming might get irritating. We can still stay with model, but reference already has some kind of "taste".

Does #452 fix this?
We now renamed models to datasets and therefore reference_model is now reference_dataset.


Upgrade to graphql-java 20.4

Document any backward incompatible changes
All tests pass

Hi, I would like to take this issue up.
PR : https://github.com/graph-quilt/graphql-authorization-java/pull/35


MatrixClientLite Backing off for 7926.83306175312ms

2023-04-06 16:52:17 |
nginx |
-- | -- | --
  |   | 2023-04-06 16:52:17 |
502 Bad Gateway
 |
  |   | 2023-04-06 16:52:17 |  |
  |   | 2023-04-06 16:52:17 | <title>502 Bad Gateway</title> |
  |   | 2023-04-06 16:52:17 | MatrixHttpClient (REQ-11686)  |
  |   | 2023-04-06 16:52:17 | MatrixClientLite Backing off for 7926.83306175312ms |
  |   | 2023-04-06 16:52:02 |   |
  |   | 2023-04-06 16:52:02 |  |
  |   | 2023-04-06 16:52:02 |

But, what's the problem here? Matrix client didn't reconnect after receiving 502 from server?

@mutantcornholio i guess it's pointing to the old matrix still, so we have 2 options - kill this redundant feature now or change the change it to a new matrix.
I'd prefer claening up
MATRIX_ACCESS_TOKEN: ref+vault://kv/cicd/gitlab/parity/mirrors/command-bot/parity-prod#MATRIX_ACCESS_TOKEN
MATRIX_HOMESERVER: ref+vault://kv/cicd/gitlab/parity/mirrors/command-bot/parity-prod#MATRIX_HOMESERVER


Document requirements for minimum implementation/kernel

It sounds like it’s supposed to be possible to write different implementations, or kernels, for eneyj. (The specification talks about implementations, the README calls the contents of src/ the kernel; I assume the two are roughly equivalent.) It would be nice to have some sort of guide, or list of needed things, to get started with a rudimentary kernel.
From my current understanding, this would have to include:

A parser for the normal JSON serialization. (Depending on your internal representation, this can be just a JSON parser.)
A parser for the canonical JSON serialization: not a strict requirement by the spec, but without it, you won’t be able to use the objects in eneyj/data/, which seem to be using this serialization. (Again, depending on your internal representation, this can be just a JSON parser.)
An emitter for the normal and/or canonical JSON serialization. (This too could be fairly simple depending on your internal representation.) One or the other is probably more useful in that it will allow you to reuse eneyj’s tests to some degree, I haven’t checked yet.
Implementations for the required builtins.
As a first approximation, the JS-implemented builtins that only have that builtin implementation in the data file:$ for builtin_js in eneyj/src/builtin/*.js; do builtin_basename=${builtin_js#eneyj/src/builtin/}; builtin_z=${builtin_basename%.js}; if [[ $(jq '(.Z8K4 | length) == 1 and .Z8K4[0].Z14K1.Z1K1 == "Z19"' "eneyj/data/$builtin_z.json") == true ]]; then printf '% 4s\n' "$builtin_z"; fi; done
Z100
 Z26
 Z33
 Z36
 Z37
 Z38
 Z62

That said, while this list excludes the JS builtins Z64 (head) and Z65 (tail), because they also have non-builtin implementations based on Z190 (by_key), Denny already mentioned that Z190 might in turn depend on builtin Z64 and Z65, so maybe the above list is too short and all (or at least more) of the JS-implemented builtins are required after all.
Some sort of entry point… the simplest version probably accepts/reads a single Z object, evaluates it until reaching the fix point, and then returns/prints the result?
…
Profit? No, there’ll certainly be more things.

(I’m toying with the idea of writing an implementation in GraalVM, because the polyglot capabilities of that platform could be really useful for this.)

Yes, I think that is right.
One consideration was that one could internalize more than is currently internalized, and make the kernel simpler. For example, the kernel has currently a lot of validation code (and pulls in a whole JSON Schema validator in). Obviously, validation can be skipped in a first implementation, so that's not so dramatic.
One more thing in the kernel that needs to be implemented is probably a way to evaluate the JS implementations, or else the system will be too slow. That's a bit of ugly code that would benefit a lot from being internalized.
But yes, in the end it's about reading a single Z object and then evaluated it until a fix point is reached. Complementary is a parser to take a string and turn it into a Z Object (should be internalized anyway), and the linearizers have already been internalized, so that should come for free.
I keep this issue open for now to collect these conditions, and they should eventually move to the SPECIFICATION file.
Thank you so much for exploring this!

I think a bit more would need to be said about evaluation – technically, it’s part of the list in the task description, as Z100 is the “evaluate” builtin, but the actual Z100 builtin implementation does almost nothing besides delegate to a whole family of other functions. The list should probably mention the built-in evaluation functions for various types.

D'oh! I just realised that many of the builtins could be moved to be implementations, because, well, they could simply be JavaScript implementations. That's not true for all (I know Z100 and Z24 wouldn't), but most of the others should be internalizable.
I didn't do that from the beginning because there was no JavaScript implementation in the beginning, and I never cleaned it up.


Update vis-2-widgets-material to 1.4.8

https://github.com/ioBroker/ioBroker.pushover/issues/383

RE-CHECK!


Paligemma deployment: OpenAI chat template failing

I have deployed deployed paligemma-3b-mix-448 using:
swift deploy --model_type paligemma-3b-mix-448
On calling the completions API using curl:
curl http://localhost:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "paligemma-3b-mix-448", "messages": [{"role": "user", "content": "Picture 1:https://modelscope-open.oss-cn-hangzhou.aliyuncs.com/images/rose.jpg\nWhat kind of flower is in the picture and how many are there?"}], "max_tokens": 256, "temperature": 0 }'
or
curl http://localhost:8000/v1/chat/completions   -H "Content-Type: application/json"   -d '{     "model": "paligemma-3b-mix-448",     "messages": [       {         "role": "user",         "content": [           {             "type": "text",             "text": "caption"           },           {             "type": "image_url",             "image_url": {               "url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg"             }           }         ]       }     ]   }'
I am getting the following error in output:
{"message":"The chat template paligemmacorresponding to the modelpaligemma-3b-mix-448is in text generation format. Please use thecompletions API.","object":"error"}
What do I need to modify? Can I get a sample OpenAI API format request which works for paligemma(specifically paligemma-3b-mix-448) model?

http://localhost:8000/v1/completions
This is a base model.


How to listen events that emmits ScreenSharingAccPack?

Hello. I am using this package without Accelerator Core, and can't figure it out how to use events like: 'startScreenSharing',  'endScreenSharing'.

Hi @maximshmakov, those events are only fire if used with Accelerator Core.  The library will only emit those events to Core if it's available.


support time unit conversion in the expression

different time duration related metrics might use different meansure system, for example, in the default http-incoming-metrics, the time is based on nano, for the time in the tracing, it's based on microseconds.
so for the expression: maxTime > 5s can't be correctly interpreted internally because the engine does not know which unit the maxTime uses. Adding schema information is one way, but it imposes extra usage burden. Another way is to express in the expression, like,

maxTime > toNano(5s)
maxTime > 5s.toNano, maxTime > 1s.toMicro, maxTime > 1s.toMill

The first way is to define some converter functions, while the 2nd one extend the grammar to express it more naturally.

The duration literal can be extended as:
5s   # 5 seconds
5m  # 5 minutes
5h   # 5 hours
5d   # 5 days
5ms # 5 milli seconds
5us # 5 micro seconds
5ns # 5 nano seconds

The both are supported. For the expression 5s.toNano, during the parse phase, it will be turned into toNano(5s) for simplicity.


Adding react redux example

Awesome. LGTM :ship:

Good stuff! An example would've been nice when I did my integration using this module, but there's a lot of boilerplate here and examples directories are hard to maintain because they're like maintaining an app within a library. Would it make more sense to move this to a separate seed repo similar to what I did with my RN starter kit?

@jhabdas There's not much in examples currently, good point though we might go with that option once we have a more elaborate example with all event types etc.

:+1:


Prevent infinite loop when title attribute is changed

Fixes #130
I tried adding a test case here to use a MutationObserver to ensure that we weren't continuously calling the callback, but I couldn't get it to work.
If anyone has any suggestions on a good way to write a test, let me know!

I tried a test like this:
test('title change does not throw RangeError', function() {
  const time = document.createElement('local-time')

  try {
    time.setAttribute('title', 'custom title')
  } catch (e) {
    assert.fail(`Error thrown: ${e.message}`)
  }
})

and it didn't fail without my change, unfortunately

@muan should I bump the package version to 3.0.10?

We can do that after this is merged.


Possible to pass state to the action provider?

Hi,
I just wanted to start by thanking for making this chatbot and the tutorials which went along with it. I have found the chatbot extremely useful for a project I am making in my professional life.
I was wondering if it would be possible for you to amend the source files so that the 'state' is passed to the action provider as a fourth argument. I use the state to store specific answers the user has given along the way. The then want to display the state to the user once they have answered all the questions so they can confirm if they  are happy. Many of my answers require very specific questions and so I use widgets to display 'options' which then trigger a function within the action provider. As the state is not accessible within the action provider, I cannot display this to the user once they have answer all the questions.
Thanks

@tylert93 Thanks! Actually, the state is accessible in the action provider, you can use the setState method to access all of the chatbot state:
in action provider
const myAction = () => {
     this.setState(state => {
         console.log(state)
         // Perform your tasks here

         return state
     })
}

@tylert93 Thanks! Actually, the state is accessible in the action provider, you can use the setState method to access all of the chatbot state:
in action provider
const myAction = () => {
     this.setState(state => {
         console.log(state)
         // Perform your tasks here

         return state
     })
}

Awesome! thanks for your help and your quick response :)

Awesome! thanks for your help and your quick response :)


HDDS-9578. Create skeleton for Ozone homepage

Create a basic Ozone homepage that can be completed later.
Add header and footer with links and pages
Add custom color theming
Add a clean Ozone SVG logo
I had some difficulties adding svg icons for the community links in the footer so I moved that out to a follow up task in HDDS-9924

Known Issues

Algolia search cannot be activated until the site is published to ozone.apache.org. In the mean time the search bar does not work and may throw errors in developer mode.
The github icon in the header is inlined to accept styling (taken from an example in the YuniKorn website). Ideally we would use an external svg file.

cc @daveteng0

I had been having an issue where the local deployment of the site would become unresponsive and Chrome's memory would spike to around 5gb until I closed the tab. After some experimenting it seems this is some bug in docusaurus or chrome that is related to how I have inlined the html for the footer icons in the docusaurus config. This can probably be worked around by swizzling parts of the footer. We will need this bug fixed before merging this change since those contributing to the docs will hit it.

Thanks for the review @swagle


Merge with upstream

The failure is due to our custom into_iter_err_on_gc_types function in wasm-tools. I am tempted to pull in the upstream version and rename our custom function. I think our custom implementation is only required in one place in wasmtime, so long-term it may be most stable solution. I will think about it some more.


[BUG] Error occurs if Highlight template starts with a Nunjucks expression

Describe the bug
I can only get the sync to work when {{ text }} is the first item in the Highlight template. I was trying to nest everything in an IF statement but found it results in this error when syncing.
I also tried to simply change the order of the default template so that the note is printed first, but got the same error.
Method of syncing

[x] Amazon Kindle Reader
[x] My Clippings file

To Reproduce
Steps to reproduce the behaviour:

Enter the following highlights template

{% if note %}{{note}}{% endif %}
{{ text }} — location: [{{ location }}]({{ appLink }})

---

Attempt to sync (either via Amazon or Clippings file)
Results in the following error:

Template render error: (unknown path)
  TypeError: Cannot read properties of undefined (reading '0')

Expected behaviour
Would expect to be able to use a Nunjucks expression above the line {{ text }} in the highlight template.
Metadata

OS: Windows
Plugin version [e.g. 1.7.0]
Obsidian version [e.g. 0.15.9]

Wow. I never expected this to be an issue. I can confirm that I've been able to replicate the problem. Will look into it now

This is now fixed in 1.8.1

Legend! Confirmed issue is fixed, thanks!


how to change close property of dialog and drawer

hello,
I want to close the navigation and dialog box when ever some function's are passed but when user click on other side of my application (somewhere which not in dialog or navigation box body) these are closed automaticly, how to solve this matter?

yessssssssssssss,
thank uuuuuu,
could you tell me how to get more information about this library components?

I don't know what can I answer. I ask also a lot of questions here :). In the other side,  I watch and analyze the demo in this repository,  you have a lot of examples inside.  After with Eclipse or an other IDE,  you can make some examples,  and for example,  the overlay method,  I discovered it yesterday,  I tried a lot of setters methods to see their use and the component behavior :).  Maybe the author of this repository may help you more than I can. Don't forget to close the issue if you think it's good. Anyway,  Good continuation :)

Feel free to check the JFoenix demo, it provides many examples. you can also find a basic tutorial on JFoenix website ( however it needs to be updated , as it doesn't cover all the controls and JFoenix features )
http://jfoenix.com/documentation.html#Button
Regards,


dataAxisFormats config

https://github.com/USGS-R/smwrGraphs/blob/master/inst/doc/DateAxisFormats.pdf
Split out from #5

I think this will need to be done outside the config file.  I think it would be relatively simple to write a function to do this/return the axis tick mark locations though.

☝ has this been addressed/thought about since then?

this issue? No, since it's been assigned to you. The config file stuff has been merged since this though #416

I think this will need to be in a "theme". So, we can currently create config files that temporarily set par arguments, but the theme will allow a preset axis call (or whatever) which will allow this task to be done. I guess this means I have to get on #385. I'll try to get to that today/tomorrow.

Currently blocked by #134

This should be unblocked now by using date_axis

What is left for this task? Sounds like we just need to document how to use it?

@wdwatkins @ldecicco-USGS :point_up:

I think actually create the theme is something that would need to be done.

OK, I'm marking this as an enhancement for now and moving out of the sprint since it's more than just documentation. Not needed to get this thing bug-free, but realize that it's the goal if this is going to be a more widely used package.


Add sample for declarative renderers for DataGrid columns

See: https://github.com/jmix-framework/jmix/issues/1177
P.S. Add some kind of since 2.1 tag for a sample

Will be added with #8


Potplayer | Adding Module folder to persist

I checked the manifest file of potplayer and noticed that Module folder is not in persist directory, which will lead to an error of not finding OpenCodec decoder. And I also noticed that if you run the installer of OpenCodec from potplayer's official site, all it does is extracting opencodec.dll to "your_Potplayer_path\Module\OpenCodec", so I think add this to persist directory can save a lot of work since I think this decoder is important, thanks in advance.

Hey @susanonec, can you make a PR for your changes?

#7401
Here I pulled a request, and it's just simply added Module to persist config(I think it's the correct way to persist this directory?).
The thing is, the original installer of Potplayer doesn't include a opencodec decoder, so I was think we can install them on our own if we need one but I don't want it to be removed everytime I update. So maybe it's better to keep the Module directory in the persist?
PS. I don't know why there's a directory "extention" keeped in the persist config, all it has is a directory called extension.

Hey @susanonec, can you make a PR for your changes?

#7401 Here I made the pull request, simply add the directory name to the persist config.
The thing is, the opencodec decoder is not included in the original installer of Potplayer, so I think we should keep it in that way. But once we installed it on my own I don't want it to be removed after every update. So I think we'd better keep "Module" in this persist config.
PS. I found a name "extention" in the config, but I think this directory should be "extension", maybe it's a redundancy?

PS. I found a name "extention" in the config, but I think this directory should be "extension", maybe it's a redundancy?

I feel so. Can you remove it?


[stable/traefik] Add a parameter to set acme.onHostRule in traefik.toml

Signed-off-by: Romain Poirot<EMAIL_ADDRESS>
What this PR does / why we need it:
This PR adds a parameter for acme.onHostRule. It allows to stop traefik from generating unwanted certificates
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)
Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

/assign @SantoDE

/ok-to-test


Escaping backslash in embedded object causes it to be doubled

orientdb-community-2.1.4 (and earlier too)
UPDATE V SET key = "test", value = {"f12":"test\\"} UPSERT WHERE key = "test"

This results in f12 being : test\\
The expected value is : test\
The following works fine though
update V set value.f12 = 'asdf\\' WHERE key = "test"

May be related to Issue 4996

+1

Hi guys,
It's fixed in 2.1.x and develop branches.
I'm closing this, please reopen in case of problems
thanks
Luigi

Thanks!

Hi Luigi,
How safe is it to use the develop branch on a prototype? Is there the possibility of severe blocking issues?

Hi @joaobarcia
2.1.x snapshots are stable enough for pre-production and of course for testing.
For production I'd wait the official hotfix release
Luigi

@joaobarcia For a prototype using the "develop" brings many advantages. In this case 2.2 is much faster than 2.1.x.

Hi @luigidellaquila and @lvca . If I'm not mistaken, it seems the most recent snapshots are prior to the bug fix. We will wait until the next snapshots. Thanks


feature.getPropertyNames is not a function

I'm trying to get 3D tiles interactivity working on Cesium 1.60, for live sample viewer see
https://geodan.github.io/pg2b3dm/sample_data/index_cesium.html
Sample code:
    var handler = new Cesium.ScreenSpaceEventHandler(viewer.canvas);
    handler.setInputAction(function(movement) {
      var feature = viewer.scene.pick(movement.position);
      if (!Cesium.defined(feature)) {
          return;
      }
      // next line gives: feature.getPropertyNames is not a function
      var propertyNames = feature.getPropertyNames();
  }, Cesium.ScreenSpaceEventType.RIGHT_CLICK);

When right clicking on a building there is an exception:
Uncaught TypeError: feature.getPropertyNames is not a function
    at index_cesium.html:27
    at C (Cesium.js:490)
    at b (Cesium.js:490)
    at M (Cesium.js:490)
    at HTMLCanvasElement.n (Cesium.js:490)

How can I fix this?

ok thanks, the pickedObject.content.featuresLength is indeed 0, now have to figure out why. The b3dm tiles are created with py3dtiles with batching option.


Can I have different background color for each selected date?

Just need to see DelegateApparenceExample inside examples, thanks @WenchaoD


fix(navbar): allow more items

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Create decile data

Generates CSV to power a decile graph, showing the net effect of the child allowance. The data has these columns:

state (for a drop-down)
funding (for a drop-down)
monthly_ca (for animation_frame)
spm_resources_pp_decile (for x-axis)
net_chg (for y-axis)

See toward the bottom of this colab notebook for the visualization with a single selection (i.e. no drop-downs). I tried autorange (where the y axis updates throughout the animation) and setting it, and found it looked better with a set axis range. So the code is essentially:
boundary = ca_state_decile.net_chg.agg([min, max]).abs().max()
fig = px.bar(test, x='spm_resources_pp_decile',
             y='net_chg',
             animation_frame='monthly_ca')
fig.update_layout(
    title='Average net change per dollar child allowance by decile',
    xaxis_title='Decile of resources per person',
    yaxis_title='Average net change per dollar child allowance',
    yaxis_tickprefix='$',
    plot_bgcolor='white',
    font=dict(family='Roboto')
)
fig.update_yaxes(range=[-boundary, boundary])
fig.update_traces(hovertemplate=None)
fig.show()

@mgilbert1 is this enough for you to make a graph with drop-downs?
cc @ngpsu22
Fixes #62

Hello @MaxGhenis! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file jb/data/make_decile_data.py:

Line 11:80: E501 line too long (93 > 79 characters)
Line 12:80: E501 line too long (128 > 79 characters)
Line 13:80: E501 line too long (96 > 79 characters)
Line 14:80: E501 line too long (97 > 79 characters)
Line 25:80: E501 line too long (108 > 79 characters)
Line 50:80: E501 line too long (86 > 79 characters)
Line 71:1: E741 ambiguous variable name 'l'
Line 111:80: E501 line too long (194 > 79 characters)
Line 113:80: E501 line too long (163 > 79 characters)
Line 124:80: E501 line too long (81 > 79 characters)
Line 128:80: E501 line too long (81 > 79 characters)
Line 146:80: E501 line too long (80 > 79 characters)
Line 175:1: E741 ambiguous variable name 'l'

Two things I'll do tomorrow:

Add the deficit-funded option
Add a column for net percent change to resources

I'll also look into Nate's data generation script to see how that could be consolidated in here.

I added the notebook @mgilbert1 emailed, and integrated @ngpsu22's written content from the doc and a distributional chart from the decile data here. I'll file and assign issues with remaining tasks.


Marshalling JsonText returns unexpected results

I am using a types.JsonText in a struct to interact with a string field in the database that is holding JSON data. For example, let's say the field has the value {}
After performing the query, I use this code to marshal the results and send to the client:
type MyStruct struct {
    ID int64 `json:"id"`
    Data types.JsonText `json:"data"`
}

// MyStruct has been initialized as "data" and filled with result from database.

results, err := json.Marshal(data)
if err ...

log.Println(string(results.Data)) // Prints "e30="

But if I instead use:
results, err := data.Data.MarshalJSON()
if err ...

log.Println(string(results)) // Prints "{}"

What is causing this difference? Is there a way to get the expected results with the first version? I am very likely just doing something wrong.

I found an answer: http://stackoverflow.com/questions/31437749/json-marshaling-producing-unexpected-results


Question: iOS Native x Browser?

1 - On iOS login with Facebook only works if the user is a registered developer/admin or a test user, and not some normal Facebook user account. Facebook app is in "Live" Mode. After confirming/accepting the login on the Facebook screen, the login flow goes back to the first Facebook screen without giving an error or confirming the login. I'm missing something or this is expected while the iOS is not approved by Apple? This started working alone.
2 - Even with a test user, login only works if user is connected on the web browser. Being connected only in the Facebook native iOS app does no work for me.
On Android, Plugin/Login works great in all cases (normal user, test user, native, browser)
3 - xcode debug console prints this message:
2021-10-20 11:01:20.750944-0300 app-name[887:186720] FBSDKLog: fb-messenger-share-api is missing from your Info.plist under LSApplicationQueriesSchemes and is required.
is this a problem?
Thanks for the work and effort!

I'm not sure
try to add to /addons/nativelib-export/iOS/facebook-plugin.plist
<string>fb-messenger-share-api</string>

in the array


Feature request : add search box in "Add printer page"

Feature request :
*Add search box to filter within constructor list and especially model list.
From hp.com :  "HPLIP supports 2,825 HP printer models"
That's a long list.

I appreciate the sentiment, but given that printer drivers are being deprecated and won't live beyond CUPS 2.3, I don't see us implementing this.
Sorry.


ModuleNotFoundError: No module named 'alembic_utils\depends'

The new collect_instances implementation (0.6.0) doesn't work on Windows, since Windows uses "" instead of "/" as path delimiter.

resolved by #50
the update is available in alembic_utils==0.6.2


🌐 Update German translation

I translated new Strings, mostly related to the upcoming achievements feature.
Poedit messes up the current convention we have with using the Language-Team field in the .po file as a sort of "Mailing list" for people who want to be notified when there's something new to translate - it always adds line breaks! :joy: Yeah, it's good to keep lines short for source control reasons, but IMO it is unnecessary and disrupting here.
I'll open another PR to propose a solution to that.

This came faster than expected :D ... I fear that some of these strings are not final and will change again but anyway - thanks a lot!

Haha yeah, I was bored and saw that you updated the .pot file - so I thought, why not translate a little bit 😉
Glad you appreciate it!


If specify public IP for custom cluster, all traffic will go through public IP

What kind of request is this (question/bug/enhancement/feature request):
feature request
Steps to reproduce (least amount of steps as possible):
For cloud hosts with VPC networks, we recommend users to use VPC networks to build clusters, which can guarantee better network performance for K8S clusters.
Add a custom cluster and input Public Address and Internal Address

If public network IP is added when adding nodes, RANCHER and K8S will communicate through public network IP. Because public networks have bandwidth limitations, rancher UI is slow to retrieve data.

If no public network IP is added to the node, then RANCHER and K8S API will communicate through the VPC network.  Although this guarantees the network performance of the K8S cluster, the port jump link of the pod will use the VPC network address, which will result in inaccessible services.

Feature Request
You can manually configure a set of public IP addresses for the environment deployed on a VPC network. You can choose whether you need public network access when you create load balancing or port mapping.

Temporarily closed


NobodyNada: Watch DontMergeThisIsATest

NobodyNada requests the watch of the watch_keyword DontMergeThisIsATest. See the Metasmoke search here

This was just a test; can someone close this please?  Thanks!


Find a way to not depend on runtime reflection

This library uses kotlin-reflect in the Walker in order to recursively get properties from each class as well as the class names. This functionality can be replaced with kotlinx-serialization functionality fairly easily. I have a branch that does exactly this. Can develop this further if there is an ask.
https://github.com/deusaquilus/pprint-kotlin/tree/using-kotlinx-serialization

I would really like to have a multiplatform solution without using kotlin-reflect. So does this approach require the classes to be annotated with @Serializable ? Can we use kotlin-metdata-jvm that will be lighter than kotlin-reflect ? Not sure if we can use this for multiplatform support though

Yeah, this solution would require @Serializeable. Is that a problem?

Most of the time you are not in charge of the data class component to annotate... what if data classes contains other classes from third party deps?

I see logging as a hassle-free way to print debug information. Being forced to annotate my data classes with @Serializable before I'm able to print them would be very unfortunate, especially for classes that I do not own as @sureshg already mentioned.

Turns out kotlinx-serialization has a way to do that. If it's a simple Kotlin class with a properties-only constructor (i.e. all data classes are this way as far as I know) you can just do:
// NOT @Serializable
class ClassThatIDontControl(val foo: String, val bar: Int)

@Serializer(forClass = ClassIDontControl::class)
object ClassIDontControlSerializer

// Then the pprint API would look something like this
val instance = ClassIDontControl("hello", 123)
println(pprint(ClassIDontControlSerializer, instance))

Have a look here for info.
Now the ClassThatIDontControl is more complex e.g. a Java class you'll have to write the ClassThatIDontControlSerializer in a more manual way. Have a look at Delegating Serializers for more info on that. I imagine it would be something like:
public class ClassIDontControl {
  private String foo;
  private Int bar;
  public String getFoo { return foo; }
  public String getBar { return bar; }
  // blah blah blah constructors, initializers, etc...
}

class ClassIDoControl(foo: String, bar: Int)

class ClassIDontControlSerializer : KSerializer<ClassIDontControl> {
    private val delegateSerializer = ClassIDoControl.serializer()
    override val descriptor = SerialDescriptor("ClassIDontControl", delegateSerializer.descriptor)

    override fun serialize(encoder: Encoder, value: ClassIDontControl) {
        val data = ClassIDoControl(value.getFoo(), value.getBar())
        encoder.encodeSerializableValue(delegateSerializer, data)
    }

    override fun deserialize(decoder: Decoder): ClassIDontControl {
        val data: ClassIDoControl = decoder.decodeSerializableValue(delegateSerializer)
        return ClassIDontControl.constructWhateverWayYouNeed(data.foo, data.bar)
    }
}

@Serializer(forClass = ClassThatIDontControl::class)
object ClassIDontControlSerializer

// Then the pprint API would look something like this
val instance = ClassThatIDontControl("hello", 123)
println(pprint(ClassThatIDontControlSerializer, instance))

You can learn more about delegating serializers here.
Bottom line, it's doable. The mighty kotlinx-serialization people have thought about these use-cases.

Bottom line, it's doable. The mighty kotlinx-serialization people have thought about these use-cases.

I'm sorry I should have clarified this -- we're aware that it is doable, but the effort needed to make them serializable can be non-trivial which will discourage us from using pprint.
I'm a mobile developer so my experience may be different from other platforms, but I've never seen anyone check-in println statements to production code. It is always used for temporary debugging sessions as an inexpensive way to aid/avoid the IDE debugger. I'd love to use pprint for printing nicer, readable logs but I'd not use it if it required my classes to be serializable.
Plus what happens to projects that use libraries other than kotlinx.serializable such as moshi?

I’m confused. Do you want to use kotlin-reflect, moshi, or something else?

I'm suggesting to continue using reflection.

I won't remove any of the current reflection-based functionality. I'll add a new module (probably pprint-multiplatform) that does the non-reflection based stuff.

Sounds superb!


Compatibility with AJAX

Hello i have been trying to use xhtml2pdf to render user defined content , here is the link to my question on stackoverflow. There don't seem to be a solution on the internet , please help!
https://stackoverflow.com/questions/60475224/ajax-convert-html-to-pdf

@neowenshun  Plesae let me know if you made compatible with ajax function.

@noobmaster19 Could you provide more information on what you're trying to achieve?
This library only handles the PDF generation, whether or not you use this in a web server with AJAX support is completely up to you.
Since the description is not very clear and this issue is quite stale now, I'm going to close this. Feel free to add more context so we can reconsider this.


ModelBuilder not compatible with enums

Steps to Reproduce Issue
As part of extending the sui-client-gen-repo to support enums I face the following issue in the move model, popping up here:
    let resolved_graph = build_config.resolution_graph_for_package(stub_path, &mut io::stderr())?;

    let source_id_map = find_address_origins(&resolved_graph);
    let source_published_at = resolve_published_at(&resolved_graph, &source_id_map);

    let source_env = ModelBuilder::create(
        resolved_graph,
        ModelConfig {
            all_files_as_targets: true,
            target_filter: None,
        },
    )
    .build_model()?;

    let mut stderr = StandardStream::stderr(ColorChoice::Always);
    source_env.report_diag(&mut stderr, Severity::Warning);

    if source_env.has_errors() {
        bail!("Source model has errors.");
    }

Here is the code in the sui-client-gen repo:
https://github.com/aeon-protocol/sui-client-gen/blob/6c705aefa9962fe52219bbca0d468119b8c3e963/generator/src/model_builder.rs#L163
This is the enum I added to my Move code:
public enum AuthSession {
    Any,
    Specific { val:u8},
}

Running sui move build works for me though.
Expected Result
Would expect the code to run through.
Actual Result
Error I get:

System Information

This is the SUI version I am using rev = "575b14f"

Fixed by @tzakian


feat: Set ´column_names´ in ´fit´ methods of table transformers to be required

Closes #179.
Summary of Changes
Every fit method now requires ´column_names´ to be explicitly set. Every test using fit methods were updated as well.
Screenshots (if necessary)

Testing Instructions

🦙 MegaLinter status: ✅ SUCCESS

Descriptor
Linter
Files
Fixed
Errors
Elapsed time

✅ PYTHON
black
7
0
0
0.71s

✅ PYTHON
mypy
7

0
1.66s

✅ PYTHON
ruff
7
0
0
0.04s

✅ REPOSITORY
git_diff
yes

no
0.02s

See detailed report in MegaLinter reports
Set VALIDATE_ALL_CODEBASE: true in mega-linter.yml to validate all sources, not only the diff
MegaLinter is graciously provided by

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

v0.12.0
GitHub release

Your semantic-release bot :package::rocket:


correct widget order in Tip 1

It's easy enough to see that it's a simple mistake, but better to avoid any confusion.

it never ceases to amaze me how many little mistakes like this one exists. Seems like every time I read the docs I see another one!  Thanks @mminkoff  for taking the time to lift your fingers up and down to fix this 👍

It's a pleasure to do such a simple thing to support a project that does so much for me!


Support mode change

When service mode changes, tasks should be recycled to have correct Slot number. Fix #771.
cc @aaronlehmann @aluzzardi .
Signed-off-by: Dong Chen<EMAIL_ADDRESS>

[Current coverage][cc-pull] is 53.76%

Merging [#995][cc-pull] into [master][cc-base-branch] will increase coverage by 0.16%

@@             master       #995   diff @@
==========================================
  Files            75         75
  Lines         11568      11597    +29
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           6200       6235    +35
- Misses         4479       4480     +1
+ Partials        889        882     -7

[][cc-pull]

Powered by Codecov. Last updated by [2bdabaf...b0b6b05][cc-compare]
[cc-base-branch]: https://codecov.io/gh/docker/swarmkit/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/docker/swarmkit/compare/2bdabaf84adc00d84adf1375751e7957f7ddf5e0...b0b6b05496d11da40df70d449fc99e674141bfc0
[cc-pull]: https://codecov.io/gh/docker/swarmkit/pull/995?src=pr

Overall, what do you think of doing this versus forbidding mode change?
Or forbidding mode change if there are tasks running?

Overall, what do you think of doing this versus forbidding mode change?

Or forbidding mode change if there are tasks running?

I think doing that is a lot like rejecting node promotions when their addresses can't be reached. We should let the user push whatever spec they wish, and then make an effort to put in effect those settings.
But it's tricky. There isn't a perfect solution.

@aaronlehmann @aluzzardi rebased. PTAL.

LGTM
I know @aluzzardi won't like this change, but it's an outstanding problem that needs to be solved. I can't think of a simpler way to solve it right now.
We can always revisit this in the future as the orchestrator evolves.

I don't want to hold this back, but yeah I don't like encoding so much in the slot which we originally designed to be meaningless for the orchestrator and purely a user thing.
A simpler fix IMO would have been blocking mode changes altogether or blocking mode changes for services that have at least 1 task.
The orchestrator was designed to reconcile current state and has no history at all. We'll never see the previous version of a spec because that's fragile (miss updates, re-election, ...). Here we fake seeing history by interpreting an implementation detail of the other orchestrator: "if slot is 0, then I bet this used to belong to a global service".
If the replicated orchestrator decides to zero-index the slots (which is completely in its right - slots shouldn't be interpreted), then weird things will happen.
LGTM

@aluzzardi I agree with you that this mode change logic is not a clean solution. It contradicts with my goal of "orchestrator should only look at number of tasks (not even desired state)". I'll replace it with another PR to block service mode change.


Temporarily remove large node options from uwhackweeks

Our quota is severely constrained - 64 vCPUs only right now!
This increases the number of users who can get on this
temporarily. Using 2xlarge instances helps with improving
number of users who can fit in in our total 64 vCPUs.
Ref https://github.com/2i2c-org/infrastructure/issues/1128

I've deployed this, and don't want other deploys to accidentally overwrite this deployed config.


t_tabmsg not found, findTop (check_syntax) - Fuba Tables parameter not found in include

Issue:
./src/ecc/#jcs#fipi.fugr.#jcs#lfipif01.abap[73, 9]                       - t_tabmsg not found, findTop (check_syntax)
Source:

there is a bit more to this story? if its a F01 include, it does not automatically have access to the function module parameters?

That was what i thought also until i found this one.
The FUGR is a copy of the SAP original FIPI with some extended handling of BDC QIDs.
The object Jump in the GUI is doing magic...
Call of the form contains the table in the tables part.

The Form start:

For me, the loop should have been on tab_msg instead. SAP still makes it work somehow.
It also does not get a syntax error... any idea why?

hmm, no

I've changed it to tab_msg (as it should be) and now the checks are fine.


improved testing of rp_pi_tpcf_jackknife()

This pull requests improves the testing of rp_pi_tpcf_jackknife to include a consistency test between itself and wp_jackknife including the covariance matrices.  This should address issue #830.

@aphearin I think a quick code review is in order for this.  Take a look at rp_pi_tpcf_jackknife and test_rp_pi_tpcf_jackknife if you get a chance to make sure you understand the indexing of the covariance matrix.


Add support to dart analyze for a JSON based output

There are at least two uses cases that would benefit from dart analyze having a more extensible and more complete machine readable output format. I believe that JSON would be a good format for this purpose. The proposal is to support a new output format named "json" (as in dart analyze --format=json).

@stereotype441 @davidmorgan @michalt @devoncarew

Below is one proposal for the structure of the JSON to be produced. It's expressed as pseudo-Dart code, where an abstract class denotes a JSON map and typedefs introduce semantic names for primitive types. Comments and alternate designs are welcome, this is merely a starting point for discussion.
I will note that this object can't currently be produced from the content of either the legacy protocol nor the content of LSP. In order to support producing this format in dart analyze we will either need to enhance the legacy protocol to include the additional information or compute the missing information in dartdev.
/// The top level JSON object produced for the 'json' format.
abstract class AnalysisResults {
  /// The version of this JSON object.
  int version;

  /// The diagnostics that were reported.
  List<Diagnostic> diagnostics;
}

/// An indication of an issue in the code being analyzed.
abstract class Diagnostic {
  /// The code associated with the diagnostic.
  String code;

  /// The severity of the diagnostic.
  DiagnosticSeverity severity;

  /// The type of the diagnostic.
  ///
  /// TODO In my opinion, this information is not useful to clients, and I would
  ///  prefer to drop it from the output, but I mentioned it because it's
  ///  included in the 'machine' format.
  DiagnosticType type;

  /// The location associated with the problem message.
  Location location;

  /// A textual description of the problem represented by the diagnostic.
  String problemMessage;

  /// A textual description of how to correct the problem.
  String? correctionMessage;

  /// The severity of the diagnostic.
  List<ContextMessage>? contextMessages;

  /// The severity of the diagnostic.
  Url? documentation;
}

/// The severity of a diagnostic. One of 'error', 'warning', 'hint', 'lint', and
/// 'info'.
typedef DiagnosticSeverity = String;

/// The type of a diagnostic. One of 'compileTimeError',
/// 'checkedModeCompileTimeError', 'staticWarning', 'staticTypeWarning',
/// 'syntacticError', 'hint', 'lint', and 'toDo'.
typedef DiagnosticType = String;

/// A range of characters within a given file.
abstract class Location {
  /// The file containing the location.
  FilePath file;

  /// The range of characters representing the location.
  Range range;
}

/// The absolute and normalized path to a file.
typedef FilePath = String;

/// A range of characters in a file.
abstract class Range {
  /// The position immediately to the left of the first character in the range.
  Position start;

  /// The position immediately to the right of the last character in the range.
  Position end;
}

/// A position in a file. Positions are conceptually between two characters.
abstract class Position {
  /// The distance between the beginning of the file and the position. The
  /// position before the first character in the file has an offset of zero.
  int offset;

  /// The zero-based index of the line containing the position.
  int line;

  /// The zero-based index of the character to the right of the position. A
  /// position at the beginning of a line has a column of zero.
  int column;
}

/// Additional information associated with a diagnostic that helps to explain
/// the problem or draws the user's attention to some location that is relevant
/// to the problem.
abstract class ContextMessage {
  /// The location associated with the context message.
  Location location;

  /// A textual description of the additional information associated with the
  /// diagnostic.
  String message;
}

/// The string encoding of a URL.
typedef Url = String;

This format SGTM

From this:
/// The top level JSON object produced for the 'json' format.
abstract class AnalysisResults {
  /// The version of this JSON object.
  int version;

  /// The diagnostics that were reported.
  List<Diagnostic> diagnostics;
}

It looks like the initial json structure we parse will be an object, and that will contain a list of Diagnostic objects. Having the outer wrapper will allow us to version the format.
You might instead consider having the outer structure just be a json list of Diagnostic objects. There would be one less layer of json structure in the output; we'd want to be reasonable certain that we could make backwards compatible changes to the format in the future, or, use the sdk version to indicate to the user which format we produce.
Alternatively, having the outer wrapper would allow us to more easily include more information in the future (instead of just producing diagnostics, we could produce timing information and diagnostics for example).

My two cents on the versioning question: I think it's better to have a top level object with a version number.  It's a very small investment (overhead is a small constant), but the potential benefit is huge, because we don't know how this data structure may need to evolve in the future, and it's quite conceivable that some future improvement would be quite difficult to do in a backward-compatible way.

@bwilkerson any update on this?

Not that I'm aware of. I think the next step is to assign someone to actually implement it. @devoncarew

Brian, I'd assumed that you were driving this. If not then we might want to rethink how we're addressing https://github.com/dart-lang/sdk/issues/44905. If we put this in the critical path of testing the why not promoted work, we'd either have to:

add a json format to dart analyze and switch test.py over to using dart analyze
add a json format to dartanalyzer and switch test.py over to using the json format (from the machine format)

Without somebody driving both the json format changes and the test.py changes we're highly unlikely to get this done by the next stable release.
https://github.com/dart-lang/sdk/issues/44905 can also be satisfied by slightly extending the existing machine format. We might want to do that and decouple the json format with the why not promoted work.

Brian, I'd assumed that you were driving this.

Sorry. If you explicitly stated that then I missed it. I assumed that either you or Paul would be driving the work. I just offered to help by creating an initial proposal of what the protocol might look like. I can certainly do more if you want me to.

#44905 can also be satisfied by slightly extending the existing machine format.

I might be wrong, but I don't think that's true. I think we'd still need to update test.dart to recognize the extended machine format and use the additional information as part of the test support. I doubt that it would take significantly more work to convert it over to use the json format, and that approach has the advantage that the two steps (producing the new format and consuming the new format) are highly separable.

FYI we no longer rely on serialized analyzer output in google3--"analyzer as a library" makes it unnecessary--so I will not be following this work ;) thanks.

Status update.
The analysis server now sends back all of the information required in order to produce this format.
The dart analyze command now has a json format option that produces this format.
The dartanalyzer command does not yet have this support, but it should be relatively easy to add that support. I'm hoping to get that implemented by early next week.

Addressed in e4bb500c7bae373ed1068c4d85fc05c6d29d168d.

Support for the dartanalyzer command was added in https://dart-review.googlesource.com/c/sdk/+/193526.


None for authGSSClientStep's channel_bindings

Allows authGSSClientStep(ctx, token, channel_bindings=None)
See #49  for details

I'll make a new release early next week.

https://pypi.org/project/winkerberos/0.9.0/


Support for IOS platform in Unity game?

I am developing a 3D game by unity.  I was curious if it is support for IOS platform in Unity now?

@chase0128 We appreciate your interest in the project.  Unfortunately, we don't have support for iOS for either Unity or Unreal Engine.  Our focus has shifted primarily towards console gaming so it's unlikely that we'll get a chance to work on iOS support in the near term.
Best regards,
Noel

Thanks for the response Noel! I'll defs keep a lookout here for any updates that may come.


Improve CI setup

Hi there,
on regular maintenance patches like #346, Travis CI again takes ages to complete. This is annoying. Also, the test suite is apparently only running against older versions of CrateDB but lacks more recent ones.
As we already migrated most of the ecosystem repositories to use GHA instead, I believe we now can also take the opportunity to give the CI setup a refresh here and go with GHA, similar to tests-npgsql.yml from https://github.com/crate/cratedb-examples/pull/3. Please let me know if you have any objections.
With kind regards,
Andreas.
P.S.: Currently, we still need this fork of the JDBC driver, as recently experienced with interoperability tests on Apache Kafka, Apache Flink and CrateDB. Regarding this, I will have to also create a ticket describing my observations with the vanilla PostgreSQL JDBC driver.

[1] now displays a banner

Since June 15th, 2021, the building on travis-ci.org is ceased. Please use travis-ci.com from now on.

The project has not been migrated automatically to [2] yet. Based on recent news [3-6], this might even be a good thing.
[1] https://travis-ci.org/github/crate/crate-jdbc
[2] https://travis-ci.com/github/crate/crate-jdbc
[3] https://news.ycombinator.com/item?id=28517541
[4] https://news.ycombinator.com/item?id=28523350
[5] https://news.ycombinator.com/item?id=28531577
[6] https://news.ycombinator.com/item?id=28539834


Fix more capitalization of Prometheus

Follow up PR to https://github.com/Alluxio/k8s-operator/pull/3.

@Kai-Zhang PTAL. Thx

@Kai-Zhang We do need some kind of a way to do some check before merging. Currently I don't have the bandwidth to look into it so all the fixes are ad-hoc, whatever someone spots anything while using. I will prioritize the basic testing work after the k8s release.


Add an assert to ensure we not leak in the future.

Motivation:
We should add an assert to ensure we not leak in the future as we not do any special handling if trySuccess(...) returns false.
Modifications:
Add assert.
Result:
More robust code.

Let me just close this for now...


Soulbound armor persists through Syncs => Dupe bug

Basically, title says everything about this problem.
 Put it in the chest, go back and repeat until you have unlimited amount of those armor pieces.
Sync: http://ichun.us/mods/sync/

This should not happen with the latest Soulbound changes. The item should be only on the new body. For it to stay on the old one, Sync would need to stop telling us that the player has died on the cloning event.


publishing fails for multiple documents referencing same image

Hi, I am attempting to publish sphinx documentation to confluence, and encountering this error for pages with images. Pages without images publish with no problems up to the first page with an image, then the following error is thrown and publishing stops. The "authorized": false makes me think this could be a permissions error? Any help greatly appreciated.
Params
------
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [100%] validation/validation
publishing documents... [  7%] overview/overview
sphinxcontrib.confluencebuilder error:
---
An unsupported Confluence API call has been made.

REQ: PUT
RSP: 500
URL: https://company.atlassian.net/wiki/rest/api
API: content
DATA: {
  "statusCode": 500,
  "data": {
    "authorized": false,
    "valid": true,
    "errors": [],
    "successful": false
  },
  "message": "com.atlassian.confluence.api.service.exceptions.InternalServerException: java.lang.RuntimeException: com.atlassian.confluence.content.render.xhtml.storage.link.StorageLinkUnmarshalXhtmlException: java.lang.UnsupportedOperationException"
}
---

Found out this only occurs if multiple rst files are referencing images of the same filename, so solved by copying and changing the filename of images that I would like to include in multiple locations.

@g-simmons2, thanks for the report; will try to find a correction.

For me, just changing the file name did not work.    I made a unique copy for each place one was used, then opened them in a text editor and added some extra whitespace in a different spot for each image.  They still render the same, but I think making them hash uniquely solved the problem.

@ottowayi iirc I noticed something similar in certain cases, where changing the filename didn't solve the problem and I had to change the file contents. I also recall looking into the confluence_asset_override configuration option, can't remember whether it was successful or not.
https://sphinxcontrib-confluencebuilder.readthedocs.io/en/latest/configuration.html#confluence-asset-override

@g-simmons2 I tried setting confluence_asset_override = True and it didn't help.  I only got it to work once I made sure the file contents were unique, not just the file names.

Found it.
It appears to be an issue with how Confluence parses the elements inside an ac:image tag. When assets are shared between multiple pages, only a single asset is published (into the root document). This requires the attachment markup to point to the page which holds the attachment. The original implementation would be structured as follows:
<ac:image>
<ri:attachment ri:filename="confluence.png"><ri:page ri:content-title="ztest" />
</ri:attachment>
</ac:image>

However, this now results in a 500 error. By removing the newline found inside ri:attachment, the publish event will succeed:
<ac:image>
<ri:attachment ri:filename="confluence.png"><ri:page ri:content-title="ztest" /></ri:attachment>
</ac:image>

I will adjust all the markup building attachments to no longer inject a newline character (which will require updating a series of test logic as well).

@jdknight glad you found it, that's a really weird issue

v1.3 is now available on PyPI -- marking as closed.

v1.3 is now available on PyPI -- marking as closed.


Make ignore_patterns configurable

The ignore_patterns are currently hard coded in the script:
https://github.com/nateraw/huggingface-sync-action/blob/54e4f55015a52747b4e2a5c9f2ee1056880cdd42/sync_with_spaces.py#L38
In some specific cases, however, the user might want to update the README.md as part of the GH action as well.
Would you be open to making the ignore_patterns user-configurable so that this would be possible?
Thanks a bunch!

Feel free to PR if you'd like and I'll review, else I'll have to get to this when I find time which might be a little bit.

Perhaps we go ahead and do #6 at the same time. lmk if you want to take a stab at it, else I'll take a look. If the CLI from HF doesn't work well with string ignore/allow patterns, we'll keep the script here.


FEAT-#4524: Split Modin API and Memory log files

Signed-off-by: Naren Krishna<EMAIL_ADDRESS>
What do these changes do?
In the current approach to Modin logging, all the logs are logged to a single file. In this updated approach, we separate out the memory logs from the Modin API logs.

[x] tests added and passing
[x] module layout described at docs/development/architecture.rst is up-to-date
[x] added (Issue Number: PR title (PR Number)) and github username to release notes for next major release

The memory and API log sizes being the same is mostly a coincidence (was not designed that way), but I think making that configurable is not worth it.


Cannot import name '_tokenizer' from 'malaya.preprocessing'

Trying to do text augmentation then got this error

yup, its a bug, will fix it asap

Fixed, install latest malaya from master branch,
pip3 uninstall malaya -y
pip3 install git+https://github.com/huseinzol05/malaya

another error occurred. btw im using bert model

another error occurred. btw im using bert model

Fixed, install latest malaya from master branch,
pip3 uninstall malaya -y
pip3 install git+https://github.com/huseinzol05/malaya

it's fixed thank you!


fix: :bug: remove preferred_place_id from leader widget

If a user's state includes a preferred_place_id, it is currently appended to the top identifier and observer links on the taxa page. While this behavior could be relevant in some contexts, it may not always make sense, as the counts are global and not restricted to a specific place.
This pull request removes the preferred_place_id from the object when generating these links, ensuring the links remain global as intended.
Example of the current link generated on the widget:

Cheers
Hannes

Found this semi related ticket: https://github.com/inaturalist/inaturalist/issues/3644

Is there a particular bug this is meant to address? preferred_place_id is an API parameter distinct from place_id. Including preferred_place_id does not restrict results to a place, rather it only informs localization of common names. place_id on the other hand does restrict results to a place, and does not inform localization. While the change in this pull request won't cause any problems, it also shouldn't have any visible change at all since localization won't affect the response at all in this case.
If there is a bug this is meant to address, it would be good to have that documented somewhere. Again, I don't think this pull request will have any effect on what is presented on the taxon page, and if so, will not fix any outstanding issues.

Hi pleary,
Thanks for your response! I’ve looked into it further, and you’re right—preferred_place_id isn’t causing the issue. My apologies for the confusion. I initially thought that was the right parameter, but it seems the problem might be with my development environment (the map functionality isn't working properly locally, likely due to issues with the Google API setup).
What I’m trying to achieve is the following:
Example: https://www.inaturalist.org/taxa/41644-Ursus-maritimus
Clicking on the leaderboard currently takes me here:

However, what I’d like is to see the global leaderboard without any country filters applied.
As this country session filter seems to be related to ones session. There is probably no easy fix.
Anyway sorry for the unnecessary pull request!
Cheers
Hannes

Edit: Just came to my mind that we could add place_id=0 to the query.
Do you think that would make sense?
Cheers
Hannes

The taxon page can filter by a place. This can happen when visiting one of the regional iNaturalist sites which can set a default place_id, e.g. https://www.inaturalist.ca/taxa/41644-Ursus-maritimus, or when a user chooses a place with the place filter (underneath the taxon search box in the upper-right). The only case that comes to mind to replicate the problem you are seeing is: perhaps you have set your default site to have a default place filter of Austria, and you have removed that default place filter from the taxon page, so when you go to explore that default filter is added back.
One change we could make to address that somewhat edge case is to add the parameter: place_id=any if there is no place_id parameter already in defaultObservationParams. That would ensure that explore applies no place filter when one wasn't already set. To be clear, there are many cases place_id will already be set and we want to preserve it, but if it is not set, it is indeed preferred to add a default of place_id=any. That would be a good improvement to make. Thanks!

Ah I see, never realised that the taxon page by itself has a region filter.
I changed it to overwrite the place_id to any if not set, but maybe the logic should be applied inside the defaultObservationParams function but that may cause too much havoc on other links.
Now the linked discussion makes even more sense for me. Wait for the merge, I think how I could solve the linked discussion problem over the next few days if I find free time, because depending on how we solve the linked discussion this change may be unnesecarry.
Cheers
Hannes

Edit: Thinking about adding the preferred place id as default aktive filter when one is visiting the taxa page.

I decided not to add the default place_id on load for the top identifiers and observation calculation on the taxa page. Found no time to setup Google Cloud and Google API key for local integration, and local testing without easily setting locations is problematic.
Therefore, I think we can merge this pull request. It has a small footprint and, as you mentioned, is a minor improvement and one should anyway only make small changes per branch if possible.
Cheers
Hannes

Great - thanks for this!


re-establish access to the flight api

Update the connection

I will complete the request as it concerns the connection to the flight api.


GUI Unifier Button

Describe the solution you'd like
A button for opening the manager from the top left corner when using mod GUI Unifier
Additional context
Add any other context or screenshots about the feature request here.

I looked, and I think this needs to be added on GUI Unifyer's side, so please request this from them.

One of the last updates I did before handing this off was to add a remote interface for GUI unifyer to use. So it should be completely doable on their end.

ok,ill open the issue there...thx guys
P.S
@raiguard i sent you a email concerning tapeline mod,but do not know if you received it

I received it, no worries. I just haven't gotten to my email queue in a while.

Awesome!


useMutation context docs & typings mismatch

Describe the bug
I found a mismtach of types for onSuccess, onError and onSettled types of MutationOptions in typings and docs.
The difference is TContext being optional in onSuccess in docs and mandatory in typings. It seems like it should be optional in docs as well as onMutation may not exist and therefore provide no context.
The ideal change would be to make two separate types - one with onMutate (context mandatory in onSuccess) and one without it (context is guranteed absent in onSuccess, onError and onSettled).
Typings:
https://github.com/tannerlinsley/react-query/blob/5848fab8a560efcf66ef0062c207c3004bccad83/src/core/types.ts#L548-L563
Docs:
https://github.com/tannerlinsley/react-query/blob/5848fab8a560efcf66ef0062c207c3004bccad83/docs/src/pages/reference/useMutation.md?plain=1#L52-L63
Your minimal, reproducible example
https://react-query.tanstack.com/reference/useMutation
Steps to reproduce
Open docs: https://react-query.tanstack.com/reference/useMutation
Open typings: https://github.com/tannerlinsley/react-query/blob/5848fab8a560efcf66ef0062c207c3004bccad83/src/core/types.ts
Expected behavior
Expected typings to match docs
How often does this bug happen?
No response
Screenshots or Videos
No response
Platform
Everywhere
react-query version
v3.39.0
TypeScript version
No response
Additional context
No response

I  think you are right. It should also be optional in the types. The error is hidden by the bang operator here:
https://github.com/tannerlinsley/react-query/blob/5848fab8a560efcf66ef0062c207c3004bccad83/src/core/mutation.ts#L181
If you remove that, TS will complain, and we would need to adapt the typings. Would you like to contribute that?

I have made the proposed change via https://github.com/tannerlinsley/react-query/pull/3654
Kindly review and do let me know if any changes are required.
Thanks


Please add version to package main module

psweep does not seem to follow the convention for storing package version in __version__ variable in the main package scope.
This makes it difficult to distinguish between versions programmatically in user code.
My particular case where this became a problem was with the default database filename changing from 'results.pk' to 'database.pk'. My code used to rename that file from the expected default path to something else. After updating psweep to a newer version the default database location was different then previously. If psweep had __version__ set, I could have handled it with an if statement on the __version__ value.
On a related note, please also consider storing the default value of the database_basename argument as a constant, e.g. DEFAULT_DATABASE_BASENAME.

Thank you for your interest in the project.

psweep does not seem to follow the convention for storing package version in __version__ variable in the main package scope. This makes it difficult to distinguish between versions programmatically in user code.

Good point, thanks. PRs for this are welcome! This should also get updated via bump2version, see .bumpversion.cfg.

My particular case where this became a problem was with the default database filename changing from 'results.pk' to 'database.pk'. My code used to rename that file from the expected default path to something else.

You can use run(..., database_dir="/path/to", database_basename="my_db.pickle") to change the database path and basename. Admittedly that's a bit cumbersome and one could easily add a simpler database_file="/path/to/my_db.pickle" extra argument with the downside of cluttering the API while maintaining backwards compatibility.

After updating psweep to a newer version the default database location was different then previously. If psweep had __version__ set, I could have handled it with an if statement on the __version__ value.

Can you specify at which version the database location (so database_dir) changed? database_dir (along with the change results.pk -> database.pk) was added in 077b7464c4c0046097c79c19fe004ae06bc7bbd7 to make the database directory configurable, but the default has always been calc_dir, which defaults to ./calc.

On a related note, please also consider storing the default value of the database_basename argument as a constant, e.g. DEFAULT_DATABASE_BASENAME.

With the exception of PSET_HASH_ALG, I'd only define (string) constants if they are used at least twice in the code. database_basename is assigned a default value once in the definition of run() and I don't feel that it deserves special treatment over other default values such as run(..., calc_dir="calc") or prep_batch(..., calc_templ_dir="templates/calc").