PermissionError: [Errno 13] Permission denied

Bug

PermissionError: [Errno 13] Permission denied: '..\data'
When the document directory is provided, this error occurs.
The directory only contains documents.
Steps to reproduce

path = Path("../data")
result = doc_converter.convert(path)

The error occurs when files are being read by Docling:
     13 def get_signature_bytes(path):
     14     """
     15     Reads file from disk and returns the first 8192 bytes
     16     of data representing the magic number header signature.
   (...)
     22         First 8192 bytes of the file content as bytearray type.
     23     """
---> 24     with open(path, 'rb') as fp:
     25         return bytearray(fp.read(_NUM_SIGNATURE_BYTES))

Things I've tried
path = Path("../data")
if not path.exists(): # The diretory does exist
    print("Directory does not exist")
path.chmod(0o700) # Giving write permission
result = doc_converter.convert(path)

Docling version

Docling version: 2.12.0
Docling Core version: 2.10.0
Docling IBM Models version: 3.1.0
Docling Parse version: 3.0.0
IDE: PyCharm
Python version

Python 3.12.8

I found the solution.
Instead of providing the path to the directory, provide the path to each file.
Then, you can either iterate over each file or use convert_all:
files = list(Path("../data").glob("*"))

if not files:
    print("Directory is empty")
result = doc_converter.convert_all(source=files)
print(result)


get broken built contents when serving as remote and host at the same time in Module Federation

Bug report

What is the current behavior?
Got broken logic code in built main.js.

I have two sub-apps: app-one as remote and app-two as host, whicht works fine.
But when I trying to expose some modules inside of app-two, I got broken built contents inside of dist directory, while webpack didn't give any error message.
If the current behavior is a bug, please provide the steps to reproduce.
all the relative code in github

expose one module called math in app-one. it works fine

const {ModuleFederationPlugin} = require('webpack').container
const path = require('path');
module.exports = {
    entry: "./index.js",
    mode: "development",
    devtool:"hidden-source-map",
    output: {
        publicPath: "http://localhost:3000/",
        clean:true
    },
    plugins: [
        new ModuleFederationPlugin({
            name: "app-one",
            library: { type: "var", name: "app_one" },
            filename: "remoteEntry.js",
            exposes: {
                "./math":"./modules/math.js",
            }
        })
    ],
};

config remotes propery in webpack.config.js in app-two. it works fine too

const {ModuleFederationPlugin} = require('webpack').container
const HtmlWebpackPlugin = require('html-webpack-plugin')
const path = require('path');
module.exports = {
    entry: "./index.js",
    mode: "development",
    devtool:"hidden-source-map",
    output: {
        publicPath: "http://localhost:3001/",
        clean:true
    },
    plugins: [
        new HtmlWebpackPlugin({
            template: "./public/index.html",
        }),
        new ModuleFederationPlugin({
            name: "app-two",
            remotes:{
                "app-one":"app_one@http://localhost:3000/remoteEntry.js"
            }
        })
    ],
};

expose some modules in app-two. got broken contents in main.js  at line 11.

const {ModuleFederationPlugin} = require('webpack').container
const HtmlWebpackPlugin = require('html-webpack-plugin')
const path = require('path');
module.exports = {
    entry: "./index.js",
    mode: "development",
    devtool:"hidden-source-map",
    output: {
        publicPath: "http://localhost:3001/",
        clean:true
    },
    plugins: [
        new HtmlWebpackPlugin({
            template: "./public/index.html",
        }),
        new ModuleFederationPlugin({
            name: "app-two",
            filename: "remoteEntry.js",
            library: { type: "var", name: "app_two" },
            exposes:{
                "./person":"./modules/person.js"
            },
            remotes:{
                "app-one":"app_one@http://localhost:3000/remoteEntry.js"
            }
        })
    ],
};

if  app-two's exposedpersonmodule dependent on app-one,got the same broken content in app-one's remoteEntry.js
 at line 12.

What is the expected behavior?
the login there should be a function like this:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

"use strict";
var __webpack_error__ = new Error();
module.exports = new Promise((resolve, reject) => {
	if(typeof app_one !== "undefined") return resolve();
	__webpack_require__.l("http://localhost:3000/remoteEntry.js", (event) => {
		if(typeof app_one !== "undefined") return resolve();
		var errorType = event && (event.type === 'load' ? 'missing' : event.type);
		var realSrc = event && event.target && event.target.src;
		__webpack_error__.message = 'Loading script failed.\n(' + errorType + ': ' + realSrc + ')';
		__webpack_error__.name = 'ScriptExternalLoadError';
		__webpack_error__.type = errorType;
		__webpack_error__.request = realSrc;
		reject(__webpack_error__);
	}, "app_one");
}).then(() => (app_one));
/***/ })

Other relevant information:
webpack version:  v5.37.0
Node.js version: v16.1.0
Operating System: mac os 11.2.3
Additional tools:

this bug will occur on --watch or build mode

No bugs, expected, remotes is like raw variable, you can fix it using:

library: { type: "self", name: "app_two" }, if you need to use variable from global scope or you can use other values

Or you can avoid it and using:
 new ModuleFederationPlugin({
            name: "app_two",
            filename: "remoteEntry.js",
            exposes:{
                "./person":"./modules/person.js"
            },
            remotes:{
                "app-one":"app_one@http://localhost:3000/remoteEntry.js"
            }
        })

Note name should be valid JS identifier

thank you, bro, that solve my problem


Keep the left column static/always visible, only the right column should be scrollable

The new feature is not consistent on every page.
For example, on Create Device, the whole page is scrollable.

@audserraCGI , this issue is only for device/model details pages.
@ChristopheRib63  will add the scrolling behavior on device/model creation pages.


Need to review all articles to make sure that all existing articles have at least one Subject

In the future, we should add the validation for the presence of at least on :subject on creation of a new article.
For now, we need to take care of this in console.

Checked, closing this.


[VID-483] CDN-fallback improvements

Two new features added:

setting percentage of traffic that goes to CDN and directly
redirecting to per-catalyst CDN URL - to distribute the traffic around the world instead of single fra-0 - terraform changes

https://linear.app/livepeer/issue/VID-483/cdn-fallback-to-balance-between-catalyst-removing-fra-0-spof

@victorges I rewritten it slightly. Storing 0.0 to 100.0 in memory, instead of 0..1.


update package-lock to use latest version of ua-parser-js

What are you changing in this pull request and why?
Dependabot reported a vulnerability for the ua-parser-js package for versions less than 0.7.33. This updates our package-lock, which updates ua-parser-js to 0.7.33 to clear the vulnerability.

@JKarlavige Do we also need to change this in package.json? I believe we can only specify starred version dependencies in package.json, though, right? (eg. 0.7.*) So maybe not...

This package is used internally by Docusaurus and not on our end within package.json. The ua-parser-js package is used by the fbjs package, which is internally used by Docusaurus. fbjs is set to ^0.7.30, which will update it to the latest compatible version. So when the package-lock is regenerated, it upgrades ua-parser-js to the latest version, which is currently 0.7.33.

Ah gotcha. Carry on!


Running UMAP (?) on 10m-100m sized  datasets?

Hi again, everyone!
Would like to ask for some advice, probably UMAP related, probably more abstract.
I have had some success using this combination of tools in my work:

Get a lot of data (~2m rows * 300 columns (word embeddings));
Use PCA to reduce dimensions to 30-50;
Then use UMAP to reduce to 10;
Then use HDBSCAN for clustering;
Then use this to enrich the data and some naive affinity propagation / trees for final post-processing to make the data usable for end-users;

All of this fine and dandy, but from my experiments it seems that with datasets around 10m points I start having trouble with the above scheme.
Obviously I can try different tricks (feeding HDBSCAN from PCA directly, reducing dimensions more aggressively e.g. 300=>20=>10, sub-sampling data and then just applying .transform, buying more :ram: , etc).
But maybe someone knows if there are any approaches for producing high-quality embeddings in a parallelized / mini-batch fashion? If so, can you probably point me in the correct direction? I know, that people train matrix factorization machines on the GPU, maybe there is something similar?
Or maybe I am just missing something with my setup?
I understand, that in the long run, the correct approach is

Get annotation;
Find the best CNN and train a classifier;
Afaik, it may even work with up to ~5,000 classes;

Many thanks!

So far I had the following results:

I could successfully run UMAP on 3m * 30 data set to reduce it to 2 dimensions;
After loading the UMAP object I tried to apply .transform to 10m items => failed with some non-tractable error;
Tried applying .transform in 10 smaller chunks (1m) - but also failed - ran script for ~7-8 hours, in the end it looked like the process was not responding;

It should be noted that .transform is not going to be more efficient
than just running on the full dataset -- it is meant to allow you to
introduce new data, not for scaling. I would also note that you probably
don't need the PCA step. I suspect UMAP will not be that much slower on the
full dimensional space. The ultimate limiting factors here are time and
RAM. There is some work on a distributed version of UMAP, but it is very
preliminary, so don't expect anything soon; that might fix the RAM issue
eventually. There is also some work on a GPU implementation of UMAP, but
again, that is very preliminary; that might fix the time issue. I'm not
sure you can easily fix both at once. Scaling to 10m data points is just
flat out difficult without some beefy hardware and a lot of time.
On Sat, Aug 18, 2018 at 10:13 AM Alexander Veysov<EMAIL_ADDRESS>wrote:

So far I had the following results:

I could successfully run UMAP on 3m * 30 data set to reduce it to 2
dimensions;
After loading the UMAP object I tried to apply .transform to 10m
items => failed with some non-tractable error;
Tried applying .transform in 10 smaller chunks (1m) - but also
failed - ran script for ~7-8 hours, in the end it looked like the process
was not responding;

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/lmcinnes/umap/issues/125#issuecomment-414060877, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ALaKBbj4YsBmb-C0c4kV8GMwcpMjovr7ks5uSCDzgaJpZM4WBl-g
.

Many thanks for your reply.
Clarifications

It should be noted that .transform is not going to be more efficient than just running on the full dataset -- it is meant to allow you to introduce new data, not for scaling.

Many thanks for clarifying this.

The ultimate limiting factors here are time and RAM

Well, we have 64 GB or RAM and 16 3GHz cores, maybe going to 128 is an option.
If this is not a secret, do you use similarly sized machines to test UMAP yourself?

I would also note that you probably don't need the PCA step
I suspect UMAP will not be that much slower on the full dimensional space

Strangely enough, when I just tried doing it without PCA, it did not work. Of course, I started by embedding much smaller datasets (50k, 300k points). I do not really remember the reason - it was either out of memory error or I just could not wait until the graph constructions finishes or some cryptic error like killed or segmentation fault.
Running UMAP
Some additional results in running UMAP

spectral embedding produces out of memory error, random seems to work with 3m points in my hardware;

Discussion
I googled a bit, and I kind of think I may have found a hacky way around.
@lmcinnes I would be really happy, if you could provide your opinion on this topic.
The below is not particularly beautiful, but it may work in practice.
It seems that if you an "unlimited" supply of GPUs, something like this can be arranged:

Some folks from Europe managed to run LargeVis on several GPUs as well as a naive brute-force KNN tree construction method with bucket sort algorithm. As far as I can understand from their paper, their GPU implementation is low-level and they manage memory directly;
Facebook did a similar thing with low-level C++ code and they even published a library, which only calculates distances and does some plain algorithms like K-Means. But their purpose was billions of points, not tens of millions;
LargeVis paper seems to be "back-propable";

All in all, I am considering to try applying something like this:

Create some naive clusters (e.g. run some naive K-Means with a large number of clusters) and / or use the techniques described in papers (i.e. random projection trees). Essentially this step is required to ease the burden on the next step;
Build a KNN graph by essentially brute-forcing distance calculation by batching it on the GPUs. PyTorch allows to do this really easily - just properly batching data is required;
Apply LargeVis to this graph;

Do you think such approach may work?

Also did some back-of-the-envelope calculations, which seem promising so far:

If we have 10m points with 10k clusters (1k points in cluster), then we need to calculate roughly N10k10k calculations to approximate the KNN graph, which will be doable, if ~10k operations can be done in one go on one GPU (usually 1 batch takes < 1s). Then with multiple GPUs even brute-forcing will take a small amount of time (i.e. hours);
Also if we have 10m points and we want to create a 10-dimension embeddings (if I am not getting the LargeVis paper wrong) - then essentially this is only ~400 MB of parameters, similar in size to old school CNNs like VGG, i.e. feasible with some room;

For KNN I would skip trying to brute force it and just use FAISS IVF which has a GPU implementation.
I would also note that the optimize_layout implementation in UMAP is probably more efficient than that of LargeVis, so working from that for a GPU implementation may be more sensible. Alternatively you can just call it directly with the resulting KNN graph. Keep in mind, by the way, that you'll want to make use of UMAP functions to appropriately weight the KNN graph.
Note that part of what makes this SGD difficult is that the ground is moving under your feet so to speak --  the target changes as you change the parameters.

For KNN I would skip trying to brute force it and just use FAISS IVF which has a GPU implementation.

Indeed, they have KNN search + multi-GPU as an option.
Many thanks for pointing this out.

the optimize_layout implementation

You mean this, right?
Pardon for asking, but afaik this function takes an embedding (e.g. num_items * 10) as an input.
I am not very strong with topology, but I understand the KNN part and the SGD part.  But how do you jump from KNN graph straight into optimizing the embedding part? I can figure out the sampling (I will indeed need to embed into my dataloader in PyTorch), but this eludes me.
If I am not mistaken, in the LargeVis paper they just initialize the embedding randomly, then sample items from graph to perform SGD.

UMAP functions to appropriately weight the KNN graph

Can you please tell, which functions do you mean? Do you mean the word2vec style negative sampling?

@lmcinnes
So far, I managed to do the following

Build a KNN graph using faiss - here is a gist that I assembled - maybe someone will find it useful;
Feed this knn graph to get these objects (the most interesting part in terms of porting it into PyTorch obviously is how you do weighting)

# knn_indices is a knn graph from faiss (n_samples, n_neighbors)
# knn_dists is knn distances from faiss (n_samples, n_neighbors)

graph = fuzzy_simplicial_set(
    X=bc_vectors_sample,
    n_neighbors=100,
    random_state=np.random.RandomState(seed=42),
    metric='euclidean',
    metric_kwds={},
    knn_indices=knn_indices,
    knn_dists=knn_dists,
    angular=False,
    set_op_mix_ratio=1.0,
    local_connectivity=1.0,
    verbose=True,
)

graph = graph.tocoo()
graph.sum_duplicates()
n_vertices = graph.shape[1]

n_epochs = 200

graph.data[graph.data < (graph.data.max() / float(n_epochs))] = 0.0
graph.eliminate_zeros()
epochs_per_sample = make_epochs_per_sample(graph.data, 200)

It turns out that graph.data contains only ones and zeroes and epochs_per_sample therefore explodes and the max value is inf. Does this mean that I have to pre-process the KNN graph somehow before feeding it like this, or am I making some error?
As for tests:

Creating a spectral embedding seems feasible only for datasets below 1-2m points;
For larger datasets, memory starts to become an issue (I doubt that library users will realistically have more than 128 GB of RAM);
As for faiss, my results were the following:

Plain index does not fit on one conventional GPU;
Approximate index that is supported on GPU takes ~500MB of GPU RAM (17% of RAM are reserved) => I guess it can even be scaled much and much further;
KNN graph for ~7-10m points is calculated ~2 hours tops;
I guess it can be scaled up to 100m of points this way easily;

The graph should not only be binary ones and zeros, so something has gone
astray here somewhere. I don't see anythign obviously wrong in what youa re
doing so it is hard to know exactly where things went astray. I would check
the content of the graph immediately coming out of fuzzy_simplicial_set.
On Sun, Aug 26, 2018 at 8:48 AM Alexander Veysov<EMAIL_ADDRESS>wrote:

@lmcinnes https://github.com/lmcinnes
So far, I managed to do the following

Build a KNN graph using faiss - here is a gist
https://gist.github.com/snakers4/9e834c97e3f689aeb68d31b16f93be32
that I assembled - maybe someone will find it useful;
Feed this knn graph to get these objects (the most interesting part
in terms of porting it into PyTorch obviously is how you do weighting)

knn_indices is a knn graph from faiss (n_samples, n_neighbors)
knn_dists is knn distances from faiss (n_samples, n_neighbors)
graph = fuzzy_simplicial_set(
X=bc_vectors_sample,
n_neighbors=100,
random_state=np.random.RandomState(seed=42),
metric='euclidean',
metric_kwds={},
knn_indices=knn_indices,
knn_dists=knn_dists,
angular=False,
set_op_mix_ratio=1.0,
local_connectivity=1.0,
verbose=True,
)
graph = graph.tocoo()
graph.sum_duplicates()
n_vertices = graph.shape[1]
n_epochs = 200
graph.data[graph.data < (graph.data.max() / float(n_epochs))] = 0.0
graph.eliminate_zeros()
epochs_per_sample = make_epochs_per_sample(graph.data, 200)
It turns out that graph.data contains only ones and zeroes and
epochs_per_sample therefore explodes and the max value is inf. Does this
mean that I have to pre-process the KNN graph somehow before feeding it
like this, or am I making some error?
As for tests:

Creating a spectral embedding seems feasible only for datasets below
1-2m points;
For larger datasets, memory starts to become an issue (I doubt that
library users will realistically have more than 128 GB of RAM);
As for faiss, my results were the following:

Plain index does not fit on one conventional GPU;
Approximate index that is supported on GPU takes ~500MB of GPU
RAM (17% of RAM are reserved) => I guess it can even be scaled much and
much further;
KNN graph for ~7-10m points is calculated ~2 hours tops;
I guess it can be scaled up to 100m of points this way easily;

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/lmcinnes/umap/issues/125#issuecomment-416036639, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ALaKBdXRO-yjOTYwrh4wLUfY4JRM4jI5ks5uUpkKgaJpZM4WBl-g
.

coming out of fuzzy_simplicial_set

It is also ones and zeros.
What is interesting - I compared your KNN graph and faiss KNN graph - they seem almost identical.
I guess the devil lies somewhere in the data types (I believe I save my graph knn indices in float).
I will check several times and revert.


Adding support to watchos 2

I think adding support for the watchos 2 would be very helpful

Hi @mohamedghonemi, thanks for your interest in Carlos!
I'll try to add support for watchos 2 as soon as possible.
I assigned this issue to the 0.2.1 milestone, so it will be done together with Swift 2.0 support.

Thanks a lot, I am waiting for it :)

Hi @mohamedghonemi, I added a new Carlos (Watch) framework for WatchOS 2, and from a quick test it looks like it can be successfully embedded in a WatchOS 2 App. I'll close the issue when the swift2.0 branch will be merged in master (that is, when iOS 9 comes out), and I'll do additional tests during the weekend. I'll probably add some sample code for a WatchOS 2 App as well.
In the mean time, it should work :)

Thanks alot

I had a problem when I added the files the my project :
/Carlos/MemoryWarning.swift:10:68: Use of unresolved identifier 'UIApplicationDidReceiveMemoryWarningNotification'
Do I have missed something in adding the files to  the project ?

Yes, I didn't update the podspec yet, but the CarlosWatch framework target doesn't contain the MemoryWarning.swift file. If you don't include that file, it should compile successfully.
What errors do you have in DiskCacheLevel? Are you on the swift2.0 branch?

Yes I am using the swift2.0 branch.
But I was using the code downloaded from Github directly, not the pod so I had the file added to the project, so I removed it now and errors related to it disappeared.
Still DiskCacheLevel.swift gives these errors :

/DiskCacheLevel.swift:23:79: 'lastPathComponent' is unavailable: Use lastPathComponent on NSURL instead.
/DiskCacheLevel.swift:38:51: 'stringByAppendingPathComponent' is unavailable: Use URLByAppendingPathComponent on NSURL instead.

All right, this is maybe something that came up with the new Xcode beta? I'll investigate and fix it asap, most likely there is a cast to NSString needed. Thanks for reporting!

I just had some time to check the issue and yes, Beta 6 broke the code. I just pushed the fixes, sorry for the inconvenience


Failed to mount component: template or render function not defined

Sorry I've read the other closed issues, but I still can't figure it out
App.vue
<template>

      <toggle-button :value="false" color="#82C7EB" :sync="true" :labels="true"/>

</template>

main.js
import Vue from 'vue'
import App from './App.vue'

import ToggleButton from 'vue-js-toggle-button'
Vue.use(ToggleButton);

new Vue({
  el: '#app',
  render: h => h(App)
})

Have tried several variations but none of them seem to be working. Appreciate if you could help give me a basic sample. I'm very new to VueJS

I'm having the same exact problem...

You do not need to define ToggleButton component,
{ ToggleButton }

Plugin does it for you.
After useing plugin you can just do:
<template>

      <toggle-button :value="false" color="#82C7EB" :sync="true" :labels="true"/>

</template>

It kind of defines it globally. And when you try to import it, you actually import a plugin, not a component. This way you replace global definition of ToggleButton: ToggleButtonComponent with ToggleButton: ToggleButtonPlugin. And then vue tries to render plugin and obviously fails.

This fixes it, thank you!


cannot find header on valid zip file

demo.docx
Docx files are zip files. This docx file from docxelixir does not parse with zstream but does parse with erlang's :zip and the linux unzip command.
** (Zstream.Unzip.Error) Invalid zip file, could not find any signature header
     code: result = Docxelixir.read_paragraphs('samples/demo.docx')
     stacktrace:
       (zstream 0.6.3) lib/zstream/unzip.ex:209: Zstream.Unzip.next_header/2
       (zstream 0.6.3) lib/zstream/unzip.ex:199: Zstream.Unzip.file_data/2
       (zstream 0.6.3) lib/zstream/unzip.ex:180: Zstream.Unzip.filename_extra_field/2
       (elixir 1.14.0) lib/stream.ex:989: Stream.do_transform_user/6
       (elixir 1.14.0) lib/stream.ex:942: Stream.do_transform/5
       (elixir 1.14.0) lib/enum.ex:4307: Enum.reduce/3

I have merged a fix to master, test it out and let me know, I will cut a release.
BTW, read the notes under the unzip function documentation carefully before choosing this library. Zstream only supports files that can be unzipped in a streaming fashion, as the name implies.


Honda Insight 2019

I have a 2019 Honda Insight EX.  LKAS and ACC are both standard.  Will this work with the Honda Bosch, or what do I need to get started?

I have the Touring of the 2019 Honda Insight, it is not supported, yet.

Energee had a port for this. It has a conflicting fingerprint thus why it’s not upstreamed yet. I think kegman also has a fork for it.

@nagolinc @jasonhc73
We have an insight group with a working port
Join discord and add me as a friend ill invite you into the group
dustinfields

@dustinfields  Not super familiar with Discord.  It says I need a "four digit tag" to add you

Ironworm#8498
Get BlueMail for Android
On Sep 5, 2019, 7:15 PM, at 7:15 PM, Logan<EMAIL_ADDRESS>wrote:

@dustinfields  Not super familiar with Discord.  It says I need a "four
digit tag" to add you
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/commaai/openpilot/issues/701#issuecomment-528655427

Discussion moved to discord. For support we'll need a VIN based fingerprint.


Add window opacity functions

Sorry about that

Looks good now. Thanks for the contribution, @barrybingo !


Update backitup to 3.0.22

Please update my adapter ioBroker.backitup to version 3.0.22.
This pull request was created by https://www.iobroker.dev c0726ff.

@mcm1957 important bugfix


Show TCP connection keepalive state

TCP keepalive is enabled on all connections, by default 30s, 3x10s probes, and those defaults can be changed in the config.


Setup script

Proposed Changes
Fixed broken dependencies
hitherdither, and PySide2 were failing to resolve.  I set hitherdither to be installed from it's tagged git release, and upgraded the expected version of PySide2.
Created an automatic setup / install script
Now the program can be installed by running the install script: python setup.py install, or by pointing pip at the git repo: pip install https://github.com/wolfinabox/Steelseries-OLED-Display-Mirror/archive/master.zip
Install the program as a command
Once everything has been installed, the program can be run by calling oled-display-mirror in cmd.  The program will run from there.  Since it's installed as a system command, it's really easy to autorun when you log in by setting up a task in Windows Task Scheduler.
Moved the code into it's own package
Did this primarily because setup.py has a hard time finding the correct script when everything is loose in the project root.
Additional Notes:

Please do some additional checking to insure everything installs and runs properly on your system.  My friend was having a few hiccups getting it running.  Please leave a comment if you run into trouble and I'll be happy to help sort it out.

+1 Looks great, thanks for the contribution. Still surprised at people finding this project lol
I saved requirements.txt back as utf-8 for consistency, and updated the paths in launch.json and tasks.json so VSCode launches and builds the project properly.


Add crictl config e2e tests

What type of PR is this?
/kind cleanup
What this PR does / why we need it:
Adding e2e tests for the config get / set.
Which issue(s) this PR fixes:

Follow-up on https://github.com/kubernetes-sigs/cri-tools/pull/1643
Special notes for your reviewer:
None
Does this PR introduce a user-facing change?

None

/approve
/lgtm


Environment variable inheritance using MDNotifyCmd and MDMessageCmd

Using httpd v2.4.57 and mod_md v2.4.21 on Linux 6.4.10, I've been trying to gracefully reload httpd from a simple script executed by MDNotifyCmd or MDMessageCmd:
#!/usr/bin/env sh
/usr/local/apache2/bin/apachectl -k graceful

However, it appears that environment variables are not correctly inherited by the child process, resulting in warnings akin to
AH00111: Config variable ${ENV_VAR} is not defined

because my httpd.conf relies on certain environment variables being set. If I extend the above script to include an invocation of printenv, only PWD=/usr/local/apache2 is printed as environment variable which seems to confirm my assumption.
Issue https://github.com/icing/mod_md/issues/198 looks related, but it is resolved and inheritance appears to work correctly in that case.
Reproducible example
I have written a small example program which – at least on my machine – demonstrates the issue. It uses the Apache Portable Runtime and md_util_exec along with stubs copied from mod_md.
md_util_exec is used to invoke /usr/bin/printenv twice, passing ENV_VAR=value as environment variable first and NULL second. The following output is produced by the program:
Executing printenv with env={"ENV_VAR=value"}:
ENV_VAR=value
printenv finished with exit code 0

Executing printenv with env=NULL:
printenv finished with exit code 0

As you can see, neither of the process executions inherit the environment variables of the parent process. By changing the cmdtype passed to apr_procattr_cmdtype_set from APR_PROGRAM to APR_PROGRAM_ENV, both processes seem to inherit the environment of the parent, but the additional ENV_VAR=value set in the first configuration is not set for the child process and thus lost.
-           && APR_SUCCESS == (rv = apr_procattr_cmdtype_set(procattr, APR_PROGRAM))
+           && APR_SUCCESS == (rv = apr_procattr_cmdtype_set(procattr, APR_PROGRAM_ENV))

Source code
#include <apr-1/apr_thread_proc.h>

//region md_util_exec and stubs
typedef enum {
    MD_LOG_EMERG,
    MD_LOG_ALERT,
    MD_LOG_CRIT,
    MD_LOG_ERR,
    MD_LOG_WARNING,
    MD_LOG_NOTICE,
    MD_LOG_INFO,
    MD_LOG_DEBUG,
    MD_LOG_TRACE1,
    MD_LOG_TRACE2,
    MD_LOG_TRACE3,
    MD_LOG_TRACE4,
    MD_LOG_TRACE5,
    MD_LOG_TRACE6,
    MD_LOG_TRACE7,
    MD_LOG_TRACE8,
} md_log_level_t;

#define MD_LOG_MARK __FILE__,__LINE__

void md_log_perror(const char *file, int line, md_log_level_t level,
                   apr_status_t rv, apr_pool_t *p, const char *fmt, ...)
{
}

apr_status_t md_util_exec(apr_pool_t *p, const char *cmd, const char * const *argv,
                          apr_array_header_t *env, int *exit_code)
{
    apr_status_t rv;
    apr_procattr_t *procattr;
    apr_proc_t *proc;
    apr_exit_why_e ewhy;
    const char * const *envp = NULL;
    char buffer[1024];

    *exit_code = 0;
    if (!(proc = apr_pcalloc(p, sizeof(*proc)))) {
        return APR_ENOMEM;
    }
    if (env && env->nelts > 0) {
        apr_array_header_t *nenv;

        nenv = apr_array_copy(p, env);
        APR_ARRAY_PUSH(nenv, const char *) = NULL;
        envp = (const char * const *)nenv->elts;
    }
    if (   APR_SUCCESS == (rv = apr_procattr_create(&procattr, p))
           && APR_SUCCESS == (rv = apr_procattr_io_set(procattr, APR_NO_FILE,
                                                       APR_NO_PIPE, APR_FULL_BLOCK))
           && APR_SUCCESS == (rv = apr_procattr_cmdtype_set(procattr, APR_PROGRAM))
           && APR_SUCCESS == (rv = apr_proc_create(proc, cmd, argv, envp, procattr, p))) {

        /* read stderr and log on INFO for possible fault analysis. */
        while(APR_SUCCESS == (rv = apr_file_gets(buffer, sizeof(buffer)-1, proc->err))) {
            md_log_perror(MD_LOG_MARK, MD_LOG_INFO, 0, p, "cmd(%s) stderr: %s", cmd, buffer);
        }
        if (!APR_STATUS_IS_EOF(rv)) goto out;
        apr_file_close(proc->err);

        if (APR_CHILD_DONE == (rv = apr_proc_wait(proc, exit_code, &ewhy, APR_WAIT))) {
            /* let's not dwell on exit stati, but core should signal something's bad */
            if (*exit_code > 127 || APR_PROC_SIGNAL_CORE == ewhy) {
                return APR_EINCOMPLETE;
            }
            return APR_SUCCESS;
        }
    }
    out:
    return rv;
}
//endregion

int main() {
    const char *prog = "/usr/bin/printenv";
    const char *argv[] = {prog, NULL};

    apr_initialize();

    apr_pool_t *pool;
    apr_pool_create(&pool, NULL);

    int exit_code;
    {
        const char *env_var = "ENV_VAR=value";

        apr_array_header_t *env = apr_array_make(pool, 1, sizeof(char *));
        APR_ARRAY_PUSH(env, const char *) = env_var;

        printf("Executing printenv with env={\"%s\"}:\n", env_var);
        md_util_exec(pool, prog, argv, env, &exit_code);
        printf("printenv finished with exit code %d\n", exit_code);
    }
    printf("\n");
    {
        printf("Executing printenv with env=NULL:\n");
        md_util_exec(pool, prog, argv, NULL, &exit_code);
        printf("printenv finished with exit code %d\n", exit_code);
    }
    return 0;
}

Closing words
I don't really understand why the functionality looks to be working in https://github.com/icing/mod_md/issues/198, but it sadly isn't in my case unless I am missing something.
As a fix, it could be possible to implement a function to retrieve all environment variables for POSIX and WIN32, include ones relevant for mod_md, and then pass the new list of variables to md_util_exec. The function could be extracted to APR at a later time.

Thanks for the detailed report. Looking at this, I believe md_util_exec should use APR_PROGRAM_ENV and remove its env parameter since any value given there will not have an effect then, as you observed.
In the case of #198, we tried to supply additional vars to the called process, but that resulted in the inherited environment of httpd to be completely replaced. Which did lead to the failures reported there.
Note that #198 was on Windows, where APR_PROGRAM and APR_PROGRAM_ENV have the same implementation. So it did not matter there.
As to your original intention of reloading Apache in such a program, that will not work in default Linux setups where root is needed for reloads, but the invoked program will run as an unprivileged user like www-data.

Could you give #320 a try?

Note that https://github.com/icing/mod_md/issues/198 was on Windows, where APR_PROGRAM and APR_PROGRAM_ENV have the same implementation. So it did not matter there.

Ah, so that was confusing me.

As to your original intention of reloading Apache in such a program, that will not work in default Linux setups where root is needed for reloads, but the invoked program will run as an unprivileged user like www-data.

Thanks for the heads-up. My original plan was to give www-data permission to execute only /usr/local/apache2/apachectl -k graceful with elevated rights, but using ports other than 80 and 443 might be the more secure approach for my use case.

Could you give https://github.com/icing/mod_md/pull/320 a try?

The PR fixes the issue for me. Thank you for your quick help.


Can it be used in docker?

I've tried to point reli to a process running in docker, but this is the error:
root@d1461bdcc4fe:/var/www/hs-pricing/reli-prof# ./reli inspector:memory -p 3036

In MemoryReader.php line 92:

  failed to read memory. target_pid=3036, remote_address=0x557bf9a1e000, errno=1

@maxgalbu
Hi!
Reli can be used in a docker container.

errno=1

This indicates that your process doesn't have the permission needed to analyze the target process.
Maybe your container doesn't have the capability to use ptrace.
Try to use --cap-add=SYS_PTRACE --security-opt="seccomp=unconfined" on docker run.
If you don't want to add the capability to the whole container including other applications, you can also use Reli in a separate container.
https://github.com/reliforp/reli-prof?tab=readme-ov-file#from-docker

docker pull reliforp/reli-prof
docker run -it --security-opt="apparmor=unconfined" --cap-add=SYS_PTRACE --pid=host reliforp/reli-prof

With --pid=host, you can use the pid of the target process in the host pid namespace. If you want to use the pid in the container of the target process, you can use --pid=container:<container name>. See the manual for more detail about this --pid option.

This is the result (pricing-availqueue-8.1 is the name of the running container with the wanted process):
$ docker run -it --rm --security-opt="apparmor=unconfined" --cap-add=SYS_PTRACE --pid=container:pricing-availqueue-8.1 reliforp/reli-prof inspector:memory -p 14

Fatal error: Uncaught AssertionError: assert($memory_location instanceof ZendStringMemoryLocation) in /app/src/Lib/PhpProcessReader/PhpMemoryReader/MemoryLocationsCollector.php:660
Stack trace:
#0 /app/src/Lib/PhpProcessReader/PhpMemoryReader/MemoryLocationsCollector.php(660): assert(false, 'assert($memory_...')
#1 /app/src/Lib/PhpProcessReader/PhpMemoryReader/MemoryLocationsCollector.php(461): Reli\Lib\PhpProcessReader\PhpMemoryReader\MemoryLocationsCollector->collectZendStringPointer(Object(Reli\Lib\Process\Pointer\Pointer), Object(Reli\Lib\PhpProcessReader\PhpMemoryReader\MemoryLocation\MemoryLocations), Object(Reli\Lib\Process\Pointer\RemoteProcessDereferencer), Object(Reli\Lib\PhpProcessReader\PhpMemoryReader\ContextPools))
#2 /app/src/Lib/PhpProcessReader/PhpMemoryReader/MemoryLocationsCollector.php(1456): Reli\Lib\PhpProcessReader\PhpMemoryReader\MemoryLocationsCollector->collectZval(Object(Reli\Lib\PhpInternals\Types\Zend\Zval),<PHONE_NUMBER>7327, Object(Reli\Lib\Process\Pointer\RemoteProcessDereferencer), Object(Reli\Lib\PhpInternals\ZendTypeReader), Object(Reli\Lib\PhpProcessReader\PhpMemoryReader\MemoryLocation\MemoryLocations), Object(Reli\Lib\PhpProcessReader\PhpMemoryReader\ContextPools), NULL)
#3 /app/src/Lib/PhpProcessReader/PhpMemoryReader/MemoryLocationsCollector.php(1649): Reli\Lib\PhpProcessReader\PhpMemoryReader\MemoryLocationsCollector->collectClassConstantsTable(Object(Reli\Lib\PhpInternals\Types\Zend\ZendArray),<PHONE_NUMBER>7327, Object(Reli\Lib\Process\Pointer\RemoteProcessDereferencer), Object(Reli\Lib\PhpInternals\ZendTypeReader), Object(Reli\Lib\PhpProcessReader\PhpMemoryReader\MemoryLocation\MemoryLocations), Object(Reli\Lib\PhpProcessReader\PhpMemoryReader\ContextPools), NULL)
#4 /app/src/Lib/PhpProcessReader/PhpMemoryReader/MemoryLocationsCollector.php(1515): Reli\Lib\PhpProcessReader\PhpMemoryReader\MemoryLocationsCollector->collectClassDefinition(Object(Reli\Lib\PhpInternals\Types\Zend\ZendClassEntry),<PHONE_NUMBER>7327, Object(Reli\Lib\Process\Pointer\RemoteProcessDereferencer), Object(Reli\Lib\PhpInternals\ZendTypeReader), Object(Reli\Lib\PhpProcessReader\PhpMemoryReader\MemoryLocation\MemoryLocations), Object(Reli\Lib\PhpProcessReader\PhpMemoryReader\ContextPools), NULL)
#5 /app/src/Lib/PhpProcessReader/PhpMemoryReader/MemoryLocationsCollector.php(1485): Reli\Lib\PhpProcessReader\PhpMemoryReader\MemoryLocationsCollector->collectClassDefinitionPointer(Object(Reli\Lib\Process\Pointer\Pointer),<PHONE_NUMBER>7327, Object(Reli\Lib\Process\Pointer\RemoteProcessDereferencer), Object(Reli\Lib\PhpInternals\ZendTypeReader), Object(Reli\Lib\PhpProcessReader\PhpMemoryReader\MemoryLocation\MemoryLocations), Object(Reli\Lib\PhpProcessReader\PhpMemoryReader\ContextPools), NULL)
#6 /app/src/Lib/PhpProcessReader/PhpMemoryReader/MemoryLocationsCollector.php(360): Reli\Lib\PhpProcessReader\PhpMemoryReader\MemoryLocationsCollector->collectClassTable(Object(Reli\Lib\PhpInternals\Types\Zend\V80\ZendArray),<PHONE_NUMBER>7327, Object(Reli\Lib\Process\Pointer\RemoteProcessDereferencer), Object(Reli\Lib\PhpInternals\ZendTypeReader), Object(Reli\Lib\PhpProcessReader\PhpMemoryReader\MemoryLocation\MemoryLocations), Object(Reli\Lib\PhpProcessReader\PhpMemoryReader\ContextPools), NULL)
#7 /app/src/Command/Inspector/MemoryCommand.php(83): Reli\Lib\PhpProcessReader\PhpMemoryReader\MemoryLocationsCollector->collectAll(Object(Reli\Lib\Process\ProcessSpecifier), Object(Reli\Inspector\Settings\TargetPhpSettings\TargetPhpSettings),<PHONE_NUMBER>2496,<PHONE_NUMBER>4256, NULL)
#8 /app/vendor/symfony/console/Command/Command.php(326): Reli\Command\Inspector\MemoryCommand->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#9 /app/vendor/symfony/console/Application.php(1063): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#10 /app/vendor/symfony/console/Application.php(320): Symfony\Component\Console\Application->doRunCommand(Object(Reli\Command\Inspector\MemoryCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#11 /app/vendor/symfony/console/Application.php(174): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#12 /app/reli(56): Symfony\Component\Console\Application->run()
#13 {main}
  thrown in /app/src/Lib/PhpProcessReader/PhpMemoryReader/MemoryLocationsCollector.php on line 660

@maxgalbu
Hmm. Reli first found something other than string in a memory address of the target process, then found a reference to the same address as a string value of a class constant. This can be caused by a bug in Reli, but it's also possible that the state of the target process is actually corrupted by a bug in an extension or the interpreter. A use of a dangling pointer in the interpreter can cause such error.
What is the state of the target process? Seems to be running correctly?
Anyway, if you want to get the memory usage of the target process, you can try to use a modified version of Reli.
For example, first clone Reli, and then comment out the lines collecting class constants at all.
Then build the docker image of the modified version of Reli and use it, like this.
clone git@github.com:reliforp/reli-prof.git
cd reli-prof
# edit MemoryLocationsCollector
docker build -t reli-prof-mod .
docker run -it --rm --security-opt="apparmor=unconfined" --cap-add=SYS_PTRACE --pid=container:pricing-availqueue-8.1 reli-prof-mod inspector:memory -p 14

the process is running fine, apart from the memory leak somewhere
anyway, with the modified reli it works, thanks!

New error:
In MemoryReader.php line 92:

  failed to read memory. target_pid=14, remote_address=0x1, errno=14

# ./reli i:trace -- php -r "sleep(5);" -vvv
PHP 8.2.13 (cli) (built: Nov 27 2023 22:36:30) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.13, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.13, Copyright (c), by Zend Technologies

In ProcessMemoryByteReader.php line 47:

  [OutOfBoundsException]

inspector:trace [-p|--pid PID] [-d|--depth [DEPTH]] [-s|--sleep-ns [SLEEP-NS]] [-r|--max-retries [MAX-RETRIES]] [-S|--stop-process [STOP-PROCESS]] [--php-regex [PHP-REGEX]] [--libpthread-regex [LIBPTHREAD-REGEX]] [--zts-globals-regex [ZTS-GLOBALS-REGEX]] [--php-version [PHP-VERSION]] [--php-path [PHP-PATH]] [--libpthread-path [LIBPTHREAD-PATH]] [-t|--template [TEMPLATE]] [-o|--output OUTPUT] [--] [<cmd> [<args>...]]

@oleg-filiutsich
Hi! Thanks for the report! Could you try it again with the last option -vvv putting before -- ?
Also, if you open a new issue for this bug report, I would be happy because the current issue template has fields for writing information about the target process and the executing process, and this information is useful for solving the problem.


feat(material/paginator): add labels for page size options

Specify a label for each value in pageSizeOptions, e.g. {5, '5', 10, '10', 25, '25', ...} . Use case: to display a page size option of 'ALL'
to the user, include the table's length as an option, i.e. {... length: 'ALL'} .
BREAKING CHANGE: pageSizeOptions type change from number[] to
{[key: string]: string}
Fixes #8150

@crisbeto thank you for taking the time review this PR and providing feedback.  I believe I had addressed your feedback in c527fc8.
@crisbeto, @andrewseguin : Please note that this PR was based on a prototype developed by @jeff-a-andersen.  After submitting this PR, I decided to develop a more-focused solution that I think may be preferred -- please see #20397.

@dbgod Sorry for the lack of activity here - if you'd like to rebase the PR we can take another look at it

Closing due to inactivity - sorry that we didn't get a chance to finish this when sent. Feel free to reopen a rebased PR if you'd still like to land this


[Bug]: smartShutdownTimeout cannot be set to 0

Is there an existing issue already for this bug?

[X] I have searched for an existing issue, and could not find anything. I believe this is a new bug.

I have read the troubleshooting guide

[X] I have read the troubleshooting guide and I think this is a new bug.

I am running a supported version of CloudNativePG

[X] I have read the troubleshooting guide and I think this is a new bug.

Contact Details
No response
Version
1.23.3
What version of Kubernetes are you using?
1.29
What is your Kubernetes environment?
Cloud: Amazon EKS
How did you install the operator?
Helm
What happened?
Setting smartShutdownTimeout to 0 on the Cluster CR manifest results in it being overwritten by the operator to 180. It seems like 0 should be an allowed value if you do not want smart shutdowns at all.
Cluster resource
No response
Relevant log output
No response
Code of Conduct

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

I looked into the code and I don't see why we should not allow a setting of 0, given that there are situations in which we set it (see https://github.com/cloudnative-pg/cloudnative-pg/blob/5d3f5159c853d50d897b422de3963822821a1035/pkg/management/postgres/instance.go#L511)


Account blocked 👀

I am.not responsible for what youhave done with your account as i have clearly mentioned a disclaimer.
You can recover using that continue button and verifying your identity.
Its because of bulk request by you.


differences between Mac OS X and Windows 10 using multiple D455s...

So my code has always worked flawlessly on any platform using a single sensor with the C API.  I just tried interfacing to 2, 3, and 4 separate D455s.  Using the multicam tool included with the RealSense SDK, things seem to be running fine.  I see all the sensors updating regularly, but using my application, I modified my code to put all the RS2 pointers into their own structure and then used a QList to keep track of them.  In each case, I used the exact some code for connecting to each sensor and once all my cameras are connected, I use the following code to grab video.  On my Mac, this runs just fine.  I grab video across all sensors all the time, but on Windows 10, I get the first frame of video from all sensors, but not another frame of video after that.  I just keeps stalling.  What is going on?
        for (int n=0; n < cameras.count(); n++){
            // GET THE FIRST CAMERA IN THE LIST
            CameraPacket packet = cameras.at(n);

            // WAIT FOR A NEW FRAME OF VIDEO FROM THE PIPELINE
            rs2_frame *frames = rs2_pipeline_wait_for_frames(packet.pipeline, 5000, &err);
            if (err) {
                errorString = QString("Failed waiting for new frames of video: %1").arg(QString(rs2_get_error_message(err)));
                emit emitError(errorString);
                rs2_release_frame(frames);
            } else {
                qDebug() << "GRABBED A FRAME OF VIDEO FROM CAMERA" << n;

Hi @drhalftone  As a starting point in investigating your case could you try replacing wait_for_frames() with poll_for_frames() please?  The wait_for_frames() instruction is suited to single-camera applications, whereas poll_for_frames is suited for multi-cam applications, such as rs-multicam.
https://github.com/IntelRealSense/librealsense/blob/master/examples/multicam/rs-multicam.cpp#L49
More information about the difference between wait_ and poll_ can be found in the link below.
https://github.com/IntelRealSense/librealsense/issues/2422

I did that and the only camera I receive video from is the last one in the camera list. As a matter of fact, only the last one had its ir emitter turned on.  I never receive video from the front of the camera list cameras.
Sent from my iPhone

On Apr 20, 2021, at 3:08 AM, MartyG-RealSense @.***> wrote:

Hi @drhalftone As a starting point in investigating your case, could you try replacing wait_for_frames() with poll_for_frames() please? The wait_for_frames() instruction is suited to single-camera applications, whereas poll_for_frames is suited for multi-cam applications, such as rs-multicam.
https://github.com/IntelRealSense/librealsense/blob/master/examples/multicam/rs-multicam.cpp#L49
More information about the difference between wait_ and poll_ can be found in the link below.
#2422
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

It sounds then as though you have put in place the code that detects all attached cameras and builds a list of them:
https://github.com/IntelRealSense/librealsense/blob/master/examples/multicam/rs-multicam.cpp#L23-L33
And I note that you have already used the pre-made multicam example program successfully on Windows.
Which method did you use to install librealsense on Windows please - installer file from the Releases page, RSUSB backend or kernel patching?

Installer package from Releases page of github for Windows 10 x64.
On Apr 20, 2021, at 9:00 AM, MartyG-RealSense @.***> wrote:
It sounds then as though you have put in place the code that detects all attached cameras and builds a list of them:
https://github.com/IntelRealSense/librealsense/blob/master/examples/multicam/rs-multicam.cpp#L23-L33 https://github.com/IntelRealSense/librealsense/blob/master/examples/multicam/rs-multicam.cpp#L23-L33
And I note that you have already used the pre-made multicam example program successfully on Windows.
Which method did you use to install librealsense on Windows please - installer file from the Releases page, RSUSB backend or kernel patching?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/IntelRealSense/librealsense/issues/8864#issuecomment-823253861, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACRPLIQ6QITKFG2WC7NYJX3TJV3GJANCNFSM43G5ZYXQ.

What does stripping out the debug code to simplify the script do?

What do I do with frames?
Sent from my iPhone

On Apr 20, 2021, at 12:22 PM, MartyG-RealSense @.***> wrote:

What does stripping out the debug code to simplify the script do?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Doesn’t matter. Nothing happens. I don’t get any video.
Sent from my iPhone

On Apr 20, 2021, at 12:22 PM, MartyG-RealSense @.***> wrote:

What does stripping out the debug code to simplify the script do?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

The C++ script in the link below is a good reference for multicam simultaneous capture from all cameras.  It only captures a single frame from each camera, like your own script currently does (unintentionally) but may provide useful insights about writing a multicam application.
https://github.com/IntelRealSense/librealsense/issues/2219#issuecomment-412899468

I don’t want to be rude, but I’m going to turn this around on you. Are you saying that there is only one way to handle multicamera interfacing and that synchronous framegrabbing through rs2_pipeline_wait_for_frames doesn’t work with multiple cameras?  And again, I’m going to point out that this code works fine on the Mac.  I’ve tried two different Windows 10 machines with the same result. I mean there is a lot going on here that I believe needs a second look, especially if you’re an Intel programmer responsible for the drivers.
On Apr 20, 2021, at 4:06 PM, MartyG-RealSense @.***> wrote:
The C++ script in the link below is a good reference for multicam simultaneous capture from all cameras. It only captures a single frame from each camera, like your own script currently does (unintentionally) but may provide useful insights about writing a multicam application.
#2219 (comment) https://github.com/IntelRealSense/librealsense/issues/2219#issuecomment-412899468
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/IntelRealSense/librealsense/issues/8864#issuecomment-823566143, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACRPLIRGPJQZPLSGKAGMAVLTJXNE7ANCNFSM43G5ZYXQ.

I am a RealSense support engineer and are not involved in SDK development activities such as programming.
Please also bear in mind that your applications makes some adjustments to proven multicam procedures that are uncommon, such as putting all the RS2 pointers into their own structure and then using a QList to keep track of them.  So this may increase the chances of an unforeseen issue occurring, such as the phenomenon in this case of the project working on Mac but not on Windows.
There are certainly procedures that are recommended for multicam applications, such as using poll_for_frames instead of wait_for_frames, though RealSense users may find that their own coding style works better for their particular project.
Nevertheless, I am not a programming specialist.  And so whilst I can offer debugging guidance and are happy to continue the case with you, there are limitations to what I can do in regard to coding.

Well, I'm open to any suggestions you may have, but I was hoping to avoid completely re-writing my code from a synchronous programming model to asynchronous.

https://github.com/IntelRealSense/librealsense/issues/2219 offers example scripts for a few different approaches to multi-camera control.
Pipeline
https://github.com/IntelRealSense/librealsense/issues/2219#issuecomment-412348293
Pipeline and threads
https://github.com/IntelRealSense/librealsense/issues/2219#issuecomment-412351431
Pipelines (similar to rs-multicam
https://github.com/IntelRealSense/librealsense/issues/2219#issuecomment-412350887

An alternative approach may be to access each camera individually by its pre-defined serial number and take a capture instead of using query_devices to automatically build a list of all attached cameras without needing to know the serial number.  A disadvantage of this method would be reduced flexibility - you would have to use the same set of cameras that have a specific fixed serial number instead of being able to attach any camera.

So the C API is strictly prohibited?
Sent from my iPhone

On Apr 21, 2021, at 4:44 AM, MartyG-RealSense @.***> wrote:

#2219 offers example scripts for a few different approaches to multi-camera control.
Pipeline
#2219 (comment)
Pipeline and threads
#2219 (comment)
Pipelines (similar to rs-multicam
#2219 (comment)
An alternative approach may be to access each camera individually by its pre-defined serial number and take a capture instead of using query_devices to automatically build a list of all attached cameras without needing to know the serial number. A disadvantage of this method would be reduced flexibility - you would have to use the same set of cameras that have a specific fixed serial number instead of being able to attach any camera.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

Do you mean the "C" language (not C++ or C#) ?

Yes just C.
Sent from my iPhone

On Apr 21, 2021, at 8:11 AM, MartyG-RealSense @.***> wrote:

Do you mean the "C" language (not C++ or C#) ?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

"C" language is supported by librealsense but there are only a small number of programming references available for using that language with the SDK.
https://github.com/IntelRealSense/librealsense/tree/master/examples/C

Well, that’s what I’ve been using, and it’s never been an issue.  That being said, I would point out that none of the examples you’ve shown me actually show the sensors being used for any application. They are top down main programs and don’t demonstrate event based programming that is used with modern GUIs.  I have a user interface that want’s to process the video from the cameras.  So the main thread needs to be kept free for managing the user interface.  And if you’ve ever done any Qt programming.  You know objects are create (a great place to detect and open devices), and then the objects are pushed into their own QThreads.  Do you have any examples like this?
From: MartyG-RealSense @.>
Sent: Wednesday, April 21, 2021 8:16 AM
To: IntelRealSense/librealsense @.>
Cc: Dr. Daniel L. Lau @.>; Comment @.>
Subject: Re: [IntelRealSense/librealsense] differences between Mac OS X and Windows 10 using multiple D455s... (#8864)
"C" language is supported by librealsense but there are only a small number of programming references available for using that language with the SDK.
https://github.com/IntelRealSense/librealsense/tree/master/examples/C
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/IntelRealSense/librealsense/issues/8864#issuecomment-824013613 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ACRPLIWPK33R2IJRTFCP7MDTJ26WXANCNFSM43G5ZYXQ .  https://github.com/notifications/beacon/ACRPLIVN25RENI4PQG7BUGDTJ26WXA5CNFSM43G5ZYX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOGEOXGLI.gif

Although C has been supported in RealSense SDK 2.0 since its launch in late 2017, there have been very few C-related cases on this support forum over the years.  Python, C++ and C# are the most commonly used languages.
Due to the limited number of C references available, I will seek advice from Intel about your problem.

FYI, it was suggested to me that I might create the cameras in separate threads as opposed to create the cameras, pipelines, etc, in a single thread and then spinning them off into separate threads to handle the wait for frames.  This does create a lot of problems for me because I was setting up my OpenGL filtering based on parameters of the camera, which I wouldn't know until after I've created the camera handles.  I could rewrite my code based on just reading the model and serial strings, but it brings up a very important question, which is how does the RS API handle threading.  When you use the C++ API, does it create its own threads where the pipelines ultimately reside and is therefore able to avoid the issues I am running into?

According to the experience in my sample,
I think all of RS API should be call in the same thread.
The RS objects are working like smart pointer. RS library may reuse the resource which referenced by the handle (for example, the frame object will be reused by the library after released in user code).

That's certainly what I expected when I started this, but I'm struggling with ideas here.  I'll try to spend some time and post a sample project that demonstrates the error.  Again, it works just fine on my Mac.

Can we label them a a bug yet?

Solution I received from Intel's zendesk is to configure the device by serial number before I launch the pipeline.  I'm satisfied that my code is now working; however, it feels like a workaround.  And with such limited examples of the C API, I can see this being an issue for future developers.
    // ENABLE THE DEVICE BY SELECTING ITS SERIAL NUMBER
    rs2_config_enable_device(cameraPacket->configure, cameraPacket->serialString.toStdString().c_str(), &err);
    if (err) {
        qDebug() << QString("Unable to enable target device: %1").arg(QString(rs2_get_error_message(err)));
        return;
    }

    // START THE PIPELINE STREAMING
    cameraPacket->profile = rs2_pipeline_start_with_config(cameraPacket->pipeline, cameraPacket->configure, &err);
    if (err) {
        qDebug() << QString("Unable to start pipeline: %1").arg(QString(rs2_get_error_message(err)));
        return;
    }


RoutedViewHost should throw if requested ViewModel is not IRoutableViewModel

It seems that RoutedViewHost will happily consume any view model, even if it doesn't implement IRoutableViewModel. However, nothing really happens when one tries to navigate to such a VM. There might be a log message, but it should really be an exception.

Was trying to reproduce this, but I can't... On what platforms does this occur? On Xaml at least, there's an exception thrown if the view/viewmodel can't be located. Is being swallowed?
throw new Exception(String.Format("Couldn't find view for '{0}'.", x.Item1));

The behaviour is different across the various platforms, so I might have missed something...

That only throws if there isn't a view for the viewmodel. The problem is that if the viewmodel isn't an IRoutableViewModel, then we navigate to nothing.

I think this was inadvertently fixed by the move to the new ReactiveCommand. Now the command is strongly-typed, it is only possible to navigate to IRoutableViewModel instances.


hup: Add device OS update methods

Connects to https://github.com/balena-io/balena-sdk/pull/638
HQ: balena-io/balena#1215
Change-type: minor
Signed-off-by: Trong Nghia Nguyen<EMAIL_ADDRESS>

@thgreasi, thanks for the comments, I've fixed them all, can you please check again?


Performance improvements and bugfixes

Thanks, that last one about the https_address looks great, it gets rid of a lot of really dumb code.


Fix nil dereferencing

Signed-off-by: kanishkarj<EMAIL_ADDRESS>
Description
Fixes nil dereferencing in performance tests.
This PR fixes #1093
Notes to reviewers
Checklist

[] Signed commits.
[] PR title includes [<name of area>]:<description>

@kushthedude try this out. I think the issue is fixed.

The issue being fixed here is that of checking for an empty string and not for nil?

The issue being fixed here is that of checking for an empty string and not for nil?

Before nil value was getting passed which was resulting in termination of server, so this is just a check if user has provided the headers & cookies or not, to prevent sending of nil references.


What does 'Verbosity' mean?

What is the meaning of this?
Seems to be a new variable type in C/Side.

Verbosity is a new system option used by a new internal method (SendTraceTag). You are free to use the Verbosity option but the new method will not be available externally.

I'm affraid that this answer does not help Stan. What does SendTraceTag mean? Is it not better to hide this variable type if we are not suposed to use it?

As I wrote above - you are actually allowed to use this variable type. It's just an option with values Critical, Error, Normal, Verbose, Warning.
SendTraceTag will not be allowed to be used in extensions so I won't go into more details about it.


Update striped-categories.css

Changing the color style to work better across all different background colors.
This will work with better with both the default CSS and custom CSS styles (like my dark mode). Rather than just applying static colors, it's a lot more effective to just make the background of the alternating rows a semi-transparent color. That way, it works with any background color.

Thank you


feat: Add a way to select a specific branch before building the devcontainer

Description
Improve feature parity with github codespaces.
The goal is to add a new coder_parameter called target branch to workspace templates.
It will let the user select a branch from which to build a devcontainer.
Unlike the devcontainer cli, the git clone happen in the enbuilder container.
So I think it is the responsibility of envbuilder to checkout to the target branch before building the container.

PS: The workaround in readme.md does not work on all platforms.

This should is already possible. See https://github.com/coder/envbuilder#git-branch-selection
You can preformat your repo url to choose a specific branch.

I already tried with bitbucket but not luck. I'm not sure this workaround can work on bitbucket.
Also it is not user friendly, IMO it should be as easy as github codespaces.

When using the devcontainer cli  instead of enbuilder it is quite simple, just git checkout before invoking the cli.
Also auto completion of branches would be nice but out of the scope of envbuilder.


What is boba scope? Also in bottom left hand corner

https://gateway-test.tooling.boba.network/bobascope

@Boyuan-Chen can you please share more details what is the use boba scope it seems it's just history page but not sure what is the actual use of this page.

It shows the pending exit transactions. I will take some time to debug this.


New Theme: Compose

Theme submission
Please make sure that you have read the theme submission guidelines before submitting a theme. The guidelines provide all relevant information and requirements that have to be fulfilled before the submission. Please tick the relevant boxes for your theme in the checklist below:
Link to my theme repository: https://github.com/onweru/compose
I made sure that...

[x] the repository contains a good README.md describing my theme
[x] an open source license has been added to LICENSE.md
[x] all metadata have been added to theme.toml
[x] screenshots have been added in the images/ folder with the required dimensions
[x] in case I'm using a customized demo via the exampleSite folder that

[ ] https://example.com is set as base url in exampleSite/config.{toml, yaml, json} to avoid the abuse of unused domains
[ ] I tested that my theme's demo works with the content directory of gohugoio/HugoBasicExample

[ ] I tested my theme against the gohugoio/HugoBasicExample

[ ] I've checked the developer tools' console in my browser for error messages

[x] in case my theme is using Hugo Pipes features like toCSS and PostCSS that I have committed the /resources directory with all generated assets, for my theme to work in the basic version of Hugo

N.B. By submitting a theme to the Hugo Themes Showcase you understand that you need to maintain your theme. You will need to keep an eye on whether your theme's demo generates on the Hugo website, whenever there is a new release. We are a very small team and we just cannot keep up opening issues in the various theme repositories to notify authors. Whenever a theme demo breaks and remains broken then at some point it will be removed from the list without prior warning. If you no longer wish to maintain a theme please let us know.
Feel free to ask questions. We're glad to help.

Hello @onweru
I had a very quick look at the provided theme demo and I noticed that the header does not extend to the entire width of the page. As a result when scrolling down random chunks of text show up next to the header -see the screenshot below-:

Once you look into the above please let me know.

@onedrawingperday,
Thanks for catching that one. I fixed it.

@onweru
Furthermore I have noticed the following:

The logo is 404. You need to fix its source so that it doesn't point to the host root.

The search results also point to the host root. The URL of a given search result should not begin with a forward slash. However note that I cannot provide further feedback since debugging Javascript is beyond the scope of feedback that we are able to offer.

Once you look into the above let me know.

@onedrawingperday,
Thanks for pointing out those omissions, I fixed the urls in those areas and a few other places that were lacking too.

@onweru
Is this theme a fork of Docsy?
I am asking because some of the provided content files appear to be copied from the Docsy Example repo
If this theme is indeed a fork you need to mention that in the README, the LICENSE and theme.toml

@onedrawingperday

Is this theme a fork of Docsy?

No. I built this theme using  forestry's docs page as a guide.

I am asking because some of the provided content files appear to be copied from the Docsy Example repo

Absolutely correct. I relied on the docsy example repo when I got started putting the exampleSite. I have removed all content authored by the docsy team. It was wrong of me to include it in the first place without proper attribution. Thanks for raising the concern.

@onweru
Ok. I accept your explanation and I acknowledge that this seems like a mistake.
However it should be noted that when it comes to credits and licenses caution needs to be exercised to avoid future problems.
Now that this is sorted I have noticed the following issues in your theme:

Please provide a valid min_version. As mentioned in the README:

Hugo started using full semver versions even for main releases in v0.54.0, therefore if your theme has a recent min_version you need to enter it as 0.59.0 and not 0.59

The logo image is still 404. to fix change line 2 of layouts/partials/nav.html to:

@onedrawingperday
Thanks once again for the pointers. I fixed the versioning mistake. Kindly let me know if this other correction does it for the logo image.

@onweru
No. As I posted above you need to remove the first forward slash from the logo image's source.
i.e.

@onedrawingperday
My bad, totally missed that. It's fixed now.

@onweru
There are more permalink issues.

In line 16 of content/_index.md remove the first forward slash from the docs button like so:
{{< button "docs/" "Read the Docs" >}}

Again remove the first forard slash in line 13 of exampleSite/config.toml i.e. url = "docs/"

@onedrawingperday
I removed the forward slashes.

@onweru
I have added your theme to this repo in 24b39ab

@digitalcraftsman
This is a documentation theme.

Thank you @onweru for submitting this great looking documentation theme. Your theme will be promoted soon on Hugo's official Twitter account.

@digitalcraftsman

Thank you @onweru for submitting this great looking documentation theme. Your theme will be promoted soon on Hugo's official Twitter account.

Happy to contribute. Thanks for your great support 👍


@ symbol in name breaks NPM integration with Visual Studio 2015, ASP.NET 5, MVC 6 (@angular2-material)

When using visual studio 2015 Update 2, inside an ASP.NET 5 MVC 6 project, installing packages fails completely when adding a package.json file which contains dependencies such as the ones contained here in angular2-webpack-starter.
For example:
"dependencies": {
"@angular2-material/button": "2.0.0-alpha.3",
"@angular2-material/card": "2.0.0-alpha.3",
"@angular2-material/checkbox": "2.0.0-alpha.3",
"@angular2-material/core": "2.0.0-alpha.3",
"@angular2-material/input": "2.0.0-alpha.3",
"@angular2-material/list": "2.0.0-alpha.3",
"@angular2-material/progress-bar": "2.0.0-alpha.3",
"@angular2-material/progress-circle": "2.0.0-alpha.3",
"@angular2-material/radio": "2.0.0-alpha.3",
"@angular2-material/sidenav": "2.0.0-alpha.3",
"@angular2-material/toolbar": "2.0.0-alpha.3",
"core-js": "^2.2.2",
"normalize.css": "^4.1.1",
"rxjs": "5.0.0-beta.2",
"zone.js": "~0.6.12"
},
The @ symbol in @angular2-material is the problem. Please remove the @ symbol from the NPM registry package name. Removing the @ symbol fixes the issue and allows packages to install normally in visual studio using ASP.NET 5 MVC 6

It appears to work now. I deleted all files and started fresh in VS2015. So I'm not sure what caused that.


View contact

As a user, I want to be able to view a contact/all contacts in the system.

alfred finish alr


Set dynamically cluster domain parameter instead of using values.global.proxy

Describe the feature request

istioctl installation asks us to set values.global.proxy if the default domain cluster.local was changed.
But it is troublesome when we want to run CI with random suffix. We need to update values.global.proxy by sed command every time.

Describe alternatives you've considered

For example, Knative gets the cluster domain from /etc/resolv.conf inside pod like https://github.com/knative/pkg/blob/e135a17378476424c46108f6875a743f2d35ef52/network/domain.go
Alternatively kubectl get cm -n kube-system coredns -o yaml could get the cluster domain information.

[X] Installation
[X] Networking
[X] User Experience
[X] Developer Infrastructure

In general I am very in favor of doing it dynamically, but its not trivial.

For example, Knative gets the cluster domain from /etc/resolv.conf inside pod like https://github.com/knative/pkg/blob/e135a17378476424c46108f6875a743f2d35ef52/network/domain.go

https://github.com/istio/istio/pull/11878 attempted this previously, we did not think it handled all cases. Aside from custom /etc/resolv.conf cases, often times the control plane is not running in the same cluster

Alternatively kubectl get cm -n kube-system coredns -o yaml could get the cluster domain information.

This is not portable across all clusters
It seems feasible to make the it dynamic by default and then still allow explicit option for these edge cases though.
Related issue, inspired by what you are doing actually: https://github.com/istio/istio/issues/28053

Not stale. Not sure how we can do this, but if we can it would be great.


numlock out of sync

I've sometimes the problem that my numlock-state is not correctly synced between me and the target host.
It seems that mainly windows 2003 server as the target host is affected and in this case the numlock sometimes behaves like the opposite from my local state.
I use debian jessie with freerdp 1.1.0~git20140921.1.440916e+dfsg1-2+b1

+1. Numlock state should be somehow double-checked on connect and enforced.

@mfernau @Vladimir-csp any chance that you try with latest master (using the pre builds or compiling yourself) ?

I will try to rebuild debian package with current master sources.

It seems that debian freerdp package build rules are outdated, lots of failed tests.
I will try to build freerdp without a package later.

@Vladimir-csp you can give our nightly packages a try https://ci.freerdp.com/job/freerdp-nightly-binaries/

No packages for Stretch or Sid there. BTW, site's cert has expired yesterday.
Anyway with latest master, numlock sync seems to work properly, including when reconnecting to existing session. #2104 also seems to be fixed.

@Vladimir-csp thanks for the feedback. You might have hit the server shortly before we updated the certificate ;). I don't think we will create packages for sid but stretch is definitely on my todo list.
@mfernau if you still hit by this problem could you also verify that it is fixed for you with the latest master builds (or nightly packages https://ci.freerdp.com/job/freerdp-nightly-binaries/?)

@mfernau any update on this from your side?

I've just updated to the nightly builds and it looks promising. No async state so far!

@mfernau thank you for the feedback. I'll close the issue. Please re-open if the problem still exists.


Add object type hint for docs

From the reviews above, I'm not really sure. IMHO, the methods should be changed to expect the specific types if possible, unless there's an advantage I haven't realized yet.

I am fine with changes like these as long as they don't break anything in GodotSharp or GDNative. Keep in mind the ClassDB API is also used to generating language bindings.
That's not the case here, but I just wonder if there is any reason in particular for the method to allow passing Object* as parameter.

I guess it's best to keep the hints as Object for methods which expect Object arguments then for now, to avoid mismatches between the actual C++ API and the bindings.

Thanks. Fixed. :)


Typo in ImageDownloader.requestsUsePipeling

Check List
Thanks for considering to open an issue. Before you submit your issue, please confirm these boxes are checked.

[X] I have read the wiki page and cheat sheet, but there is no information I need.
[X] I have searched in existing issues, but did find a same one.
[X] I want to report a problem instead of asking a question. It'd better to use kingfisher tag in Stack Overflow to ask a question.

Issue Description
Typo in ImageDownloader.requestsUsePipeling property name
What
There is a typo in the name of the property. I think it should be named ImageDownloader.requestsUsePipelining since its value is assigned to httpShouldUsePipelining
Reproduce
Open module ImageDownloader.swift and look for requestsUsePipeling property.
Other Comment
I apologize for creating an issue for such an insignificant thing, it just caught my eye.

@oradyvan You are definitely correct on this!
Fixed in #673


CI, use setup-node@v2

this should make it run a bit faster, plus avoid the warning,

tnx !

tnx !


Add support for web links

As of version 2017.2 TFS seems to send only the following link with a git.pullrequest.created call:
"_links": {
  "web": {
    "href": "https://tfs.bbtlocal.ch/BBT/Infrastructure/_git/doc.infrastructure/pullrequest/1312#view=discussion"
   }
}

The payload should be enhanced to support the web link if available.

Marked as working because #156 exists.

e8be053
Thanks @pascalberger!


Playbot: parse --nightly, etc. playbot message prefix

Example:
[22:52:04]  <curtism>	playbop: VERSION
[22:52:04] -playbop-	"rustc 1.10.0 (cfcb716cf 2016-07-03)"
[22:52:10]  <curtism>	playbop: --nightly VERSION
[22:52:10] -playbop-	"rustc 1.12.0-nightly (1225e122f 2016-07-30)"

Open to alternate syntaxes and any suggestions for improving the code... It feels a little awkward to me.
r? @alexcrichton

Added error message response on unrecognized release channel.

Thanks!


Flex component doesn't get display:flex style

No matter what I try, the <Flex> component just doesn't ever have a display value of flex.
I dove into the source and in autoprefix.js the string display:-webkit-flex;display:-ms-flexbox is being added on to the style definition.
If you try:

the styles never come through. However:

works as expected. Is this a react bug or what? Or am I being dumb and have missed something totally obvious?

I saw your comment from twitter 😄
Pulled the example directory and just changed it to use the Flex component. The CSS it generated works fine, because it puts it into a

not as an inline style.

@wmonk that's using the jsxstyle webpack loader right? I'm using webpack usual style-loader... everything else works as expected — apart from the issue above.

How does that work? The style loader should pickup imported stylesheets, whereas, as far as I can tell jsxstyle will just put everything into style tags. Can you post your webpack config?

So I don't really know how or why, but in my project the styles are in-line on the dom nodes and jsxstyle isn't doing any appending to the head or anything.
Into the rabbit hole...

Realised the last npm published version of this is 0.0.18 — installed direct from github and now everything works perfectly (with the styles being appended to the head).
So weird.


Tweet Regarding SIG- Apps(Help Wanted: Annual Contributor Report 2021)

Provide the actual tweet content between the commented colons

Sig Apps is looking for active contributors to grow their pool of reviewers, for more information join the SIG Apps/SIG CLI Review club, https://groups.google.com/g/kubernetes-sig-apps/c/aTymvEPd2y0/m/HbqV7NiZBAAJ

/assign @kaslin


Support cast from decimal to varchar

Support cast from decimal to varchar. The raw string buffer is pre-allocated to be written directly.

cc @JkSelf

@mbasmanova Could you help review this PR? Thanks.

Please look at this issue, this function cannot throw exception too. https://github.com/facebookincubator/velox/discussions/6323

Just updated this PR, and the main change is to remove offset and update the pointer directly. Benchmark results (similar as last):
cast##cast_short_decimal                                    9.90ms
cast##cast_long_decimal                                    35.16ms

@rui-mo There are a lot of good discussions in this PR as it seems the implementation is non-trivial and there are multiple nuances to take care of. Would you update PR description to summarize the final implementation and explain some of the tricky details?

@rui-mo There are a lot of good discussions in this PR as it seems the implementation is non-trivial and there are multiple nuances to take care of. Would you update PR description to summarize the final implementation and explain some of the tricky details?

@mbasmanova Updated PR description, thanks.

CI is failing. Please, take a look.

Hi @mbasmanova @jinchengchenghh, thank you for the review. Do you have further comment?

@rui-mo Nice work. Thank you for all the effort you put into making this change. Looks great.

@mbasmanova @jinchengchenghh Thanks for your great help on this PR. Will ping you on the option (2) support when it is ready.


Adds modal that displays info on how to get to the explainer tool

This adds a button to the Deploy Personal Profile page What am I signing? which when clicked opens a modal with information on how to get to the explainer tool.
For this to properly work a new environment variable will need to be settled up EXPLAINER_URL which should be an URL to the explainer tool.

The "What am I signing?" isn't very obvious but maybe that can be fixed in the upcoming revamp of the UI.
The link to the explainer tool doesn't seem to work yet? Also I was thinking, could it be embedded in an iframe for lazy users who don't want to copy/paste in a new tab?

About the link, I think that maybe I need to trigger a new deploy for it to load the variable.
I guess it could be embedded, not sure how it would behave on smaller screens though, I'll give it a try.


angular/gitignore

angular.gitignore
Reasons for making this change:

TODO
Links to documentation supporting these rule changes:
TODO
If this is a new template:

Link to application or project’s homepage: TODO

See issues:
#4140
#3203
I hope it will finally make it, but the project it isn't updates for 2 years.


Fix #160

Extend kernel metadata rather than overriding it.

@mcg1969 The current CI error is linked to the Python 2.7 test environment. The question is should testing against Python 2.7 be discontinued?

I'm open to changing the tests but I do think we should strive to support Python 2 as a target kernel. This seems like a package that would be useful to support people with legacy models and applications. Do you by any chance have an understanding as to why the post-install script is failing?

Michael, I saw that on conda-forge, a release 4.10.0_1 exists that removes the post link script. Will it be acceptable to add conda-forge as channel to generate the test environment?

Yes! A good solution

Or we can just install conda-forge::ipykernel

Thank you so much for this hard work.

You're welcome. I got a hard time with the Python 2.7 cases. But it seems it is now working. Let's hope the OSX will pass too.


bluemap: 3.21 -> 5.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/BlueMap-Minecraft/BlueMap/releases.
meta.description for bluemap is: 3D minecraft map renderer
meta.homepage for bluemap is: https://bluemap.bluecolored.de/
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 5.2 with grep in /nix/store/p2nljflwiiprsyr5m5s78kmvf8zcdxxq-bluemap-5.2
found 5.2 in filename of file in /nix/store/p2nljflwiiprsyr5m5s78kmvf8zcdxxq-bluemap-5.2

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

bluemap

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/p2nljflwiiprsyr5m5s78kmvf8zcdxxq-bluemap-5.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A bluemap https://github.com/r-ryantm/nixpkgs/archive/6ecf226da5cd3ce20fb7cc8c41f3433942014c12.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/6ecf226da5cd3ce20fb7cc8c41f3433942014c12#bluemap

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/p2nljflwiiprsyr5m5s78kmvf8zcdxxq-bluemap-5.2
ls -la /nix/store/p2nljflwiiprsyr5m5s78kmvf8zcdxxq-bluemap-5.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

bluemap

Maintainer pings
cc @dali99 @h7x4 for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/bluemap/versions.
meta.description for bluemap is: 3D minecraft map renderer
meta.homepage for bluemap is: https://bluemap.bluecolored.de/
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 5.3 with grep in /nix/store/wh5r553hwqycj36qj1pq7mqv3sq0qg1r-bluemap-5.3
found 5.3 in filename of file in /nix/store/wh5r553hwqycj36qj1pq7mqv3sq0qg1r-bluemap-5.3

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

bluemap

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/wh5r553hwqycj36qj1pq7mqv3sq0qg1r-bluemap-5.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A bluemap https://github.com/r-ryantm/nixpkgs/archive/45a85a8f3e787b7c30b05ab8a6335d406da39107.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/45a85a8f3e787b7c30b05ab8a6335d406da39107#bluemap

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/wh5r553hwqycj36qj1pq7mqv3sq0qg1r-bluemap-5.3
ls -la /nix/store/wh5r553hwqycj36qj1pq7mqv3sq0qg1r-bluemap-5.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

bluemap

Maintainer pings
cc @dali99 @h7x4 for testing.


Let user limit number of architectures, to improve build time

Description
This PR adds an build-time environmental variable NVTE_CUDA_ARCHS that lets the user decide on which architectures TE will compile by default. If not set it will retain old behaviour of building TE on 70, 80, 89 and 90
Type of change

[ ] Documentation change (change only to the documentation, either a fix or a new content)
[ ] 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 not work as expected)
[x] Infra/Build change
[ ] Code refractor

Changes
Please list the changes introduced in this PR:

Added NVTE_CUDA_ARCHS envvar
Common (CMake) and Pytorch Extension now respects envvar if set

Checklist:

[x] I have read and followed the contributing guidelines
[x] The functionality is complete
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

/te-ci


matrix-synapse: 0.22.1 -> 0.23.1

Motivation for this change
Upstream optimizations and fixes
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

I don't know the first thing about python packaging; maybe there's a tidier way to handle affinity.

LGTM, but I think there's two unconventional things about the affinity expression:

use of buildPythonPackage instead of buildPythonApplication for a library (or is affinity meant to be called interactively?
fetchPypi with pname, version and sha256 attributes is preferred over fetchurl

Thanks! Fixed.

@grahamcofborg matrix-synapse

stripping (with flags -S) in /nix/store/22c0r0hlrvnp3mgi4q3cn9248ly40pq3-matrix-synapse-0.23.1/lib  /nix/store/22c0r0hlrvnp3mgi4q3cn9248ly40pq3-matrix-synapse-0.23.1/bin
patching script interpreter paths in /nix/store/22c0r0hlrvnp3mgi4q3cn9248ly40pq3-matrix-synapse-0.23.1
checking for references to /tmp/nix-build-matrix-synapse-0.23.1.drv-0 in /nix/store/22c0r0hlrvnp3mgi4q3cn9248ly40pq3-matrix-synapse-0.23.1...
wrapping `/nix/store/22c0r0hlrvnp3mgi4q3cn9248ly40pq3-matrix-synapse-0.23.1/bin/synapse_port_db'...
wrapping `/nix/store/22c0r0hlrvnp3mgi4q3cn9248ly40pq3-matrix-synapse-0.23.1/bin/hash_password'...
wrapping `/nix/store/22c0r0hlrvnp3mgi4q3cn9248ly40pq3-matrix-synapse-0.23.1/bin/synctl'...
wrapping `/nix/store/22c0r0hlrvnp3mgi4q3cn9248ly40pq3-matrix-synapse-0.23.1/bin/homeserver'...
wrapping `/nix/store/22c0r0hlrvnp3mgi4q3cn9248ly40pq3-matrix-synapse-0.23.1/bin/register_new_matrix_user'...
/nix/store/22c0r0hlrvnp3mgi4q3cn9248ly40pq3-matrix-synapse-0.23.1

Bumped version again.

Builds OK for me. Haven't tried running it but would very much like to see this in master.
@Ralith Any remaining issues that you feel blocks this?

AFAIK this is ready; I've been using it on a live system for a while now.


"Apple Music Not Available In Country or Region"

Please follow the instructions here to fix this issue.
Any issues that are opened relating to this exact problem will be closed and redirected here.

Still this issues presists


⚠ GitLab Server has degraded performance

In c30b81d, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 11516 ms

Resolved: GitLab Server performance has improved in 5c27560.


Restructure application using pkg and internal directories

Structure application in more Go-ish way

@satk0 would you like to help me write documentation for using this application as a library, instead of using it as standalone CLI? the use case would be for example to deploy the application to k8s cluster with automatic logstash discovery


Deploy freezes

Q
A

Issue Type
Question

Deployer Version
6.0.3

Local Machine OS
macOS 10.13.1 (High Sierra)

Remote Machine OS
Debian Jessie 8.5

Description
Deployer is stucked during deploy:prepare command. I have tried multiplexing and forwardAgent combination true or false with no effect.
Steps to reproduce
dep deploy
Content of deploy.php
<?php
namespace Deployer;

require 'recipe/symfony3.php';

// Project name
set('application', 'hourglass');

// Project repository
set('repository', 'git@gitlab.com:xxx/hourglass.git');

// [Optional] Allocate tty for git clone. Default value is false.
set('git_tty', true);

// Shared files/dirs between deploys
add('shared_files', []);
add('shared_dirs', []);

// Writable dirs by web server
add('writable_dirs', []);

// Hosts
host('access.snackhost.eu')
    ->user('xxx')
    ->configFile('~/.ssh/config')
    ->identityFile('~/.ssh/id_rsa')
//    ->multiplexing(true)
//    ->forwardAgent(false)
    ->port(22)
    ->set('deploy_path', '/home/xxx/deploys/hourglass');

// Tasks

task('build', function () {
    run('cd {{release_path}} && build');
});

// [Optional] if deploy fails automatically unlock.
after('deploy:failed', 'deploy:unlock');

// Migrate database before symlink new release.

before('deploy:symlink', 'database:migrate');

Output log
dep deploy -vvv
[localhost] > export SYMFONY_ENV='prod'; git rev-parse --abbrev-ref HEAD
[localhost] < master
✈ Deploying master on access.snackhost.eu
• done on [access.snackhost.eu]
➤ Executing task deploy:prepare
[access.snackhost.eu] > export SYMFONY_ENV='prod'; echo $0
[access.snackhost.eu] < bash

Looks like your connected to server successfully:
[access.snackhost.eu] > export SYMFONY_ENV='prod'; echo $0
[access.snackhost.eu] < bash

But stuck after that. Can you give me access to your server to test it myself?

@antonmedv, I change timeout to 2s, this is what I get:
[Symfony\Component\Process\Exception\ProcessTimedOutException]
The process "ssh -A -p 22 -i ~/.ssh/deploy -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no<EMAIL_ADDRESS>'bash -s; printf "[exit_code:%s]" $?;'" exceeded the timeout of 2 seconds.

When I try to run this command directly from CLI I get connected.

Having exactly the same problem. @dfridrich did you manage how to fix it?

@danielchodusov not yet, so I'm still using Capistrano :(

Sorry, for delay. Did you solve problem?

@antonmedv nope :(

Okay, lets try to investigate it. Please, contact me by email.

I have the same issue as dfridrich ... running into the timeout (300 seconds) for a symfony-recipe based deployment. The task executed is  "deploy:vendors". It doesn't happen regularily, one time the timeout happens, another time it's ok.

 Additionally, I'll debug with --log deploy.log. I just learned about this awesome option...

Is there any update on it? I have also faced with a timeout issue

The process "ssh -A<EMAIL_ADDRESS>'bash -s; printf "[exit_code:%s]" $?;'" exceeded the timeout of 300 seconds.

This command should be fast due to it just retrieves a last command execution status

I'm seeing the same issue, when deploying on parallel to the same SSH user/host but different folder.
Host a1 is on server A, host b1 and b2 on the same server (same user/pass/etc as well), using the latest version (6.4.3)
The first 2 execute, the third is stuck.
+ /usr/bin/php7.1 bin/dep deploy staging -p -n -v --branch="$BITBUCKET_BRANCH" --revision="$BITBUCKET_COMMIT"
✈ Deploying revision e981a868db1beee4a33a511d3232cf8ca12d5640 on a1.example.com
• done on [a1.example.com]
✈ Deploying revision e981a868db1beee4a33a511d3232cf8ca12d5640 on b1.example.com
• done on [b1.example.com]
✈ Deploying revision e981a868db1beee4a33a511d3232cf8ca12d5640 on b2.example.com
• done on [b2.example.com]
➤ Executing task deploy:prepare
• done on [a1.example.com]
• done on [b1.example.com]

When I remove the -p flag, it works again (with exact same config using Bitbucket pipelines). Never seen this issue without the -p flag.

Some problem here when using -p. All my hosts (environments) are on the same server.
If I omit -p, I can deploy on all hosts, using dep deploy --roles=all.
Any news about this issue? Thank you

So perhaps an issue with re-using the connection on the same host?

I'm closing this issues as inactive. Please, feel free to open new issues.


[BUG] A bank users are unable to make a edit/correction to a purchase, donations, or distributions

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
Attempting to make a correction on a distribution, donation, or purchase will result in a 500 error that looks like this:
undefined local variable or method `id' for {"item_id"=>4828, "name"=>"Wipes (Baby)", "quantity"=>1000, "active"=>true}:ActiveSupport::HashWithIndifferentAccess

Expected Behavior
I expect that the editing works without the error.
Steps To Reproduce
In local (development), go to a purchase, donation, or distribution and attempt to make a edit or correction. It would result in the error mentioned.
Environment
- OS:  macOS 12.4

Anything else?

<EMAIL_ADDRESS>reported that they are unable to edit a purchase. I tried it out and got this error:
undefined local variable or method `id' for {"item_id"=>4828, "name"=>"Wipes (Baby)", "quantity"=>1000, "active"=>true}:ActiveSupport::HashWithIndifferentAccess

<EMAIL_ADDRESS>also reported the same issue with donations:
undefined local variable or method `id' for {"item_id"=>406, "name"=>"Kids (Newborn)", "quantity"=>175, "active"=>true}:ActiveSupport::HashWithIndifferentAccess

I don't see this in production bug monitoring tools so I'd like to see if someone can verify if anyone else is experiencing this issue.

@dorner thank goodness bullet isn't on in deployed environments! Wanna take a swing at fixing this?

I'm getting it 🚀

So it looks like the issue is here: https://github.com/flyerhzm/bullet/blob/master/lib/bullet/detector/n_plus_one_query.rb#L36
combined with this: https://github.com/rubyforgood/human-essentials/blob/main/app/models/concerns/itemizable.rb#L92
Itemizable defines a to_a method which returns a list of items. I don't know why it behaves this way since to_a is a "special" method used by Ruby to allow a class to define a method that returns an array. For example, the following:
{foo: "bar"}.to_a
returns [[:foo, "bar"]].
Apparently @seanmarcia loves them for it though 😛 https://github.com/rubyforgood/human-essentials/pull/718#discussion_r284282261
Long story short we have a few options here:

Figure out all the places where to_a is used in our code and rip them out. Unfortunately this is nigh-on impossible, since to_a is used implicitly, such as in exactly this case.
Add a PR to bullet changing the Array call to Array.wrap, which only uses to_ary and does not drop down to to_a. I think that's really what's meant to happen here in any case - I don't think Bullet really wants us to call a transformation function.

For now I'll add in the PR and see what the response is.

PR has been created! https://github.com/flyerhzm/bullet/pull/621