PiVPN install stuck on openvpn configuration

The pivpn install is stuck on the openvpn configuration "configuring openvpn (armhf)".
I know this step is probably long because I guess that's where the keys are generated, but here, I've started 10 hours ago, and it hasn't finished, so I think it is really stuck.
I am using a Raspberry Pi 2.
I have no output of curl install.pivpn.io | bash at this step, as it is inside the dpkg-reconfigure of openvpn. The steps before that (installation of packages for instance) went without any problem.
::
::: sudo will be used for the install.
::: Verifying free disk space...
:::
::: Checking apt-get for upgraded packages.... done!
:::
::: Your system is up to date! Continuing with PiVPN installation...

I have no /tmp/pivpn-install.log, no /etc/pivpn/, no .ovpn. no uninstall script.
$ dpkg -l | grep openvpn
iU  openvpn                               2.3.4-5+deb8u2                             armhf        virtual private network daemon

Ok - I tried again, for the xth time, and now it works...

Ok - I tried again, for the xth time, and now it works...


etebase-server: create required tmpdir

Description of changes
This fixes a permission denied Error on startup of the service.

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I think this caused eval failures when cfg.unixSocket is not set explicitly. Proposed a trivial fix as:

https://github.com/NixOS/nixpkgs/pull/297133


When saving a hasManyRepeater which has translatable fields, it changes input to [object Object]

Package
filament/forms
Package Version
2.11.0
Laravel Version
9.9
Livewire Version
2.10
PHP Version
8.1
Bug description
When saving a hasManyRepeater which has translatable fields, it changes input to [object Object]
Steps to reproduce
No response
Relevant log output
No response

Repeaters aren't translatable ATM


Move ConditionParser out of policies-engine

This PR is out of date because of the Org ID migration that happened in Policies.


Update perf-test scripts with latest KWOK items

Describe the Bug
Updates to KWOK as well as the MCAD CRDs require updates to the docs and scripts of the perf-tests under MCAD
Codeflare Stack Component Versions
ODH 1.9.0
CodeFlare 0.2.2
Codeflare SDK: N/A
MCAD: Latest
Instascale: N/A
Codeflare Operator: N/A
Other:
Steps to Reproduce the Bug

KWOK would probably install with the old instructions, but it's not as efficient as the new install method
The appwrappers don't launch because of an Item error that needs to be tweaked
The appwrapeprs don't clean up because there's some confusion on which appwrapper crd is default.

What Have You Already Tried to Debug the Issue?
I'm going to update the scripts so they work.
Expected Behavior
KWOK should be installed in-cluster easily
appwrappers should launch
Screenshots, Console Output, Logs, etc.
n/a
Affected Releases
latest MCAD
Additional Context
N/A

Testing PR https://github.com/project-codeflare/multi-cluster-app-dispatcher/pull/626 to make sure it works fully...

Testing of PR 695 is looking good in testing, but I see the e2e test isn't working for some reason... interesting.


cleanup: terraform fmt

this builds upon https://github.com/ritual-net/infernet-deploy/pull/4
Simply runs terraform fmt on the terraform files for recommended formatting. Also adds a check for terraform fmt in the PR github action for each of procure/aws and procure/gcp.
I'd recommend configuring some kind of format-on-save configuration in your editor that can utilize hcl langauge server to format before these checks

@ramin Thanks for flagging, will include terraform fmt in next release

The action is useful too 😊

Yup will replicate, ty!


Shouldn't have a call to action for negative insufficient relayerFee

Describe the bug

To Reproduce
Steps to reproduce the behavior:

Bridge something
If relayerFee is over the required estimate, there should be no call to action

Additional context
Add any other context about the problem here.

@pjenviri please comment what we changed? Im not sure how to test it out

If relayerFee > the required estimate, the call to action for negative insufficient relayerFee shouldn't be shown.
hide low relayer fee error that relayer fee to bump <= 0: https://github.com/CoinHippo-Labs/connext-bridge/commit/1e902ebe1061a36fd9e88563576e924cdbc78aeb


How to use Anime4K GLSL for Bitmap

I have tried using MPV+Anime4K to play videos on an Android phone, and the results are great.
However, I am currently unable to access video files and can only obtain each frame as a Bitmap.
So, I want to render these Bitmaps onto a GLSurfaceView and apply Anime4K for enhancement.
I have never done anything similar before and have no idea how to proceed. Do you have any suggestions?
thanks

I don't have any experience with GLSurfaceView or Anime4k on Android. My way would be, to copy them to my PC or make the bitmaps accessible over the network and upscale the bitmaps with ffmpeg and Anime4k, or convert the bitmaps to a video format and upscale the it.
If you need help with this, let me know.


Add a file upload plugin

Solving #8
Of the 3 proposed solutions in #8, the first is limited by size, and the  third one was complicated to implement inside a React app with shacl-form's shadow DOM. So, the plugin option was the best answer to this issue. The goal of this plugin is to pass a lambda as a parameter that handles  the file upload. E.g., in a React app:
const [myFile, setMyFile] = useState<File>();
form.registerPlugin(new FileUploadPlugin({datatype: '...'}, (event) => setMyFile(event.target.files?.[0]));

Potential issue: if the form has multiple file upload inputs, and the user submits two different files with the same name (like joe/profile.png and jane/profile.png), the result will be, for both images, the fake path of the browser: C:\fakepath\profile.png. This will make it hard to distinguish between them after form submission. Something needs to be implemented here, to be investigated..

Hi, thanks for your plugin fork. I have refactored the code a little since it was not compiling. The new usage pattern would be:
form.registerPlugin(new FileUploadPlugin({datatype: '...'}, (event) => {
     console.log('--- files', event.target.querySelector('input[type="file"]').files)
}, 'image/png'))

When you create a new PR, I will accept.

have refactored the code a little since it was not compiling.

Strange, I didn't get compilation error on my machine and was able to use the plugin like this.
Thanks for the refactoring, I have created a new PR #12


Many Worker on the same place

Hello
I have a 74km2 polygon to scan with 280 worker (14x20 gird).

But my Problem is, that many worker are scanning on the same place. Not all on the same but 3-4 groups with many workers and some area with no worker. Is ther a problem? Did i need more workers?

there are very little spawnpoints in this region, you can try settng bootstrap to 70m and rerun with --bootstrap. you might need to modify code the keep it swapping accounts to death.
and/or enlarge the region

Did bootstrap work with polygon?

Bootstrap with polygon has a PR for it. you can just use an approx box around the zone and they will move into the polygon those workers that are outside

is this still a thing?
are they gathering around a mystery? https://github.com/Noctem/Monocle/pull/168


password encrypted with jasypt is breaking when "refreshed"

Hi,
I have Spring boot application (v1.5.7) with below 2 properties

myapp.properties --> Properties of this file is getting loaded from the Spring Cloud Config server
password.properties --> contains passwords encrypted using Jasypt. This is not managed by Spring Cloud config server. it is supplied at runtime using --spring.config.location attribute=file:/password.properties.
example of content within password.properties
my.server.password=ENC(securepassword)

Problem: When i hit the /refresh API, it thinks that there is a change in "my.server.password"  and refreshes it with the encrypted value. This causes issue since I expect the key to contain decrypted value at runtime.
Did someone run into the issue?
Other thing I observed is, if I have password.properties packaged within the jar file, then I don't run into this issue.
Kindly let me know if any further information is required.

I am not familiar with Jasypt.  I read through the README quickly.  From the description of your problem it sounds like my.server.password is not being decrypted after a refresh event occurs.  If that is the case it doesn't really sound like a Spring Cloud problem.  It sounds like whatever Jasypt is doing to decrypt the values is not happening on the refresh event.  I could be wrong though...

Let me remove the jasypt dependency for a moment.
I have a Config client application, which has a property file  injected through Config server set up and another file from local directory (i.e. through --spring.config.location )
keys of these 2 files do not overlap.
What I observed is, if I modify the properties file in my local directory and then execute "/refresh" endpoint, I see that it detects the local file changes as well.
I was expecting the "/refresh" endpoint to detect changes only for the properties file managed by config server.

we are using spring boot version 1.5.9.RELEASE and cloud version Edgware.RELEASE and we are using jasypt for encrypted properties. on refresh property decryption is note working. i tried the StandardEncryptableEnvironment but still no use. can any one share the working example. TIA.

thanks lot. I solved it by using com.ulisesbocchio.jasyptspringboot.environment.StandardEncryptableEnvironment :)

I added same into main method, when i hot the referesh endpoint i am gtting below error .
"errorMessage": "PropertySource named 'springCloudServicesBootstrap' does not exist",

It seems to be the issue with jasypt-spring-boot which is fixed in the latest releases
https://github.com/ulisesbocchio/jasypt-spring-boot/releases
Issue thread:
https://github.com/ulisesbocchio/jasypt-spring-boot/issues/343
PR:
https://github.com/ulisesbocchio/jasypt-spring-boot/pull/344/commits/2adb85caf0edaf64ae831744ea02daed317f8d4f


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-yml-archive-non-versioning-archive/pull/218 is merged into live branch.
Auto archive content to https://github.com/opstest2/docs-yml-archive-non-versioning-archive.git

Docs Build status updates of commit 793a219:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

docs/TOC.yml
:white_check_mark:Succeeded
View

docs/to-be-archive/level1/article3-1-1.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level1/article3-1-2.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level1/article3-1-3.yml
:white_check_mark:Succeeded
View

docs/to-be-archive/level2/article3-2-1.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level2/article3-2-2.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level2/article3-2-3.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


[BUG] Signature transformers are not compliant with transform template

I'm just refactoring the transformers module, and I'm surprised to fine the signature transformers incompliant with the basic interface template.
How did we end up with transform(data, labels) instead of the usual transform(X, y)??
How did the tests not pick this up?
I think this needs to be fixed both in the transformer and in the tests, which also need to check that the arguments are correctly named.
@jambo6, perhaps you could shed light on this?
I see I approved it as interface compliant, and so did @mloning, but perhaps we just looked at the classifier and not the transformer?

Sorry, I'm used to writing (data, labels) rather than (X, y) and evidently, I missed this.
Are my tests supposed to have picked this up, or existing sktime tests?

Are my tests supposed to have picked this up, or existing sktime tests?

The generic tests should probably have picked this up, so I'm worried that they didn't.
The transformer is correctly added in _config, so there must be a problem with the tests.
I've now pushed some tentative updates to the signature method as part of #1365 (using the conversion machinery since you need numpy 3D inside), would you mind having a look at the signature module therein?

It shouldn't have been necessary to change any of the transformers other than SignatureTransformer and SignatureClassifier. None of the other transform methods are ever used by anything other than within those classes so it shouldn't have mattered that they did not have the y=None argument for example.
The only issue seems to be incorrect naming of data, labels rather than X, y which are just positional arguments so I don't see why they would have been picked up in tests as essentially stylistic.

It shouldn't have been necessary to change any of the transformers other than SignatureTransformer and SignatureClassifier. None of the other transform methods are ever used by anything other than within those classes so it shouldn't have mattered that they did not have the y=None argument for example.

No, it does matter, because the sklearn pipeline calls fit_transform, which in turn calls transform(X, y), which for some reason passes a y, which breaks the transform elements.
I didn't follow exactly through the logic, but if you could track it down and provide an alternative fix, I wouldn't mind if you would revert changes, as long as it doesn't break things.

Ok, I see. That's very weird though. sklearns pipeline does not require a y argument to be in the transform method unless this is a new thing?

Something ends up calling the sktime transformer which has a y, one would have to look at the trace back of what happens if you remove the change in the signatures files.

This was solved in the transformers refactor, PR #1365.


Replace get_metric_list_for_processor with get_processor and full_metric_list

Explainaboard's processor_registry.get_metric_list_for_processor is a shorthand of get_processor and Processor's classmethod, full_metric_list. For Explainaboard, it is better to tighten APIs to expose outside of the repository. For Explainaboard web, it is better to use get_processor which is explicitly exported instead of using the function which is not explicitly exported.
Context: neulab/ExplainaBoard#432

@pfliu-nlp @neubig would you take a look?

@neubig (@pfliu-nlp) I don't have a write access to this repository to merge pull request. Would you do it for me? (I don't think I should have the access right now because I'm not sure how often I'll create pull requests on this repo)


Tell me how to shorten the request entity.

Please refer #26. I'm trying to solve this problem in there.


implement NifDecoder for Option and Result<T,E>

The flip-side of #94, with tests for decoding and encoding.

Thanks!


Get the latest image for a specific OS from your project.

This patch eventually will affect gcloud.compute.
It should add to gcloud.compute ability use disk image from your project :
zone.createVM(name, { os: 'my-project-name@ubuntu' }, function(err, vm, operation) {
  // `operation` lets you check the status of long-running tasks.

  operation
    .on('error', function(err) {})
    .on('running', function(metadata) {})
    .on('complete', function(metadata) {
      // Virtual machine created!
    });
});

Thank you for this! I'd rather use the options object for this usage, i.e.
images.getLatest({
  projectId: 'my-project-id',
  osNames: ['ubuntu']
})

gcloud-node will pass it through the same:
zone.createVM(name, {
  os: {
    projectId: 'my-project-name',
    osNames: ['ubuntu']
  }
}, function(err, vm, operation) {
  // `operation` lets you check the status of long-running tasks.

  operation
    .on('error', function(err) {})
    .on('running', function(metadata) {})
    .on('complete', function(metadata) {
      // Virtual machine created!
    });
});

What do you think?

This way we will need to check if it is object and store value in object and access it in
_parseOsInput
It will lead to more code rewrite and increase code complexity.
But maybe I am missing some other user cases where it required.

It does sound complicated. Let's do it your way. Maybe we should use a / as the separator, and project first?
'grape-spaceship-123/ubuntu'

I will update PR now.

LGTM. Thanks man!

Sorry for the lame requests:
if (hasProject) {

No problem! It will be good to add .jscsrc maybe.

That is a good idea indeed.
Published this as 0.3.0 -- PR welcome to gcloud-node to bump :)

PR welcome to gcloud-node to bump :)

https://github.com/GoogleCloudPlatform/gcloud-node/pull/1442


sparse_categorical_crossentropy with tensorflow backend

Made a simple RNN model with sparse_categorical_cross_entropy as a loss which compiled successfully using Theano backend. When changed to TF backend, I got an error. Is sparse_categorical_crossentropy meant to work with TF backend?
TypeError                                 Traceback (most recent call last)
<ipython-input-8-96bfccec6816> in <module>()
      6 # shape: (batch_size, seq_length, chars_n)
      7 model.compile(loss='sparse_categorical_crossentropy',
----> 8               optimizer=Adam(clipnorm=1.))
      9               #metrics=['sparse_categorical_accuracy'])
     10 model.summary()

/usr/local/lib/python2.7/dist-packages/keras/models.pyc in compile(self, optimizer, loss, metrics, sample_weight_mode, **kwargs)
    587                            metrics=metrics,
    588                            sample_weight_mode=sample_weight_mode,
--> 589                            **kwargs)
    590         self.optimizer = self.model.optimizer
    591         self.loss = self.model.loss

/usr/local/lib/python2.7/dist-packages/keras/engine/training.pyc in compile(self, optimizer, loss, metrics, loss_weights, sample_weight_mode, **kwargs)
    617             loss_weight = loss_weights_list[i]
    618             output_loss = weighted_loss(y_true, y_pred,
--> 619                                         sample_weight, mask)
    620             if len(self.outputs) > 1:
    621                 self.metrics_tensors.append(output_loss)

/usr/local/lib/python2.7/dist-packages/keras/engine/training.pyc in weighted(y_true, y_pred, weights, mask)
    305     def weighted(y_true, y_pred, weights, mask=None):
    306         # score_array has ndim >= 2
--> 307         score_array = fn(y_true, y_pred)
    308         if mask is not None:
    309             # Cast the mask to floatX to avoid float64 upcasting in theano

/usr/local/lib/python2.7/dist-packages/keras/objectives.pyc in sparse_categorical_crossentropy(y_true, y_pred)
     43     If you get a shape error, add a length-1 dimension to labels.
     44     '''
---> 45     return K.sparse_categorical_crossentropy(y_pred, y_true)
     46
     47

/usr/local/lib/python2.7/dist-packages/keras/backend/tensorflow_backend.pyc in sparse_categorical_crossentropy(output, target, from_logits)
   1991     if len(output_shape) == 3:
   1992         # if our output includes timesteps we need to reshape
-> 1993         return tf.reshape(res, [-1, int(output_shape[-2])])
   1994     else:
   1995         return res

TypeError: __int__ returned non-int (type NoneType)

Model definition (error is thrown during model compilation):
# input size: (batch_size, seq_length=32, chars_n=88)
model = Sequential()
model.add(LSTM(1000, input_length=seq_len, input_dim=chars_n, return_sequences=True))
# shape: (batch_size, seq_length, 1000)
model.add(wrappers.TimeDistributed(Dense(chars_n, activation='softmax')))
# shape: (batch_size, seq_length, chars_n)
model.compile(loss='sparse_categorical_crossentropy',
              optimizer='adam',
              metrics=['sparse_categorical_accuracy'])
model.summary()

full code: https://github.com/sygi/ml-learning-diary/blob/master/projects/polish-rnn/code.ipynb

I encountered the same error with sparse crossentropy.  I think two issues w.r.t. tensorflow backend are entangled here .

dynamic rnn doesn't give real timestep length.
sparse crossentropy is not as robust as we expect.

See the gist.
For issue 1, case 1 fails unexpectedly.
As a workaround, I have to change sparse_categorical_crossentropy a bit as this.
Unfortunately, when batch_size is not given, the model still can't compile, see case 2.
Ideally, case 3 should pass, which can be achieved using tf.shape() instead of get_shape()
return tf.reshape(res, tf.shape(output)[:-1])

Hi ,
I seem to be getting the same error. I'm using Keras version 1.2 with Tensorflow backend. Here's my code.
print('Build model...')
model = Sequential()
model.add(Embedding(10000, 100, dropout=0.2, input_length=num_steps))
model.add(LSTM(50, return_sequences=True))
model.add(Dropout(0.2))
model.add(TimeDistributed(Dense(10000, activation='softmax')))
model.compile(loss='sparse_categorical_crossentropy', optimizer='rmsprop', metrics=['accuracy'])

print(model.summary())

This is the error trace:
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-52-2b5d7607b126> in <module>()
      5 model.add(Dropout(0.2))
      6 model.add(TimeDistributed(Dense(10000, activation='softmax')))
----> 7 model.compile(loss='sparse_categorical_crossentropy', optimizer='rmsprop', metrics=['accuracy'])
      8
      9 print(model.summary())

/home/rudraksh/anaconda2/lib/python2.7/site-packages/keras/models.pyc in compile(self, optimizer, loss, metrics, sample_weight_mode, **kwargs)
    587                            metrics=metrics,
    588                            sample_weight_mode=sample_weight_mode,
--> 589                            **kwargs)
    590         self.optimizer = self.model.optimizer
    591         self.loss = self.model.loss

/home/rudraksh/anaconda2/lib/python2.7/site-packages/keras/engine/training.pyc in compile(self, optimizer, loss, metrics, loss_weights, sample_weight_mode, **kwargs)
    617             loss_weight = loss_weights_list[i]
    618             output_loss = weighted_loss(y_true, y_pred,
--> 619                                         sample_weight, mask)
    620             if len(self.outputs) > 1:
    621                 self.metrics_tensors.append(output_loss)

/home/rudraksh/anaconda2/lib/python2.7/site-packages/keras/engine/training.pyc in weighted(y_true, y_pred, weights, mask)
    305     def weighted(y_true, y_pred, weights, mask=None):
    306         # score_array has ndim >= 2
--> 307         score_array = fn(y_true, y_pred)
    308         if mask is not None:
    309             # Cast the mask to floatX to avoid float64 upcasting in theano

/home/rudraksh/anaconda2/lib/python2.7/site-packages/keras/objectives.pyc in sparse_categorical_crossentropy(y_true, y_pred)
     43     If you get a shape error, add a length-1 dimension to labels.
     44     '''
---> 45     return K.sparse_categorical_crossentropy(y_pred, y_true)
     46
     47

/home/rudraksh/anaconda2/lib/python2.7/site-packages/keras/backend/tensorflow_backend.pyc in sparse_categorical_crossentropy(output, target, from_logits)
   1991     if len(output_shape) == 3:
   1992         # if our output includes timesteps we need to reshape
-> 1993         return tf.reshape(res, [-1, int(output_shape[-2])])
   1994     else:
   1995         return res

TypeError: __int__ returned non-int (type NoneType)

It works fine if I use categorical_crossentropy.


Update launch.py - change "self.spins > 60" to "self.spins > 600"

Older SROS releases require more time to boot. With 60s, booting SROS 20 in a VM results in continuous boots with the message: "no output from serial console, restarting VM"
Increasing to 300s or higher solves the issue.
Some colleagues report ~10m to boot with R12 or R14.

Already solved in the helt fork
https://github.com/hellt/vrnetlab


mina.service stopping

Preliminary Checks

[X] This issue is not a duplicate. Before opening a new issue, please search existing issues: https://github.com/MinaProtocol/mina/issues
[X] This issue is not a question, feature request, RFC, or anything other than a bug report. Please post those things in GitHub Discussions: https://github.com/MinaProtocol/mina/discussions

Description
When installing Debian Packages on user (not root), the installer installs the "mina.service" sysdemd service on "user" (/usr/lib/systemd/user/mina.service). As a result, when SSH access is disabled (when the user is logged out), the services running on this user also stop. This was detected on "mina-berkeley=2.0.0rampup6-4061884". Its behavior in other versions is unknown.
Steps to Reproduce

Configure debian packages:
echo "deb [trusted=yes] http://packages.o1test.net/ focal rampup" | sudo tee /etc/apt/sources.list.d/mina-rampup.list
Install daemon:
sudo apt-get install -y mina-berkeley=2.0.0rampup6-4061884
Reload daemon services and start Mina
systemctl --user daemon-reload
systemctl --user restart mina

-> mina.service started working.
-> mina.service stops when SSH connection is lost
Expected Result
mina.service should continue working when the SSH connection is lost.
Actual Result
mina.service stops when SSH connection is lost
How frequently do you see this issue?
Always
What is the impact of this issue on your ability to run a node?
Blocker
Status
-

Additional information
I solved this problem with the "sudo loginctl enable-linger " command, which allows user services to continue even when the user logs off.
As a solution, either mina.service should run on root (/etc/systemd/system/), or the "Lingering" feature should be added to the script.

Triage update: PE team to investigate.

Thanks for logging this and suggesting a path forward. This is primarily a systemd issue rather than a mina one; there are several solutions to keep processes running after ending an SSH session (like the one you mentioned) which can be utilised. We do not wish to recommend specific system level configuration changes, as such the easiest and least invasive approach as you have recommended is to use another approach (such as screen for example).


setuptools fails to install wheel files with duplicate entries in .data on Windows

easy_install fails to install, for example, selenium's wheel file:
> wget http://pypi/media/dists/selenium-3.11.0-py2.py3-none-any.whl\#md5\=4644b52a12a4acf352586794ef792bc9
> easy_install selenium-3.11.0-py2.py3-none-any.whl
Processing selenium-3.11.0-py2.py3-none-any.whl
removing 'c:\cygwin\home\administrator\python\lib\site-packages\selenium-3.11.0-py2.7.egg' (and everything under it)
Installing selenium-3.11.0-py2.py3-none-any.whl to c:\cygwin\home\administrator\python\lib\site-packages
error: [Error 183] Cannot create a file when that file already exists

This is because selenium contains the following files in the wheel file:
selenium/webdriver/firefox/amd64/x_ignore_nofocus.so
selenium-3.11.0.data/data/selenium/webdriver/firefox/amd64/x_ignore_nofocus.so

setuptools tries to copy all the files from .data to the base directory (https://github.com/pypa/setuptools/blob/master/setuptools/wheel.py#L146) and os.renames (https://github.com/pypa/setuptools/blob/master/setuptools/wheel.py#L38) fails on Windows when the destination already exists.

Thanks @wiggin15. Sounds like this is indeed a bug.
I imagine the hard part of solving this is going to be writing a test for it (as is so often the case).

@benoit-pierre I think I may have misunderstood the issue, I thought that they were files that start in different folders but have the same name, pass through some intermediate stage where they are in the same folder, and then are distributed out to new locations where they have different names.
If this is trying to install two different files in the same location, then I think it rightly should be raising an error.

@pganssle I started discussion about this in https://github.com/pypa/packaging-problems/issues/152 but no action has been taken yet. If we think this case should raise an error then this should be the behavior in "pip" and "wheel" too, but in order to open an issue for these projects we need a decision in the PyPA issue.


Create a ChanSource

Create ChanSource which would be a generic processor that uses a channel as a source.  This will help in implementing #2.

Done.


add some platform-specific asan files to clang-tidy.ignore list

some compiler-rt files contain architecture-specific assembly code or
complex macroses which clang-tidy can't process properly.
In case of assembly code: we can get "unknown register name 'a7' in asm"
In sanitizer_common_syscalls.inc we have issuels like:
"clang-tidy: error: unknown type name '__sanitizer_iovec'"

@googlebot I signed it!

Examples of such failed checks are:
https://reviews.llvm.org/D87572 (sanitizer_syscall_linux_riscv64.inc - an assembly code for RISCV architecture)
https://reviews.llvm.org/D87580 (sanitizer_common_syscalls.inc - complains against the existing code).

Thank you @EccoTheDolphin !


Support for Different Shells

Supports a setting to specify the shell name.
@jaresty let me know if this is what you want. Nushell probably will not work particularly well since the model has less context for it. But GPT 4 might work better.
Either way this is a useful setting since I sometimes I need powershell if my terminal is windows terminal instead of my usual Linux setup

This looks great!


[BUG] Torii wrong tx status in pending block

Describe the bug
Torii considers a successful tx within the pending block to be failed, so the tx not indexed.
To Reproduce
Appears randomly, didn't figure out how to reproduce it, probably something related to the Starknet sequencer.
Expected behavior
The latest tx status should be considered assuming it could be another status for a short period of time.
Screenshots

slot deployments logs paved-sepolia-v2 torii -l 1000

sepolia-logs.txt
line 970:

2024-06-30T13:50:14.876296Z  WARN tori_core::engine: Ignored failed pending transaction. transaction_hash=0x2ff6a5a3b206c3f168b9ad1535cd3c8d72e3fe74b91c99747630044079ac52b

Additional context
Here the corresponding tx (success):
https://sepolia.voyager.online/tx/0x2ff6a5a3b206c3f168b9ad1535cd3c8d72e3fe74b91c99747630044079ac52b

I'll like to hop on this


Is Slack channel really optional in config for Slack notification rule?

In the API docs for the config payload when setting up a Slack notification rule, the Slack channel is not shown as required.  Is this actually correct?  If no channel is specified, where do the notification go?  @mrunalk @jondeandres

@jmcvetta in case of Slack, you can see that the channel itself has a required channel property. If a rule configuration doesn't have a channel property we'll use the channel's default to send the messages

:+1: Gotcha.  If no channel is specified in the rule, it uses the default channel set by the "configuring integration" endpoint.


Typo in README

Current coverage is 100.00%

Merging #8 into master will not affect coverage as of e2b94ee

@@            master      #8   diff @@
======================================
  Files            1       1
  Stmts           19      19
  Branches         0       0
  Methods          6       6
======================================
  Hit             19      19
  Partial          0       0
  Missed           0       0

Review entire Coverage Diff as of e2b94ee

Powered by Codecov. Updated on successful CI builds.

Thank you. I believe there are plenty of typos to be found...


arch-arm: Remove Jazelle state + ThumbEE support

This PR removes Jazelle state (while still keeping a "Trivial Jazelle implementation",
see Arm Architecture Reference Manual) and ThumbEE support

The following test is failing:
Test: test-checkpoint-arm-hello-restore-checkpoint-ALL-x86_64-opt Failed
I presume changing the PCState will break checkpoint restore for a previously taken one...

The following test is failing:
Test: test-checkpoint-arm-hello-restore-checkpoint-ALL-x86_64-opt Failed
I presume changing the PCState will break checkpoint restore for a previously taken one...

That makes sense. I would expect that the change of the aarch64 flag is the culprit here.

Hi @Harshil2107, I have been trying to locate https://resources.gem5.org/resources/arm-hello-test-checkpoint/raw?database=gem5-resources&version=1.0.0 in the gem5-resources project but I couldn't find the JSON entry. How is that possible?

The JSON entry is on the MongoDB database. You can get the exact JSON in the raw tab of the resource (https://resources.gem5.org/resources/arm-hello-test-checkpoint/raw?database=gem5-resources&version=1.0.0).

To update the checkpoint, should the checkpoint updater (util/cpt_upgraders)  be changed?

To update the checkpoint, should the checkpoint updater (util/cpt_upgraders) be changed?

Thanks. At the end I decided to modify my PR to make it compatible with previous checkpoints (basically I am not shifting the AArch64Bit in the PCState... )


Source Maps Aren't Correct for Exported UMD Modules

TypeScript Version:  3.0.0-dev.201xxxxx (also 2.9.2)

Search Terms:
Source Maps
js.map
Code
export module Test
{
    export function myTest() {
        const zero = 0;
        const two = zero + 2;
        const four = two + two;
        const six = four + two;
        console.log(six);
    }
}

// Transpiled JS:
(function (factory) {
    if (typeof module === "object" && typeof module.exports === "object") {
        var v = factory(require, exports);
        if (v !== undefined) module.exports = v;
    }
    else if (typeof define === "function" && define.amd) {
        define(["require", "exports"], factory);
    }
})(function (require, exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    var Test;
    (function (Test) {
        function myTest() {
            var zero = 0;
            var two = zero + 2;
            var four = two + two;
            var six = four + two;
            console.log(six);
        }
        Test.myTest = myTest;
    })(Test = exports.Test || (exports.Test = {}));
});
//# sourceMappingURL=MapModuleTest.js.map

// Mapping file:
{"version":3,"file":"MapModuleTest.js","sourceRoot":"","sources":["MapModuleTest.ts"],"names":[],"mappings":";;;;;;;;;;;IAAA,IAAc,IAAI,CASjB;IATD,WAAc,IAAI;QAEjB;YACC,IAAM,IAAI,GAAG,CAAC,CAAC;YACf,IAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC;YACrB,IAAM,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;YACvB,IAAM,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;QANe,WAAM,SAMrB,CAAA;IACF,CAAC,EATa,IAAI,GAAJ,YAAI,KAAJ,YAAI,QASjB"}

Expected behavior:
When debugging in Chrome/Firefox, the TypeScript breakpoints should be mapped correctly, so breaking on var four = two + two;, the line where two has already been set, and typing two in the console should return

> two
< 2

in the console.
Actual behavior:

> two
< undefined

Related Issues: I posted this issue on Stack Overflow (https://stackoverflow.com/questions/50931561/how-to-get-js-map-files-to-work-with-umd-modules), but the more i thought about it, the more I realized I think this is a bug.  Removing the export keyword from the module results in the Typescript debugging matching up perfectly.

@weswigham let me know if you have a build that you'd like me to test with.

Hm. I can't seem to repro this on master or 2.9.2:

unless there's more to this? I just compiled your snippet with module: umd and the loaded it in chrome with requirejs and executed the test function, with a breakpoint on the four line as indicated. Everything seems to have been paused in the correct place.

@weswigham I'm still having the issue...  I'm using StealJS, not RequireJS though...  Not sure if that makes a difference...  Here is a video from today:  https://www.screencast.com/t/9BYbJ18k1
Maybe we should first compare the map file to see if that is the issue?
{"version":3,"file":"MapModuleTest.js","sourceRoot":"","sources":["MapModuleTest.ts"],"names":[],"mappings":";;;;;;;;;;;IAAA,IAAc,IAAI,CAQjB;IARD,WAAc,IAAI;QACjB,SAAgB,MAAM;YACrB,IAAM,IAAI,GAAG,CAAC,CAAC;YACf,IAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC;YACrB,IAAM,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;YACvB,IAAM,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC;YACvB,OAAO,GAAG,CAAC;QACZ,CAAC;QANe,WAAM,SAMrB,CAAA;IACF,CAAC,EARa,IAAI,GAAJ,YAAI,KAAJ,YAAI,QAQjB"}

This seems to work fine with typescript@next

I don't think this repros any more.  Also looks like your sourcemap has errors as per this
Here is the link for one generated using typescript@next (link)
Please try it out with typescript@next and confirm there isnt any other tool involved other than typescript in generating your code or modifying it.
Closing this for now. Please report if you have more information

This appears to have been an issue with the es6-promiselibrary I was using to pollyfill promises.  Once I switched to something something >= es6 for my compiling, the mapping worked correctly.


Create an intro

Add an intro about yourself: who are you, what is your strength, why are you here.

Added into about me


format docstrings

When https://github.com/domluna/JuliaFormatter.jl/blob/d89ab9e2638b9273b9d25321cbed5c9f22719e6d/src/styles/sciml/pretty.jl#L41 is changed to true.
I'll go through the repos and format the docstrings,
if that works for all the repos we can change it in the style?

if that works for all the repos we can change it in the style?

Yes


Widget: add "Deactivated" flag to prevent widget from being rendered

New feature: Deactivated flags for widgets to prevent widgets from being rendered

Hi @dpomt, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

there are other possibilities to achieve this - see https://github.com/OrchardCMS/Orchard/issues/6226#issuecomment-166991354


Support mff 7.9

At least 7.9.1 (probably 7.9.0 but don't have those files) uses new version of Unity (2020.3.30f1) with changes to asset file format and il2cpp structures. Former likely will be fixed with conversion to AssetTools.NET (#176); latter will likely need update to @djkaty/Il2CppInspector and/or @nneonneo/Il2CppVersions or customization of these myself.

Completed asset file parsing with #176

Completed autoanalyze changes in #195


Extend flash test to cover consecutive regions

When setting the rom start and size for the flash test include
flash regions coming immediately after the boot region. This allows
the flash algorithm to be more thoroughly tested.

@mbed-bot: TEST

@mbed-bot: TEST

+1


fix input blur issue, update build

/cc @ryan-roemer @geekdave
The library by default wraps
around the input field, internally that trigger some sort of append
where input element is taken out of the dom tree and re-appended.
This caused some problems with mobile browser, as you see when
an input field is taken out from the dom tree it loses focus.
Customers are enraged when their half entered field suddenly loses focus.
Another thing is that you cannot use $input.click() or $input.focus()
to trigger focus and keyboard on the field in mobile browser.
The solution is to wrap  in server side html.

npm test passed

@kltan -- Please fix quotes, rebuild, re-test, and rest Meta JS LGTM.
In the future, please open branches from this repo for PRs, so we all can easily jump in.
/cc @geekdave

@kltan -- Can you please also open an upstream PR for real repository? Thanks!


SSL doesn't work

Hi,
First of all thanks for the addon!
Now when I try to activate SSL and then connect to the web interface I always receive:
400 Bad Request
The plain HTTP request was sent to HTTPS port
I assume this is because the web interface port always connects to TCP 80? Or is there something I'm missing

nevermind - was a misconfiguration on my part - thanks again for the great addon!


Running detekt with autoformat finds new issues (Formatting Rule Set)

Expected Behavior

Run ./gradlew detekt.
Task passes, no issues are found.
Run ./gradlew detekt -Pformat.
Task passes, no new issues are found and no formatting happens.

Observed Behavior

Run ./gradlew detekt.
Task passes, no issues are found.
Run ./gradlew detekt -Pformat.
Task fails, new issues are reported and some are autoformatted.

Steps to Reproduce
Replicable in the public repository. See Section above for reproducer steps.
Context
I expect that detekt task yields same results independently, whether autoformat is turned on or off.
The use case is regular development. Before commiting, I run the detekt check manually to find any issues. I also want to use autocorrect as much as possible, but I am unable since running with autoformat formats additional files.
Additional detekt plugins included are:

io.gitlab.arturbosch.detekt:detekt-formatting
io.nlopez.compose.rules:detekt_compose

It might be issue of the detekt setup in project build.gradle.kts file. From my experimentation it looks like the issue is related to the formatting rule set. I am currently unsure whether this problem is related to our gradle setup, or there is some bug (either in the rule set or in detekt itself).
Your Environment

Version of detekt used: 1.23.6
Version of Gradle used (if applicable): 8.7
Gradle scan link (add --scan option when running the gradle task): -
Operating System and version: MacOS Sonoma 14.5
Link to your project (if it's a public repository): https://github.com/vojtechpesek/detekt-repro-sample

Works as expected. The autoformat issues are always fixed. It does not care about the baseline.

Thanks for the quick response. I'm sad to hear that. It means that autoformat is useless for projects that have baseline. Which in my opinion is not uncommon. Is there any specific reasoning why autoformat ignores the baseline @BraisGabin ?

The reasoning a technical limitation. The issues are fixed before the baseline is checked.
It could be fixed but the main idea behind the baseline is to help projects to adopt detekt with issues. Even if they are hard to fix. The issues that are autofixable aren't hard to fix so those can be fixed directly.
My recommendation:

autofix the issues and you will reduce your baseline size.
don't use the formatting rule set of detekt. It is just a wrapper over ktlint. You could use ktlint directly. They have baseline for the formatting rules.

Thanks for the explanation. We deciced to autofix the issues. Regarding the formatting rule set, i will pass the recommendation on to the team. Cheers.


Bump Dependencies #8951357837

Bumps dependencies for product-is. Link : https://github.com/wso2/product-is/actions/runs/8951357837

 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.

Already updated with https://github.com/wso2/product-is/pull/20326


Course interface

The interface crashes with a message:

If I remove this line:
https://github.com/wppconnect-team/wppconnect-frontend/blob/main/src/components/ChatPage/ChatComponent/index.js#L133

The interface does not crash but this is what voice messages look like:

já foi resolvido. colocar como concluido. @rodriguesabner


[Mobile] Missing Implementation

My issue is about [Mobile]
Works on stable channel, but not on beta.  Flutter API changes.
Flutter channel latest 'beta':
Flutter is already up to date on channel beta
Flutter 2.12.0-4.1.pre • channel beta • https://github.com/flutter/flutter.git
Framework • revision 680962aa75 (6 days ago) • 2022-03-16 13:46:03 -0700
Engine • revision e9f57b5d0f
Tools • Dart 2.17.0 (build 2.17.0-182.1.beta) • DevTools 2.11.1

Flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, 2.12.0-4.1.pre, on macOS 12.3 21E230 darwin-arm, locale en-CA)
[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.1)
[✓] IntelliJ IDEA Ultimate Edition (version 2021.2.1)
[✓] IntelliJ IDEA Community Edition (version 2021.3.1)
[✓] Connected device (1 available)
[✓] HTTP Host Availability

• No issues found!

Error:
 ../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_quill-4.0.10/lib/src/widgets/raw_editor.dart:233:7: Error: The non-abstract class 'RawEditorState' is missing implementations for these members:
 - TextInputClient.insertTextPlaceholder
 - TextInputClient.removeTextPlaceholder
Try to either
 - provide an implementation,
 - inherit an implementation from a superclass or mixin,
 - mark the class as abstract, or
 - provide a 'noSuchMethod' implementation.

same problem


Working RPC Prototype

Available PR templates

Default
Version Release
Alternatively delete and start empty

We should test again with the new AbortSignal support: https://github.com/manzt/anywidget/pull/540


download m4a file has issue in windows

i use mtd in windows to download m4a music. but the file md5 check failure.

This issue is crippling my project... The MD5 checks are not matching...

@benhaben , did you see find any solution for this .. I too facing the same issue intermittently with any file formats.. I added retry mechanism to re download the file from where it left( in the remaining place) .. but looking for a better solution.


I mean, could this lead to decoding dreams?

Does it work with mental imagery? Or do you need to set up an artificial experiment and "present" someone with an image, to decode it?

Seriously amazing I am wondering similar hopefully the author releases more info and congratulations if real!

Does it work with mental imagery? Or do you need to set up an artificial experiment and "present" someone with an image, to decode it?

+1

Actually i dont think that the reconstruction is capable of that. But the  fusion of deep learning and brain recognition is enough exciting, it expands our anticipation to some extent.

I'm afraid it is


Note about output caching

Noticed a potential risk in output data caching with no check, for instance, sct_label_vertebrae says:

“Straightening was already run previously. Copying warping fields”

If for whatever reason, the assumption is incorrect, then will cause issues down the line.
It could happen if:

the input data file is modified
several input files exist within the same source directory
the user performs a batch processing of input data and didn't look at SCT code
the input data is not modified but for whatever reason, SCT changes
I'm not sure if the file naming convention used in sct_example_data is universally used and would prevent such an issue.

In general a system that caches outputs should ideally come with a reasonable level integrity checking on the input data (eg. file name + timestamp or even file hash, and perhaps function call parameters and code environment... which can all be hashed to a single value stored as a signature in the output file) that has little chance of reusing invalid data.

Agreed. This feature was implemented because the benefit (save ~1min of processing time) surpasses the potential risk listed here.

For now I just changed the message about file reuse, to make it more explicit that an assumption was made.

Because of the recent developments, this issue is now critical and should be addressed.
One suggestion would be to create a file straightening.info at the end of sct_straighten_spinalcord, that includes information about the type of straightening that was done (classical vs. new disc-based), so that SCT knows if it should re-do the straightening later in the pipeline (e.g. in sct_register_to_template).

I agree with this solution.

Fixed by #1719


[Bug]: FzErrorArgument: code=4: pixmap must be Grayscale, RGB, or CMYK to save as JPEG

File Name
https://github.com/GoogleCloudPlatform/generative-ai/blob/main/gemini/use-cases/retrieval-augmented-generation/intro_multimodal_rag.ipynb
What happened?
Following code failed with "FzErrorArgument: code=4: pixmap must be Grayscale, RGB, or CMYK to save as JPEG" error:
#Extract text and image metadata from the PDF document
text_metadata_df, image_metadata_df = get_document_metadata(
    multimodal_model,  # we are passing gemini 1.0 pro vision model
    pdf_folder_path,
    image_save_dir="images",
    image_description_prompt=image_description_prompt,
    embedding_size=1408,
)

print("\n\n --- Completed processing. ---")

:

Processing page: 1
Processing page: 2
Processing page: 3
Processing page: 4

:

FzErrorArgument                           Traceback (most recent call last)
[<ipython-input-8-96bfa690e8cb>](https://localhost:8080/#) in <cell line: 14>()
     12
     13 # Extract text and image metadata from the PDF document
---> 14 text_metadata_df, image_metadata_df = get_document_metadata(
     15     multimodal_model,  # we are passing gemini 1.0 pro vision model
     16     pdf_folder_path,

4 frames
~/.local/lib/python3.10/site-packages/pymupdf/mupdf.py in fz_write_pixmap_as_jpeg(out, pix, quality, invert_cmyk)
  47578         Write a pixmap as a JPEG.
  47579     """
> 47580     return _mupdf.fz_write_pixmap_as_jpeg(out, pix, quality, invert_cmyk)
  47581
  47582 def fz_write_pixmap_as_jpx(out, pix, quality):

FzErrorArgument: code=4: pixmap must be Grayscale, RGB, or CMYK to save as JPEG

Relevant log output
I think get_image_for_gemini() function in
gemini/use-cases/retrieval-augmented-generation/utils/intro_multimodal_rag_utils.py should be modified as below:
import fitz
import os
from PIL import Image

def get_image_for_gemini(
    doc: fitz.Document,
    image: tuple,
    image_no: int,
    image_save_dir: str,
    file_name: str,
    page_num: int,
) -> Tuple[Image.Image, str]:
    """
    Extracts an image from a PDF document, converts it to a supported format (JPEG), saves it,
    and loads it as a PIL Image Object.
    """

    xref = image[0]
    pix = fitz.Pixmap(doc, xref)

    # Check color map and convert
    if pix.colorspace not in (fitz.csGRAY, fitz.csRGB, fitz.csCMYK):
        pix = fitz.Pixmap(fitz.csRGB, pix)  # Convert as RGB

    # Save as JPEG
    image_name = f"{image_save_dir}/{file_name}_image_{page_num}_{image_no}_{xref}.jpeg"
    os.makedirs(image_save_dir, exist_ok=True)
    pix.pil_save(image_name, format="JPEG") # Changed

    # Load as PIL Image object
    image_for_gemini = Image.open(image_name)

    # Release pixmap object
    pix = None
    return image_for_gemini, image_name

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hey all, i tried the above code as I was facing the same issue, the above code is giving the following error
Unexpected item type: <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=270x184 at 0x7C60195D9CC0>.Only types that represent a single Content or a single Part are supported here.
not sure if I am doing something wrong

@holtskinner +1, I am seeing this issue too.
I've also been hitting numerous quota issues despite adding:
add_sleep_after_page = True


Fix flaw in mozCurrentTransform polyfill

Set transformation matrix in (polyfilled) mozPrintCallback when a scale is applied, and removed ctx._scaleX and ctx._scaleY in favor of ctx._transformMatrix to emphasize that the caller MUST ensure that the state of the matrix is correct before addContextCurrentTransform is called.
To verify that the bug is fixed:

Start the PDF.js server (node make server)
Download https://github.com/mumble-voip/mumble/blob/d73a2bb6962e5659c881ba789b40190bb04274a6/doc/mumble-protocol.pdf?raw=true
Visit http://localhost:8888/web/viewer.html, click on Open file and select the PDF from step 2.
Press the print button in the viewer to get a print preview.
Scroll to page 4 (of the PDF, possibly page 7 if there is a blank page between each page (this is a different bug)) and check whether the images are aligned correctly (see screenshots in #5827).

Fixes #5505
Fixes #5827
(note: these bugs have been marked as Chrome-specific, but the bug is actually more general, it applies to every non-Firefox browser).

/botio-linux preview

This patch is easy to comprehend and verify, so could you review+merge it?

/botio-linux preview

/botio test

Fixes #5800.

Thank you for the patch (fixes three issues), and sorry for the delay!


Http1AdaptorEdge2EdgeTest::test_1001_client_request_close FAILED  due to timeout

And:
Http1AdaptorEdge2EdgeTest::test_1002_client_response_close FAILED due to timeout
Hit once (so far) in GHA CI:
https://github.com/skupperproject/skupper-router/runs/6067836184?check_suite_focus=true#step:26:2211
Analysis:
Seems to be a problem with the python HTTP1 test server.
The test fails due to a timeout waiting for an HTTP response from a server attached to an edge router. The test logs show that the client's request is properly forwarded to the edge router and the edge router successfully writes the request to the proton raw connection. It appears to be a successful write due to the log showing PN_RAW_CONNECTION_WRITTEN/NEED_WRITE_BUFFERS events corresponding the the full write of the request message.
At that point there is no response coming from the HTTP1 test server: no expected proton read events arrive, and the test eventually times out.
Capturing this issue for now. Monitor for further occurrences.

Could this be relevant similar issue https://github.com/skupperproject/skupper-router/issues/152 ?

Not sure if similar - seems like #152 is showing connection failures, which is not what occurred in this case (connections were up, just traffic wasn't being returned by the test server).

Hit again 4/20/2022:
https://github.com/skupperproject/skupper-router/runs/6102760939?check_suite_focus=true#step:26:2253

@kgiusti the last failure, maybe client got stuck? The only way that this can still timeout after your fix is that if test errors out or throws before client.wait() is called. client.wait has a timeout in it, but, even then, it cannot actually force-terminate the thread, right, if the thread is not cooperating?
If we were using pytest more, there could've been per-python-test-method timeout. https://github.com/skupperproject/skupper-router/issues/170 (I am not completely certain how it would handle leaked threads, but I am sure there has to be a way).

maybe, just maybe, make the threads daemon=True. (And log warning if we actually had to rely on this to exit test in timely fashion?) Anything is better than uninformative timeouts.

@jiridanek good point - I'll try changes to the client in that original patch, see what happens.

https://github.com/skupperproject/skupper-router/runs/6140819152?check_suite_focus=true#step:26:2233

https://github.com/skupperproject/skupper-router/runs/6140819152?check_suite_focus=true#step:26:2233

This is another example of where the request has been sent to the TestServer - everything written out the proton raw connection - and no response at all from the TestServer.  Then the test times out.

I've caught another timeout in the HTTP1 edge-to-edge concurrency test: #379
However this new failure is not caused by an unresponsive test server and it a bug in the adaptor. Mentioning it here since the test failure looks the same.

  If the socket is non-blocking and no bytes
57:         are available, None is returned.
57:
57:         If *b* is non-empty, a 0 return value indicates that the connection
57:         was shutdown at the other end.
57:         """
57:         self._checkClosed()
57:         self._checkReadable()
57:         if self._timeout_occurred:
57:             raise OSError("cannot read from timed out object")
57:         while True:
57:             try:
57: >               return self._sock.recv_into(b)
57: E               TimeoutError: timed out
57:
57: /usr/lib64/python3.10/socket.py:705: TimeoutError
57: ------------------------------ Captured log call -------------------------------
57: DEBUG    root:system_test.py:1573 2022-04-30 10:28:58.542534 TestServer: TestServer listening on :23348
57: DEBUG    root:system_test.py:1573 2022-04-30 10:28:58.544815 TestClient: 0cd42bc04c88464caa019b34848ec460: TestClient connecting on <IP_ADDRESS>:23349
57: DEBUG    root:system_test.py:1573 2022-04-30 10:28:58.544957 TestClient: 0cd42bc04c88464caa019b34848ec460: TestClient connected
57: DEBUG    root:system_test.py:1573 2022-04-30 10:28:58.545009 TestClient: 0cd42bc04c88464caa019b34848ec460: TestClient start request 0
57: DEBUG    root:system_test.py:1573 2022-04-30 10:28:58.545055 TestClient: 0cd42bc04c88464caa019b34848ec460: TestClient sending GET /GET/test_04_client_request_close/ping request
57: DEBUG    root:system_test.py:1573 2022-04-30 10:28:58.545805 TestClient: 0cd42bc04c88464caa019b34848ec460: TestClient getting GET response
57: DEBUG    root:system_test.py:1573 2022-04-30 10:28:58.561110 TestClient: 0cd42bc04c88464caa019b34848ec460: TestClient response GET received
57: DEBUG    root:system_test.py:1573 2022-04-30 10:28:58.562115 TestClient: 0cd42bc04c88464caa019b34848ec460: TestClient request GET /GET/test_04_client_request_close/ping completed!
57: DEBUG    root:system_test.py:1573 2022-04-30 10:28:58.562399 TestClient: 0cd42bc04c88464caa019b34848ec460: TestClient to <IP_ADDRESS>:23349 closed
57: DEBUG    root:system_test.py:1573 2022-04-30 10:28:58.562629 TestClient: 0cd42bc04c88464caa019b34848ec460: TestClient <IP_ADDRESS>:23349 shut down
57: DEBUG    root:system_test.py:1573 2022-04-30 10:28:58.672646 TestClient: 27d25ca0e5cd4f84b1a83c4f7ba45236: TestClient connecting on <IP_ADDRESS>:23349
57: DEBUG    root:system_test.py:1573 2022-04-30 10:28:58.672878 TestClient: 27d25ca0e5cd4f84b1a83c4f7ba45236: TestClient connected
57: DEBUG    root:system_test.py:1573 2022-04-30 10:28:58.672968 TestClient: 27d25ca0e5cd4f84b1a83c4f7ba45236: TestClient start request 0
57: DEBUG    root:system_test.py:1573 2022-04-30 10:28:58.673032 TestClient: 27d25ca0e5cd4f84b1a83c4f7ba45236: TestClient sending GET /GET/test_04_client_request_close/ping request
57: DEBUG    root:system_test.py:1573 2022-04-30 10:28:58.673392 TestClient: 27d25ca0e5cd4f84b1a83c4f7ba45236: TestClient getting GET response
57: DEBUG    root:system_test.py:1573 2022-04-30 10:33:58.673339 TestClient: 27d25ca0e5cd4f84b1a83c4f7ba45236: TestClient <IP_ADDRESS>:23349 shut down
57: DEBUG    root:system_test.py:1573 2022-04-30 10:33:58.673574 TestServer: TestServer :23348 shutting down
57: DEBUG    root:system_test.py:1573 2022-04-30 10:33:58.730600 TestClient: 27d25ca0e5cd4f84b1a83c4f7ba45236: TestClient to <IP_ADDRESS>:23349 closed
57:
32/32 Test #57: system_tests_http1_adaptor ...........***Timeout 1200.08 sec

As above, this time in Http1OverTcpEdge2EdgeTest.test_01_concurrent_requests
https://github.com/jiridanek/skupper-router/runs/6253209485?check_suite_focus=true#step:26:5145

@kgiusti the last failure, maybe client got stuck? The only way I can think of that this can still timeout after your fix is that if test errors out or throws before client.wait() is called. client.wait has a timeout in it, but, even then, it cannot actually force-terminate the thread, right, if the thread is not cooperating?
If we were using pytest more, there could've been per-python-test-method timeout. #170 (I am not completely certain how it would handle leaked threads, but I am sure there has to be a way).

Here is a timeout failure with pytest-timeout kicking in and printing a backtrace where the test was interrupted. https://github.com/jiridanek/skupper-router/runs/6420753812?check_suite_focus=true#step:26:2467

Hit again running  Compile and Test (fedora:35, tsan, proton main, shard 1 of 2)
https://github.com/skupperproject/skupper-router/runs/6511901087?check_suite_focus=true#step:26:2379

:Http1AdaptorEdge2EdgeTest::test_1001_client_request_close
this shows the test http server timing out while waiting for the body of a PUT request to complete:
2022-05-19T17:35:33.9154971Z 57:   File "/usr/lib64/python3.10/threading.py", line 966, in _bootstrap
2022-05-19T17:35:33.9158434Z 57:     self._bootstrap_inner()
2022-05-19T17:35:33.9159880Z 57:   File "/usr/lib64/python3.10/threading.py", line 1009, in _bootstrap_inner
2022-05-19T17:35:33.9166433Z 57:     self.run()
2022-05-19T17:35:33.9166789Z 57:   File "/usr/lib64/python3.10/threading.py", line 946, in run
2022-05-19T17:35:33.9171154Z 57:     self._target(*self._args, **self._kwargs)
2022-05-19T17:35:33.9175973Z 57:   File "/home/runner/work/skupper-router/skupper-router/skupper-router/tests/http1_tests.py", line 295, in _run
2022-05-19T17:35:33.9180599Z 57:     server.handle_request()
2022-05-19T17:35:33.9191014Z 57:   File "/usr/lib64/python3.10/socketserver.py", line 296, in handle_request
2022-05-19T17:35:33.9192277Z 57:     return self._handle_request_noblock()
2022-05-19T17:35:33.9192646Z 57:   File "/usr/lib64/python3.10/socketserver.py", line 316, in _handle_request_noblock
2022-05-19T17:35:33.9193004Z 57:     self.process_request(request, client_address)
2022-05-19T17:35:33.9210602Z 57:   File "/usr/lib64/python3.10/socketserver.py", line 347, in process_request
2022-05-19T17:35:33.9211035Z 57:     self.finish_request(request, client_address)
2022-05-19T17:35:33.9211426Z 57:   File "/usr/lib64/python3.10/socketserver.py", line 360, in finish_request
2022-05-19T17:35:33.9211832Z 57:     self.RequestHandlerClass(request, client_address, self)
2022-05-19T17:35:33.9212359Z 57:   File "/usr/lib64/python3.10/socketserver.py", line 747, in init
2022-05-19T17:35:33.9212680Z 57:     self.handle()
2022-05-19T17:35:33.9212997Z 57:   File "/usr/lib64/python3.10/http/server.py", line 427, in handle
2022-05-19T17:35:33.9213327Z 57:     self.handle_one_request()
2022-05-19T17:35:33.9213669Z 57:   File "/usr/lib64/python3.10/http/server.py", line 413, in handle_one_request
2022-05-19T17:35:33.9213953Z 57:     method()
2022-05-19T17:35:33.9214833Z 57:   File "/home/runner/work/skupper-router/skupper-router/skupper-router/tests/http1_tests.py", line 89, in do_PUT
2022-05-19T17:35:33.9215250Z 57:     self._execute_request(self.server.system_tests["PUT"])
2022-05-19T17:35:33.9215814Z 57:   File "/home/runner/work/skupper-router/skupper-router/skupper-router/tests/http1_tests.py", line 61, in _execute_request
2022-05-19T17:35:33.9216193Z 57:     self._consume_body()
2022-05-19T17:35:33.9216708Z 57:   File "/home/runner/work/skupper-router/skupper-router/skupper-router/tests/http1_tests.py", line 109, in _consume_body
2022-05-19T17:35:33.9217071Z 57:     return self.rfile.read(int(value))
2022-05-19T17:35:33.9217382Z 57:   File "/usr/lib64/python3.10/socket.py", line 705, in readinto
2022-05-19T17:35:33.9218096Z 57:     return self._sock.recv_into(b)

:Http1AdaptorEdge2EdgeTest::test_1002_client_response_close
This also appears to show the test server stuck waiting for PUT body data.  In this case the client thread is also dumped showing that it is waiting for a response from the server.  That would indicate that the client has completed the send of the PUT body. This implies that the routers are not forwarding the entire message:
2022-05-19T17:42:14.0702767Z 57: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Stack of Thread-36 (_run)<PHONE_NUMBER>21632) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-05-19T17:42:14.0710805Z 57:   File "/usr/lib64/python3.10/threading.py", line 966, in _bootstrap
2022-05-19T17:42:14.0711156Z 57:     self._bootstrap_inner()
2022-05-19T17:42:14.0711487Z 57:   File "/usr/lib64/python3.10/threading.py", line 1009, in _bootstrap_inner
2022-05-19T17:42:14.0711887Z 57:     self.run()
2022-05-19T17:42:14.0712166Z 57:   File "/usr/lib64/python3.10/threading.py", line 946, in run
2022-05-19T17:42:14.0712477Z 57:     self._target(*self._args, **self._kwargs)
2022-05-19T17:42:14.0713064Z 57:   File "/home/runner/work/skupper-router/skupper-router/skupper-router/tests/http1_tests.py", line 201, in _run
2022-05-19T17:42:14.0713450Z 57:     rsp = client.getresponse()
2022-05-19T17:42:14.0713899Z 57:   File "/usr/lib64/python3.10/http/client.py", line 1374, in getresponse
2022-05-19T17:42:14.0714643Z 57:     response.begin()
2022-05-19T17:42:14.0714946Z 57:   File "/usr/lib64/python3.10/http/client.py", line 318, in begin
2022-05-19T17:42:14.0715264Z 57:     version, status, reason = self._read_status()
2022-05-19T17:42:14.0715608Z 57:   File "/usr/lib64/python3.10/http/client.py", line 279, in _read_status
2022-05-19T17:42:14.0716090Z 57:     line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
2022-05-19T17:42:14.0716558Z 57:   File "/usr/lib64/python3.10/socket.py", line 705, in readinto
2022-05-19T17:42:14.0717067Z 57:     return self._sock.recv_into(b)
2022-05-19T17:42:14.0717314Z 57:
2022-05-19T17:42:14.0717805Z 57: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Stack of Thread-32 (_run)<PHONE_NUMBER>02944) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-05-19T17:42:14.0718191Z 57:   File "/usr/lib64/python3.10/threading.py", line 966, in _bootstrap
2022-05-19T17:42:14.0718506Z 57:     self._bootstrap_inner()
2022-05-19T17:42:14.0718852Z 57:   File "/usr/lib64/python3.10/threading.py", line 1009, in _bootstrap_inner
2022-05-19T17:42:14.0719156Z 57:     self.run()
2022-05-19T17:42:14.0719449Z 57:   File "/usr/lib64/python3.10/threading.py", line 946, in run
2022-05-19T17:42:14.0719867Z 57:     self._target(*self._args, **self._kwargs)
2022-05-19T17:42:14.0720417Z 57:   File "/home/runner/work/skupper-router/skupper-router/skupper-router/tests/http1_tests.py", line 295, in _run
2022-05-19T17:42:14.0720806Z 57:     server.handle_request()
2022-05-19T17:42:14.0721133Z 57:   File "/usr/lib64/python3.10/socketserver.py", line 296, in handle_request
2022-05-19T17:42:14.0721472Z 57:     return self._handle_request_noblock()
2022-05-19T17:42:14.0721825Z 57:   File "/usr/lib64/python3.10/socketserver.py", line 316, in _handle_request_noblock
2022-05-19T17:42:14.0722274Z 57:     self.process_request(request, client_address)
2022-05-19T17:42:14.0722621Z 57:   File "/usr/lib64/python3.10/socketserver.py", line 347, in process_request
2022-05-19T17:42:14.0722962Z 57:     self.finish_request(request, client_address)
2022-05-19T17:42:14.0723304Z 57:   File "/usr/lib64/python3.10/socketserver.py", line 360, in finish_request
2022-05-19T17:42:14.0723666Z 57:     self.RequestHandlerClass(request, client_address, self)
2022-05-19T17:42:14.0724024Z 57:   File "/usr/lib64/python3.10/socketserver.py", line 747, in init
2022-05-19T17:42:14.0724462Z 57:     self.handle()
2022-05-19T17:42:14.0724750Z 57:   File "/usr/lib64/python3.10/http/server.py", line 427, in handle
2022-05-19T17:42:14.0725166Z 57:     self.handle_one_request()
2022-05-19T17:42:14.0725492Z 57:   File "/usr/lib64/python3.10/http/server.py", line 413, in handle_one_request
2022-05-19T17:42:14.0725784Z 57:     method()
2022-05-19T17:42:14.0726296Z 57:   File "/home/runner/work/skupper-router/skupper-router/skupper-router/tests/http1_tests.py", line 89, in do_PUT
2022-05-19T17:42:14.0726866Z 57:     self._execute_request(self.server.system_tests["PUT"])
2022-05-19T17:42:14.0727478Z 57:   File "/home/runner/work/skupper-router/skupper-router/skupper-router/tests/http1_tests.py", line 61, in _execute_request
2022-05-19T17:42:14.0727879Z 57:     self._consume_body()
2022-05-19T17:42:14.0728432Z 57:   File "/home/runner/work/skupper-router/skupper-router/skupper-router/tests/http1_tests.py", line 109, in _consume_body
2022-05-19T17:42:14.0728856Z 57:     return self.rfile.read(int(value))
2022-05-19T17:42:14.0729176Z 57:   File "/usr/lib64/python3.10/socket.py", line 705, in readinto
2022-05-19T17:42:14.0729598Z 57:     return self._sock.recv_into(b)

Again:
https://github.com/skupperproject/skupper-router/runs/6676823762?check_suite_focus=true#step:26:2376
57: ::Http1AdaptorEdge2EdgeTest::test_1001_client_request_close
57: +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Timeout ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
57:
57: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Stack of Thread-32 (_run)<PHONE_NUMBER>98048) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
57:   File "/usr/lib64/python3.10/threading.py", line 966, in _bootstrap
57:     self._bootstrap_inner()
57:   File "/usr/lib64/python3.10/threading.py", line 1009, in _bootstrap_inner
57:     self.run()
57:   File "/usr/lib64/python3.10/threading.py", line 946, in run
57:     self._target(*self._args, **self._kwargs)
57:   File "/home/runner/work/skupper-router/skupper-router/skupper-router/tests/http1_tests.py", line 295, in _run
57:     server.handle_request()
57:   File "/usr/lib64/python3.10/socketserver.py", line 296, in handle_request
57:     return self._handle_request_noblock()
57:   File "/usr/lib64/python3.10/socketserver.py", line 316, in _handle_request_noblock
57:     self.process_request(request, client_address)
57:   File "/usr/lib64/python3.10/socketserver.py", line 347, in process_request
57:     self.finish_request(request, client_address)
57:   File "/usr/lib64/python3.10/socketserver.py", line 360, in finish_request
57:     self.RequestHandlerClass(request, client_address, self)
57:   File "/usr/lib64/python3.10/socketserver.py", line 747, in init
57:     self.handle()
57:   File "/usr/lib64/python3.10/http/server.py", line 427, in handle
57:     self.handle_one_request()
57:   File "/usr/lib64/python3.10/http/server.py", line 413, in handle_one_request
57:     method()
57:   File "/home/runner/work/skupper-router/skupper-router/skupper-router/tests/http1_tests.py", line 89, in do_PUT
57:     self._execute_request(self.server.system_tests["PUT"])
57:   File "/home/runner/work/skupper-router/skupper-router/skupper-router/tests/http1_tests.py", line 61, in _execute_request
57:     self._consume_body()
57:   File "/home/runner/work/skupper-router/skupper-router/skupper-router/tests/http1_tests.py", line 109, in _consume_body
57:     return self.rfile.read(int(value))
57:   File "/usr/lib64/python3.10/socket.py", line 705, in readinto
57:     return self._sock.recv_into(b)
57:
57: +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Timeout ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
57: FAILED
57: ::Http1AdaptorEdge2EdgeTest::test_1002_client_response_close
57: +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Timeout ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
57:
57: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Stack of Thread-36 (_run)<PHONE_NUMBER>16736) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
57:   File "/usr/lib64/python3.10/threading.py", line 966, in _bootstrap
57:     self._bootstrap_inner()
57:   File "/usr/lib64/python3.10/threading.py", line 1009, in _bootstrap_inner
57:     self.run()
57:   File "/usr/lib64/python3.10/threading.py", line 946, in run
57:     self._target(*self._args, **self._kwargs)
57:   File "/home/runner/work/skupper-router/skupper-router/skupper-router/tests/http1_tests.py", line 201, in _run
57:     rsp = client.getresponse()
57:   File "/usr/lib64/python3.10/http/client.py", line 1374, in getresponse
57:     response.begin()
57:   File "/usr/lib64/python3.10/http/client.py", line 318, in begin
57:     version, status, reason = self._read_status()
57:   File "/usr/lib64/python3.10/http/client.py", line 279, in _read_status
57:     line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
57:   File "/usr/lib64/python3.10/socket.py", line 705, in readinto
57:     return self._sock.recv_into(b)
57:
57: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Stack of Thread-32 (_run)<PHONE_NUMBER>98048) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
57:   File "/usr/lib64/python3.10/threading.py", line 966, in _bootstrap
57:     self._bootstrap_inner()
57:   File "/usr/lib64/python3.10/threading.py", line 1009, in _bootstrap_inner
57:     self.run()
57:   File "/usr/lib64/python3.10/threading.py", line 946, in run
57:     self._target(*self._args, **self._kwargs)
57:   File "/home/runner/work/skupper-router/skupper-router/skupper-router/tests/http1_tests.py", line 295, in _run
57:     server.handle_request()
57:   File "/usr/lib64/python3.10/socketserver.py", line 296, in handle_request
57:     return self._handle_request_noblock()
57:   File "/usr/lib64/python3.10/socketserver.py", line 316, in _handle_request_noblock
57:     self.process_request(request, client_address)
57:   File "/usr/lib64/python3.10/socketserver.py", line 347, in process_request
57:     self.finish_request(request, client_address)
57:   File "/usr/lib64/python3.10/socketserver.py", line 360, in finish_request
57:     self.RequestHandlerClass(request, client_address, self)
57:   File "/usr/lib64/python3.10/socketserver.py", line 747, in init
57:     self.handle()
57:   File "/usr/lib64/python3.10/http/server.py", line 427, in handle
57:     self.handle_one_request()
57:   File "/usr/lib64/python3.10/http/server.py", line 413, in handle_one_request
57:     method()
57:   File "/home/runner/work/skupper-router/skupper-router/skupper-router/tests/http1_tests.py", line 89, in do_PUT
57:     self._execute_request(self.server.system_tests["PUT"])
57:   File "/home/runner/work/skupper-router/skupper-router/skupper-router/tests/http1_tests.py", line 61, in _execute_request
57:     self._consume_body()
57:   File "/home/runner/work/skupper-router/skupper-router/skupper-router/tests/http1_tests.py", line 109, in _consume_body
57:     return self.rfile.read(int(value))
57:   File "/usr/lib64/python3.10/socket.py", line 705, in readinto
57:     return self._sock.recv_into(b)

I did find a bug in the test that results in a timeout, but I do not believe it is responsible for all the above issues.  Merged test fix #536
https://github.com/skupperproject/skupper-router/pull/536

I suspect #536 actually fixed this issue.  http/1 CI has been green for a couple of months now - we should consider closing this.

I suspect #536 actually fixed this issue. http/1 CI has been green for a couple of months now - we should consider closing this.

Closing this as we have not seen this in 8 months


Support for offline rvm install

I'm trying to figure out how to add some sort of caching proxy support for RVM, when running behind a corporate firewall. Client doesn't want direct downloads from the internet. Locally caching the packages is fine.
My starting point is the following rvm page:
https://rvm.io/rvm/offline/
I noticed that your cookbook provides an override for the rvm installer script, but have you considered overrides for the ruby distributions as well?

Closing due to inactivity.
If this is still an issue please reopen or open another issue. Alternatively drop by the #sous-chefs channel on the Chef Community Slack and we'll be happy to help!
Thanks,
Sous-Chefs


Question: Prevent listing of data by class name

currently you can just curl with APP ID and list contents of a passed class (GET)
Any way to prevent this behaviour for some classes or all unless a masterkey or rest key is present?
thank you
trying to figure out if ACL can be applied

You can use Class Level Permissions to control this.
For code-level and/or implementation-related questions or technical support, please refer to Stack Overflow.


waf features 2024-02-01

ARM (Control Plane) API Specification Update Pull Request
PR review workflow diagram
Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

[1] ARM review queue (for merge queues, see [4])
The PRs are processed by time opened, ascending. Your PR may show up on 2nd or later page.
If you addressed Step 1 from the diagram and your PR is not showing up in the queue, ensure the label ARMChangesRequested
is removed from your PR. This should cause the label WaitForARMFeedback to be added.
[2] https://aka.ms/azsdk/support/specreview-channel
[3] List of SDK breaking changes approvers in pinned Teams announcement
[4] public repo merge queue, private repo merge queue (for ARM review queue, [1])
If you need further help with anything, see Getting help section below.
Purpose of this PR
What's the purpose of this PR? Check all that apply. This is mandatory!

[ ] New API version. (Such PR should have been generated with OpenAPI Hub).
[ ] Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
[ ] Update existing version to fix swagger quality issues in S360.
[ ] Other, please clarify:

edit this with your clarification

Due diligence checklist
To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

[ ] I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
[ ] I have reviewed following Resource Provider guidelines, including
ARM resource provider contract and
REST guidelines (estimated time: 4 hours).
I understand this is required before I can proceed to Step 2, "ARM Review", for this PR.

Breaking changes review (Step 1)

If the automation determines you have breaking changes, i.e. Step 1 from the diagram applies to you,
you must follow the breaking changes process.
IMPORTANT This applies even if:

The tool fails while it shouldn't, e.g. due to runtime exception, or incorrect detection of breaking changes.
You believe there is no need for you to request breaking change approval, for any reason.
Such claims must be reviewed, and the process is the same.

ARM API changes review (Step 2)

If this PR is in purview of ARM review then automation will add the ARMReview label.
If you want to force ARM review, add the label yourself.
Proceed according to the diagram at the top of this comment.

Viewing API changes
For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.
Suppressing failures
If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
Swagger-Suppression-Process
to get approval.
Getting help

For general PR approval workflow, see the diagram at the top of this comment.
For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
and https://aka.ms/ci-fix.
If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

Hi @neelesh06! For review efficiency consideration, when creating a new API version, it is required to place API specs of the base version in the first commit, and push new version updates into successive commits. You can use OpenAPIHub to initialize the PR for adding a new version. For more details refer to the wiki.

Please follow this guide, to include the old API so we can see the diff.

Hi @neelesh06! For review efficiency consideration, when creating a new API version, it is required to place API specs of the base version in the first commit, and push new version updates into successive commits. You can use OpenAPIHub to initialize the PR for adding a new version. For more details refer to the wiki.

refer this comment for base version

I have added a same PR in private repo as well https://github.com/Azure/azure-rest-api-specs-pr/pull/16853. Please review the private repo PR. I want to merge the private repo PR and start the PS/CLI work. Thanks.

/pr RequestMerge


[Bug Report] Slider Drag Does Work for Touch/Mobile

Element UI version
1.3.2
OS/Browsers version
Safari / CHrome
Vue version
2.3.3
Reproduction Link
https://jsfiddle.net/pj71jkyw/192/
Steps to reproduce
Any slider component won't work with mobile, need to test using mobile emulator for browser.
User's intuition when they see a slider is to drag it, but it confuses the user because the user doesn't work.
Should this be titled feature request?
What is Expected?
Slider should move when dragging with touch.
What is actually happening?
Slider doesn't move when dragging with touch.

Element is designed for desktop. It's not suitable for mobile devices.

@Leopoldthecoder Element's grid layout supports tablets and mobile devices, so why shouldn't the components support them as well?
If Element is designed for desktop, why it has xs and sm attributes for <el-col> component?

Please fix this issue


Add options for minimal links and auto-prefixing http protocol

Two options added: autoPrefixHttpProtocol and minimalLinks.
minimalLinks slims down the link overlay to use only text and url.
autoPrefixHttpProtocol adjust links without a protocol. Those with a protocol, anchors and relative links are left alone. Anything else if prepended with http:// or mailto: as appropriate.
Both new options default to false.
N.B. ES6 methods used for string interpolation. Can adjust if required.

Do not use ES6 since I did not use babel and want to be ES5-compatible.

Cheers for the feedback - I'll update the ES6 bits and implement a regex to distinguish email addresses / urls.
Be back with you soon 👍

I suggest to rename it to autoPrefixProtocol and have an urlProtocol option which defaults to https, but can be set to e.g. Http. Https will be the new Standart since chrome will also mark websites as untrusted soon when they use http.

Thanks, sounds sensible. I've updated the option name. Under the new setup, users can provide the following options to urlProtocol:

false (default)
true, 'https' or 'https://' => 'https://'
'http' or 'http://' => 'http://'

Anything else will be ignored.
Let me know what you think - appreciate your work on this!

Morning @Alex-D - that's the setupUrlPrefix function shortened and set to allow any string as said prefix. For easy reference, here's the updated code:
        setupUrlPrefix: function() {
            var protocol = this.o.urlProtocol;
            if(!protocol) { return; }

            if(typeof(protocol) !== 'string') { return 'https://'; }
            return /:\/\/$/.test(protocol) ? protocol : protocol + '://';
        }

How does that look to you?

LGTM :)
Could you update the doc about this new option? It's somewhere here:

https://github.com/Alex-D/Trumbowyg/blob/develop/docs/documentation/index.html#L64
https://github.com/Alex-D/Trumbowyg/blob/develop/docs/documentation/index.html#L463

Thanks :)

Fantastic - thanks @Alex-D. Really appreciate all your work with me on this.
Let me know what you think of the updated docs and I'll edit if needed.
One thing to note: I've put 2.9.4 as the version added as I'm not sure of your process for iterating this. Let me know if that needs tweaking.

@Alex-D - please don't consider this a chase, but I'm wondering what your process is for introducing new features such as these, and when you're next likely to do so?
Hope I'm not being a pain asking this :)

Just taking time to run this on my computer, then merge other MRs, release a new version, test it, etc.
So I need to take couple of hours ^^'
Sorry if it's long...

Thanks, that clears things up perfectly. It was more a case of establishing whether this would be deployed shortly or as part of a larger release way down the line. So that answers my question perfectly.
Thanks again for your work on this.

Thanks! :)

This PR (and release 2.10.0) broke ES5 browsers/minifiers because of the use of const.
See #764.


boost lib dependence

using boost 1.84 worked
-Iboost_1_84_0/
edit: boost is a library
file 'src/deconstruct.h'
#include<boost/algorithm/string/classification.hpp>
#include<boost/algorithm/string/split.hpp>
#include<boost/algorithm/string.hpp>

In PR #4 this will be fixed: @Thomas-de-Bock used two small functions so I implemented them and removed these headers

Afaik the boost headers by default are installed to the default include directory ( + /boost) so no additional include should be required right? Also @NoneSince, your PR is still broken as of writing this, I suspect it has something do with with the boost::token_compress_on flag I originally passed specifically in parse_construct.

@Thomas-de-Bock, I don't have boost, and it is a non standard system (or should I say THE non-standard system).
I fixed split and now my PR generates the same .asm files as your master, so you can merge now


[BEAM-1809] Make TravisCI builds less broken

Before:

After:

Coverage increased (+0.01%) to 70.109% when pulling d713f85726b019b526fd306377e467330379c1e4 on wtanaka:checkstyle into e5f1a6479c0a7c6f531c340fe371e4b66e7ea2a5 on apache:master.

R: @dhalperi @tgroh @bjchambers or anyone else, is an "@" mention the best way to ask for a review on a pull request?

Coverage increased (+0.003%) to 70.187% when pulling b339a1be055b269680952eb346fbe221ee18f8fe on wtanaka:checkstyle into 3473055f2358533dfb18af225ffdee2c8eca4000 on apache:master.

Coverage decreased (-0.006%) to 70.183% when pulling 4b3335e246be302d28da6d2227ab7e4840eef5b2 on wtanaka:checkstyle into c9e55a4360a9fe06d6ed943a222bce524a6b10af on apache:master.

R: @amitsela @aviemzur   (is this how I ask for a review?)

Coverage increased (+0.01%) to 70.19% when pulling f4e6225414d28d1f1f6f874f4f9b1cdd3f7de727 on wtanaka:checkstyle into 026aec856c13a7e1e3da08646b9b97ccf1f40e3c on apache:master.

I believe @davorbonaci and @jasonkuster are working on the Travis issues.

I think that @davorbonaci should probably handle this review.

sounds like this is going to be problematic, closing.


Run horseman in asynchronous way with callback

Is there any way to run horseman in asynchronous way with callback. In below example, I have to wait horseman for finishing to run 'myFunction'. Is there any way to run 'myFunction' without waiting for horseman?
var Horseman = require('node-horseman');
var horseman = new Horseman();

var numLinks = horseman
  .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0")
  .open('http://www.google.com')
  .type('input[name="q"]', 'github')
  .click("button:contains('Google Search')")
  .waitForNextPage()
  .count("li.g");

console.log("Number of links: " + numLinks);
horseman.close();

// call myFuction()

Not quite sure I follow. You can't do two things at the same time with horseman as it blocks execution while it runs.  However, you can do this:
var Horseman = require('node-horseman');
var horseman = new Horseman();

var numLinks = horseman
  .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0")
  .open('http://www.google.com');

// call myFuction()
horseman
  .type('input[name="q"]', 'github')
  .click("button:contains('Google Search')")
  .waitForNextPage()
  .count("li.g");

console.log("Number of links: " + numLinks);
horseman.close();

Horseman blocks execution, so we can not run multi horseman instances at the same time, right?. Is there any way to run multi horseman instances?

You could run horseman in child processes. That way when horseman blocks, only that process will be blocked.
https://nodejs.org/api/child_process.html

I agree with @thanhthang20. Blocking the thread is bad in node because there's only one thread. It would be nice if there was a way to do this asynchronously, for example with promises. Then you could use then() chaining, or better yet, generators or even async functions. A node lib that blocks the thread is basically unusable.
With promises and async functions for example it could look like this:
var Horseman = require('node-horseman');

async function run() {
  var horseman = new Horseman();
  await horseman.userAgent("Mozilla/5.0 ...")
  await horseman.open('http://www.google.com');
  await horseman.type('input[name="q"]', 'github');
  await horseman.click("button:contains('Google Search')");
  await horseman.waitForNextPage()
  var numLinks = await horseman.count("li.g");
  console.log("Number of links: " + numLinks);
  horseman.close();
}

run();

Agree to the above. Didn't pick your lib only because of this.

Also agree. Horseman should automatically make sure not to block the thread. We shouldn't have to create child processes.

It was a design decision to block, to make the API easier to use. There are many async phantomjs runners. You may want to check out:
https://github.com/segmentio/nightmare
I've been looking at generators & such, but it's a ton of work to move to that.

I've been looking at generators & such, but it's a ton of work to move to that.

Actually, no. All you need is to implement a promise based interface so generators could work with it via libs like https://github.com/jmar777/suspend.
And, after a few years, people would use it via ES7 like @greim described.
I like your lib, good job, but sync libraries are really unusable in node environment. You can only write tests with them.
And people use child_process, basically, only because of performance purposes. Nobody would use it just because he needs to run sync task asynchronously.

Linking to #40 for comments


rfc: align preset-wind with tailwind & windi docs

as far I can tell, preset-wind is just superset to preset-mini.
preset-mini so far allows multiple versions of utility classes for different things. I found just an example: m-4 (Tailwind & windi), m4 (Tachyons) -> will both generate the output.
Since we would like to use preset-wind as the ruleset for the opinionated windi v4 setup, because windi v4 will use UnoCSS as its engine, I think the preset would have to get fine-tuned.
I propose that the preset-wind just allows rules defined in the Tailwind & windi docs, rather than allowing other syntaxes as well (m4)

Another alternative maybe to define preset-windi separately. Or maybe wind-core that aligns only to both windi & tailwind.

We had this discussion with core team of windi as-well, but we think it might not be great to define two similar presets.
I think we can also use preset-wind as of now, but this is my personal suggestion to have it more inline.
Whatever you think is the best, is fine for me.

Is the discussion public? I'd like to have the link if it is.
Another option, personally, is to split mini into sub preset.
I mainly uses preset uno with as close as tailwind's syntax, since I am familiar with their api.

Other than margin and padding, I think the rest rules are basically identical, or can you make a list full list of the rules you think are excrescent?
For margin and padding, I feel it's no harm to have them in the next version of Windi, we could document it. Some of the conventions are necessary for attrubutify to work, for example,
 will be transformed into m-t-4, m-b-2, which they are technically not valid syntax in windi's class mode, therefore windi have specific treatment to handle them in attrubutify mode. Where from my point of view, special rules are the eval leading to the complexity of a system, there are too many special cases in Windi which make it hard to understand and maintain. So in UnoCSS, one of my philosophies is to make things as general as possible so we could avoid dealing with the extra complexity.
In addition, with the auto rules merging, the generated size of CSS has very little impact on the different variations you are using.

/* only one rule will be generated */
.mt-4,[m~="t-4"],[mt~="\34 "]{margin-top:1rem;}

@chu121su12 add me on Discord with antfu#3212

@antfu added

generated size of CSS has very little impact on the different variations

yes I totally agree. my main concern was not based on size at all. It was just on my personal gut feeling that it might be better to not include other syntax and leave windi very opinionated. While people wanting to have more variants and options, would always use uno with another preset.
I will update this issue once we have decided finally to either add the variants in windi docs or to use a more specific preset.
Thank you for your input :)

Closing this for now. For misalignments with Tailwind, they should be open as separate issues per feature.

generated size of CSS has very little impact on the different variations

yes I totally agree. my main concern was not based on size at all. It was just on my personal gut feeling that it might be better to not include other syntax and leave windi very opinionated. While people wanting to have more variants and options, would always use uno with another preset. I will update this issue once we have decided finally to either add the variants in windi docs or to use a more specific preset.
Thank you for your input :)

Please make windi strict. People should not be able to produce too many of the same classes.
First of all this is not intuitive.
Second of all this is disruptive.

People will have a hard time remembering the classes that represent a design system
Standards across a codebase would not be enforced leading to many conflicts
Why add unnecessary bundle size.

Even though bundlers are smart enough to sort identical classes with commas bundle size will increase.

Having two classes that do the same things makes debugging utilities harder to debug.

Please make windi strict. People should not be able to produce too many of the same classes.
First of all this is not intuitive.
Second of all this is disruptive.

People will have a hard time remembering the classes that represent a design system
Standards across a codebase would not be enforced leading to many conflicts
Why add unnecessary bundle size.

Even though bundlers are smart enough to sort identical classes with commas bundle size will increase.

Having two classes that do the same things makes debugging utilities harder to debug.


aarch64-linux-android23-clang doesn't exist

Hello, I was trying to build the hello_world example and got stuck to following error:
$ cargo apk run --example hello_world
Error: Path "/usr/lib/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android23-clang" doesn't exist.

I've installed the android-sdk and android-ndk on my Linux Mint 20 using apt:
$ sudo apt install android-sdk google-android-ndk-installer

And have set ANDROID_SDK_ROOT and ANDROID_NDK_ROOT to:
export ANDROID_SDK_ROOT="/usr/lib/android-sdk"
export ANDROID_NDK_ROOT="/usr/lib/android-ndk"
export PATH="${PATH}:${ANDROID_SDK_ROOT}/tools/:${ANDROID_SDK_ROOT}/platform-tools/"

When listing the contend of the directory, it only shows a clang binary but not an aarch64-linux-android23-clang binary.
$ ll /usr/lib/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/
drwxr-xr-x 2 root root 4,0K Okt 12  2016 arm64-v8a
drwxr-xr-x 2 root root 4,0K Okt 12  2016 armeabi
drwxr-xr-x 2 root root 4,0K Okt 12  2016 armeabi-v7a
drwxr-xr-x 2 root root 4,0K Okt 12  2016 armeabi-v7a-hard
-rwxr-xr-x 1 root root  13K Okt 12  2016 asan_device_setup
-rwxr-xr-x 1 root root  39M Okt 12  2016 clang
-rwxr-xr-x 1 root root  39M Okt 12  2016 clang++
-rwxr-xr-x 1 root root  18M Okt 12  2016 clang-tidy
-rwxr-xr-x 1 root root 479K Okt 12  2016 FileCheck
-rwxr-xr-x 1 root root 3,0M Okt 12  2016 llvm-as
-rwxr-xr-x 1 root root 2,5M Okt 12  2016 llvm-dis
-rwxr-xr-x 1 root root 3,8M Okt 12  2016 llvm-link
drwxr-xr-x 2 root root 4,0K Okt 12  2016 mips
drwxr-xr-x 2 root root 4,0K Okt 12  2016 mips64
drwxr-xr-x 2 root root 4,0K Okt 12  2016 x86
drwxr-xr-x 2 root root 4,0K Okt 12  2016 x86_64

I was using the latest master branch of the example and cargo-apk.
What am I missing?

I think after installing the ndk you need to install at least one android platform.

I think after installing the ndk you need to install at least one android platform.

That bin/ directory looks too empty, and the timestamps are equally worrying: Okt 12  2016; the packaged NDK in those repositories is ancient.
You should install a recent version (r21 or r22) through the sdk manager or download it from the website.

That bin/ directory looks too empty, and the timestamps are equally worrying: Okt 12  2016; the packaged NDK in those repositories is ancient.
You should install a recent version (r21 or r22) through the sdk manager or download it from the website.

@Kaiden42 Did you resolve this issue.

Oh, I'm sorry. I forgot to share the status. Thanks for the reminder.
Yes, I had now tried with a newer NDK version from the official website. It seems like the installer from Google in the package manager is really badly outdated. It's working now with ne newer version.
I thank you for your help.

@Kaiden42 good news, thank you for updating!


Do exported glTF models follow the 3D Tiles specification?

Hello:
I'm not sure if this is the best place to ask questions, I apologise otherwise.
I want to use Cesium to visualise BIM files as 3D buildings and 3DCityDB looks like a great solution. However, I plan to use the standalone Cesium viewer once they release the 3D Tiles branch.
Do you know if it is possible to load the 3DCityDB glTF tiles as a Cesium3DTileset into Cesium? In the other case, do you plan to implement 3D Tiles in the future?
Thanks and congratulations on the recent realease!

Hi Jorgeyp,
The 3DCityDB cannot export b3dm files. These b3dm files make up the Cesium3DTileset (for buildings that is, for pointclouds this would be i3dm files..).
We have however a converter which creates b3dm files from a 3DCityDB.. but its not open-source unfortunately..

Feel free to check out the following 3d web maps. They use Cesium 3D Tiles, and the b3dm tiles have been directly created from 3DCityDB content using the converter mentioned by @lucasvw.
http://www.businesslocationcenter.de/wab/maps/main/
http://www.businesslocationcenter.de/berlin3d-downloadportal/
http://wiesbaden.virtualcitymap.de/
http://bottrop.virtualcitymap.de/
http://demo.virtualcitymap.de/

Closing this issue. Feel free to re-open if you have further questions.


Fix issue where stacktraces were been captured even when explicitly setup to be excluded

Fix issue where stacktraces were been captured even when explicitly setup to be excluded.
Added test cases will fail for the scenario where stackTrace field is not expected but is found.
Signed-off-by: Tushar Badgu<EMAIL_ADDRESS>

Thank you for your help with reviewing and merging the PR!