Admin Config: What makes transcript/segment complete

An admin can configure what makes a transcript or transcript segment “complete”
Option: Define a threshold for % consensus from multiple corrections from different users
Option: An admin can manually verify/correct a transcript segment or an entire transcript

Configurable in project.json:
https://github.com/NYPL/transcript-editor/blob/master/project/oral-history/project.json
(see "consensus")


Fingerprint is not updated

if (Firebase.failed()) {  //always this if block is executing
  Serial.print("setting /number failed:");
  Serial.println(Firebase.error());
  return;

}
delay(1000);

Solved :
just paste your db link in the search-box you will get the updated fingerprint


Add tabindex on login form inputs

Description
Add tabindex on login form inputs
Types of changes

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

Checklist

[ ] I updated the documentation (see here)
[x] I agree that this code will be published under the MIT license

Thanks 😄  I will review/merge all PRs the next days when I have time to properly test it with my app.
Please use your fork until then!

Update 📋

Last required "input" (Sign In) is at index 40.
Input forgot password is at index 100.

It allow devs to add 60 indexes between those inputs, is that enough ?
Question ❔
As Originally posted by @kevinpapst in https://github.com/kevinpapst/TablerBundle/issues/5#issuecomment-986555655 : social links should have index too.
I can put them at 50 and 60 by default. But that force devs to override the whole block if they want to change that.
As soon there are configurable/editable, is that correct to add a "default" index.
For example in my use case, I want Google auth and Facebook Auth. So I've removed the defaults one.

@kevinpapst If it's OK for you, you can merge.

Ok, I tested it and believe that "Password forgotten" should be after the social logins. Why? Because if your app supports social logins, it is very likely that most users will use the OAuth approach and quickly want to reach those buttons and therefor never need the password forgotten link anyway.


Publish to PyPI

This project looks really awesome, I would like to use this in another project and it would be great if you could push a version to PyPI. Thanks!

Please do..

Use imagesize or pymage_size library


Support NumPy 2.0

Hi All 👋
NumPy is planning to release 2.0 on June 16th ( https://github.com/numpy/numpy/issues/24300#issuecomment-2125643448 ). NumPy 2.0.0 RC packages for conda & wheels came out at the beginning of April ( https://github.com/numpy/numpy/issues/24300#issuecomment-2030603395 )
NumPy has put out a migration guide. More details are in the release notes
If scikit-sparse makes use of NumPy's C API (and produces wheels that use it), having a release of scikit-sparse with wheels built against NumPy 2.0.0rc1 would be helpful to ensure NumPy 1 & 2 compatible wheels (as wheels built against NumPy 1 won't be compatible with NumPy 2). More details in this NumPy 2 ABI doc
Also as NumPy is tracking ecosystem support for NumPy 2.0, it would be helpful to share scikit-sparse current support status in issue (with any plans): https://github.com/numpy/numpy/issues/26191

Thanks for bringing this issue up!
I don't know if there's anything to be done here. The migration guide recommends using the ruff plugin: ruff check path/to/code/ --select NPY201. Upon using this command, I get "All checks passed!"
It looks like the current release version (the one that I checked) never made it to PyPI, because the deployment failed. I'll work on this today. Once it's up, I think we can add ourselves to the ecosystem support list.

One important thing to do is to fix the build-time metadata: https://github.com/scikit-sparse/scikit-sparse/blob/master/pyproject.toml#L33. You should depend on numpy>=2.0.0 for Python 3.9 and up, as documented at https://numpy.org/devdocs/dev/depending_on_numpy.html#numpy-2-0-specific-advice. That way you'll get wheels that are 1.x and 2.x compatible.

Thanks, @rgommers. I'll work on it.

Probably will want a release as well that includes those rebuilt wheels (with the metadata changes Ralf suggested)


version 1.6.6 breaks on Google hub displays

version 1.6.5  works no problem on the latest home assistant build
1.6.6. does not appear to working at all   side bar and top bar fully visible

Give the latest release a try and be sure to clear the cache of all devices if you're still having issues before reporting back.
Closing as duplicate of #63


Extract code - size of collection of collection

Looking at the new string methods, there seems to be a common repeated part that may be of general enough use to be extracted to it's own method. There are two slight variations of it, both of which will appear twice with the method splitting / bool parameter removal:
Version 1 (join without delimiter):
const auto acc_op = [](const std::size_t& a, const std::string& b) noexcept->std::size_t { return a + b.size(); };
auto total_size = std::accumulate(std::begin(strs), std::end(strs), std::size_t{0u}, acc_op);

Version 2 (join with delimiter):
const auto acc_op = [](const std::size_t& a, const std::string& b) noexcept->std::size_t { return a + std::size_t{1u} + b.size(); };
auto total_size = std::accumulate(std::begin(strs), std::end(strs), std::size_t{0u}, acc_op);

The second version can be written in terms of the first version:
auto version2Sum = Version1Sum(strs) + strs.size();  // In this case, could add -1

In terms of generalizing the code, these methods are performing a flattening operation. The method is taking a collection of collections (a vector of strings, where strings are a collection of characters), and flattening them down to a single collection (a collection of characters). The operation is generic and could work on any collection types.
As part of that operation, the above lines calculate the output collection size needed for such an operation. The basic calculation is to determine the sum of the sizes of the inner collection over the outer collection. This generalizes no matter what the collections are of.
The simplified (no delimiter) case can be calculated with:
template <typename Container>
std::size_t SumOfSizes(const Container& container)
{
      std::size_t sum = 0;
      for (const auto& item : container) {
              sum += item.size();
      }
      return sum;
}

The delimiter terminated case (delimiter follows every element, like semicolon terminated statements in C++) could be calculated with:
auto size = SumOfSizes(container) + container.size() * sizeOfDelimiterInInnerCollectionUnits;

The delimiter separated case (delimiter between every pair of elements, like a comma separated list) could be calculated with:
auto size = SumOfSizes(container) + (container.size() - 1) * sizeOfDelimiterInInnerCollectionUnits;

Required operations on the collection types are:

The outer collection supports ranged-for (such as any forward iterable collection)
The inner collection contains a size() member

Playing devil's advocate here:

What problem does generalizing the original code solve?
Does splitting the original code out into another function make the code more performant or less?
Did you measure the difference?
Is there a difference for large collections?
The STL algorithms are already pretty well optimized. What advantage is there to going back to a range-based for-loop over an accumulate call?

I didn't measure for efficiency differences. I don't expect any. There was no particular reason for me to hand write the loop as opposed to using std::accumulate. It simply seemed like the more natural way to write it when I was focusing on that one little bit.
This is more about reducing code duplication. The same code is effectively duplicated in 4 different places (with 2 slight variants). By collapsing those 4 blocks of code into a common method call, it can reduce the duplication, and potentially reduce maintenance burden. To fully accomplish this, the two variants of the loop can be adapted to use a common loop part, and a post loop fixup to account for the size of all delimiters being added.
Being able to use the generalized code for some potential future use is more just a bonus.


IndexError: list index out of range

Hello,
I have install SuperPang (v=0.8) with conda, and it can normally use test-SuperPang.py, but SuperPang.py presented an error:
Traceback (most recent call last):
File "/home/miniconda3/envs/SuperPang/bin/SuperPang.py", line 270, in
main(parse_args())
File "/home/miniconda3/envs/SuperPang/bin/SuperPang.py", line 92, in main
bin_ = f.rsplit('/',1)[1].rsplit('.',1)[0]
IndexError: list index out of range

Hi!
I think I know what's happening there. What is the exact command you are
using to invoke it?
Can you put the input genomes inside a directory and call Superpang with
-f genomes/*fasta?
El mié., 5 ene. 2022 2:11, wanglei8851 @.***> escribió:

Hello,
I have install SuperPang (v=0.8) with conda, and it can normally use
test-SuperPang.py, but SuperPang.py presented an error:
Traceback (most recent call last):
File "/home/miniconda3/envs/SuperPang/bin/SuperPang.py", line 270, in
main(parse_args())
File "/home/miniconda3/envs/SuperPang/bin/SuperPang.py", line 92, in main
bin_ = f.rsplit('/',1)[1].rsplit('.',1)[0]
IndexError: list index out of range
—
Reply to this email directly, view it on GitHub
https://github.com/fpusan/SuperPang/issues/1, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACAHO7VWC2RE2A6R7IVRCNTUUOLFPANCNFSM5LIXLUYQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Fixed, should work in the new v0.8.1


add buffer.transcode to nodejs_compat

This pull-request adds require('node:buffer').transcode() support. It uses ICU for most encodings, and simdutf for latin1, utf8 and utf-16 operations.

Adding the "needs-internal-pr" label on this to ensure that we make certain that the internal CI run is green before this lands.

Internal PR is now resolved. We can merge this now.


Run unmatch before match on multiple queries

Hi there!
Would it be possible to run all defined unmatch handlers before any defined match handlers? In my case I have two registered media queries, and the unmatch handler of query 1 runs after the match handler of query 2.
In my scenario both media queries add javascript to the same element, but for different media queries. The Problem now is, that the unmatch handler of query 1 kills some stuff which was set up by the match handler of query 2, because imho the order is wrong.
I think it would make sense to run all neccessary unmatch handlers before any match handlers is executed.
Thoughts?

Just an update on this... been doing a bit of experimentation. It seems the order that mediaQueries are created has an impact on which gets fired first. After a bit of playing around I got a demo working that fires in the correct order - however this means that you have to register ALL your 'unmatch' handlers before any 'match' handlers. This obviously has many knock on issues to code structure.
codepen.io/anon/pen/PwEbaB (console needs to be open to see output)

But that still depends on how the browsers have implemented this, right?

I only tried it on Chrome. Will have a look how the other browsers handle it.

On 10 Feb 2015, at 17:04, Thomas Deinhamer<EMAIL_ADDRESS>wrote:
But that still depends on how the browsers have implemented this, right?
—
Reply to this email directly or view it on GitHub.

Continuing to play with this - running unmatcher's before any match handlers is really important for me when transitioning between breakpoints to avoid DOM manipulation conflicts.
At the moment I've forked this repo and experimenting with adding a slim event emitter that will allow you to attach handlers to be run before/after a matching query/handler is executed.

Awesome, please share your results as soon as you see fit!

This is not a browser bug. It follows the specifications. Javascript event queue is a simple FIFO, first registered — first fired. If you register event A and then register event B, it will guarantied that A will always run before B on a compliant browser.


[semantic-dom-diff] Ignores SVG tags

semantic-dom-diff ignores svg tags when doing snapshot testing and there is no way to change that with the options. Is that way for a technical reason?
https://github.com/open-wc/open-wc/blob/master/packages/semantic-dom-diff/get-diffable-html.js#L1

Yes this is due to technical limitations. HTML and SVG have different rules, the current algorithm only knows how to format HTML.
For example SVG has a lot more void elements, which breaks the way we format the code.
I'm not an expert on SVG, but probably we could expand to add support. Perhaps as a separate module if the size ends up being too large.
Happy to review a PR if you're interested in adding this.

I will check the HTML one to see what i am facing LOL. I will try...

I am still interested in supporting this

I am still interested in supporting this


Dead link for logo guidelines

Navigate to: https://liferay.design/blueprints/resources/logo-files
The link for logo guidelines gives a 404 error.

thanks for reporting Josh!
somebody forgot to do a find/replace for the old url paths.... (it was me)

fixed


Replacements for acorn functions

Are there any functions in swc that do the same functionality as the ones used in svelte from the package acorn.
Specifically, here are the functions that are used from acorn:

[ ] isIdentifierStart
[ ] isIdentifierChar

These functions are used internally in acorn and also exported so swc might have a version written internally for errors. The functions are also used in svelte for custom errors and parsing mustache tags. I think the only way is to implement our own, gonna keep digging to see if I see anything

I think I found something similar is_valid_start

And perhaps verify_simbol to replace isIdentifierChar?
As for implementing our own, acorn uses some auto generated regex. I think it shouldn't be a problem implementing it.

I think the alternative to isIdentiferChar is https://rustdoc.swc.rs/swc_ecma_ast/struct.Ident.html#method.is_valid_continue


🐞[Bug]: Non visible date in "Privacy Policy" and "Terms and Conditions" page.

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
There is a very small bug in the two pages. When in light mode, the font color of the date is white, and is therefore blending with the background, and hence invisible.
Expected behavior
The font-color should be black.
Add ScreenShots

What browsers are you seeing the problem on?
Firefox, Chrome, Safari, Microsoft Edge
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@VijaySamant4368 sure go ahead

@VijaySamant4368 tommorrow is the last day to contribute so try to complete by today night so that you can work on more issues

@aditya-bhaumik can we complete even after tomorrow, not for points but just because we want to?

@VijaySamant4368 you can work as much you like but for gssoc tommorrow is last day
Rest its in the project admin's hand if he wants to continue or take a break from reviewing pull requests


No Operation named [input_tensor] in the Graph

Please make sure that this is a bug. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:bug_template
System information

I am using code based on https://github.com/davpapp/PowerMiner/blob/master/src/ObjectDetector.java
Windows 10 64-bit
TensorFlow installed from (source or binary): tensorflow-core-platform snapshot from sonatype repo (maven)
TensorFlow version (use command below): tensorflow-core-platform 0.4.0 snapshot -> TF 2.4 (?)
Python version: 2.8
GPU model and memory: NVidia 1080 GTX

Describe the current behavior
I have tried two things:
Map<String, Tensor> output = smb.call(input);

This gives me the same output no matter the image, and I've looked at the data in the byte buffers and it's different. So I moved to try and do what I found on the above source (which I think is pulled from an old example?)
outputsList = smb.session()
                            .runner()
                            .feed("[input_tensor]", input)
                            .fetch("detection_scores")
                            .fetch("detection_classes")
                            .fetch("detection_boxes")
                            .run();
            input.close();

This gives me an error saying Caused by: java.lang.IllegalArgumentException: No Operation named [input_tensor] in the Graph
I have run the saved_model_cli command and gotten the following output:
$ saved_model_cli.exe show --dir saved_model/ --tag_set serve --signature_def serving_default
2021-05-01 13:43:21.409559: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudart64_110.dll
The given SavedModel SignatureDef contains the following input(s):
  inputs['input_tensor'] tensor_info:
      dtype: DT_UINT8
      shape: (1, -1, -1, 3)
      name: serving_default_input_tensor:0

Describe the expected behavior
I expected the call function to just kind of work out of the box and give me the expected output results, I wouldn't be surprised if I have something messed up with this. Though I did test the model (on test images in a google colab python notebook) before it was exported, and it was giving me sane/different outputs based on image inputs.
The second way I was expecting to actually work, consider the saved_model_cli says 'input_tensor' is what it's supposed to be. However, I don't know if those examples are wrong and there should be some other way for me to do the inference? I've had a hard time finding examples.
Code to reproduce the issue
This is the class I am using -
https://gist.github.com/phydesmith/96bf57c2a75e01e698f8e0ebc2c8194c

The first way you tried should have worked, I'm surprised that it doesn't. Did you look at this object detection example. It's still being tidied up, but it shows loading in a saved model bundle for object detection and then getting the annotated model back out.
In general using a 4d input byte array isn't very fast, but I think BufferedImage stores the data in a different order to the way that TF wants it. We should probably add a helper that does the necessary reshaping.

Regarding the second example, try using serving_default_input_tensor:0 as the name of the input tensor instead of input_tensor.

For the second example, you've feed [input_tensor], probably want to feed input_tensor instead.
For the first, is the image preprocessing done correctly, i.e. the image is rescale and pixel values are normalized between 0 and 1 (that's pretty usual)?

So @DavidHuebner 's solution for the input is getting me somewhere, however it then gives me issues with the outputs when I call fetch(). With a similar message of  No Operation named [serving_default_detection_scores:0] in the Graph or No Operation named [serving_default_detection_scores] in the Graph.
Here is the output of me calling this.smb.function("serving_default").signature().getInputs() and this.smb.function("serving_default").signature().getOutputs().
{input_tensor=org.tensorflow.Signature$TensorDescription@4f885aaf}

{raw_detection_boxes=org.tensorflow.Signature$TensorDescription@238cbc, detection_classes=org.tensorflow.Signature$TensorDescription@5792a558, detection_boxes=org.tensorflow.Signature$TensorDescription@6276f97f, num_detections=org.t
ensorflow.Signature$TensorDescription@6f268abc, raw_detection_scores=org.tensorflow.Signature$TensorDescription@73fcad88, detection_scores=org.tensorflow.Signature$TensorDescription@31066eca, detection_anchor_indices=org.tensorflow.
Signature$TensorDescription@646ec494, detection_multiclass_scores=org.tensorflow.Signature$TensorDescription@3f46d1cf}

Ok I got it wrong at first. So this model has probably been trained on TF 2.x, which mangles the name of the input/output tensors to be fed to the session.  The ConcreteFunction class was initially design to handle this case, so by calling call, it will take care of feeding and fetching the right (mangled) names while at the user level, you only need to take care of the signature input/output names (BTW in your previous post, you've print out the output of getInputs() but should be inputNames() to see the names to set in your input map passed to call the function.
So you did it the right way to begin with by invoking smb.call(input) and you shouldn't need to play directly with the session. Now is the issue about how to feed a session to obtain the same results than with the function, or is it that you have doubts about the accuracy of these results? For the latter, if you can provide us more details on how you pass the inputs to the function and read back its output, that could be useful.

Ok, yes this model was created from the TF 2 Object Detection API. I went back to using the smb.call(inputMap) and it gives the same results every time. See https://gist.github.com/phydesmith/3ee170f806757f1b441ad7be2cd99cc1 for the code. Please forgive the hackiness of it at the moment, I'm trying to just get something working and then go back and optimize it to run better.
Basically, I'm doing no image preprocessing aside from converting the BufferedImage to a Tensor which I can feed into the model. You can see on the gist I linked that I basically copied the example code and just tried to update it to work with how I thought it should with the current state of the API.
I can clearly see the byte values differ based on different images I take a screen shot of when I look into the tensor data before I feed it into the model. It seems like every time I use the call() function however, it just returns the same outputMap. These returned values are even the same across different runs of my program.

I did a quick check of your processimage code and compared it to the output from a DecodePng and it does appear that you are mixing up your RGB values.
Here's my gist for creating and comparing a 3 * 3 image
https://gist.github.com/pyrator/b7433522b083c073a3986aea7969e9ac

@pyrator  I have tried incorporating your changes and I'm still seeing the same issues. I have tried it with a different but similarly trained model and it's giving me the same scores and bounding boxes from different image inputs.

I've double checked my code and added and EncodePng and saved the resulting PNG and it looks the same to me. TBH you're probably creating a rod for your own back doing it this way. I can understand you might be wanting to understand the inner workings of tensors, and how they relate to images, but there are methods to Decode images available - see my gist above. Also check out the example at
https://github.com/tensorflow/java-models/tree/master/tensorflow-examples/src/main/java/org/tensorflow/model/examples/cnn/fastrcnn

While @pyrator is right that using one of the Decode* op is safer that manipulating the image directly, you can still convert directly a BufferedImage to a Tensor by manipulating its pixels direclty, I have an application running in production for years doing this and it works fine.
Please @phydesmith , take a look at this snippet I've added a few month ago. Your gist is no longer available but I suspect that not only you might have been reverting your RGB channels (BufferedImage are BGR) but you might have forgot the normalization step where you want each value of the tensor to be a float between 0 and 1.
The snippet above shows how Keras does it by default but there are other normalization modes that could have been enabled during training, if you still encounter issues double check that default normalization (caffe) has been used for training.

I'm going to close this issue and move to the thread Karl linked for further discussion as my main problem was solved.


Spam clicking makes a fire plough and bow drill faster

BTW Version: 2.1.4
Multiplayer (yes/no): no
Issue (be as specific as possible): Spam clicking makes a fire plough and bow drill faster
Steps to Reproduce (even if obvious): Spam click with a primitive fire starter
Addons (with versions): n/a
Crash Log (if there was a crash): n/a

For added context:
Issue appears to be with FCItemFireStarter.java.patch onItemUse() triggering every time right click is pressed and affects both the bow drill and fire plough
This method is faster than holding rightclick even as low as 6cps with faster clicking being marginally faster at the cost of increased hunger use. Normally it takes ~30 seconds to start a campfire with the fire plough but 6cps gives ~18 seconds and higher cps can go as low as ~12 seconds

was fixed in 3.0


scipy.io.netcdf produce corrupted nc files

I believe scipy.io.netcdf 0.17.0 has an issue, which I've tried to capture in the minimal example below. scipy.io.netcdf has behaved nicely until this. The code below executes, but produces a  corrupted nc file: If  I try "ncdump test.nc" I get:
ncdump: v1hpg.c:1136: NC_computeshapes: Assertion `ncp->begin_rec <= first_rec->begin' failed.
Aborted (core dumped)
The problem is not present with the Unidata API (set switch scipyAPI to False). Creating either var_data or var_lon0 alone works as expected, but together, as below, produces a corrupted nc file
Thanks,
Asbjørn Christensen, DTU Aqua

import numpy as np

scipyAPI = True  # toggle between SciPy/Unidata API

if scipyAPI:
   from   scipy.io import netcdf
   ncfile = netcdf.NetCDFFile("test.nc", "w")
else:
   import netCDF4 as netcdf
   ncfile = netcdf.Dataset("test.nc", "w")

nx    = 3
data  = np.arange(3)
ncfile.createDimension('nframes', None)   # None stands for the unlimited dimension
ncfile.createDimension('nx', nx)

var_data  = ncfile.createVariable("data",  'i' , ('nframes','nx'))
var_lon0  = ncfile.createVariable("lon0",  'i' , ())
var_data[0,:] = data
var_lon0.assignValue(34)

ncfile.close()

@asbjorn-christensen: what is the Scipy version for which it works?

I don't have an older version of scipy installed to test it, but the other API above is netCDF4 (version '1.2.4' from https://github.com/Unidata/netcdf4-python - sudo pip install netCDF4) which also follows the API from Scientific.IO.NetCDF

Ok, then it's likely this has not worked in scipy.io.netcdf previously.


[Feature request] Provide lower and upper bounds to intermediate neurons

It would be interesting to have a way of providing bounds value for neurons similarly as done in
this function (add_output_vars).
with correct bounds, it could for example discard many constraints or binary variables introduced to model the Relu layers.
Computation time could be better but not necessarly (i will try to do some experiments)

Excellent.
if you're interested i might fork and give a try to add some function that compute valid bounds and update the gurobi model (using interval arithmetic or this kind of method https://github.com/eth-sri/eran) ? or maybe you're interested to look at it yourself too :)

Thinking a bit more about this, there is a documentation effort to make. In most cases those intermediate variables are stored but that part is not documented. This should definitely be done at some point. But it is tedious to go through all objects (and also make sure that names are somewhat consistent).
I'll try to start with neural networks but I won't promise a delivery date.


[FEATURE] add import-image command for importing single image

This PR adds a stand-alone k3d import-image command that can be used like this:
k3d import-image -n test0 -i nginx:local
This would do the following:

Run docker save to save the image from the local docker daemon to a tar archive (in a directory that's bind-mounted into all the node containers)
Exec into each node container and run ctr image import to make the image usable by containerd inside the containers
Delete the archive locally

Requirements:

internal: always needs to bind-mount a directory (currently <clusterDir>/images) into all the node containers
external: rancher/k3s with a tag >= v0.7.0-rc2 because of the inclusion of ctr in k3s

Thanks to @erikwilson for including ctr in k3s :)

Up for improvement:

[x] make use of args instead of --image/-i
[x] allow submitting a comma- or space-separated list of images to import multiple images with a single run
[ ] bind-mount a directory into all the containers that can be used by containerd to cache images

That way, we'd only need to import the image into a single node and have it shared with the others

especially to save space on local disk

Note:
This is still in very early phase, so this PR is mainly made for contributors and testers to have a look and give an opinion :)
Issue Reference: #19

Update: the changes in this branch leverage goroutines to run the ctr image import in all nodes concurrently.
Pro/Con:

Pro: faster than sequentially issuing the command per container
Unsure: we're not returning (only printing) an error when it fails for one container
Unsure: Could as well be achieved by submitting the exec job for each container to the docker api and putting the connection in a list -> then reading from those connections gives a hint on which of them finished successfully

Here are some high level comments from q quick glance. I have not reviewed the code line by line.

I'd think 'load' will easier to type than 'import-images', so how about

k3d  load -n test1  image1 imag2 ... imageN

Notice the -i option is also dropped from above example. image1.. imageN are arguments to the load subcommand.  We can thus avoid requiring a comma separated list,  (I think you have the same suggestion within the PR? )

Instead of using host bind mount, how about using a docker volume? I'd think docker volume is more portable regardless of the host file systems, and we don't have to worry about writing into the host file system directly. It may also help when the docker machine is running remotely.  Since we have access to docker API directly, we can just create a docker volume for each cluster for loading images.

Here are some high level comments from q quick glance. I have not reviewed the code line by line.
1. I'd think 'load' will easier to type than 'import-images', so how about

Let's add load as an alias to have the more verbose (explanatory) option still present. WDYT?

k3d load -n test1 image1 imag2 ... imageN
1. Notice the -i option is also dropped from above example. image1.. imageN are arguments to the load subcommand.  We can thus avoid requiring a comma separated list,  (I think you have the same suggestion within the PR? )

I already dropped the -i flag in favor of using args, where the list can either be comma- or space-separated :+1:

2. Instead of using host bind mount, how about using a docker volume? I'd think docker volume is more portable regardless of the host file systems, and we don't have to worry about writing into the host file system directly. It may also help when the docker machine is running remotely.  Since we have access to docker API directly, we can just create a docker volume for each cluster for loading images.

You're right, I'll have a look into that :+1:

One problem I found while working on a solution using docker volume is, that with default settings, we may not have access to the volume directory that docker uses, so we'll have to figure out a way to either
a) put the directory in a location without protected access
b) save the tarball there somehow via the API

Here are some high level comments from q quick glance. I have not reviewed the code line by line.
1. I'd think 'load' will easier to type than 'import-images', so how about

Let's add load as an alias to have the more verbose (explanatory) option still present. WDYT?

Your call. In general, I am not a big fan of alias. But it probably make sense in this case, as you have pointed out.

k3d load -n test1 image1 imag2 ... imageN
1. Notice the -i option is also dropped from above example. image1.. imageN are arguments to the load subcommand.  We can thus avoid requiring a comma separated list,  (I think you have the same suggestion within the PR? )

I already dropped the -i flag in favor of using args, where the list can either be comma- or space-separated 👍
Thank you !

2. Instead of using host bind mount, how about using a docker volume? I'd think docker volume is more portable regardless of the host file systems, and we don't have to worry about writing into the host file system directly. It may also help when the docker machine is running remotely.  Since we have access to docker API directly, we can just create a docker volume for each cluster for loading images.

You're right, I'll have a look into that 👍
Nice!

One problem I found while working on a solution using docker volume is, that with default settings, we may not have access to the volume directory that docker uses, so we'll have to figure out a way to either
a) put the directory in a location without protected access
b) save the tarball there somehow via the API
UPDATE: An idea could be to spawn a container than has the Docker CLI in it (or a script using the API) that shares the docker socket (or has access to the API) and mounts the named volume. This could then directly run a docker save into the named volume.
The idea I had before was a combination of docker save and docker cp, but in a scenario where you're connected to a remote docker daemon, this would result in twice the network traffic.
My brain is hurting a bit from thinking about this for too long... maybe I'm missing something obvious here? @andyz-dev

Actually, you just need to start a container (without running) mounting the volume, then docker API can directly access to the volume.  We can just reuse the k3s image as the dummy container for mounting the volume so we don't have pull another docker  image unnecessarily.
A nice touch would be to have the dummy container mount the volume as read-write, for doing 'docker cp'.  while the volume should be attached to the k3s nodes as read-only.

Actually, you just need to start a container (without running) mounting the volume, then docker API can directly access to the volume. We can just reuse the k3s image as the dummy container for mounting the volume so we don't have pull another docker image unnecessarily.

I think we're talking about the same thing in the end, but what do you mean with without running?
Because we need to have some logic present in that container to query the API (e.g. Docker CLI or some self-made script). Or would you simply curl it or something similar? :thinking:

A nice touch would be to have the dummy container mount the volume as read-write, for doing 'docker cp'. while the volume should be attached to the k3s nodes as read-only.

Definitely a good idea I'd say :+1:
Even though, as we'll have a volume there anyway now, we could save other cluster related stuff there if needed.

Actually, you just need to start a container (without running) mounting the volume, then docker API can directly access to the volume. We can just reuse the k3s image as the dummy container for mounting the volume so we don't have pull another docker image unnecessarily.

I think we're talking about the same thing in the end, but what do you mean with without running?
Because we need to have some logic present in that container to query the API (e.g. Docker CLI or some self-made script). Or would you simply curl it or something similar? 🤔

The following example may be helpful to illustrate what I mean:

User (API equivalent) to do "docker volume create  'cluster-volume'", add the cluster-volume to all k3s cluster nodes (as read-only)

Since docker don't allow images to be added to a volume directly, we will need to mount it to a container.  So do (API equivalent) of 'docker container create -n dummy  -v 'cluster-volume':/opt/images' k3s-mage'. Since we only create the container (without running it), we don't really care what image it is, might as well using the k3s-image to avoid potentially extra image pull.

Now we can do 'docker cp tar-ball dummy:/opt/images' to copy a tar-ball into the volume. Once done, we can remove the dummy container. Using golang code against the Docker API, I believe you can also avoid saving the tar-ball into a local file system.

Since we are not using any binaries within the container and we are not even running the container, we don't need to prepare a special image for it.

I understand what you want to do, but since docker cp runs from your local machine, it copies the tarball from your local machine (potentially over the network) to the dummy container running on the docker host.
That means, that first you have to get the tarball to your local machine.
As the goal of this PR is to export an image that you've built before using docker (which might be on the remote machine), you have to run docker save first to create the tarball.
Thus, you'd copy the tarball twice: from the docker host to your localhost (docker save) and then back (docker cp), which I'd say is quite inefficient.
If you already have the tarball locally due to some reason, then the proposed --tar option could be used to issue only the docker cp.

That's why I thought, we could completely skip the transfer of the tarball from the docker host to localhost and back by simply spawning a k3d-helper container on the docker host that mounts the same volume (just like you described in steps 1 and 2).
Now that helper container runs in privileged mode, mounting /var/run/docker.sock (shouldn't be a problem, since the k3s containers also run privileged), thus having access to the docker daemon/API and to the volume.
That container (can be FROM scratch with only a few MB binary) would then run docker save directly into the volume it has mounted.
Thus, we'd avoid any additional transfer of the image from the docker host to the localhost.
I don't think that this is a super clean way of doing it, but it has two big benefits:

It works in any environment, since we don't rely on the local filesystem but only talk to the docker API (even if it might be remote)
It should be faster, since we're skipping transfer of the tarball between localhost and docker host (which might be network traffic)

The drawbacks that I see:

1 additional container (image that need to be pulled, while we might even be able to integrate it in the k3s image)

WDYT?

I agree with your analysis. k3d-helper approach would be more efficient in saving networking bandwidth than using the dummy container.
Here is my take on the design:  I believe the majority of users will not be using remote docker since k3d is mainly aimed at laptop development. Not having to maintain another image makes k3d easier to use.  I view k3d-helper as an optional solution that can be developed later when we hear more about the bandwidth concern.   On the other hand, I do not oppose if we make k3d-helper as the primary solution.

I agree with your analysis. k3d-helper approach would be more efficient in saving networking bandwidth than using the dummy container.
Here is my take on the design: I believe the majority of users will not be using remote docker since k3d is mainly aimed at laptop development. Not having to maintain another image makes k3d easier to use. I view k3d-helper as an optional solution that can be developed later when we hear more about the bandwidth concern. On the other hand, I do not oppose if we make k3d-helper as the primary solution.

I agree with your belief that it's mostly being used with a local docker daemon (tbh, I most often didn't consider the other case, e.g. when I first created this PR). For the short term solution, I will go with the solution that you proposed (dummy container + save + cp), since it's easy to implement right now.
Anyway, I will give the other solution a take, since I don't think that it adds to much complexity, but I'd like to benchmark it against this solution :+1:
Thanks for the healthy discussion and the honest feedback :)

Closing this for now until we found a proper solution without too many drawbacks that works for the use with a local and a remote docker daemon.

Can we use docker local as docker repo for k3d e,g: localhost:5000/some-repo:v23456

If you have a registry running then yes, but you have to edit the containerd config to be able to pull from there. There is another issue open regarding pulling from private registries and some discussions in slack (rancher-users, #k3d).
Is that what you mean?
This feature here is for migrating an image from local docker daemon (e.g. created by a docker build) into k3s' containerd.


python3Packages.caldav: unbreak now that xandikos is packaged, touchups

Motivation for this change

add python xandikos module based on packaged xandikos application
unbreak caldav with xandikos
move packages only needed for testing to checkInputs

Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Superseded by #274603


Add templated text support for webhook receivers

Currently a system implementing alertmanager webhook reception may have to also
reimplement templating, for example:
https://github.com/messagebird/sachet#message-templating
In addition to needing to reimplement the templating this results in the
templating configuration being split across several applications.
Right now it's possible to achieve some of this by implementing e.g. a
PagerDuty webhook rather than the generic webhook, but that's not ideal. This
seems like a nice compromise that keeps the webhook format simple (i.e. not
making it generic like #1496).
An example configuration using this would look something like:
  receivers:
    - name: webhook
      webhook_configs:
        - url: http://localhost:1111/alert
          templates:
            summary: "{{ .CommonLabels.severity }}: {{ .CommonLabels.alertname }}"

The webhook will then receive something like:
   {...,"templated":{"summary":"page: Test"}}

'templated' is marked as "omitempty" to avoid adding this for receivers
who don't configure it, therefore keeping this fully backward
compatible.
Signed-off-by: David Leadbeater<EMAIL_ADDRESS>

Thank you for your pull request.
There is no consensus to change the current webhook body.
You can append your input to #701.

@roidelapluie I actually read that (note I referenced #1496 too!), this is not about integrating with tools that are not dedicated Prometheus alertmanager webhook receivers but about allowing webhook receivers to integrate closer with the rest of the Prometheus ecosystem.

If you want to improve integration that's better approached at the config management level, not my adding more knobs that need configuration.

@brian-brazil I'd agree in most cases, but I don't really see this about config management.
For example right now because the PagerDuty integration supports templating built-in to alertmanager it's not possible to send the same formatted copy to another service that is only supported by webhooks, unless I reimplement that on the receiving side. (Or rather than implementing the native webhooks I just implement one of the other integrations that supports templating, which makes me sad when commercial products have better support...)

What you're basically proposing is #701, but far more limited and I'd expect that over time we'd reinvent jsonnet. The place for this logic is inside the webhooks, not the Alertmanager configuration file.

On 15 Feb 14:27, David Leadbeater wrote:

@brian-brazil I'd agree in most cases, but I don't really see this about config management.
For example right now because the PagerDuty integration supports templating built-in to alertmanager it's not possible to send the same formatted copy to another service that is only supported by webhooks, unless I reimplement that on the receiving side. (Or rather than implementing the native webhooks I just implement one of the other integrations that supports templating, which makes me sad when commercial products have better support...)

I would not recommend you to re-implement PD or another notifier. If
that 3rd party changes their API or go bankrupt, they could be
changed or removed in the alertmanager.
At this stage the webhook content is fixed. If we allow to have it
changed, it is opening a new range of feature requests like:

custom headers
custom handling of http error codes
non-json payloads
grpc support

and probably many other examples. I hope you can see that even it if
looks simple at first sight, it is not at the end.

I would not recommend you to re-implement PD or another notifier. If
that 3rd party changes their API or go bankrupt, they could be
changed or removed in the alertmanager.

I 100% agree, and I don't really intend to do it, but I'm pointing out the decision to not allow templating means this method (webhooks) is not on par with the other methods.

At this stage the webhook content is fixed. If we allow to have it
changed, it is opening a new range of feature requests like:
[snip list of things]

Custom headers are in my mind a totally different beast, any custom HTTP support is not something that lines up with webhooks where the expected use is delivery to a server designed for use only with alertmanager.
How do we change the mind that the webhook content is fixed? (is it?, I only see notification methods being mentioned which makes sense) I really think even if #701 was implemented I'd still want this -- the point is to share go text templates with all possible notification methods, rather than write custom JSON.
I'm happy to write a design doc.

On 15 Feb 14:52, David Leadbeater wrote:

I would not recommend you to re-implement PD or another notifier. If
that 3rd party changes their API or go bankrupt, they could be
changed or removed in the alertmanager.

I 100% agree, and I don't really intend to do it, but I'm pointing out the decision to not allow templating means this method (webhooks) is not on par with the other methods.

At this stage the webhook content is fixed. If we allow to have it
changed, it is opening a new range of feature requests like:
[snip list of things]

Custom headers are in my mind a totally different beast, any custom HTTP support is not something that lines up with webhooks where the expected use is delivery to a server designed for use only with alertmanager.

The point is that if we allow that flexibility, the webhooks will be used with
services not designed to work with alertmanager and there will be a demand
for other features like http headers etc.
If your endpoint is designed to used with alert manager then I think too
that it is a config management problem: it appears that you want to
avoid configuring templates on the custom receivers.
--
(o-    Julien Pivotto
//\    Open-Source Consultant
V_/_   Inuits - https://www.inuits.eu

The point is that if we allow that flexibility, the webhooks will be used with
services not designed to work with alertmanager and there will be a demand
for other features like http headers etc.

I don't quite see how an extra field inside the existing structure is enabling that level of flexibility.

If your endpoint is designed to used with alert manager then I think too
that it is a config management problem: it appears that you want to
avoid configuring templates on the custom receivers.

This also presumes a lot about an environment, in some cases/environments it may make sense to write a custom receiver in something other than Go, which won't have text/template, so how do I configure a template on something like that?

On 15 Feb 15:13, David Leadbeater wrote:

The point is that if we allow that flexibility, the webhooks will be used with
services not designed to work with alertmanager and there will be a demand
for other features like http headers etc.

I don't quite see how an extra field inside the existing structure is enabling that level of flexibility.

Adding an extra field is not going to help a lot with many use cases. I
was speaking about the general idea of changing the webhook.

If your endpoint is designed to used with alert manager then I think too
that it is a config management problem: it appears that you want to
avoid configuring templates on the custom receivers.

This also presumes a lot about an environment, in some cases/environments it may make sense to write a custom receiver in something other than Go, which won't have text/template, so how do I configure a template on something like that?

python has jinja2
perl has templating modules
c++ has inja
java has freemarker
So not everything has to be go.

Sure, but alertmanager only supports Go's text/template, if this is a config management problem then it's just a case of sharing templates... except that isn't portable across template language, so it's not (just) a config management problem.

I was thinking about something like this to help with templates for the GitLab integration. Rather than be a separate set of data, I was thinking about allowing the standard annotations to be updated by this.

I was thinking about something like this to help with templates for the GitLab integration. Rather than be a separate set of data, I was thinking about allowing the standard annotations to be updated by this.

@SuperQ the problem I see with that is it complicates the data model further, the notification is potentially about multiple alerts. Do the templated fields get applied to each alert before CommonAnnotations are calculated? Which would imply the input to these templates is different to other notification methods.
Having this as one top-level map means the template has control of how multiple alerts are templated and the templates execute in the same way as other methods.

@SuperQ the problem I see with that is it complicates the data model further, the notification is potentially about multiple alerts. Do the templated fields get applied to each alert before CommonAnnotations are calculated? Which would imply the input to these templates is different to other notification methods.
Having this as one top-level map means the template has control of how multiple alerts are templated and the templates execute in the same way as other methods.

@dgl Good point, I hadn't thought about exactly how to apply it.

@dgl Good point, I hadn't thought about exactly how to apply it.

@SuperQ I do like the concept of them being annotations though, I didn't really like the "templated" name I gave these, maybe calling them something like "templated_annotations" would help to make it clearer what they are and their limited scope. i.e. they aren't a way to implement a generic webhook which maybe would remove some opposition to them.

@SuperQ I do like the concept of them being annotations though, I didn't really like the "templated" name I gave these, maybe calling them something like "templated_annotations" would help to make it clearer what they are and their limited scope. i.e. they aren't a way to implement a generic webhook which maybe would remove some opposition to them.

I've updated this PR with some prompting from @SuperQ, I believe this is a good middle ground for making it possible to share templates between integrations, without needing to add all the integrations to alertmanager itself.
(Still happy to bikeshed the name, I kept them as Templated for now, but maybe TemplatedAnnotations is a better name?)


Revise /data-sources-map

Context

Due to a variety of changes I've been making, the /data-sources-map endpoint got busted.
At the same time, however, that might be fine, because we need to figure out what to do with this, or if we still need it.
As with other previous data sources endpoints, this references some agencies columns, which isn't viable.
Maybe a views endpoint that provides a data-sources-map view?0

Requirements

Figure out what to do with the /data-sources-map endpoint

Tests

We'll either need to revise existing tests, create new tests, or eliminate the tests we have for this, depending on what we decide to do.

Docs

API documentation will likely need updated.

Open questions

Any uncertainties? Anything we're flexible about?

@maxachis We do still need the endpoint (for now). For your context, here's the primary user of the endpoint: https://github.com/Police-Data-Accessibility-Project/data-source-map/pull/15
I believe the reason for the dedicated endpoint was due to better performance in this specific use case, but probably there's an appropriate solution.

@josh-chamberlain I've begun working on bringing this back online (although possibly with a different endpoint name), but I would point out that as far as performance goes, loading every single entry every time may incur some performance costs, particularly as the number of data sources/agencies we get expands. So it may be useful to think about a more substantial revision further down the line.

@maxachis true...the front end should probably make use of caching, too.

Note to Max: This endpoint has been implemented, but it's not showing up as expected in the documentation, presumably because it overlaps with the other logic.
To solve this, just create a new /map namespace, with /data-sources appended to it. Make others aware of this breaking change.

Now it's been fixed!


ruby: Could not load OpenSSL

Describe the bug
When use bundle commands, it prompts
Could not load OpenSSL.
You must recompile Ruby with OpenSSL support.

Steps To Reproduce
Steps to reproduce the behavior:

Install ruby package.
Run bundle init && bundle add rake
See error.

Expected behavior
Adds gem dependencies as expected.
Screenshots
Additional context
I often use bundle commands, but this error only happens recently. The ruby_3_3 package seems good.
Notify maintainers

@vrthra @manveru
Metadata

system: "x86_64-linux"
host os: Linux 6.1.105, NixOS, 24.05 (Uakari), 24.05.3999.c42fcfbdfeae
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.18.5
channels(root): "nixos-24.05, nixos-hardware, nixos-unstable"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Add a :+1: reaction to issues you find important.

Resolved by deleting ~/.local/share/gem.


If I use Roberta which vocab file should I use?

If I use Roberta which vocab file should I use? Roberta have vocab.json and merges.txt. The original code use vocab.txt. Thanks

I'm not sure you can use different file types to do it, assuming it doesn't work implicitly, I would try altering the function that uses those files to handle different file types. There seems to be some online resources discussing it too:
https://stackoverflow.com/questions/70255025/adding-new-tokens-to-bert-roberta-while-retaining-tokenization-of-adjacent-token


Output updated bamfile

Hi Andrew and Jim,
congrat on your paper. I wanted to try out Mora for one of my projects, I'm using directly the rust exec. I was wondering if by any chance you could implement an option --new_bam that would produce a new bam file, but with updated sam flags reflecting the reassignment. That would be great, so I can simply run a variant caller on top of it without having to edit the bamfile myself. Otherwise, if you have a script somewhere that would do it, I'd be happy to use it.
I'm a bit confused because, in the log file, it says it's producing a mapping output file (that has the same path as my input file, this is a bit scary), but I don't think it's actually outputting a bamfile.
Have a nice day guys,
JS

Hi JS,
You are correct that the output is not a bam file. Currently Mora just outputs a very generic txt file that says which reference each read is assigned to. This output file path is specified via the -o tag. We don't have a method that outputs a BAM/SAM file, but it can be done since we would simply use the input BAM/SAM file and only keep the lines that correspond to our final assignments while changing their flags. Since Mora's output only says which unique reference it assigns the read to or if it cannot be assigned, the only part of the flags that changes is that all reads that were assigned are primary alignments while the rest are unmapped. I am not sure if this would be what you want.
I am currently occupied by another project, so I probably won't be able to add this feature in the near future, but I think it shouldn't be too hard to write a script in any language that can read/write BAM/SAM files that does what I explained in the previous paragraph.

Hi Andrew,
yes, it's not that hard but I was hoping you already have that in your toolbelt. There is one small thing though, it's that reads can be multi mapped within the same genome, so not everything has to be primary.
Thanks anyway and good luck for your next project,
JS


No UI shows after login

Hi,
I am trying get experiment a working chat client. I have cloned candy and make changed to examples/htaccess and examples/index.html.
when i hit the url in my browser I see login form.
entered jid and password. it logs in correctly, I can see in chrome developer console as well on the ejabberd server logs.
But after that I do not see any view, page is just grey.
If send ant chat from some other client it is received and show in chrome console but no ui.
Is there anything else I have to do to get UI.
Thanks
Abul Walid

hi i did everything what it said in the installation guide but candy doe not connect to my server.. what should i do?


Merge all audio files, if If master audio missing

In the absence of master audio, should I just have ffmpeg merge all audio files?

pros: Easy-to-use command-line API for arbitrary .wav files
cons: FFmpeg performance hit?

Alternative:
ovgenpy's GUI has a "Load game sound" menu entry, which calls towave-j on a .spc file.

towave-j program rips each channel, plus master audio.

nope


Fix wrong _IOC_TYPE on musl

When compiling on Alpine Linux x86_64 with Alpine's rust and target x86_64-alpine-linux-musl:
error[E0308]: mismatched types
  --> libv4l-rs-917e1f4ffd90b94a/d7ac716/src/v4l2/api.rs:23:24
   |
23 |         v4l2_ioctl(fd, request, argp)
   |                        ^^^^^^^ expected `u64`, found `i64`

Ref maximbaz/wluma#43

Hmm, I'm not sure this is the correct thing to do, since the conditionals were introduced as part of armv7 musl support here: https://github.com/raymanfx/libv4l-rs/pull/14/commits/874cf2985589670b9026d43363bdd7f828c20c5a. So it looks like we need to distinguish between ... x86{_64} and ARM as well? Or maybe only 32 bit musl wants signed integers?

That’s interesting because it currently fails to build even on armv7 musl…
error[E0308]: mismatched types
  --> target/patch/d7ac716/src/v4l2/api.rs:33:26
   |
33 |         v4l2_mmap(start, length as u64, prot, flags, fd, offset)
   |                          ^^^^^^^^^^^^^ expected `u32`, found `u64`
   |
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
   |
33 |         v4l2_mmap(start, (length as u64).try_into().unwrap(), prot, flags, fd, offset)
   |                          +             +++++++++++++++++++++
error[E0308]: mismatched types
  --> target/patch/d7ac716/src/v4l2/api.rs:36:28
   |
36 |         v4l2_munmap(start, length as u64)
   |                            ^^^^^^^^^^^^^ expected `u32`, found `u64`
   |
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
   |
36 |         v4l2_munmap(start, (length as u64).try_into().unwrap())
   |                            +             +++++++++++++++++++++
   Compiling mccs-db v0.1.2

I don’t have experience with writing cross-platform bindings in Rust, so I don’t know what’s the correct approach here, except setting up CI to continuously test against all supported targets.

I'll do some cross-compiling experiments by myself and get back to you.

Okay, so these are my findings:

You are using the v4l-sys feature which links against libv4l dynamically and thus uses a different code path than what was used by the other musl armv7 user: https://github.com/raymanfx/libv4l-rs/pull/14
Compiling against x86_64-alpine-linux-musl is fine with the default features (v4l2-sys), but not when linking against libv4l (no-default-features, v4l-sys).
The same goes for the armv7-unknown-linux-musleabihf target.

Other interesting bits:

Linux ioctl(..) looks like this: int ioctl(int fd, unsigned long request, ...) (doc)
musl ioctl(..) looks like this: int ioctl (int, int, ...) (src)
libv4l defines its own v4l2_ioctl wrapper as: int v4l2_ioctl (int fd, unsigned long int request, ...) (src)

Yikes.
I pushed a commit to the next branch to fix this: https://github.com/raymanfx/libv4l-rs/commit/0f3f0df18b218eefdb8ed65d3105694751663fa8. Could you please test that with your setup and let me know what happens?


add game: Whac-A-Mole

I want to add this another game .Please assign me this task under GSsoc-ext, hacktoberfest and level-1,2,3 .
I've worked on it and its almost done. @iamrahulmahato

Sorry, someone is already working on this. Do not be demotivated and raise a new issue.


Cannot Create Project using the UI

Version
3.0.0-rc.3
Reproduction link
I am unable to create the project
https://codesandbox.io/s/vue
Steps to reproduce
I installed vue cli 3 and ran vue cli. Then i went to create new project and followed the steps. I chose manually select features and included vue-router, vuex, sass, babel, es-lint, unit-jest, e2e-cypress and use config files. I chose eslint   airbnb as my linter/formatter, scss as my preprocessor and hit create project.
What is expected?
It will then create the project
What is actually happening?
It fails on create project with code 1. It is unable to resolve path to module @/components/HelloWorld.vue

this is a screenshot of the error im getting

Duplicate of #1734


Update UI interaction guidance

Description
Updates UI interaction guidance in STYLE_GUIDE.md.
Checklist

[X] By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and subject to the Developers Certificate of Origin.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@kolchfa-aws @cwillum Can you please review this and provide feedback (not just approve)? I'd particularly like attention paid to the Examples column, as they are currently the examples from the Microsoft guide, and I'm wondering whether we need to change them or if they're fine as is because they'll be commonly understood. Thanks!


feat: fix incompatable emphasis

Ref CX-1135

🧰 Changes
Attempts to migrate more buggy emphasis syntax.
🧬 QA & Testing

Broken on production.
Working in this PR app.

This PR was released!
🚀 Changes included in v7.6.7


Set Notification Image Below title

How to set image below title like this ...

#38 nobody can review and merge my pull request ?


rust-analyzer: 2021-07-12 -> 2021-07-26

Motivation for this change
Update to latest upstream release 2021-07-19
Change log:

https://github.com/rust-analyzer/rust-analyzer/releases/tag/2021-07-26
https://github.com/rust-analyzer/rust-analyzer/releases/tag/2021-07-19

Fixes #131329
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase notes)

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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 131502 run on x86_64-linux 1

1 package failed to build:

vscode-extensions.matklad.rust-analyzer

2 packages built:

rust-analyzer
rust-analyzer-unwrapped

@GrahamcOfBorg build vscode-extensions.matklad.rust-analyzer

Result of nixpkgs-review pr 131502 at 811238cf run on x86_64-linux 1

1 package failed to build:

vscode-extensions.matklad.rust-analyzer

2 packages built successfully:

rust-analyzer
rust-analyzer-unwrapped

Note that build failures may predate this PR, and could be nondeterministic or hardware dependent.
Please exercise your independent judgement. Does something look off? Please file an issue or reach out on IRC.

2021-07-26 is released new.

Äh, I didn't include the updated file. Thanks for the feedback.

The vscode extension still doesn't build.
Log: https://gist.github.com/oxalica/42c2ab9431dd592fe9f5181c80b16a19

The vscode extension still doesn't build.
Log: https://gist.github.com/oxalica/42c2ab9431dd592fe9f5181c80b16a19

Did it build before this update?

The vscode extension still doesn't build.
Log: https://gist.github.com/oxalica/42c2ab9431dd592fe9f5181c80b16a19

Did it build before this update?

Yes. I'm on 67efb9a7634a38e9b9de27064146bb1aee9770af. The error message seems weird. I'm not sure what's happening.
Here is the derivation path.
repo/fork/nixpkgs ((67efb9a7634...)) > nix build -f . vscode-extensions.matklad.rust-analyzer -vL
building '/nix/store/sv26adzmwmw3zsr7mvhw6g0sm6lvj682-rust-analyzer-0.4.0-dev.drv'...

I briefly tried to debug this. It appears that vsce is an optional dependency that gets skipped?

npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/vsce):

That output sure is strange though.

out dated.


When new team members are added, notify CNCF

As team members, we are CNCF maintainers. Note that we should notify
them on changes.
There is currently no role-email for this. To avoid publishing
indivduals' email addresses, link to the private prometheus-team mailing
list topic that has the contacts and context.
I believe this is an editorial change?

:+1:
Yeah, I'd view this as editorial as we're not changing any of the governance rules. Let's leave merging until say tomorrow just in case anyone disagrees with that.

at what point should we break those out into a different document?
On Thu, 13 Feb 2020, 22:28 Björn Rabenstein<EMAIL_ADDRESS>wrote:

@beorn7 approved this pull request.
I agree that this is an editorial change only.
Seeing this growing onboarding checklist, I was thinking about an
offboarding checklist…
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/prometheus/docs/pull/1550?email_source=notifications&email_token=AABAEBTN33Z3AALKU6QQ4EDRCW3QTA5CNFSM4KUXCSVKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCVPUA4I#pullrequestreview-358563953,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABAEBU26N7CZ4EWV5QJ6ODRCW3QTANCNFSM4KUXCSVA
.

at what point should we break those out into a different document?

That's another thing I had been thinking about: We could keep "procedural" things in a separate doc to minimize editorial changes to the governance so that we are less often in the situation where we have to make the call if a change is just editorial or not.

But of course, all of that is just brainstorming and out of scope of this particular PR.

As this changes a process, I would argue that it's not an editorial change and would thus disagree with this PR.
As I don't want to be the one blocking without offering a solution, I volunteer to rewrite this, split out on-/offboarding, create a small process for that, and then put it all up for a vote.

I volunteer to rewrite this, split out on-/offboarding, create a small process for that, and then put it all up for a vote.

perfect, thank you very much!

https://github.com/prometheus/docs/pull/1552


Travis CI tests

This adds support for running the tests on Travis CI. I'm opening this PR because the tests do not complete when running on Node v4 and v5. I have a fix for that issue as well, but wanted to get these multiple build targets working first so you could see where it's wedging.

https://travis-ci.org/alexkwolfe/restler/builds/119086988

Hey Alex, would you be able/willing to commit the fix you mention to a branch on your fork? I have the tests freezing locally in node 5 and I dearly want them to work, but I'm busy trying to merge the other outstanding pull requests from here into my fork (https://github.com/BryanDollery/arresting), so I don't have a lot of time to investigate. For me the tests are freezing on the first 'retry' test.

I believe this is what I was talking about:
https://github.com/alexkwolfe/restler/commits/compat


Only for macOS?

Not iOS or no text file in and graphic file out?

I wrote this primarily for https://github.com/SwiftDocOrg/swift-doc, and haven't had an occasion to try it on iOS. https://github.com/SwiftDocOrg/GraphViz/issues/14 discusses use of this library for a macOS app, so I'd expect that the process would be similar for iOS.
On macOS, you can render a text file to an image using the GraphViz executables (like dot) directly.


Contact Us form improved

I have added icons in contact us form

.

Kindly check my pull request .

your issue number ???

your issue number ???

#182


Remember last download folder / change folder from text field

When downloading multiple clips, it would be helpful if the software would remember the last chosen folder instead of needing to choose the destination folder every time.
It would also be nice to have the ability to change the folder via the text field provided. Pasting or typing should be available rather than just the limitation of the folder selection button.
Very useful tool and has helped me tremendously. Thank you for your hard work and time put into TwitchLeecher.

Usually users do not select the folder every time because it is inefficient. Therefor there is the default download folder in the preferences along with the option to create subfolders for favourited channels. So maybe that already solves your issue?
For your second point... again, it is inefficient and therefor most users don't do it that way. If at some point multi-selection and downloading are a thing the whole download and quality selection will go away anyway and solely rely on the preferences.
I do not say you are wrong, absolutely not, but you are definitely not representing the average user in the way you are using TL obviously. Remembering the last chosen download folder of the session is not difficult to implement, I'll put it on the list. But also if you need to change the folder every time you donwload a video, you are making your life more difficult than it has to be, I think.

It is a little bit late for me.... so I did not realize that saving the last used folder in the download dialog totally destroys the default download folder thing from the preferences.... so that's not going to happen.

I think you misunderstood how I use the software, so I will try to explain again in more detail.
I don't download multiple videos from a single channel. I download one video at a time from different streamers for the purpose of creating my own content. I play games with fellow streamers whom have given me permission to use their videos. So I need to download each video from each streamer separately.
When I click "Search", I use the URLs tab, add the URL of the video and then click Search at the bottom.
When the video is found, I click download, decide "start" and "end", then I need to choose the folder I'm downloading to because I don't want to download to the default folder and then have to move the video to the folder I want.
After each downloaded video, you need to search again, which resets the folder back to default. This is very annoying.
I understand your comments, but suggesting that my use is "inefficient", is like saying Google Chrome is inefficient for remembering the last used folder to download multiple files.
If the ability to remember that last used folder is too complicated and conflicts with other features, then why not allow the ability to paste into the folder text box? Allowing the ability to replace the default folder path when needed instead of needing to click the button with the 3 dots? That I believe would be very helpful for any type of user.
It just seems like a very simple ask, which is super common in other download software.


Y axis minimum always negative reflection of constant data values

If my data has constant values, say my utilization is always 100%, then the Y axis range goes from -100 to 100.  There is absolutely no reason to go negative.
If even one of the y values is changed to 99 the tick picker does a better job.  I see other bugs talking about no having any range when values are constant  (#3 and #40) and so maybe this bug is a result of fixing those.
See codepen https://codepen.io/jabberwo/pen/YmxqQg for example of it failing.  Pen https://codepen.io/jabberwo/pen/KOvzma was the basis for the previous and it comes from your "first chart" example at http://uber.github.io/react-vis/documentation/getting-started/your-first-chart

I have the same Issue. When the Y values are constant, 24 for example, the range goes from -20 to 24, and the line appears at the top edge (i would prefere it to display in the middle with a more reasonable Y axis range). Additionally The area series don't display at all, in this case.
Any solutions for this?


Are you planning to release the source code that you used to train sodaverse?

I am looking to add more data to the model and other modifications.

Currently, we do not have detailed plans on the training code, but we used the code here: https://github.com/google-research/t5x


MSID: 96722 Version: 1 DOI: 10.1101/2<IP_ADDRESS>0311

MSID: 96722
Version: 1
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>0311
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=96722
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>0311

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/96722v1
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>0311
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/96722/v1/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

@acollings I think the second 'important' needs editing out here:

Cheers @acollings!


Using environment variables in test names

Original issue: https://gitlab.com/testing-farm/general/-/issues/60, moving it here, as it is tmt related.
In the result page of a TF run are shown names of the tests - they can be configured in the TMT
plan. Now, I wonder. Is there a possibility to make these names variable? (based on a shell variables)
We configure our TMT plans with variables a lot, and showing, what configuration is currently under test
would be benefitial for us.
example:
current name: - name: Run docker tests on CentOS Stream 9
wanted name: - name: $OS, container: $REPO_NAME, version: $SINGLE_VERSION

I tried this, but it did not work.
Therefore I am asking, if this is even possible (maybe I just did something incorrectly).
Exemplary TMT plan, which we would like to change: https://paste.centos.org/view/bc3b564e

Seems like this can be solved with by adding quotes:
- name: '$OS, container: $REPO_NAME, version: $SINGLE_VERSION'

Closing the issue, thanks.


GetUserPlaylists Issue

GetUserPlaylists function returns playlists that aren't owned by the user as well as the ones owned by them. There should be a way to filter the playlists not owned by the user out

Correct me if I'm wrong but I don't think that's possible (at least not through the web api).
The endpoint only has two query parameters, limit & offset.
https://developer.spotify.com/documentation/web-api/reference/playlists/get-list-users-playlists/

@suryapolina99 The endpoint returns the "list of the playlists owned or followed by a Spotify user." That means it's totally possible to fetch playlists not owned by that user, but followed.
This library applies the same logic and doesn't add any extra processing of the results. If you would like to filter out those playlists not owned by the owner, you can check the owner field and leave those out.
In short, this endpoint removes the playlists from a user's library regardless of who is the owner.
The library doesn't perform extra logi


feat: add types for deliveryFunction implementation []

I need a PR to re-trigger the CI build pipeline as the previous merge failed to build due to a non- semantic-version compliant commit message.

@andipaetzold I believe you are confusing this repo with https://github.com/contentful/create-contentful-app/commits/master

oh 😆


Add control plane first stone: a gRPC metastore service.

Description
Add a metastore service with 2 implementations:

One backed by a Metastore instance.
One backed by a gRPC client.

Important note
The PR still needs a lot of cleaning and testing but I think the API is good so ready to have some feedback about the API.

Is there a ticket that covers the design and reason for introducing the control plane service type and the plans for what it will solve? It looks like it's mirroring the metastore APIs, is it intended that nodes will talk to this service instead of talking to the metastore directly? Is it intended to be stateless? Will it be expected that you run more than one?
I know there's talk about having the merge planner run in this plane, what else is envisioned to live here?

@kstaken some short answers so that you know a bit what's going on there:

Is there a ticket that covers the design and reason for introducing the control plane service type and the plans for what it will solve?

yes I will document that very soon (hopefully by next week)

It looks like it's mirroring the metastore APIs, is it intended that nodes will talk to this service instead of talking to the metastore directly? Is it intended to be stateless? Will it be expected that you run more than one?

Yes, this is correct. For the moment the plan is to have indexers making calls to the control plane that reads/writes to the metastore.

I know there's talk about having the merge planner run in this plane, what else is envisioned to live here?

We will run the merge planner there indeed. We will also handle indexing scheduling to decide which node should index a given (source_id, set of partition_ids). The solution should obviously work well with indexing with Kafka consumers.
There is an open issue #1208 but I need to add there the current plan.

Closing this old PR which is replaced by https://github.com/quickwit-oss/quickwit/pull/1853


Add support for progress notification

Changes:

Progress notifiers can be registered and unregistered on SyncSessions

NOTE TO SELF: hold on merging until a proper sync v.BETA-7.0 release is cut.

@jpsim are you referring to the API discussions we had on Slack? Since this PR is in a semi-decent place I'm happy to freeze it for now until we finalize our APIs. Otherwise, it's mostly the same as it was originally.

I withdrew my review because of the changes discussed in https://github.com/realm/product/issues/40

I removed the use of Optional<T>, since @morten-krogh said he would change sync to call the notifier immediately after registration, meaning that we should always know the downloadable and uploadable bytes counts. (https://github.com/realm/product/issues/40#issuecomment-271144959)

I fixed the review issues and refactored the "make an invocation" code into its own function.

Thanks for the thorough reviews, @bdash. Unless more flaws come to light, I'll leave this PR alone until a non-"pre" version of sync is released with support for this feature, then update, squash, and merge.

I'm seeing test failures on Linux after this was merged that appear to stem from a bug in realm-sync. I've written up realm/realm-sync#1098 to track the problem.


Simplify Salt (Next) Style library Figma variable collections

Change 'Foundation: Typography' to just 'Typography'
'Move Foundation: Shadow' number variables to Density – this will create the potential to apply density to shadows in the future if required
Link Shadow 'effects' to new 'Shadow' values in Density
Remove 'Foundation: Shadow' collection from variables

Changes have been made within a branch. Awaiting the 16 September release before merging the branch to main and publishing the changes.

Frappe Goal: merged by EOS

Changes merged, ready to publish.

ready to publish

Changes published. Release note added to confluence.


Possibility of picking history dates in RangeDatePicker

RangeDatePicker can be rendered from desired date (not only from today) by renderFirstMonthFrom props
it's possible to use prop isChoosingPastDatesEnabled to enable selecting dates in history

Closes #828

And two things?
What is the motivation for this?

Why it should render dates only from current date without possibility of select date in history? It's nothing very important, but these two props make RangeDatePicker much more universal.
Originally we found these issue when we wanted to use it for choosing birth date. It's not actual anymore, but I think it still could be useful and it was quite easy fix.

And I realize that it doesn't work properly in the storybook.
When I set the ChoosingPastDatesEnabled to true, nothing happens, I can't choose before date, at first I must take a future date and then it allows me.

Open the RangeDatePicker in the storybook
checked the ChoosingPastDatesEnabled
try to pick up past date

I also noticed that but I was thinking that I would fix this only because of Storybook. It doesn't seem to me very important, because I don't see there any use case for changing this props dynamically. I can fix it if you think it should be like that.

I also noticed that but I was thinking that I would fix this only because of Storybook. It doesn't seem to me very important, because I don't see there any use case for changing this props dynamically. I can fix it if you think it should be like that.

I think that should work because of this is as the react work, if I change props I expect that component will react on that.

I also noticed that but I was thinking that I would fix this only because of Storybook. It doesn't seem to me very important, because I don't see there any use case for changing this props dynamically. I can fix it if you think it should be like that.

I think that should work because of this is as the react work, if I change props I expect that component will react on that.

I'm also for fix. I understand that it is not important for real use case. But on the other hand Storybook is usually your first contact with components when you're exploring the library. And I also thought that something is broken when I played with it for a first time.

I also noticed that but I was thinking that I would fix this only because of Storybook. It doesn't seem to me very important, because I don't see there any use case for changing this props dynamically. I can fix it if you think it should be like that.

I think that should work because of this is as the react work, if I change props I expect that component will react on that.

I'm also for fix. I understand that it is not important for real use case. But on the other hand Storybook is usually your first contact with components when you're exploring the library. And I also thought that something is broken when I played with it for a first time.

OK, your notes makes sense. I will fix it

I also noticed that but I was thinking that I would fix this only because of Storybook. It doesn't seem to me very important, because I don't see there any use case for changing this props dynamically. I can fix it if you think it should be like that.

I think that should work because of this is as the react work, if I change props I expect that component will react on that.

I'm also for fix. I understand that it is not important for real use case. But on the other hand Storybook is usually your first contact with components when you're exploring the library. And I also thought that something is broken when I played with it for a first time.

OK, your notes make sense. I will fix it

Done

I am on it 🚀

I realize that when I unchecked the IsRangePicker value, the behavior is to as I expect. Will be hard to fix it?


rebuild index gets stuck after upgrade to 2.1.13

Hi,
perhaps this is related to #5795
since moving to 2.1.13 I have problem with rebuilding indexes (lucene in particular). The rebuild simply gets stuck (in this case on a lucene index of ~70000 records). While the app/db queries seem to continue to work; the db is inaccessible via studio.
In addition, orientdb service cannot be stopped gracefully and the cpu a bit wild while trying to stop it.
The only way for me was to force SIGKILL KILL it.
There were no errors in log while whilst index rebuild; the only output I'm including is when attempting to stop the orientdb service.
index rebuild works just fine in 2.1.11 (I have not tried 2.1.12)
would be willing to provide more info if possible/needed
2016-03-16 08:47:30:917 INFO  Shutting down listeners: [OServer]
2016-03-16 08:47:30:917 INFO  - ONetworkProtocolBinary /<IP_ADDRESS>:2424: [OServer]
2016-03-16 08:47:30:917 INFO  - ONetworkProtocolHttpDb /<IP_ADDRESS>:2480: [OServer]
2016-03-16 08:47:30:918 INFO  Shutting down protocols [OServer]
2016-03-16 08:47:30:918 INFO  Shutting down plugins: [OServerPluginManager]
2016-03-16 08:47:30:918 INFO  - studio [OServerPluginManager]
2016-03-16 08:47:30:918 INFO  - automaticBackup [OServerPluginManager]
2016-03-16 08:47:30:918 INFO  - script-interpreter [OServerPluginManager]
2016-03-16 08:47:30:919 INFO  - graph [OServerPluginManager]
2016-03-16 08:49:12:870 INFO  Received signal: SIGTERM [OSignalHandler]

hi @SpareShade
yes it could be related i'm checking it

hi @SpareShade
it is fixed and It will be available in the next 2.1.14 hotfix due the next week
Thanks


Add Description or Comment to Inventory Items

We would love to see a description or comment field available in inventory items.  This would allow for things like RAM to be labeled as DDR3-1600  etc   As this information is not always clear from a part number.  Makes for a good double check as techs are upgrading hardware.

As well as adding a date field.  (i.e. date added to the system)

Duplicate of #1121. A description field has already been added.


How do I define searchableAttributes?

Is it possible to define searchableAttributes via the plugin on save?
I have tried defining them in the indexSettings and settings arrays - but they don't seem to end up defined on my index
'mappings' => [
        [
            'indexName' => getenv('ENVIRONMENT') . '_services',
            'indexSettings' => [
                'settings' => [
                    'searchableAttributes' => [
                        'title',
                        'intro',
                        'body'
                    ]
                ],
                'forwardToReplicas' => 'true',
            ],
            'elementType' => \craft\elements\Entry::class,
            'criteria' => [
                'section' => 'services'
            ],
            'transformer' => function (craft\base\Element $element) {
                return [
                    'title' => $element->title,
                    'id' => $element->id,
                    'url' => $element->url,
                    'intro' => $element->introTaglineLede,
                    'body' => $element->bodyText
                ];
            }
        ],
        ...
]

As shown here https://github.com/riasvdv/craft-scout#indexsettings you'll need to run the update command any time you change your index settings.


[RFC] Unify IR Node and Reference Class Naming Convention

In many node objects we introduced recently, we use the Node suffix to hold IR/AST nodes and no suffix for reference classes.
class RangeNode : public Object {
 public:
  Expr min;
  Expr extent;
};

class Range : public ObjectRef {
 public:
  // constructor
  Range(Expr begin, Expr end);
  // static factory.
  static Range make_by_min_extent(Expr min, extent);
};

In the above example:

RangeNode is the container object.
Range is the reference class.
New objects are constructed via constructors in the reference class.
We also define clear factory function ```make_by_min_extent`` in the reference class.

However, due to legacy reasons, we also have a few different styles in the codebase.
In particular, some IR container object does have a Node suffix or a reference class.
Because not every IR container object has a reference class,
the references are constructed via static make functions in the object container class
instead. The code block below shows an example:
class IntImm : public ExprNode {
 public:
  Expr make(DataType dtype, int64_t value);
};

Proposal
This RFC proposes to adopt a single style throughout the codebase.
We propose to adopt the following convention as a strawman:

Always use Node as the suffix for IR node container objects.
Always introduce a reference class(which does not have suffix) to each container object.
Because we have a reference class for each object class, we can use a constructor to directly
construct a reference class
In some instances where we need a clearly named factory function,
we can put them as a static function of the corresponding reference class.

Notably, for object containers that are not part of IR, some end in Obj(e.g. ADTObj) and some end in Node(e.g. ModuleNode). This RFC will not seek to consolidate these names, but it would also be great to hear from everyone's thoughts about this topic as well.
The main advantage of the proposed style is that the C++ code will be more consistent with the python version.
It is also more natural to construct reference via constructors.
Migrated from https://discuss.tvm.ai/t/unify-naming-convetion-for-ir-node-and-reference-classes

Update, the TIR namespace is already updated. but we have yet updated all nodes in the relay namespace

Update, the TIR namespace is already updated. but we have yet updated all nodes in the relay namespace

@tqchen : I was checking for relay part as you mentioned here. But i found all the places it is taken care as per https://github.com/apache/incubator-tvm/issues/4647. I like to help in this case. But i cant find the area which you are referring here. If i am mistaken, would you please point me in the right direction. Thanks!

Close for now as most relay and tir nodes has been updated


Add configuration commands to MicrobitSerial.

So before we sent the "start" command we have to configure the device with other commands like "select radio frequency".
At the moment the main goal of this PR is do the required updates to be able to send protocol commands between the handshake and the start of the periodic messages. For the radio frequency specifically, we also need to send this command to the "micro:bit 1" (the remote micro:bit) right after flashing and before asking the user to unplug it. But that part is not included in this PR.
CC @microbit-matt-hillsdon @microbit-robert

Will be merged with https://github.com/microbit-foundation/ml-trainer/pull/201


WriteStack() duplicates call stack if err is already a causer

package main

import (
    "fmt"
    "github.com/pkg/errors"
)

func GiveError() error {
    return errors.New("this is an error")
}

func Outer() error {
    err := GiveError()
    return errors.WithStack(err)
}

func main() {
    err := Outer()
    fmt.Printf("%+v\n", err)
}

Output:
this is an error
main.GiveError
	/Users/brianwong/go/src/github.com/brianbwong/test.go:9
main.Outer
	/Users/brianwong/go/src/github.com/brianbwong/test.go:13
main.main
	/Users/brianwong/go/src/github.com/brianbwong/test.go:18
runtime.main
	/usr/local/opt/go/libexec/src/runtime/proc.go:198
runtime.goexit
	/usr/local/opt/go/libexec/src/runtime/asm_amd64.s:2361
main.Outer
	/Users/brianwong/go/src/github.com/brianbwong/test.go:14
main.main
	/Users/brianwong/go/src/github.com/brianbwong/test.go:18
runtime.main
	/usr/local/opt/go/libexec/src/runtime/proc.go:198
runtime.goexit
	/usr/local/opt/go/libexec/src/runtime/asm_amd64.s:2361

In this toy example, it's obvious that the output of GiveError() already contains a stack trace, so there's no point in Wrapping it. However, if GiveError() is a function in an external package, it won't be clear whether its output contains a stack trace or not (and hence whether it needs wrapping).
If this isn't intended, here's a rough proposal for a fix:
// WithStack annotates err with a stack trace at the point WithStack was called.
// If err is nil, WithStack returns nil.
func WithStack(err error) error {
	if err == nil {
		return nil
	}

    _, ok := err.(causer)
    if ok {
        return err
    }

	return &withStack{
		err,
		callers(),
	}
}

Though currently it looks like the type fundamental isn't actually a causer.
Happy to submit a PR if desired!

Thank you for raising this issue. WithStack and WithMessage were added to allow the caller to add just a message or a stack trace if they want. In retrospect Wrap was a mistake.
Please see the many other open issues for discussions on adding stacks if not already present or combining stack traces.

On 1 Jun 2018, at 05:47, Brian Wong<EMAIL_ADDRESS>wrote:
`
package main
import (
"fmt"
"github.com/pkg/errors"
)
func GiveError() error {
return errors.New("this is an error")
}
func Outer() error {
err := GiveError()
// fmt.Printf("%+v\n\n\n", errors.Cause(err))
return errors.Wrap(err, "wrapper")
// return errors.Wrap(errors.Cause(err), "")
}
func main() {
err := Outer()
fmt.Printf("%+v\n", err)
}
`
Output:
this is an error main.GiveError /Users/brianwong/go/src/github.com/brianbwong/test.go:9 main.Outer /Users/brianwong/go/src/github.com/brianbwong/test.go:13 main.main /Users/brianwong/go/src/github.com/brianbwong/test.go:20 runtime.main /usr/local/opt/go/libexec/src/runtime/proc.go:198 runtime.goexit /usr/local/opt/go/libexec/src/runtime/asm_amd64.s:2361 wrapper main.Outer /Users/brianwong/go/src/github.com/brianbwong/test.go:15 main.main /Users/brianwong/go/src/github.com/brianbwong/test.go:20 runtime.main /usr/local/opt/go/libexec/src/runtime/proc.go:198 runtime.goexit /usr/local/opt/go/libexec/src/runtime/asm_amd64.s:2361
In this toy example, it's obvious that the output of GiveError() already contains a stack trace, so there's no point in Wrapping it. However, if GiveError() is a function in an external package, it won't be clear whether its output contains a stack trace or not (and hence whether it needs wrapping).
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Thanks for the reply. nmiyake's post in this issue best sums up my point.

#76 has merged, and I think it solves the issue in most cases -- basically, call Wrap or New when error is first generated, and WithMessage to annotate further.
I think it would be nice/useful if there was an implementation of WithMessage that adds a message and also adds a stack to the error if there is no error in the causal chain that already has a stack. Otherwise, to avoid stack duplication, the person writing the code has to know that the original error they're wrapping doesn't already have a stack attached to it. This is fine for things like the standard library, but if there are multiple libraries/packages that use this package, then if you don't want to duplicate stack entries (but still want to add context) you either need to do this check manually at every point or inspect the call stack all the way down manually. This issue also becomes more prevalent as more libraries adopt the package.

Is your opinion still that it is not worthwhile to implement this functionality? If so, what is the best practice for handling an error from another package? Is there a clean way to check whether this received error is a stdlib error that needs a call stack or one from this package that already has a call stack attached to it?

@brianbwong I very agree with your opinion because I think the stack message is used to help us to debug codes and find out which line causes this error quickly, but if it displays a lot of duplicates stack message, it will waste time to find out the real stack message and waste disk space to store log