Javadoc for org.redisson.api.RMapCache#putIfAbsent states that it replaces existing value

/**
     * If the specified key is not already associated
     * with a value, associate it with the given value.
     *

     * Stores value mapped by key with specified time to live.
     * Entry expires after specified time to live.
     *

     * If the map previously contained a mapping for
     * the key, the old value is replaced by the specified value.
     *
     * @param key - map key
     * @param value - map value
     * @param ttl - time to live for key\value entry.
     *              If 0 then stores infinitely.
     * @param ttlUnit - time unit
     * @return current associated value
     */
    V putIfAbsent(K key, V value, long ttl, TimeUnit ttlUnit);

Same for overloaded variant. The last paragraph seems incorrect.

Fixed


Setting up the data sets.

Can you share the file structure of your codebase, i.e locations of datasets wrt cf_demo.py.

├── LICENSE
├── Makefile
├── README.md
├── dataset
│   ├── OTB
│   ├── VOT2016
│   ├── VOT2018
│   └── test

What have you kept in the test folder? The json files ?


Create Sprite for Gasoline (Flamethrower Ammunition)

Please see CONTRIBUTING.md first.
Happy Hacking! :smiley:

Do you mean a red box of gasoline, a barrel or just pure liquid

Hi @Toastisgreat! A gasoline box would work well. Thanks. :smiley:

And do you want pixel or real life graphics, and 2d or 3d

Please check other sprites and our CONTRIBUTING.md for that. Pixel and 2D should be good.


rnv clean doesn't do anything in 0.27

Results with summary stating; "Nothing to clean"

fixed in 0.27.1


Tag aliases

Are there best practices for integrating tag synonyms into this gem? Something like Stack Overflow:

With the full javascript synonym list found here. There are some SO questions about how to implement this, but not many answers.

Here's a crack at it.
For SO, let's assume all those tags are about tech, and name our model "Tech". rails g model tech description:text icon_url:string preferred_tag:string etc.
In the model, acts_as_taggable_on :names.
Then we can create a sample in db/seeds.rb
js = Tech.create! description: "most used comp language", icon_url: "somthing.com/js.svg," preferred_tag: "javascript" #prob should do an ID for preferred tag, tho IDK how
js.name_list.add("javascript, js, classic-javascript", parse: true)
js.save

then check with a byebug statement after saving...
(byebug) js.names
#<ActiveRecord::Associations::CollectionProxy [#<ActsAsTaggableOn::Tag id: 1, name: "javascript", taggings_count: 1>, ...]>

When the user wants to create a new tag we'd have to ensure it's not in any other models, maybe by doing this? Tech.tagged_with("new-tech-tag").first != nil
Though I'm not sure how you'd setup autocompletion. You could use jquery-tokeninput on the client but IDK how select all tech tags that begin with certain characters, ordered by # of taggings_count (probably a scope on that one).
Is this how the system is meant to be used? Am I missing any pitfalls in this approach?


ValueError: min() arg is an empty sequence

@ranahanocka First of all thanks for this interesting approach of CNN.
Unfortunately I am currently running into this error when trying to train the network on my own dataset. Faces were simplified to 600 with the blender script. Do you have an idea what this could possible causing this? Bad .obj files? Wrong parameters used for training configuration?
Console output:
saving the latest model (epoch 1, total_steps 16)
(epoch: 1, iters: 80, time: 0.045, data: 3.654) loss: 0.672
Traceback (most recent call last):
  File "train.py", line 23, in <module>
    for i, data in enumerate(dataset):
  File "/kaggle/working/MeshCNN/data/__init__.py", line 33, in __iter__
    for i, data in enumerate(self.dataloader):
  File "/opt/conda/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 819, in __next__
    return self._process_data(data)
  File "/opt/conda/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 846, in _process_data
    data.reraise()
  File "/opt/conda/lib/python3.6/site-packages/torch/_utils.py", line 385, in reraise
    raise self.exc_type(msg)
ValueError: Caught ValueError in DataLoader worker process 2.
Original Traceback (most recent call last):
  File "/opt/conda/lib/python3.6/site-packages/torch/utils/data/_utils/worker.py", line 178, in _worker_loop
    data = fetcher.fetch(index)
  File "/opt/conda/lib/python3.6/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/opt/conda/lib/python3.6/site-packages/torch/utils/data/_utils/fetch.py", line 44, in <listcomp>
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/kaggle/working/MeshCNN/data/classification_data.py", line 27, in __getitem__
    mesh = Mesh(file=path, opt=self.opt, hold_history=False, export_folder=self.opt.export_folder)
  File "/kaggle/working/MeshCNN/models/layers/mesh.py", line 16, in __init__
    fill_mesh(self, file, opt)
  File "/kaggle/working/MeshCNN/models/layers/mesh_prepare.py", line 11, in fill_mesh
    mesh_data = from_scratch(file, opt)
  File "/kaggle/working/MeshCNN/models/layers/mesh_prepare.py", line 61, in from_scratch
    post_augmentation(mesh_data, opt)
  File "/kaggle/working/MeshCNN/models/layers/mesh_prepare.py", line 185, in post_augmentation
    slide_verts(mesh, opt.slide_verts)
  File "/kaggle/working/MeshCNN/models/layers/mesh_prepare.py", line 198, in slide_verts
    if min(dihedral[edges]) > 2.65:
ValueError: min() arg is an empty sequence

Hi @claell ,
For some reason, the code is complaining that the meshes are empty (i.e., edges is an empty sequence).
Is it possible your mesh contains all  non-manifold geometry? Also, did you modify the ninput_edges and pooling resolution according to your new meshes? Also be sure to read the Code Options wiki if you didn't already

Ok. I managed to workaround this with setting slide_verts to 0, but obviously it would be nice to further track this down.
When running the blender script I got #48, maybe that causes the problem? Also I get sometimes #49.
I am not that experienced with mesh files, how can I further analyze them to see whether the geometry might be non-manifold or empty?
I modified the ninput_edges and pooling resolution as described in https://github.com/ranahanocka/MeshCNN/issues/40#issuecomment-559518905.

Hi @claell ,
I am not sure why slide_verts cause this problem (it simply perturbs the vertex location slightly). You can view the .obj files in meshlab, and check for non-manifoldness / boundary edges or other weird stuff using meshlab as well.

@ranahanocka in the meantime I checked the .obj files in FreeCAD for errors. At least there were no errors found (for some random samples I checked). I could also try and check with Meshlab again.
After further thinking about the problems I have with MeshCNN, it might have to do with the number of faces/edges of the files I use as input. Some have a very simple geometry (like cubes) thus resulting in a face count of about 70. Other more complex files get normalized to 600 faces roughly with the script, but it won't upsample the very easy geometries to 600 faces. Could this lead to problems?

Hi @claell ,
Yes -- I recommend using subdivision to upsample the number of faces. The idea is that the network should see 3D models of roughly the same resolution. Sort of like if you want to train a network to classify or segment images, you can rescale them to be roughly the same size. If there are small differences in resolution, it should still work with no problems. However, I expect it to be more challenging to train a single network which can generalize on very small and very large meshes.
I think the blender_process script should do that (like if you give it a mesh of 70 faces, and the target is 600 it should upsample it). You should try that to see if it works. If after running the script once the mesh still doesn't have enough faces, you can always run it through the script again.

Hi @ranahanocka
thanks for your help.

However, I expect it to be more challenging to train a single network which can generalize on very small and very large meshes.

This sounds like it is recommended, but should not result in errors during training, correct?

I think the blender_process script should do that

Then the 70 faces bodies probably had even less faces before and the script just did not manage to upsample it enough. I will try running it several times over the files (I juse it within a batch script that loops over all files within a folder).
I also did some experiments with the arguments for MeshCNN. After setting the batch size to 1, it did run for some samples and then gave different errors (like this one) every time. So it seems some samples are causing different kinds of problems. Also I noticed that I had to set the number of input edges to at least 2000. This seems wrong, since the input files should only have 600 faces with about 1000 edges.

The need to set the number of input edges to something around 2000 in order to generate mean / std #18 seems to be independent to the number of faces. I had the same problem with files normalized to 300 faces as also with some normalized to 600. I am now mainly stuck at #40.

I just sent you a mail with the dataset I am trying to use. Hopefully that will shed some more light onto my issues.

Hi @claell --
I just took a look a couple meshes you sent. Some of them have very high genus -- (meaning a lot of holes). High genus shapes are more difficult to simplify to a small number of edges -- so I suggest reducing the amount of pooling to a really small amount. It seems your meshes have at most 900 edges, right? In that case, for sanity checking you can run:
--pool_res 900 900 900
which will not pool at all. then you can try to run something like:
--pool_res 870 870 870
which will pool once to 870, and then no more. You can try playing with these numbers until you find a config you like.

Hi @ranahanocka
Thanks for having a look! Seems I had some misunderstanding with the pool_res parameters. I thought the parameters were indicating the face number, but it turns out to be the edge amount. That in combination with the many holes in some shapes helps to explain some errors I got.
Since somhow I have to set ninput_edges to at least 2000, I also had to do that for pool_res apparently. So I started with 2000 2000 2000 and did some experimenting. Now I am at 2000 1900 1800 1700, which seems to work.
However it is still weird and might also not be good that I have to set ninput_edges to 2000. All shapes should have below 900 edges. Do you have a clue what might be causing this?
Also slide_verts still seems to fail in some cases during learning, so I had to set it to 0 also.
Here is the complete command used, much was derived from the shrek_16 dataset example:
!python /kaggle/working/MeshCNN/train.py --dataroot "/kaggle/working/MeshCNNInput" --name "MeshCNNInput" --batch_size 16 --ncf 64 128 256 --pool_res 2000 1900 1800 1700 --niter_decay 100 --ninput_edges 2000 --norm group --num_aug 2 --num_groups 2 --resblocks 1 --flip_edges 0.2

Hi @claell ,

However it is still weird and might also not be good that I have to set ninput_edges to 2000. All shapes should have below 900 edges. Do you have a clue what might be causing this?

ninput_edges must be the maximum number edges in your entire set. Possibly there is one mesh with more edges? Maybe run a simple script which will iterate through each mesh and find the one with the max len(mesh.edges).

Also slide_verts still seems to fail in some cases during learning, so I had to set it to 0 also.

sometimes there are issues with the cached dataset, especially if you made changes. I suggest deleting those .npz cached files and trying to re-run with slide verts.

Hi @ranahanocka
There should not be any meshes with more edges, since all got simplified with the blender script. However, I will try to do some more investigation in this field like running only with a few manually checked meshes or by creating some little script for that.
Regarding slide_verts, you might be correct. Altough I am running on kaggle, so everytime I restart the machine, everything gets deleted. However, this could also have been caused when trying to change some parameters to make other things working. I will keep an eye on it, whether it causes errors again.

Hi @ranahanocka
I had some other stuff to do in the meantime, but recently I had time to revisit this. It turns out that there was one file that had around 2000 edges. So your guess was correct.
I wrote a small script for FreeCAD to identify those files that do not get simplifed enough by the blender script.
Here is a small excerpt for anyone who might be interested:
import FreeCAD
import FreeCADGui
import Mesh

edgeNumber = 900

print("Start.")
#Looping over directory
for entry in os.scandir(inputDir):
    importPath = entry.path
    #print(importPath)
    if ".obj" in importPath:
        mesh = Mesh.Mesh()
        mesh.read(importPath)
        facets = mesh.CountFacets
        edges = mesh.CountEdges
        if edges < edgeNumber - 10 or edges > edgeNumber + 10:
            print(importPath + " - Edges: " + str(edges) + " - Facets: " + str(facets))
            FreeCADGui.updateGui()
print("Done.")

@claell,
I also had the  problem you reported with
 if min(dihedral[edges]) > 2.65:

After debugging of the code I found that had accidentally generated OBJ files which included some vertices which were not used by any triangles in the file.  You might be having a similar issue here.
I have a short function which can be used to remove any unused vertices as MeshCNN loads the mesh.
def remove_unused_vertices(vs, faces):
    # Find which vertices are used
    is_vertex_used = [ False for v in vs]
    for face in faces:
        for vid in face:
            is_vertex_used[vid] = True

    # Find the new vertex array and vertex id map
    used_vertices = []
    vertex_id_map = []
    for i, used in enumerate(is_vertex_used):
        if used:
            new_vid = len(used_vertices)
            used_vertices.append(vs[i])
            vertex_id_map.append(new_vid)
        else:
            vertex_id_map.append(-1)

    # Re-map the faces
    remapped_faces = []
    for face in faces:
        mapped_face = []
        for vid in face:
            mapped_vid = vertex_id_map[vid]
            assert mapped_vid >= 0
            mapped_face.append(mapped_vid)
        remapped_faces.append(mapped_face)

    return used_vertices, remapped_faces

In I was able to call this function from the fill_from_file()  in  mesh_prepare.py.   It appears to clean up the problem for me.

@JoeLambourne thanks for your feedback. I am not sure, whether we have the same root of the problem, though. Did you also use the blender script to simplify the meshes to a given number of faces? Also, did you check, whether your obj files are recognized as intact when checking with a tool like meshlab, as @ranahanocka suggested before?
Currently I assume that the problems I had came from meshes with many holes that could not get simplified "enough" by the blender script.

@claell,   No.  I'm using a different meshing library from Autodesk.  I was leaving some unused vertices in the model by mistake

@JoeLambourne Alright. I guess that the root of our problems is not the same, then. However, it might help others with the same problem.


Modify tests in stdlib to account for UTF-16 strings in .NET

IronPython's strings are in the UTF-16 form thus decoding a surrogate pair always results in two characters. Consequently, decoding a broken surrogate pair with a replace error handler results in two U+FFFD rather than one as it is in case of CPython.

Thanks!


Always load GitHub Gists over HTTPS

Specify gists to always load over HTTPS by specifying the protocol.

I've never used Mage before - but I'll take a look....

I can do it, no problem, but If you want to fiddle more with the Hugo source code, you might as well get that up and running. We should probably get it working with simpy go generate... but.

thanks :-) , yeah I would ideally like to get that up and running. I'm using Windows 10 Pro. In VS Code I ran (from the Hugo dir) :
git clone https://github.com/magefile/mage
cd mage
go run bootstrap.go

And I now have mage.exe in C:\Users\coliff\go\bin, but I'm unable to run the 'mage' command from command-line...I'll take another look at this later...

C:\Users\coliff\go\bin, but I'm unable to run the 'mage' command from command-line..

Yea, you need to get mage into your PATH env var somehow.

sorry I haven't managed to get Mage working yet. so could you pls rebuild the Go templates to merge this one?


Add hspec instrumentation

It would be useful to have instrumentation of test suites. My
original use case for this is to validate a change in Persistent
instrumentation, for which hitting it really hard with the Mercury test
suite seems like a reasonable strategy.

Yep, done :)


You didn't explain what it does.

"its a crazy long decimal number just like PI"


Boolean value subbands in istft_vits2_base.json?

https://github.com/FENRlR/MB-iSTFT-VITS2/blob/17593f65ae3cfa99fa584c1e4e1d5723e2a4d97d/configs/istft_vits2_base.json#L51
vs
https://github.com/FENRlR/MB-iSTFT-VITS2/blob/17593f65ae3cfa99fa584c1e4e1d5723e2a4d97d/pqmf.py#L56
Was wondering if this is accurate? I usually see people set it to values like 4 or 8

It was the original MB-iSTFT-VITS repository which set it to the boolean type, but that does not really matter because the istft generator does not use subbands, nor the pqmf. They are for the mb and ms variants.


Fix cant found RET offset in gotls mode. fix #502.

Fix the issue of not being able to fetch the function RET offset in the gotls model when building a Golang binary with pie mode.
GO_BUILDMODE="-buildmode=pie"

ref: https://github.com/docker/cli/blob/799bf5268039a92c9af197abd612b0f36cf9efe1/scripts/build/.variables#L75C13-L75C42

Why do I get a could not find magic number error in my test environment?
As you can see in the picture, my order of operation is right before left.

is tests  not a ELF file?  The pie mode requires enabling CGO.
please use command :
CGO_ENABLED=1 go build -buildmode=pie  -o test main.go

ps:
This PR is not yet complete, I am in the process of optimizing it.

is tests not a ELF file? The pie mode requires enabling CGO.
please use command :
CGO_ENABLED=1 go build -buildmode=pie  -o test main.go

ps: This PR is not yet complete, I am in the process of optimizing it.

It looks the same as before.

I'm going to wait until this PR is complete before I run these tests, in order to understand what's changed in this PR.


RegExp CharacterClass generation bug

These invalid RegExps were generated:
/([+-=_-M:2])+/
/[g--}]/
/([]|[+]|[z--o])/
/[W;?--gdH]+?/
/[p--y]/
/[$-$|-+?]/
/[$d--e]/
/[*x/A--T]/
/[P--C]/
/[E-w\\\\-?u]+?/
/[&-E--&{]/
/[7-Ww-&]/
/[+-:|-TeI>]/
/[(R7`h--`|]/
/[o--gu]*?/
/([dY--c])/
/([=-eX-?Yi])/
/[uT\\\\--rl]/

Why?

Looks like on rare occasions invalid RegExps are still being generated. For example, I got:
/=null)||null!==8552124315074560)>>{},")J$9cp`Z"({},vbwwsklgcqqbs?(.6)||false:(true,true,/
/=void true)?(/

and others with error like
SyntaxError: Invalid regular expression: /.../: Unmatched ')'

Can you give the whole program that was generated? I think you've parsed it incorrectly.

I didn't parse it - just used esfuzz.render(esfuzz.generate()) and found those.

I'm very suspicious that that was the generated program. Why does it start with /=?

Huh, that's a good question :) Let me recheck.

Not that starting with /= is a problem, but given how much what follows looks like a JavaScript program, I doubt that is random regexp characters.

@michaelficarra Of course, you were right - looks like a bug is somewhere either on my or TypeScript parser side, and on extremely rare occasions. Will dig into it a little bit more, thanks!


Validate default Razor and Blazor project templates with nullability enforcement enabled doesn't result in unexpected warnings.

Open up all of the .cshtml files in a Razor pages site with nullability enforcement enabled and ensure that there are no warnings for nullability.
Open up all of the .razor files in a Razor pages site with nullability enforcement enabled and ensure that there are no warnings for nullability.

Open up all of the .razor files in a Razor pages site with nullability enforcement enabled and ensure that there are no warnings for nullability.

@danroth27 there are several locations in our Blazor project templates that aren't nullable enforcement friendly. Is this something we want to address or leave as is? I'm uncertain of C#'s plans to turn the feature on by default or not so this decision might be largely based on that decision as well.
For context in Blazor server side app there's:
Shared\NavMenu.razor(31,31): warning CS8603: Possible null reference return. [C:\Users\nimullen.REDMOND\source\repos\Preview9BlazorServerSide\Preview9BlazorServerSide\Preview9BlazorServerSide.csproj]
Pages\FetchData.razor(40,23): warning CS8618: Non-nullable field 'forecasts' is uninitialized. Consider declaring the field as nullable. [C:\Users\nimullen.REDMOND\source\repos\Preview9BlazorServerSide\Preview9BlazorServerSide\Preview9BlazorServerSide.csproj]
Data\WeatherForecast.cs(13,23): warning CS8618: Non-nullable property 'Summary' is uninitialized. Consider declaring the property as nullable. [C:\Users\nimullen.REDMOND\source\repos\Preview9BlazorServerSide\Preview9BlazorServerSide\Preview9BlazorServerSide.csproj]
Data\WeatherForecast.cs(13,23): warning CS8618: Non-nullable property 'Summary' is uninitialized. Consider declaring the property as nullable. [C:\Users\nimullen.REDMOND\source\repos\Preview9BlazorServerSide\Preview9BlazorServerSide\Preview9BlazorServerSide.csproj]
Shared\NavMenu.razor(31,31): warning CS8603: Possible null reference return. [C:\Users\nimullen.REDMOND\source\repos\Preview9BlazorServerSide\Preview9BlazorServerSide\Preview9BlazorServerSide.csproj]
Pages\FetchData.razor(40,23): warning CS8618: Non-nullable field 'forecasts' is uninitialized. Consider declaring the field as nullable. [C:\Users\nimullen.REDMOND\source\repos\Preview9BlazorServerSide\Preview9BlazorServerSide\Preview9BlazorServerSide.csproj]
    6 Warning(s)

Blazor WASM:
Shared\SurveyPrompt.razor(14,31): warning CS8618: Non-nullable property 'Title' is uninitialized. Consider declaring the property as nullable. [C:\Users\nimullen.REDMOND\source\repos\Preview9BlazorWASM\Preview9BlazorWASM\Preview9BlazorWASM.csproj]
Shared\NavMenu.razor(31,31): warning CS8603: Possible null reference return. [C:\Users\nimullen.REDMOND\source\repos\Preview9BlazorWASM\Preview9BlazorWASM\Preview9BlazorWASM.csproj]
Pages\FetchData.razor(38,23): warning CS8618: Non-nullable field 'forecasts' is uninitialized. Consider declaring the field as nullable. [C:\Users\nimullen.REDMOND\source\repos\Preview9BlazorWASM\Preview9BlazorWASM\Preview9BlazorWASM.csproj]
Pages\FetchData.razor(51,23): warning CS8618: Non-nullable property 'Summary' is uninitialized. Consider declaring the property as nullable. [C:\Users\nimullen.REDMOND\source\repos\Preview9BlazorWASM\Preview9BlazorWASM\Preview9BlazorWASM.csproj]
Shared\SurveyPrompt.razor(14,31): warning CS8618: Non-nullable property 'Title' is uninitialized. Consider declaring the property as nullable. [C:\Users\nimullen.REDMOND\source\repos\Preview9BlazorWASM\Preview9BlazorWASM\Preview9BlazorWASM.csproj]
Pages\FetchData.razor(38,23): warning CS8618: Non-nullable field 'forecasts' is uninitialized. Consider declaring the field as nullable. [C:\Users\nimullen.REDMOND\source\repos\Preview9BlazorWASM\Preview9BlazorWASM\Preview9BlazorWASM.csproj]
Pages\FetchData.razor(51,23): warning CS8618: Non-nullable property 'Summary' is uninitialized. Consider declaring the property as nullable. [C:\Users\nimullen.REDMOND\source\repos\Preview9BlazorWASM\Preview9BlazorWASM\Preview9BlazorWASM.csproj]
Shared\NavMenu.razor(31,31): warning CS8603: Possible null reference return. [C:\Users\nimullen.REDMOND\source\repos\Preview9BlazorWASM\Preview9BlazorWASM\Preview9BlazorWASM.csproj]
    8 Warning(s)

@NTaylorMullen We should address these, so go ahead and file an issue if you haven't already.

Looks like I already filed an issue for this a while back that's in 3.1.0. Feel free to move the milestone if you want: https://github.com/aspnet/AspNetCore/issues/10921


Could I ask what is this and why?

https://github.com/Alex313031/thorium/blob/21397a7dbab9e1420eb1c6c977d410f7f5eb3c37/src/chrome/app/theme/theme_resources.grd#L194
https://github.com/Alex313031/thorium/blob/21397a7dbab9e1420eb1c6c977d410f7f5eb3c37/src/chrome/app/theme/default_100_percent/chromium/yiff.png

@People-11 LOL shhhh, its a secret easter egg.

Alright

@People-11 Lol you knew about it when there was catgirl instead?

I know, im still using old version, its catgirl at the fridge

will this get removed?

degenerate

You should feel embarrassed distributing such a badly optimized PNG to many thousands of users.
Here, 17.1 % smaller:

WebP or JXL would perform much better for lossless anyway, though. Not that lossless is reasonable here anyway...


AttributeError: 'MultiDiGraph' object has no attribute 'node'

Hi,
I shoehorned your stuff into an LXC container, and all is well, except on random different workflows, I get the subject error.
An example: https://github.com/StackStorm/st2/blob/master/contrib/examples/actions/workflows/orquesta-join.yaml
It seems, but not 100% sure, that when more than one task "do"'s to the same later task, I get this.
Thoughts?

hey, sorry I never saw the notification for this issue.  Seems I can't repro though:

is it still an issue for you?


Proper handling of leaf index in kernel trace

Kernel  outputs in the AVM are organised into columns based on a specific offset and are sorted by an incrementing side_effect_counter.
Changes to NOTEHASHEXISTS and L1TOL2MSGEXISTS means we no longer use the side_effect_counter here but instead use the leaf_index to check against. For now, I've replaced the side_effect_counter with leaf_index so that the columns contain the correct information when verifying. However, I've also had to relax some constraints as well as not make the full set of changes to the AVM hints structure.
To properly handle this we need to re-organise the kernel outputs columns, where the side_effect_counter based opcodes are kept contiguous. This means that the NOTEHASHEXISTS and L1TOL2MSGEXISTS would likely be in their own structure.

Changes to side_effect_trace.ts to accomodate "hinting" for leaf index based opcodes
Changes to ordering within kernel_trace.pil - maybe putting the leaf index based slots at the start or relaxing the incrementing constraints for these two opcodes
Changes to the hints_map, no longer keyed by side_effect_counter

Additionally, we will need to update the way #[KERNEL_OUTPUT_LOOKUP] works, specifically the columns
ia and kernel_value_out, as well as side_effect_counter and kernel_side_effect_out.
The former has to change since TreeReadRequests now has the following behaviour if checking that value a exists at index i.

if value_at(i) == a then kernel_value_out and ia will contain a
if value_at(i) == b then kernel_value_out = b and ia will break since it b wont be part of the opcode.


New Issue

Hi, I have some suggestions to help solving this issue!
Here is a list of similar issues:

1. [dssasddassad](https://github.com/fjsj/python-social-auth/issues/23)

2. [dsads](https://github.com/fjsj/python-social-auth/issues/21)

3. [New issue](https://github.com/fjsj/python-social-auth/issues/20)

4. [asdasdasd](https://github.com/fjsj/python-social-auth/issues/19)

5. [adasdasd](https://github.com/fjsj/python-social-auth/issues/18)

Also, fjsj made a PR to close a similar issue, so it might be good to ask them for help.
Hope this is useful!
Cheers,
Cinnabot.


Divider component

Divider Component with API
<Divider horizontal />
<Divider vertical />

Codecov Report

Merging #45 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master    #45   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          21     21
  Lines         230    230
  Branches       70     70
=====================================
  Hits          230    230

Continue to review full report at Codecov.

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

Thank you, @BoyWithSilverWings. I've changed a little bit the code to be more consistent with the rest of the library.

@diegohaz Thank You, I will take note of those when I make the next contribution.


How can I edit auth middleware?

I need to set some configs and other stuff related to current user, before any request get handled. If I'm correct we can access the current user like this:
    $user = app('Dingo\Api\Auth\Auth')->user();
First I thought that I should do this in a service provider. But in there the Laravel has not yet initiated the dingo authenticating, therefore it's throw me an error. Then I thought I need to edit the dingo auth middleware called api.auth to do this. Its usage on my routes is like this:
  $api = app('Dingo\Api\Routing\Router');
    $api->version('v1', ['prefix' => 'v1', 'namespace' => 'App\Http\Controllers'], function ($api) {
        $api->group(['prefix' => 'admin', 'middleware' => 'api.auth'], function ($api) {

But I don't have any access to it cause it's a builtin middleware. So what should I do in this situation?

@amirhosseindz Why do you want to do the stuff in the built in middleware? Why can't you do it a separate one? The preferred way of accessing the user is this: $request->user() In the middleware where you have the user.

I'm using nwidart/laravel-modules and I have a lot of modules in the project. So I don't want to edit each module and all of their routes to add a separate middleware. Thus I thought I could just edit that built in middleware which already used every where.
Anyway, I found a solution myself. I extended that built in middleware class to my custom middlware class and did my stuff there. Then I set its alias api.auth to point to that custom middlware. I did this alias overriding in a service provider.


[MB-9613] Persist reviewed billable weight action

Description
This PR ensures that when a TIO clicks the "Review Weights" button on the payment request page, that action persists when the page is revisited in another session
Setup

Sign in as a TIO
Select a Payment Request
Click "Review Weights"
Close sidebar and you should see that the Review Weights button is now secondary styled and if there was a yellow flag on the left sidebar that should have disappeared. However, if the move has a max billable weight issue (displayed in red) the Review Weights button will remain as primary styled until the issue is resolved
Leave and revisit page. The styling should be the same

make db_dev_migrate server_run

References

Jira story for this change

Screenshots

Messages

:book:
:link: MB-9613

  Generated by :no_entry_sign: dangerJS against 72216601b3a075a4e65702ef8ec1ffb1f2c5547f

This looks great! I left some comments of things I noticed below.

Thanks, I just push fixes for all the comments below


The specification doesn't denote a way for a server to 'close' a signature help request

What should servers return in response to a textDocument/signatureHelp request to mark it as done? Say you have a function add that takes two arguments, once the user has finished writing the call, the hovered documentation should disappear -- the C++ extension does this when the closing paren is written, for example.
But no matter what I send back, vscode leaves the signature hover up, highlighting the last parameter. Null results, an empty signatures list, a $/cancelRequest, nothing seems to have any effect. The only way to make it disappear is by hitting escape.
Am I missing something obvious, or is there a way in the spec to achieve what I want?

Actually returning nothing (null) should close it. Agree that this is missing in the spec. Which client are you using?

I am using Visual Studio Code.
When you say nothing, do you mean ..."result":null... as the response? If that's the case, that's what I though I was doing, but it's likely a bug on my end (doing a bit of refactoring of our server code) . When I get back to work next week, I'll double check that though. If it turns out not to be our bug, I'll see if I can't get a simple repro for y'all.

So I eventually got around to looking at this. VSCode will indeed close the signature help on result:null (I wasn't hooking into every event I needed, namely ')') but it felt very 'inconsistent' -- I figured out why. The textDocument/didChange notification for the ')' is sometimes coming in after the signatureHelp request. I understand that these things aren't strictly ordered, but this is rather frustrating behaviour, and I'm not entirely sure the best way of handling it (our server's completion is mostly single threaded).  AFAICT, the only real way to handle this is to set non textChange notifications aside for a few milliseconds, to see if the completion event was sent simultaneously with a change (else the completion code can have no way to know it's looking at add(1, 2) and not add(1, 2, and once that response has been sent, it's too late).
This is all a bit off topic, so I apologise.

Sorry for the spam, but I just wrote some code that flips change and signatureHelp requests when appropriate, and I'm looking at the logs, and despite replying
{"jsonrpc":"2.0","id":20"result":null}

to the request
{"jsonrpc":"2.0","id":20,"method":"textDocument/signatureHelp","params":{"textDocument":{"uri":"file:///d%3A/F/Code/volt64/Test/src/main.volt"},"position":{"line":9,"character":10}}}

The signature help window remains open. I need to investigate further, but it seems it is not as simple as returning nothing to the request, or vscode has a bug (pending me missing something else, of course).

@bhelyer Your suggestion of changing textDocument/signatureHelp to include the character that triggered it is reasonable. It's similar to what was done for textDocument/completion in #138.

Actually this is currently controlable. The signatureHelpProvider property of the server capabilities allows you to specify signature help trigger characters.
In response to the ')' insert. This is an auto inserted character and a server should not rely on the client doing this. Nor can it rely on when this will occur. IMO the interesting character for signature help is '('
OK to close or do you specify both '(' and ')' as trigger characters?

@dbaeumer I've hooked into ), but the textDocument/signatureHelp signal can occur before the didChange notification allows the server to see it -- so there's no way to tell for sure what the trigger character for a given textDocument/signatureHelp is -- consider the following scenario:
add(1, foo

That's the state of the document when we get the signatureHelp request. Say we have '(', ',' and ')' as trigger characters. If the user has hit ',' we may set another signature as active. If the user has hit '(', we have to lookup 'foo' and find its signature. If the user has hit ')' we have to send an empty request to close the signature request. If we can't rely on the change event occurring before the signatureHelp request, as you say, there is no way to figure this out cleanly with the current protocol. We can only respond to a given request once, so having the correct trigger character is important, at least in the way our server is architected.
 But really, the cleanest solution in my mind is to just put the trigger character somewhere on the signatureHelp request.
Also, I don't understand what you mean by ')' is an 'auto inserted character'. That's not necessarily true, is it? It certainly isn't in our server.

There are plans to add context information to signature help requests, just like there is for regular completion: https://github.com/Microsoft/vscode/issues/34737. Once this is added to VSCode, it will hopefully make it into the LSP as well.
For completion, it looks like this:
https://github.com/Microsoft/vscode-languageserver-node/blob/5f9c993ff38f5c369949aeb359b3e9b178172dbc/protocol/src/protocol.ts#L1389-L1403

@bhelyer there is a misunderstanding: if the user types ')' the signature help request should come after the user has typed the ')'. If not, please provide steps on how to reproduce and then I will certainly investigate. Things a different with auto closing brackets. For example some editors might auto insert a closing ')' when the user types '('. If '(' triggers signature help it might happen that the request is send before the closing ')' is inserted. But this shouldn't influence the result anyways.

That's definitely the behaviour I'm seeing. To be precise, the user types ')', the signature help request is sent, and then the file change event for ')' is sent. If I can find some time over the weekend, I'll try and make a simple example.

@bhelyer great.

@bhelyer please ping if you have steps. Then I will reopen the issue.


[ISSUE #1663] add rabbitmq client operation

Fixes #1663 .
Motivation
Explain the content here.
Explain why you want to make the changes and what problem you're trying to solve.
Modifications
Describe the modifications you've done.
Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a followup issue for adding the documentation

you need to add this dependency to the known-dependencies.txt @mroccyen

 you need to add this dependency to the known-dependencies.txt @mroccyen

ok


Test if it's possible to replace the Google permission for creating OpenID Tokens with the openid Access Scope when creating the Access Token

Tested in PR #250, it doesn't work.


Upgrade compile and target sdk version to Android API 31 (version 2.9.1)

Incorporate changes from https://github.com/wordpress-mobile/react-native-reanimated/pull/19 into version 2.9.1-wp-1.

Not sure why but when running ./createNPMPackage.sh command, it fails with the following error:
+ mv android android-temp
+ mv android-npm android
+ cp -R android/build build_output
cp: android/build: No such file or directory

However, I'm able to reproduce this same issue in wp-fork branch so not sure if generating the NPM package requires something else in version 2.9.1. @geriux any idea? Thanks!

Hello @fluiddot 👋
After cleaning some local folders the script started to failed for me as well. I compared the code with the upstream code in 2.9.1 and there were some lines that should've been removed. It looks like there was an issue with the merge.
I created this PR that updates the script.

Hello @fluiddot 👋
After cleaning some local folders the script started to failed for me as well. I compared the code with the upstream code in 2.9.1 and there were some lines that should've been removed. It looks like there was an issue with the merge.
I created this PR that updates the script.

Great, thanks for fixing the issue 🙇 . I've just approved and merged the PR that updates the script.


Added custom provider for PearAI backend

Description
This change adds a custom login button if users select the PearAI model provider
Checklist

[ ] Add custom model provider as a selection when configuring the extension
[x] Add login button component to open webpage
[ ] Add redirect from pearai/login to vscode://pearai/auth (or similar) after login
[ ] Store user auth credentials in vscode vault
[ ] Automatically refresh credentials if expired
[ ] Add PearAI logo for model icon

looks pretty good ur GOAT status

OP, i couldnt get the jpeg to show up for some reason. this is sweet


Purge_Google not executing

Hi, love this add-on, have used it extensively.
I notice that it is not correctly honouring the purge_google file count. I have mine set to preserve 600 (falls nicely under my Google Drive data limit), however it doesn't execute a delete command even though it shows the file-count is >600.
Add-on Version: 1.7.6 (latest)
HassOS with latest supervisor on 113.3
Can provide more logs / details.
Config (Note: I use this to back-up my camera footage to google drive // removed backupdir details
fromPattern: /share/garage/*/*/*/*.mp4
backupDirID: xxxxxxxxx
purge:
  enabled: false
  preserve: 5
purge_google:
  enabled: true
  preserve: 600
debug: false

Log output (2x Logs from two times today)
INFO:root:googlebackup result: {'backupTimestamp': '2020-08-17T01:23:58.353681', 'fromPattern': '/share/garage/*/*/*/*.mp4', 'backupDirID': 'xxxxxxxxxx', 'fileCount': 673, 'alreadyCount': 615, 'backedUpCount': 58, 'deletedFromGoogle': 0}

INFO:root:googlebackup result: {'backupTimestamp': '2020-08-17T03:07:44.126802', 'fromPattern': '/share/garage/*/*/*/*.mp4', 'backupDirID': 'xxxxxxxxxx', 'fileCount': 711, 'alreadyCount': 683, 'backedUpCount': 28, 'deletedFromGoogle': 0}

My configuration.yaml (as relevant), this service is called daily via an automation
rest_command:
  google_backup:
    url: 'http://localhost:8055/gb/doBackup'
    timeout: '600'

Update, ran it again with debug:true
Doesn't appear to be anything additional to help with the debug process.
INFO:root:Nothing to purge from Google Drive
INFO:root:googlebackup result: {'backupTimestamp': '2020-08-17T03:20:28.053047', 'fromPattern': '/share/garage/*/*/*/*.mp4', 'backupDirID': 'xxxxx', 'fileCount': 717, 'alreadyCount': 712, 'backedUpCount': 5, 'deletedFromGoogle': 0}
DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): hassio:80
DEBUG:urllib3.connectionpool:http://hassio:80 "POST /homeassistant/api/services/mqtt/publish HTTP/1.1" 200 2
DEBUG:root:<Response [200]>

Hi, love this add-on, have used it extensively.
I notice that it is not correctly honouring the purge_google file count. I have mine set to preserve 600 (falls nicely under my Google Drive data limit), however it doesn't execute a delete command even though it shows the file-count is >600.
Add-on Version: 1.7.6 (latest)
HassOS with latest supervisor on 113.3
Can provide more logs / details.
Config (Note: I use this to back-up my camera footage to google drive // removed backupdir details
fromPattern: /share/garage/*/*/*/*.mp4
backupDirID: xxxxxxxxx
purge:
  enabled: false
  preserve: 5
purge_google:
  enabled: true
  preserve: 600
debug: false

Log output (2x Logs from two times today)
INFO:root:googlebackup result: {'backupTimestamp': '2020-08-17T01:23:58.353681', 'fromPattern': '/share/garage/*/*/*/*.mp4', 'backupDirID': 'xxxxxxxxxx', 'fileCount': 673, 'alreadyCount': 615, 'backedUpCount': 58, 'deletedFromGoogle': 0}

INFO:root:googlebackup result: {'backupTimestamp': '2020-08-17T03:07:44.126802', 'fromPattern': '/share/garage/*/*/*/*.mp4', 'backupDirID': 'xxxxxxxxxx', 'fileCount': 711, 'alreadyCount': 683, 'backedUpCount': 28, 'deletedFromGoogle': 0}

My configuration.yaml (as relevant), this service is called daily via an automation
rest_command:
  google_backup:
    url: 'http://localhost:8055/gb/doBackup'
    timeout: '600'

@mpartoglou  My personal use case is straight forward and works fine. So my question may seem simple. Forgive me.
Are your backed up files showing up in Google drive in nested sub folders within your designated back up folder? Mine all appear directly in my designated backup folder (no sub folders). I suspect this might be the difference that causes my code to break for you. Can you please confirm?

Hi @samccauley , I can confirm that all files are uploaded to a single folder in google drive and appear directly in the designated folder (eg. Not nested within subfolders).
Google_drive/designated_folder/video_1.mp4
Google_drive/designated_folder/video_2.mp4
Where designated_folder is the folder set within the configuration.

@mpartoglou I found the problem. I wasn't supporting paginated results coming back from Google Drive in the case where the number of files exceeded 100. Fix will be coming shortly.

@samccauley thanks for checking and identifying the issue. I know my use case is not intended so really appreciate the fix. I’ll test ASAP once it’s released.

@mpartoglou Okay. Give version 1.7.7 a try.

Thanks, updated and tried then, my google drive quote was exceeded. I’ll have to try a bit later when I’m back home after I delete some of the larger video files.
Will confirm the fix shortly

Hi @samccauley
I can confirm it worked and i have exactly the number of files set (i.e. 600).
INFO:root:googlebackup result: {'backupTimestamp': '2020-08-19T23:17:19.209581', 'fromPattern': '/share/garage/*/*/*/*.mp4', 'backupDirID': '1RdOtRWAIl0MbdshFrQP5FUCjTXlJf5Cz', 'fileCount': 636, 'alreadyCount': 464, 'backedUpCount': 172, 'deletedFromGoogle': 1252}

Thanks for identifying and turning around a fix so quickly!!
I'll close this issue


Adding Canal as CNI

Hi, this may fix Issue #48. Status is "Works for me", maybe you should test it again. Just to make sure.

LGTM! Thank you for your contribution.


Fix batch training math

Realized that I left out a scaling term in the loss when using batches.

Codecov Report

Merging #932 (4a6f7d0) into main (1730477) will decrease coverage by 5.48%.
Report is 2 commits behind head on main.
The diff coverage is 50.00%.

Additional details and impacted files

@hmacdope I've been seeing this issue with the docking CI failing pretty frequently now. it always seems to be the same thing of different tests being collected. do you know what that is/what's causing it? it seems to go away if I re-run the CI workflow

@kaminow, not really I need to do some digging. Lets move to an issue as I agree annoying to always be re-running.

gotcha. is there a way to push these PRs through without that check?

Lets try again otherwise can just force merge.


2 patches

JSON_DECODE_ANY - I really need this. If I can encode anything (JSON_ENCODE_ANY) I want to be able to decode anything.

json_load* crashes if the first argument is NULL.

When both JSON_DECODE_ANY is set, the decoder may read up to 4 extra bytes from the input (one utf-8 encoded character). This kind of makes it incompatible with JSON_DISABLE_EOF_CHECK, which is documented to leave the file position point to right after the closing ']' or '}'. This incompatibility should at least be documented.

If json_load* return NULL to indicate error, the error structure should be filled with information about the error. Otherwise the program is likely to crash anyway because the error info cannot be read correctly. You should at least make sure jsonp_error_init() is called before returning. This is not currently done when lex_init() fails, but that could also be fixed (even though it's always a memory allocation error and there are serious problems for the program to continue anyway in that case.)

Added 2 new patches.
For the documentation, let me know if I can do more.
About the load* methods, I have implemented some test case.
Regards
b

Applied squashed patches 1e36667193fe51a7a886f9b2560e83ca6765df4b and 5ec101ec21d5fec71dcf693e941c90c388430a32. Thanks!


Automatically apply from conversion when runtime argument check fails

Pull Request Description
Enhancing ReadArgumentNode to apply from conversions when the argument type check fails. Works great together with runtime type classes and at other places where automatic conversion is handy.
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[ ] The documentation has been updated, if necessary.
[ ] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[ ] All code follows the
Scala,
Java,
All code has been tested:

[ ] Unit tests have been written where possible.

I am concerned that this might result in hard-to-find bugs. If you write a bad method call that should fail, and it succeeds because of a conversion you weren't aware about, you'll get unexpected behavior that will be tricky to find, because it is made possible by a call to from that you did not explicitly make.
On the other hand, I am not familiar with the from conversions that exist in the code, so I don't know how much of a problem this will actually be in practice.

@JaroslavTulach what is the status of this issue?

@JaroslavTulach what is the status of this issue?

It is a draft.

Running benchmarks to get official results for the new ListBenchmarks.

The case with conversion shall now be faster since ec5a3b3 - running benchmarks to verify.

Benchmarking most recent changes at benchmark run.

@GregoryTravis your concerns are very valid.
Every implicit thing has the downside of code being more complex to trace.
That's why it's important to visually indicate all such places  ... on the graph

+1

Also, would it be possible to notify GUI where such conversion was applied?

Yes, we are able to trace when a conversion happens using GraalVM Insight (a toy I love). Imagine following convert.enso program:
from Standard.Base import all

meaning (v : Text) = "Meaning of world " + v

main = meaning 42

Text.from (that : Number) = that.to_text

which will do the automatic conversion when passing number 42 to the meaning function as it requires Text. You can run it with this PR as:
enso$ ./built-distribution/enso-engine-0.0.0-dev-linux-amd64/enso-0.0.0-dev/bin/enso --run convert.enso
'Meaning of world 42'

Let's now use the GraalVM's Insight capabilities  by creating a tracing script to print out a message whenever a from function is invoked. Create trace.js:
insight.on('return', (ctx, frame) => {
    let that = frame.that;
    let to = ctx.returnValue(frame);
    print(`Converting via ${ctx.name} at ${ctx.source.name}:${ctx.line}`
       + ` from ${that}:${typeof that} to ${to}:${typeof to}`);
}, {
    rootNameFilter : '.*from',
    roots : true
});

and then execute with additional JAVA_OPTS parameters:
enso$ JAVA_OPTS=-Dpolyglot.insight=trace.js ./built-distribution/enso-engine-0.0.0-dev-linux-amd64/enso-0.0.0-dev/bin/enso --run convert.enso
Converting via convert::Standard.Base.Data.Text.Text::from at convert.enso:7 from 42:number to 42:string
'Meaning of world 42'

and we can see that the from conversion has been observed. As GraalVM Insight  offers similar capabilities as Enso instrumentation I am pretty sure we can trace automatic conversions at runtime...

We would then display that using a special connection style (e.g. dashed one).

...we just need to design a way to provide such information to the IDE and then display it. That will need some future work, CCing @4e6.

That's why it's important to visually indicate all such places - both on the graph and in the text editor.

I am sure we can do it in the graph - e.g. when the program is running - easily. Alas, I don't know how to do the same in the text editor - e.g. just by static analysis.

It also means that we are closer and closer to the .to method, right?

This PR proves there is no overhead when applying the conversions - e.g. that the .to method can be implemented effectively. On the other hand, this PR also removes the need to use the .to conversion in certain situations. Rather than writing in the previous example:
meaning (42.to Text)

one can simply call meaning 42 and benefit from the automatic conversion of ascribed runtime arguments.

We would then display that using a special connection style (e.g. dashed one).

...we just need to design a way to provide such information to the IDE and then display it. That will need some future work

Just please note that in many cases we put parameters directly on a node, and this conversion may also happen directly there and there will be no connection to stylize.
i.e. if we have
y = my_operation 42

instead of
x = 42
y = my_operation x

there is no connection between 42 and my_operation to display in the first case as the parameter 42 is directly in the node.
Maybe we should consider to then add some indication for these cases as well? Possibly some dashed frame over the parameter, which when hovered says which conversion has been applied?


demosite: load of demo records error

How to reproduce
$ inveniomanage database init --user=root --yes-i-know

$ inveniomanage database create

$ inveniomanage records create invenio/testsuite/data/demo_record_marc_data.xml -t marcxml

And get the following sqlalchemy.exc.IntegrityError:
http://pastebin.com/238DZJyH

I can not reproduce it with latest Invenio and Invenio-Demosite master.

What database are you using?
I have:
mysql  Ver 14.14 Distrib 5.6.24, for osx10.10 (x86_64) using  EditLine wrapper

and can see the error.

mysql  Ver 14.14 Distrib 5.6.25, for osx10.10 (x86_64) using  EditLine wrapper

OK. Upgrading mysql did not help.
pip install invenio-records --upgrade
did.

FWIW, I'm having the same issue, and upgrading invenio-records didn't solve it. This appears to happen on records that have a controlfield tag in them, since removing it makes inveniomanage records create work again.

@jacquerie can you please provide more details and traceback? Maybe we need to submit an issue to DoJSON. Please make sure you are running latest version of all packages. Thanks

@jmartinm @jacquerie In case of problems of this kind, you can easily use Docker to confirm/infirm whether latest invenio-demosite and friends behave OK or not:
$ cd ~/private/src/invenio
$ git fetch upstream
$ git checkout master
$ git merge --ff-only upstream/master
$ docker build -t invenio:latest .
$ cd ~/private/src/invenio-demosite
$ git fetch upstream
$ git checkout master
$ git merge --ff-only upstream/master
$ docker-compose -f docker-compose-dev.yml build
$ docker-compose -f docker-compose-dev.yml up
$ # now wait until all daemons are fully up and running
$ docker exec -i -t -u invenio inveniodemosite_web_1 \
          inveniomanage demosite populate \
          --packages=invenio_demosite.base --yes-i-know
$ w3m http://<IP_ADDRESS>:28080/search

see e.g. https://github.com/inveniosoftware/invenio-demosite/commit/c13311fe33ea48d2d1ae8f5bdbe2d112d3738bcd


Provide hook/access to "More" toolbar item.

Version
2.5.1
Development Environment
Windows 10, Chrome
Current Behavior
Access to the "More" item of the default toolbar seems currently unintended. Looking at the source code i was able to access it via a presumably private property:
const toolbar = editor.getUI().getToolbar();
const moreButton = toolbar._moreButton.el;
// <customize button>

Expected Behavior
Make the property public & documented or provide a property/function to hook into the creation of the item. e.g. in the editor constructor:
new Editor({
	el: root,
	toolbarItems: createToolbarItems(),
	toolbarMoreButton: function () {
		const button = document.createElement('button');
		// <customize button>

		return button;
	},
});

I needed this to add an SVG icon component of my UI framework, so everything is consistent with the other toolbar buttons i created via the regular toolbarItems option:

@brunnerh There is currently no official offer, so I think you should use it the way you used it. The usage has changed in v3, so we'll consider this.

The previous method of accessing the "more" button no longer applies to 3.0, so it would still be very helpful to have a public API for accessing the button.

As a workaround vor v.3: The button is always in the DOM and can be found via a selector:
document.querySelector('.toastui-editor-toolbar-icons.more')


Changing color and style of the box

Hi
How can i change box style, icon, color and remove this white border?

@ArefMozafari  Hi! Sadly, Box Style, Icon Color and border color is not customizable at this version.
So, you can customize it yourself by get cursor to this widget and press command + b, then you can enter this library.
And, you can customize it yourself.
Nowadays I'm not using flutter for my main skill. So, I wish I will upgrade this library asap.

I understand, thank you

@ArefMozafari 0.0.8ver is now release! You can test and close whenever you want.

Great job, thanks


Splitting Module reconcile into BuildSign and DevicePlugin reconciler…

…s (#602)
Currently Module reconciler contains 2 logical flow that are completely unrelated to one another: Buid/Sign flow and DevicePligin flow The following are changes for this commit:

create reconciler responsible only for Build/Sign flow
create reconciler responsible only for DevicePlugin flow
delete Module reconciler
delete daemonset package, as it is no longer needed
unit tests

Codecov Report

Merging #828 (cb4d970) into main (82dd239) will decrease coverage by 0.14%.
The diff coverage is 84.26%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@            Coverage Diff             @@
##             main     #828      +/-   ##
==========================================
- Coverage   76.49%   76.35%   -0.14%
==========================================
  Files          59       59
  Lines        5501     5532      +31
==========================================
+ Hits         4208     4224      +16
- Misses       1079     1096      +17
+ Partials      214      212       -2

Files
Coverage Δ

internal/controllers/module_nmc_reconciler.go
85.34% <ø> (ø)

...ternal/controllers/device_plugin_pod_reconciler.go
61.15% <52.63%> (ø)

internal/controllers/device_plugin_reconciler.go
91.17% <91.17%> (ø)

internal/controllers/build_sign_reconciler.go
77.60% <77.60%> (ø)

/lgtm

/test e2e-hub

/test e2e-hub

/lgtm


Miscalculation in F1 metric

Describe the bug
The F1 metric may be calculated incorrectly.
Expected behavior
It should be as described in below reference links
Screenshots
Current code for F1 metric

Additional context
Observation from

https://en.wikipedia.org/wiki/F-score
https://www.v7labs.com/blog/f1-score-guide

Please assign me, if this is a relevant bug

I assigned you Akash.
Thx for submitting the issue 🚀.

Thank you. Will submit a PR in sometime


Receive View Improvements

Link to feature: https://gnosis.productboard.com/feature-board/planning/features/2536735


chore: do not report an error when reducing resources receives a NotFound error

This PR will reduce the intermittent logs from the operator by not report an error when the resource to be reduced (removed) got deleted before the deletion happens in reduce package.

Ah, the CI pipeline that doesn't fail randomly is indeed something I missed


⚠ Fetchers has degraded performance

In 341c818, Fetchers ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 456 ms

Resolved: Fetchers performance has improved in 3079d08.


"JSpecify for JSR305+IntelliJ users," "JSpecify for Checker Framework users," etc.

@sdeleuze pointed out in our meeting that we should explicitly call out some common differences from the semantics of other annotations and tools, like those discussed in his question on #4 and my response there.
Depending on how #4 plays out, this could include advice to keep using whatever @NonNull annotation you were using before (if you want to continue to use other tools that benefit from it) and a discussion of whether to alias it to our @NonNull.
Of course, there are many, many combinations of tools that users might use, and some of them may differ in many ways from ours. We won't try to be exhaustive, but we can highlight frequently asked questions.
(Probably some of the questions that JSR305/IntelliJ/CF users have will be questions that everyone has, in which case we'll also want to cover them in a more general FAQ.)
[edit: This can also include Kotlin. In that case, users aren't so much picking between tools (though "annotated Java vs. Kotlin" is a choice that some could face, at least at the margin, and we'd do well to emphasize how JSpecify prepares for a future rewrite in Kotlin) as they are looking to know how they interact and how Kotlin's handling of JSpecify annotations differs from its handling of other annotations.]

@sdeleuze points out that nowadays there is https://github.com/jakartaee/common-annotations-api, too.

other tools and annotations that we know about but haven't listed in this thread:

NullAway
Android/AndroidX annotations and perhaps Android tooling
SpotBugs/FindBugs
I thought I had at least one more in mind when I started typing....

Of course, in some cases, we'll just be able to link to JSpecify-oriented documentation on those projects' sites.


Color widget uses list/object UI element

Not sure if this is a bug, but it doesn't look right. There is no reason for this widget to have a dropdown.
Expected behaviour:
It should only include the element inside the dropdown, and put the field label inside the outline, similar to the string widget.

Its not a bug, but a decent suggestion.


Remove legacy compose from E2E environments

What does this PR do?
Remove legacy docker-compose dependency from E2E environments.
Motivation

Additional Notes

Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached

Closing in favor of separate PRs for each check so that CI can run on each one.


Error Initializing app: There was an error with the spawned command: npminstall

Your system information:
Cordova CLI: 6.2.0
Ionic CLI Version: 2.0.0-beta.32
Ionic App Lib Version: 2.0.0-beta.18
ios-deploy version: 1.8.6
ios-sim version: 5.0.8
OS: Mac OS X El Capitan
Node Version: v5.10.1
Xcode version: Xcode 7.3.1 Build version 7D1014
fangyideMacBook-Pro:Workspace fangyi$ sudo ionic start demo3i --v2
Password:
Creating Ionic app in folder /Users/fangyi/Workspace/demo3i based on tabs project
Downloading: https://github.com/driftyco/ionic2-app-base/archive/master.zip
[=============================]  100%  0.0s
Downloading: https://github.com/driftyco/ionic2-starter-tabs/archive/master.zip
[=============================]  100%  0.0s
Installing npm packages...
Error with start undefined
Error Initializing app: There was an error with the spawned command: npminstall
There was an error with the spawned command: npminstall
Caught exception:
undefined
Mind letting us know? https://github.com/driftyco/ionic-cli/issues

+1

This is a duplicate of #1013.
I am closing this issue. It has been kind of a catch all for npm install issues from ionic start. If you are having issues please try running with the verbose flag.
sudo ionic start cutePuppyPics --v2 --verbose
This should provide more insight into what is happening. In most cases it will report issues with network connectivity or permissions issues. If this is not the case please open an issue with your ionic info output.

@jthoms1
Still i m getting error:
Downloading: https://github.com/driftyco/ionic2-app-base/archive/master.zip
Downloading: https://github.com/driftyco/ionic2-starter-tabs/archive/master.zip
Installing npm packages (may take a minute or two)...
Running exec command: npminstall
Spawn command completed
Error with start undefined
Error Initializing app: There was an error with the spawned command: npminstall
There was an error with the spawned command: npminstall


Kafka Consumers Scheduling and Scaling

Problem
Currently, each Dispatcher replica instantiates a Consumer for each Trigger with the same consumer group. With an increasing number of Triggers, the Dispatcher resources need to be increased as well and there is no way to configure how many consumers for a specific Trigger we need to run.
This proposal will allow partitioning consumers across Dispatcher replicas and fine-grained control over the parallelism of each Trigger.
Persona:
Which persona is this feature for?

Event Consumer

Time Estimate (optional):
How many developer-days do you think this may take to resolve?
30
Additional context (optional)
/priority important-soon
/area broker
/area channel
/area source
/kind feature-request

/triage accepted

I know I'm coming late to the party. So please excuse me. I am worried about the consequences of choosing the "ConsumerGroup" name.

It has a direct connotation with Kafka's consumer groups and its symantics.
If some Kafka operator (say Strimzi) decides to create a ConsumerGroup CRD for whatever reason, it'll collide with ours and will be confusing for the users.

I'm thinking of a more generic term. Maybe "DispatcherPartition" and "DispatcherPartitionGroup" or something along those lines.

@pierDipi I was able to deploy KafkaSource with consumer replicas (under and over pod capacity) and the HA scheduler with this set of predicates and priorities in the scheduler CM.
With 25 VReplicas for example,
  Placements:
    Pod Name:      kafka-source-dispatcher-0
    Vreplicas:     13
    Pod Name:      kafka-source-dispatcher-1
    Vreplicas:     12
  Replicas:        25

But I was seeing an issue when running with priority plugin {"Name": "AvailabilityZonePriority",}
The error caused dispatcher pod #2 to not start up -   Warning  FailedMount  98s (x9 over 3m46s)  kubelet            MountVolume.SetUp failed for volume "contract-resources" : configmap "kafka-source-dispatcher-1" not found
Investigating this...

@pierDipi the failed mount error above occurs intermittently (I noticed it a couple more times). But my next few runs with HA scheduler AND with priority {"Name": "AvailabilityZonePriority",} worked successfully with the replicas getting evenly spread across the three zones in my cluster.
Placements:
    Pod Name:      kafka-source-dispatcher-0
    Vreplicas:     9
    Pod Name:      kafka-source-dispatcher-1
    Vreplicas:     8
    Pod Name:      kafka-source-dispatcher-2
    Vreplicas:     8

Could this be something to do with the webhook not injecting CMs fast enough? Needs some playing with.

Noticed evictor misbehaving (just leaving here for documentation):
pod-1 marked for eviction leaving only pod-0 as "Schedulable" but pod replicas remain as "2"
{"level":"info","ts":"2022-02-16T16:25:53.150Z","logger":"kafka-broker-controller","caller":"state/state.go:324","msg":"cluster state info","knative.dev/pod":"kafka-controller-656f759f4b-7bl6w","NumPods":"2","NumZones":"3","NumNodes":"3","Schedulable":"[0 1]"}
{"level":"info","ts":"2022-02-16T16:25:53.154Z","logger":"kafka-broker-controller","caller":"statefulset/autoscaler.go:134","msg":"checking adapter capacity","knative.dev/pod":"kafka-controller-656f759f4b-7bl6w","pending":0,"replicas":2,"last ordinal":1}
{"level":"info","ts":"2022-02-16T16:25:53.168Z","logger":"kafka-broker-controller","caller":"consumergroup/evictor.go:116","msg":"Marked pod as unschedulable","knative.dev/pod":"kafka-controller-656f759f4b-7bl6w","component":"evictor","kafka.eventing.knative.dev/component":"evictor","consumergroup":"default/986e73d7-3a6a-4a9f-bf94-6e7c21bae216","pod":"knative-eventing/kafka-source-dispatcher-1"}
{"level":"info","ts":"2022-02-16T16:27:33.581Z","logger":"kafka-broker-controller","caller":"state/state.go:324","msg":"cluster state info","knative.dev/pod":"kafka-controller-656f759f4b-7bl6w","NumPods":"2","NumZones":"3","NumNodes":"3","Schedulable":"[0]"}
{"level":"info","ts":"2022-02-16T16:27:33.584Z","logger":"kafka-broker-controller","caller":"statefulset/autoscaler.go:134","msg":"checking adapter capacity","knative.dev/pod":"kafka-controller-656f759f4b-7bl6w","pending":0,"replicas":2,"last ordinal":1}

Another observation with consumers for 2 different KafkaSource objects:
NAME             TOPICS                   BOOTSTRAPSERVERS                            READY   REASON   AGE
kafka-source     ["knative-demo-topic"]   ["my-cluster-kafka-bootstrap.kafka:9092"]   True             29m
kafka-source-2   ["knative-demo-topic"]   ["my-cluster-kafka-bootstrap.kafka:9092"]   True             24m

Ansus-MBP:eventing-kafka-broker ansuvarghese$ k get consumergroup
NAME                                   READY   REASON   SUBSCRIBER                                       REPLICAS   READY REPLICAS   AGE
2568fde3-d74e-4baa-b40d-b561c58744d7   True             http://event-display.default.svc.cluster.local   5          5                29m
7b184904-5551-44ac-a88e-2003ab251f69   True             http://event-display.default.svc.cluster.local   10         0                24m

Ansus-MBP:eventing-kafka-broker ansuvarghese$ k get consumer
NAME                                         READY   REASON   SUBSCRIBER                                       AGE
2568fde3-d74e-4baa-b40d-b561c58744d7-76gp6   True             http://event-display.default.svc.cluster.local   30m

Single consumer and Ready Replicas for second consumer group is 0
Lack of selector labels the issue?

When a consumer is removed and its binding dispatcher pod also gone (autoscaled down), the config map isn't cleaned up cc: @pierDipi

New observation # 2: The other dispatcher pods for broker and channel are also autoscaled up/down with KafkaSource and stay in ContainerCreating state...
k get pods -n knative-eventing
NAME                                      READY   STATUS              RESTARTS   AGE
kafka-broker-dispatcher-0                 0/1     ContainerCreating   0          8m30s
kafka-broker-dispatcher-1                 0/1     ContainerCreating   0          8m30s
kafka-broker-dispatcher-2                 0/1     ContainerCreating   0          6m49s
kafka-broker-dispatcher-3                 0/1     ContainerCreating   0          6m49s
kafka-broker-dispatcher-4                 0/1     ContainerCreating   0          5m9s
kafka-channel-dispatcher-0                0/1     ContainerCreating   0          8m30s
kafka-channel-dispatcher-1                0/1     ContainerCreating   0          8m30s
kafka-channel-dispatcher-2                0/1     ContainerCreating   0          6m49s
kafka-channel-dispatcher-3                0/1     ContainerCreating   0          6m49s
kafka-channel-dispatcher-4                0/1     ContainerCreating   0          5m9s
kafka-source-dispatcher-0                 1/1     Running             0          9m40s
kafka-source-dispatcher-1                 1/1     Running             0          9m40s
kafka-source-dispatcher-2                 1/1     Running             0          7m30s
kafka-source-dispatcher-3                 1/1     Running             0          7m30s
kafka-source-dispatcher-4                 1/1     Running             0          7m29s

New observation # 3: When eviction happens to compress low occupied higher ordinal pods and consumers need to be finalized (as pods get evicted), they stay stuck in BindInProgress state...
k get kafkasource; k get consumergroup; k get consumer
NAME             TOPICS                   BOOTSTRAPSERVERS                            READY   REASON             AGE
kafka-source-3   ["knative-demo-topic"]   ["my-cluster-kafka-bootstrap.kafka:9092"]   False   FinalizeConsumer   10m
NAME                                   READY   REASON             SUBSCRIBER                                         REPLICAS   READY REPLICAS   AGE
6d2966dd-afc3-4b48-88e1-18ae4067b072   False   FinalizeConsumer   http://event-display-2.default.svc.cluster.local   10         10               10m
NAME                                         READY   REASON           SUBSCRIBER                                         AGE
6d2966dd-afc3-4b48-88e1-18ae4067b072-2bblj   False   BindInProgress   http://event-display-2.default.svc.cluster.local   10m
6d2966dd-afc3-4b48-88e1-18ae4067b072-5t2lw   False   BindInProgress   http://event-display-2.default.svc.cluster.local   10m
6d2966dd-afc3-4b48-88e1-18ae4067b072-9zr2l   False   BindInProgress   http://event-display-2.default.svc.cluster.local   10m
6d2966dd-afc3-4b48-88e1-18ae4067b072-gnjks   True                     http://event-display-2.default.svc.cluster.local   10m

New observation # 1: When a consumer is removed and its binding dispatcher pod also gone (autoscaled down), the config map isn't cleaned up cc: @pierDipi
kafka-source-dispatcher-0                 1/1     Running             0          9m40s
kafka-source-dispatcher-1                 1/1     Running             0          9m40s
kafka-source-dispatcher-2                 1/1     Running             0          7m30s
kafka-source-dispatcher-3                 1/1     Running             0          7m30s
kafka-source-dispatcher-4                 1/1     Running             0          7m29s

k get cm -n knative-eventing
kafka-source-dispatcher-0              1      15h
kafka-source-dispatcher-1              1      15h
kafka-source-dispatcher-2              1      8m35s
kafka-source-dispatcher-3              1      8m35s
kafka-source-dispatcher-4              1      7m6s
kafka-source-dispatcher-5              1      7m6s
kafka-source-dispatcher-6              1      7m6s

See https://github.com/knative-sandbox/eventing-kafka-broker/pull/1932

New error preventing config maps from being created and hence dispatcher pod replicas stay in "ContainerCreating"
To reproduce: In openshift default project, install a new KafkaSource in default NS.
{"level":"info","ts":"2022-03-18T18:47:09.385Z","logger":"kafka-broker-controller.event-broadcaster","caller":"record/event.go:282","msg":"Event(v1.ObjectReference{Kind:\"Consumer\", Namespace:\"default\", Name:\"56ac1b53-cd59-456a-a19c-9666da173e63-bcc2r\", UID:\"e55fae12-73dc-451e-b76f-66c583d23c2e\", APIVersion:\"internal.kafka.eventing.knative.dev/v1alpha1\", ResourceVersion:\"24002544\", FieldPath:\"\"}): type: 'Warning' reason: 'InternalError' failed to bind resource to pod: failed to get or create data plane ConfigMap knative-eventing/kafka-source-dispatcher-2: configmaps \"kafka-source-dispatcher-2\" is forbidden: cannot set blockOwnerDeletion if an ownerReference refers to a resource you can't set finalizers on: , <nil>","knative.dev/pod":"kafka-controller-bfcdc9d66-mfkrh"}
Missing some additional permissions in Cluster role for controller...cc: @pierDipi

@aavarghese do you this commit? https://github.com/knative-sandbox/eventing-kafka-broker/commit/cc53b4139bd670180c133f1d19a016138503995f

I do have that commit. Still seeing the error.

For tracking here: https://github.com/knative/eventing/issues/6285

I am seeing occasional restarts of dispatcher pod - I do not have easy way to reproduce it (it happens after minutes of large amounts of events sent through multiple Kafka sources). What I see for dispatcher pod is exitCode: 143 which is not very useful
 containerStatuses:
  - containerID: cri-o://bde2f2466a34fad9b08c60a2811d0ce766517d31ac2ced8c524908b8cb92a118
    image: docker.io/aslom/knative-kafka-broker-dispatcher:e61457c06d40786eebe0cc95301d08b7d0a7dcc4738064c597de3ab9d20560f2
    imageID: docker.io/aslom/knative-kafka-broker-dispatcher@sha256:f001609cdf15be945c5107bf2075c7e111890a3aa48385aaf5eb22c6613374d6
    lastState:
      terminated:
        containerID: cri-o://f3bb256d7b3f5ff006e2f4e724db30c0cd9834b7dca3f963a786fd8545899a9f
        exitCode: 143
        finishedAt: "2022-04-07T20:49:07Z"
        message: |
          read-0","level":"INFO","level_value":20000,"egress.uid":"6633ea57-10f1-41e6-b8fd-df541f110b8c","resource.uid":"6633ea57-10f1-41e6-b8fd-df541f110b8c"}
          {"@timestamp":"2022-04-07T20:49:06.841Z","@version":"1","message":"Removed egress egress.uid=3b5ed361-1498-4f42-97a3-174289b7dd79 resource.uid=3b5ed361-1498-4f42-97a3-174289b7dd79","logger_name":"dev.knative.eventing.kafka.broker.dispatcher.main.ConsumerDeployerVerticle","thread_name":"vert.x-eventloop-thread-0","level":"INFO","level_value":20000,"egress.uid":"3b5ed361-1498-4f42-97a3-174289b7dd79","resource.uid":"3b5ed361-1498-4f42-97a3-174289b7dd79"}
          {"@timestamp":"2022-04-07T20:49:06.853Z","@version":"1","message":"Removed egress egress.uid=4899712e-1bfe-45d3-908c-3fda45260220 resource.uid=4899712e-1bfe-45d3-908c-3fda45260220","logger_name":"dev.knative.eventing.kafka.broker.dispatcher.main.ConsumerDeployerVerticle","thread_name":"vert.x-eventloop-thread-0","level":"INFO","level_value":20000,"egress.uid":"4899712e-1bfe-45d3-908c-3fda45260220","resource.uid":"4899712e-1bfe-45d3-908c-3fda45260220"}
          {"@timestamp":"2022-04-07T20:49:06.867Z","@version":"1","message":"Removed egress egress.uid=99472900-f4b6-4c5d-8a7a-27246751f8d2 resource.uid=99472900-f4b6-4c5d-8a7a-27246751f8d2","logger_name":"dev.knative.eventing.kafka.broker.dispatcher.main.ConsumerDeployerVerticle","thread_name":"vert.x-eventloop-thread-0","level":"INFO","level_value":20000,"egress.uid":"99472900-f4b6-4c5d-8a7a-27246751f8d2","resource.uid":"99472900-f4b6-4c5d-8a7a-27246751f8d2"}
          {"@timestamp":"2022-04-07T20:49:06.868Z","@version":"1","message":"Freed 2 thread-local buffer(s) from thread: vert.x-eventloop-thread-0","logger_name":"io.netty.buffer.PoolThreadCache","thread_name":"vert.x-eventloop-thread-0","level":"DEBUG","level_value":10000}
          {"@timestamp":"2022-04-07T20:49:06.868Z","@version":"1","message":"Freed 2 thread-local buffer(s) from thread: vert.x-eventloop-thread-0","logger_name":"io.netty.buffer.PoolThreadCache","thread_name":"vert.x-eventloop-thread-0","level":"DEBUG","level_value":10000}
        reason: Error
        startedAt: "2022-04-07T20:42:32Z"
    name: kafka-source-dispatcher
    ready: true
    restartCount: 1
    started: true

https://github.com/knative-sandbox/eventing-kafka-broker/pull/2068 might be related to the restart issue.

When this feature becomes available will it cover kafka-broker-dispatcher as well as the kafka-source-dispatcher? - in the comments above I see only references to the kafka-source-dispatcher.

@nikt-lsq (Auto)Scaling for KafkaBroker kafka-broker-dispatcher is currently in the works - there are PRs open for it and getting close to full support. KafkaSource scaling and scheduling is complete and has been available since release 1.6.0.


fix(README): update link to graphology doc who leads to error 404

Pull request type
Check the type of change your PR introduces:

[x] Documentation content changes

Just fixed a link into the README who leads to 404

Thanks @alexduhem. Merging right now.


Unable to delete test directories on test-azure-win2012r2-x64-1

Urgent:
We have a single Windows test machine online and it is in bad shape, so there is effectively no testing on this platform at the moment.
example of failures:  https://ci.adoptopenjdk.net/view/Test_all/job/openjdk11_hs_openjdktest_extended_x86-64_windows/11/console
Running on test-azure-win2012r2-x64-1 in C:\Users\jenkins\workspace\openjdk11_hs_openjdktest_extended_x86-64_windows
[Pipeline] {
[Pipeline] checkout
No credentials specified
Wiping out workspace first.
[Pipeline] }
[Pipeline] // node
[Pipeline] }
[Pipeline] // stage
[Pipeline] End of Pipeline
jenkins.util.io.CompositeIOException: Unable to delete 'C:\Users\jenkins\workspace\openjdk11_hs_openjdktest_extended_x86-64_windows\openjdk-tests'. Tried 3 times (of a maximum of 3) waiting 0.1 sec between attempts.
at jenkins.util.io.PathRemover.forceRemoveDirectoryContents(PathRemover.java:86)
at hudson.Util.deleteContentsRecursive(Util.java:260)

The following files are the culprit - I only have an adoptopenjdk user, I need some sort of Administrator to remove these (or perhaps be the jenkins user)
adoptopenjdk@test-2012r2-1 /cygdrive/c/Users/jenkins/workspace/openjdk11_hs_openjdktest_extended_x86-64_windows/openjdk-tests/TestConfig/test_output_15533899198838
$ ls -la
total 12
drwxr-xr-x+ 1 jenkins      None          0 Mar 30 15:59 .
drwxr-xr-x+ 1 jenkins      None          0 Mar 24 15:09 ..
drwxr-x---  1 Unknown+User Unknown+Group 0 Mar 24 06:34 jdk_2d_0
drwxr-x---  1 Unknown+User Unknown+Group 0 Mar 24 01:12 jdk_awt_0

The adoptopenjdk user is an adminstrator so this shouldn't have been an issue. I'm going to reboot the machine (it's got some pending updates anyway) so will see if that allows us to clear it.

Offending files vanished on a reboot without me having to take any further action.

Dang it - I remember that's what we had to do last time as well - there has to be a better way going forward :-/.  So we need to stop producing those files in the tests...


There was a problem with the document(s) that you sent to Kindle

Dear Simeon,
I can't send files to kindle anymore, I get the following error message:
Dear Kindle Customer,
The following document, sent by you at 16:16 Uhr, am Sonntag, 21. August 2022 MESZ, could not be delivered to the address you specified:

test for kindle.epub

I'm using your plugin with default settings, and with your backend.
Are there any issues with the recent change from mobi to epub?
Thanks a lot for your great plugin, it has been super helpful to me :-)

Dear creadian,
I'm sorry for this Problem. I hope I can find the Issue.
Can you send me the .md file and the exported .epub file?
In my case the Plugin and Backend are working.
I use the Backend: https://staneks.de/apps/md2mobi/
Greetings,
Simeon

Hi Simeon, sure, I can send you the md and epub. Is there an email I can send it to? From mobile, I can't upload files to github

Sure.
Please send it to<EMAIL_ADDRESS>Greetings,
Simeon

Sorry for the delay, I just sent you the files for checking. thank you so much for looking into it!

Hi creadian,
I hope the problem is solved.
There was an Issue with the locaStorage Key 'language'.
I hope it works for you.
Please install the Update 0.0.11.
Greetings,
Simeon


Investigate using self-hosted runners for full e2e

Investigate using GHA self-hosted runners for running the full e2e tests

We are now using self-hosted runners for the e2e and they are passing


Make sure parameters directory exists on install_yamls role

When we call install_yamls role seperately, It fails with parameters directory does not exist. This pr makes sure the directory exists before copying files in parameters directory.
As a pull request owner and reviewers, I checked that:

[x] Appropriate testing is done and actually running

/approve

recheck


More robust upgrade code

As promised in #22, this cleans up the upgrade code, using correct version comparison when necessary and :

closes any open GUI windows to avoid messed up GUI windows from an older version
updates chest names whenever the game itself is upgraded
updates logistics data on mod upgrade

Hopefully this is generic enough that it won't need much manual updating or obscure logic for the next versions.
I have tested this loading saves from both ALS 0.2.9 and 0.2.13 without issues (I didn't test multiplayer though)

Looks great, i like the version compare functions :)


Unable to retrive the OS CVE data

Hi, when scanning alpine 3.19 and 3.20 images, Stackrox (ACS) is unable to retrieve the OS CVE data:

The package manager (apk) is still within the image (AFAIK).
I cannot find any literature online for Stackrox/ACS to state this OS or verison of the OS is unsupported.
Thanks in advance.

Which version of StackRox are you running? Alpine 3.19 and 3.20 are officially supported in StackRox 4.5.0 (though honestly, it may likely still work in older versions since nothing fundamentally changed between Alpine 3.18 and 3.19/3.20).
If you expect these images to have vulnerabilities in them, but we don't find any, though, then there may be a problem, and we'd need to know more about the image you are testing.

Hi @RTann we are on v4.4.4. I don't believe there are vulnerabilities to be found. My bigger concern is the messaging presented back to the user. It says it's unable to retrieve OS CVE data. It doesn't explain that this is because alpine 3.19 & 3.20 are not officially supported in StackRox (assuming that's the case here) - so it leaves us unsure of why the OS CVE data hasn't been retrieved. I also can't find a list of officially supported OS that StackRox can scan, so I can't validate if that could be the cause.
My opinion is that if StackRox only supports scanning specific OS or versions of OS, then we need to be told in the console that the image we've scanned won't have OS CVE data because it's not on that list (and also for the list to show us what is supported).
The real-life scenario that we have on the project on which I work is that we are telling squads to move to images built on top of alpine 3.20 and we potentially won't get any OS vulnerability data for them, so StackRox (ACS) could leave us blind to an exploitable vulnerability.


[Error] uv pip install -e .

(llm_venv_autoawq) xlab@xlab:/mnt/Model/Qwen/AutoAWQ$ uv pip install -e .
error: Failed to build: `file:///mnt/Model/Qwen/AutoAWQ`
  Caused by: Build backend failed to determine extra requires with `build_editable()` with exit status: 1
--- stdout:

--- stderr:
Traceback (most recent call last):
  File "<string>", line 14, in <module>
  File "/home/xlab/.cache/uv/builds-v0/.tmpUx9Z0A/lib/python3.10/site-packages/setuptools/build_meta.py", line 458, in get_requires_for_build_editable
    return self.get_requires_for_build_wheel(config_settings)
  File "/home/xlab/.cache/uv/builds-v0/.tmpUx9Z0A/lib/python3.10/site-packages/setuptools/build_meta.py", line 327, in get_requires_for_build_wheel
    return self._get_build_requires(config_settings, requirements=[])
  File "/home/xlab/.cache/uv/builds-v0/.tmpUx9Z0A/lib/python3.10/site-packages/setuptools/build_meta.py", line 297, in _get_build_requires
    self.run_setup()
  File "/home/xlab/.cache/uv/builds-v0/.tmpUx9Z0A/lib/python3.10/site-packages/setuptools/build_meta.py", line 497, in run_setup
    super().run_setup(setup_script=setup_script)
  File "/home/xlab/.cache/uv/builds-v0/.tmpUx9Z0A/lib/python3.10/site-packages/setuptools/build_meta.py", line 313, in run_setup
    exec(code, locals())
  File "<string>", line 2, in <module>
ModuleNotFoundError: No module named 'torch'
---
(llm_venv_autoawq) xlab@xlab:/mnt/Model/Qwen/AutoAWQ$ uv pip install torch requests
Resolved 27 packages in 1.89s
Prepared 9 packages in 3m 08s
Installed 27 packages in 237ms
 + certifi==2024.7.4
 + charset-normalizer==3.3.2
 + filelock==3.15.4
 + fsspec==2024.6.1
 + idna==3.7
 + jinja2==3.1.4
 + markupsafe==2.1.5
 + mpmath==1.3.0
 + networkx==3.3
 + nvidia-cublas-cu12==<IP_ADDRESS>
 + nvidia-cuda-cupti-cu12==12.1.105
 + nvidia-cuda-nvrtc-cu12==12.1.105
 + nvidia-cuda-runtime-cu12==12.1.105
 + nvidia-cudnn-cu12==<IP_ADDRESS>
 + nvidia-cufft-cu12==<IP_ADDRESS>
 + nvidia-curand-cu12==<IP_ADDRESS>
 + nvidia-cusolver-cu12==<IP_ADDRESS>
 + nvidia-cusparse-cu12==<IP_ADDRESS>
 + nvidia-nccl-cu12==2.20.5
 + nvidia-nvjitlink-cu12==12.5.82
 + nvidia-nvtx-cu12==12.1.105
 + requests==2.32.3
 + sympy==1.13.0
 + torch==2.3.1
 + triton==2.3.1
 + typing-extensions==4.12.2
 + urllib3==2.2.2
(llm_venv_autoawq) xlab@xlab:/mnt/Model/Qwen/AutoAWQ$ uv pip install -e .
error: Failed to build: `file:///mnt/Model/Qwen/AutoAWQ`
  Caused by: Build backend failed to determine extra requires with `build_editable()` with exit status: 1
--- stdout:

--- stderr:
Traceback (most recent call last):
  File "<string>", line 14, in <module>
  File "/home/xlab/.cache/uv/builds-v0/.tmpbqqDM9/lib/python3.10/site-packages/setuptools/build_meta.py", line 458, in get_requires_for_build_editable
    return self.get_requires_for_build_wheel(config_settings)
  File "/home/xlab/.cache/uv/builds-v0/.tmpbqqDM9/lib/python3.10/site-packages/setuptools/build_meta.py", line 327, in get_requires_for_build_wheel
    return self._get_build_requires(config_settings, requirements=[])
  File "/home/xlab/.cache/uv/builds-v0/.tmpbqqDM9/lib/python3.10/site-packages/setuptools/build_meta.py", line 297, in _get_build_requires
    self.run_setup()
  File "/home/xlab/.cache/uv/builds-v0/.tmpbqqDM9/lib/python3.10/site-packages/setuptools/build_meta.py", line 497, in run_setup
    super().run_setup(setup_script=setup_script)
  File "/home/xlab/.cache/uv/builds-v0/.tmpbqqDM9/lib/python3.10/site-packages/setuptools/build_meta.py", line 313, in run_setup
    exec(code, locals())
  File "<string>", line 2, in <module>
ModuleNotFoundError: No module named 'torch'
---

My guess is that you need --no-build-isolation?

if I use --no-build-isolation, why need to install setuptools?
(llm_venv_autoawq) xlab@xlab:/mnt/Model/Qwen/AutoAWQ$ uv pip install --no-build-isolation -e .
error: Failed to build: `file:///mnt/Model/Qwen/AutoAWQ`
  Caused by: Build backend failed to determine metadata through `prepare_metadata_for_build_editable` with exit status: 1
--- stdout:

--- stderr:
Traceback (most recent call last):
  File "<string>", line 8, in <module>
ModuleNotFoundError: No module named 'setuptools'
---
(llm_venv_autoawq) xlab@xlab:/mnt/Model/Qwen/AutoAWQ$ uv pip install setuptools
Resolved 1 package in 686ms
Installed 1 package in 30ms
 + setuptools==70.3.0
(llm_venv_autoawq) a0@a0:/mnt/Model/Qwen/AutoAWQ$ uv pip install --no-build-isolation -e .
Resolved 59 packages in 9.66s
   Built autoawq @ file:///mnt/Model/Qwen/AutoAWQ
Prepared 14 packages in 11.90s
Uninstalled 1 package in 3ms
Installed 33 packages in 229ms
 + accelerate==0.32.1
 + aiohttp==3.9.5
 + aiosignal==1.3.1
 + async-timeout==4.0.3
 + attrs==23.2.0
 + autoawq==0.2.5+cpu (from file:///mnt/Model/Qwen/AutoAWQ)
 + autoawq-kernels==0.0.6
 + datasets==2.20.0
 + dill==0.3.8
 + frozenlist==1.4.1
 - fsspec==2024.6.1
 + fsspec==2024.5.0
 + huggingface-hub==0.23.4
 + multidict==6.0.5
 + multiprocess==0.70.16
 + numpy==1.26.4
 + packaging==24.1
 + pandas==2.2.2
 + psutil==6.0.0
 + pyarrow==16.1.0
 + pyarrow-hotfix==0.6
 + python-dateutil==2.9.0.post0
 + pytz==2024.1
 + pyyaml==6.0.1
 + regex==2024.5.15
 + safetensors==0.4.3
 + six==1.16.0
 + tokenizers==0.19.1
 + tqdm==4.66.4
 + transformers==4.42.3
 + tzdata==2024.1
 + xxhash==3.4.1
 + yarl==1.9.4
 + zstandard==0.22.0

--no-build-isolation means that you're responsible for installing all of your build-time dependencies in advance. If a package has build-time dependencies that aren't declared (like torch, in this case), then you have to use --no-build-isolation to access them. I assume the same package would fail to install with pip install --use-pep517.

But if I use the native pip command as shown below instead of using uv, it works fine and doesn't require me to install these dependent pip install -e . ahead of time.

I assume it fails, though, if you run pip install --use-pep517 -e ., which will eventually be pip's default?

Yes, without installing the torch, use the commands pip install -e .  and pip install --use-pep517 -e .  will still give an error
xlab@xlab:/mnt/Model/Qwen$ python3 -m venv llm_venv_autoawq && source llm_venv_autoawq/bin/activate
(llm_venv_autoawq) xlab@xlab:/mnt/Model/Qwen$ git clone https://github.com/casper-hansen/AutoAWQ
Cloning into 'AutoAWQ'...
remote: Enumerating objects: 3306, done.
remote: Counting objects: 100% (203/203), done.
remote: Compressing objects: 100% (98/98), done.
remote: Total 3306 (delta 111), reused 185 (delta 102), pack-reused 3103
Receiving objects: 100% (3306/3306), 7.58 MiB | 1.86 MiB/s, done.
Resolving deltas: 100% (2048/2048), done.
(llm_venv_autoawq) xlab@xlab:/mnt/Model/Qwen$ cd AutoAWQ/
(llm_venv_autoawq) xlab@xlab:/mnt/Model/Qwen/AutoAWQ$ pip install -e .
Obtaining file:///mnt/Model/Qwen/AutoAWQ
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [6 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/mnt/Model/Qwen/AutoAWQ/setup.py", line 2, in <module>
          import torch
      ModuleNotFoundError: No module named 'torch'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
(llm_venv_autoawq) xlab@xlab:/mnt/Model/Qwen/AutoAWQ$ pip install --use-pep517 -e .
Obtaining file:///mnt/Model/Qwen/AutoAWQ
  Installing build dependencies ... done
  Checking if build backend supports build_editable ... done
  Getting requirements to build editable ... error
  error: subprocess-exited-with-error

  × Getting requirements to build editable did not run successfully.
  │ exit code: 1
  ╰─> [19 lines of output]
      Traceback (most recent call last):
        File "/mnt/Model/Qwen/llm_venv_autoawq/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
          main()
        File "/mnt/Model/Qwen/llm_venv_autoawq/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/mnt/Model/Qwen/llm_venv_autoawq/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 144, in get_requires_for_build_editable
          return hook(config_settings)
        File "/tmp/pip-build-env-g_o04e1p/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 458, in get_requires_for_build_editable
          return self.get_requires_for_build_wheel(config_settings)
        File "/tmp/pip-build-env-g_o04e1p/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 327, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=[])
        File "/tmp/pip-build-env-g_o04e1p/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 297, in _get_build_requires
          self.run_setup()
        File "/tmp/pip-build-env-g_o04e1p/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 497, in run_setup
          super().run_setup(setup_script=setup_script)
        File "/tmp/pip-build-env-g_o04e1p/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 313, in run_setup
          exec(code, locals())
        File "<string>", line 2, in <module>
      ModuleNotFoundError: No module named 'torch'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build editable did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

Using uv pip install --no-build-isolation -e .  will also encounter the error
xlab@xlab:/mnt/Model/Qwen$ uv venv llm_venv_autoawq && source llm_venv_autoawq/bin/activate
Using Python 3.10.12 interpreter at: /usr/bin/python3
Creating virtualenv at: llm_venv_autoawq
Activate with: source llm_venv_autoawq/bin/activate
(llm_venv_autoawq) xlab@xlab:/mnt/Model/Qwen$ git clone https://github.com/casper-hansen/AutoAWQ
Cloning into 'AutoAWQ'...
remote: Enumerating objects: 3306, done.
remote: Counting objects: 100% (203/203), done.
remote: Compressing objects: 100% (98/98), done.
remote: Total 3306 (delta 111), reused 185 (delta 102), pack-reused 3103
Receiving objects: 100% (3306/3306), 7.58 MiB | 5.40 MiB/s, done.
Resolving deltas: 100% (2048/2048), done.
(llm_venv_autoawq) xlab@xlab:/mnt/Model/Qwen$ cd AutoAWQ/
(llm_venv_autoawq) xlab@xlab:/mnt/Model/Qwen/AutoAWQ$ uv pip install --no-build-isolation -e .
error: Failed to build: `file:///mnt/Model/Qwen/AutoAWQ`
  Caused by: Build backend failed to determine metadata through `prepare_metadata_for_build_editable` with exit status: 1
--- stdout:

--- stderr:
Traceback (most recent call last):
  File "<string>", line 8, in <module>
ModuleNotFoundError: No module named 'setuptools'
---
(llm_venv_autoawq) xlab@xlab:/mnt/Model/Qwen/AutoAWQ$ uv pip install setuptools
Resolved 1 package in 416ms
Installed 1 package in 13ms
 + setuptools==70.3.0
(llm_venv_autoawq) xlab@xlab:/mnt/Model/Qwen/AutoAWQ$ uv pip install --no-build-isolation -e .
error: Failed to build: `file:///mnt/Model/Qwen/AutoAWQ`
  Caused by: Build backend failed to determine metadata through `prepare_metadata_for_build_editable` with exit status: 1
--- stdout:

--- stderr:
Traceback (most recent call last):
  File "<string>", line 14, in <module>
  File "/mnt/Model/Qwen/llm_venv_autoawq/lib/python3.10/site-packages/setuptools/build_meta.py", line 463, in prepare_metadata_for_build_editable
    return self.prepare_metadata_for_build_wheel(
  File "/mnt/Model/Qwen/llm_venv_autoawq/lib/python3.10/site-packages/setuptools/build_meta.py", line 368, in prepare_metadata_for_build_wheel
    self.run_setup()
  File "/mnt/Model/Qwen/llm_venv_autoawq/lib/python3.10/site-packages/setuptools/build_meta.py", line 497, in run_setup
    super().run_setup(setup_script=setup_script)
  File "/mnt/Model/Qwen/llm_venv_autoawq/lib/python3.10/site-packages/setuptools/build_meta.py", line 313, in run_setup
    exec(code, locals())
  File "<string>", line 2, in <module>
ModuleNotFoundError: No module named 'torch'
---

Thanks for the answer, it looks like it's necessary to install all build-time dependencies in advance

Thanks for confirming :)


Merge MintMaker and MPP-Renovate images

We have been maintaining two different images, one for our runners in MPP, and another for Konflux. This commit merges the two images, which can now be used in both environments and will reduce our maintenance efforts (hopefully).
The most important changes with respect to the MPP image are:

this image is based on ubi9-minimal (the MPP image was based on fedora)
this image lacks python 3.8/3.10, as ubi9 does not have packages for these versions
this image does not correction to rh-ca bundle mount

The moist important changes with respect to the previous version are:

drop installation of npm and nodejs packages via the package manager
manual installation of nodejs

There will be a follow-up change in the MPP deployment files. This change must be merged first.
JIRA: [CWFHEALTH-3276]
Testing remarks
I made dry runs in the both MPP and Konflux stage environments. The image worked fine in both.
A few minor remarks:

MPP: there was a lookup error with a go package (kubevirt.io/api); this seems to be unrelated to the image itself
STN: there was an authentication error due to revoked token, but this error was already present before the current image changes; since the image worked fine in MPP for the same authentication, this is not related tothe image itself

Hey team, thank you for the reviews! I applied the suggestions and squashed the changes in a single commit.
Could you have a second look?