Fix v1/chat/completions Gibberish API Responses

The chat completion api specifically in fastapi wasn't doing a very consistent job in completing chat. The results seem to consistently generate gibberish (like \nA\n/imagine prompt: User is asking about , or just referencing to the system message in general), so I went ahead and tweaked the prompt (it was also weirdly formatted which probably confused the text generation even more).
Here it is before and after with the default example (running vicuna-13B unfiltered:
Before
Prompt

### Instructions:Complete the following chat conversation between the user and the assistant. System messages should be strictly followed as additional instructions.

### Response:
assistant:

Results
{
  "id": "chatcmpl-8d9ce5a6-841d-4568-acbe-67ea9640954a",
  "object": "chat.completion",
  "created":<PHONE_NUMBER>,
  "model": "../llama.cpp/models/vicuna/13B/ggml-vicuna-unfiltered-13b-4bit.bin",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "\nA\n/imagine prompt: User is asking about the capital of France, Assistant should provide a clear and concise answer, perhaps mentioning some interesting facts about the city or its history. The response should be friendly and helpful, using positive language and encouraging further questions. It should also include some basic information about Paris, such as its location in the north of France, its famous landmarks or cultural attractions, or its population and history.\n\n"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 70,
    "completion_tokens": 98,
    "total_tokens": 168
  }
}

After
Prompt
### Instructions:
Complete the following chat conversation between the user and the assistant. System messages should be strictly followed as additional instructions.

system None: You are a helpful assistant.
user None: What is the capital of France?

### Response:
assistant:

Results
{
  "id": "chatcmpl-35a2850c-e9cd-445b-ad63-046cb98cb107",
  "object": "chat.completion",
  "created":<PHONE_NUMBER>,
  "model": "../llama.cpp/models/vicuna/13B/ggml-vicuna-unfiltered-13b-4bit.bin",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": " The capital of France is Paris.\n"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 61,
    "completion_tokens": 12,
    "total_tokens": 73
  }
}

I also followed the general guidance around default parameters for chatting in https://www.reddit.com/r/LocalLLaMA/comments/11o6o3f/how_to_install_llama_8bit_and_4bit/ to help with results as well.
Also added some .gitignore things that were specific to macOS that helps with contributing.

@keldenl any hints where one could find an unfiltered vicuna grazing? asking for a friend ...

@keldenl any hints where one could find an unfiltered vicuna grazing? asking for a friend ...

hug.. some.. faces?

Thanks for the contribution I'll try to address this in a more general way with https://github.com/abetlen/llama-cpp-python/issues/17 by allowing you to load multiple models and set defaults based on the specific model

Also, I haven't tested out the vicuna model yet but it looks very promising, I've found using alpaca for chat is less than ideal.

Vicuña has given me some good results. I've tweaked the chat-ui (chatgpt clone with open ai api) and been able to run the fast api against it! the chat is pretty good other than the slower generation due to lack of chat mode :/

@keldenl awesome, yeah now that the mac install bugs
are fixed improving chat speed is definitely next on my list

lmk if i can help in parallel in any way 😀

Related to this - currently the completion prompt returns gibberish if the system prompt "You are a helpful assistant." is not set. It would be great if this could be omitted, similar to the actual OpenAI API.

Update?

i think the issue is you now need to specify the chat_format correctly ... it won't guess anymore.

@earonesty correct, this is all handled correctly now by the chat format and chat handler APIs.


Fixing $env:ChocolateyInstall when is empty

I'm facing an issue to use the cChoco install package DSC because for some reason the $env:ChocolateyInstall variable is empty. Therefore, I added a line to dynamically get the choco.exe sourcedue the $env:ChocolateyInstall is empty.
#130

@cribeiro84 Is there an issue open for this? If not can you open one?

Sorry @pauby, just created the issue #130

@cribeiro84 Are you still interested in taking this forward?


Move TCL test unit/quit to Go case

I find that go-redis don't support quit command.
so i use tcpclient to send command and read result.

refer to #857

Thanks for your contribution!

@PragmaTwice  I guess maybe the go-redis not supports quit Redis 3 commands except QUIT, MONITOR, and SYNC..As @IoCing said on the pr.

Hi, the first rdb := srv.NewTCPClient() is not used, I think u can move it into every t.Run .Thanks for your great contribution.

I am thinking could we use the pipeline support in go-redis instead of current way?
Refer to https://github.com/go-redis/redis/blob/master/pipeline.go

I am wondering whether we could use the pipeline support in go-redis instead of current way. Any ideas?
Refer to https://github.com/go-redis/redis/blob/master/pipeline.go
Just an idea, I am ok with current way : )
@PragmaTwice  I'm try this way ,bug get unit/pool.go:348: Conn has unread data,I guess the pipeline still not supports quit?

		rdb := srv.NewClient().Pipeline()
		result := rdb.Do(ctx, formatCommand([]string{"quit"}))
		rdb.Exec(ctx)
		t.Log(result.Val())

I am wondering whether we could use the pipeline support in go-redis instead of current way. Any ideas?
Refer to https://github.com/go-redis/redis/blob/master/pipeline.go
Just an idea, I am ok with current way : )

@PragmaTwice I'm try this way ,but get unit/pool.go:348: Conn has unread data,I guess the pipeline still not supports quit?
		rdb := srv.NewClient().Pipeline()
		result := rdb.Do(ctx, formatCommand([]string{"quit"}))
		rdb.Exec(ctx)
		t.Log(result.Val())

I think you can just write rdb.Do(ctx, "quit") instead of these formatCommand stuff.

I am wondering whether we could use the pipeline support in go-redis instead of current way. Any ideas?
Refer to https://github.com/go-redis/redis/blob/master/pipeline.go
Just an idea, I am ok with current way : )

@PragmaTwice I'm try this way ,but get unit/pool.go:348: Conn has unread data,I guess the pipeline still not supports quit?
		rdb := srv.NewClient().Pipeline()
		result := rdb.Do(ctx, formatCommand([]string{"quit"}))
		rdb.Exec(ctx)
		t.Log(result.Val())

I am wondering whether we could use the pipeline support in go-redis instead of current way. Any ideas?
Refer to https://github.com/go-redis/redis/blob/master/pipeline.go
Just an idea, I am ok with current way : )

@PragmaTwice I'm try this way ,but get unit/pool.go:348: Conn has unread data,I guess the pipeline still not supports quit?
		rdb := srv.NewClient().Pipeline()
		result := rdb.Do(ctx, formatCommand([]string{"quit"}))
		rdb.Exec(ctx)
		t.Log(result.Val())

I am wondering whether we could use the pipeline support in go-redis instead of current way. Any ideas?
Refer to https://github.com/go-redis/redis/blob/master/pipeline.go
Just an idea, I am ok with current way : )

@PragmaTwice I'm try this way ,but get unit/pool.go:348: Conn has unread data,I guess the pipeline still not supports quit?
		rdb := srv.NewClient().Pipeline()
		result := rdb.Do(ctx, formatCommand([]string{"quit"}))
		rdb.Exec(ctx)
		t.Log(result.Val())

I am wondering whether we could use the pipeline support in go-redis instead of current way. Any ideas?
Refer to https://github.com/go-redis/redis/blob/master/pipeline.go
Just an idea, I am ok with current way : )

@PragmaTwice I'm try this way ,but get unit/pool.go:348: Conn has unread data,I guess the pipeline still not supports quit?
		rdb := srv.NewClient().Pipeline()
		result := rdb.Do(ctx, formatCommand([]string{"quit"}))
		rdb.Exec(ctx)
		t.Log(result.Val())

I think you can just write rdb.Do(ctx, "quit") instead of these formatCommand stuff.

I am wondering whether we could use the pipeline support in go-redis instead of current way. Any ideas?
Refer to https://github.com/go-redis/redis/blob/master/pipeline.go
Just an idea, I am ok with current way : )

@PragmaTwice I'm try this way ,but get unit/pool.go:348: Conn has unread data,I guess the pipeline still not supports quit?
		rdb := srv.NewClient().Pipeline()
		result := rdb.Do(ctx, formatCommand([]string{"quit"}))
		rdb.Exec(ctx)
		t.Log(result.Val())

I think you can just write rdb.Do(ctx, "quit") instead of these formatCommand stuff.

@PragmaTwice It will panic because of EOF. We do get results for this case if we ignore panic.
pipe := srv.NewClient().Pipeline()
tmp1 := pipe.Do(ctx, "quit")
tmp2 := pipe.Do(ctx, "ping")
_, err := pipe.Exec(ctx)
if err != nil { // eof error
	panic(err)
}
t.Log(tmp1.Val()) //  OK
t.Log(tmp2.Val()) //  nil

@PragmaTwice It will panic because of EOF. We do get results for this case if we ignore panic.
pipe := srv.NewClient().Pipeline()
tmp1 := pipe.Do(ctx, "quit")
tmp2 := pipe.Do(ctx, "ping")
_, err := pipe.Exec(ctx)
if err != nil { // eof error
	panic(err)
}
t.Log(tmp1.Val()) //  OK
t.Log(tmp2.Val()) //  nil

A little confused. I think the panic is added by yourself rather than in rdb.Exec?

@PragmaTwice It will panic because of EOF. We do get results for this case if we ignore panic.
pipe := srv.NewClient().Pipeline()
tmp1 := pipe.Do(ctx, "quit")
tmp2 := pipe.Do(ctx, "ping")
_, err := pipe.Exec(ctx)
if err != nil { // eof error
	panic(err)
}
t.Log(tmp1.Val()) //  OK
t.Log(tmp2.Val()) //  nil

A little confused. I think the panic is added by yourself rather than in pipe.Exec?

Example code  shows we should check this err.I do not know if we sholud ignore it.

@PragmaTwice It will panic because of EOF. We do get results for this case if we ignore panic.
pipe := srv.NewClient().Pipeline()
tmp1 := pipe.Do(ctx, "quit")
tmp2 := pipe.Do(ctx, "ping")
_, err := pipe.Exec(ctx)
if err != nil { // eof error
	panic(err)
}
t.Log(tmp1.Val()) //  OK
t.Log(tmp2.Val()) //  nil

A little confused. I think the panic is added by yourself rather than in pipe.Exec?

Example code shows we should check this err. I do not know if we sholud ignore it.

@PragmaTwice @tanruixiang Should I now use pipeline.do instead of tcpclient reimplementation ?

@PragmaTwice @tanruixiang Should I now use pipeline.do instead of tcpclient reimplementation ?

I prefer pipeline.do, although I think both of them are OK.

@IoCing Hi,I just try QUIT returns OK, If we igrone the err, It can run as expected. You can try others.

@PragmaTwice @tanruixiang Should I now use pipeline.do instead of tcpclient reimplementation ?

I prefer pipeline.do, although I think both of them are OK to me.

ok  ,  i will try to use pipeline.Do to implement

@IoCing Hi,I just try QUIT returns OK, If we igrone the err, It can run as expected. You can try others.

ok,thanks for your help


I think we need to consistently and conclusion handle "\n" characters everywhere - we need to find a root cause of where this character is coming from and fix that.
The problem with just always stripping is that it might result in an incorrect / unexpected behavior if user does something like `cmd='echo \n'.

The problem with just always stripping is that it might result in an incorrect / unexpected behavior if user does something like `cmd='echo \n'.

Bash commands insert a \n so prompt comes to a newline. So \n is part of stdout and stderr.  I had a discussion with manas here and I also had the same concern with rstrip. I opened the PR to get feedback from everyone. One thing, we could do is just strip only one \n from output. If we don't strip \n, we won't be able to do things like {{task_name.stdout.property}} in action chains.

@lakshmi-kannan You sure the line break is coming from bash and not echo ("echo -n 'foo' shouldn't produce a new line)?

I am fine with stripping the \n from stdout and stderr.  As long as we only strip one we shouldn't run in to problems with removing ones that were purposely put in there.  @Kami it depends.  echo "foo" will add a new line echo -e "foo" will not.  There is definitely \n appended to most stuff that is ran in bash though.

Just FYI, Fabric was already stripping. https://gist.github.com/lakshmi-kannan/09e5e3ddb655eb8e2b4e

Yeah and core.local does not. Odd we did not notice this earlier.

As discussed on Slack, I'm fine with this change if we make sure we only strip it once and we also document this behavior.

+1

This is picked up in 0.13.2 https://github.com/StackStorm/st2/pull/1921. I'll remove the private_key fix changeling entry from master in this PR.

Do we need a changelog entry?
Besides that, LGTM, +1

Do we need a changelog entry?

I picked this up in 0.13.2. Changeling entry will be there.


v1.0.0-beta

This pull request is to collect all the changes that are relevant for v1.0.0-beta. This includes

[x] Set up Github Workflows/Continuous integration
[x] Add badges to readme
[ ] Add PyPI frontpage (PyPI.rst) or check whether README.rst is suitable
[x] Clean up documentation
[x] Check whether basic functionality works on Linux, Macos and Windows
[x] Add some file size comparisons for different file formats (.gt3x, .csv, .pkl, .h5)
[x] Set up Read the docs
[ ] Use actions/cache to speed up tests
[ ] Set default branch on Readthedocs back to main
[x] Set up codecov monitoring

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@19db96b). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Current head 05c19e8 differs from pull request most recent head b7a3c9f. Consider uploading reports for the commit b7a3c9f to get more accurate results

@@           Coverage Diff           @@
##             main      #15   +/-   ##
=======================================
  Coverage        ?   75.95%
=======================================
  Files           ?        7
  Lines           ?      578
  Branches        ?        0
=======================================
  Hits            ?      439
  Misses          ?      139
  Partials        ?        0

Flag
Coverage Δ

unittests
75.95% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.
:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Silence logger in webpack builds

Thanks so much for your work on this package - it's fantastic.
I recently updated from 0.4.0-6 to 0.4.0-10. My webpack dev build now prints out several statements on every rebuild. This adds a lot of noise to my console.

Is there anyway to silence the logger? Or am I perhaps setting up incorrectly such that these warnings are being output? I don't see anything in the docs suggesting how I might setup differently.
Any advice or suggestions would be welcome - thanks!

Thanks so much for your work on this package - it's fantastic.

Thank you for using it and your feedback! :slightly_smiling_face:

Is there anyway to silence the logger?

Currently only in a hack-y way by setting the env var TEST_MOCHA=true.

Or am I perhaps setting up incorrectly such that these warnings are being output?

No, they're not warnings, they're mostly useless debug logs that should be removed.


Test "Issue Comment" workflow

Check the workflow again.

Created by github-actions-lab

Thank you for creating this issue!

reactions: '+1'


chore: upgrade charts

updated chart jx3/cd-indicators from 0.0.10 to 0.0.11

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign hferentschik
You can assign the PR to them by writing /assign @hferentschik in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jenkins-x-bot-test: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

vault
8f590e18104430305f8d6eec8acd4d28b54452bf
link
/test vault

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

/retest


Add directive to ignore assets

I recently started using sprockets as part of a new Rails 3.1 project. I love it so far, but there are assets that I don't want as part of my bundle, for example an IE only, or print stylesheet that should be included with the appropriate tags in the layout.
I forked and patched the directive processor and context to implement an ignore directive like so:
/*
*= require "foo"
*= ignore "bar"
*= require_tree .
*/

This will NOT include the bar asset even if it finds it when executing require_tree.
Thoughts? Is this the right place to do something like this, or should it happen higher up (say in Rails)?

There're sometimes a valid parts of application that you don't want to include on very page. It might have dependency on an external javascript, therefor it's not just a matter of saving a few of kb of download.
I did some monkey patching in order to implement this for my project:
http://stackoverflow.com/questions/7602393/rails-3-1-sprockets-require-directives-is-there-a-way-to-exclude-particular-fi/8763812#8763812


exceptions.NameError: global name 'base64' is not defined

I use Python 2.4.3 and this PythonObfuscator to obfuscate our python code. Some of obfuscated code runs but for a group of similar python script files, all obfuscated code encounter the same error: exceptions.NameError: global name 'base64' is not defined. Does anyone know how to get rid of this error? Thank you.

I developed this in Python 2.7.x, and feel free to check the docs about base64 module being in Python 2.4.x or not.


The path cannot be correctly specified. The last directory is trimmed.

Operating system or device, Godot version, GPU Model and driver (if graphics related):
Ubuntu16.04, Master
Steps to reproduce:
Click to creating a new project. Select any folder.
The last directory will not be in the way.

Duplicate of #13203.


ReactiveDropdownField select a specific DropdownMenuItem according to the selected value of another ReactiveDropdownField

Hello,
I have a problem which is near this topic:
https://github.com/joanpablo/reactive_forms/issues/183
But the answer does not help me in my case.
I have 2 ReactiveDropdownField.
When I select a value in the 1st ReactiveDropdownField I would like to select a specific DropdownMenuItem (value and child selected) of another ReactiveDropdownField.
That doesn't work when I change the value of the control of the 2nd ReactiveDropdownField:
form.control("my_second_field").value = specificValueOfDropdownMenuItem;

The value is changed but not the text which appears as selected (child widget of the DropdownMenuItem).
I tried several things but I can't find the way to do that.
Reading the issue #183 I was thinking that changing the value of a control will automatically change the selected text of the ReactiveDropdownField.
What is the good way to do such a thing?
Thank you in advance for any help. :-)

@jbt-cii use updateValue instead

Thank you @vasilich6107
I have just tried:
form.control("my_second_field").updateValue(specificValueOfDropdownMenuItem);

That doesn't work in my case.
When I control "form.control("my_second_field").value" after, it's OK it has the good value.
But the text printed (selected) in this second field doesn't change.

@jbt-cii
try to react on changes in buildForm
I tested the behaviour before posting a suggestion
Here is my code
FormGroup buildForm() {
    final bottomSheet = FormControl<String>(value: 'Brazil');

    final menu = FormControl<String>(value: 'Tunisia')
      ..valueChanges.listen(
        (e) {
          if (e == 'Brazil') {
            bottomSheet.updateValue('Canada');
            print(e);
          }
        },
      );

    return fb.group(<String, Object>{
      'menu': menu,
      'bottomSheet': bottomSheet,
      'touchSpin': FormControl<double>(value: 10),
      'rate': FormControl<String>(value: 'a'),
      'date': FormControl<DateTime>(value: DateTime.now()),
      'time': FormControl<DateTime>(value: DateTime.now()),
      'dateTime': FormControl<DateTime>(value: DateTime.now()),
    });
  }

Ok I found the problem.
In fact this way was enough:
form.control("my_second_field").value = specificValueOfDropdownMenuItem;

The problem came from the fact I did not put a specific format to my controls.
So for each field declared in my 'FormGroup' I hed to declare the control like:
    form = FormGroup({
      'my_first_field': FormControl<String>(),
      'my_second_field': FormControl<String>(),
    });

And also I had to declare my "DropdownMenuItem" like this:
...
        menuItems.add(DropdownMenuItem(
          // value: int.parse(key), => old declaration
          value: key.toString(),
          child: Text(
            v,
            style: TextStyle(
              fontSize: 20.0,
              color: Theme.of(context).accentColor,
            ),
          ),
          onTap: () => setState(() {
            // this._onChanged!(int.parse(key));
            this._onChanged!(key.toString());
          }),
        ));
...

With that it seems to be good!
Thanks for the help.


MAPREDUCE-7454. missing checking for null when acquiring appId for a null jobId

Description of PR
https://issues.apache.org/jira/browse/MAPREDUCE-7454
This PR adds a nullity check for the jobId when trying to acquire the appId, and also when trying to initialize the shared cache.
How was this patch tested?

set mapreduce.job.sharedcache.mode=archives, mapreduce.framework.name=yarn, yarn.sharedcache.enabled=true
run org.apache.hadoop.mapreduce.TestJobResourceUploader#testErasureCodingDisabled
The test does not throw NullPointerException any more, and gives more information about what is the problem.

For code changes:

[x] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
[ ] Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 27s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+0 :ok:
detsecrets
0m  1s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
31m 56s

trunk passed

+1 :green_heart:
compile
0m 32s

trunk passed with JDK Ubuntu-<IP_ADDRESS>+1-post-Ubuntu-0ubuntu120.04

+1 :green_heart:
compile
0m 30s

trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05

+1 :green_heart:
checkstyle
0m 30s

trunk passed

+1 :green_heart:
mvnsite
0m 34s

trunk passed

+1 :green_heart:
javadoc
0m 29s

trunk passed with JDK Ubuntu-<IP_ADDRESS>+1-post-Ubuntu-0ubuntu120.04

+1 :green_heart:
javadoc
0m 24s

trunk passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05

+1 :green_heart:
spotbugs
1m  2s

trunk passed

+1 :green_heart:
shadedclient
20m 56s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 25s

the patch passed

+1 :green_heart:
compile
0m 26s

the patch passed with JDK Ubuntu-<IP_ADDRESS>+1-post-Ubuntu-0ubuntu120.04

+1 :green_heart:
javac
0m 26s

the patch passed

+1 :green_heart:
compile
0m 23s

the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05

+1 :green_heart:
javac
0m 23s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 19s

the patch passed

+1 :green_heart:
mvnsite
0m 25s

the patch passed

+1 :green_heart:
javadoc
0m 17s

the patch passed with JDK Ubuntu-<IP_ADDRESS>+1-post-Ubuntu-0ubuntu120.04

+1 :green_heart:
javadoc
0m 17s

the patch passed with JDK Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05

+1 :green_heart:
spotbugs
0m 56s

the patch passed

+1 :green_heart:
shadedclient
21m 11s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
6m  2s

hadoop-mapreduce-client-core in the patch passed.

+1 :green_heart:
asflicense
0m 29s

The patch does not generate ASF License warnings.

90m 57s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6049/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/6049

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets

uname
Linux 9aab452d6dcb 4.15.0-212-generic #223-Ubuntu SMP Tue May 23 13:09:22 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 1afb88a80b97da30acb15837bcbb12728b6c4256

Default Java
Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-<IP_ADDRESS>+1-post-Ubuntu-0ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_382-8u382-ga-1~20.04.1-b05

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6049/1/testReport/

Max. process+thread count
1665 (vs. ulimit of 5500)

modules
C: hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core U: hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6049/1/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.


[SPARK-49114][FOLLOWUP] Sub-categorize cannot load state store errors

What changes were proposed in this pull request?

Follow up to #SPARK-49114.
Why are the changes needed?

Add errors to error-conditions.json
Does this PR introduce any user-facing change?

No.
How was this patch tested?

Unit tests passing.
Was this patch authored or co-authored using generative AI tooling?

No.

@HeartSaVioR requesting final review

Mind updating PR description? How does it affect the end users?

@HyukjinKwon
This adds a missing error classes into json definition file. There was a PR which added error classes into the codebase but missed to add them in error class json file. We couldn't catch this from testing as it's non-trivial to arbitrarily trigger the condition.

Thanks! Merging to master.


(Netlify costs) CHeck what is using bandwith (maybe the ipfs redirect)

Fixed redirect logic. hope it solves the problem


Remove type check for solaris.

I don't know what's wrong with the arm machine on travis.  Will check again tomorrow.

I don't know what's wrong with the arm machine on travis.  Will check again tomorrow.


Improve password hashing for JDBCUserStore

The docs indicate that current hashing methods are PLAIN_TEXT, MD5 and SHA. All of these hashing methods are insecure and should not be used to store passwords.

WSO2IS supports for salted hash with SHA-512.  Please find more details from here

SHA-512 is not secure either. Check this link

Does Wso2 provides bcrypt for hashing? As mentioned above SHA-512 is not secured.

we might endup not using WSO2 coz of this

@pulasthi7 , @isharak , is this feature developed yet ? do you have an idea for implement this. I have a need for implement on this so I can contribute to this. Can you advice me to from where we can start ?

Thank you for your contribution!
We are closing this issue since it has not been prioritized for a long time. Chances are that it has already been solved in more recent versions. If not, we will be re-evaluating this when it becomes a priority.


Added support for Haystack tracing

Adding support for Haystack tracing system - https://expediadotcom.github.io/haystack/
It is an OpenTracing compatible tracing and logging system which supports high volume trace data and distributed backend storage system.

Thank you for this PR.
Sorry for the late answer.
Could you rebase this pull request on v2.0 branch?

@aantono any news?

Sorry, forgot to rebase... Hopefully it's all good now!

Looks like validate-lint is failing, but can't figure out why :(
Any ideas what broke during the dependency upgrade?

The problem come because you are dep 0.4, we migrated to dep 0.5.
Could you rebase on branch v2.0?


FIX update tab loading to use recent admin module changes

Changes in this PR contain a refactor to -reenable setting the tab via the action menu after changes in admin(https://github.com/silverstripe/silverstripe-admin/pull/694).
Fixes https://github.com/dnadesign/silverstripe-elemental/issues/448
Dependent on:

[x] https://github.com/silverstripe/webpack-config/pull/28
[ ] https://github.com/silverstripe/silverstripe-admin/pull/701
[x] https://github.com/silverstripe/silverstripe-admin/pull/703

Thanks @NightJar for the awesome peering!

Yes, @ScopeyNZ. That's right. Made an additional commit.

I've published the latest webpack-config, will update this PR


｢is default｣ for subs is not searchable

<babydrop> m: multi foo (Int) is default {say "here"}; multi foo (Int) {say "there"}; foo 42
<camelia> rakudo-moar a98724: OUTPUT«here␤»
<babydrop> m: multi foo (Int) {say "here"}; multi foo (Int) is default {say "there"}; foo 42
<camelia> rakudo-moar a98724: OUTPUT«there␤»
<babydrop> Neat.
<babydrop> TIL
<AlexDaniel> hmmm
<AlexDaniel> so what does it do exactly?
<moritz> it disambiguates ambiguous dispatches

(IRC log: https://irclog.perlgeek.de/perl6/2016-12-08#i_13703911)

Wrote a small thing to try and fix this. See pull #1052.

Make it searchable

You can add a subsection header like =head2 is_default (sub trait)(or something along the lines) and it will be added to the index automatically. And, I suspect, it will be more readable with such distinction. I assume that header on Variable page should be changed too, for some consistency between these two.

Added headers and changed the one for variables a bit. See pull request #1100.

Added headers and changed the one for variables a bit. See pull request #1100.

Closed with a merged pull request. Feel free to reopen or just patch as needed.

Still not searchable.

Hmm, it seems that trait of is also not searchable.
Judging by grep,
➜  doc git:(master) ✗ grep -I -r 'is dynamic' doc/
doc/Type/Variable.pod6:=head2 trait is dynamic
doc/Type/Variable.pod6:    my $x B<is dynamic> = 23;

it should be done. And is dynamic search anchor doesn't look like injected as some exception.
As for me, it is more strange that is dynamic is indexed now.

It's now indexed… twice.

I'll close this issue and create a new one so that it looks less scary.


[BUG] Error when opening histograms in the App

When I click on Labels, Scalars, Tags, or Show, I the App errors out and asks to revert to an old view. The inspector shows the following error.
I have tried restarting FiftyOne and clearing my browser cache but that didn't help. I tried this in both oi-dataset and develop branches.
TypeError: n.default is not a constructor
    at v (index.js:1357)
    at y (index.js:1357)
    at Object.<anonymous> (index.js:1357)
    at GSe (index.js:1357)
    at index.js:1386
    at Array.reduce (<anonymous>)
    at WOe (index.js:1386)
    at index.js:1386
    at Array.forEach (<anonymous>)
    at d.value (index.js:1386)

Resolved by https://github.com/voxel51/fiftyone/pull/943/commits/6638597d4bf1a330c721fbce0e6ad2af7c9b9998 in https://github.com/voxel51/fiftyone/pull/943


Change Layout labels

Maybe I just have a different perspective and I'm being nit-picky... but I feel like the labels for these should be reversed?
This is vertical?

This is horizontal?

@chris-fox what do you think?

Looks like John already took care of this. verified in the demo app.

Closing


Memory leak + GC overhead

Hi @liabru ,
Thanks for your great framework and examples which I'm having a lot fun using it.
I'm trying it with node, but it's giving me a hard time causing some memory leak + GC overhead.
The code below is just a dummy app that reproduces the same scenario I have in production.
It works fine with no memory leak until I added bodies to the classes. The heap grows faster then the GC can keep up with (see this image).
Hundreds of thousands objects gets created and don't be released from the heap (see this image).
Am I doing anything wrong? is it expected?
Is there anything else need to properly remove bodies from the world apart from Matter.Composite.remove(this.engine.world, body);?
node v8.4.0
matter-js 0.13.0
Thanks again
        const Matter = require("matter-js");

        var Car = function(name, engine){
            this.name = name
            this.engine = engine
            this.body = Matter.Bodies.circle(0,0,20,{restitution: 1.0});

            return this
        }

        var Truck = function(instance,name,engine_id){
            this.instance = instance
            this.name = name
            this.engine = this.instance.engines[engine_id]
            this.body = Matter.Bodies.circle(0,0,20,{restitution: 1.0});

            return this
        }

        var Engine = function(power){
            this.power = power
            this.random_var = [1,2,3,4,5,6,7,8,9,10]
            this.increase = function(){
                this.power +=100
            }
        }

        var App = function(){

            this.cars = [];
            this.trucks = [];
            this.engines = [];

            this.Engine = Matter.Engine,
            this.World = Matter.World,
            this.Bodies = Matter.Bodies;

            this.engine = this.Engine.create();
            this.engine.world.gravity = {x: 0, y: 0.7};

            this.max_cars = 200
            this.max_trucks = 200

            for(var i = 0; i < 100; i++){
                this.engines.push(new Engine(i))
            }

        }

        App.prototype.remove_from_world = function(body){
            Matter.Composite.remove(this.engine.world, body);
        }

        App.prototype.getRandomArbitrary = function(min, max) {
            return parseInt(Math.random() * (max - min) + min)
        }

        App.prototype.create_loop = function(){
            setInterval(function a() {
                for (var i = 0; i < 15; i++) {
                    if(this.cars.length <= this.max_cars){
                        var engine_id = this.getRandomArbitrary(0,this.engines.length)
                        var temp_car = new Car("any car name", this.engines[engine_id])
                        this.World.add(this.engine.world, temp_car.body);
                        this.cars.push(temp_car);
                    }

                    if(this.trucks.length <= this.max_trucks){
                        var engine_id = this.getRandomArbitrary(0,this.engines.length)

                        var temp_truck = new Truck(this,"any truck name",this.engine_id)
                        this.World.add(this.engine.world, temp_car.body);

                        this.trucks.push(temp_truck);
                    }
                }
                console.log("Cars: " + this.cars.length + "  | Trucks: " + this.trucks.length);
            }.bind(this), 1000);
        }

        App.prototype.delete_loop = function(){
            setInterval(function b() {
                for (var i = 0; i < 20; i++) {

                    this.remove_from_world(this.cars.shift().body)
                    this.remove_from_world(this.trucks.shift().body)
                }
                console.log("After remove - Cars: " + this.cars.length + "  | Trucks: " + this.trucks.length);
            }.bind(this), 4000);
        }

        App.prototype.update = function(){
            setInterval(function b() {
                this.Engine.update(this.engine, 30)
                //console.log("update")
            }.bind(this), 30);
        }

        var app = new App()
        app.create_loop()
        app.delete_loop()
        app.update()

@playablebox I could definitely be missing something, but looks to me like this code is adding objects much faster than it removes them.
every 1 second it adds 30 bodies... so every 4 seconds it adds 120 bodies, while it only removes 40 bodies.
The other thing I noticed is a copypasta error (creating temp_truck but adding temp_car to the world), that might or might not be related:
  var temp_truck = new Truck(this,"any truck name",this.engine_id)
  this.World.add(this.engine.world, temp_car.body);

Well spotted, that copy paste error was my mistake and only realised it afterwards.
However, it's not related to the issue reported. Although create_loop runs at every second, car and trucks objects are only created if they do not exceed this.max_cars and this.max_trucks respectively.

Hi there,
I noticed the following online demo also seem to have memory leaks :
https://brm.io/matter-js/demo/#timescale
Opening it with Chrome and checking the memory tab :
It starts around 7-9MB and continually grows, to 100-200-300MB after a couple of minutes.
Tested with Chrome v78 (latest version at this day).
I haven't tested the other demos.
Hope it helps.


when i write dotnet command on my command prompt, it shows up the following error...

Problem encountered on https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/install
Operating System: windows
Provide details about the problem you are experiencing. Include your operating system version, exact error message, code sample, and anything else that is relevant.

@Manthan0599 : After installing donet core, did you close and open the command prompt?

I'll try that now,  thanks
On Wed, 5 Jun 2019, 16:19 VivekNatarajan<EMAIL_ADDRESS>wrote:

@Manthan0599 https://github.com/Manthan0599 : After installing donet
core, did you close and open the command prompt?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dotnet/core/issues/2829?email_source=notifications&email_token=AKHLQ3YOICEKME25X7X2C63PY6K2VA5CNFSM4HTUMIE2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODW7KTAI#issuecomment-499034497,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKHLQ33DBUF32HVR7WSH2A3PY6K2VANCNFSM4HTUMIEQ
.

Thanks @viveknatarajan for help! Closing ng as it is now answered.


loadmore twice

From https://github.com/guillaumervls/react-infinite-scroll/issues/44:

Every time the loadmore event is triggered, it triggers two times

same issue

Same for me. I don't know if ithassomethingto do with first "bottom"in the browser where there is no appended itemsyet.

It's okay because it tries to resolve the free space and draw the scrollbar for future scrolling.
Otherwise, you will be not able scroll more data.
Given you want 1 item per page, InfiniteScroll will be trigger loadMore 10 times.
Given you want 5 item per page, InfiniteScroll will be trigger loadMore 2 || 3 times, regarding wrappers filled percentage.
But, if you want 10 item per page, and InfiniteScroll triggering loadMore 2 || 3 times, so it's for safety.
But if you want 20 item per page, maybe calculating will be 1 loadMore.

In your code screenshot, there is another problem, how I can see, you passing to hasMore only true, imagine now what will happen, if API will return only 1 item, or 2, or less than you want, in the case when you wanted 10.
It will be an infinite loop of requests! So fix it and don't worry about one more request.

Same issue
Let say I have an API callback in loadMore() so sometimes it is being called more than once for the same page. The problem is not about just one more request because it is easily reproducible, so it will cost you a lot more than that.

@danial-iqbal-confiz do you use loadMore's page or managing page in your own component state?
And maybe it's OPTIONS request? One time I confused, because on Network tab there are a lot of requests with GET and with OPTIONS.

@hosembafer Your answer isn't clear as to why this issue should be ignored. From my perspective if a request is already in progress then we should we block all other infinite-scroll requests until it's resolved or rejected, their's no reason to overload the server with multiple useless calls that do the same thing.
I solved this by setting a boolean flag to true in the API callback so that only 1 request is sent at a time.

I am also facing this issue and resolved in this way:
<InfiniteScroll
className='col-sm-12'
pageStart={0}
loadMore={this.loadMoreSearchResult}
hasMore={hasMore}
loader={}

	{searchResults.map(this.createSearchResultList)}

loadMoreSearchResult = (page) => {
setTimeout( () => {
const { search: { loadMoreFlag, pageIndex } } = this.props;
	if(!loadMoreFlag) {
		//function to get Search API result with update loadMoreFlag in redux
		this.props.getSearchResultsWithFlag({pageIndex: pageIndex + 1, loadMoreFlag: true});
	} else if(loadMoreFlag) {
		//function to update loadMoreFlag only in redux
		this.props.updateSearchFlag({loadMoreFlag: false});
	}
}, 100);

};

@devendra-gh You don't need setTimeout. Just toggle a boolean flag in your API callback to know when the request is done.

Same behaviour for me... load more is being triggered twice in parallel.

Same issue here

@ttt43ttt Did you any of the fixes listed above?

Yes. I have to manage the state by myself. The page argument passed in function handleLoadMore(page) is not correct either.

@CassetteRocks, I think this problem related to documentation. Component only have hasMore prop to control this case, but what about in progress state, when you have more items to fetch, but you need to stop fetching by hasMore=false, maybe you need to add isFetching prop, or just write complex example in README.md like hasMore={hasMore || !isFetching}

I think that setTimeout isn't a good decision.
For me I have just wrote wrapper with state to handle this.

@MartinDawson can you tell me where toggle boolean flag in API, i'm confusing in it where and what flag would be toggle in my code

Same issue :|

this is fixed the issue with triggering loadMore twice
<InfiniteScroll
  hasMore={!isLoading}
  ...
/>

where isLoading is true when you request API and false when request is done.

I recently updated the issue templates on this repo so that I can identify the bugs with this repo.
Please clone your layout and use of react-infinite-scroller by forking this Code Sandbox and linking it here. Doing so will massively expedite getting the bug fixed! 👊

`export const fetchAsync = (page, cate) => {
return (dispatch) => {
// first update redux state
dispatch(fetchStarted(cate));
    axios.get('http://result.eolinker.com/xULXJFG7a8d149be1ed30d8132092c1987f99b9ee8f072d?uri=exchange_record')
        .then((response) => {
            // second update redux state
            dispatch(fetchSuccess(cate, response.data.list));
        })
        .catch((error) => {
            dispatch(fetchFailure(cate, error));
        })
        .finally(() => {
        });
};

};`
use redux async action and react-infinite-scroller bring loadmore twice

@ApacheEx this cannot be done if child components are themselves making API request

if you use redux or mobx then it can be done 😋

Set threshold to a small value like 20 solved for me.

here is working fix of issue with triggering loadMore twice
<InfiniteScroll
  hasMore={!isLoading}
  ...
/>

where isLoading is true when you request API and false when request is done.

this is a bad fix, by doing this the loading indicator is no longer shown, and also when the end of the list is reached the loadMore function is triggered indefinitely.

you're right, it should be more like this:
<InfiniteScroll
  hasMore={!isLastPage && !isLoading}
  ...
/>

where:

isLoading is true when you request API and false when request is done.
isLastPage is true when the last page of API reached otherwise false.

p.s I'm using another library / component for loading indicator.

@ApacheEx I've ended keeping the state myself.
the loadFunc exists if there's an inflight request.
page tracking is also kept in my redux store, at the next request i'm incrementing page+1
loadFunc = () => {
   const {isFetchingPage, page} = this.props

   if (isFetchingPage) {
     return;
   }

   this.props.fetchData(page+1)
   }

and in render function
has_more - is received from the backend pagination response.
<InfiniteScroll className='flex-child p30'
            pageStart={1}
            loadMore={this.loadFunc}
            hasMore={has_more}
            loader={loader}
          >

too bad this component has 42,980 active weekly downloads, and it's not maintained 😞

my modification
Original (https://github.com/CassetteRocks/react-infinite-scroller/blob/master/src/InfiniteScroll.js)
  constructor(props) {
    super(props);

    this.scrollListener = this.scrollListener.bind(this);
  }

Edit
  constructor(props) {
    super(props);

    this.scrollListener = debounce(this.scrollListener.bind(this), 100)
  }

debounce example
https://github.com/lodash/lodash/blob/4.0.8-npm-packages/lodash.debounce/index.js

This works for me and in the example, the last iteration is not shown.

import React, {Component} from 'react';
import InfiniteScroll from 'react-infinite-scroller'
import axios from 'axios'

const divStyle = {
    height: '300px',
    overflow: 'auto',
};

export default class InfinitePagination extends Component {
    constructor(props) {
        super(props);

        this.state = {
            tracks: [],
            hasMoreItems: true,
            nextHref: null,
        };
    }

    loadItems(page) {
        var self = this;
        var url = 'http://<IP_ADDRESS>:8000/file/api/folder/34856174-8968-4977-95a0-189fbe238315/children/';

        if (this.state.nextHref) {
            url = this.state.nextHref;
        }

        // Lock the load!!!!!!!
        self.setState({
            hasMoreItems: false,
        });

        axios.get(url)
            .then((response) => {
                let tracks = this.state.tracks;
                console.log("url", response.data.next);

                response.data.results.map((item, index) => {
                    tracks.push(item);
                });

                this.setState({
                    tracks: tracks
                });

                if (response.data.next) {
                    self.setState({
                        nextHref: response.data.next,
                        hasMoreItems: true,
                    })
                }
            })
            .catch((error) => {
                console.log(error);
            });
    }

    render() {
        const loader =
Loading ...
;

        let items = [];
        this.state.tracks.map((item, i) => {
            items.push(

{i} - {item.uuid}

            );
        });

        return (

                <InfiniteScroll
                    pageStart={1}
                    loadMore={this.loadItems.bind(this)}
                    hasMore={this.state.hasMoreItems}
                    useWindow={false}
                    loader={loader}>
                    {items}
                </InfiniteScroll>

        );
    }
};

For anyone still having this issue, I solved this issue with:
  <InfiniteScroll
  // ...
  hasMore={!isLoading && hasMoreItems}
  // ...
  >

isLoading is true when network request is sent and is false when it resolves. hasMoreItems is true if the response (ie. items from request) is not empty.

If using Redux Saga just set the listener to takeLatest instead of takeEvery

its the issue of looping calling with loadMore={} in infinitescroll. so  I have resolved this issue with a custom method that detects the scroll event.
// Binds our scroll event handler
window.onscroll = debounce(() => {
// Checks that the page has scrolled to the bottom
if (
window.innerHeight + document.documentElement.scrollTop
=== **document.getElementById('app').offsetHeight ** ( this can by tag by class also)
) {
this.loadMore();
}
}, 100);
<InfiniteScroll
threshold={0}
// loadMore={debouncedLoadMore}
hasMore={hasMore || false}
isReverse={false}
loader={}
>

comment loadMore or can comment loadMore Call back method  * so by  using combination of both my problem has been resolved

same issue. It's making the request twice and as a result, I am ending up with a list of repeated components.

i changed it and used this https://www.npmjs.com/package/react-infinite-scroll-component it's better and free of this issue & also supports pull down to refresh functionality

I ended up cloning the repo, and made a version where the loadMore function has to return a promise.
Then I just had to change the code to wait for the promise to resolve before calling loadMore again. It works well for my purpose !

Every time when i scroll component event is getting triggered thrice in infinite scrolling using react-infinite-scroll-component, can you guys suggest me some other library which is good for infinite scrolling any fix for this issue.

The solution is set
  const [isFetching, setIsFetching] = useState(false);

and use
hasMore={!isFetching && fetchFunction}

fetch-function:
const fetchFunction = ()=>{
  setIsFetching(true)
  // you should handle different page's data to concat List;
  fetch(xxx).then(res=>res.json()).then((res)=>{
    setIsFetching(false)
    setData(['listData'])
  }).catch(err=>{
    setIsFetching(false)
  })
}

to limit hasMore callback to reFetch Api.
Because of the principle of this Component, while you scroll to bottom ,the component will invoke hasMore to fetch data.
But, when you fetch your first page (fetch-api) and set Data to State of React, dom is building automatically.
while building, dom is building from top to bottom, will misleading react-infinite-scroller to invoke hasMore. so it fetch twice.

For anyone still having this issue, I solved this issue with:
  <InfiniteScroll
  // ...
  hasMore={!isLoading && hasMoreItems}
  // ...
  >

isLoading is true when network request is sent and is false when it resolves. hasMoreItems is true if the response (ie. items from request) is not empty.

you are right. thanks

<InfiniteScroll
dataLength={orders.length}
next={loadMore}
hasMore={false}
loader={null}
endMessage={null}
>
hasMore={false} working correctly

hasMore={!isLoading && hasMoreItems}

Loader component will not be rendered if hasMore is false.

as for me helped to remove func fetchdata from useeffect/componentdidmount. it doubled first page request. and add isFetching

Same issue  hasMore={!isLoading && hasMoreItems} do not help even though i used ref for isLoading the loadmore is calling rapidly resulting two calls .

it worked thanks

+1


How to localize

Chinese

Hi @Lanch92
Please follow https://flutter.dev/docs/development/accessibility-and-localization/internationalization
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


Add specs for Module.used_refinements

#1016
[Feature #14332]

Module.used_refinements has been added.

suggestion: There are the following additional cases that I would consider:

a module doesn't have imported refinements at all, so used_refinements returns []
a module include another module that calls using and imports some refinement - this refinement shouldn't be returned by calling #used_refinements in the child module

Do you mean example of usage of ScratchPad? There is an example in another my comment https://github.com/ruby/spec/pull/1027#discussion_r1194194360:
# language/next_spec.rb
ScratchPad.record []

[1].each do |i|
  begin
    ScratchPad << :begin
    next
  ensure
    ScratchPad << :ensure
  end
end

ScratchPad.recorded.should == [:begin, :ensure]

I was thinking about this
a module includes another module that calls using and imports some refinement - this refinement shouldn't be returned by calling #used_refinements in the child module
Sorry if previous comment was unclear.

I meant the following case:
# it ignores refinements imported in a module that is included into the current one

m1 = Module.new do
  refine Integer do
  end
end

m2 = Module.new do
  using m1
end

Module.new do
  include m2

  p Module.used_refinements # => I would expect `[]`
end

There is another case that may be worth to check, when some refinements are declared in a module, that is included in a module that is included in a module that is passed as argument for using method:
# it returns refinements even not defined directly in a module refinements are imported from

m1 = Module.new do
  refine Integer do
  end
end

m2 = Module.new do
  include m1
end

Module.new do
  using m2

  p Module.used_refinements # => [#<refinement:Integer@#<Module:0x000000010391f3d0>>]
end

Thank you for the specs!


Update EKS cluster Kubernetes minor version to 1.23 for cluster as well as node groups

Update EKS cluster and managed node group version to 1.23.
Make updates to
repos/gitops-system/clusters-config/template/def/eks-cluster.yaml:    eks-k8s-version: '1.21'
repos/gitops-system/clusters-config/template/def/eks-cluster.yaml:    mng-k8s-version: '1.21'
Also, update repos/gitops-system/tools-config/crossplane-eks-composition/compositeresourcedefinition.yaml to include all the EKS supported of Kubernetes.
Make sure all the markdown reflect the Kubernetes version change.

Cleaning-up issues; I recently updates the implementation to the latest versions of the various tools involves -- this includes K8s, Flux, Crossplane, and Crossplane AWS and K8s provider.


[debug] enter into wrong condition branch

Does this issue occur when all extensions are disabled?: Yes

Version: 1.73.1 (Universal)

OS: Darwin arm64 21.6.0

Steps to Reproduce:
I'm debugging some source code, I found two issue by now

can't jump directly to the target code, I have to set breakpoint one by one from the start, or it will pass the breakpoint then continue to excute.  I know the code logic flow, but I have to set these breakpoints to let vscode know the logic flow, I think it should break automatically once met breakpoint during excuting

enter into wrong condition branch

Is this code minified? That can cause these sorts of issues

it works well after I unfold the headlessInstall functoin, but can you improve it?

Can you share more details around your setup/environment? Such as:
/jsDebugLogs

Please collect trace logs using the following instructions:

If you're able to, add "trace": true to your launch.json and reproduce the issue. The location of the log file on your disk will be written to the Debug Console. Share that with us.
⚠ This log file will not contain source code, but will contain file paths. You can drop it into https://microsoft.github.io/vscode-pwa-analyzer/index.html to see what it contains. If you'd rather not share the log publicly, you can email it to<EMAIL_ADDRESS>


Remove remaining references to old sample metadata fields.

Description
Remove remaining references to fields, in preparation for removing the fields via migration.
Notes

Migration will be in follow-up PR, which will wait until the next deploy.

Tests

Verify that the Phylo Tree creation modal works with the new code.

Verify that you can still upload samples and update the sample name and sample notes via the sidebar.

Migrated any remaining values in these fields in prod to the Metadata table. See: https://czi.quip.com/v6waAR0JgdLZ/Old-sample-metadata-migration#JSKACAZ6OCT

looks like there was a RuboCop nit in Travis btw


0.74.4: Module resolution doesn't work anymore

Description
When bumping from 0.72.15 to 0.74.4 I noticed that metro resolution doesnt' work. I have some folders that contains a 'package.json' and they cannot be resolved as module anymore.
I reproduced the issue on a template project and tested with different versions:

RN 0.72.15 ✅ - Project
RN 0.74.2 🔴 - [Project]((https://github.com/fbp93/RN-0.74.2)
I don't know if it's an issue of react native or metro itself, maybe it's just something that I need to change in the configuration, but can you help me to point out what has changed?

Steps to reproduce

cd ReproducerApp
yarn
cd ios
bundle install
bundle exec pod install
cd ..
yarn react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ./output

React Native Version
0.74.4
Affected Platforms
Runtime - iOS
Output of npx react-native info
System:
  OS: macOS 14.2.1
  CPU: (10) arm64 Apple M1 Pro
  Memory: 103.47 MB / 32.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 18.16.0
    path: ~/Library/Caches/fnm_multishells/56141_1723473906331/bin/node
  Yarn:
    version: 3.6.4
    path: /usr/local/bin/yarn
  npm:
    version: 9.5.1
    path: ~/Library/Caches/fnm_multishells/56141_1723473906331/bin/npm
  Watchman: Not Found
Managers:
  CocoaPods: Not Found
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 23.2
      - iOS 17.2
      - macOS 14.2
      - tvOS 17.2
      - watchOS 10.2
  Android SDK:
    API Levels:
      - "23"
      - "28"
      - "29"
      - "30"
      - "31"
      - "33"
      - "34"
    Build Tools:
      - 30.0.3
      - 31.0.0
      - 33.0.0
      - 34.0.0
    System Images:
      - android-28 | Google ARM64-V8a Play ARM 64 v8a
      - android-34 | Google APIs ARM 64 v8a
      - android-34 | Google Play ARM 64 v8a
    Android NDK: 25.1.8937393
IDEs:
  Android Studio: 2022.3 AI-223.8836.35.2231.10671973
  Xcode:
    version: 15.1/15C65
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.12
    path<EMAIL_ADDRESS>  Ruby:
    version: 3.0.0
    path: /Users/work/.rbenv/shims/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.2.0
    wanted: 18.2.0
  react-native:
    installed: 0.74.4
    wanted: 0.74.4
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: false
iOS:
  hermesEnabled: true
  newArchEnabled: false

Stacktrace or Logs
error Unable to resolve module metrics from /Users/work/RN-0.74.2/ReproducerApp/App.tsx: metrics could not be found within the project or in these directories:
  node_modules
  ../node_modules
  25 |   ReloadInstructions,
  26 | } from 'react-native/Libraries/NewAppScreen';
> 27 | import {MetricName} from 'metrics';
     |                           ^
  28 |
  29 | type SectionProps = PropsWithChildren<{
  30 |   title: string;.
Error: Unable to resolve module metrics from /Users/work/RN-0.74.2/ReproducerApp/App.tsx: metrics could not be found within the project or in these directories:
  node_modules
  ../node_modules
  25 |   ReloadInstructions,
  26 | } from 'react-native/Libraries/NewAppScreen';
> 27 | import {MetricName} from 'metrics';
     |                           ^
  28 |
  29 | type SectionProps = PropsWithChildren<{
  30 |   title: string;

Reproducer
https://github.com/fbp93/RN-0.74.2
Screenshots and Videos
No response

@cipolleschi 🙏


add note about distributing bootnode ENRs prior to genesis

As discussed with @AgeManning and @nisdas, bootnode ENRs need to be distributed prior to learning genesis_validators_root. A note of guidance for how to do this in a standard way has been added.
Note: circleci cache got messed up so bumped version

@nisdas and @AgeManning: sanity check that this looks fine (and at least very similar to what you are doing already)

This looks good to me :+1:

Yeah this looks good to me also.
For us, we would likely update the bootnode's ENR after we know the value, as then the bootnode will also be discovered and participate in discovery with other nodes on the network.

made a quick note on setting bootnode ENRs to normal values after genesis info is know. thanks!


I added a multipart feature

Its basically just ureq_multipart, but without the converion to ureqs Request so it will work with wasm.
use ehttp::multipart::MultipartBuilder;
let builder = MultipartBuilder::new()
            .add_file("test","/home/feiy/Desktop/1.txt").unwrap()
            .add_text("name","value");
let request = ehttp::Request:multipart(url, builder);

thank you! Can you please add some helpful docstrings to the key things? 🙏
Especially to Request::multipart and to MultipartBuilder

I added an example to request::multipart. The multipart builder already had some documentation, but is also used in the example

Should I add the method setter?

This pr doesn't seem to have changed in a long time.


MSID: 96362 Version: 1 DOI: 10.48550/arXiv.2307.05304/v2

MSID: 96362
Version: 1
Preprint DOI: https://doi.org/10.48550/arXiv.2307.05304/v2
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=96362
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.48550/arXiv.2307.05304/v2

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/96362v1
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.48550/arXiv.2307.05304/v2
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/96362/v1/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

@acollings, can I check with you that the peer review has been added to the correct version, as the preview page is not working?

Hi @rkcook312 yes, I believe so. They've been added to V2 of the preprint: https://arxiv.org/abs/2307.05304v2 (which is correct)

no corresponding author


docs(devs-infra): correct astTransformers type

Summary

Correct type of astTransformers in documentation to object instead of string[]
Test plan

Green CI
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information
N.A.

Pull Request Test Coverage Report for Build 5633

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 92.989%

Totals

Change from base Build 5630:
0.0%

Covered Lines:
1093

Relevant Lines:
1128

💛  - Coveralls


[fix][broker] Ensure previous delayed index be removed from snapshotSegmentLastIndexTable & Make load operate asynchronous

PIP: #16763
Motivation
If the future of load segment timeout but, In fact load segment is successful then we need to ensure the previous delayed index is removed from snapshotSegmentLastIndexTable, otherwise, tracker will load the next segment even though we don't need it yet.
Modifications

Ensure the previous delayed index is removed from snapshotSegmentLastIndexTable when succeeding to load the segment
Make load operate asynchronous to avoid block thread

Verifying this change

[x] Make sure that the change passes the CI checks.

(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (10MB)
Extended integration test for recovery after broker failure

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository:

Codecov Report

Merging #20086 (51f2770) into master (a332fea) will increase coverage by 37.35%.
The diff coverage is 90.47%.

@@              Coverage Diff              @@
##             master   #20086       +/-   ##
=============================================
+ Coverage     35.58%   72.94%   +37.35%
- Complexity    12423    31904    +19481
=============================================
  Files          1691     1868      +177
  Lines        128771   138302     +9531
  Branches      14044    15215     +1171
=============================================
+ Hits          45822   100880    +55058
+ Misses        76931    29396    -47535
- Partials       6018     8026     +2008

Flag
Coverage Δ

inttests
24.14% <2.38%> (?)

systests
24.91% <2.38%> (+0.01%)
:arrow_up:

unittests
72.24% <90.47%> (+39.09%)
:arrow_up:

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

Impacted Files
Coverage Δ

...r/delayed/bucket/BucketDelayedDeliveryTracker.java
84.59% <89.74%> (+84.59%)
:arrow_up:

.../pulsar/broker/rest/RestMessagePublishContext.java
92.59% <100.00%> (+92.59%)
:arrow_up:

...sistent/PersistentDispatcherMultipleConsumers.java
76.79% <100.00%> (+24.39%)
:arrow_up:

...a/org/apache/pulsar/admin/cli/PulsarAdminTool.java
86.77% <100.00%> (+86.77%)
:arrow_up:

... and 1438 files with indirect coverage changes

This has been cherry-picked to branch-3.0 despite the code freeze.
Do you feel strongly that this needs to be in the 3.0 release ? Otherwise we should revert this and delay it 3.0.1/3.1.

This has been cherry-picked to branch-3.0 despite the code freeze. Do you feel strongly that this needs to be in the 3.0 release ? Otherwise we should revert this and delay it 3.0.1/3.1.

This is a severe issue for PIP-195 so it needs into 3.0, thanks～


Add support for Active Job

Goal
This PR adds support for Active Job when not using an existing integration. For example, nothing will change when using Sidekiq as the backend but we can now track exceptions in Active Job's async backend
We capture the following metadata automatically for both handled and unhandled exceptions (note some data is not available on certain Rails versions):

job_id
job_name
queue
locale
arguments
provider_job_id (added in Rails 5)
executions (added in Rails 5)
timezone (added in Rails 6)
enqueued_at (added in Rails 6)

The context is set to the job name and queue to match other queue integrations, e.g. ExampleJob@some_queue, and the default app type is set to "active job"
Testing
Maze Runner tests run against Rails 4, 5 & 6 with a variety of Ruby versions

Hi,
After this change, exceptions handled by discard_on seem to get notified.  Is that intentional?  I'd expect discarded exceptions not to be reported.

After this change, exceptions handled by discard_on seem to get notified. Is that intentional? I'd expect discarded exceptions not to be reported.

Yes, this is expected as there isn't an API to detect if an error would be discarded. An error being discarded also doesn't necessarily mean it's unimportant to know about, since errors that would make a job impossible to finish will often end up being discarded to prevent retries that will never succeed
If you have errors that you don't want to end up in Bugsnag, you can use the discard_classes option to discard an error by name. If the logic needs to be more complicated then you can use an on error callback instead. For example, to ignore a specific combination of error and job:
Bugsnag.configure do |config|
  config.add_on_error(proc do |report|
    next if report.exceptions.empty?
    next if report.meta_data[:active_job].nil?

    error_class = report.exceptions.first[:errorClass]
    job_name = report.meta_data[:active_job][:job_name]

    if error_class == 'ClassToIgnore' && job_name == 'JobToIgnore'
      false # ignore the report
    end
  end)
end


RPC Generator is not generating the corresponding Javadoc for min & max attributes

Bug Report
RPC Generator is not generating the corresponding Javadoc for min & max attributes. It is ignoring minsize & maxsize attributes for arrays. minvalue, maxvalue,  and defvalue for numbers. And also minlength, maxlength for strings.

Closed via #1439


pull changes from SAP/cf-python-logging-support add support for Django and Falcon

https://github.com/SAP/cf-python-logging-support have a quite similar setup in term of adding framework support.  We can pull Django and Falcon support from https://github.com/SAP/cf-python-logging-support/tree/master/sap/cf_logging/django_logging and https://github.com/SAP/cf-python-logging-support/tree/master/sap/cf_logging/falcon_logging to json_logging

Is it better to do this in this module, or another that uses json_logging.register_framework_support.
Whether in this package or another, the way to make it easy for a Django developer is to use a Django middleware and the LOGGING_CONFIG setting which can pre-process the dictionary usually passed to logging.dictConfig.
This would look like this in a Django settings file:
MIDDLEWARE = [
    'logging_config.framework.django.RequestResponseMiddleware',
    # ... rest of middleware
]

LOGGING_CONFIG='json_logging.framework.django.config_logging'

And then the LOGGING_CONFIG callable would do the required wiring:
def configure_logging(logging_dict):
    logging.dictConfig(logging_dict)
    json_logging.ENABLE_JSON_LOGGING = True
    json_logging.init_django()

@danizen yeah, use can leverage the register_framework_support to add django support. PR is welcomed!

@thangbn, I have a broken wrist right now.  I code slow until healed.  But wait a month or so.
I've also been wondering about the correlation id, and auto headers added in the cloud.  If you are running behind an AWS ALB, it will send X-Amzn-Trace-Id.  But this has an internal structure.  I'm not sure whether this module makes a requirement on the structure of the Correlation ID header (e.g. UUID or something).

@danizen sure that is something i can look into, i also plan to support custom list of headers to be logged together with correlation-id (e.g trace id,  span id used by opentracing)

@thangbn , @danizen are there any plans on completing this any time soon, or should I rather try tackling this myself from scratch?

@kshpytsya i really dont have time to to this, you are very welcome to create a PR, it should relatively straight forward to do. Thanks in advance.

Hi, is this still being worked on? I'd love to contribute as I really need Django support but I'm kind of a python beginner, so I don't even have a clue where to start...

Hi, is this still being worked on? I'd love to contribute as I really need Django support but I'm kind of a python beginner, so I don't even have a clue where to start...

Feel free to submit it, we can all work together. no worries


Render markdown hyperlinks in columns

We need to render hyperlinks in the query table of our sqlpad instance.  Our solution is to detect the standard markdown hyperlink syntax [description](url) as a hyperlink.  It would be great if this could be merged upstream to aid our maintenance.

thanks you for your first PR,  @stephenpascoe, can you give us one screenshot of the query result what look like it is.

Screenshot shows links to wikipedia generated from a table.  Each cell in the results is hyperlinked.


Alternative to double-click to close code lens

Please allow something besides double-click to close code lens.
I often use code lens to make edits to my code, and one of my favorite editor shortcuts is double-clicking to select a word. The way it works now, I have to stop myself from double-clicking a word to prevent code lens from disappearing. Unfortunately, I frequently forget to do this. This requires me to return to the tab where I spawned code lens from in the first place and re-spawn it, then find my place again within the list of results.
This could all be avoided if code lens had some other shortcut that didn't conflict with a common editor shortcut.

This actually exists since a long time as this setting: editor.stablePeek

@jrieken, Ahh, cool, thanks. If only I had thought to search for "stablepeek"...


Setting state and listeners on children elements

Consider the following snippet taken from the tests:
    var Child = hyperd.Component.extend({
      constructor: function() {
        hyperd.Component.apply(this, arguments);
        this.data.count = 0;
      },
      render: function() {
        return '
' + this.data.count + '
';
      },
      onRender: function() {
        expect(this.node.innerHTML).to.be('' + this.data.count);
        this.data.count++;
        if (this.data.count > 5) {
          parent.destroy();
          done();
        }
      }
    });
    var Parent = hyperd.Component.extend({
      components: {
        child: Child
      },
      render: function() {
        return '
<child/>
';
      }
    });
    var parent = new Parent().attachTo(this.node);

I'd like to attach a listener to the Child like this:
child.on('click', 'div', console.log.bind(console));

is there any way to reference the instance child from within the Parent?
The same is valid if I want to reference the state within the child:
child.data.foo = 'bar';

At the moment, child is instantiated automatically by Parent and never exposed the outside world. That means that I'm not able to reference any of the methods on that instance (e.g. state, listeners, etc.). I was thinking perhaps component.components could hold a reference to a children already instantiated, rather than class? In this way we could manipulate the new instance like below:
let Child = hyperd.Component.extend({...})

let child = new Child();

let Parent = hyperd.Component.extend({
  components: {child: child},
  ...
})

[...]

child.data.foo = bar;
child.on('click', '*', console.log.bind(console));

Thoughts?

Unfortunately, there is no way to get instances of child components for now, but if you'd like to just add a listener you can do that like the following:
// first, add id or class name to the child .
var Child = hyperd.Component.extend({
    render: function() {
        return '
' + this.data.count + '
';
    }
})

// listen an event of the child in the parent component.
this.on('click', '#child', console.log.bind(console));

Otherwise, we should add a new feature to get references of child components, maybe something like:
// add a special attribute to the node
      render: function() {
        return '
<child data-ref="child1"/>
';
      }

// access to the reference
this.refs.child1.data.foo = bar;

component.components requires classes of components because any number of child components can be dynamically instantiated.

Additionally, you can set properties of child components instead of data when rendering, so I think you don't need to access these instances in most cases.
// parent
render: function() {
   return '
<child foo="foo"/>
'
}

// child
render: function() {
   return '
foo:' + this.props.foo + '
'
}


How to run Moya Demo

I just cloned the project.
I cd'd into Demo folder.
ran the command
pod repo update

It updated some things.
I typed in
pod install

It seemed to install with no issues.
I go to build the project and I get the error.
No such module 'Moya' GitHubUserContentAPI.swift
I go to that file and see there is a red flag on line #2
import Moya

I'm new to swift so maybe there's something obvious I'm missing. But how do I get rid of this error so I can run the Demo project?

I saw in the podfile that Moya is targeted with path to the parent directory. I opened that project and got it to build but still no luck with the Demo project.

Hey @mac10688. What did you change? What version of Moya and Xcode are you using? I've just tried installing Moya 9.0.0 with Xcode 8.3.3, and doing a pod repo update and pod install in the Demo directory worked fine.

i'm using master version of Moya and xcode 8.3.3. I'll blow away the solution and try again

I think I know. I opened xcodeproj, instead of xcworkspace. I remember going over that learning pods but I switched to carthage. I'm still new and I overlooked that. Thanks for replying!

I still have problems to run Moya examples, now Demo folder is changed to Examples, but there is no Podifile. Can someone help me? Thanks

Hey @maross. You'll need to build Carthage modules now. Basically you can go into the directory in terminal and run:
carthage update --platform iOS

We will need to update our docs to reflect the changes we did in latest version, though. Would you be up for the PR, @maross?

@sunshinejr would it be possible to enable the Demos to be run with a Podfile too?

Not sure because CocoaPods creates its own workspace etc. Right now we are doing it with Carthage, but we might want to switch to SPM once we get swift test done (also Harvey working copy).


image_picker plugin should allow generation of thumbnail images

Since the image_picker returns the full resolution images and flutter doesn't automagicly shrink images based on the rendered size, it is easy to trigger OOM/memory pressure when using the returned images. (See https://github.com/flutter/flutter/issues/21571). Regardless of the decisions we make regarding OOM handling for images, it would be nice if the image_picker could also generate much smaller thumbnails to make it easy to avoid loading the full size images.
Example:
ImageWithThumbnail imageWithThumbnail = await ImagePicker.pickImageWithThumbnail(source: ImageSource.camera, thumbnailSize: Size(100, 100));

class ImageWithThumbnail {
  File get image
  File get thumbnail
}

@jonahwilliams We recently introduced a quality parameter to ask image picker to return a lower quality image. With the combination of quality and width and height, one can avoid OOM when using image_picker.
Do you think we can close this issue?
The PR:
https://github.com/flutter/plugins/pull/1896

@cyanglaz I don't think so... The most want to save a full quality image, and managing it, but showing a preview that is not 10+MB...
In any way, I've tried a lot this new feature but I cannot get it working. In my case work only the maxHeight and maxSize. Taking the same foto with Quality parameter setted to 1 and to 100, both in gallery or camera, I get the same size of photo +-5kb.

Un-assign myself from this issue as I don't have cycle to actively working on it.

I still think the original request is a good request. I now have to generate thumbnails somewhere else instead of the package that could have done it. Cool package still.

I think that would be an awesome feature to add, especially for videos.


Refactor loading configurations and constants for the target platform

Signed-off-by: Ahmed Hussein (amahussein<EMAIL_ADDRESS>Fixes #115

refactor initialization of the platform
rely on configuration json file to load constants and defaults for each platform
add initial classes for dataproc in the spark_rapids_pytools package

This PR is incremental change toward addressing #77 and #90


ensure only current user can read authorization token cache file.

when using DefaultStorageStrategy the cache file is currently readable by anyone
This may allow another user to get an authentication token from the cache file

Thanks very much for this input :-)


AddingPowerSupport_&_CI/Testing

Adding both Power & Intel support
arch: ppc64le/amd64
Adding power support ppc64le with Continues Integration/testing so that code remains architecture independent.
This is part of the Ubuntu distribution for ppc64le. This helps us simplify testing later when distributions are re-building and re-releasing. For more info tag @gerrith3.
The build is successful on both arch: amd64/ppc64le, please find the Travis Link below.
https://travis-ci.com/github/santosh653/service
Please let me know if you need any further details? or if I am missing any.
Thank You !!

Coverage remained the same at 13.995% when pulling 3acd7393ef35f469e75bb04d38af82c1c7037859 on santosh653:master into 7c688a995c3e5a125be0b72e1f31eb742b8c09b7 on kardianos:master.

A Gentle Nudge, Checking if you have any further queries on this PR.,


Update uses of logger to use formatted strings

Update uses of logger to use formatted strings
Resolves #167
Bug Fixes

(#167) Update all the uses of logging functions to use formatted strings instead of string concatenation

Thanks for the review, i'll fix the mentioned issues in a bit! 👍

Sorry, I didn't notice I had missing changes, but it should all be done now.


Entrypoint issue when volume mounting /usr/local/lib/node_modules

This is almost definitely more of a docker-related question than anything else, but I figure since you've been through this you're probably the best person to ask -
When I have - /usr/local/lib/node_modules:/usr/local/lib/node_modules in the volumes section of my service in my docker-compose.yml, I get stat /usr/local/bin/npm: no such file or directory - presumably from the entrypoint command
services:
  npm: &npm
    build: dev-env
    volumes:
      - .:/opt/project
      - /usr/local/lib/node_modules:/usr/local/lib/node_modules
    working_dir: /opt/project/app
    entrypoint: "/usr/local/bin/npm"

There is already a /usr/local/lib/node_modules in the docker container, and /usr/local/bin/npm exists in the container, so I don't know why I'm getting that error.
root@c584d87f976a:/# cd /usr/local/lib/node_modules/
root@c584d87f976a:/usr/local/lib/node_modules# ls
gulp  npm
root@c584d87f976a:/usr/local/lib/node_modules# cd ../../bin/
root@c584d87f976a:/usr/local/bin# ls
gulp  node  nodejs  npm  yarn  yarnpkg
root@c584d87f976a:/usr/local/bin#

And on my host machine (Mac), I've got /usr/local/lib/node_modules
➜  node_modules pwd
/usr/local/lib/node_modules

I'm not sure why I'd be getting that, especially since the entrypoint is in /usr/local/bin and the volume mount is for /usr/local/lib.
Any help would be appreciated - thanks!

what does ls -al /usr/local/bin print? is npm symlinked to inside /usr/local/lib/node_modules?
One theory would be:

npm is a symlink
/usr/local/lib/node_modules is not available to docker, so it fails to link it to your container
therefore, /usr/local/bin/npm is a symlink pointing to nothing

A fix for that scenario may be to make sure /usr/local/lib/node_modules is listed in the shared folders section of docker for mac preferences.
Another similar possibility, if /usr/local/lib/node_modules is properly linked, but the symlink in /usr/local/bin is relative and points to nothing when in the context of your docker machine.
To get closer to the problem, try this:
docker-compose run --rm npm bash
That should get you an interactive shell to the container in the same state that is failing. Then, make sure npm is in fact in /usr/local/bin:
ls -al /usr/local/bin
If that prints a symlink, make sure the destination exists, or just run it: /usr/local/bin/npm --version.
Failing that, check if npm is installed & available: which npm. If not, maybe look at your $PATH: echo $PATH, and check that it includes /usr/local/bin. If that's set up, you should be able to change your entrypoint to just npm, although I'm not sure how much of a difference that would make.
Hopefully that should get you started with some ideas, LMK if that helps or if you still end up with issues.

> ls -al /usr/local/bin | grep npm
lrwxr-xr-x    1 anjunatl  admin        46 Jan 20  2016 npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js

My Mac's npm is a symlink with an absolute path, from node version manager. Due to the dev environment our large project is in, I'm not using Docker for Mac so I don't have the Docker for Mac screen you've mentioned.
root@c98ec7e556ba:/usr/local/bin# ls -la
total 29172
drwxrwxr-x  2  500   500     4096 Aug 10 00:39 .
drwxrwsr-x 21 root staff     4096 Aug 10 00:39 ..
lrwxrwxrwx  1 root root        36 Aug 10 00:39 gulp -> ../lib/node_modules/gulp/bin/gulp.js
-rwxrwxr-x  1<PHONE_NUMBER>2509 Aug  1 05:33 node
lrwxrwxrwx  1 root root        19 Aug  9 19:23 nodejs -> /usr/local/bin/node
lrwxrwxrwx  1  500   500       38 Aug  1 05:33 npm -> ../lib/node_modules/npm/bin/npm-cli.js
lrwxrwxrwx  1 root root        18 Aug  9 19:23 yarn -> /opt/yarn/bin/yarn
lrwxrwxrwx  1 root root        18 Aug  9 19:23 yarnpkg -> /opt/yarn/bin/yarn
root@c98ec7e556ba:/usr/local/bin# cd ../lib/node_modules/
root@c98ec7e556ba:/usr/local/lib/node_modules# ls -la
total 8
drwxr-sr-x 2 root staff 4096 Aug 14 14:41 .
drwxrwxr-x 5<PHONE_NUMBER> Aug 10 00:39 ..
root@c98ec7e556ba:/usr/local/lib/node_modules#

It appears the /usr/local/lib/node_modules:/usr/local/lib/node_modules volume mount inside the container from docker-compose.yml isn't working - but I've verified /usr/local/lib/node_modules exists on my Mac, is populated, and is not a symlink. I believe that's at least narrowed the problem down to the volume mount not working correctly - I'll play with it and see if I can come up with anything.

Figured it out. Our internal equivalent for the Docker for Mac (vm with a wrapper) only mounts our local /Users/* directory and has no access to local /usr/ - Thanks for your time

Ah, thanks for following up! Yeah, the need to both mount and specify as a possible mount point to the VM is a confusing extra step. Before DFM I did this using a shared folder in virtualBox, if your VM software has a similar option, that should fix it for you.

That might work, but our environment's complicated enough that it seems like there'd still be several steps involved for a dev to manually get it set up in our environment.
I tried mounting the folder of shareable components (the things we'd be npm linking) into the container, since that lives in /Users/blah/* - then ran npm link from inside the container, and that appeared to work. I might even be able to set up some gulp watch tasks on the newly mounted folder to have it build when it notices changes in those files.
I'm still playing with it when I've got time though - I'm trying to find most efficient/least intrusive way of getting this working - the less steps/commands/edits my team will have to do to get this working, the better 😄


Feature/consolidate proto

Closes #47
Closes #50

@dburkart FYI, I followed up with my APPEND change and removed the space delim from the remainder of the message types since we don't need that for parsing since the len is a fixed width.


Terraform GMP

Installing this is right now just applying a few yamls
Will there be an option to install via terraform or similar? I've seen that you have pushed the helm installation away, so I was wondering if you had anything in the roadmap to support a more automated way to install all of this.
Thank you

This should be coming this half!

support for this flag in terraform is being tracked in this ticket, just FYI
https://github.com/hashicorp/terraform-provider-google/issues/11224

This is being addressed in https://github.com/GoogleCloudPlatform/magic-modules/pull/5812

This is now working.

Documentation has been updated:
https://cloud.google.com/stackdriver/docs/managed-prometheus/setup-managed#terraform
https://cloud.google.com/stackdriver/docs/managed-prometheus/setup-managed#terraform-scrape
https://cloud.google.com/stackdriver/docs/managed-prometheus/rules-managed#terraform-rules


Fixed JavaDoc errors and warnings for JDK8 with stricter doc rules

Building Jsoup with JDK8 causes a long list of JavaDoc warnings (5) and errors (86). Maven reports a failed build for Javadoc, however it's still working and correct. The reason is, that JDK8 introduced stricter rules for html formating.
This pull request fixes all of these errors / warnings so a clean and successful build is possible with JDK8. The documentation's formating itself is kept.

Thanks! Did you do that by hand (crikey) or did you find a tool?

By hand, but with the help of search & replace.


fix check-blobs.sh

the blobs contained duplicated symbols because check-blobs.sh was not working
properly. This PR fixes the script and regenerates the blobs to not contain
duplicated symbols
r? @adamgreig

bors r+


Cow: Blacklist 08910.50-53.11

Cow requests the blacklist of the number 08910.50-53.11. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by Jeff Schaller in Charcoal HQ


Add warning if Kueue CRDs not installed on cluster

Issue link

RHOAIENG-6294
What changes have been made

A warning has been added to the ClusterConfiguration cell to inform users if Kueue CRDs are not installed on the cluster and local_queue is not provided. In this scenario, users will receive informative logs indicating that the absence of CRDs may result in missing functionality.
Verification steps

Uninstall Kueue and delete any CustomResourceDefinitions (CRDs) that exist (filter for CustomResourceDefinition in resources and select LocalQueue in the name). Clone this branch into Jupyter Notebook, attempt to create a Ray cluster. In the ClusterConfiguration cell, comment out the local_queue="local-queue-name" line. When you run it, you should receive a message indicating that Kueue is not installed or won't be used. The absence of CRDs may result in missing functionality.
Checks

[ ] I've made sure the tests are passing.
Testing Strategy

[ ] Unit tests
[x] Manual tests
[ ] Testing is not required for this change

Closing this pull request as the previous changes cover this issue


Add longhorn storage test

Proposed Changes
Adds a basic test for the Longhorn setup steps in the k3s documentation:
https://docs.k3s.io/storage#setting-up-longhorn

Types of Changes

Verification

Testing

Linked Issues
#6061

User-Facing Change

Further Comments

Looking at the CI failure, you may need to A) bump the timeout time on some of your checks or B) reduce the request size of the storage. The GH runners don't have that much space on them.

just to short circuit some troubleshooting attempts the following error was thrown:
• [FAILED] [30.386 seconds]
longhorn
/home/runner/work/k3s/k3s/tests/integration/longhorn/longhorn_int_test.go:35
  when persistent volume claim is created
  /home/runner/work/k3s/k3s/tests/integration/longhorn/longhorn_int_test.go:84
    [It] creates a pod with the pvc
    /home/runner/work/k3s/k3s/tests/integration/longhorn/longhorn_int_test.go:111

  Timed out after 30.004s.
  Expected success, but got an error:
      <*errors.errorString | 0xc0003b2370>: {
          s: "pod volume-test not running",
      }
      pod volume-test not running
  In [It] at: /home/runner/work/k3s/k3s/tests/integration/longhorn/longhorn_int_test.go:128

The pvc was successfully generated in the previous test:
• [SLOW TEST] [11.487 seconds]
longhorn when persistent volume claim is created creates the pv and pvc
/home/runner/work/k3s/k3s/tests/integration/longhorn/longhorn_int_test.go:85

Looking at the debug log it appears to have timed out attempting to ssh into the container:
SSH: ssh<EMAIL_ADDRESS>Web shell: https://tmate.io/t/3spcPn8DJjWWr9d6YACQAky9J

It says "web shell", does that mean it is attempting on port 80?
That is the only port exposed by the pod, I believe.


refresh balance

I have installed DTM from dash-evo-tool-arm64-mac.zip a file on a macbook (M2 chip)
DTM works and, after withdrawing credits, it correctly reflects the remaining balance on each node. However, at the start of a new period, the accumulated credits from the previous period are not displayed! If you re-identify each node, then the current balance will be displayed correctly. How can this be done without having to re-identify? Or is this a bug and will it be fixed in the future?
In the screenshot, I can only see the balance after the withdrawal. No new credits have been added!
I want to see the "refresh" button )

I see there is a new instruction for installing DET.

This should be fixed in the next version. I think Paul added a refresh button for your existing Identities. Next DET version binaries should be out any day now.

This should now be fixed.


Disable prevent_destroy on kayobe & openstack

The required status checks (CI workflows) are changing for repositories in the kayobe and openstack groups. prevent_destroy must be disabled for the changes to take place

Terraform Format and Style 🖌success
Terraform Initialization ⚙success
Terraform Validation 🤖success
Validation Output

Success! The configuration is valid.

Terraform Plan 📖success
Show Plan

undefined

Pusher: @Alex-Welsh, Action: pull_request, Working Directory: ``, Workflow: Terraform GitHub


Boot hangs on: ros-sysinit:fatal: Error response from daemon: mount already exists with name

RancherOS Version: 1.5.1 on Raspberry Pi 3 Model B

Install fresh image into a SD cards.
login as rancher and reboot 3 times

On the third restart the boot process it will hang with the error :
ros-sysinit:fatal: Error response from daemon: mount already exists with name
There are other previous errors:
ros-sysinit:error: Failed to start: all-volumes : Error response from daemon: mount already exists with name

Duplicate of #2674
You can try v1.4.3. The bootup speed of v1.4.3 is slow, but this problem rarely occurs.


incorrect timeout parsing

We are leveraging helm-controller via rke2 in harvester, and have noticed that the timeout duration is not parsed correctly when being passed as env variables to the job
for example, sample HelmChart CRD
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
  creationTimestamp: "2022-09-29T03:32:25Z"
  finalizers:
  - wrangler.cattle.io/helm-controller
  generation: 2
  name: vm-import-controller
  namespace: harvester-system
  ownerReferences:
  - apiVersion: harvesterhci.io/v1beta1
    kind: Addon
    name: vm-import-controller
    uid: 5cfce8e3-70f8-48ae-840e-e1081812a9f2
  resourceVersion: "106365"
  uid: 97e7da21-9def-402a-94f2-f6254802ec06
spec:
  chart: harvester-vm-import-controller
  repo: http://harvester-cluster-repo.cattle-system.svc/charts
  timeout: 10m0s
  valuesContent: |
    image:
      tag: v0.1.0
  version: 0.1.1-rc1
status:
  jobName: helm-install-vm-import-controller

The generated job is as follows:
   spec:
      containers:
      - args:
        - install
        - --repo
        - http://harvester-cluster-repo.cattle-system.svc/charts
        - --version
        - 0.1.1-rc1
        env:
        - name: NAME
          value: vm-import-controller
        - name: VERSION
          value: 0.1.1-rc1
        - name: REPO
          value: http://harvester-cluster-repo.cattle-system.svc/charts
        - name: HELM_DRIVER
          value: secret
        - name: CHART_NAMESPACE
          value: harvester-system
        - name: CHART
          value: harvester-vm-import-controller
        - name: HELM_VERSION
        - name: TARGET_NAMESPACE
          value: harvester-system
        - name: TIMEOUT
          value: '&Duration{Duration:10m0s,}'
        - name: NO_PROXY
          value: .svc,.cluster.local,<IP_ADDRESS>/16,<IP_ADDRESS>/16
        - name: FAILURE_POLICY
          value: reinstall
        image: rancher/klipper-helm:v0.7.3-build20220613
        imagePullPolicy: IfNotPresent
        name: helm

This was fixed in https://github.com/k3s-io/helm-controller/pull/150 but i don't believe it's been pulled into any releases yet. I'm hoping to get it into this months.


[MINOR][TEST] Fix the spell mistake

What changes were proposed in this pull request?

Fix the spell mistake
Why are the changes needed?

Fix the spell mistake
Does this PR introduce any user-facing change?

No
How was this patch tested?

No
Was this patch authored or co-authored using generative AI tooling?

No

+1, LGTM. Merged to master.
Thank you, @Shadowell.