support 3d convolution with float64

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
No

OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
Windows 7

Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
N/A

TensorFlow installed from (source or binary):
from pip install

TensorFlow version (use command below):
tensorflow 1.9.0

Python version:
3.6

Bazel version (if compiling from source):

GCC/Compiler version (if compiling from source):

CUDA/cuDNN version:
cuDNN 9.0 v7, CUDA9.1

GPU model and memory:
GTX980Ti 6GB, Geforce Titan X 12GB

Exact command to reproduce:

You can collect some of this information using our environment capture script:
https://github.com/tensorflow/tensorflow/tree/master/tools/tf_env_collect.sh
You can obtain the TensorFlow version with
python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"
Describe the problem
Describe the problem clearly here. Be sure to convey here why it's a bug in TensorFlow or a feature request.
I'm working on some convolutional calculation on the Tensorflow and got some strange errors with the Double Precision numbers.
I needed to calculate those tensors in float64 because of the precision issues.
The conv3d works fine with me on float32, but on the Double precision, it only works on CPU and on the GPU it causes error.
So is there any way I can get access to this operation?
Source code / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. Try to provide a reproducible test case that is the bare minimum necessary to generate the problem.
import tensorflow as tf
import numpy as np
with tf.device('/device:GPU:0'):
a = tf.constant(2 * np.ones([1, 200, 200, 200, 9], dtype=np.float64), dtype=tf.float64)

b = tf.constant(np.ones([3, 3, 3, 9, 9], dtype=np.float64), dtype=tf.float64)

sess = tf.Session()

init = tf.global_variables_initializer()

sess.run(init)

c = tf.nn.conv3d(a, b, strides=[1, 1, 1, 1, 1], padding='SAME')
print(a)
print(b)
print(c)
for i in range(1000):
    print(sess.run(c))

the output says
InvalidArgumentError (see above for traceback): Cannot assign a device for operation 'Conv3D': Could not satisfy explicit device specification '/device:GPU:0' because no supported kernel for GPU devices is available.
Registered kernels:
device='CPU'; T in [DT_HALF]
device='CPU'; T in [DT_FLOAT]
device='CPU'; T in [DT_DOUBLE]
device='GPU'; T in [DT_HALF]
device='GPU'; T in [DT_FLOAT]
[[Node: Conv3D = Conv3D[T=DT_DOUBLE, data_format="NDHWC", dilations=[1, 1, 1, 1, 1], padding="SAME", strides=[1, 1, 1, 1, 1], _device="/device:GPU:0"](Const, Const_1)]]

Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks.
Mobile device

Hi, I created PR #21356 to fix the issue.

Thanks!

Nagging Assignee @robieta: It has been 15 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.


Added JetBrains events in Australia

If you have some questions, please let me know -<EMAIL_ADDRESS>Thank you!

Fantastic, thanks @prokashev 🎉


Full support Persian calendar

I've just changed some codes for transform controls to show correct direction of Persian calendar

@WenchaoD could you see this?

The RTL issue has been solved. Thanks.


Travis: propagate failures

@homunkulus r+

:pushpin: Commit 7491891 has been approved by japaric

:hourglass: Testing commit 7491891 with merge 7491891...

:broken_heart: Test failed - status-appveyor


Parallelism is not present anymore

Hi,
Thank you for sharing the tool some notes on the new release.

The -T option that was bringing parallel enumeration does not exist anymore which make the tool significant slow.
The output also option does not exist in the new release which was helpful for automation process, and finally
One general recommendation for improvement, a better error handling when requests are throttled or the service does not accept further attempts ( e.g. vnc service already blocking connection due to max amount of failed attempts  )

Regards,
Nicolas

Hey @dinosn, this was something I was aware of and I am currently working on. With the rewrite I knew I was introducing some regressions, however you can still use the older python tags until I push a fix. The next release should have these implemented how the old python version implemented it. On the 3rd issue you mentioned I currently have it retry on connection failed or timeout, you can specify the amount of retries before it gives up.
Please feel free to open up additional issues and I will tackle these as I have time.
Thanks!

Hi,
Thank you for the prompt response, I believe the community is looking forward for the tool.  For the retry on failed a clarification, in some cases a service will not allow further attempts, for example on vnc, the following might be present as a response:
 CConn:       Connection failed: Too many security failures

In that case the tool doesn't need to try further as all connections are blocked.
Looking forward for the updates.
Regards,
Nicolas

Ahh I see yes I will look into that further. I’ll keep this open until the fixes have been implemented! Thanks!

#72 should have 2 / 3 fixes implemented. I will be working on better connection handling for next releases. Currently if anything connection fails whether timeout or the host is not up it backs off attempts and only retries by the Int provided by the argument.

closing this as I have pushed fixes for all but 3, but will work on better handling for more major releases


Bump jwt from 8 to 9

Hi all, this is my first PR in this repo. Please tell me What I should do when creating a PR?
The PR mainly contains two commits

Add dependabot that will help to check the latest dependency version. This would help to decrease the risk from the software supply chain.
Update jsonwebtoken crate from version "8" to "9"

Thank you!


Manjaro: ungoogled-chromium-bin is missing glibc 2.38.

Ungoogled-chromium-bin 115.0.5790.170-1 AUR on a Manjaro installation refuses to launch and complains it cannot find GLIBC_2.38.
Indeed glibc is still at 2.37. Is installing (compiling) the non-bin version the only way out for the time being?

Yes. There will not be binaries compatible  with whatever desync glibc version Manjaro is shipping.

They are holding back 2.38 due to an apparent regression it has, see:
https://forum.manjaro.org/t/testing-update-2023-08-09-kernels-gamescope-plus-nvidia-kde-git-haskell-perl-python/145957/8
https://sourceware.org/bugzilla/show_bug.cgi?id=30723

You can switch to testing branch of Manjaro - see how, where ungoogled-chromium-bin works just fine, though you might want to install a newer kernel than 6.1 (the current LTS) because the changes present on testing cause a kernel panic upon booting for some.

The manjaro stable branch has been updated, including glibc to version 2.38. This issue should be closed.


[WIP] implement UserNotifications for ios 10 and above

Summary

Apply UserNotifications framework to handle notifications

Requesting & checking permissions
Handle notification received

Test Plan

What's required for testing (prerequisites)?
What are the steps to reproduce (after prerequisites)?
Compatibility

OS
Implemented

iOS
✅

Android
❌

Checklist

[ ] I have tested this on a device and a simulator
[ ] I added the documentation in README.md
[ ] I mentioned this change in CHANGELOG.md
[ ] I updated the typed files (TS and Flow)
[ ] I added a sample use of the API in the example project (example/App.js)

Sorry, I don't have time to continue on this PR. I have to update this one and react-native-push-notificaiton. So I decide to use an alternative lib to make it works on my project

@r0b0t3d which one do you use then ?

I made a fork of react-native-fcm


Add context to client interface

It would be good to have a context passed in the generated client methods so that it become easier to add timeouts/deadlines to the requests. i.e.
func (client *Client) DeleteShelves() error {
...

becomes
func (client *Client) DeleteShelves(ctx context.Context) error {
...

This issue related to #24.

Closing issue.


SyntheaEDA Jupyter Notebooks - Added for DIG-757 and subtasks

DESCRIPTION
This pull request relates to the DIG-757 Jira Ticket and is our first Jira Ticket during our time at UHN. The purpose of this project was to get antiquated with existing ML Libraries, as well as to get some experience with setting up development environments on our local machine. It's also good practice for when we work to integrate the federated-learning repo into the CanDIG-V2 stack. (Note, there was additional EDA done to explore and test inputs and outputs, which was omitted for clarity purposes).
The following parts of DIG-757 are completed by this PR:

DIG-758: Install Katsu, Populate Katsu with Synthea Data, Familiarize oneself with API endpoints, etc.
DIG-759: Uses Jupyter Notebooks to perform EDA of the collected Synthea Data
DIG-759: Selects Set of inputs/outputs
DIG-759: Selects default classifier to use (Decision Tree)
DIG-760: Uses Jupyter Notebooks to document and train selected classifiers
DIG-757: Creates README file in Ali_Laiba_syntheaEDA directory with important information regarding the EDA (eg. dependencies, etc.)

CHANGELOG

January 20, 2022 -> Added EDA Jupyter Notebooks: SyntheaEDA and SyntheaClassifiers, partially documenting the EDA process for DIG-759 and DIG-760. These notebooks detail the process of selecting and processing data from the Synthea MCODE Synthetic Breast Cancer Data and also detail how the training of several different classifiers occurs using the scikit-learn module within Python. The classifiers have been tested and trained using the Synthea Data, and further documentation exists at the respective confluence pages for both of the EDA's.
January 20, 2022 -> Added Jupyter Notebook Installation Instructions with README. Created a short README with details on how to get the Notebooks up and running, including instructions on getting dependencies installed, running a katsu server with ingested data, and running a graphql endpoint via which to access the data.
January 20, 2022 -> Updated Jupyter Notebooks with additional graphs for KNN
January 24, 2022 -> Modified README for clarity purposes

DEPENDENCIES

Requires Local Katsu Instance with Synthea Data Ingested at port 8000
Requires GraphQL-interface endpoint set up and directed to port 7999
Requires updates to GraphQL repo CanDIG/GraphQL-interface#5

Quickstart

View the README File for a Quickstart Guide

@AliRZ-02  @Zamm178  This PR has the best description I have seen in most my professional settings. I needed to say that before any review.

This work is all done with Jupyter notebooks? I wish github showed rendered notebooks.

@amanjeev

Just thinking out loud. -- This work is all done with Jupyter notebooks? I wish github showed rendered notebooks.

It does - if you navigate to the file using the repository's file tree (instead of loading the diff) it will render. Ex.: https://github.com/CanDIG/federated-learning/blob/AliRZ-02/DIG-757-SyntheaEDA/examples/synthea-breast-cancer/Ali_Laiba_syntheaEDA/SyntheaEDA.ipynb


[11pt] Prototyping: LISFLOOD-FP: Conduct Initial Eval (Acquire LISFLOOD-FP inputs)

This process will help us to automatize the process of providing the appropriate format of FIM.3's input datasets to run the LISFLOOD and evaluate the computational time and accuracy performance in terms of flood inundation mapping capabilities.

All the evaluation datasets, initial results, presentation file have been stored in the following Drive. The final evaluation summary will be discussed next week March 4th 2021! ju.

quic


Docs: "SpecificationEvaluator" seems to be removed but is used in examples

Hi there,
How to use Specifications with the Repository Pattern shows the usage of the "SpecificationEvaluator", but the class seems to not exist, anymore.
Maybe the docs need an update?
Is there a replacement?

The docs are using SpecificationEvaluator.Default, which is still supported today.

Sorry, but I don't think so.
It's been nearly a year since I reported this but I am quite sure, that VS couldn't find the class.
Also I had a quick look into https://github.com/ardalis/Specification/tree/main/Specification/src/Ardalis.Specification/Evaluators
and still couldn't find it.
Can you point out to the class or what do meany by "it's still supported today"?

Ok sorry. My bad.
Found it in https://github.com/ardalis/Specification/blob/main/Specification.EntityFramework6/src/Ardalis.Specification.EntityFramework6/Evaluators/SpecificationEvaluator.cs
Might be the reason, that I didn't have that package included.

The evaluators are included in the "plugin" packages. You have to install either of these packages:

Ardalis.Specification.EntityFrameworkCore - if you're using EF Core
Ardalis.Specification.EntityFramework6 - if you're using EF6

The base package Ardalis.Specification contains only in-memory evaluators.


getting error during TSInstall rescript

Getting below error when executing TSInstall rescript
nvim-treesitter[rescript]: Error during compilation
src/scanner.c:140:9: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int]
  const in_string = state->in_quotes || state->in_backticks;
  ~~~~~ ^
  int
1 error generated.

I'm getting the same error :(

Hello,
Not sure if this repo is up-to-date, you can use instructions in this repository: https://github.com/rescript-lang/tree-sitter-rescript


find replacement for django-jsonfield

if we want Postgres' JSON we may want to move away, this is a known issue.  https://github.com/bradjasper/django-jsonfield/issues/80
for now I've pinned the jsonfield version to 0.9.20 which doesn't have a problem, but we're getting weird errors on 0.9.22 (on travis) where the JSONField comes back as '{}' instead of {}

Yeah, I'm thinking jsonb is the way to go here; let's break out once we can land 9.4 and have a solid route to use it.
Also, wow, this was the bug we were seeing not to long ago, cc @boblannon

closing this as Django 1.9 fixes this in 0.7


Validate blob belongs to the app when staging

Depends on #699
When the user uploads the application code, we store the application metadata on the object itself. We do the same when we pull from git
We can use these metadata to validate that the blob the client sends on the stage request actually matches the application on the same request. This should prevent someone from staging an app with the sources of another app.
Given everyone can do everything on Epinio right now (we don't have user roles), this is mostly for validation against code mistakes on the client (e.g. the web UI).
After discussing it with @manno, we think it could even be a feature to be able to deploy applications with the blob of another app. E.g. Someone updates the sources of a wordpress application and everyone else is staging their apps using those (updated) sources. To make it a useful feature, it would require a lot more that simply allowing this.
TBD: To validate or not to validate?

A bit of a tangent, but it would be nice if the validation added to the security of the platform in the future. Maybe PKI?

A bit of a tangent, but it would be nice if the validation added to the security of the platform in the future. Maybe PKI?

That's a good idea! So Epinio only uses blobs it uploaded and signed. This will prevent someone from messing with the uploaded blobs by accessing the S3 bucket directly. Maybe we can split that to a separate issue. Let's wait until this one is picked up to decide.

The referenced pieces of code are:
blobUID, err := manager.Upload(ctx, blob, map[string]string{
		"app": name, "org": org, "username": username,
	})

where the map contains the meta data in question.


tree-sitter-verilog: Error while installing the latest tree_sitter v0.2.2 from pip

The last working job building tree-sitter-verilog used tree-sitter 0.2.1. Now I can see that the 0.2.2 installation is attempted but it fails with:
+ /home/runner/work/litex-conda-eda/litex-conda-eda/workdir/conda-env/conda-bld/tree-sitter-verilog_1611736795834/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin/python -m pip install --isolated tree_sitter
Collecting tree_sitter
  Downloading tree_sitter-0.2.2.tar.gz (110 kB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'error'

.
   command: /home/runner/work/litex-conda-eda/litex-conda-eda/workdir/conda-env/conda-bld/tree-sitter-verilog_1611736795834/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/bin/python /home/runner/work/litex-conda-eda/litex-conda-eda/workdir/conda-env/conda-bld/tree-sitter-verilog_1611736795834/_h_env_placehold_placehold_plac
ehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/lib/python3.7/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-5qiezwyi/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'setuptools>=43.0.0' 'wheel>=0.36.2'
       cwd: None
  Complete output (2 lines):
  ERROR: Could not find a version that satisfies the requirement setuptools>=43.0.0
  ERROR: No matching distribution found for setuptools>=43.0.0

It will be skipped by the CI workflow until this is fixed.

Latest successful job: https://github.com/litex-hub/litex-conda-eda/runs/1770324843
Job failure with the newer tree_sitter: https://github.com/litex-hub/litex-conda-eda/runs/1775358509

Latest successful job: https://github.com/litex-hub/litex-conda-eda/runs/1770324843
Job failure with the newer tree_sitter: https://github.com/litex-hub/litex-conda-eda/runs/1775358509


Add option to suppress timestamps

Hello and thank you for foreman! We use to start multiple processes in a container-based PaaS. The PaaS logging system prepends timestamps to all log lines, so we end up getting duplicate timestamps in log output: the first comes from foreman and the second comes from the PaaS.
This PR adds an option, --no-timestamp, to suppress timestamps from foreman log lines.

Thanks!


Better handling of cases where dart errors are throw during response …

Not all errors thrown here are GraphQL errors and we should not show an error related to being unable to access message.
When I encountered this, it led to a lot of misdirection and debugging...

My thinking is it might be cleaner to create graphql-specific exception classes and only catch those. This way non-graphql errors propagate up as expected. I created an issue related to this here #177

:tada: This PR is included in version 1.0.0-beta.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Adjacency information after pooling

Hi @ranahanocka ,
I have a rather basic question, how/where is the mesh passed to the next layer after pooling? In other words, to be able to have another convolution and/or pooling operation, one needs a new adjacency matrix of some sort (e.g. mesh.edges), but I have failed to find that in the code, could you please let me know where in your implementation the new adjacency (after pooling) is either taken into account or updated?
Thank you in advance :)

Hi @Peon26 --
Yes, the mesh data-structure is passed to both the mesh_conv and mesh_pooling / mesh_unpooling layers.
Conv doesn't change the adjacency information, but when we collapse edges in the mesh_pooling layer we modify the mesh data structures inside the mesh_pooling layer.
You can start by looking around this line of code in mesh_pool.

Thank you @ranahanocka


Add support for type annotations to attr: ast parsing

Summary of changes
This extends the ast parsing setuptools does to load attributes without evaluating a module to also process simple assignments with type annotations. Those produce a different node ast.AnnAssign rather than ast.Assign and require slightly different handling since the node has a different attribute target vs targets.
Since that seemed like it might make the generators more complicated, I reworked things into for loops and made some other tweaks. I'd be happy to take a different approach though.
The existing ast.Assign nodes should pass through exactly the same processing. The AttributeError that could result should also be the same too, except that it won't be chained with a StopIteration if the outer for loop is exhausted (as it would be with the next() call).
This doesn't close any existing open issue that I can find. There is #2563 which looks related. I think in that case the attribute loading worked because setuptools fell back to evaluating the module when the ast processing likely failed.
That fallback works in some cases, but it causes problems in when the module isn't importable until after the build (for example, extension modules that need to be compiled). The ast parsing is really helpful in these cases, and it would be nice if it could also handle type annotations.
Pull Request Checklist

[X] Changes have tests
[X] News fragment added in changelog.d/.
(See documentation for details)

Thank you very much for the contribution @karlotness (and the awesome attention to details, I completely forgot that the AST will handle typed assignments differently).
I notice that the is one edge case that might break:
attr: str

The AST also parses this statement as an ast.AnnAssign, but the value is set to None. If we try to parse None via ast.literal_eval we probably get an expression.
I will propose a change directly to your repository via PR (if you merge it, this PR is automatically updated). The suggestions I will send you will also include a way of having the generators back and avoid the duplication when raising the exception.

That looks good, thanks. I hadn't considered the split type-annotation and later assignment. I took a look and you're right, looks like that would have produced an incorrect None. Thanks for taking a look and for the quick fix.


Provide a benchmark for multi-tenant etcd capacity

Provide a benchmark for multi-tenant etcd capacity and performances.

number of supported tenant clusters

required space
read/write latency

Issue out of scope for Kamaji project. Closing it. It should be managed in kamaji-etcd project.


Proofread Topic "Data Citation"

Does it contain a singular topic or multiple?

A singular topic, but if there would be a topic about "metadata quality" or "recognition and rewards", the topic would be related.

Does it clearly define the topic in the first paragraph?

could clarify that a publication refers to a "text publication" " journal article etc in the first sentence
maybe we could add a sentence about why citing data (e.g. to give and receive credit, to show the impact of data, to be visible in a knowledge / PID graph)
clarify that the shape of the citation is mainly for human eyes, but that the PID has to be correct in order to be recognised for citation counts.
Add information about versions, always use the PID that refers directly to the version of the dataset used for the research (in Zenodo for example you have a PID for every version)

Is the topic page clear when read on its own?

yes, it makes sense

Improvements could be:

write hyperlinks in a way that they open in a new tab
will software citations become a topic on its own or will it be part of this one?

Thank you @vansteph 🙌 I made some improvements based on your feedback in #196. 😊


with many users, first-page load blocks

I see spikes in traffic, and play.etcd.io blocks for page loading... Need to make it unblocking.

Closing via https://github.com/coreos/etcd-play/issues/31.


provide config stream processor

Please answer these questions before submitting pull request

Why submit this pull request?

[ ] Bug fix

[x] New feature provided

[ ] Improve performance

Related issues
#4104

New feature or improvement

Provide a new stream processor, because when I create the thread monitor task, need storage similar to inventory and support TTL deletion mode similar to the record.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@4aac329). Click here to learn what that means.
The diff coverage is 0%.

@@            Coverage Diff            @@
##             master    #4133   +/-   ##
=========================================
  Coverage          ?   27.18%
=========================================
  Files             ?     1145
  Lines             ?    25100
  Branches          ?     3629
=========================================
  Hits              ?     6824
  Misses            ?    17670
  Partials          ?      606

Impacted Files
Coverage Δ

...er/core/analysis/worker/ConfigStreamProcessor.java
0% <0%> (ø)

...torage/plugin/elasticsearch/base/StorageEsDAO.java
0% <0%> (ø)

...r/core/analysis/worker/ConfigPersistentWorker.java
0% <0%> (ø)

...server/core/analysis/StreamAnnotationListener.java
0% <0%> (ø)

...orage/plugin/elasticsearch7/dao/StorageEs7DAO.java
0% <0%> (ø)

...erver/storage/plugin/jdbc/h2/dao/H2StorageDAO.java
0% <0%> (ø)

...storage/plugin/elasticsearch/base/ConfigEsDAO.java
0% <0%> (ø)

...server/storage/plugin/jdbc/h2/dao/H2ConfigDAO.java
0% <0%> (ø)

Continue to review full report at Codecov.

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

Provide a new stream processor, because when I create the thread monitor task, need storage similar to inventory and support TTL deletion mode similar to the record.

@mrproliu Does the configs need TTL and why?
As you wrote in #4144 , monitoring tasks are stored in the inventory here, I suppose the tasks are created by users in the web UI right? So why they should be deleted after a so-called TTL? Does the users expect this? Is it designed for so?

monitoring tasks are stored in the inventory here, I suppose the tasks are created by users in the web UI right? So why they should be deleted after a so-called TTL? Does the users expect this? Is it designed for so?

Monitoring should be set by UI or GraphQL. But it isn't inventory, that is why we create a new type of streaming process. I think the point of deleting is the thread dump will be saved as a kind of record, similar to the segment. So even we don't set up TTL, it will miss all related thread dump data.
I agree to support TTL.
@mrproliu A reminder to you, as TTL setup based on time bucket, this field should be set based on task expected finish time, rather than config time. Because you need to avoid the task has been deleted before the task starts.
Also, I notice, this task entity is not time series, why? Deleting is a big payload for the ES, I would recommend setup the time series for this too.

Request rename
Config is a very widely used concept. In the streaming process, a mode called config is very strange and not clear. I want to propose the processor name, noneStreamingProcessor.

So,  is Thread Monitor Task Segment snapshot a Config?

monitoring tasks are stored in the inventory here, I suppose the tasks are created by users in the web UI right? So why they should be deleted after a so-called TTL? Does the users expect this? Is it designed for so?

Monitoring should be set by UI or GraphQL. But it isn't inventory, that is why we create a new type of streaming process. I think the point of deleting is the thread dump will be saved as a kind of record, similar to the segment. So even we don't set up TTL, it will miss all related thread dump data.
I agree to support TTL.
@mrproliu A reminder to you, as TTL setup based on time bucket, this field should be set based on task expected finish time, rather than config time. Because you need to avoid the task has been deleted before the task starts.
Also, I notice, this task entity is not time series, why? Deleting is a big payload for the ES, I would recommend setup the time series for this too.
Request rename
Config is a very widely used concept. In the streaming process, a mode called config is very strange and not clear. I want to propose the processor name, noneStreamingProcessor.

I agree with all your suggestions. I will change that today.

So, is Thread Monitor Task Segment snapshot a Config?

No, It will create base on Record.

@wu-sheng All issue has been resolved.
please have a look.


Unable to start plex-mpv-shim

In a Ubuntu 18.04.4 fresh install after the installatiion following the official guide, the command plex-mpv-shim launch this:
2020-03-30 19:31:00,766 [    INFO] conf: Loaded settings from json: /home/julio/.config/plex-mpv-shim/conf.json
2020-03-30 19:31:00,882 [ WARNING] root: Cannot load GUI. Falling back to command line interface.
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/plex_mpv_shim/mpv_shim.py", line 39, in main
from .gui_mgr import userInterface
File "/usr/local/lib/python3.6/dist-packages/plex_mpv_shim/gui_mgr.py", line 4, in
import tkinter as tk
ModuleNotFoundError: No module named 'tkinter'
2020-03-30 19:31:00,998 [ WARNING] player: Could not find libmpv1.
2020-03-30 19:31:01,000 [    INFO] player: Using external mpv playback backend.
2020-03-30 19:31:01,001 [   DEBUG] mpv-jsonipc: Staring MPV from mpv.
2020-03-30 19:31:01,001 [   DEBUG] mpv-jsonipc: Using IPC socket /tmp/mpv185544798664445 for MPV.
2020-03-30 19:31:01,307 [   DEBUG] mpv-jsonipc: Found MPV socket.
2020-03-30 19:31:01,313 [ WARNING] mpv-jsonipc: Using fallback command list.
Traceback (most recent call last):
File "/usr/local/bin/plex-mpv-shim", line 11, in
sys.exit(main())
File "/usr/local/lib/python3.6/dist-packages/plex_mpv_shim/mpv_shim.py", line 47, in main
from .player import playerManager
File "/usr/local/lib/python3.6/dist-packages/plex_mpv_shim/player.py", line 499, in
playerManager = PlayerManager()
File "/usr/local/lib/python3.6/dist-packages/plex_mpv_shim/player.py", line 100, in init
self.menu = OSDMenu(self)
File "/usr/local/lib/python3.6/dist-packages/plex_mpv_shim/menu.py", line 52, in init
self.original_osd_color = playerManager.player.osd_back_color
File "/usr/local/lib/python3.6/dist-packages/python_mpv_jsonipc.py", line 586, in getattr
return self.command("get_property", name.replace("", "-"))
File "/usr/local/lib/python3.6/dist-packages/python_mpv_jsonipc.py", line 582, in command
return self.mpv_inter.command(command, *args)
File "/usr/local/lib/python3.6/dist-packages/python_mpv_jsonipc.py", line 306, in command
raise MPVError(data["error"])
python_mpv_jsonipc.MPVError: error accessing property

It looks like you might have a problem with MPV, as it cannot talk to it. Try running the following:
sudo apt install libmpv1

If that doesn't work, you can try building MPV from source. Run the following:
sudo apt install autoconf automake libtool libharfbuzz-dev libfreetype6-dev libfontconfig1-dev libx11-dev libxrandr-dev libvdpau-dev libva-dev mesa-common-dev libegl1-mesa-dev yasm libasound2-dev libpulse-dev libuchardet-dev zlib1g-dev libfribidi-dev git libgnutls28-dev libgl1-mesa-dev libsdl2-dev cmake wget python g++ libluajit-5.1-dev
git clone https://github.com/mpv-player/mpv-build.git
cd mpv-build
echo --enable-libmpv-shared > mpv_options
./rebuild -j4
sudo ./install
sudo ldconfig

Thank you. The libmpv1 doesn't resolve the issue. I'll try build MPV when I have some spare time.

The MPV version 0.32 in the ppa:mc3man repository solves the issue.
Thank you


draw.io shall be part of VSCodium

draw.io shall be part of preconfigured VSCodium

solved and already merge with #109


Adds JIT profiling support using ittapi

This patch adds initial support for ittapi which is an open
source profiling api for instrumentation and tracing and profiling
of jitted code.
Build:
cargo build --features=profiling
Profile: // Using amplxe-cl from VTune
amplxe-cl -v -collect hostpost target/debug/wasmtime --jitprofile test.wasm
Note, Vtune is a free open source profiling tool for identifying performance bottlenecks. This patch which brings in ittapi-rs when the profiling feature is enabled, currently only supports the profiling of jitted code but I am investigating using ittapi for profiling of wasmtime itself with a future patch that builds on this one.

@sunfishcode @joshtriplett Note this patch hides much of its logic behind the "profiling" feature. It's factored very similarly to https://github.com/bytecodealliance/wasmtime/pull/360 for jitdump support which was suggested to be put behind a feature. In fact https://github.com/bytecodealliance/wasmtime/pull/360 should probably be merged first since it's been in the queue for so long, but both patches are intended to be dependent on the same feature flag.

@jlb6740 it looks like the new crate here is pulling in bindgen at build time I think, right? That's a pretty hefty dependency and one we'd ideally rather avoid. Would it be possible to check in the generated bindings from bindgen via a scheme like https://github.com/pepyakin/binaryen-rs/pull/52 perhaps?

Oh as a final comment, would you be ok expanding the profiling chapter in the book that covers jitdump to cover vtune as well?

Still need to update docs and follow-up on map comment.

Oh as a final comment, would you be ok expanding the profiling chapter in the book that covers jitdump to cover vtune as well?

Should be complete in the next push.

@alexcrichton Note, I initially delayed pushing this latest patch because I was seeing different result when processing a rust based wasm fib example compared to one compiled awhile ago with clang. The name mangling and fact that the rust based wasm file was larger and required more processing in the VM were throwing me off. More work will be needed here .... and I see feature adds like using the debug image to give vtune line number information and work to even map to the original rust or C file, but that will be iterative future work. W.r.t. this patch there may be one or two things you see so let me know and I'll be happy to update.

👍


Add Elo as a supported credit card provider

Elo is a prominent credit card provider in Brazil, and it would be greatly appreciated if Valibot could provide support for this.

Thank you for creating this issue and helping to improve the library!


Restyling the Footer in the gallery section

I would like to restyle the existing footer in the gallery section  as it is damaged and not properly aligned with the page.
Please assign this to me @Anupkjha2601 as a part of gssoc'23.

I would like to solve this issue please assign me this .
Thank You!


Enter event for drag'n'drop

Something that would be useful is to have support for an event when a user begins and ends a dragging operation.
My use case is I want to be able to hint/show where the user can drop something, which isn't possible today as the current drop callback happens at the very end.
Just for reference this is what Qt supports https://doc.qt.io/qt-5/qwidget.html#dragEnterEvent which is 4 "events" (in practice 4 C++ methods one can implement)
void QWidget::dragEnterEvent(QDragEnterEvent* event)

This event handler is called when a drag is in progress and the mouse enters this widget.
The event is passed in the event parameter.

If the event is ignored, the widget won't receive any drag move events.

void QWidget::dragLeaveEvent(QDragLeaveEvent* event)

This event handler is called when a drag is in progress and the mouse leaves this widget.
The event is passed in the event parameter.

void QWidget::dragMoveEvent(QDragMoveEvent* event)

This event handler is called if a drag is in progress, and when any of the following conditions occur:
the cursor enters this widget, the cursor moves within this widget, or a modifier key is pressed on
the keyboard while this widget has the focus. The event is passed in the event parameter.

void QWidget::dropEvent(QDropEvent* event)

This event handler is called when the drag is dropped on this widget.
The event is passed in the event parameter.

I'm not sure if glfw needs to support all of the above, but they are all useful when you need to implement drag n drop

Along with this, having drag and drop support from URLs in browsers would be great. X11 does call client messages but GLFW does not forward everything through GLFWdropfun

That is a separate issue, so I would open this as a new issue.

I have looked into this issue for myself a bit and tried to implement the GLFW_DRAGGING proposal. On X11 it works fine. But I think the Win32 backend might become a bit of a problem. As it seems to me, the only option to be notified about drag and drop upon window entering (and not only at drop release with the WM_DROPFILES message) seems to be the IDropTarget API. See https://docs.microsoft.com/en-us/windows/win32/api/oleidl/nn-oleidl-idroptarget. However I don't know if such an API is in the scope of GLFW.

I think Qt is using IDropTarget API on Win32 at least so it might be the only option.

GLFW is so far a C library, so using the standard C++ COM approach might be out of scope. However COM is a binary standard so can be used from C. I've been looking for Microsoft documentation, but can't find much, however this article explains the basics:
https://www.codeproject.com/Articles/13601/COM-in-plain-C
There is a minimal C++ example gist up at https://gist.github.com/mmozeiko/5b1700c558d37cb2bb2f00328c2982f6 which could also be used for reference.
I'd love to help more but am currently too busy.

Yeah, It's totally possible to using COM from C. I did it for D3D9 ages ago, Also the COM-in-plain-C article is a 8 part one which can be seen here https://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=88625
In the case of D3D9 it was quite easy to use, but maybe MS provided some defines/wrappers for that case.

Is anyone working on this issue? Otherwise, I may work on this myself.

Not that I am aware of.

Yeah, I thought about trying to take a stab at the COM stuff from C, but I never got around to do it so.

I implemented it for x11 in an older version of glfw https://github.com/glfw/glfw/compare/master...Wesxdz:master if you want a reference

I switched from Windows to Linux in 2008. I've worked with COM sometime before that. I'm not worried about X11 but will gladly take a look at previous work. Wayland and Cocoa will require more research, mostly Cocoa - I literally only know the name.
Once I have a draft PR, I'll need Windows and Mac OS users for testing.

I have all 3 OSes around for easy testing so I can help out with that.

Thanks, everyone! I'm in the early planning stages for a project and not having this functionality is a showstopper. I won't work on this right away, but soon.

A draft PR (#2128) is available. Just a very early IDropTarget implementation, but I'd appreciate any comments and feedback on the outline and questions in the description to inform my next steps.

Great. I've not had a chance to look at the code in detail, but for testing
and inclusing as a partial example I recommend adding code to
tests/events.c
On Fri, 10 Jun 2022, 19:09 Florian Albrechtskirchinger, <
@.***> wrote:

A draft PR (#2128 https://github.com/glfw/glfw/pull/2128) is available.
Just a very early IDropTarget implementation, but I'd appreciate any
comments and feedback on the outline and questions in the description to
inform my next steps.
—
Reply to this email directly, view it on GitHub
https://github.com/glfw/glfw/issues/1898#issuecomment-1152613191, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGVD4SRK4PZNBCEKSK5VRDVOOAD3ANCNFSM44VMS2HA
.
You are receiving this because you commented.Message ID:
@.***>

I’m also available for Cocoa work and testing, but I’m new to the internals of GLFW. Have used Cocoa and Cocoa Touch from Swift in the past. I’m using the generated XCode project for development. It’s not great.

I'm sorry to revive this, but I'm definitely interested in seeing this implemented for my apps. Thanks!


Adding preprocessor variables for custom Wire pins

A minimal change to allow specifying custom SDA/SCL pins to pass through to the Wire library.
I'm using the names RTCLIB_CUSTOM_SDA and RTCLIB_CUSTOM_SCL to really drive home the point that it's outside the normal path.

Ive had the same problem about remapped I2C pins.
How about allowing begin() to have the arguments passed through to Wire.. like this:
in RTClib.h:
class RTC_DS1307 {
public:
boolean begin(int sda=-1, int scl=-1);
...
in RTClib.cpp
boolean RTC_DS1307::begin(int sda, int scl) {
Wire.begin(sda, scl);
...
Same for the other chips.
If this is acceptable I will try to make a pull request (will be my first...)

we would not accept it, you can use Wire.setPins() outside of RTClib

But this would work on all I2C connections (?)
In my case I have two I2C, one default and the separate for the RTC.
To pass a &Wire object to RTClib is more complicated on the calling side, Wire already has the possibility to take pins.
How about this one without default values:
RTClib.h:
boolean begin();
boolean begin(int sda, int scl);
RTClib.cpp:
boolean RTC_DS1307::begin() {
begin(SDA, SCL);  // these are used in Wire as defaults
}
boolean RTC_DS1307::begin(int sda, int scl) {
Wire.begin(sda, scl);
...

that is not true - only esp32 does this. it would break every other board so it would not be merged

ok.... I did not thought this is possible....
so your first advice would be best. Like its done in Adafruit_BMP3XX (?)
I'll give it a try

it is working. But it will change much code and I can only test it for DS1307.
Should we wait for https://github.com/adafruit/RTClib/pull/215? This will make things easier.

sure!


Security Group revoke ingress rule fails if not revoking all IPs within an IpPermission object

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request

Python and moto versions

Python 3.8.3
moto==2.0.8

Affected Resource(s)

ec2.revoke_security_group_ingress
ec2.SecurityRule

Expected Behavior
Trying to authorize IP ingress rules for a security group and then revoke some of the applied rules. Expected moto to remove the ingress IP rule for <IP_ADDRESS>/32 for port 22 and protocol tcp.
Actual Behavior
An exception is thrown for InvalidPermission.NotFound because moto SecurityRule comparison compares the entire IpRanges collection and not if each IP in the ec2.revoke_security_group_ingress request's IpPermission object is in the SG's IpPermission objects. This means when using moto a user can only revoke entire IpPermission objects in the SG (and not a single IP within an object) which is not the same behavior as boto3.
Steps to Reproduce
import boto3
import moto

isMocking = True
ips = [
  '<IP_ADDRESS>/32',
  '<IP_ADDRESS>/32',
  '<IP_ADDRESS>/32',
]

if isMocking:
  mock = moto.mock_ec2()
  mock.start()
print('isMocking=%s' % isMocking)

s = boto3.Session(profile_name='default')
c = s.client('ec2')

groupId = c.create_security_group(
  Description="TEST",
  GroupName="TEST"
)['GroupId']
print('Created Security Group with ID: %s' % groupId)
try:
  c.authorize_security_group_ingress(
    GroupId=groupId,
    IpPermissions=[
      {
        'FromPort': 22,
        'ToPort': 22,
        'IpProtocol': 'tcp',
        'IpRanges': [
          {
            'CidrIp': x
          } for x in ips
        ]
      }
    ]
  )

  sg = c.describe_security_groups(GroupIds=[groupId])['SecurityGroups'][0]
  tmp = [x['CidrIp'] for y in sg['IpPermissions'] for x in y['IpRanges'] if y['ToPort'] == 22 and y['FromPort'] == 22 and y['IpProtocol'] == 'tcp']
  assert set(ips) == set(tmp), "Expected permission set tcp:22 to contain %s but got %s" % (ips, tmp)
  print('Security Group rules added')

  c.revoke_security_group_ingress(
    GroupId=groupId,
    IpPermissions=[
      {
        'FromPort': 22,
        'ToPort': 22,
        'IpProtocol': 'tcp',
        'IpRanges': [
          {
            'CidrIp': x
          } for x in ips[:1]
        ]
      }
    ]
  )

  sg = c.describe_security_groups(GroupIds=[groupId])['SecurityGroups'][0]
  tmp = [x['CidrIp'] for y in sg['IpPermissions'] for x in y['IpRanges'] if y['ToPort'] == 22 and y['FromPort'] == 22 and y['IpProtocol'] == 'tcp']
  assert set(ips[1:]) == set(tmp), "Expected permission set tcp:22 to contain %s but got %s" % (ips[1:], tmp)
  print('Security Group rule revoked')
finally:
  c.delete_security_group(GroupId=groupId)
  print('Security Group deleted')
  if isMocking:
    mock.stop()

Run the above script with isMocking=True.
Get an authenticated session in ~/.aws/credentials for the default profile (or if you have long term creds in the default profile then skip this step).
Run the above script with isMocking=False

Debug Output
runfile('C:/Users/will/Downloads/moto_sg_example.py', wdir='C:/Users/will/Downloads')
isMocking=True
Created Security Group with ID: sg-81d77cdb
Security Group rules added
Security Group deleted
Traceback (most recent call last):

  File "C:\Users\will\Downloads\moto_sg_example.py", line 52, in <module>
    c.revoke_security_group_ingress(

  File "C:\Users\will\Anaconda3\lib\site-packages\botocore\client.py", line 357, in _api_call
    return self._make_api_call(operation_name, kwargs)

  File "C:\Users\will\Anaconda3\lib\site-packages\botocore\client.py", line 676, in _make_api_call
    raise error_class(parsed_response, operation_name)

ClientError: An error occurred (InvalidPermission.NotFound) when calling the RevokeSecurityGroupIngress operation: The specified rule does not exist in this security group

# New python run with isMocking=False
runfile('C:/Users/will/Downloads/moto_sg_example.py', wdir='C:/Users/will/Downloads')
isMocking=False
Created Security Group with ID: sg-0501bd1cc0854929f
Security Group rules added
Security Group rule revoked
Security Group deleted

Important Factoids
Additionally, moto stores SecurityRules with the same protocol, fromPort, and toPort in different IpPermission objects which is not the behavior of AWS boto3 where AWS will merge similar IpPermission objects together. For example, moto will have
{
  "IpPermissions": [
    {
      "FromPort": 22,
      "ToPort": 22,
      "Protocol": "tcp",
      "IpRanges": [
        {
          "CidrIp": "<IP_ADDRESS>/32"
        }
      ]
    },
    {
      "FromPort": 22,
      "ToPort": 22,
      "Protocol": "tcp",
      "IpRanges": [
        {
          "CidrIp": "<IP_ADDRESS>/32"
        }
      ]
    }
  ]
}

if each IP was added in a different ec2.authorize_security_group_ingress request. Here is some code to reproduce this:
import boto3
import moto

mock = moto.mock_ec2()
mock.start()

c = boto3.client('ec2')
groupId = c.create_security_group(
  Description="TEST",
  GroupName="TEST"
)['GroupId']
for x in ['<IP_ADDRESS>/32', '<IP_ADDRESS>/32']:
  c.authorize_security_group_ingress(
    GroupId=groupId,
    IpPermissions=[
      {
        'FromPort': 22,
        'ToPort': 22,
        'IpProtocol': 'tcp',
        'IpRanges': [
          {
            'CidrIp': x
          }
        ]
      }
    ]
  )
print(c.describe_security_groups(GroupIds=[groupId])['SecurityGroups'][0]['IpPermissions'])
c.delete_security_group(GroupId=groupId)
mock.stop()

Thanks for raising this and providing the scripts/tests to verify this @will-schneble - very helpful!


es: Fix output of 'kubectl rollout status'

This is the same fix as https://github.com/kubernetes/website/commit/6e93717597113c726cbcf8a7059e47f23e3e8a64 for es.
If running kubectl rollout status command, the output is like:
  deployment "nginx-deployment" successfully rolled out

The corresponding kubectl code also shows it according to https://github.com/kubernetes/kubectl/blob/e95e378e5972064b177a8e71eac2803f55c8c5df/pkg/polymorphichelpers/rollout_status.go#L89

@alexbrand @electrocucaracha Hello, could you take a look at this PR?

/lgtm


Summary of changes

Documentation-related changes

Add instructions on building nGraph bridge from src
Update Guides and ToC structure
Test documentation build on Clear Linux OS; it works
Fix a few links and redirs

Adding @rkimballn1 to review that the NGRAPH_DEPRECATED_DOC error that building docs yielded was, in fact, due to needing to remove the TensorAPI section of backends.  (Error stopped after I removed it from this PR).

@sayantan-nervana Thanks for reviewing earlier, but I'm thinking now that having the TF people review that file's update in a separate PR for 0.22 will probably be better, since they are busy.  The other updates in this one that need in ASAP so we don't get too behind on docs being current.


WebGPU: add support for new texture formats

See https://forum.babylonjs.com/t/webgpu-rg11b10ufloat-and-rgb9e5ufloat-not-implemented/40890

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/13871/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/13871/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/13871/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/13871/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/13871/merge
https://gui.babylonjs.com/?snapshot=refs/pull/13871/merge
https://nme.babylonjs.com/?snapshot=refs/pull/13871/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/13871/merge#BCU1XR#0


Minor optimizations

Looks good.  Will merge soon.
Wish I knew how clear worked on the array vs fill.


HDDS-3879. Introduce SCM and OM layoutVersion zero to the VERSION file

What changes were proposed in this pull request?
When SCM or OM is initialized, ensure a property like the following is written to the version file:
layoutVersion=0
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-3879
How was this patch tested?
Manually inspected the version file after the change.

@avijayanhwx Is this the sort of change you were intending with this Jira? Note that I think it also covers HDDS-3830 too, as both OM and SCM use the same code from reading and writing the VERSION file.

@sodonnel Thanks for working on this. I am OK with this change. In the future, we may also have to track a different version number which denotes software version. But, for now, this is OK with me.

@sodonnel Thanks for working on this. I am OK with this change. In the future, we may also have to track a different version number which denotes software version. But, for now, this is OK with me.

@avijayanhwx Shouldn't we add whatever we think would be needed now? Introducing it later will not cause incompat?

I started on the changes to add in the software version too, but in doing that I starting to think about whether we need to actually store it.
I will discuss with @avijayanhwx and see what conclusion we come to. If we need it, we may as well get it in as part of this change.

I started on the changes to add in the software version too, but in doing that I starting to think about whether we need to actually store it.
I will discuss with @avijayanhwx and see what conclusion we come to. If we need it, we may as well get it in as part of this change.

Yes, this change as it is can go in.
@swagle We will not have any backward compat issues with respect to layout/software version since the default behavior can handle that.

LGTM +1


ML course from Caltech

I have added another Machine Learning course. Please check whether the formatting is correct. Thanks

Thanks a lot, Iftekhar (y)


Update "Submitting Files - FTP"

Need to change "Line Feed (\n) preferred"
to
"Line Feed (\n) required"

https://github.com/CruxConnect/crux-docs/pull/208


Function optimization affecting use

I hope to add the shortcut key customization function. Some default shortcut keys are not easy to use
I hope that every time I install a new version, I will not be asked to reinstall the plug-ins that I have already installed. I have encountered this problem in previous versions. I don't know whether the new version has been optimized.

Hi, @lzb-libra

You can change shortcuts in Preferences -> User Interface -> Keys

Also you can open a hint with shortcuts by Ctrl + Shift + L (Show Key Assist)

Does it satisfy your needs?

It's a known issue #5317

@E1izabeth Thank you very much. I didn't check the settings carefully. This is the function I need.

@E1izabeth Thank you very much. I didn't check the settings carefully. This is the function I need.

Today, dbeaver informed me to update the software. After the update, I found that the plug-in I originally installed disappeared again, and I clicked the Export Data button and an error prompt popped up


Support Y-axis custom labels

Hi!
At this moment, X-axis supports a slice of labels to customize what is rendered on the X-axis.
I haven't seen this for the Y-axis. If this is not implemented, would be nice to have the same feature for the Y-axis. The motivation behind this is to have the ability to do something similar to this:

A simple (without having too much knowledge about the internals of the library) possible solution could be to allow setting a "transforming" function that accepts the y axis value/number as an argument and returns the string to render on the Axis. This way we could convert the Y value to any unit and display the units also.
What are your thoughts on this? would be this possible?
Thank you!

Hello again @slok,
this is a very good point, indeed the code that places the Y Axis labels is a bit rough and unfinished. However we might be able to do better than to let the users provide custom labels. I am a bit vary of letting the user provide the labels, since it a) exposes the user to the internals of the LineChart and b) would be confusing.
(a) The LineChart owns the logic of allocating values to the Y axis and we might want to change or improve that logic in the future. If we let the user provide labels we might end up in a situation from which we can't get out without breaking API changes.
(b) The X axis is a bit different, since it is an integer axis, so the user can clearly say that value number 7 should have label value "foo". The Y axis is a float axis so it isn't clear how to specify which values should have labels.
With that, here is a counter proposal and I would love to get your opinion about this. We could do this change in three steps:

We could expose an option that lets the user specify the unit for the Y axis, e.g. time.Duration. When the unit is specified, it would act as a formatter based on the value and display the appropriate suffix like "s", "ms" or "ns". Over time we could implement more unit-specific formatters. Specifically for time as the unit, we could utilize the existing formatting code in the time library:
https://golang.org/src/time/time.go#L669

We could develop an algorithm that given a range of floats and a number of horizontal cells (the height of the Y axis) chooses "pretty numbers" and their locations on the axis. So when the graph would have Y axis range from 0.337 to 1000.95, it would not show these values. It would instead choose labels "0", "500" and "1000" and indicate the appropriate cell for each of the labels.

We could change how the LineChart allocates labels for the Y axis. Currently it uses a greedy approach, allocating one label for the bottom-most cell and then choosing every 4-th cell regardless of the value allocated to this cell. We could swap-replace this to use the algorithm developed in step (2). This would also resolve #95.

I believe that we might have very similar result to the picture you uploaded if we do these three things and we still remain in control of the internals without exposing ourselves to breaking API changes. Let me know what you think.
Secondly, if you agree with this approach, please let me know if you would be interested in helping with any of these steps, in which case I can give exact code pointers.
As always, open to other ideas of course.

Many thanks for your thoughts and the detailed explanation @mum4k it's a pleasure opening issues in this repository :)
I see your concerns with breaking the API, I have the same opinion.
As always I'm happy to help in whatever I can and I like what you propose, so... I'm in!
Apart from this, I understand that if you only let the users select the unit you are abstracting all the unit formatting to them, an that's very good, but could you explain me (only to understand more deeply) In what way would affect the user letting them set an optional formatter as dependency injection? (using a function or an implementation of some kind of interface).
Best.

Thanks a lot @slok for persisting and rephrasing your question. Turns out I misunderstood your note when you filled this issue.
Indeed there is nothing wrong with letting the user provide an optional formatter, i.e. a function that just takes the float64 value and formats it into a string. I believe your idea is much better than mine in point (1).
I would be happy to accept a PR adding a LineChart option that takes such formatter. We could use this instead of (1) above with the understanding that the LineChart still won't choose "pretty" values until we also do (2) and (3). Optionally we could also develop some common formatter(s), say starting with the time formatter and include them with the LineChart, that is up to you really.
I am really glad you're in and willing to help, your PR was written very cleanly and was easy to review so already looking forward to the next one. If you want, you can send a work-in-progress PR with just the API first (the new option and the formatter func definition) - assuming you would like to get a quick feedback on it.
Now some code pointers you might find useful:

The LineChart uses the internal axes library to abstract both of the axes and their labels.
The greedy algorithm that places Y labels is here:
https://github.com/mum4k/termdash/blob/a9515f27215c8c7f3c0df731c4e86103cb9cdb9d/widgets/linechart/internal/axes/label.go#L70
Each label is represented as an instance of this object:
https://github.com/mum4k/termdash/blob/a9515f27215c8c7f3c0df731c4e86103cb9cdb9d/widgets/linechart/internal/axes/label.go#L53-L56
The value of each label is represented using this object:
https://github.com/mum4k/termdash/blob/a9515f27215c8c7f3c0df731c4e86103cb9cdb9d/widgets/linechart/internal/axes/value.go#L26-L27
The Value object already has an internal formatter here:
https://github.com/mum4k/termdash/blob/a9515f27215c8c7f3c0df731c4e86103cb9cdb9d/widgets/linechart/internal/axes/value.go#L70-L85

So it should be fairly simple to provide a custom one and plumb it through the call stack. The only catch is that the Value object is used by both the Y axis and the X axis.
Lastly all the widgets use the same pattern for options, we should add a new option somewhere here:
https://github.com/mum4k/termdash/blob/master/widgets/linechart/options.go
Hope this gives you the pointers you need. Once we finish (1), I will be happy to give more pointers for (2) and (3), but at that point you will likely know all you need about the LineChart implementation.
Feel free to contact me at any time if you will have any additional questions or ideas.


How to add picture to ontology

I know it is possible to add an picture to a class with skos:example. But how to add an picture representing the ontology replacing the "One picture says more than 1000 words" element?

@BonaBeavis sorry I've taken so long to reply to you, I've been consumed with lots of RDFlib work!
I like to leave that HTML in there to force people to consider an ontology image!
Probably the easiest thing is to replace that piece of HTML after generation either by hand - edit the HTML file directly - or with some small Python post-processing, if you're calling pyLODE from a script.
If you're using the command line, you will obviously not be able to post-process the HTML unless you write your own command line script for this.
If using Python, you could do this:
m = MakeDocco(input_data_file="some-ontology.ttl")
html = m.document()
html_img = html.replace(
    '
Pictures say 1,000 words
',
    ''
)
open("some-ontology.html", "w").write(html_img)

Obviously that just puts the  tag in the right sput, but you'd actually have to have the fake.png image available!
I suppose you could also embed an SVG file directly in the HTML if you drew your ontology overview image in that...
Does this answer your question?
I've put a variant of the bove code in the test test_issue_149.py.

Closing as this has had an answer for about a month.


Truble obteining GUID from Event Name

Currently using a nested dictionary to store the name along with the event name and the GUID, this would be avoided if I new the way to get the GUID using the event name.
var music_sounds = {
	"MainTrack": {
		"event": "event:/MainTrack",
		"guid": "{16a1b6fa-aa97-4518-ad63-7d53f5e779a9}"
	}
}

## Then Getting the event and GUID this way
var guid = music_sounds[audio_name]["guid"]
var event = music_sounds[audio_name]["event"]

Any help appreciated

If you want to obtain the guid from an eventname, you can simply use an EventDescription instance (The bank containing that description must be loaded already):
var desc = Fmod.get_event("NameOfYourEvent")
var guid = desc.get_guid()

Thank you for ur repply, cant seem to get the FmodEventDescription set, Fmod.get_event is a nonexistent funcition. What component is the Fmod??Should I be inhereting from an specific class?? Srry if I seem to noob, im new to godot :()
## This is not working
var desc = Fmod.get_event("NameOfYourEvent")

I have tryed getting the component from the bankloader but havent had any luck.

Sorry, I mistyped.
You are supposed to write FmodServer.get_event


Ingress/Egress: practice/ingress-egress.md

This article is waiting to be claimed. practice/ingress-egress.md

/accept

/pushed


Line breaks on raw non-breaking space (U+00A0)

Description
The following code has two lines, each with a non-breaking space (Unicode character U+00A0) between the words cras and purus. In the first line the character is inserted with str.from-unicode (160 is decimal for A0) and in the second line the raw character is used.
Lorem ipsum porttitor neque sociosqu hendrerit neque facilisis quis enim, adipiscing luctus cras#str.from-unicode(160)purus iaculis dolor

Lorem ipsum porttitor neque sociosqu hendrerit neque facilisis quis enim, adipiscing luctus cras purus iaculis dolor

Screenshot of the resulting PDF:

As you can see, the non-breaking space is honored in the first line but not in the second. To show that the second line indeed has a non-breaking space between cras and purus, here's a hexdump of the typst file (c2 a0 is UTF-8 for U+00A0):
$ hexdump -C test.typ
00000000  4c 6f 72 65 6d 20 69 70  73 75 6d 20 70 6f 72 74  |Lorem ipsum port|
00000010  74 69 74 6f 72 20 6e 65  71 75 65 20 73 6f 63 69  |titor neque soci|
00000020  6f 73 71 75 20 68 65 6e  64 72 65 72 69 74 20 6e  |osqu hendrerit n|
00000030  65 71 75 65 20 66 61 63  69 6c 69 73 69 73 20 71  |eque facilisis q|
00000040  75 69 73 20 65 6e 69 6d  2c 20 61 64 69 70 69 73  |uis enim, adipis|
00000050  63 69 6e 67 20 6c 75 63  74 75 73 20 63 72 61 73  |cing luctus cras|
00000060  23 73 74 72 2e 66 72 6f  6d 2d 75 6e 69 63 6f 64  |#str.from-unicod|
00000070  65 28 31 36 30 29 70 75  72 75 73 20 69 61 63 75  |e(160)purus iacu|
00000080  6c 69 73 20 64 6f 6c 6f  72 0a 0a 4c 6f 72 65 6d  |lis dolor..Lorem|
00000090  20 69 70 73 75 6d 20 70  6f 72 74 74 69 74 6f 72  | ipsum porttitor|
000000a0  20 6e 65 71 75 65 20 73  6f 63 69 6f 73 71 75 20  | neque sociosqu |
000000b0  68 65 6e 64 72 65 72 69  74 20 6e 65 71 75 65 20  |hendrerit neque |
000000c0  66 61 63 69 6c 69 73 69  73 20 71 75 69 73 20 65  |facilisis quis e|
000000d0  6e 69 6d 2c 20 61 64 69  70 69 73 63 69 6e 67 20  |nim, adipiscing |
000000e0  6c 75 63 74 75 73 20 63  72 61 73 c2 a0 70 75 72  |luctus cras..pur|
000000f0  75 73 20 69 61 63 75 6c  69 73 20 64 6f 6c 6f 72  |us iaculis dolor|
00000100  0a                                                |.|
00000101

I'm using typst 0.9. Is there something I'm missing here? Thanks!
Reproduction URL
No response
Operating system
Linux
Typst version

[x] I am using the latest version of Typst

I'm pretty sure this is intentional. Raw whitespace is just whitespace in typst, regardless of its flavor. The easiest way to get non-breaking space is with ~.

Ah, I had missed this issue, I didn't search with the right keywords. I don't write my typst files directly, I use an automated process that outputs raw non-breaking spaces, which is why it's actually not easier in my case to use ~; but my case is certainly an edge case. Feel free to close if this behavior is indeed intentional, thanks for your answer!

an automatic conversion process from Markdown to typst outputs them around French punctuation.

Pandoc?

Not pandoc; the converter isn't public (sorry!), which is why I didn't mention a name. To be clear, I will just modify the converter's behavior, I have a solution for my case. But I do think it is slightly weird for typst to have different behavior between a raw U+00A0 character and the same character inserted using str.from-unicode. Ideally, this behavior should probably be mentioned somewhere in the documentation?

To give a more realistic workflow where this could be an issue: web pages, for example, often use U+00A0 characters around French punctuation. Someone could copy text from such a web page to a typst file expecting such characters to be honored (just as I expected it). But again, you might consider this an edge case and not worth supporting, which is perfectly fine.

I think the compiler should issue a warning whenever a non-regular space, such as a non-breaking space, is encountered, indicating that all whitespace is treated the same. Although maybe this would be too obscure for users copying text containing NBSPs without knowing what they are.

Someone could copy text from such a web page to a typst file expecting such characters to be honored (just as I expected it).

I think the line breaking algorithm already prevents punctuation marks at the beginning of new lines without having to use non-breaking characters.

I think the line breaking algorithm already prevents punctuation marks at the beginning of new lines without having to use non-breaking characters.

In my real-world case, the French punctuation character (preceded by a non-honored non-breaking space) » was pushed to the beginning of a new line, so it seems it at least doesn't prevent this specific character from being pushed.

My thoughts: https://github.com/typst/typst/issues/3240#issuecomment-1911762308


Installition error - The path in manual installation is wrong

Checklist

[ ] I'm reporting a broken site support issue
[X] I've verified that I'm running youtube-dl version 2021.02.10
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar bug reports including closed ones
[X] I've read bugs section in FAQ

Verbose log

Description would be enough. It happens when installing.

Description

WRITE DESCRIPTION HERE
The issue is with the link of the installation. I used the curl command for installation as below:
sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl
When using the youtube-dl like:
youtube-dl https://www.youtube.com/watch?v=something
I received this message:

-bash: /usr/bin/youtube-dl: No such file or directory

So I changed the curl path to below and it works now:
sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/bin/youtube-dl
Curl should download the latest code to this path "/usr/local/bin/youtube-dl".

Thanks for the comment. So did I do right by changing the path?
Btw, I should have mentioned this before. My distro is: Ubuntu 20.04.2 LTS


[Minor] TE Crescent Hammer support

Make the Crescent Hammer (Thermal Expansion) able to wrench (Rotate and break) EnderIO machines/conduits

Thank you for your suggestion, but we manage suggestions on http://ideas.theideawall.com/EnderIO
This ticket will be closed because we want the list of open tickets to reflect known issues.

I just remembered: Rotating is not a function of the block but the wrench. So for that you have to open a suggestion with https://github.com/CoFH/Feedback


Add enum and waveform values

I won't be adding these to GraphQL in the same PR.
I'd like a quick review before I add tests for the remaining uncovered areas since it'll probably change around. @garryod  @marcelldls

Wrong Gar(r)y tagged @evalott100 ?

Very mad that you replied Garry!!
Looks good at a first look, I'll try and run this against fastcs-odin or eiger. I can't remember if there's an issue for this in PVI or somewhere else, but I think for enums the ComboBox may only be set up to send the string value instead of the index to the handler, for odin we would have to find the associated index for that value in the Sender's put and send that via the http connection, which may be okay, depends on if we generally want to be able to have the dropdowns with different labels to the actual value that gets sent.

Wrong Gar(r)y tagged in the PR description ?

Apologies this is what I get for tying @G

depends on if we generally want to be able to have the dropdowns with different labels to the actual value that gets sent

Yes we do. The user wants to see the text label and doesn't care if the device gets sent the label or the index.

Yes we do. The user wants to see the text label and doesn't care if the device gets sent the label or the index.

This confuses me, the phoebus screen will be updating the IOC values (which would have an mbb record which takes indices or string), which will update the record through ParamTreeHandler::update.
What would need to change is where we make the attribute.
allowed_values is now an field on the DataType so if

You want a simple string with allowed values (what you have now), then types should map the datatype classes instead of instances and you can initialise them in _create_attributes with the allowed_values.

This would have the exact same behaviour across the stack so long as we change
https://github.com/DiamondLightSource/FastCS/blob/cdaf83a14b564c6bf7be2f0e108b40f7e25abeec/src/fastcs/transport/epics/gui.py#L67-L72
so that strings with allowed values also make ComboBox (I would be in favour of this).

You want to use an Enum, then you create an enum at Runtime based on the labels given then you make quick cast_to_http/cast_from_http which get the name/value of the attribute's enum datatype and use them here and here respectively.

strings with allowed values also make ComboBox (I would be in favour of this).

+1

you create an enum at Runtime based on the labels given then you make quick cast_to_http/cast_from_http which get the name/value of the attribute's enum datatype and use them here and here respectively.

I did try this at some point in a stale branch and it worked fine so we could keep all this logic inside fastcs-odin, though would be nice if it was resolved higher up. I'm not sure if Odin is unusual in how it handles enums though I suspect there are other potential use cases that would expect ints. (odin-control's ParameterTree doesn't actually properly implemented string labels for enums in its own allowed_values/metadata currently so I was manually adding in these labels for testing, I want to rework that at some point anyway, maybe this should be more of an Odin change)


Exclude target from content-indexing on Windows

This has a noticeable performance improvement for most projects, especially when the storage device is a hard drive.
Closes #8694

@bors: r+

:pushpin: Commit c973a6d0af55785f3072623b4d29127051a84b90 has been approved by alexcrichton

:hourglass: Testing commit c973a6d0af55785f3072623b4d29127051a84b90 with merge 5dfdec06e70c314301b1da46586d8df44c856191...

:broken_heart: Test failed - checks-actions

@bors: retry

:hourglass: Testing commit c973a6d0af55785f3072623b4d29127051a84b90 with merge 01d059af9b7165bd77f43ab03ae8321d83d189a9...

:sunny: Test successful - checks-actions
Approved by: alexcrichton
Pushing 01d059af9b7165bd77f43ab03ae8321d83d189a9 to master...


How to addd a gradient as a color in a ProgressBar.Circle?

Hi, gradients are not possible to implement AFAIK. See https://github.com/kimmobrunfeldt/progressbar.js/issues/139


Add feature_infos to LoadModelFromString()

feature_infos_ was not used when loading a model, which can cause problems when trying to save it, as it will crash when trying to access it.

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

@cbecker will you work on exposing save/load model from string to c_api?

I can do it next week but right now it's not top priority here. I'd say that if you want to have it soon there it would be better to ask someone else.

@cbecker ok, I can do it myself this weekend.


None recovering Redis command timed out

Bug Report
One container starts to have "Redis command timed out" and it does not recover.
Current Behavior
we have started to use aws redis serveless, since the switch from redis cluster-mode enabled to redis serverless, out of the blue one client from many tasks running starts to have command timed out continuously. Depending on the service and size of objects and if put or get commands are being timed out, we see different side effects, sometimes it results in https://github.com/redis/lettuce/issues/705, sometimes only increased latency.
Note that in the services this happens, usually there are more than 12 tasks running, and only one container has this issue.
I could correlate any CPU spike with the event causing the timeouts.
org.springframework.dao.QueryTimeoutException: Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s)
	at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:70)
	at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41)
	at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44)
	at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42)
	at org.springframework.data.redis.connection.lettuce.LettuceConnection.convertLettuceAccessException(LettuceConnection.java:277)
	at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1085)
	at org.springframework.data.redis.connection.lettuce.LettuceConnection.lambda$doInvoke$4(LettuceConnection.java:938)
	at org.springframework.data.redis.connection.lettuce.LettuceInvoker$Synchronizer.invoke(LettuceInvoker.java:665)
	at org.springframework.data.redis.connection.lettuce.LettuceInvoker.just(LettuceInvoker.java:125)
	at org.springframework.data.redis.connection.lettuce.LettuceHashCommands.hSet(LettuceHashCommands.java:61)
	at org.springframework.data.redis.connection.DefaultedRedisConnection.hSet(DefaultedRedisConnection.java:1332)
	at org.springframework.data.redis.connection.DefaultStringRedisConnection.hSet(DefaultStringRedisConnection.java:631)
	at org.springframework.data.redis.core.DefaultHashOperations.lambda$put$14(DefaultHashOperations.java:254)
	at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:224)
	at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:191)
	at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:97)
	at org.springframework.data.redis.core.DefaultHashOperations.put(DefaultHashOperations.java:253)

	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: io.lettuce.core.RedisCommandTimeoutException: Command timed out after 5 second(s)
	at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:59)
	at io.lettuce.core.internal.Futures.awaitOrCancel(Futures.java:246)
	at io.lettuce.core.LettuceFutures.awaitOrCancel(LettuceFutures.java:74)
	at org.springframework.data.redis.connection.lettuce.LettuceConnection.await(LettuceConnection.java:1083)
	... 22 common frames omitted`

Expected behavior/code
the expected behaviour is that with periodic_refresh, the issue does not persist.
Environment
aws redis serverless 7.1
<lettuce.version>6.3.2.RELEASE</lettuce.version>
<netty.version>4.1.109.Final</netty.version>
related configurations:
ssl: true
timeout: 5s
connect-timeout: 500ms
additional:
dns-ttl: 5s
periodic-refresh: 10s
reconnect-delay-min: 100ms
reconnect-delay-max: 5s
read-from: replicaPreferred
Possible Solution
RedisCommandTimeoutException intermittently:
in some cases this could be related, as we sometimes see timeouts for a minute, and they are recovered, however in this case it persists.
Lettuce cannot recover from connection problems:
maybe setting TCP_USER_TIMEOUT would help, default is 1 minutes, so for the recovering case, maybe this helps, but for the cases that this continues and gets stacked probably not.

This would be a hard problem to help with.
I can't comment on why you are getting timeouts, as this seems to be related to the infrastructure (especially since this started to happen after changing the infra). In this case an increased latency is unavoidable, as the application does not have a way to handle this differently. Periodic refresh would help for new requests, but the ones that have been sent already need to all timeout. A TCP_USER_TIMEOUT would probably help, especially if you are not getting an ACK from the server (you could verify that by sniffing your traffic).
Now depending on the load you might get your commands queue getting filled quite rapidly and reach OOM issues. Again this is avoidable with configuration tweaking (lower timeout, increase memory).
All of these are generic advises though. To help more we would need details picture of what happens and ideally a way to reproduce it.

Thanks for the hints,
this is hard to reproduce, and we tried multiple times in our dev env to reproduce and no luck. We see it only happening in prod env.
One thing to clarify, is that when timeouts start it never ends and recover it this special case, there are multiple instances of a task running, eg 12 task in 3 Availability Zones, and there are even other services with multiple tasks connecting to same Redis cluster in some cases and only one task faces this issue, and this happens after we see some reconnect logs.
My expectation is that with periodic refresh, the new request should start to work, but they don't, so somehow periodic refresh does not work and get stocked.
We have enabled compression and tweaked some configs around memory, and we don't see OOM any more.

The periodic refresh would only affects newly executed commands.
In this case, when timeouts start, it does not stop. All new requests are also timing out, and there is no reconnect. There were cases this was ongoing for 3-4 hours.

All new requests are also timing out, and there is no reconnect.

How do you verify that? Did you use the event bus to monitor for reconnection events?
Does the periodic refresh result in new topology being retrieved?
What is your strategy to trace the problem? Did you start recording more verbose (debug) log messages?

We log reconnect events, when timeouts start in a specific container, I don't see any reconnect after that in that container. all requests put/get are getting timed out, and I know they are new, as I see other application logs of new event with initiate timestamp being processed and after that Redis time out, and then I see s3 call, that is in case of timeout or cache miss.

Reconnect would happen only if the remote service recovers. I assume the correct thing to expect would be for the driver to - instead - route newly issued commands to other nodes, after it refreshes the topology.

Furthermore, old event should expire after few minutes, as I said, when this happens it does not stop, and I see timeout continuously.

If newly issued commands (after the topology change) are getting expired than it is reasonable to assume that the driver never picks up the new topology and thus continues to send commands to the old (failed) node. Have you verified if the remote address for the commands is changing or is it the same? Have you enabled some debug logging to check if the topology is actually refreshed?
You can do that when you subscribe to the event bus and listen for events such as AdaptiveRefreshTriggeredEvent (if adaptive refresh is enabled) or ClusterTopologyChangedEvent (or just listen for all events and log them just in case). Sample code:
    public static void main(String[] args) {
        RedisURI redisURI = RedisURI.Builder
                .redis("acme.com")
                .withPort(1234)
                .build();

        try (RedisClient client = RedisClient.create(redisURI)) {

            EventBus eventBus = client.getResources().eventBus();
            eventBus.get().subscribe(e -> {
                logger.info(e.toString());
            });
...

At this point this is the most reasonable assumption (for some reason topology is not being refreshed).
Does the driver report topology refresh events? Enabling debug messages should output Using a new cluster topology after a new topology is retrieved. You can enable debug mode only on the io.lettuce.core.cluster package, or even the io.lettuce.core.cluster.RedisClusterClient specifically to reduce the noise.


Fixing Front end issues related to image loading and SEO

[!NOTE]
We are meticulous when it comes to merging code into the main branch, so please understand that we may reject pull requests that do not meet the project's standards. It's never personal. Also, game-related scripts have a lower chance of being merged.

Description
This PR fixes isses #205 and #204
Fixes # (issue)
Type of change
Please check the relevant option(s):

[x] Bug fix (non-breaking change that resolves an issue)
[ ] New feature (non-breaking change that adds functionality)
[ ] Breaking change (a fix or feature that would cause existing functionality to change unexpectedly)
[ ] New script (a fully functional and thoroughly tested script or set of scripts.)

Prerequisites
The following efforts must be made for the PR to be considered. Please check when completed:

[x] Self-review performed (I have reviewed my code, ensuring it follows established patterns and conventions)
[ ] Testing performed (I have tested my changes, ensuring everything works as expected)
[ ] Documentation updated (I have updated any relevant documentation)

Additional Information (optional)
Provide any additional context or screenshots about the feature or fix here.
Related Pull Requests / Discussions
If there are other pull requests or discussions related to this change, please link them here:

Related PR #205 and #204

@BramSuurdje test & merge after Test 😀

when setting the URL of an image to a invalid one it now correctly fails over.

Tip: If you use the following syntax, issues will be closed automatically after merge
Fixes https://github.com/community-scripts/ProxmoxVE/issues/204
Fixes https://github.com/community-scripts/ProxmoxVE/issues/205


make-derivation: install all outputs

This confuses users too much and the old behavior to me seems
to have very little benefit. Since it only effect “declarative” installation,
it doesn’t seem helpful to not give every output available. In this case, users
want what would normally be included in the /zlib/ package, not just
one output. Individual packages can still specify what outputs to install
with meta.outputsToInstall.
Fixes #44144
Fixes #24717

@grahamcofborg eval

I think this should be brought up on the mailing list.

This will regress closure sizes since now anything in systemPackages will install the dev outputs and other pointless stuff.
Regarding #44144, compiling outside nix-shell isn't really supported anyway.
As for having manpages installed by nix-env, I think nix-env should call into Nixpkgs buildEnv (or some new dedicated custom function) to decide what outputs to install. That way you could e.g. disable installation of manpages or info pages based on ~/.nixpkgs/.config.nix.

This will regress closure sizes since now anything in systemPackages will install the dev outputs and other pointless stuff.

Doesn't systemPackages use pathsToLink though? I'd bet there is some increase in size but not a huge amount. We can definitely provide a global outputsToInstall in buildEnv that the NixOS environment can set to [ "out" ]  or something else for this.

As for having manpages installed by nix-env, I think nix-env should call into Nixpkgs buildEnv (or some new dedicated custom function) to decide what outputs to install. That way you could e.g. disable installation of manpages or info pages based on ~/.nixpkgs/.config.nix.

Yes, I think for most of us this would be the ideal solution. I still think we would want the default behavior of that function to be install everything. Most beginners to Nix will not understand multiple outputs, or pathsToLink, etc. They will just assume Nix(pkgs) does not provide that functionality. I want to make sure we can still provide good support for the imperative package installation style, even if most NixOS/Nixpkgs contributors are using something else.

@GrahamcOfBorg eval

Doesn't systemPackages use pathsToLink though?

It uses buildEnv does respect outputsToInstall.

I'd bet there is some increase in size but not a huge amount.

No, it's going to be hundreds of megs if some package's .dev pulls in GCC or glibc headers et al.

I want to make sure we can still provide good support for the imperative package installation style,

For development nearly nothing currently supports that since setup hooks won't be run. And most likely isn't going to be fixed without a major redesign.

For development nearly nothing currently supports that since setup hooks won't be run. And most likely isn't going to be fixed without a major redesign.

This doesn't just apply to headers & libraries. Things like man pages are now frequently missing when someone decides to add a separate output for it. Not everyone is installing their packages through systemPackages. I think it's a bad idea to expect everyone to be doing this, especially when it only is possible when you have root privileges or have set something up like home-manager.
I have added a commit to restore the buildEnv behavior. I agree that it makes sense to only use one output in buildEnv's case because it can be configured to add more outputs by the user.

Ah, cross-link: https://github.com/NixOS/nixpkgs/commit/3342f717da7f660b4695f09034abc175a14fda24#commitcomment-29875048

If we need to do this without any changes to nix-env we could perhaps retcon outputsToInstall to make it only apply to nix-env (i.e. replace all other usages of that in nixpkgs with say, propagatedUserEnvPackages except the one in mk-derivation that sets it). But https://github.com/NixOS/nixpkgs/pull/44168#issuecomment-408596701 is still more preferable.

If we need to do this without any changes to nix-env we could perhaps retcon outputsToInstall to make it only apply to nix-env (i.e. replace all other usages of that in nixpkgs with say, propagatedUserEnvPackages except the one in mk-derivation that sets it).

s/propagatedUserEnvPackages/propagatedUserEnvPkgs/
The only usage I found was in buildenv.pl. I would be interested in whether there are any others. Do you think it makes sense to leave the outputsToInstall uses in packages the same?

But #44168 (comment) is still more preferable.

It's definitely preferable, but could take a long time. The goal for me is to find some solution for #24717 before 18.09 release. If someone wants to step up and create a PR to Nix to use a custom buildEnv, that would be great but I am not counting on it.
Because @vcunat is assigned #24717, I kind of want to see what he thinks of this PR. After the update to have buildEnv calculate outputsToInstall itself, I am hoping it addresses some concerns. This whole thing has been an outstanding issue for too long IMO. I definitely get that things like ```dev```` don't really belong in the profile, but it doesn't seem to hurt too much either if they are.

I haven't noticed extraneous (unused) outputs being downloaded; that would be a bug.

Closing in favor of #35884 for now.


Error in PowerShell Sample

The first line of first example in Powershell section should be "powershell: echo Hello $(name)" instead of "script: echo Hello $(name)"

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 7458d5b2-1bb7-7d87-7ce6-2b0c430b0155
Version Independent ID: edf5bbd3-a3f0-5426-e985-31290f8afd05
Content: YAML schema - Azure Pipelines
Content Source: docs/pipelines/yaml-schema.md
Product: devops
GitHub Login: @erickson-doug
Microsoft Alias: macoope

Thanks a lot for bringing this to our attention, @clement-cunin!  I've applied the fix and it should be live later today or Monday.


VS 2015 occasional file save failure when editing TypeScript files

Hi,
NTVS Version: 19-March dev build for VS 2015
I opened a bug ticket on TypeScript Microsoft/TypeScript#2566, but I feel it might be an NTVS issue.
This keeps occurring on VS 2015 CTP5 - mostly on NTVS projects.

This appears to have been resolved on the TypeScript side of things.


is there a rate limit error code?

In HTTP there is 429, how about stdio? I looked at this: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#errorCodes and I didn't find anything.

I am actually not sure what you are requesting. The server is usually managed by a client and not publically visible were rate limits are an issue.

I've experienced some poorly configured editors and thought about handling them, but you're right, it's not the server's problem to handle.


chore: bump ibctest version and ibc-go version to v6 for e2e module

Description
Current issue:
 suite.go:77: test panicked: exit code 1:  Error: config already exists: /var/relayer-rly/config/config.yaml

        goroutine 54 [running]:
        runtime/debug.Stack()
        	/usr/lib/go/src/runtime/debug/stack.go:24 +0x65
        github.com/stretchr/testify/suite.failOnPanic(0xc000e0a1a0, {0x1a0acc0, 0xc000fb6740})
        	/home/bartleby/work/go/pkg/mod/github.com/stretchr/testify@v1.8.0/suite/suite.go:77 +0x3b
        github.com/stretchr/testify/suite.Run.func1.1()
        	/home/bartleby/work/go/pkg/mod/github.com/stretchr/testify@v1.8.0/suite/suite.go:161 +0x252
        panic({0x1a0acc0, 0xc000fb6740})
        	/usr/lib/go/src/runtime/panic.go:884 +0x212
        github.com/strangelove-ventures/ibctest/v6/relayer/rly.NewCosmosRelayer(0xc000555c80, {0xc0017a7e80, 0x3e}, 0xc00051dbe0?, {0xc0017a7f80, 0x40}, {0xc00051dbe0, 0x2, 0x2})
        	/home/bartleby/work/go/pkg/mod/github.com/strangelove-ventures/ibctest/v6@v6.0.0-20221005154709-b642157674bc/relayer/rly/cosmos_relayer.go:32 +0x1a6
        github.com/strangelove-ventures/ibctest/v6.builtinRelayerFactory.Build({0x0, 0xc000555c80, {0xc00051dbe0, 0x2, 0x2}}, 0x4b3494?, 0x1c7c95d?, {0xc0017a7f80?, 0xc0017f8e98?})
        	/home/bartleby/work/go/pkg/mod/github.com/strangelove-ventures/ibctest/v6@v6.0.0-20221005154709-b642157674bc/relayerfactory.go:61 +0x77
        github.com/cosmos/ibc-go/e2e/testsuite.newCosmosRelayer(0x30?, {{{0xc000565d00, 0x1a}, {0xc00005a1a4, 0x6}, {0xc00005a03d, 0x4}}, {{0xc000565d00, 0x1a}, {0xc00005a1a4, ...}, ...}, ...}, ...)
        	/home/bartleby/work/go/src/github.com/cosmos/ibc-go/e2e/testsuite/relayer.go:21 +0x2a8
        github.com/cosmos/ibc-go/e2e/testsuite.(*E2ETestSuite).SetupChainsRelayerAndChannel(0xc0010fb1f0, {0x262aff0?, 0xc000056128}, {0xc0017f93b0, 0x1, 0xc00023a230?})
        	/home/bartleby/work/go/src/github.com/cosmos/ibc-go/e2e/testsuite/testsuite.go:116 +0x126
        github.com/cosmos/ibc-go/e2e/tests/transfer.(*TransferTestSuite).TestMsgTransfer_Succeeds_Nonincentivized(0xc0010fb1f0)
        	/home/bartleby/work/go/src/github.com/cosmos/ibc-go/e2e/tests/transfer/base_test.go:65 +0xda
        reflect.Value.call({0xc0000edb00?, 0xc0017a92c0?, 0x1088ac6?}, {0x1c734a6, 0x4}, {0xc0000d1e70, 0x1, 0xc0000d1d80?})
        	/usr/lib/go/src/reflect/value.go:584 +0x8c5
        reflect.Value.Call({0xc0000edb00?, 0xc0017a92c0?, 0xc0010fb1f0?}, {0xc0000d1e70?, 0x7fd9805b9ee8?, 0xd0?})
        	/usr/lib/go/src/reflect/value.go:368 +0xbc
        github.com/stretchr/testify/suite.Run.func1(0xc000e0a1a0)
        	/home/bartleby/work/go/pkg/mod/github.com/stretchr/testify@v1.8.0/suite/suite.go:175 +0x4b6
        testing.tRunner(0xc000e0a1a0, 0xc000ec2fc0)
        	/usr/lib/go/src/testing/testing.go:1446 +0x10b
        created by testing.(*T).Run
        	/usr/lib/go/src/testing/testing.go:1493 +0x35f
    setup.go:199: Pruned 1 volumes, reclaiming approximately 0.0 MB
    setup.go:231: Pruned unused networks: [ibctest-gsdbmpaf]
--- FAIL: TestTransferTestSuite (2.16s)
    --- FAIL: TestTransferTestSuite/TestMsgTransfer_Succeeds_Nonincentivized (2.16s)

closes: #XXXX

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[ ] Targeted PR against correct branch (see CONTRIBUTING.md)
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Code follows the module structure standards.
[ ] Wrote unit and integration tests
[ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
[ ] Added relevant godoc comments.
[ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Review Codecov Report in the comment section below once CI passes

Codecov Report

Merging #2479 (822b6b8) into main (3363917) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files

@@           Coverage Diff           @@
##             main    #2479   +/-   ##
=======================================
  Coverage   78.65%   78.65%
=======================================
  Files         178      178
  Lines       12367    12367
=======================================
  Hits         9727     9727
  Misses       2208     2208
  Partials      432      432

Impacted Files
Coverage Δ

modules/core/23-commitment/types/merkle.go
68.60% <0.00%> (ø)


Velocity portion of a 5e maneuver is incorrect

Velocity portion of the damage for a 5e character doing a maneuver is being incorrectly determined:

5e
104" leaping being reported as 108"
maneuver is "passing strike"
DC from velocity is being calculated as 41DC

Able to reproduce:
Velocity shows as 208 (when it's 104") and cannot be altered.


Add tsdb/tsdb to .gitignore

This is built this way by the Makefile. One might ask if that's the
correct location for the tsdb tool or if it should be placed
top-level together with prometheus and promtool. But for now, it
should be excluded from Git like the latter two.
Signed-off-by: beorn7<EMAIL_ADDRESS>

See https://github.com/prometheus/prometheus/pull/6088 which should move the tsdb commands to promtool. Unfortunately this is depending on #5887 (tsdb import command).