inference sample issue:File "/opt/conda/lib/python3.10/site-packages/urllib3/util/connection.py", line 73, in create_connection sock.connect(sa) TimeoutError: timed out

root@91246ed9cf44:/workspace# torchrun --standalone --nproc_per_node 1 scripts/inference.py configs/opensora/inference/16x256x256.py --ckpt-path /models/OpenSora-v1-HQ-16x256x256.pth --prompt-path ./assets/texts/t2v_samples.txt
/opt/conda/lib/python3.10/site-packages/colossalai/pipeline/schedule/_utils.py:19: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.
_register_pytree_node(OrderedDict, _odict_flatten, _odict_unflatten)
/opt/conda/lib/python3.10/site-packages/torch/utils/_pytree.py:254: UserWarning: <class 'collections.OrderedDict'> is already registered as pytree node. Overwriting the previous registration.
warnings.warn(
/opt/conda/lib/python3.10/site-packages/colossalai/shardformer/layer/normalization.py:45: UserWarning: Please install apex from source (https://github.com/NVIDIA/apex) to use the fused layernorm kernel
warnings.warn("Please install apex from source (https://github.com/NVIDIA/apex) to use the fused layernorm kernel")
Config (path: configs/opensora/inference/16x256x256.py): {'num_frames': 16, 'fps': 8, 'image_size': (256, 256), 'model': {'type': 'STDiT-XL/2', 'space_scale': 0.5, 'time_scale': 1.0, 'enable_flashattn': True, 'enable_layernorm_kernel': True, 'from_pretrained': '/models/OpenSora-v1-HQ-16x256x256.pth'}, 'vae': {'type': 'VideoAutoencoderKL', 'from_pretrained': 'stabilityai/sd-vae-ft-ema', 'micro_batch_size': 4}, 'text_encoder': {'type': 't5', 'from_pretrained': 'DeepFloyd/t5-v1_1-xxl', 'model_max_length': 120}, 'scheduler': {'type': 'iddpm', 'num_sampling_steps': 100, 'cfg_scale': 7.0, 'cfg_channel': 3}, 'dtype': 'fp16', 'batch_size': 1, 'seed': 42, 'prompt_path': './assets/texts/t2v_samples.txt', 'save_dir': './outputs/samples/', 'multi_resolution': False}
/opt/conda/lib/python3.10/site-packages/colossalai/initialize.py:48: UserWarning: config is deprecated and will be removed soon.
warnings.warn("config is deprecated and will be removed soon.")
[04/11/24 08:35:35] INFO     colossalai - colossalai - INFO: /opt/conda/lib/python3.10/site-packages/colossalai/initialize.py:67 launch
INFO     colossalai - colossalai - INFO: Distributed environment is initialized, world size: 1
Traceback (most recent call last):
File "/opt/conda/lib/python3.10/site-packages/urllib3/connection.py", line 203, in _new_conn
sock = connection.create_connection(
File "/opt/conda/lib/python3.10/site-packages/urllib3/util/connection.py", line 85, in create_connection
raise err
File "/opt/conda/lib/python3.10/site-packages/urllib3/util/connection.py", line 73, in create_connection
sock.connect(sa)
TimeoutError: timed out
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/opt/conda/lib/python3.10/site-packages/urllib3/connectionpool.py", line 790, in urlopen
response = self._make_request(
File "/opt/conda/lib/python3.10/site-packages/urllib3/connectionpool.py", line 491, in _make_request
raise new_e
File "/opt/conda/lib/python3.10/site-packages/urllib3/connectionpool.py", line 467, in _make_request
self._validate_conn(conn)
File "/opt/conda/lib/python3.10/site-packages/urllib3/connectionpool.py", line 1096, in _validate_conn
conn.connect()
File "/opt/conda/lib/python3.10/site-packages/urllib3/connection.py", line 611, in connect
self.sock = sock = self._new_conn()
File "/opt/conda/lib/python3.10/site-packages/urllib3/connection.py", line 212, in _new_conn
raise ConnectTimeoutError(
urllib3.exceptions.ConnectTimeoutError: (<urllib3.connection.HTTPSConnection object at 0x7f0fe0426050>, 'Connection to huggingface.co timed out. (connect timeout=10)')
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/opt/conda/lib/python3.10/site-packages/requests/adapters.py", line 486, in send
resp = conn.urlopen(
File "/opt/conda/lib/python3.10/site-packages/urllib3/connectionpool.py", line 844, in urlopen
retries = retries.increment(
File "/opt/conda/lib/python3.10/site-packages/urllib3/util/retry.py", line 515, in increment
raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /stabilityai/sd-vae-ft-ema/resolve/main/config.json (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7f0fe0426050>, 'Connection to huggingface.co timed out. (connect timeout=10)'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/conda/lib/python3.10/site-packages/huggingface_hub/file_download.py", line 1261, in hf_hub_download
metadata = get_hf_file_metadata(
File "/opt/conda/lib/python3.10/site-packages/huggingface_hub/utils/_validators.py", line 119, in _inner_fn
return fn(*args, **kwargs)
File "/opt/conda/lib/python3.10/site-packages/huggingface_hub/file_download.py", line 1674, in get_hf_file_metadata
r = _request_wrapper(
File "/opt/conda/lib/python3.10/site-packages/huggingface_hub/file_download.py", line 369, in _request_wrapper
response = _request_wrapper(
File "/opt/conda/lib/python3.10/site-packages/huggingface_hub/file_download.py", line 392, in _request_wrapper
response = get_session().request(method=method, url=url, **params)
File "/opt/conda/lib/python3.10/site-packages/requests/sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
File "/opt/conda/lib/python3.10/site-packages/requests/sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
File "/opt/conda/lib/python3.10/site-packages/huggingface_hub/utils/_http.py", line 68, in send
return super().send(request, *args, **kwargs)
File "/opt/conda/lib/python3.10/site-packages/requests/adapters.py", line 507, in send
raise ConnectTimeout(e, request=request)
requests.exceptions.ConnectTimeout: (MaxRetryError("HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /stabilityai/sd-vae-ft-ema/resolve/main/config.json (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7f0fe0426050>, 'Connection to huggingface.co timed out. (connect timeout=10)'))"), '(Request ID: bd86fb87-3199-46af-93ac-232c03b27fc5)')
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/opt/conda/lib/python3.10/site-packages/diffusers/configuration_utils.py", line 380, in load_config
config_file = hf_hub_download(
File "/opt/conda/lib/python3.10/site-packages/huggingface_hub/utils/_validators.py", line 119, in _inner_fn
return fn(*args, **kwargs)
File "/opt/conda/lib/python3.10/site-packages/huggingface_hub/file_download.py", line 1406, in hf_hub_download
raise LocalEntryNotFoundError(
huggingface_hub.utils._errors.LocalEntryNotFoundError: An error happened while trying to locate the file on the Hub and we cannot find the requested files in the local cache. Please check your connection and try again or make sure your Internet connection is on.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/workspace/scripts/inference.py", line 112, in
main()
File "/workspace/scripts/inference.py", line 55, in main
vae = build_module(cfg.vae, MODELS)
File "/opt/conda/lib/python3.10/site-packages/opensora/registry.py", line 22, in build_module
return builder.build(cfg)
File "/opt/conda/lib/python3.10/site-packages/mmengine/registry/registry.py", line 570, in build
return self.build_func(cfg, *args, **kwargs, registry=self)
File "/opt/conda/lib/python3.10/site-packages/mmengine/registry/build_functions.py", line 121, in build_from_cfg
obj = obj_cls(**args)  # type: ignore
File "/opt/conda/lib/python3.10/site-packages/opensora/models/vae/vae.py", line 13, in init
self.module = AutoencoderKL.from_pretrained(from_pretrained)
File "/opt/conda/lib/python3.10/site-packages/huggingface_hub/utils/_validators.py", line 119, in _inner_fn
return fn(*args, **kwargs)
File "/opt/conda/lib/python3.10/site-packages/diffusers/models/modeling_utils.py", line 567, in from_pretrained
config, unused_kwargs, commit_hash = cls.load_config(
File "/opt/conda/lib/python3.10/site-packages/huggingface_hub/utils/_validators.py", line 119, in _inner_fn
return fn(*args, **kwargs)
File "/opt/conda/lib/python3.10/site-packages/diffusers/configuration_utils.py", line 406, in load_config
raise EnvironmentError(
OSError: stabilityai/sd-vae-ft-ema does not appear to have a file named config.json.
[2024-04-11 08:35:49,341] torch.distributed.elastic.multiprocessing.api: [ERROR] failed (exitcode: 1) local_rank: 0 (pid: 75) of binary: /opt/conda/bin/python
Traceback (most recent call last):
File "/opt/conda/bin/torchrun", line 33, in
sys.exit(load_entry_point('torch==2.2.2', 'console_scripts', 'torchrun')())
File "/opt/conda/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/errors/init.py", line 347, in wrapper
return f(*args, **kwargs)
File "/opt/conda/lib/python3.10/site-packages/torch/distributed/run.py", line 812, in main
run(args)
File "/opt/conda/lib/python3.10/site-packages/torch/distributed/run.py", line 803, in run
elastic_launch(
File "/opt/conda/lib/python3.10/site-packages/torch/distributed/launcher/api.py", line 135, in call
return launch_agent(self._config, self._entrypoint, list(args))
File "/opt/conda/lib/python3.10/site-packages/torch/distributed/launcher/api.py", line 268, in launch_agent
raise ChildFailedError(
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
scripts/inference.py FAILED
Failures:
<NO_OTHER_FAILURES>
Root Cause (first observed failure):
[0]:
time      : 2024-04-11_08:35:49
host      : 91246ed9cf44
rank      : 0 (local_rank: 0)
exitcode  : 1 (pid: 75)
error_file: <N/A>
traceback : To enable traceback see: https://pytorch.org/docs/stable/elastic/errors.html

Can you use commands such as ping -c 4 <IP_ADDRESS> to check if you internet connection is available?

thans a lot, its a net problem.
the pretrain models should be download manually.


React trial

The growing pane of addresses and results seems like a good candidate for a react component.

Off-topic / unnecessary.


Fix examples after React 16 bump

Fixes https://github.com/facebook/draft-js/issues/1516

Thank you! will test this tomorrow and add to my to merge list!

@mitermayer - good call.  I made the changes to development versions of react and react-dom


Replace {i,u}size with {i,u}32?

Yeah, this needs another pass. Dimensions and coordinates should be i32/u32.

Closing (#197)


Clock does not switch to 12hr

I have
tmux_conf_theme_clock_style='12'
But the clock is still in 24hr.
I know, dirty American.

Works for me. Did you try to reload the configuration? e.g. by hitting <prefix> + r ?

ping @NeckBeardPrince

Sorry, yup. Same thing.
It's okay, i'm going to redo a lot of my tmux setup and configs.
So maybe I missed something. Thanks for the help.


Fix matrix inversion function for matrix4

There was a comparison between determinant and a zero
which used = defined in matrix4.lisp rather than cl:=

great stuff, thanks @rtmpdavid


Move unit conversion for plots to frontend

Is your feature request related to a problem? Please describe.
Analysis results are reported in some unit (typically one choses such that data values are close to unity), but when displaying in the frontend in a plot combining different results these units must be converted. All unit conversion currently happens in the backend in topobank.analysis.views via the Python library pint. This means the backend must actually inspect all analysis results. To minimize loading data from the S3 system, it would be better if unit conversion happened in the frontend where the data needs to be loaded anyway.
The first step for this would be to check if there is a JavaScript library that can do unit conversion, e.g. convert nm^3 to µm^3 etc.
This is a first step towards implementing #726

preferred Packages:
https://github.com/convert-units/convert-units#packaged-units ( -> example: convert(900).from('mm').toBest({ cutOffNumber: 10 }); )

will meet our needs ( testing required)
Can convert lengths, areas and volumes,
is up to date
small user base

https://github.com/josdejong/mathjs

all of the above
can do some nice output strings

alternatives:
https://github.com/moment/moment/ (- last commit 2022, + has biggest user base)

I think I had used convert-units in the past and liked it. mathjs looks like it tries to do too much. moment appears deprecated. I say go for convert-units.

I'm not sure, i understand, where i can start changing the unit conversion from backend to frontend...
I started looking at topobank/analysis/views.py in lines 191++
Then i found the function: "_get_si_unit_conversion(result):" in /topobank/analysis/downloads.py ,
but as i understand for now, the conversion happens before/while saving the topography/surface on the S3, and the views.py just checks if the received data has a unit and, if not, changes it to "m" instead. So it seems that the best way would be to just change the units and the axis in the frontend -> redraw plot, without changing the data in the backend?

There is unit conversion that happens when the analysis stores to S3, but you can ignore this. When loading multiple results, the units may be different. What the code is doing it is looking into the first analysis results and uses that to decide the unit used for displaying the results. If there is None, then it assumes "m" otherwise it is using that first unit. All other analysis results are converted to the respective unit here:
https://github.com/ContactEngineering/topobank/blob/555ae10bbc41c610483455c0d7b36c84f1d7fdc0/topobank/analysis/views.py#L338
Note that the actual conversion (i.e. multiplication with the analysis_xscale factor) is done in the frontend even now, but the conversion factor is currently computed by the backend. The first step is to compute that conversion factor in the frontend.


Nodes using generated certificates fail handshake with KEY_USAGE_BIT_INCORRECT

When using the certificates generated with nase/tls/gen-cert.sh for FReD nodes and interacting with them using a Python gRPC client, the requests fail with:
ssl_transport_security.cc:1455] Handshake failed with fatal error SSL_ERROR_SSL: error:1000012e:SSL routines:OPENSSL_internal:KEY_USAGE_BIT_INCORRECT.

The error is possibly raised at the certificate verification step for which I did not find an option to disable it in the Python client.
Currently, the certificates are generated with the extended usages serverAuth and clientAuth. According to this the extendedKeyUsages

serverAuth requires "digitalSignature, keyEncipherment or keyAgreement"
clientAuth requires "digitalSignature and/or keyAgreement"

Adding digitalSignature to nase/tls/gen-cert.sh so
keyUsage = keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth, clientAuth

looks like this
keyUsage = keyEncipherment, dataEncipherment, digitalSignature
extendedKeyUsage = serverAuth, clientAuth

resolved the issue for me.
Example
# Loading certificates
with open("./cert/client.crt", "rb") as f:
    client_crt = f.read()

with open("./cert/client.key", "rb") as f:
    client_key = f.read()

with open("./cert/ca.crt", "rb") as f:
    ca_crt = f.read()

creds = grpc.ssl_channel_credentials(
    certificate_chain=client_crt,
    private_key=client_key,
    root_certificates=ca_crt,
)

host = "<IP_ADDRESS>"
port = 9001
target = f"{host}:{port}"
with grpc.secure_channel(target, credentials=creds) as channel:
    stub = client_pb2_grpc.ClientStub(channel)
    response = stub.CreateKeygroup(
        client_pb2.CreateKeygroupRequest(keygroup="somegroup", mutable=True)
    )
    print(response)

fixed in c458b61d2b770f71b4f9cd942d031520badb85ad. Thanks!


Cannot find module 'vm'

i use the package in my chrome extension on background.js
When I use version 8.2.2, the console reports an error：Cannot find module 'vm'。 and when I try to switch to version 7.0.0, everything works fine

Not sure what this is about, parse-domain is not using the vm module. Please provide a reproducible test case.


refactor: move the index files to a folder and create a index as a root level to be able to use the library properly

Description

Modify the file structure to better understand the library structure
Update the configuration to build the library with just necessary files
Export correctly the cms clients to be used outside

Related Issue

Motivation and Context

We weren't able to use the library in external projects

How Has This Been Tested?

I've tested the implementation using Verdaccio as a  local package manager.
I've published the library there to be able to install it using a NextJS application to implement it.
Here you have a video with the process:
https://github.com/onebeyond/agnostic-cms-harmonizer/assets/58053533/702af489-866a-4ae9-bc91-be97873ec024
Screenshots (if appropriate):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

@all-contributors please add @robertoHeCi  for Contributors

@all-contributors please add @robertoHeCi for code,tests,Reviewed Pull Requests,documentation

@all-contributors please add @robertoHeCi for code,tests,review,documentation


Support Android 4.4.4 (Kit-Kat)

Describe the bug
Support for Kit-Kat has been dropped.
To Reproduce
https://github.com/k9mail/k-9/blob/340bc720c80c9ba73035ab0e18562aa8482466da/build.gradle#L6
Expected behavior
It should be supported.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):

K-9 Mail version: latest
Android version: 4.4.4
Device: any obsolete
Account type: IMAP

Additional context
Not all tevices can get new Qndroid versionx because of obstacles created by Google and devices vendors.

Support for older Android versions was dropped because it's a maintenance burden, not because there are no more users using those Android versions. Unless someone volunteers to make the app compatible with Android 4.4 and commits to maintaining this compatibility going forward there's little chance of this happening.

Unless someone volunteers to make the app compatible with Android 4.4 and commits to maintaining this compatibility going forward there's little chance of this happening.

Thanks for the info.

K9 Mail version 5.600 on Android “Go” version 8.1.0 here...


Rename lldb-vscode -> lldb-dap

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves #NNNNN, fix apple/llvm-project#MMMMM.

@swift-ci smoke test

test with https://github.com/apple/llvm-project/pull/7985
@swift-ci test windows

test with https://github.com/apple/swift-installer-scripts/pull/275
test with https://github.com/apple/llvm-project/pull/7985
@swift-ci test windows

Please test with following PRs:
https://github.com/apple/swift-installer-scripts/pull/275
https://github.com/apple/llvm-project/pull/7985
@swift-ci please build toolchain Windows platform


Add option to disable serialization

This is not needed anymore, right?

Yes, I'll close it. Thanks!


ReferenceError: webpackJsonp is not defined

Here is my webpack configuration file , im getting this error on loading the html's containing both p1.chunk and p2.chunk
var commonResourcePlugin = require('webpack/lib/optimize/CommonsChunkPlugin')
module.exports = {
    entry: {

        p1: './js/components/character/main-character.jsx',
        p2: './js/components/character/character_template/character_template_entry.jsx'
    },

    output: {
        filename: './js/[name].chunk.js'
    },
    externals: {
        "jquery": "jQuery",
        "$": "$",
        "React": "React"
    },
    module: {
        loaders: [
            {
                test: /\.jsx$/,
                loader: 'jsx-loader'
            } // loaders can take parameters as a querystring
        ]
    },
    resolve: {
        extensions: ['', '.js', '.json', '.coffee', 'jsx']
    },
    plugins: [
        new commonResourcePlugin("./js/commons.chunk.js");
    ]
};

@Karthic-Hackintosh Could you clarify what you mean by "adding commons.chunk.js"? I have the same problem, and I think this issue might be more helpful if you explain where you added it?

@sjelfull I think it means the loading order of your app and vendor files in your html. I had this problem and I realised that my <script src='app.js'> was before <script src='vendor.js'>. Switching orders fixed it.

@sjelfull , @tuliomonteazul  is right !

I have understanded.
because we use webpack.optimize.CommonsChunkPlugin plugin but not follow in html file。
Need to introduce public JS files in the HTML page, like this:
<script src="common.js"></script>
<script src="list.js"></script>

I have occur the same problem , I know the common.js should put before list.js. But there is a scene that I want have a style.js to require all the stylesheet like main.css in this js file. So I cannot put the style.js after the common.js which lead to a 0.5s raw html show in the browser. Hope to get a perfect solution. Thx a lot!

@Yidada What is in you common.js? Just external libraries or also code written by you?
My vendor.js (or common.js) is just libraries like moment, redux, superagent, etc
My app.js has all my view components including their css.
Not sure if it's the best practice but it works well for me.
Maybe in your case you need a 3rd entry

Need to introduce public JS files in the HTML page, like this:
    <script src="common.js"></script>
    <script src="list.js"></script>

and ,Must be the first，otherwise, it will be reported to the wrong.

good，i study now

`

`
it's easy to understand vendor.js should be put ahead
but I tried order like above:
`

`
`require.ensure(['../app/js/a'], function(require){
require('../app/js/c');
console.log('done!');
});
require.ensure(['../app/js/b'], function(require){
require('../app/js/c');
console.log('done!');
});
// bundle..etc
`
so I got an error in my browser:
done!
done!
vendor.js:102 GET http://<IP_ADDRESS>:8020/workspace/webserver/0.js
vendor.js:102 GET http://<IP_ADDRESS>:8020/workspace/webserver/1.js
I don't know why bundle.js needs to be list last
they are not independent? bundle.js/0.js/1.js?

In our case it using https://github.com/turbolinks/turbolinks in a static page (generated via ruby on rails) which was loading our SPA was the issue.

In case it is helpful to somebody, I ran into this because my common chunk was crashing.  The real problem was that I had a node module that was intended for node and was not being pre-compiled by babel.  Fix like so:
        rules: [
            {
                test: /\.js$/,
                exclude: [ /joi-browser/ ],
                include: [
                    // These are modules that are used as is in Node, but must be sent through babel
                    // to use in the browser.
                    path.join(__dirname, 'node_modules', '<your node module that needs babel>'),
                    path.join(__dirname, 'src')
                ],
                loaders: ['babel-loader']
            },```


Fork of Drake's install_prereqs.sh package list is overly brittle

https://github.com/RobotLocomotion/drake-external-examples/blob/master/scripts/setup/linux/ubuntu/xenial/install_prereqs duplicates Drake's list of dependencies.  This is a maintenance burden.  We need to find a way to allow for everyday dependency changes to Drake without PR'ing to two separate places.
Conceivably, more intricate changes such as bumping Bazel, or changing the compiler, could have duplicated logic.  But "Add system libfoo-dev" should not require a separate PR here.

Yes, already noted, but thanks for making it an issue.

One option would be to have shambhala's setup try to curl Drake's from GitHub. Could even get fancy with branch logic if you wanted.
#!/usr/bin/env bash

set -o errexit
set -o pipefail

DRAKE_BRANCH="${1:-master}"
PLATFORM="ubuntu/16.04"

DRAKE_INSTALL_PREREQS_URL="https://raw.githubusercontent.com/RobotLocomotion/drake/${DRAKE_BRANCH}/setup/${PLATFORM}/install_prereqs.sh"

if [[ ! $(which curl > /dev/null 2>&1) ]]; then
	apt-get update && apt-get install -y curl
fi

echo "Fetching Drake prereqs script."
curl "$DRAKE_INSTALL_PREREQS_URL" > drake-install-prereqs.sh
bash drake-install-prereqs.sh

It's just a mock-up, not comprehensive or robust, but one possible option.

I was thinking of having some install script installed by Drake so it can be used within and without. It probably would be a subset of what a Drake bazel workspace needs as well.

I believe the present solution was just a temporary copy/paste from jamie to get CI on board.

Yes, we are going to install a version of the install_prereqs.sh script with the binary packages, which contains the subset of packages needed by users of those packages.

Given the re-breakage to be fixed by #142, perhaps we slate this to be worked on in early Dec?

I broke drake-external-examples master again because of this via https://reviewable.io/reviews/RobotLocomotion/drake/12680.  Drake's package list of source dependencies changed, but I failed to copy that change into this repository.

Another hiccup in #177.

This came up again with changes in https://github.com/RobotLocomotion/drake/pull/15618

I've been calling drake's installed install_prereqs transitively from the underactuated / manipulation install_prereqs for a long time.   Am I to understand that everyone agrees this is simple, but just nobody has taken the time to do it?

As I was most of the way through reading your third paragraph, I was indeed thinking "those sound like Drake bugs".  :-)

We should finish #219 before starting this one.

To re-iterate the above, the following examples should shell out to drake/share/drake/setup/install_prereqs from whatever version of Drake's binaries that they have downloaded:

[ ] drake_bazel_installed
[ ] drake_cmake_installed
[ ] drake_catkin_installed
[ ] drake_ament_cmake_installed

For the apt-based examples, we should only need to apt install Drake -- the dependencies should come along as part of that install already, there should be no to additionally call install_prereqs:

[ ] drake_cmake_installed_apt

Let's fix the above ones before we dive into the from-source examples.

Dunno if it helps / hurts, but as an interim we recently started doing a kind-of hacky "boostrappy Bazel" approach for drake-ros Bazel workflows:
https://github.com/RobotLocomotion/drake-ros/blob/a4d976d6ef093031b4a08e31446527c814882501/.github/workflows/bazelized_drake_ros.yml#L25-L30
This involves installing minimum deps to effectively enable something akin to bazel fetch @drake, then possibly overriding those deps (e.g. different Bazel) when Drake itself installs. Plus, it caches the repository download of Drake.

To re-iterate the above, the following examples should shell out to drake/share/drake/setup/install_prereqs from whatever version of Drake's binaries that they have downloaded:

[ ]  drake_bazel_installed
[ ]  drake_cmake_installed
[ ]  drake_catkin_installed
[ ]  drake_ament_cmake_installed

For the apt-based examples, we should only need to apt install Drake -- the dependencies should come along as part of that install already, there should be no to additionally call install_prereqs:

[ ]  drake_cmake_installed_apt

Let's fix the above ones before we dive into the from-source examples.

@jwnimmer-tri it's been awhile since I looked at this issue, is the above still a fair place to start with this work?

Yes, those are good outcomes to aim for.
The related point is that the supporting glue code at https://github.com/RobotLocomotion/drake-external-examples/tree/main/scripts is not particularly very well factored, and we aim to eventually rewrite it to be simpler.  So in case the organization of those scripts is getting in the way of this work, then it's OK to make more-than-minor changes to them in case that makes things easier.

@jwnimmer-tri The drake-external-examples ubuntu install_prereqs seems to already call drake's version via /opt/drake/share/drake/setup/install_prereqs on line 75. If this is supposed to grab all the prereqs drake needs while on ubuntu then why is the DEE examples installing more packages? A good portion of these packages are exactly the same as the ones that should be installed via drake's install script. Also, why is the shell out to drake/share/drake/setup/install_prereqs? Even if one just goes by the latter drake directory, there are no install_prereqs files in setup. One would first need to cd into the correct system folder first then one would see the install_prereqs.

Follow Up: Couldn't I just follow drake's source installation page to clone and run the install prereqs instead of using the drake external example install_repreqs?

Couldn't I just follow drake's source installation page to clone and run the install prereqs instead of using the drake external example install_repreqs?

The first goal of this issue is to only fix the binary installation workflows, and not change anything related to source installation workflows.
To be specific, we should check / change / fix these:

drake_ament_cmake_installed
drake_bazel_download
drake_catkin_installed
drake_cmake_installed
drake_cmake_installed_apt

We should not change these:

drake_bazel_external
drake_cmake_external

The drake-external-examples ubuntu install_prereqs seems to already call drake's version via /opt/drake/share/drake/setup/install_prereqs on line 75.

Right.

If this is supposed to grab all the prereqs drake needs while on ubuntu then why is the DEE examples installing more packages?

The call to action in this issue is that it should not be doing that.
The parts like "ament" and "catkin" are things needed by the DEE example code rather than by drake itself, so it is OK to still install those, but they should only happen for the flavors that need them, and (ideally) that little install script would live in e.g. drake_catkin_installed/install_prereqs.sh or something like it so that it's co-located with the subdir that needs it, and much clearer to users who are reading the example.

Also, why is the shell out to drake/share/drake/setup/install_prereqs? Even if one just goes by the latter drake directory, there are no install_prereqs files in setup.

In the binary release like https://github.com/RobotLocomotion/drake/releases/download/v1.32.0/drake-1.32.0-jammy.tar.gz there are such files.  Don't confuse the git source tree layout with the binary install media layout.

Would I not change anything with the Jenkinsfile workflow yet as it deals with the externals and thus source installation?

Looking at the table here, the os in the table claim that Jenkins runs drake_bazel_download and drake_catkin_installed and drake_cmake_installed which are in scope for fixing in this ticket (per the above list).  And indeed, looking at recent logs does show those projects being run in Jenkins.
If different flavors are all being run back-to-back on the same machine, then their varied install_prereqs will pollute each other.  Not good.  If that's true, then we'll also need to adjust the Jenkins logic so that each sub-project is run independently.
Or, possibly a better tactic would be that each sub-project (drake_bazel_download, drake_cmake_installed, etc.) is run in exactly one of either GitHub Actions xor Jenkins.  I don't remember any reason why Jenkins should be duplicating GHA, so we should probably just kill the Jenkins flavors that overlap.  The only thing to check first is that GHA is set up to run (i.e., trigger) every night on a timer.  We want to find build problems no later than the next day, so we need every sub-project to run nightly.

Refactoring of the directories can also take place to reduce [confusion].

Yes.

Additionally, since both the Jenkinsfile and Github Actions ultimately use the ubuntu jammy install_prereqs, the install_prereqs currently gets all distributions (source, binary, and some others too) to correctly run the external workflows and satisfy all build tests. The non-externals do not need the source distributions so refactoring of the install_prereqs is necessary.

I haven't traced through the scripts, but if the premise in the first part of your paragraph is correct, then use the consequent is also correct -- we can and should refactor the code so each individual project only runs.

Okay, thank you for the clarification on the Jenkinsfile. I have a couple more questions to ask now.
Do flavors represent different builds or whether a test uses binary or source distributions? If the former, then these flavors are being run back-to-back for both the GHA and Jenkins when using ubuntu jammy. The paths for these files are scripts/continuous_integration/{jenkins, github_actions}/build_test.
Each os has a singular "build and test" step with ubuntu jammy section executing multiple builds. I believe that I could resolve the back-to-back running by isolating the build tests in GHA and Jenkinsfile. I can also look into each build test running once if GHA runs every night.
And could you elaborate on what you mean by "each individual project only runs"? My current understanding is that there should be two install_preqs. One for the binary builds and one for the source/external builds.

As all related PRs have been closed and, as discussed f2f, no new PRs are expected, this issue can be closed.


Error when adding sony vegas

Alright so i added sony vegas as a shortcut but it does not work what so ever, even in the file selection area the icon for it doesnt render properly ( Only happening when choosing shortcut from the actual application and renders fine on my desktop, image below )

and when i do add it, it bugs out in the menu ( image below, along with an error it spews out )
Error 1.txt

As you can see the icon is behind the whole list for some reason, hope you can fix it !

Probably related to #80 and, like, a million other issues related to that ( I don't have repo control (😭)
Try this build here and read the notice and that should fix your issue here.


brain.js in docker container with node:alpine

I tried to containerize node app with brain.js using node:alpine image.
But with any result (lots of errors).
Maybe someone had better luck?
Will be great to have official docker image for brain.js.

I don't know if an official Docker image is really needed for Brain.js, since so few people would actually use it as their base image. Most people are going to want a base image that's a little more agnostic, like the node image.
Anyway, I got Brain.js working in node:alpine. Here's an example Dockerfile you could build upon:
FROM node:19-alpine

MAINTAINER Original Design

RUN apk update && \
    apk add \
    alpine-sdk \
    glew-dev \
    libxi-dev \
    pkgconf \
    python3

RUN ln -s /usr/bin/python3 /usr/bin/python

WORKDIR /app

COPY package*.json tsconfig.json ./

RUN npm install

COPY src ./src

RUN npm run build

RUN chown -R node /app && chmod -R 740 /app

USER node

ENV NODE_ENV=production

CMD ["npm", "start"]


feat(frontend): internal catchup - module consolidations for faster build times

Minor catchup PR for internal module consolidations from @igbopie to improve build times.
Testing done
Build and run docker images with changes to ensure that application builds and behaves as expected.
Will rely on automated tests as part of PR process to ensure that other cases have not changed.
Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable)

Oh and we're all in on eyeglass now


docs: fix module mapper regex in Flow documentation

With the currently documented regex we catch relative imports, that then get wrongly mapped.
For example, ./Foobar.js will become <PROJECT_ROOT>/src/./Foobar.js, instead of <PROJECT_ROOT>/src/the/real/file/path/Foobar.js.
The new regex will exclude imports starting with a dot (.)

Thanks!


Translate network share WLS2 paths into linux paths

Hi,
i'm experimenting with WSL2. I would love to make use of the greatly enhanced performance with moving my projects into the linux containers.
I use the WSL extension in VS Code and can work like normal.
Unfortunately my git tool (Gitkraken) understandably is slow when opening via the network shares.
If wslgit could translate paths like \\wsl$\Ubuntu\home\nik\dev\booking into /home/nik/dev/booking and use the git within the container this would probably speed things up.
Has anyone tried this?
I am aware of the possibility to run GitKraken within the container with XForwarding but this is slow too for me.

If I remember correctly GitKraken use a built-in gitlib so wslgit unfortunately cannot help.

That's true.
I found that out too and translating the paths would only help with tools like Fork and of course command line git work.

I use SmartGit instead of GitKraken, which allows me to pick the git executable I want to use, so I second this feature request.
If wslgit could translate network paths like \\wsl$\<DISTRO_NAME>\<PATH> to /<PATH>, this would allow us to take advantage of WSL2 performance (by moving the projects into the WSL2 environment) and still use GUI tools like SmartGit or Fork without too much of an impact on performance.
@andy-5 What do you think of this? Let me know if I can help with anything :)

I use SmartGit instead of GitKraken, which allows me to pick the git executable I want to use, so I second this feature request.
If wslgit could translate network paths like \\wsl$\<DISTRO_NAME>\<PATH> to /<PATH>, this would allow us to take advantage of WSL2 performance (by moving the projects into the WSL2 environment) and still use GUI tools like SmartGit or Fork without too much of an impact on performance.

wslgit-v1.0.1 should be able to do that. I've been using Fork and wslgit daily at work and home to access repositories in the WLS2 (Ubuntu-20.04) filesystem via \\wsl$\Ubuntu-20.04\... since WSL2 was officially released, and it works really well.

Well, if the current wslgit version is already translating those paths correctly then I guess this is no longer a viable solution for me because the Git interation is very slow. Not ideal, but I'm currently using the Linux version of SmartGit through X410, until something better comes along.


Update Disable-SPWebTemplateForSiteMaster.md

Filled in placeholder text.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-server/Disable-SPWebTemplateForSiteMaster.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


QUIC ATS logging

ATS log support for quic information

First document which fields are supported (we might need to break up this issue into multiple issues)

Types of fields to log:

First request on a new connection
TLS protocol version
TLS session reuse

Protocols and Versions

[ ] cqpv (#9719)
[ ] sqpv (N/A - this is for server connection)
[ ] csshv (N/A - this is for server connection)
[ ] sshv (N/A - this is for server connection)

Authentication (N/A)
Cache Detail (N/A)
Content Types (N/A)
Hierarchical Proxies (N/A)

Connections and Transactions

[ ] sca
[ ] sstc
[ ] ccid
[ ] ctid
[ ] ctpw
[ ] ctpd

Error Code

[ ] crec
[ ] cute

HTTP Headers

[ ] cqh
[ ] pqh
[ ] psh
[ ] ssh
[ ] cssh

HTTP Methods

[ ] cqhm

Identifiers

[ ] crid
[ ] cruuid
[ ] puuid (N/A - this is for process)

Lengths and Sizes

[ ] cqcl
[ ] cqhl
[ ] cqql
[ ] csscl
[ ] csshl
[ ] cssql
[ ] fsiz
[ ] pqcl
[ ] pqhl
[ ] pqql
[ ] pscl
[ ] pshl
[ ] psql
[ ] sscl
[ ] sshl
[ ] ssql

Network Addresses, Ports, and Interfaces

[ ] chi
[ ] chih
[ ] hii
[ ] hiih
[ ] chp
[ ] php (N/A - this is for server connection)
[ ] pqsi (N/A - this is for server connection)
[ ] pqsp (N/A - this is for server connection)
[ ] shi (N/A - this is for server connection)
[ ] shn (N/A - this is for server connection)
[ ] nhi (N/A - this is for server connection)
[ ] nhp (N/A - this is for server connection)
[ ] ppv (N/A - this is for proxy protocol)
[ ] pps (N/A - this is for proxy protocol)
[ ] ppd (N/A - this is for proxy protocol)

Request Details

[ ] cqtx

Status Codes

[ ] cfsc
[ ] csssc
[ ] pfsc
[ ] prrp
[ ] pssc
[ ] sssc

Timestamps and Durations

[ ] cqtd
[ ] cqtn
[ ] cqtq
[ ] cqts
[ ] cqth
[ ] cqtt
[ ] crat
[ ] ms
[ ] msdms
[ ] stms
[ ] stmsh
[ ] stmsf
[ ] sts
[ ] ttms
[ ] ttmsh
[ ] ttmsf
[ ] tts

URLs, Schemes, and Paths

[ ] cqu
[ ] cquc
[ ] cqup
[ ] cqus
[ ] pqu
[ ] pquc
[ ] pqup
[ ] pqus
[ ] cquuc
[ ] cquup
[ ] cquuh

@bryancall I want to work on this issue. Could you please assign this task to me?


Label new issues as needs triage by default

What does this PR do?
Fixes https://github.com/PyTorchLightning/pytorch-lightning/pull/12338#issuecomment-1073828041.
Alternates devbot being removed in #12338.
Does your PR introduce any breaking changes? If yes, please list them.
None
Before submitting

[x] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[n/a] Did you make sure to update the documentation with your changes? (if necessary)
[n/a] Did you write any new necessary tests? (not for typos and docs)
[n/a] Did you verify new and existing tests pass locally with your changes?
[n/a] Did you list all the breaking changes introduced by this pull request?
[n/a] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[x] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃
cc @carmocca @akihironitta @borda

@akihironitta This did not work.
Perhaps because @pre-commit-ci removed the quotes?


Timeout and https issue for download

Our current internet setup won't allow https download from Amazon and is very slow. It would be desirable to have 2 more global parameters to tune this. Example :
wget_use_https (default true)
wget_timeout (default 1800)

Module transitioned to here:  https://github.com/vshn/puppet-gitlab


Features/bp 321

User Story Link: https://bytepushers.youtrack.cloud/issue/BP-321

Nice Job Everybody!


Allow integers in map values, except in 'labels' key

Allows integers as values in all maps except the labels key, which gives an error in Docker Compose.
#266
Signed-off-by: Josh Curl<EMAIL_ADDRESS>

LGTM 🐸
Green locally, merging :angel:


Specify activity permission in Android manifest

Android 29 requires this.

Please mention the required permissions in android

Please mention the required permissions in android

Please mention the required permissions in android

I'll check this out. Thanks

Please mention the required permissions in android

I'll check this out. Thanks

Hey @olokobayusuf, I know that this is kind of a late response, but today I found out about this asset and had the same issue as you, even with the steps not working on the phone without any errors, so this is the permission you have to add into your android manifest
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" />
And then you have to call it inside your app.

Hey @edino525 , I'm working on adding it to the manifest now. To request the permission at runtime, you can use the Permission class.


Cannot fix Original combination and rank of subspecies

The protonym of Mecopoda javana javana is Gryllus javanus. How can I get rid of the wrong combination Gryllus javanus javana?

(This taxon suffered various migration errors.)

The real problem here is, you have a duplicate record "Gryllus javanus" and "Gryllus javana", The first is used as a part of original combination. Delete javanus in the original combination section and replace it with javana. Look also at the soft validation part, it does indicate that the name is homonym. UCD group spent their time resolving homonym or removing potential duplicats. The should be a priority and will resolve many related issues.

Thanks. I was pretty sure to have deleted the duplicate yesterday. Now I deleted it for sure and the problem remains, I cannot get rid of  Gryllus javanus javana.

Now I noticed that one of the soft validation fixed created the duplicate again. This is driving me crazy.

problem is similar to the other issue you have different spelling of the name for species and subspecies, the system does not recognize those two as coordinated taxa. Put javanus in both places, after that, you should be able to resolve the problem with soft_validation fix.

The soft validation fixes keep creating a duplicate and the Gryllus javanus javana doesn't go away.

It doesn't let me put javanus at M. javana javana. If I select the subspecies it remains javana and if I select the species it takes me to editing the species instead of the subspecies. And I don't want to create a duplicate nominotypical subspecies but fix the one that is already there with all the citations and the synonym.

Problem was to put in javanus and click on save (not select any of the names that might show at left, which would take you to edit that name).


New collections error generating payload types or run dev

Bug Report
After new update to 1.6.19 adding collections like categories, tags etc conflicts with plugins sucha s seo, nested-docs etc.
Steps to Reproduce
Update payload to latest. Add collections Categories.ts and Tags.ts update payload.config try to generate types.
Terminal output before (error) and after (working) removing new collections.
❯ yarn dev [nodemon] 2.0.20 [nodemon] to restart at any time, enter rs[nodemon] watching path(s): *.* [nodemon] watching extensions: ts [nodemon] startingts-node src/server.ts[21:39:38] INFO (payload): Connected to Mongo server successfully! [21:39:38] INFO (payload): Starting Payload... TypeError: Cannot read properties of undefined (reading 'slug')     at /home/bal/projects/payload/master/back/node_modules/@payloadcms/plugin-seo/src/index.ts:77:34     at Array.map (<anonymous>)     at /home/bal/projects/payload/master/back/node_modules/@payloadcms/plugin-seo/src/index.ts:76:38     at /home/bal/projects/payload/master/back/node_modules/payload/src/config/build.ts:16:16     at processTicksAndRejections (node:internal/process/task_queues:95:5)     at /home/bal/projects/payload/master/back/node_modules/payload/src/config/build.ts:15:35     at buildConfig (/home/bal/projects/payload/master/back/node_modules/payload/src/config/build.ts:13:32)     at loadConfig (/home/bal/projects/payload/master/back/node_modules/payload/src/config/load.ts:26:32)     at BasePayload.init (/home/bal/projects/payload/master/back/node_modules/payload/src/payload.ts:187:21)     at getPayload (/home/bal/projects/payload/master/back/node_modules/payload/src/payload.ts:411:22) [nodemon] app crashed - waiting for file changes before starting... [nodemon] restarting due to changes... [nodemon] startingts-node src/server.ts[21:40:41] INFO (payload): Connected to Mongo server successfully! [21:40:41] INFO (payload): Starting Payload... [21:40:48] INFO (payload): Payload Admin URL: /admin [21:40:49] INFO (payload): Server listening on port 8000 webpack built 4e083168bace052d2efe in 4946ms webpack compiled successfully

Other Details

May be closed. Import method from import  {Tags}  from './collections/Tags' to import  Tags  from './collections/Tags' solved the issue.


Shortener redirect

Codecov Report

Merging #52 into master will increase coverage by 0.25%.
The diff coverage is 96.15%.

@@            Coverage Diff            @@
##           master     #52      +/-   ##
=========================================
+ Coverage   91.14%   91.4%   +0.25%
=========================================
  Files          11      11
  Lines        1288    1350      +62
  Branches      125     135      +10
=========================================
+ Hits         1174    1234      +60
  Misses         85      85
- Partials       29      31       +2


pip install does not work

This is part of my review of the software paper at openjournals/joss-reviews#2120
I tried the installation as mentioned in the documentation in a clean environment with python 3.8.
Upon import the module as,
import ross as rs

the error I get is,
  File "~/anaconda3/envs/testross/lib/python3.8/site-packages/pint/registry.py", line 532, in load_definitions
    raise ValueError("While opening {}\n{}".format(file, msg))
ValueError: While opening ~/anaconda3/envs/testross/lib/python3.8/site-packages/ross/new_units.txt
[Errno 2] No such file or directory: '~/anaconda3/envs/testross/lib/python3.8/site-packages/ross/new_units.txt'

I can confirm that installing from the repo using pip install git+https://github.com/ross-rotordynamics/ross.git works fine. Maybe the pypi version is not updated?

Hi there @srmnitc ! We have updated the MANIFEST.in file to add the missing file to the pypi package. I have tested and it looks like we solved the problem. Feel free to reopen the issue if you have any problems!


Remove errant extra comma in ads response

 "addr": "<IP_ADDRESS>:35442",
 "connect": "2018-05-24 16:11:26.79859438 +0000 UTC m=+146.025142122",
 "listeners":[
],
,"clusters":[
]}

Reported by @esnible

@liamawhite: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
63184645809ba9e0c383d5ac13ebf9a425329d4a
link
/test istio-pilot-e2e

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

@liamawhite: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
63184645809ba9e0c383d5ac13ebf9a425329d4a
link
/test istio-pilot-e2e

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
63184645809ba9e0c383d5ac13ebf9a425329d4a
link
/test istio-pilot-e2e-envoyv2-v1alpha3

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

thanks! I was about to ping you for this


Handle pushes in background job

The app currently does not close the connection from GitHub when push payloads come in that have more than 10 commits in them. Since GitHub webhooks close after 10 seconds and we have to make an API call for each commit to get the files data, this is causing some issues like memory leaks and errors even when data is being processed and sent to Jira correctly.
This PR helps with this by putting all push events in a queue. Since even a small payload of 3-4 commits can take a bit of time to process, I thought it would be better if we just always use the worker since it's available to us. Additionally, to help limit the amount of commits we need to process, I chose to parse the smart commits before adding the payload to the queue. This way if there are 100 commits, but only 1 of them has an issue key, that payload doesn't have to make 100 calls to the GitHub API.
Left to do:

[x] Restructure tests for jira payload processing. Currently this is only testing that the github payload was added to the queue

Any thoughts on this implementation? I tried to avoid having to use the queue, but basically the goal is that we respond to the webhook payload as quickly as possible so it closes the connection properly and continues processing in the background.

Ok tests have been refactored and it's feeling pretty good. Will deploy to staging and do some real world testing on this tomorrow.

@gimenete Yeh I was being a lazy programmer, good callout! 😆Since it was only sending the payload to the queue anyway, instead of copying the whole context object (which has that enormous context.github object), I just created a smaller payload object that only contains the data we need to process.

Looking good in the before/after:

All metrics point to this working just as we'd hoped. Pushes are still handled quickly if they only have a few commits, but I've already seen a few pushes come through with dozens of commits and the webhook was responded to quick enough that it's not hitting any network timeouts (the flat lines shown above). Will have a better picture tomorrow if it fully addressed the memory leak.


Refactoring EC2 CIs

What does this PR do?
Update GPU CIs with EC2 runners.

So for self-hosted GPU tests, following CIs failed:

onnxruntime/training/nightly_test_examples.py I will take care of the training CI with the ORT team.
gptq/test_quantization.py gently pinging @fxmarty and @SunMarc
onnxruntime/test_modeling.py

I will get the PR merged despite failing tests, as the CIs are working well.


Remove update_cache or make it optional

In the step that ensure unzip is installed to the managed hosts you are setting update_cache: yes.
https://github.com/patrickjahns/ansible-role-promtail/blob/dd3c702e45ce06be4759302043b24c07dcf79f09/tasks/install.yml#L2-L6
Would it be a reasonable ask to let administrators handle update_cache themselves, so apt-get update is only executed once per run, instead of possibly multiple times, due to this role forcing it?

If we are not updating the cache per default, I fear that the installation might fail for people who are not aware, that they need to have updated the cache themselves first. In my mind this leads to a bad default experience with ansible roles.
I'd be open for a suggestion how to best handle this. Do you know of any convention (i.e. a specific variable name) that we could use to conditionally enable/disable the behaviour ?

If we are not updating the cache per default, I fear that the installation might fail for people who are not aware, that they need to have updated the cache themselves first. In my mind this leads to a bad default experience with ansible roles.

I see.

I'd be open for a suggestion how to best handle this. Do you know of any convention (i.e. a specific variable name) that we could use to conditionally enable/disable the behaviour ?

I'm unaware of any convention, sorry.

I'm unaware of any convention, sorry. Making it a variable, that is default true, so we could opt-out of the behaviour would be great.

Sounds like a good compromise to me - happy to get a PR and would gladly build a new release 👍


Do we really need java2cpp ?

Since tensorflow.tensor also support protobuf
https://github.com/tensorflow/tensorflow/blob/754048a0453a04a761e112ae5d99c149eb9910dd/tensorflow/core/framework/tensor.proto
I saw there would be a performance issue here

about 80% of this time is spent on slow data conversions between Spark and TensorFlow

would it worth it to convert data into proto and cache it if needed

I thought that we had removed all the dependencies to javacpp? Under the
hood, the official java-tensorflow is used for transfer.
On Wed, Mar 21, 2018 at 4:19 PM, Peng Yu<EMAIL_ADDRESS>wrote:

Since tensorflow.tensor also support protobuf
https://github.com/tensorflow/tensorflow/blob/
754048a0453a04a761e112ae5d99c149eb9910dd/tensorflow/core/
framework/tensor.proto
I saw there would be a performance issue here
https://github.com/databricks/tensorframes/wiki/Example:-K-Means
about 80% of this time is spent on slow data conversions between Spark and
TensorFlow
would it worth it to convert data into proto and cache it if needed
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/databricks/tensorframes/issues/142, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AHPjARI5rwS-17v0hXot2FkfAhc4M67sks5tgn2dgaJpZM4S0k2q
.

oh.. nice nice, maybe we can update this https://github.com/databricks/tensorframes#acknowledgements
and... can we cache the tensors?  for the k means example would do multiple passes. it would save the convert time


Bug Fix popup notification

Related Issue
“None”
Fixes:  #389
Description

Here you can see in this popup the close button is not in a good alignment, so i want to resolve this and also make it responsive.

Type of PR

[Yes ] Bug fix
[ ] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)
[Attach any relevant screenshots or videos demonstrating the changes. Make sure to attach before & after screenshots in your PR.]

Checklist:

[ ] I have made this change from my own.
[ ] I have taken help from some online resources.
[ ] My code follows the style guidelines of this project.
[ ] I have performed a self-review of my own code.
[ ] My changes generate no new warnings.
[ ] I have tested the changes thoroughly before submitting this pull request.
[ ] I have provided relevant issue numbers and screenshots after making the changes.

@PriyaGhosal Please check issue #311
I have been mentioning and asking you since yesterday in that issue. I need feedback regarding a matter.
Really sorry for asking this in this PR, but you are not replying otherwise. I have already mentioned you in 2 PRs before. This is the third PR, I have to visit to let you know.

@souvikpramanikgit Your pull request has been successfully merged! Don't stop here—continue contributing by addressing more issues and aiming to become a top contributor. Exclusive swag awaits for those who go the extra mile!
Great contribution to GSSOC'24 EXTENDED! 🎉


how to remove typescript

What problem does this feature solve?
i has selected typescript option when i generate code use vue-cli,but the last i wont use typescript,so i remove the ts-relative dependency from package.json and rename main.ts to main.js,but it seems vue-cli has assumed at generated it,it confirmed，it forever, its has error when i execute cmd 'npm run serve',！！！it doesnt means that i must regenerate it again，im totally confused
What does the proposed API look like?
none

Did you remove @vue/cli-plugin-typescript ?  Or could you provide reproducible repo

It is not a feature request. Please don't abuse GitHub issues.


Save JSON annotations(nerd/keyterm) results on MongoDB

We need two different MongoDB annotation collections now, one for the NERD annotations and one for the KeyTerm annotations. We need to be able to iterate over the two collections separately.

DOne


withFormValue not working

I try to implement custom field from scratch, but it's not working. I tried copy/paste the example in readme and I get:
Element type is invalid: expected a string (for built-in components) or a class/function
(for composite components) but got: object

Also, WithFormValue needs to be renamed to withFormValue (as I get warning in console).

didn't try recently, but does https://github.com/prometheusresearch/react-forms/blob/develop/examples/src/forms/CustomField.js suits your purpose. see https://github.com/prometheusresearch/react-forms#examples for details


qt: mark eventFilter as 'override' to match virtual function

Should take care of this warning generated on macOS Mojave
In file included from qt/moc_signverifymessagedialog.cpp:8:
./qt/signverifymessagedialog.h:36:10: warning: 'eventFilter' overrides a member function but is not marked 'override'
      [-Winconsistent-missing-override]
    bool eventFilter(QObject *object, QEvent *event);
         ^
/Users/localhost/Projects/dash/depends/x86_64-apple-darwin18.7.0/include/QtWidgets/qdialog.h:111:10: note: overridden virtual function is here
    bool eventFilter(QObject *, QEvent *) override;
         ^

Better to backport #18914 to avoid merge conflicts


Remove version: ClashVergeRev.ClashVergeRev version 2.0.0

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/clash-verge-rev/clash-verge-rev/releases/download/v2.0.0/Clash.Verge_2.0.0_arm64-setup.exe
Response Error: The remote server returned an error: (404) Not Found.
(Automated message - build 923)


References aliasing is not detected in some cases

Consider following code:
struct Ref<'a>(&'a mut u8);

impl<'a> Drop for Ref<'a> {
    fn drop(&mut self) {
        println!("dropping {} {:p}", self.0, &self);
    }
}

fn main() {
    let mut a = 0;
    let ref1 = Ref(&mut a);
    *ref1.0 += 1;
    let ptr = ref1.0 as *mut _;
    let ref2 = Ref(unsafe { &mut *ptr });
    *ref2.0 += 1;
}

It leads to the double free although MIRI doesn't see anything wrong with it:
   Compiling playground v0.0.1 (/playground)
    Finished dev [unoptimized + debuginfo] target(s) in 0.78s

dropping 2 0x20740
dropping 2 0x20858

Interestingly if we run it via rustc
   Compiling playground v0.0.1 (/playground)
    Finished dev [unoptimized + debuginfo] target(s) in 0.46s
     Running `target/debug/playground`

dropping 2 0x7fffe36b8328
dropping 2 0x7fffe36b8328

As you can see compiled version shows that addresses are equal but in MIRI they are different.

As you can see compiled version shows that addresses are equal but in MIRI they are different.

They are only equal because rustc reuses the storage of ref_ for ref2.
I don't believe there is anything wrong with this program (also there's no double free). Let me explain:
a the variable that we have mutable access to. We must guarantee that there are never two mutable references to the same variable. Well, two active mutable references, which is what makes this entire example possible. With "active" I mean the fact that
let mut x = 42;
let y = &mut x;
let z = &mut *y;
*z += 1;
*y += 1;
x += 1;
assert_eq!(x, 45);

is totally legal, but you couldn't swap the order of any of the += 1 instructions without getting a borrow error.
Ok back to your example. The variable a is what we look at
let mut a = 0;

Here you create a mutable reference, let's call it mut_ref_1
let ref_ = Ref(&mut a);

Here you mutate a through mut_ref_1
*ref_.0 += 1;

Here you create a mutable pointer to a from mut_ref_1, let's call it mut_ref_2
let ptr_ = ref_.0 as *mut _;

Here you reborrow mut_ref_2 and create a mutable reference, let's call it mut_ref_3
let ref2 = Ref(unsafe {&mut *ptr_});

Here you mutate a through mut_ref_3
*ref2.0 += 1;

Now your code is done and destructors run.

the destructor of ref2 runs, after which mut_ref_3 is not used anymore, because it does not exist anymore.
the destructor of ptr_ runs, it's a nop, but mut_ref_2 is now not existing anymore
the destructor of ref_ runs, after which mut_ref_1 is not used anymore

So all this works nicely, because what you essentially did was write an unsafe version of
let mut a = 0;
let ref_ = Ref(&mut a);
*ref_.0 += 1;
let ref2 = Ref(&mut *ref_.0);
*ref2.0 += 1;

Does this make sense?

Right, thanks for explanation. Sorry for a wrong alert :)

As you can see compiled version shows that addresses are equal but in MIRI they are different.

Address may be reused but that is not guaranteed to happen. And @oli-obk explained why there is nothing wrong with this program. So, closing as not-a-bug.


second card isn't appearing when it should be partially on screen

Describe the bug
Currently all of the cards other than the 1st (100k map card) are lazy loaded for performance. However, on some views that map isn't available, and the height is much shorter. This isn't accounted for in the 2nd cards offset for lazy loading, making it appear that there aren't any other cards available (until you scroll down and then it appears)
To Reproduce
(http://localhost:3000/exploredata?dt1=hospitalizations&mls=1.cardiovascular_diseases-3.06)
Expected behavior
offset needs to be smaller or removed for the second card
Screenshots

Good catch


custom shimmer ignores provided theme

Hello there.
I was expecting this code to sync the animation between all the children with the .shimmer modifier but using this custom shimmer will override the ShimmerTheme provided by the CompositionLocalProvider
val shimmer =  rememberShimmer(shimmerBounds = ShimmerBounds.Window)

CompositionLocalProvider(
    LocalShimmerTheme provides shimmerTheme
 ) {
     Card(
        modifier = modifier
            .shimmer(shimmer),
        elevation = elevation,
        backgroundColor = color,
    ) {}
}

What ends up happening is all the views with the custom shimmer will ignore my custom theme
Would appreciate your help on this issue
PS: Thank you for the library, its very nice.

It did work.
I appreciate your time and your work.


redis vulnerability

Vulnerability: CVE-2021-29469 Medium severity
Dependency: ejs
|─┬<EMAIL_ADDRESS>| └─┬<EMAIL_ADDRESS>Are you have the schedule to resolve this issue anytime soon?
it's causing a medium severity vulnerability and I believe they already fix it on v3.1.1

I'll be committing some time this week to look into a version release to get this project back on the tracks.

Thank you, I really appreciate it.

Hi,
I recently helped out with the Typescript rewrite (PR #43), which also changes how the store interacts with Redis - this package no longer has a dependency on a particular Redis client. This vulnerability should no longer be an issue with v3.0.0 of this package.


Make Cauldron's fill chance for dripping lava and water configurable

this PR has been rebased for 1.18.2

also forgot to mention that it resolves #864 and #596


Add alsa-firmware package

Added alsaFirmware package based on:

other alsa packages
the arch PKGBUILD
other firmware related packages in os-specific/linux

Comments welcome

Built locally, thanks.


Confusion matrix

when I try to draw the confusion matrix I'm getting this error
File "confusion_matrix.py", line 54, in <module>
     if args.showPic: picShow(batch[:min_batch], labels[:min_batch], classes, None, prob)
TypeError: only integer scalar arrays can be converted to a scalar index

you have already weights for your datasets !!
and which dataset you use !!
and see if all the picture has the same size

I used UC-Merced LandUse and I have the file VGG19_UCMerced_LandUse.npy for the weigths and I resized the images 200*200

What commande line you used to generate confusion matrix ! !!


Feature request: puppet syntax highlighting

This would be nice for puppet code.

Please request this on the GeSHi repository.


Does not show same list as chrome://apps/

I think this may have to do with an update to chrome, but curious if you know of any way it can be fixed ? Perhaps there is a setting or flag in chrome://flags

Hello,
This GitHub project is just a proof of concept. It has not been published
on the Chrome WebStore nor I plan to publish it there.
It's old and unmaintained.
If you'd like to pick it up and develop - feel free to fork it.
śr., 15 gru 2021 o 14:41 amanolson @.***> napisał(a):

I think this may have to do with an update to chrome, but curious if you
know of any way it can be fixed ? Perhaps there is a setting or flag in
chrome://flags
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/gregolsky/chrome-app-search/issues/3, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AALYNLPSMJEF2L4O7R5MEKLURCLKJANCNFSM5KDVL6AA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


WIP: Update parameter.add_data() functionality

As discovered in #108, we need a different implementation of parameter.add_data(). Ideally, we would like to make use of the JSONB type in-DB to avoid parsing the JSON field. However, with my current implementation, even that (which is only possible on postgres in the first place) is not at all faster than the pandas implementation (i.e. parsing the field to python, using pandas, writing it back).
I've tested this with a parameter with 1 indexset with 1000 values and with 60 indexsets with 1000 values (though the parameter was limited to 10000 values and units there): pandas is faster. Some numbers from my most recent test tun:
--------------------------------------------------------------------------------------- benchmark: 3 tests ---------------------------------------------------------------------------------------
Name (time in ms)                   Min                 Max                Mean            StdDev              Median               IQR            Outliers      OPS            Rounds  Iterations
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
test_add_data[sqlite]           79.8390 (1.0)       79.8390 (1.0)       79.8390 (1.0)      0.0000 (1.0)       79.8390 (1.0)      0.0000 (1.0)           0;0  12.5252 (1.0)           1           1
test_add_data[postgres]        128.1381 (1.60)     128.1381 (1.60)     128.1381 (1.60)     0.0000 (1.0)      128.1381 (1.60)     0.0000 (1.0)           0;0   7.8041 (0.62)          1           1
test_add_data_json[sqlite]     276.1958 (3.46)     276.1958 (3.46)     276.1958 (3.46)     0.0000 (1.0)      276.1958 (3.46)     0.0000 (1.0)           0;0   3.6206 (0.29)          1           1
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

You'll notice that test_add_data_json[postgres] is missing: this test currently fails because it struggles to read in the column.names at one point. Hardcoding them does work, so it's doable, and you can test locally: it's still slower than pandas.
In general, _json indicated the variants working directly in-DB, while those without suffix are the pandas versions.
We might want to consider something like this if we want to use temporary tables in postgres.
Finally, for the 10000-values case, the in-DB workflow was not just slower: it didn't manage at all. My system did still work, but the test case wouldn't finish in more than 30 minutes. Pandas, on the other hand, took 2.8 seconds max (mean of 2.5).
So please, @danielhuppmann, let me know if using pandas is okay or if we should find a way to utilize JSONB (which would be nice for sure).
And if we go for JSONB, @meksor, please help me figure out the proper way to use it, i.e. one that's actually faster than pandas.

Thanks @glatterf42! I didn't have a chance to look at the code in detail, but if pulling all data and doing the comparison in memory is faster, that sounds like a good approach to me.

A while ago, Volker asked me to also benchmark upserting a parameter with roughly ten indexsets, but a million values. This gives a similar picture to before, though it may be a little worrying (I still have to look into it further): the only test that finished within an hour was the one using pandas and sqlite:
----------------------------------------------- benchmark: 1 tests -----------------------------------------------
Name (time in s)              Min      Max     Mean  StdDev   Median     IQR  Outliers     OPS  Rounds  Iterations
------------------------------------------------------------------------------------------------------------------
test_add_data[sqlite]     96.3460  96.3460  96.3460  0.0000  96.3460  0.0000       0;0  0.0104       1           1
------------------------------------------------------------------------------------------------------------------

I'm not sure if 96 seconds is fine for us for this kind of operation, I'll benchmark the same operation with ixmp tomorrow.
When running on postgres, the benchmark produced this error:
self = <psycopg.Cursor [closed] [IDLE] (host=localhost user=postgres database=test) at 0x7f000bcd8290>
query = 'UPDATE optimization_parameter SET data=%(data)s::JSONB WHERE optimization_parameter.id = %(optimization_parameter_id)s::INTEGER'
params = {'data': Jsonb({'Indexset 0': [0, 0, 0, 0, 0, 0, 0 ... (128780213 chars)), 'optimization_parameter_id': 1}

    def execute(
        self,
        query: Query,
        params: Optional[Params] = None,
        *,
        prepare: Optional[bool] = None,
        binary: Optional[bool] = None,
    ) -> Self:
        """
        Execute a query or command to the database.
        """
        try:
            with self._conn.lock:
                self._conn.wait(
                    self._execute_gen(query, params, prepare=prepare, binary=binary)
                )
        except e._NO_TRACEBACK as ex:
>           raise ex.with_traceback(None)
E           sqlalchemy.exc.OperationalError: (psycopg.errors.ProgramLimitExceeded) total size of jsonb object elements exceeds the maximum of 268435455 bytes
E           CONTEXT:  unnamed portal parameter $1 = '...'
E           [SQL: UPDATE optimization_parameter SET data=%(data)s::JSONB WHERE optimization_parameter.id = %(optimization_parameter_id)s::INTEGER]
E           [parameters: {'data': Jsonb({'Indexset 0': [0, 0, 0, 0, 0, 0, 0 ... (128780213 chars)), 'optimization_parameter_id': 1}]
E           (Background on this error at: https://sqlalche.me/e/20/e3q8)

.venv/lib/python3.12/site-packages/psycopg/cursor.py:732: OperationalError

Meanwhile, when using the in-DB _json functionality, the sqlite test wouldn't finish within an hour (so that I couldn't even start the one on postgres, though I doubt it would fare much better).
TBC

Running the same benchmark (upserting a million values to one parameter with 12 indexsets) in ixmp takes just 53.48 seconds, so the current pandas-implementation in ixmp4 would actually constitute a downgrade, it seems.
Hence, I should invest more time into making the new implementation more efficient. Since I tried that before and wasn't too successful, I'd appreciate any help or guidance you can give, @meksor.


:boom: Minor breaking changes

🐛 Fix fire timing of DenopsReady autocmd
Previously, the DenopsReady autocmd was fired when the channel was connected. However, it is not the right timing because the denops itself may not be ready yet. This commit fixes the timing of the autocmd so that denops is ready when the autocmd is fired.
If this change cause issue, developers should use denops#server#wait() or denops#server#wait_async() function to ensure that functions are called AFTER denops got ready. For example
call denops#server#wait_async({ -> denops#plugin#load('...', '...') })

💥 Read meta only once in initialization
This is a minor but a breaking change. This change affects the g:denops#debug variable. After this commit, the variable must be configured prior to the denops initialization.
💥 Synchronously call wait_async() callbacks
It seems timer_start() triks is no longer needed so we can call callbacks synchronously in both cases.
Let me know if this cause acutal issues (it might break lazy loading mech of denops that are not tested by myself.)
💥 Remove g:denops#trace option
The trace feature is not available when denops liberates from Worker and the feature obstructs the development of denops.
💥 Remove DenopsPluginRegister:* autocmd
We are planning to change internal registration mechanism and the autocmd is not suited for the new mechanism.
Quick search on GitHub shows that the autocmd is not used by anyones.
https://github.com/search?q=DenopsPluginRegister&type=code
💥 Remove {options} from register, reload, discover
We found that developers always use mode: "skip" and other options are not necessary. So we decided to remove {options} from functions and always use mode: "skip".
Quick search revelaed that no one uses reload and discover with {options} but some (e.g. dein.vim) uses register with {options}.
That's why we introduced a new load function that replaces register.
Developers who need to support previous denops should use load whenever possible like:
try
  call denops#plugin#load(
        \ "denops-hello",
        \ "/path/to/denops-hello/main.ts",
        \)
catch /^Vim\%((\a\+)\)\=:E117:/
  " Fallback to `register` for backward compatibility
  call denops#plugin#register(
        \ "denops-hello",
        \ "/path/to/denops-hello/main.ts",
        \ {"mode": "skip"},
        \)
endtry

Summary by CodeRabbit

Refactor

Streamlined plugin registration and reloading processes.
Enhanced internal message handling and dispatching mechanisms.

New Features

Implemented a more efficient signaling system within the server connection workflow.

Documentation

Updated the requirement for setting the debug configuration prior to initialization.

Bug Fixes

Addressed control flow issues in connection handling and service invocation.

It seems tests are broken. I'll fix later

Fixed

The conflict exists.

I will test it.


Removing social buttons to unblock varnish publishing

This PR removes the social buttons page from Varnish; we need to figure out why the material ui icons package is not resolving deps correctly.
Creating an issue to track this -- #134

this is fineish... why not just use the same parttern as we do for copy to clipboard?

it didn't make sense to me within the context of each of these social buttons... having each of them just have text saying "Twitter" or "LinkedIn" etc. doesn't seem like something that any app design would dictate. Copy makes sense as an icon or as a text, but having each social share button as text seemed odd.
I can do that but made a choice here that it's probably best for us to figure out the dependency and then just have the working icon... lmk if you feel strongly about me switching to the copy pattern.


Don't suppress error output that occur during actions

🔥 Bug Description
aspirate doesn't appear to be generating/pushing containers during the build step. It simply exits silently.
🔍 Steps to Reproduce the Bug

Create a new "Aspire .NET Starter Application" project using latest preview (.net 8). I added redis caching in the step where it asks.
Run aspirate generate.

 -- --publisher manifest --output-path manifest.json
Building...
info: Aspire.Hosting.DistributedApplication[0]
      Aspire version: 8.0.0-preview.4.24156.9+692dc41a65da572a7df25d53a9f2880afe59fdd8
info: Aspire.Hosting.Publishing.ManifestPublisher[0]
      Published manifest to: C:\Users\Daniel\Documents\AspireTest\AspireTest.AppHost\manifest.json
(?) Done:  Created Aspire Manifest At Path: C:\Users\Daniel\Documents\AspireTest\AspireTest.AppHost\manifest.json

Applying values for all automatically generated secrets.
You will now be prompted to enter values for any secrets that are not generated automatically.

(?) Done:  Input values have all been assigned.
No Dapr components selected, skipping Dapr annotations.

Gathering container details for each project in selected components

(?) Done:  Populated container details cache for project apiservice
(?) Done:  Populated container details cache for project webfrontend

Gathering Tasks Completed - Cache Populated.

Building all project resources, and pushing containers:

I'm at a loss where to go from here. The CLI offers no debugging/verbosity support, and I don't know why the project resources aren't being built.

After debugging some more, the issue appears to lie in the ValidateBuilderOutput function:
var builderInfo = JsonDocument.Parse(builderCheckResult.Output);

For some reason my docker image is just returning "json\n" as the output, and nothing else, so I'm going to dig into this deeper. However, for this issue, I'd still state this is a bug, and add that when errors occur that prematurely exit the program should be outputted to the screen, not just squelched/ignored.

@danbopes I had the same issue
Changing docker info --format json to docker info --format "{{json .}}" seems to fix this problem

I was using an older version of docker. After updating it, it solved one of my issues. Please just don't squelch errors!

I agree that the verbosity output is a bit meh
I added #62 a while back for someone to pick up if they wanted, as I tried to stay on top of upstream changes in Aspire.
For now i've just added logging of the exceptions that occur during action executor calls.
This will be out in 0.5.1-preview in a few mins ( #143 )


Ryuk the reaper

EDIT: See latest comments for current status of this PR. The final result has changed quite a lot since the initial onset.

Add support for resource cleanup with Ryuk, as an alternative to cleanup with context managers or garbage collection (__del__ dunder method).
Ryuk is used as the default way for resource cleanup in other implementations of testcontainer (Java, NodeJS++), but in order to not introduce any breaking changes I have made it explicitly opt-in to use Ryuk instead of other cleanup methods through the .with_ryuk() method on the DockerContainer class. Perhaps if we want to bring the behaviour closer to the other testcontainer implementations in the future, we can consider making Ryuk the default along with a major version bump.
Behaviour should be fully backwards compatible, only noticable change is that  all containers now get a label used by Ryuk to identify which containers to reap.
This change is the first step towards enabling .with_reuse() functionality of containers (similar to other language implementations), which I will work on once this one goes through.

I have one question in advance. Do you know if we can add an extra HTTP header to the Docker client requests? I've looked into the docs, but it looks like there is no way to add additional HTTP headers to the client. Is there any other way to do it?

Docker and Ryuk communicates directly via Unix Domain Sockets, so they are not using the HTTP protocol at all, only the lower level TCP protocol. This means you cannot send HTTP headers as you are used to in other network-based applications. So the no, it is not possible (to my knowledge) to send extra headers in any form to the Docker server.

The Docker Engine API is a RESTful API that is accessed by an HTTP client. I am asking because the other language implementations, such as Java, Go, and .NET, use the Resource Reaper ID (test session) and set an extra HTTP header x-tc-sid. I was attempting to add that to Python as well.

@HofmeisterAn Aha, I see we are thinking of different things then. Did a quick search through the Docker source code, and it seems that the DockerClient has a property .api which is an instance of a requests.Session object, which is used for all communication with the Docker Engine API. If you want to add a custom header to the DockerClient used by testcontainers, you could simply
import docker
client = docker.from_env()  # Or some other way to instantiate a client
client.api.headers["x-tc-sid"] = "your-session-id"

which will then include the header in all requests.
If you want to pass this header for just a single request you are gonna have a harder time, as the DockerClient does pass some parameters as kwargs down the stack in some cases, but usually the headers are not included in those kwargs. But I guess the first use case should cover what you need for testcontainers 😄

If you want to pass this header for just a single request you are gonna have a harder time

Fortunately, we require that header in every request. This header enables Testcontainers Cloud to operate in turbo mode. It would be great to have it available in Python as well. Would you mind adding the header immediately? Alternatively, I can add it as a follow-up PR.

@HofmeisterAn Added header in last commit 👍

Thank you very much for the thorough reviews, @tillahoffmann and @HofmeisterAn! Just keep it coming, I'll address them this coming Sunday or Monday

@tillahoffmann I see that a redis test randomly failed in a previous Actions run, without me having changed anything related to it. I made another PR here which pins the version used in tests to avoid this flaky behaviour: https://github.com/testcontainers/testcontainers-python/pull/357 (and also makes almost all tests run on Apple Silicon)

Gone through all of the requested changes now, and I think we are closing in on something that's ready for production.
I've now completely removed the cleanup logic related to the __del__ method, leaving three ways to cleanup dangling containers:

Context Manager. __enter__ and __exit__ methods now stop and start the containers, just as before.
Explicit .start() and .stop() for those that want to control the lifetime of their containers without context managers
Ryuk that cleans up if you forget to call .stop(), the process crashes before exiting a context manager or any other reason. Ryuk lives outside of the Python process, so it will do its job, unless the Docker Deamon crashes itself (But then you can argue that it did its job anyways)

There are currently a few small questions that need to be answered:

Should we still add the with_auto_remove method, or should we not enable the user to disable Ryuk without setting the TESTCONTAINERS_RYUK_DISABLED env variable? If yes, I will remove .with_auto_remove(), leave Ryuk enabled by default and read TESTCONTAINERS_RYUK_DISABLED in config.py for overriding. Personally I think the env variable is the right way to go, as it is more in sync with other implementations, and the user should not really have to think about how their containers are cleaned up if they only want to have a container in their tests.
Should we make Reaper inherit from DockerContainer? I think no, see this answer: https://github.com/testcontainers/testcontainers-python/pull/314#discussion_r1202403961

@tillahoffmann This seems to have stagnated for quite a while. Is there anything we can do to help it along (assuming this is still what's blocking the rest of the 4.0 release).

Gone through all of the requested changes now, and I think we are closing in on something that's ready for production.
I've now completely removed the cleanup logic related to the __del__ method, leaving three ways to cleanup dangling containers:

Context Manager. __enter__ and __exit__ methods now stop and start the containers, just as before.
Explicit .start() and .stop() for those that want to control the lifetime of their containers without context managers
Ryuk that cleans up if you forget to call .stop(), the process crashes before exiting a context manager or any other reason. Ryuk lives outside of the Python process, so it will do its job, unless the Docker Deamon crashes itself (But then you can argue that it did its job anyways)

There are currently a few small questions that need to be answered:

Should we still add the with_auto_remove method, or should we not enable the user to disable Ryuk without setting the TESTCONTAINERS_RYUK_DISABLED env variable? If yes, I will remove .with_auto_remove(), leave Ryuk enabled by default and read TESTCONTAINERS_RYUK_DISABLED in config.py for overriding. Personally I think the env variable is the right way to go, as it is more in sync with other implementations, and the user should not really have to think about how their containers are cleaned up if they only want to have a container in their tests.
Should we make Reaper inherit from DockerContainer? I think no, see this answer: Ryuk the reaper #314 (comment)

I have now gone ahead and removed the .with_auto_remove() API, and only allow disabling Ryuk with the TESTCONTAINERS_RYUK_DISABLED env variable. I think this is the right way to go, and it follows the same approach as other implementations.

@tillahoffmann This seems to have stagnated for quite a while. Is there anything we can do to help it along (assuming this is still what's blocking the rest of the 4.0 release).

I think this PR should be good2go now, bringing along with it the breaking API change that is pending for v4.0.0. @tillahoffmann if there is anything you want me to do or update before this can be merged, please reach out and I'll quickly fix it.

Seems like PyYAML==5.4.1 is failing to install currently. This is a known problem according to this issue. I'll try downgrading to 5.3.1 (Cannot currently update to 6.0.0 without breaking some other dependencies, and I don't want to open the can of worms right now).

@tillahoffmann It's been a while since we've heard from you regarding this repository now. You probably have higher priorities in your life than spending your time volunteering on an open-source project, which I fully understand. I am wondering if there is anything we can do to ease your burden governing this project.
I would love to contribute more to this repo, as I am using it very actively in my professional work myself, but it is hard keeping up the pace when issues and PRs are left open for an extended period of time. Would you be open to inviting more maintainers into the project, to increase the throughput? I would personally be very motivated for contributing.
I understand finding and vetting potential maintainers can be hard, so if that is not an option for you I hope we can look at other solutions to make contributing changes a more seamless experience.

Hi @santi, sorry for keeping you hanging here for some time, I understand that this can be frustrating.
From the general Testcontainers project-side of things, I'd really like to see this feature land in tc-python. I will need to have a look at the PR and the discussion, so assess the current state and learn how to best move forward. Are you still interested in working on this topic?
As you found out, we first need to fix the overall build with regards to the PyYAML dependency, I'll try to come up with a plan how to tackle this soon. Similarly, we have to look at improving the maintenance situation overall.

Hi @kiview, thanks for reaching out! Yes, I am still very motivated to push this PR through (and landing more features like .with_reuse() as soon as this one is in place).
Feel free to reach out with anything, and I'll assist and explain as much as needed. I suggest leaving the PyYAML dependency for now, and address it in a later PR. If we want to fix it in a nice way, it probably involves bumping some more libraries which could quickly cascade into a larger job.
Also, I'm motivated for improving the maintenance situation in this package, so of you are open to accepting more maintainers for tc-python, I would very much like to contribute.

Hi @kiview and @alexanderankin (saw you becoming active here the last few days).
This PR has been hanging for a long while now, and this repository seems mostly abandoned (until recently?) with no active maintainers.
I am still in a position where I would love to contribute and help carry this project forward. My current position is very flexible regarding using my own spare time on managing open source projects, and I would love to put down hours here. Could we discuss the possibility of me becoming a collaborator / maintainer, and get this project up to speed?
Also: Not updating any merge conflicts until we have some activity in this PR again, as it's just some requirement rework, not really affecting the main purpose of this PR.

I think we def need to have ryuk support! I have not really even permitted
myself to seriously consider future plans yet while we don't have a good
pr-merge rhythm going. We can continue to discuss on testcontainers slack.
On Mon, Feb 12, 2024, 6:08 AM Vemund Santi @.***> wrote:

Hi @kiview https://github.com/kiview and @alexanderankin
https://github.com/alexanderankin (saw you becoming active here the
last few days).
This PR has been hanging for a long while now, and this repository seems
mostly abandoned (until recently?) with no active maintainers.
I am still in a position where I would love to contribute and help carry
this project forward. My current position is very flexible regarding using
my own spare time on managing open source projects, and I would love to put
down hours here. Could we discuss the possibility of me becoming a
collaborator / maintainer, and get this project up to speed?
Also: Not updating any merge conflicts until we have some activity in this
PR again, as it's just some requirement rework, not really affecting the
main purpose of this PR.
—
Reply to this email directly, view it on GitHub
https://github.com/testcontainers/testcontainers-python/pull/314#issuecomment-1938468711,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACECGJHEVBNBWHXQRB2LAVDYTHZ3VAVCNFSM6AAAAAAVPZW6YWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMZYGQ3DQNZRGE
.
You are receiving this because you were mentioned.Message ID:
@.***>

I'd love to see this PR move forward and get released.


ag-grid iPad Sort and Filter issue

Hi Team,
I have successfull impemented Ag-grid and its working fine in desktop browser, but when we open our application in iPad, we get below two issues :-
Issue # 1:  When you click once on a column header to sort, the system responds as if you've clicked twice.
For example: with no filtering or sorting applied, I clicked once on a column name "Deal ID". It quickly showed the upward pointing triangle and then changed to the downward pointing triangle. If I click it a second time then it quickly shows no triangle and then changes to the upward pointing triangle.
Issue # 2:- When i click on filter icon, filter menu opens, but it sorts the column also.
Any help in these issues will be highly appreciated.
Thanks
Sonu

Hi
I cannot reproduce issue 1 - can you reproduce it here? ag-grid.com/example.php
I think there might have been an issue in a previous release around this, since fixed
For issue 2, the filter icon should not appear when on mobile devices - I've raised issue for this AG-330
On mobile devices you invoke the menu by pressing and holding down on the header

Hi ,
Thanks for your response. I am not able to reproduce this issue in that link. But I figured out that this thing is happening because the onsortchanged method implemented at grid options is getting called twice. This same thing happens   when we implement onbeforesortchange or onaftersortchanged. If I remove this method , it works fine.
This issue is happening only in iPad not on desktop.
Kindly look into this issue
Thanks
Sonu

I'm afraid we'll need something from you that reproduces this problem before we can investigate it - we are unable to do so with any of our examples
thanks

HI , I was able to fix this issue by setting"SuppressTouch" as false. Hence closing this issue


Custom logging string not with vhost setup

Hi I have a custom Nginx log format configuration for an nginx setup running vhosts:
  log_format custom_format
    '$time_local: $request_method $scheme://$host$request_uri source_ip=$remote_addr'
    ' response_code=$status response_bytes=$bytes_sent'
    ' request_line="$request" referer="$http_referer" user_agent="$http_user_agent"';

Per the documentation there's a helpful script to convert custom NGINX log strings to goaccess log strings. I run that:
./goaccess.sh '$time_local: $request_method $scheme://$host$request_uri source_ip=$remote_addr response_code=$status response_bytes=$bytes_sent request_line="$request" referer="$http_referer" user_agent="$http_user_agent"'

Which gives output:
time-format %T
date-format %d/%b/%Y
log_format %d:%t %^: %m %^://%v%U source_ip=%h response_code=%s response_bytes=%b request_line="%r" referer="%R" user_agent="%u"

I put that into my /etc/goaccess.conf. My config script loks like:
time-format %T
date-format %d/%b/%Y
log_format %d:%t %^: %m %^://%v%U source_ip=%h response_code=%s response_bytes=%b request_line="%r" referer="%R" user_agent="%u"

Running produces failures:
Parsed 10 lines producing the following errors:

Token for '%v' specifier is NULL.
Token for '%v' specifier is NULL.
Token for '%v' specifier is NULL.
Token for '%v' specifier is NULL.
Token for '%v' specifier is NULL.
Token for '%v' specifier is NULL.
Token for '%v' specifier is NULL.
Token for '%v' specifier is NULL.
Token for '%v' specifier is NULL.
Token for '%v' specifier is NULL.

Format Errors - Verify your log/date/time format

In my access log there's some knuckleheads that are up to some shenanigans. Not all log lines have an associated host.
For more details visit: http://goaccess.io
Copyright (C) 2009-2016 by Gerardo Orellana
Is this a bug or is my config wrong?

This should do it.
goaccess access.log --log-format='%d:%t %^ %^ %^ %^=%h %^=%s %^=%b %^="%r" %^="%R" %^="%u"' --date-format=%d/%b/%Y --time-format=%T

I think the helper script may need an update for more complex formats.

Ah I understand the issue now. Thank you.

Glad that did it. Closing this. Feel free to reopen it if needed.


Share link copy button not working on linux

When I try to share a post I get a pop up window with the link and text "Hey! Checkout blog post on Steem ..." but when I click on the copy button nothing gets copied to the clipboard.
I am using the initial desktop version and linux64 bit.

Thank you for reporting this, I have tested it on mac and windows, will make sure to test on linux to see if any dependencies is missing.

I can fix this.

I did here :) https://github.com/feruzm/esteem-desktop/pull/9


Added relatedImages for CSV to publish in catalog

Description

Made preview as the default channel in Makefile and annotations,bundle.Docker
Added related Images part of CSV file - in  make target update-bundle-catalog [ Adding in config did not reflect in CSV - made it manual]
Replaced relatedImages with SHA in - hack/publish_package_builds.sh
Introduced option -b to build operator image from source to developers in hack/publish_package_builds.sh

Type of change

[ ] Refactor
[ ] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library

Related Tickets & Documents

Related Issue #
Closes #

Checklist before requesting a review

[ ] I have performed a self-review of my code.
[ ] PR has passed all pre-merge test jobs.
[ ] If it is a core feature, I have added thorough tests.

Testing

Please provide detailed steps to perform tests related to this code change.
How were the fix/results from this change verified? Please provide relevant screenshots or results.

/cc @bparees

/retest required

/test ci-index-lightspeed-bundle-test

/test ci-index-lightspeed-bundle-test

/lgtm
/approve