[drag-drop] allow sort customizatoin

Please describe the feature you would like to request.
Currently, sorting on drag move is done in DropListRef._sortItems. This means that
the user can't modify the sort logic and/or perform other operations when sorting occurs.
We should be able to tap into the sorting process, react to it and or override it.
Right now we can override it by inheriting DropListRef and implementing _sortItems.
This is not the best solution because:

It requires a modified DragDrop service (extending class) that will return our modified ref class.
A lot of internal logic within _sortItems is not accessible, making it impossible to use. This mainly refers to private methods and members in DropListRef, examples:

The _itemPositions cache is private which is the main data we work with on sort.
Methods like _getItemIndexFromPointerPosition, _getItemOffsetPx etc..

What is the use-case or motivation for this proposal?
Being able to modify and tap into the sort event has a lot of use cases, for example:

Apply the impact of sort on other elements.
A column header cell in a table is draggable, once sorted it will move (along with other items in the drop list). We also want to move all cell in the data rows that "belong" to that column...

When a column header cell moves, all data row cells of that column will move as well...

Skip sorting within the drop-list
We might want to prevent the move of an item within the drop-list. Right now we can only prevent entering a drop list.

This can probably get done with a "in-drop-list" predicate but it's one use-case out of many.

Is there anything else we should know?
I think an API to tap into the sort is the best solution and ofcourse exposing the helper methods (protected?)...
If exposing the item position cache is a problem (even in protected?) maybe an API to sort that provide this to the sort function can help...

Maybe introduce a new construct, DragListSort which is injected and passed to the DropListRef.
That DragListSort will sort item like done in _sortItem but it will get the item positions cache as an input.
In addition, instead of having the _itemPositions cache as an array, we will have a class for cache that will hold all of the helper methods (_getItemIndexFromPointerPosition) as well as methods to update the cache. With this, we will only pass that class to DragListSort

I believe this one is closed by #20389


Array constructors now accept a size and filler parameters.

Pull Request for godotengine/godot-proposals#2181.
These changes improve the Array constructor, adding a size and filler parameters.
Examples:
var arr := Array(3) #[null, null, null]
var arr := Array(5, 3) #[3,3,3,3,3]
Details:
Most variant types are supported as fillers, with a few expections: RID, StringName, NodePath, Callable and Signal are not supported, since most are unique so I considered it a bit weird to fill an entire array with the "same object".  I didn't manage to allow Objects (a lot of compiler problems), so they are not support (and, since they don't seem to have a "duplicate", they would just be references to the same object).
When arrays, packedArrays and dictionaries are fillers, they are deep copied.
I would also like to thank anberino. He ran all tests for me (since my gpu doesn't support vulkan) and this PR wouldnt be possible without his help.
Bugsquad edit: This closes godotengine/godot-proposals#2181.

You have formatting issues which trigger an error in CI. Please consider installing pre-commit hooks to tests these things locally before pushing.

Everything commented should be fixed by now.
The new constructors have been added to the Array class documentation. In the case of values that are duplicated (Dictionary, Array and PackedArray), there's a note saying that the values are deep-copied.

As discussed with @akien-mga, this is not something you will need often, so there is no need to bloat constructors or make them confusing for the sake of it.
I would recommend maybe an Array.fill(value) function instead.

My original ideia was simply adding a add_constructor<VariantConstructor<Array, int, Variant>>(sarray("size", "fill"));, but I couldn't bind the Variant type (perhaps due to my lack of knowledge of C++). That's why I ended up making all those constructors.
What's the next step, then? Should I just close this PR and open another one with the Array.fill(value)? Following the original issue's problem, should I keep the size constructor (Avoiding having an unecessary call  of Array.resize(size) before the Array.fill(value))?

The sized constructor seems to be exactly the same as doing:
var arr = []
arr.resize(size)

so I'm not sure how useful it is.
It can be considered but that's purely syntactic sugar, which might be misunderstand for creating an array with a single element with value size (since e.g. Array() is equivalent to [], one could think that Array(10) is equivalent to [10]).
So I'd suggest making a PR to implement fill() (which might also be meaningful for packed arrays with their respective type?), and for Array(p_size) this likely warrants more discussion.

The original issue was that, while you could work around this constructor by doing:
var arr = Array()
arr.resize(5)
for i in range(arr.size()):
    arr[i] = value

It is slower.
However, I understand your points and agree the loads of constructors are quite ugly (specially bloating the documentation), so I will close this PR and open another one with the "fill" method.


How to generate hair mask images?

Hello. Thank you for your amazing work.
What model did you use to create label images(hair mask) in FFHQ?
I am trying to test "cal_orientation.py"

I haven't tested it, but this might help.
https://github.com/zllrunning/face-parsing.PyTorch

你好，请问你知道怎么获得“label images”吗，我想在自己的数据集上进行测试

Hi, do you know how to get "label images", I want to test it on my own dataset


Downloading student submissions

Description of the PR

Assistants can download submissions
First Assistant Mode needs to be enabled from the A+ menu
Students can be selected from the assignments tree by name or id
When downloading a submission, it will try to find the correct module
If it doesn't, you can select the module yourself
The name of the downloaded module can be changed
Closes #533

Testing

unit
integration
e2e
manual

- [ ] new unit tests created
- [x] all unit tests pass

- [ ] new integration tests created
- [x] all integration tests pass

- [ ] new e2e tests created
- [x] all e2e tests pass

- [x] manual testing went well

Have you updated the TESTING.md or other relevant documentation on your branch?

[ ] Yes.
[ ] Not yet. I will do it next.
[x] Not relevant.

@Taikelenn Some exercises have different modules for different languages, but the submission in the api doesn't say which language it uses, so in some cases the assistant has to choose a module for a different language


Broken link in README.md

The "Issue tracking" link near the bottom points to http://github.com/rsutphin/ladle/issues instead of https://github.com/NUBIC/ladle/issues.

Thanks for the report.


Add GitHub Actions for Python 3.12

Python 3.12 was released two weeks ago. This PR adds Python 3.12 to GitHub Actions
https://github.com/actions/python-versions/releases

It seems some dependencies do not support Python 3.12 yet. We will revisit this in a few weeks.


CARDS-2372: Add support for data migrators

Add a data migrator that tracks the previous version and checks if any created data migrators need to run.
Also includes CARDS-2336.
To test:

build and run an older version of cards:
git checkout cards-0.9.15
mvn clean install -P docker
cd compose-cluster
python3 generate_compose_yaml.py --dev_docker_image  --composum --cards_project cards4heracles --mongo_singular
docker-compose build && docker-compose up
Create a few CPET Interpretation forms, fill in the Protocol question with a few Bike value and a few other values
Stop docker
cd ..
git checkout CARDS-2372
mvn clean install -P docker
cd compose-cluster
python3 generate_compose_yaml.py --dev_docker_image  --composum --cards_project cards4heracles --mongo_singular
docker-compose build && docker-compose up
Check that the previous Bike answers are now Bike 50 rpm and the previous other answers are unchanged
Check that localhost:8080/libs/cards/conf/PrevVersion.json now has 0.9.0.SNAPSHOT stored

Needs investigation:

The formatting of the current version as pulled from the bundle context does not match the version that is being stored in our database. This was observed in dev, I am unsure if the versions in prod will match as they do not include -SNAPSHOT.

Version string currently being stored:

Version string retrieved from the bundle and accessible when the migrators are run:

The old option is still available:

The old option Bike is still available, it should have been removed.

Not quite, this is "expected", questionnaires are not updated when upgrading the version. It's a know issue.

Not quite, this is "expected", questionnaires are not updated when upgrading the version. It's a know issue.

OK. I will mark this PR as tested then.


epubcheck GUI

I've developed a simple epubcheck GUI in Java (1.6 or higher): see https://github.com/publishing-systems/automated_digital_publishing/tree/master/epubcheck. As it is freely licensed (GNU AGPL 3 or any later version), you might consider shipping it with epubcheck, maybe with IDPF branding. Of course it still needs many improvements, at the other hand it checks EPUBs in directories recursively, i18n is already built in and the underlying workflow can be used for automatization (input and output provided in XML, so other tools can build upon it). epubcheck is expected in the $/epubcheck/epubcheck1/ directory, but the path to the .jar might be made configurable as well as the parameter settings in the future.
I also made a video: https://vimeo.com/132641131

Added you to the list of third-party apps / GUI's in the epubcheck wiki: https://github.com/IDPF/epubcheck/wiki/GUI

I totally forgot that list, thank you for adding the entry. I don't know from my own experience, but as it is Java, it should run under Mac, too, right?

but as it is Java, it should run under Mac, too, right?

It's running on Mac OS X but I cannot choose files for validation. So won't add "Mac OS X" label at the moment.

OK. I wasn't aware of it, and because I don't own an Apple device, I'll have to wait till someone is willing to help troubleshooting in this environment. I guess it'll be just some kind of path separator or line break issue again, but who knows. See [related issue] (https://github.com/publishing-systems/automated_digital_publishing/issues/4).

Closing this as outdated and out-of-focus of the EpubCheck project at the moment.
Please feel free to reopen this issue if you think we should check on it again...


add button plugin

Would love this addition as I am searching for a way to "Select All". Or is there another way?

We have implemented this feature as a custom plugin in our own app. The issue is abysmal performance once the select has more than 1000 elements. Selecting all elements just freezes the page for several minutes. I believe it is an issue with an event handler which triggers when an option is selected. I don't remember exactly what the method did, but it adds an option to the DOM and triggers tom-select events. To make the plugin work, we would have to rewrite parts of the core library.
We have used bootstrap-select which has a native support for selecting and de-selecting all elements. I don't believe it suffers from this performance issue.


Q: Why is the ssh deployment not described in the docs?

The docs do not describe a ssh deployment using weaver. Is it not possible or should it be written?

Hi @naivary! We haven't documented the SSH deployer yet because it's still missing some commands (e.g., weaver ssh metrics, weaver ssh profile, weaver ssh purge, weaver ssh status). Once we implement the commands and polish it, I think we will add it to the documentation!


Back button?

Once the user can navigate between Satyrn pages (which is almost working now), we really should let them navigate back. It's easy to get lost.

/move to satyrnjs/satyrn


[Event Request] Codeunit::"Assembly Line Management" - Function DoVerificationsSkippedEarlier - OnDoVerificationsSkippedEarlierOnAfterAsmLineModified

We like to request the following Event:
Object: Codeunit::"Assembly Line Management"
Function: DoVerificationsSkippedEarlier
Publisher Event: OnDoVerificationsSkippedEarlierOnAfterAsmLineModified
Reason: To implement custom business logic
Where is the event placed:
if ReplaceLinesFromBOM then
case TempNewAsmLine.Type of
TempNewAsmLine.Type::Item:
TempNewAsmLine.CreateDim(DATABASE::Item, TempNewAsmLine."No.", NewHeaderSetID);
TempNewAsmLine.Type::Resource:
TempNewAsmLine.CreateDim(DATABASE::Resource, TempNewAsmLine."No.", NewHeaderSetID);
end
else begin
if UpdateDimension then
TempNewAsmLine.UpdateDim(NewHeaderSetID, OldHeaderSetID);
end;
TempNewAsmLine.Modify();
OnDoVerificationsSkippedEarlierOnAfterAsmLineModified(TempNewAsmLine);
until TempNewAsmLine.Next() = 0;
end;
Event Code:
[IntegrationEvent(false, false)]
local procedure OnDoVerificationsSkippedEarlierOnAfterAsmLineModified(var AssemblyLine: Record "Assembly Line")
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


output strands after root correction artifacts

Hi
I use this code to output the strands from HairNet output.
net = Net()
net.load_state_dict(torch.load(weight_path))
net.eval()
tmp_img = GetImgTensorFromInd(proj_dir, files_index, file_ind)
output_strands = net(tmp_img)
strand_roots = np.load('strand_root_positions.npy')
output_strands = output_strands.cpu().detach().numpy()
output_strands = output_strands[0]
strand_roots_2 = np.concatenate((strand_roots,np.zeros((1,32,32))))
strand_roots_3 = strand_roots_2[np.newaxis,:,:,:]
output_strands = output_strands + strand_roots_3 #brodcast (1,4,32,32) t0 (100,4,32,32)
WriteStrandsToObjText("../my_hair.obj", output_strands)

the broadcast is not applied on all vertices, some not transformed according to strand root.
problem happen in the broadcast line:
output_strands = output_strands + strand_roots_3 #brodcast (1,4,32,32) t0 (100,4,32,32)
you can see the group of vertices that was not transformed on the bottom of the image.

found the problem,
strand root file have only 940 points instead of 1024 (32x32).
how can I fix the strand roots file?


blog: how node-red works

Description

Related Issue(s)

Checklist

[ ] I have read the contribution guidelines
[ ] I have considered the performance impact of these changes
[ ] Suitable unit/system level tests have been added and they pass
[ ] Documentation has been updated

@knolleary Can you pick up the review on this one?

I have started reviewing the post, but as I started adding comments, I felt the need to ask a higher level question about this post: How detailed do we want this post to be?
As it stands, I think it is too high level in some areas and then super specific in other areas that don't necessarily support the overall title of 'how node-red works'. There are some areas where it talks about the flow file, for example, which overlooks the fact the storage is pluggable and FlowFuse, for example, uses a database rather than file to manage the flows. There's an opportunity for this post to talk about how Node-RED works, whilst showing how FlowFuse makes use of it.
Given this is a post about how node-red works, I would be happy to do a redraft it and put my name on it as a piece coming from the creator of Node-RED itself - something we can market it with.

We aim for this post to be as detailed as possible. Despite my efforts to find external sources, I couldn't locate any. Therefore, I went through the 'red.js' file and explored the '.node-red' folder structure to gain a high-level understanding, but it didn't meet my expectations. Please feel free to revise it and publish it under your name. As the creator of Node-RED, you can write better.


Please Post New Release

I am working on adding cpptoml to the Hunter package management system. For that to work well it requires a release version that includes a CMakeLists.txt that includes an install target and CMake package configuration. The latest release package (0.4.0) lacks this, yet I see that HEAD does. Can you make a release for this?

+1 for Debian / Ubuntu packages

Is there a list of issues we can help with in order to land a new release? I also need to pickup a more recent snapshot and would rather pick up an official release than an arbitrary commit in current master

I guess my use of tags is confusing. So far, I have just been tagging the first commit where compliance with a certain TOML spec version was reached. This is probably not "correct" given how GitHub likes to interpret tags as "releases"...
I suppose I can start to tag "releases" here, though my personal recommendation is just to always follow the master branch.

I've switched to using tags as "releases" to appease GitHub.


Update for 6.3

This PR bumps the .NET version to 7 and the Dalamud API Level to 8, as required by the latest Dalamud update, and fixes the player model offset that changed with 6.3 (shifted from 0xF0 to 0x100)

Confirming this still works after the hotfix patch.


Small issues trying to use a benchmark as a test

Ref https://github.com/japaric/criterion.rs/issues/162
So, in going for a compromise as you suggested I was bitten by this assertion. Could we simply allow length 1 here? If not, the documentation should be changed, since it only mentions disallowing length 0 for sample_size.
I'd send a PR, just let me know what to do about this.

Ah, that's right, I'd forgotten that sample size has to be at least two. I've updated the documentation to clarify that.
Thanks for bringing this up!


Issues with z-index when used with Drawer component Material UI

Snackbar is shown behind the Drawer and is visible on dismissing it, is there any way to set the z-z-index priority, I tried using, but it didn't help.
const options = {     zIndex: '10000 !important',   } ....     const [openSnackbar, closeSnackbar] = useSnackbar(options)
Any suggestions would be great!

@yugalkishoregoyal yeah, sometimes these z-index issues are hard to deal, mainly when it involves another libraries.
Have you tried using the Material UI Snackbar instead of the React Simple Snackbar? It could be better to integrate Material UI's own components instead of another libs in your project. Moreover, this component was created based on Material UI's snackbar, so they are very similar.

@evandromacedo How about adding a dummy classname to https://github.com/evandromacedo/react-simple-snackbar/blob/master/src/Snackbar.js#L95 so global styling can set the z-index of the container? I realize that it is a hack but I also believe that snackbar z-index isn't something that we often style on a per component/usage basis.
Right now, having I have to use to get it to work,
div[class^="Snackbar_snackbar-wrapper"] {
  z-index: 1100;
}

This is not a very good solution as CSS minify or something other kind of transformations could break it.

Right now, having I have to use to get it to work,
div[class^="Snackbar_snackbar-wrapper"] {
  z-index: 1100;
}

This is just what I needed to get something working, thank you.

Thanks! This fixed my issue as well... A simple class name on the wrapper would solve the issue.


implementing Heap sort  in Dart

💥 Proposal
@HarshCasper
Heap Sort implementation in Dart language
Have you read the Contributing Guidelines on Pull Requests?
yes 👍

/assign

ops.. great 😛

@HarshCasper could you please reopen this issue?


Somethings missing in esp-homekit-demo/components/common/homekit ?

Im getting this error
~/projects/esp-homekit-demo$ make -C examples/led test
make: Entering directory '/home/user/projects/esp-homekit-demo/examples/led'
/home/user/projects/esp-open-rtos/common.mk:223: /home/user/projects/esp-homekit-demo/components/common/homekit/component.mk: No such file or directory

And also this:
~/projects/esp-homekit-demo$ git submodule update --init --recursive
fatal: reference is not a tree: 44d5dda87e0991701e9c0897b5afe55b659183cf
Unable to checkout '44d5dda87e0991701e9c0897b5afe55b659183cf' in submodule path 'components/common/homekit'

Seems like there is nothing in the folder "esp-homekit-demo/components/common/homekit/"
The folder here leads to a 404 page https://github.com/maximkulkin/esp-homekit-demo/tree/master/components/common

You probably did not follow instructions in README and didn’t do git submodule update --init --recursive

@maximkulkin Thanks for the answer and for the awesome repository! :)
I did use git submodule update --init --recursive look at the post above.
I did also make it work using the git checkout command and choose an old version.
I think there is missing something in your online version of the update (the one you uploaded 3 days ago). Please take a look at the "common/homekit/" ... There is no files in the folder online

Oh, indeed, I forgot to push latest commits to esp-homekit. Thanks for pointing that out. I updated both esp-homekit and this repository.

@maximkulkin Awesome! Thanks! Keep up the good work 😃


ValueError: array of sample points is empty

Description
Error when using init-centerline viewer or init-centerline XXX.
Steps to Reproduce

data: 20170516_issue1330
command: sct_propseg -i t2.nii.gz -c t1 -init-centerline t2_mask_viewer.nii.gz

Expected behavior: Segmentation
Actual behavior: Segmentation created, but empty and exit with error.
Versions
master/4d453e11c5f10e11a8ef8acc1b2979bb285dc5d7
Additional Information
sct_propseg -i t2.nii.gz -c t1 -init-centerline t2_mask_viewer.nii.gz

--
Spinal Cord Toolbox (master/4d453e11c5f10e11a8ef8acc1b2979bb285dc5d7)
Running /Users/julien/code/sct/scripts/sct_propseg.py -i t2.nii.gz -c t1 -init-centerline t2_mask_viewer.nii.gz
isct_propseg -i "/Users/julien/Desktop/chiba_sct-users_GE/t2/t2.nii.gz" -t t1 -o "./" -verbose -init-centerline t2_mask_viewer.nii.gz -centerline-binary
Initialization - using given centerline
Total propagation length = 116.74 mm

Segmentation finished. To view results, type:
fslview /Users/julien/Desktop/chiba_sct-users_GE/t2/t2.nii.gz ./t2_seg.nii.gz &

Check consistency of segmentation...

Generate output files...
WARNING: File tmp.segmentation_RPI.nii.gz already exists. Deleting it.
Created file(s):
--> tmp.segmentation_RPI.nii.gz

sct_image -i tmp.centerline.nii.gz -setorient RPI -o tmp.centerline_RPI.nii.gz
Running /Users/julien/code/sct/scripts/sct_image.py -i tmp.centerline.nii.gz -setorient RPI -o tmp.centerline_RPI.nii.gz
tmp.centerline.nii.gz

Get dimensions of data...
260 x 512 x 512 x 1

Change orientation...

Generate output files...
WARNING: File tmp.centerline_RPI.nii.gz already exists. Deleting it.

WARNING: File ../t2_seg.nii.gz already exists. Deleting it.
Created file(s):
--> ../t2_seg.nii.gz

Remove temporary files...
WARNING: File t2_seg.nii.gz already exists. Deleting it.

Remove temporary files...
Traceback (most recent call last):
  File "/Users/julien/code/sct/python/lib/python2.7/logging/__init__.py", line 861, in emit
    msg = self.format(record)
  File "/Users/julien/code/sct/python/lib/python2.7/logging/__init__.py", line 734, in format
    return fmt.format(record)
  File "/Users/julien/code/sct/python/lib/python2.7/logging/__init__.py", line 465, in format
    record.message = record.getMessage()
  File "/Users/julien/code/sct/python/lib/python2.7/logging/__init__.py", line 329, in getMessage
    msg = msg % self.args
TypeError: not all arguments converted during string formatting
Logged from file slice.py, line 229
Traceback (most recent call last):
  File "/Users/julien/code/sct/scripts/sct_propseg.py", line 595, in <module>
    test(qcslice.Axial(fname_input_data, fname_seg))
  File "/Users/julien/code/sct/spinalcordtoolbox/reports/qc.py", line 160, in wrapped_f
    img, mask = func(sct_slice, *args)
  File "/Users/julien/code/sct/scripts/sct_propseg.py", line 593, in test
    return qslice.mosaic()
  File "/Users/julien/code/sct/spinalcordtoolbox/reports/slice.py", line 262, in mosaic
    centers_x, centers_y = self.get_center()
  File "/Users/julien/code/sct/spinalcordtoolbox/reports/slice.py", line 319, in get_center
    return self._axial_center(self.image_seg)
  File "/Users/julien/code/sct/spinalcordtoolbox/reports/slice.py", line 230, in _axial_center
    raise err
ValueError: array of sample points is empty

There are three different issues here:
(1) empty segmentation
(2) centerline generation from sparse points
(3) the exit error
Discussion about these two issues:
(1) empty segmentation
The segmentation is empty because the image contrast is quite bad, and the segmentation algorithm simply fails at segmenting the spinal cord properly.
Note that the segmentation was not empty initially (though it was bad), but the correction algorithm (line with Check consistency of segmentation...) erased it. This is quite an isolated user case and I am not sure if fixing it is worth it, given the new tools that @charleygros developed (sct_deepseg_sc).
(2) centerline generation from points
The centerline that is generated by PropSeg using the provided mask does not cover the full spinal cord, while the provided points do. The centerline generation seems currently made by isct_propseg and is less reliable than the recent tools in sct_process_segmentation. I would suggest the following change:

when provided a centerline that is not continuous, instead of providing the mask (with only a few points) to isct_propseg, we process the mask with sct_process_segmentation -i t2_mask_viewer.nii.gz -p centerline and provide the resulting centerline file t2_mask_viewer_centerline.nii.gz to isct_propseg.
when using the viewer with -init-centerline viewer, the resulting file that is sent to isct_propseg should be a continuous centerline.
The floor is open to discussion.

(2) the exit error
This error is related to the QC generation, which I cannot reproduce with the current version of SCT. Therefore, I'll assume that it is fixed.

ok, i suggest we close this issue then.

This issue was closed based on a consensus at a SCT meeting, based on the fact that this issue is an isolated case.


Update request: superslicer-beta <IP_ADDRESS> → <IP_ADDRESS>

Package name: superslicer-beta

Latest released version: <IP_ADDRESS>

Current version on the unstable channel: <IP_ADDRESS>

Current version on the stable/release channel: <IP_ADDRESS>

[x] Checked the nixpkgs pull requests

Notify maintainers
@cab404 @Moredread @tmarkus

Note for maintainers: Please tag this issue in your PR.

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

super-slicer-beta is currently at <IP_ADDRESS> on both 24.05 and unstable, can this be closed ?


Update grafana image

Refer to this link for build results (access rights to CI server needed):
https://fabric8-ci.fusesource.com/job/fabric8-quickstarts-master-pullreq/536/
Test PASSed.


Windows Machine File Copy 2.0.0 Copy Files in Parallel: The term 'Get-VstsLocString' is not recognized

## Environment
VSTS
Private Agent
Windows Server 2008 R2
Agent version 2.123.0
## Issue Description
When I use version 2.* from the Windows Machine File Copy task, enter multiple machines and select Copy Files in Parallel failed the task fails.

The copy itself succeeds. It looks like some references get lost when Powershell Executes the RoboCopyJob from Start-Job instead of Invoke Command.
### Error logs
##[error]The term 'Get-VstsLocString' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

@Mibe8 We have already investigated this issue but able to release it in next release. Till then can you please downgrade the task version (1.x) and queue your release.

Sure, but I couldn't find a similar issue, so I tought I report it.
Does this also apply for the PowerShell on Target Machines task? I see similar behaviour when running it in parallel, with another error message:
The term 'Get-ParsedSessionVariables' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

Yes this issue is also with  PowerShell on Target Machines task.

We have fixed the issue and the fix will be available in next release cycle(ETA 3 weeks).


Use correct source root for tests

I noticed my error messages while testing were names like "E:\Github\compiler\binder.ts" - with this change, they originate from the correct location (are are thus clickable links in the console). The previous path may have been required as a workaround for some old version of the tools we use, but is apparently no longer needed.

👍


Fixed: Default region is undefined

Checklist

[ ] Tests added
[ ] Cleaned up commit history (rebase!)
[ ] Documentation added
[ ] Thought about variable and method names

@MuratUrsavas why do we need awk anyway?
I think they changed it so that the default returns UNKNOWN now so we don't need this.
See #38

@shawaj They started to return null at some point. And it was different before. I thought something should be wrong.
So is it null or UNKNOWN? It's safe to implement both, though.

@MuratUrsavas why not even simpler then, like this? https://github.com/NebraLtd/hm-gatewayrs/pull/46

@shawaj was thinking the same because somehow weirdly it sometimes return empty, too.


Method for loading makegrid files

Although simsopt allows exporting coils to a MAKEGRID input format it does not allow loading MAKEGRID inputs. This would be a useful tool. With this in mind I adapted the method load_curves_from_file from CurveXYZFourier so that it also allows the use of "coils." files and added the method  coils_via_file to Coil  that imports a makegrid file. I have already developped some unit tests to verify the methods.
My methods are functional and converge for high orders. However, my accuracy is lower than I had hoped for, specially when calculating the field close to the coils (check test_coils_via_file in test_coil.py).
I was hoping you could help me achieve a better approximation.

@MigMadeira
Is this ready for re-review?

@MigMadeira Is this ready for re-review?

yes

The changes look good. Please fix the failing tests

In the makegrid input format, for each coil, the first data point is repeated at the end (on the line that lists the coil group.) This repeated point had been included in the data being fft-ed, which was causing the dofs to change a bit if you save and then load. I refactored to fix this, and added some assertions that when you save and then load, the dofs are unchanged to high precision. Once the CI passes, this should be good to go.


Supplemented and improved Russian translation

I'm also worried about localization breaking down with every update... But it's not my fault, it's just Crowdin is set up... weirdly. Anyway, translation options should be suggested here: https://crowdin.com/project/mod-menu
Btw, @Prospector , can you add missed localization strings there?

The Crowdin is super messed up and to be honest, I don't know how to fix it. I'll try to figure it out soon

I learned a long time ago what Crowdin is and almost immediately began to hate it. Missing lines appear late, and even a year can pass from the moment of proposals to the implementation of the translation. I help translate WTHIT using GH Pull Requests and gosh! It is much faster and more convenient and anyone can either correct the translation themselves or write a review... In any case, I suggest the translation using only GH Pull Request, and if it does not fit, I will delete my fork of the repository along with this pull request.

Missing lines appear late

a year can pass from the moment of proposals to the implementation of the translation

This isn't Crowdin's fault. Crowdin is just a tool, you just need to use it properly. If you set up it correctly, the translation will be automatically merged with your repository. Even more: there are some mods (based on this library) that do not contain lang files and load relevant localization dynamically.

Crowdin seems to have a lot of issues with having a ton of different branches because it keeps losing translations every time we make a new branch. It is probably user error but frankly their interface is so awful and unintuitive, this should not be so hard.

I would not call this tool good. Using Crowdin I tried to help translate the official launcher, and there I see the same thing that I see on Mod Menu page on Crowdin. Most of the translation sentences either look like a machine translation or a schoolboy translation, which is not semantically correct. Really good offers on Crowdin are very rare.
The question remains. Should I delete this Pull Request? I'm not going to use Crowdin for translation help, I'm more comfortable with GH Pull Requests or even resource packs with correct translations...

Most of the translation sentences either look like a machine translation or a schoolboy translation, which is not semantically correct

That's why proofreaders exist.

I'm more comfortable with GH Pull Requests

Me too, but I've run into people who destroyed translation quality with their PR's. Mod authors can't verify the translation quality themselves, and this is a big problem. Crowdsourcing generally solves this problem. PR's are good (and the only) solution for small projects, but when your userbase is big enough, open conversation works better.
Of course, I don't turn a blind eye to the issues with Crowdin, but I believe they can be effectively solved.

The question remains. Should I delete this Pull Request?

If I where you, I wouldn't do that until translation issues are solved. In addition, I personally have a couple of improvements for your translation, which I have already tested with my local resource pack.
Anyway, even if this PR is merged, after some time the translations will be automatically overwritten by Crowdin translations. So... I don't think it makes much sense :)


Make Handler in Client._listener a Task

Now, rstream treats each frame’s handler as a coroutine, if this coro blocks or takes a long time, the entire listener task will be blocked, which will decrease the rate of message consumption.

Hi @qweeze I would like to double check with you about this. Do you see any issue if we implement this modification on the client module? I think the issue is referring to line 209 of the client class when we call handler(frame)

wrapper the handler(frame) with asyncio.create_task may be fine.

I'm doing a few tests I think it should be fine.
This issue is also linked to: https://github.com/qweeze/rstream/issues/80 and https://github.com/qweeze/rstream/issues/123
So I guess that when we implement it also https://github.com/qweeze/rstream/issues/123 should be fine

Hi @garvenlee
Yes, it seems to be the case currently that if user provide a long-running callback to Consumer.subscribe, listener would block.
I'm not sure if we should just spawn Tasks on each handler though, it might be unsafe to create an uncontrolled number of tasks. Perhaps we should limit concurrency with asyncio.Queue / asyncio.Semaphore

I think the issue is referring to line 209 of the client class when we call handler(frame)

If I understood it right the issue is this line

This change would also affect how Credit frames are sent. I think we should at least run a benchmark first

Hi @garvenlee Yes, it seems to be the case currently that if user provide a long-running callback to Consumer.subscribe, listener would block. I'm not sure if we should just spawn Tasks on each handler though, it might be unsafe to create an uncontrolled number of tasks. Perhaps we should limit concurrency with asyncio.Queue / asyncio.Semaphore

I think the issue is referring to line 209 of the client class when we call handler(frame)

If I understood it right the issue is this line

Yes, it seems to require back pressure and a limit on the number of tasks. I see aiormq just directly create_task with basic_qos, so rstream maybe do the same?

I see aiormq just directly create_task with basic_qos

Can you pls link a code snippet of that? I looked at aiormq and found they have blocking frame handlers (here)

Sorry, I may have made a mistake. What can really cause blocking should be the callbacks passed in by the user, such as on_publish_confirm and subscribe_callback, so such callbacks should be wrapped as asyncio.Task. Maybe here aiormq

In Python, StreamReaderProtocol uses this Transport, which reads up to 256kb from the underlying socket and feeds it into StreamReader’s buffer (here). So if it’s necessary to customize the data chunk processing, you need to rewrite StreamReaderProtocol.data_received. Then use the new StreamReaderProtocol to build connection, like this.

we should have more or less the same behaviour

I found that rstream's write-out rate can reach 1.4Mb/s, but the read rate is only 400kb/s, which I think has to do with the Credit of the protocol. So it’s necessary to optimize the read process of each connection.

Going back to the previous solution. If we just have a new single task that execute all the handlers?
We can have an asyncio.Queue to do the synchronization (even tough we still have to see about performance implications)
Something like this: https://github.com/qweeze/rstream/compare/improve_callback_handlers
I saw that with this we are already able to solve issue (as timetout) like: https://github.com/qweeze/rstream/issues/123

Use Queue means taking frames from the protocol's cache and putting them into another cache. Then deliver them to an asynchronous task, but actually asyncio.Tasks can't be parallel, so this queue just introduce additional communication.

Well I'm noticing that the timeout is not anymore present simply with the modification as above (using the separate task with Queue), while is with the other approach so I think this is anyway an improvement.

I have a look at #123. I think the reason for TimeoutError is that consumer_handler waits the sync_request’s response, which blocks the _listener. So though the response frame already reached, but _listener can’t dispatch its handler.
This is similar to what I mentioned earlier.

What can really cause blocking should be the callbacks passed in by the user, such as on_publish_confirm and subscribe_callback, so such callbacks should be wrapped as asyncio.Task.

Yes I can see that even with the separate task with queue if the user provide a long-running callback it is still blocking the listener.
Yes we can try to run on_publish_confirm and subscribe_callback as asyncio task but we need to be sure that the ordering of the messages get preserved.

@garvenlee I made a few tests and the fact is that even if we set the subscribe_callback to run as an asyncio.create_task if this callback is very intensive it will anyway keep all the context for itself. At minimum it needs to run an await asyncio.sleep(0) in order to release the context and give the other callbacks the possibility to be run.

As I know, if the task itself is asynchronous, it will not block the event loop, but if the task is cpu-intensive, the event loop must wait for it to complete.

if the callback is cpu-intensive,

do you mean user side?

Yes, asyncio isn’t preemptive, so just leave it to the user code to handle

I may be missing something, but  It is not the library's responsibility. If the user puts some intensive CPU operation by blocking the task thread, we can't do too much.
In the .dot net client, there is one single task; it is up to the user to decide what to do.
It is enough to handle the full-rate chunks download from the library perspective then is up to the user.

@garvenlee For the original timeout issue I can see that the solution posted before  https://github.com/qweeze/rstream/compare/improve_callback_handlers should be able to handle it properly.
I tried the https://github.com/qweeze/rstream/issues/123 scenario and it is working.
I will probably do further performance analysis in the next days.
I'm also trying to implement your solution, is partially working but for example I'm having some issues running the example: https://github.com/qweeze/rstream/issues/123 which is still failing (but probably for another reason)
Would you mind to open a PR so that we can check it?

This seems to be the case, but there may be some mechanism to limit the number of tasks for consumer callbacks. If the callback is slow, the underlying read buffer will accumulate enough data, which triggers tcp back pressure later.

partially working but for example I'm having some issues running the example: https://github.com/qweeze/rstream/issues/123 which is still failing

I think it should be ensured that close is only called once. And consumer callback should be like:
async def on_message(msg, ctx):
    if not already_called:
        already_called = True
        await consumer.close()
        # notify user code to begin it’s own cleanup process.
        closed_waiter.set_result(None)

This cleanup logic requires user control, and it’s actually unreasonable to call consumer.close in the consumer callback.

Yah I agree it's unreasonable to call consumer.close in the consumer callback, it was just to test the scenario and see if the timeout was happening again.
This is the branch I tested:: https://github.com/qweeze/rstream/compare/making_user_callbacks_asynchronous
but it is still not working.
Anyway no point to write here pieces of code I have to test. This is your idea, It will be easier if you can implement it and you can please open a PR, we will review it! Thanks!

The branch (making_user_callbacks_asynchronous) is fine.
The problem now lies in the test code because consumer.close is called multiple times.

I made a few tests today.
It seems like performance degrade quite a bit with this solution:
For example consuming 5 millions of entries we pass from 70 seconds of master to 130 of the branch https://github.com/qweeze/rstream/compare/making_user_callbacks_asynchronous
We should maybe try to limit the number of tasks create but to see how.
I also tested the solution in https://github.com/qweeze/rstream/compare/improve_callback_handlers
Here after a few millions messages read the listener get blocked in  self._conn.read_frame()

I made a few tests also using a Semaphore to limit the number of tasks spawn but performance are not really good also with that.
Considering also that with this implementation the users will have to tune the optimal number of tasks based on the architecture is using, I think that we will finally go with the single task syncrhonized by Queue discussed before like: https://github.com/qweeze/rstream/pull/134
For the test done this should be enough to keep the listener free in case the callback will attempt to submit a sync call too, like close() is doing or others and it will be also more in line with our other clients.
Also performance seems in line with the original branch.


fix: trigger semantic release

Followup to #105, which also didn't trigger a release because the semantic commit was squashed into a non-semantic commit. Sigh.
cc @codebytere

Opened https://github.com/probot/semantic-pull-requests/issues/11 to prevent scenarios like this from slipping through the cracks in the future.


Subtitle for project has broken link to https://kortemmelab.ucsf.edu/benchmarks

Yes, this is intentional (the link, not the broken state). The website is currently hosted on our computational server but I will add a redirect to that from the address above later. The final home for the website will be on kortemmelab.ucsf.edu. I'll leave the ticket open as a reminder.

Fixed now.


feat: HTTP client

This first PR adds a simple HTTP client with some found bug fixes.
Cookies support and compression are in the following PRs.

This PR proposals two crate: compio-http and compio-http-client. The first one provides mid-level hyper services, for both client and server; the second one provides a reqwest-like high level HTTP client. This design provides possibility to author a web framework based on hyper, and most flexibility for users who wants to author their own client and server.


delete repository tag

The gitlab api supports deleting tag in repository
http://doc.gitlab.com/ce/api/tags.html

You are right. I have removed the line.

Functionality wise, this LGTM. Code style wise, there's another double empty lines I would remove, but if you look through the file, there's a mix of functions with empty lines to separate "logical parts" of the functions, and functions where it's all crammed up with no lines separating logical parts (typically: prep request data, make and send request, process response).

I'll look this over more this weekend and see about getting it merged in.


using composites action

Codecov Report

Merging #2 (346281e) into main (d09fb23) will increase coverage by 23.97%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             main        #2       +/-   ##
============================================
+ Coverage   76.02%   100.00%   +23.97%
============================================
  Files          29         3       -26
  Lines        1297        42     -1255
  Branches      404         0      -404
============================================
- Hits          986        42      -944
+ Misses        191         0      -191
+ Partials      120         0      -120

Flag
Coverage Δ

Linux
100.00% <ø> (+43.66%)
:arrow_up:

Windows
?

macOS
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

src/header.hpp

include/cppsas7bdat/column.hpp

src/page.hpp

include/cppsas7bdat/properties.hpp

src/stream.cpp

src/exceptions.cpp

src/sas7bdat-impl.hpp

src/datasource_ifstream.cpp

src/subheaders.hpp

include/cppsas7bdat/sas7bdat.hpp

... and 16 more

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 d09fb23...346281e. Read the comment docs.


(Possibly) Allow Legal Operating Name to be Editable by Ministry for BasicBCeID Institutions

Ministry Account, Edit Institution Profile Page
Expected Behaviour:
Ministry needs the ability to edit the 'legal operating name' field for an institution. Ideally this field would be editable from the interface within the Ministry account. However, given the very small amount of times this functionality will be used, it would be sufficient for MVP if this field could be editable by contacting someone at TBTB to have them change the value in the database. Please confirm that making edits directly in the database would be sufficient and therefore exists as an interim MVP solution, otherwise we need the ability to edit the field in the interface
Current Behaviour:
Ministry can edit the 'operating name' field for a BasicBCeID account, but the 'legal operating name' field is locked to Ministry and cannot be edited. This means the only way to change a legal operating name would be for the institution to create an entirely new account, which would lose all of their account information.


Improve error display on catalog page

If the user performs a search and gets no strains back, they should receive a more helpful error message with the search/app bar still on the page.
Also going to use this issue to track any error-related issues that pop up.

Can also improve loading display by keeping the app bar and header stationary while the rest of the data loads.


【AstraS】 when Raspberry4B connect AstraS and two or more USB device，depth topic can only be subscribed by one node

when Raspberry4B connect AstraS and two or more USB device，the depth topic once be subscribed by one node, the other topic publish by AstraS will stop publishing.
is anyone else has same problem ?

Hi! What OS do you use on your RPi4?


force:cmdt:record:insert causes deployments to fail if there is a Metadata Relationship data type

Summary
Using force:cmdt:record:insert generates XML with Metadata Relationship data types tagged as xsi:type="xsd:undefined". When deploying the resulting Custom Metadata Records the following error is received:
ERROR running force:source:deploy:  Deploy failed
Replacing xsi:type="xsd:undefined" with xsi:type="xsd:string" fixes the issue.
Steps To Reproduce:

Create two metadata type objects linked with a Metadata Relationship
Create CSVs for both metadata types
Run force:cmdt:record:insert to create XML Custom Metadata Records for each Type
Deploy Custom Metadata Records

Expected result
Deploy should be successful
Actual result
Deploy fails with ERROR running force:source:deploy:  Deploy failed
Additional information
Replacing xsi:type="xsd:undefined" with xsi:type="xsd:string" in the XML generated with force:cmdt:record:insert  fixes the issue.
Version: sfdx-cli/7.68.6-d37008df83 darwin-x64 node-v12.18.3

@louisskelton I will share your issue with the cmdt team. Thank you

@clairebianchi this issue also occurs for force:cmdt:record:create. Can you have someone create a bug report and pass it to the right team? I guess it's the same issue. The solution is the same.

I'm currently hitting this issue as well trying to create records from CSV file.  Any updates?

I've asked for an update from the cmdt team.  I'll pass along any details they give me if no one responds here directly.

any update on this , or is there any workaround available except the Replacing xsi:type="xsd:undefined" with xsi:type="xsd:string" in the XML

Any update on this , or is there any workaround available except the Replacing xsi:type="xsd:undefined" with xsi:type="xsd:string" in the XML

any update on this , or is there any workaround available except the Replacing xsi:type="xsd:undefined" with xsi:type="xsd:string" in the XML

Any update?

Hi Github community - I'm the Salesforce PM for the Custom Schema area which owns CMDTs. Unfortunately due to other competing priorities, we don’t currently have it on our roadmap to resolve this issue. Hopefully, the identified workaround gets most customers out of this situation.
In order for us to get this prioritized we would need to see overwhelming feedback on the Trailblazer Community / IdeaExchange and/or large volume of high-severity support cases.


IAM role ARN value is invalid or does not include the required permissions for: ENHANCED_MONITORING

Description
I am created an read replica of an RDS database and got an error that IAM role was not valid. However this role should have been created within the module. When I re-run the module again without any changes it worked. So it seems that there is a race condition that the role was not created in time.
Versions

Terraform:
Terraform v1.0.11
on linux_amd64

Provider(s):

provider registry.terraform.io/hashicorp/aws v3.74.0
provider registry.terraform.io/hashicorp/random v3.1.0

Module:
terraform-aws-modules/rds/aws

Reproduction
Steps to reproduce the behavior:
Unclear. Seems to be a race condition.

Create read replica for RDS database with enhanced monitoring
Works when apply is retried

Expected behavior
Creation should work in the first run
Actual behavior
Creation works after retry
Terminal Output Screenshot(s)
See attachend file for terraform output. As you can see the monitoring role is beingcreated within that call.

terragraunt_error.txt


Failed to load response from ChatGPT

As the extension starts receiving the summary I get:
Failed to load response from ChatGPT

With recent throttling and frequent auth token refreshes the extension has failed to work as expected.
A solution we could provide is to let you copy the content of the page you are on and let you manually paste it in ChatGPT input box. This way we can guarantee you get a summary. Just that it is a manual effort.
Would you @robertoronderosjr  be interested in this feature?

This issue was fixed in e44e24438a0e3929d2f1e9ef4374c7f3f809466f


[BUG] - nix install: error: ignoring untrusted substituter 'https://cache.iog.io'

Exxtern
External   otherwise.
Area
Other   Any other topic (Delegation, Ranking, ...).
Summary
Following the steps here: https://github.com/input-output-hk/cardano-node/blob/b19401fc5bfd62132114e39bfa34d6119b955577/doc/getting-started/building-the-node-using-nix.md I am receiving the warning: nix install: error: ignoring untrusted substituter 'https://cache.iog.io' for which I am not sure the impact but seems sub-optimal.
Steps to reproduce
Steps to reproduce the behavior:

Install nix
Follow the instructions for "Building and running with nix"
Observe the message as nix initializes.

Expected behavior
Few, it not zero warnings, but one would anticipate substitutors to otherwise work.
System info (please complete the following information):
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.1 LTS
Release:        22.04
Codename:       jammy
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.1 LTS
Release:        22.04
Codename:       jammy

nix (Nix) 2.13.1

Commit: a5e4dd65a863e7d5be05479766211a048b03ad7a

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 120 days.

Yes, happy to receive a comment on it! 😉

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 120 days.

DSame here.
What I wonder is why the trusted-public-keys mapping for https://cache.iog.io seems to be hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= when hydra.iohk.io got renamed.

Maybe there is a misconception regarding the trusted-public-keys entry on my side as I have cache.iog.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= instead of the original one (when hydra.iohk.io wasn't down) AND I get the warning.
Using only hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= for the key makes the warning go away in my case.


Q: Request parameter handling

How are request parameters handled? Are they converted from Strings to values (like Spring does)?

At the moment they are retrieved as strings. Mappers or any mechanism to convert parameters to anything else are not included in Chinook.
My idea about Chinook is to keep it to the minimum. Anything else (validation, mapping...) should be provided by other Frege/Java libraries.

I feel it would be helpful to at least parse the request parameters into an immutable data structure (map) of String keys and entries that are either String or list of entry or maps from String to entry.

Agree, making the request an immutable data structure is definitely something I'm planning to do. :+1:

I'm actually migrating the mutable Spark request to an immutable data structure. I have implemented data types for headers, query parameters and path parameters:
data Header     = Header      (String, Maybe String)
data QueryParam = QueryParam  (String, [String])
data PathParam  = PathParam   (String, Maybe String)

data IRequest   = IRequest    { hs  :: [Header], qps :: [QueryParam], pps :: [PathParam] } where

But now I'm wondering whether if it would be better to handle raw data types without the data type itself or to keep everything within data types and create functions to extract, modify data coming from a Header, QueryParam...
From a user point of view,  I think it would be more friendly to extract a parameter like this:
param :: IO IRequest -> String -> [String]

Than this:
param :: IO IRequest -> String -> QueryParam

The same for headers, I think it is easier to use:
header :: IO IRequest -> String -> Maybe String

than:
header :: IO IRequest -> String -> Header

I'm not sure which way would be the best approach. Any ideas ?

Two observations:
a) you may want to compare notes with @mmhelloworld who started work on https://github.com/mmhelloworld/fregelet. It feels like we have duplicated effort at least wrt the parameter handling.
b) you cannot get from an IO x type to a non-IO type ;-)

a) Nice :) I'll take a look at it thanks
b) Yes of course, you're right I just didn't pay attention while writing the signature :P

Please check last version and docs (http://januslynd.github.io/chinook/). I've made a first attempt to migrate request and response to data types.

That looks great!


[Bug]: Tried to set properties for non-existent exec groups: test.

What happened?
I'm trying to add this to my py_test
    exec_properties = {
        # Tell BuildBuddy to run this test using a Firecracker microVM.
        "test.workload-isolation-type": "firecracker",
        # Tell BuildBuddy to ensure that the Docker daemon is started
        # inside the microVM before the test starts, so that we don't
        # have to worry about starting it ourselves.
        "test.init-dockerd": "true",
    },

as soon as I do that, rules_py seems to error with this message:
Tried to set properties for non-existent exec groups: test.

Version
Development (host) and target OS/architectures:
Output of bazel --version:
bazel 7.4.0
Version of the Aspect rules, or other relevant rules from your
WORKSPACE or MODULE.bazel file:
1.0.0-rc0
Language(s) and/or frameworks involved:
How to reproduce
Create any basic test and then add exec properties. Here's what my file looks like:
load("@aspect_rules_py//py:defs.bzl", "py_library", "py_test")

py_library(
    name = "calculator",
    srcs = ["calculator.py"],
    visibility = ["//:__subpackages__"],
)

py_test(
    name = "calculator_test",
    srcs = ["calculator_test.py"],
    deps = [":calculator"],
    exec_properties = {
        # Tell BuildBuddy to run this test using a Firecracker microVM.
        "test.workload-isolation-type": "firecracker",
        # Tell BuildBuddy to ensure that the Docker daemon is started
        # inside the microVM before the test starts, so that we don't
        # have to worry about starting it ourselves.
        "test.init-dockerd": "true",
    },
)

### Any other information?

_No response_

when i try this against plain rules_python, i get the same problem so i dont think it was a bug in aspect rules_py

I'm not sure how you got past this, I have been successfully using this with rules_python but it fails with rules_py only https://github.com/aspect-build/rules_py/issues/461


fix: update to eye v8.7.5

fix: update to eye v8.7.5

:tada: This PR is included in version 10.7.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release
v10.7.4

Your semantic-release bot :package::rocket:


Add doc to manage PVC in Elasticsearch FAQ

There is a lot of questions about the procedure to resize Elasticsearch PVC by migrating to new chart release (https://github.com/elastic/helm-charts/issues/647#issuecomment-636778450).
This should be documented in the FAQ.
In the same way, we should document the way to create PVC matching VolumeClaimTemplates naming convention outside of Elasticsearch chart (https://github.com/elastic/helm-charts/issues/518#issuecomment-726109728).
This should fix  #772,  #851, #518 & #656

Here is a workaround for EKS
I use helmfile, but for the vanilla helm, it should not very different.

Make sure that helmfile -f helmfile.yaml diff not produce changes
https://www.jeffgeerling.com/blog/2019/expanding-k8s-pvs-eks-on-aws
Change storage in Elasticsearch values.
Fix apply error (Error: UPGRADE FAILED:..) by removing old helm-chart revisions
For this:
4.1. Comment all releases in helmfile except Elasticsearch
4.2. helmfile -f helmfile.yaml delete
4.3. helmfile -f helmfile.yaml apply
4.4. Uncomment releases

/unstale ?

still valid

still valid

still valid

Hey, @jmlrt, I see that you work in Elastic as SRE. Maybe you can be able to ping folks in internal slack etc. to escalate that issue?
I know that docs writing can be more difficult than implementing feature/bug fixes, but 1 year for docs issue... it time to escalation, I think 🙂

I managed to resize volumes in kubernetes using ALLOWVOLUMEEXPANSION available in later versions
kubectl get Storageclass
NAME            PROVISIONER             RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
gp2 (default)   kubernetes.io/aws-ebs   Delete          WaitForFirstConsumer   true                   93d

if ALLOWVOLUMEEXPANSION is not set to true add allowVolumeExpansion: true
kubectl edit storageclass
and add
kind: StorageClass
apiVersion: storage.k8s.io/v1
provisioner: kubernetes.io/aws-ebs
allowVolumeExpansion: true

Then go to PVC and change volume size. WARNING: Do not change size 2 in one row, i managed to get errors.
AWS modifyVolume failed for vol-adasdasdasdasd with IncorrectModificationState: Volume vol-adasdasdasdasd cannot be modified in modification state OPTIMIZING

botelastic, nope.

.


[Bug]: Player counts on games in the home view can be negative or greater than two

Bug Summary
The HomeView shows games available to join. They should show 0/2, 1/2, or 2/2 players. Sometimes they can show -1/2 or 3/2
Detailed Description
See pic:

This happens sometimes when socket messages are missed intermittently e.g. to players join a lobby and then leave it, but the your client misses the second player joined. So the event stream looks to your client like: join, leave, leave. This sets the player count to -1 instead of zero.
To fix this easily we can update the gameList store so that the joinGame() and otherLeftGame() actions which increment and decrement player counts use Math.min() and Math.max() respectively to ensure that the player count never goes above 2 or below 0. So instead of
updatedGame.numPlayers++;

we’d have
updatedGame.numPlayers = Math.min(2, updatedGame.numPlayers + 1)

and the reciprocal for otherLeftGame
Current Behavior
The player counts of games in the gameList can sometimes be < 0 or > 2.
Expected Behavior
The player counts are always either 0, 1, or 2
Steps to Reproduce

Hello, I would like to work on this issue. Please assign me.

Hi @itsalaidbacklife , I would love to work on this issue can you please assign it to me?


Review use indent in our templates

What
We use indent across our component templates. Do we still need to do this?
Why
The primary intent of using indent in our context is to make it look tidy when a developer is viewing the source for a page with our components on. There's a question now about how valuable this is based on the reckon that most devs will use dev tools over view source and that we pretty print our HTML.
We should investigate if this is still valuable. If so, we should see if there are things we can do to improve and/or document our use of it. If not, we should remove it.
Notes
Places we use indent
In many of the below examples there are more than one use of indent so look at the whole file as well as the referenced line.

https://github.com/alphagov/govuk-frontend/blob/853403db206aa2fad1daef33e517bdc1c4a61d9a/src/govuk/components/button/template.njk#L48
https://github.com/alphagov/govuk-frontend/blob/853403db206aa2fad1daef33e517bdc1c4a61d9a/src/govuk/components/checkboxes/template.njk#L85
https://github.com/alphagov/govuk-frontend/blob/853403db206aa2fad1daef33e517bdc1c4a61d9a/src/govuk/components/cookie-banner/template.njk#L50
https://github.com/alphagov/govuk-frontend/blob/853403db206aa2fad1daef33e517bdc1c4a61d9a/src/govuk/components/date-input/template.njk#L40
https://github.com/alphagov/govuk-frontend/blob/853403db206aa2fad1daef33e517bdc1c4a61d9a/src/govuk/components/file-upload/template.njk#L16
https://github.com/alphagov/govuk-frontend/blob/853403db206aa2fad1daef33e517bdc1c4a61d9a/src/govuk/components/input/template.njk#L16
https://github.com/alphagov/govuk-frontend/blob/853403db206aa2fad1daef33e517bdc1c4a61d9a/src/govuk/components/label/template.njk#L11
https://github.com/alphagov/govuk-frontend/blob/853403db206aa2fad1daef33e517bdc1c4a61d9a/src/govuk/components/phase-banner/template.njk#L10
https://github.com/alphagov/govuk-frontend/blob/853403db206aa2fad1daef33e517bdc1c4a61d9a/src/govuk/components/radios/template.njk#L25
https://github.com/alphagov/govuk-frontend/blob/853403db206aa2fad1daef33e517bdc1c4a61d9a/src/govuk/components/select/template.njk#L16

Extra things to think about

Could we add something to our load process to auto-indent our HTML?
Are there other benefits of indent other than for view source?

Who needs to work on this
Developers
Done when

[ ] Confirm why we use indent
[ ] Decide if we should continue using indent or not
[ ] Consider alternatives to using indent/more efficient ways to leverage indent

Turns out that indent() etc is vital to indent included HTML other than the first line
I've adding indent() where necessary and formatted all our Nunjucks HTML in:

https://github.com/alphagov/govuk-frontend/pull/4448

I'm in the process of reviewing that PR but I don't fully grasp how indent() is vital. Could you elaborate please?

Yeah course, I should say it's vital to "carry the indent level" from the one macro to the next for tidiness sake only
I'll add some examples below using this little unindented macro:
{% macro govukExample() %}

Example

Hello Owen

{% endmacro %}

Without indent
See how the macro contents isn't indented at all?
It appears to indent the macro's 1st HTML line, but that's from the 2 spaces before {{ govukExample() }}
Input

Demo

  {{ govukExample() }}

Output

Demo

Example

Hello Owen

Without indent, nested
As above, only the macro's 1st HTML line is indented by the spaces before {{ govukExample() }}
But none of the macro's subsequent HTML lines are indented at all
Input

Demo

      {{ govukExample() }}

Output

Demo

Example

Hello Owen

With indent
Notice now how indent(2) adds 2 spaces to the macro's 2nd, 3rd and 4th HTML lines too?
Input

Demo

  {{ govukExample() | trim | indent(2) }}

Output

Demo

Example

Hello Owen

With indent, nested
With a nested example we now begin at 6 spaces (not 2) so we need ~indent(2)~ indent(6)
But notice how indent(6) still adds 6 spaces to each subsequent macro HTML line?
Input

Demo

      {{ govukExample() | trim | indent(6) }}

Output

Demo

Example

Hello Owen

Just a quick variation to the above too
Lots of our formatting issues were with params.html which also needs indenting
For example, take this Nunjucks macro instead:
{% macro govukExample(html) %}

  {{ html | trim | safe | indent(2) }}

{% endmacro %}

With indent, nested html param
Taking the macro above, notice how we indent both the macro contents and the {% set html %} param?

Nunjucks view applies indent(2) to govukExample() affecting
 contents
Nunjucks macro applies indent(2) to the {% set html %} param contents

Input
{% set html %}

What about me?

Indents can be cumulative

{% endset -%}

Demo

  {{ govukExample(html) | trim | indent(2) }}

Output

Demo

What about me?

Indents can be cumulative

Cheers Colin that makes sense!

I've added some suggestions to Accordion, Breadcrumbs and Button for @owenatgov to review

I've closed the original PR in favour of smaller easier-to-review PRs instead
Good to link to https://github.com/alphagov/govuk-frontend/pull/4448#issuecomment-1816376424 for the various compromises we tried

Thanks for all these reviews @romaricpascal
Thought I'd got them all but I'd not split out Task list or Tabs  so will reopen
You'll see some more PRs coming through shortly

@owenatgov All done ✅


appDir with 'next export' cause error

https://github.com/vercel/next.js/issues/44002
https://beta.nextjs.org/docs/app-directory-roadmap#supported-and-planned-features

https://github.com/agmmnn/tauri-ui-boilerplate/commit/683a6c3db6f534e6b5c60e21e1b7ee5046bc1fd8


Use funds available for trading rather than...

... entire balance.

Hi, sorry I was away from Zenbot for so long and never merged this. I've been working on Zenbot 4 and just tagged the release last night. Closing this PR since 3.x won't be supported anymore. Thanks for using Zenbot!


Push the v0.1.4

Fixing the username name, colors and picture randomization
Adding the redirection to home at the end of the registering process

Can you rereview please @GuillaumeDespaux I added a password text obscur which was missing.


Remove HEAD option to prevent false positives

What does this PR do?
(Please set a descriptive PR title. Use this space for additional explanations.)
How does it look like?
(If this is more than a textual change, a screenshot can help in some cases to speed up the review process.)
Any background context you can provide?
(Please link public issues or summarize if not public.)
What is needed from the reviewers?
Why is this piece of content here?
(If you are adding content, please consider adding it to the main documentation at https://docs.giantswarm.io/.)
Have you maintained the front matter?
(Please bump the last_review_date in case this qualifies as a review for an entire page. Provide user_questions which should be answered in the page. Provide a meaningful description.)

HEAD causes false positives?

See here: https://superuser.com/a/272273
Basically curl does some weird stuff with -X HEAD and gives non-zero exit codes even though the status is 200

Aaahhh! Good to know, but unfortunate.


The menu items for CLI flag documentation in release 1.6 are wrong

https://cert-manager.io/v1.6-docs/
I may have made a mistake when updating the scripts for the 1.7 release:

https://github.com/cert-manager/website/pull/817

/kind bug

Fixed by #829


[BUG] ETCD Backup for downstream cluster not properly inventoried

Rancher Server Setup

Rancher version: 2.8.2
Installation option (Docker install/Helm Chart): Helm Chart

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc): v1.27.12 +rke2r1

Proxy/Cert Details: None/Let's Encrypt

Information about the Cluster

Kubernetes version: v1.27.12+rke2r1
Cluster Type (Local/Downstream): DownStream

If downstream, what type of cluster? (Custom/Imported or specify provider for Hosted/Infrastructure Provider): Infrastructure Provider(IONOS)

User Information

What is the role of the user logged in? Admin

Describe the bug

The snapshots were working fine until we configured the additional s3 backup in the cluster configuration. Since then in the cluster management/snapshot view the snapshots are displayed with 0B
The problem seems to be that the kube-system/rke2-etcd-snapshots configmap is not updated.
On the ETCD Nodes the snapshots are created properly and also the transfer to s3 is working properly.
On the ETCD Node i can view the snapshots with rke2 etcd-snapshot list --etcd-s3 and see the local one on the node and the s3 snapshots. The Job on the nodes runs and i can validate in the logs that it ends with exit 0 and no error.
In the Rancher Pods i've a lot of entries like this:
2024/04/16 14:21:12 [INFO] [snapshotbackpopulate] rkecluster fleet-default/mycluster: processing configmap kube-system/rke2-etcd-snapshots
2024-04-16T14:21:12.195356937Z 2024/04/16 14:21:12 [INFO] [snapshotbackpopulate] rkecluster fleet-default/mycluster: processing configmap kube-system/rke2-etcd-snapshots
2024-04-16T14:21:13.153655236Z 2024/04/16 14:21:13 [INFO] [snapshotbackpopulate] rkecluster fleet-default/mycluster: processing configmap kube-system/rke2-etcd-snapshots
2024/04/16 14:21:13 [INFO] [plansecret] Deleting etcd snapshot fleet-default/mycluster-on-demand-mycluster-etcd-z1-d39f123e-xj28d-171327-0cbe1
2024-04-16T14:21:13.400236265Z 2024/04/16 14:21:13 [INFO] [snapshotbackpopulate] rkecluster fleet-default/mycluster: processing configmap kube-system/rke2-etcd-snapshots
2024-04-16T14:21:13.422853081Z 2024/04/16 14:21:13 [INFO] [snapshotbackpopulate] rkecluster fleet-default/mycluster: processing configmap kube-system/rke2-etcd-snapshots
2024/04/16 14:21:14 [INFO] [snapshotbackpopulate] rkecluster fleet-default/mycluster: processing configmap kube-system/rke2-etcd-snapshots
2024-04-16T14:21:17.159319635Z 2024/04/16 14:21:17 [INFO] [plansecret] Deleting etcd snapshot fleet-default/mycluster-on-demand-mycluster-etcd-z3-4c177a8d-wpdrt-171327-ad118
2024-04-16T14:21:17.186841408Z 2024/04/16 14:21:17 [INFO] [snapshotbackpopulate] rkecluster fleet-default/mycluster: processing configmap kube-system/rke2-etcd-snapshots
2024/04/16 14:21:17 [INFO] [snapshotbackpopulate] rkecluster fleet-default/mycluster: processing configmap kube-system/rke2-etcd-snapshots
2024/04/16 14:21:18 [INFO] [snapshotbackpopulate] rkecluster fleet-default/mycluster: processing configmap kube-system/rke2-etcd-snapshots

Here's an example of the an ETCDSnapshot CRD:
apiVersion: rke.cattle.io/v1
kind: ETCDSnapshot
metadata:
  annotations:
    etcdsnapshot.rke.io/snapshot-file-name: on-demand-mycluster-etcd-z1-d39f123e-xj28d-1713271295
    etcdsnapshot.rke.io/storage: local
  creationTimestamp: '2024-04-16T14:31:24Z'
  generation: 1
  labels:
    rke.cattle.io/cluster-name: mycluster
    rke.cattle.io/machine-id: 61aa533c8d2fcf95aabae8dcc45b93b412fcc4106da9453e3d6c6312fc56c9c
  managedFields:
    - apiVersion: rke.cattle.io/v1
      fieldsType: FieldsV1
      fieldsV1:
        f:metadata:
          f:annotations:
            .: {}
            f:etcdsnapshot.rke.io/snapshot-file-name: {}
            f:etcdsnapshot.rke.io/storage: {}
          f:labels:
            .: {}
            f:rke.cattle.io/cluster-name: {}
            f:rke.cattle.io/machine-id: {}
          f:ownerReferences:
            .: {}
            k:{"uid":"2c51fa1e-d281-4e7f-b48d-4a93cbf77b12"}: {}
        f:snapshotFile:
          .: {}
          f:location: {}
          f:name: {}
          f:nodeName: {}
        f:spec:
          .: {}
          f:clusterName: {}
      manager: rancher
      operation: Update
      time: '2024-04-16T14:31:24Z'
    - apiVersion: rke.cattle.io/v1
      fieldsType: FieldsV1
      fieldsV1:
        f:status:
          .: {}
          f:missing: {}
      manager: rancher
      operation: Update
      subresource: status
      time: '2024-04-16T14:31:24Z'
  name: mycluster-on-demand-mycluster-etcd-z1-d39f123e-xj28d-171327-0cbe1
  namespace: fleet-default
  ownerReferences:
    - apiVersion: cluster.x-k8s.io/v1beta1
      blockOwnerDeletion: true
      controller: true
      kind: Machine
      name: mycluster-etcd-z1-69644679dcxjfbbd-lbzvk
      uid: 2c51fa1e-d281-4e7f-b48d-4a93cbf77b12
  resourceVersion: '47848394'
  uid: 3008cfbf-d221-4dc9-ba44-3027324a3e5c
snapshotFile:
  location: >-
    file:///var/lib/rancher/rke2/server/db/snapshots/on-demand-mycluster-etcd-z1-d39f123e-xj28d-1713271295
  name: on-demand-mycluster-etcd-z1-d39f123e-xj28d-1713271295
  nodeName: mycluster-etcd-z1-d39f123e-xj28d
spec:
  clusterName: mycluster
status:
  missing: true

When i ssh on the node the snapshot exists at /var/lib/rancher/rke2/server/db/snapshots/on-demand-mycluster-etcd-z1-d39f123e-xj28d-1713271295   name: on-demand-mycluster-etcd-z1-d39f123e-xj28d-1713271295
I can fix the 0b entries when i add the snapshot data to the kube-system/rke2-etcd-snapshots. I get the data from rke2 etcd-snapshot list --etcd-s3 -o json. But couldn't find any erors related to updating the configmap.
What service/agent is responsible for updating the ConfigMap?
To Reproduce
Couldn't reproduce the Issue with another cluster on IONOS.
Result
New Snapshots through the schedule or on demand trigger more 0 byte snapshots in the Cluster Management
Expected Result
New Snapshots are inventoried properly
Screenshots

Additional context

We have the same issue on some downstream clusters. We opened a case with Suse, they pointed us to:
https://www.suse.com/support/kb/doc/?id=000021078 but this doesn't helped with our issue.
On one of the cluster I was able to fix it with temporary reduce the retention to 3 and the interval to 5min, then wait until rancher cleaned up everything.

Same as @betweenclouds - tried pretty much everything I could find, but for me my downstream cluster still shows 0bytes even tough the files are there locally and on S3...

I eventually got it to work.  What I ended up doing is manually deleting snapshot files (s3 and local, after backing them up somewhere else).  Then I disabled etcd stapshot completly.  I then deleted the configmap "rke2-etcd-snapshots" and all of the ETCDSnapshotFile.  I then proceeded to reboot all my etcds and control planes 1 after the other.  I then Re-enabled the snapshots with a retention of 3 every 5 minutes.  I left it as is - and some snapshot were still showing 0 - I went ahead and re-rebooted all the etcds and control planes.  After the reboots, it seemed like the consolidation was finally done and all my snapshots are showing correctly now.  I re-enabled s3 and all is okay...  A bit of a nuke solution, but I wasn't able to make it work any other way...

The workaround didn't help on my cluster. But thanks for the tipps!

Actually - I just had that very same issue again on another downstream cluster - and it took me a while but I finally got it to show the snapshots...  Just to be clear, let me do a step by step.
1 - Completly deactivate ETCDs snapshots (s3 or local)
2 - Reboot ETCDs and Control planes 1 by 1 ETCDs first then Control planes - or both if you have both on the same nodes.
3 - Remove All ETCDSnapshotFiles - remove all the files on S3 and in /var/lib/rancher/rke2/server/db/snapshots ** might want to keep a few as backup in case something goes wrong **
- If you see that some snapshots files are stuck at "Removing/Deleting", I ran this command to remove the finalizers on the ETCDSnapshotFiles.
kubectl get etcdsnapshotfiles -o json | jq -r '.items[] | select(.metadata.deletionTimestamp != null) | .metadata.name' | while read -r snapshot; do     kubectl patch etcdsnapshotfile "$snapshot" --type='json' -p='[{"op": "remove", "path": "/metadata/finalizers"}]'      echo "Removed finalizers from $snapshot" done
4 - Remove the "rke2-etcd-snapshots" config map
5 - Reboot Etcds and Control Planes again
6 - Activate the snapshots locally - no S3 for now, I set 10 minutes and 10 retention.
7 - You should see empty snapshots again after some time.  Let it do 2 or 3 snapshots schedules
8 - Again, reboot all Etcds then Control PLanes - you should see the following in your logs:
`
ApplyJob	HelmChart rke2-snapshot-validation-webhook	Applying HelmChart using Job kube-system/helm-install-rke2-snapshot-validation-webhook
ApplyJob	HelmChart rke2-snapshot-controller	Applying HelmChart using Job kube-system/helm-install-rke2-snapshot-controller
`
9 - Check if the "rke2-etcd-snapshots" config map has been recreated after the jobs are finished
10 - after a few minutes, you should start seeing both - sucessful snapshots and older ones empty.
11 - let the retention remove the old empty snapshots
12 - once all snapshots are "sucessful" - reactivate S3 - and from there you should be good.
I'm really not sure why this ends up working, but it did for now 3 downstream clusters.  They are all configured the same, so I might have a config that differs, but eventually it seems to be working.

Same issue in my single-docker-Rancher lab. My downstream RKE2 cluster was created as v1.27-something (latest rke2 available on March 12.) with Rancher 2.8.2, on-demand backups and automatic etcd-snapshots were working fine until today. I have recently patched and rebooted my server with the rancher instance and upgraded Rancher to v2.8.3. The cluser was then updated to v1.28.8+rke2r1, It's been a few days and automatic snapshots were working fine. Started this morning, new on-demand backups and automatic etcd-snapshots are "0" sized and can not be addressed to, even though existent on the servers.
I've just created a new RKE2 downstream cluster (v1.28.8+rke2r1, using Rancher v2.8.3) and I have no issues with on-demand backups or automatic etcd snapshots. Also no issues after restarting Rancher container. The older cluster still shows "0" on recent and new backups.

Could be related to:

https://github.com/rancher/rke2/issues/5866
https://github.com/k3s-io/k3s/pull/10047

Our one-liner to patch each cluster until fix is available:
kubectl get lease -n kube-system rke2-etcd -o jsonpath='{.spec.holderIdentity}' | xargs -I {} kubectl patch lease -n kube-system  --patch='{"spec":{"holderIdentity":"{}"}}' --type=merge rke2; kubectl get lease -n kube-system -o custom-columns='name:.metadata.name,holder:.spec.holderIdentity' | grep rke2

I'm having an odd issue similar to this as well. We recently upgrade 2 of our clusters from Rancher Version 2.7.4 --> 2.8.3 and Kubernetes versions 1.25.9 --> 1.27.13/14. Snapshots are now only showing for 1 of our 3 control nodes in each of our 4 clusters. I can check the logs on the 2 other control nodes for each cluster and see the snapshots are taking but they are not uploading into the Rancher UI, they are only upload for a single control node.
Additionally, if I select an On-Demand snapshot, the UI uploads 3 snapshots from a single control node and on the node itself, I see 3 "on-demand" snapshots. The 2 other control nodes do not appear to acknowledge the on-demand request

Yhea this has been an annoyance...  the only thing that 100% fixed it for me was to upgrade to 1.28.9.  I had issues with 1.26 at some point, upgrading to 1.27 didn't change anything - same issues, but all my clusters that were upgraded to 1.28.9 self-resolved...

Yhea this has been an annoyance... the only thing that 100% fixed it for me was to upgrade to 1.28.9. I had issues with 1.26 at some point, upgrading to 1.27 didn't change anything - same issues, but all my clusters that were upgraded to 1.28.9 self-resolved...

Thanks for the heads up! Definitely a huge annoyance for us

We still have the same issue with rke2 1.28.9. I think related to: https://github.com/rancher/rke2/issues/5866

Try removing the snapshots on all etcds and the snapshot configmap - disable auto snapshot - re-enable (without s3), wait for a few scheduled snapshots, they should show up eventually.  When I upgraded to 1.28, I had already disabled the auto snapshots and deleted the etcd snapshots on the nodes. Hopefully this resolves your issue.

@RegisHubelia thanks for your procedure, but i already did that and still after some time you get snapshots with 0 bytes.
Also occur on clean new installed clusters with 1.28.9.

We have a corn job  running this on each downstream rke2 until it’s ultimately fixedetcd snapshots showing 0B size in the Rancher UI |...suse.comOn Jun 20, 2024, at 10:09 AM, nickvth @.***> wrote:
@RegisHubelia thanks for your procedure, but i already did that and still after some time you get snapshots with 0 bytes.
Also occur on clean new installed clusters with 1.28.9.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

We have a cron job iterating through each rke2 downstream cluster updating the lease objects
https://www.suse.com/support/kb/doc/?id=000021447

Yhea - I can confirm, even tough it fixes it - after a while, the issue is back...  That workaround kubectl get lease -n kube-system rke2-etcd -o jsonpath='{.spec.holderIdentity}' | xargs -I {} kubectl patch lease -n kube-system  --patch='{"spec":{"holderIdentity":"{}"}}' --type=merge rke2; kubectl get lease -n kube-system -o custom-columns='name:.metadata.name,holder:.spec.holderIdentity' | grep rke2 - seems to work.

seems related

https://github.com/rancher/rancher/issues/45872
https://github.com/rancher/rancher/issues/40248


Allow for importing as a library

It could be interesting if other applications can import bashful as a library and use it instead of calling out to a binary in another shell.

Currently WIP with https://github.com/wagoodman/bashful/tree/refactor-with-lib ...


Make integration tests stricter

Looks like a fair number of tests does not refresh cleanly due to https://github.com/pulumi/pulumi-aws/issues/2246

Another big issue affecting refresh tests is https://github.com/pulumi/pulumi/issues/6235

https://github.com/pulumi/pulumi-aws/issues/3190 was concealed by lax testing options.

https://github.com/pulumi/pulumi-aws/blob/master/examples/cloudwatchOidcManual/index.ts#L25 cycles with non-empty preview because the token changes between program invocations. Interesting question here on whether the token should persist into the statefile at all.


Think about caching queries

The query from issue #94 takes a while (18 seconds) to run on 36M triples which take up 5.7 GB on disk. When I run it again, it takes a similar time (17 seconds).
Adding an option to cache query responses might help. Some other options with this:

Using the parsed version of the query to create the cache key
Possibly caching intermediate steps (e.g. a small set of frequently accessed triples)

Of course, caching adds a whole level of complexity and creates issues with invalidation and the consistency of the system. But it is probably good to think about for the future!

Caching is an hard problem indeed. I prefer to focus first on query optimizations that would also help for new queries and does not require to deal with invalidation. The query evaluator is not much optimized yet, there are still a lot of low hanging fruits (like #94) to do first imho.

A relevant paper: Semantics and Canonicalisationof SPARQL 1.1

What about no cache-as-a-feature? Keeping it small, simple, fast and efficient. The web frontend can have something like nginx in front of it to take care of caching. See https://en.wikipedia.org/wiki/Web_cache#Server-side_software

What about no cache-as-a-feature? Keeping it small, simple, fast and efficient. The web frontend can have something like nginx in front of it to take care of caching. See https://en.wikipedia.org/wiki/Web_cache#Server-side_software

I understand the desire to reduce the surface area that the database is responsible for. However the paper linked above describes a canonicalization algorithm that turns two SPARQL queries that are logically equivalent into identical strings.
Another issue for example is a situation where one query contains a subgraph that has already been computed. If Oxigraph did caching at the application level, it could run the normalization from the paper, recognize that a subgraph is in a cache map, retrieve the cached data for the subgraph, and then only have to process the rest of the query.
The issue with "dumb" caching is such logically equivalent or subgraph queries wouldn't be cached. Of course, this might not be an issue depending on the workload, and this definitely isn't a high priority feature at this stage, but I think it's worthwhile to consider for the future.

Yes, I agree that making Oxigraph as fast as possible without caching is the main goal. Cache would be only an optional workaround for intrinsically slow queries. If I have to prioritize, I would say this is a "post 1.0" feature.
However, if we want to have some query cache, Oxigraph is probably the best place for that because we could easily implement in it some kind of query canonicalization and reuse already cached subqueries/subgraphs. This might improve a lot the cache-hit ratio compared to a simple web frontend.

The nice thing about SPARQL is that we can use any HTTP caching service for it in front. As long as you send the same SPARQL query (as in the same hash) it would immediately return the result from the previous query. We use this in production and once you figure out how Varnish needs to be configured & send the right headers in the HTTP response, this works flawlessly. Tricky part is that Varnish is only caching GET requests by default so you need a VCL synth config for POST requests but it's not that hard to do. Will document that in our blog in the next weeks so others can see what we did.


Launch config for "chrome" looks to use incorrect node version with nvm.

Type: Bug
Hi all,
I'm recently having the following issue when upgrading from VS Code 1.79.2 -> v1.80.2.
I have a angular client project with the following launch config:
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "ng serve",
      "type": "chrome",
      "request": "launch",
      "trace": true,
      "preLaunchTask": "npm: serve",
      "url": "http://localhost:4200/",
      "webRoot": "${workspaceFolder}"
    }
}

The project contains a .nvmrc file which contains the correct version number for this project "v16.14.2".
As per the NVM docs I have a script in my .zshrc file which auto switches the node / npm version based on the existence of this file.
When opening the project I can confirm the integrated terminal and the system terminal both report the correct node version using "node -v".
After upgrading to VS Code v1.80.2 when I try to launch the debug config I get an error message related to unsupported SSL "ERR_OSSL_EVP_UNSUPPORTED" (as expected), but the error message states that this step in the build was run using a later version of node:
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v18.12.0

There have been no changes to the project files, or the NVM setup between upgrading VS Code.
I have rolled back to VS Code v1.79.2 and the project builds without issue.
I have launched VS Code without extensions, and I'm still seeing the issue.
I have also tried the latest VS Code Insiders version, and the issue persists.
I'm not sure if there is any config I need to change after upgrading?
Any help would be appreciated & if I can provide any more information please ask.
Version Info:
Version: 1.80.1 (Universal)
Commit: 74f6148eb9ea00507ec113ec51c489d6ffb4b771
Date: 2023-07-12T17:20:23.298Z
Electron: 22.3.14
ElectronBuildId: 21893604
Chromium: 108.0.5359.215
Node.js: 16.17.1
V8: <IP_ADDRESS>-electron.0
OS: Darwin arm64 22.5.0
VS Code version: Code 1.80.1 (Universal) (74f6148eb9ea00507ec113ec51c489d6ffb4b771, 2023-07-12T17:20:23.298Z)
OS version: Darwin arm64 22.5.0
Modes:

System Info

Item
Value

CPUs
Apple M1 Pro (8 x 24)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
4, 3, 3

Memory (System)
16.00GB (0.64GB free)

Process Argv
--crash-reporter-id abca7518-f9f8-461a-bb57-def014080292

Screen Reader
no

VM
0%

Extensions: none
A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492cf:30256860
vslsvsres303:30308271
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscorecescf:30445987
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593cf:30376535
pythonvs932:30410667
py29gd2263:30792226
vscaac:30438847
vsclangdc:30486549
c4g48928:30535728
dsvsc012cf:30540253
pynewext54:30695312
azure-dev_surveyone:30548225
3biah626:30602489
pyind779:30671433
f6dab269:30613381
pythonsymbol12:30671437
showlangstatbar:30737416
vsctsb:30748421
pythonms35:30701012
03d35959:30757346
pythonfmttext:30731395
pythoncmv:30756943
fixshowwlkth:30771522
showindicator:30785052
pythongtdpath:30769146
i26e3531:30792625
pythonnosmt12:30779714
pythonidxpt:30784022
pythonnocebcf:30776496
h7j2d465:30786200
dsvsc013:30789517
dsvsc014:30791935

It seems like you're saying the version of npm in the prelaunch task is wrong

I'm not really sure if its the pre launch version thats wrong, if theres anything I can do to confirm, please let me know.
Just to confirm, I can check the version of node thats currently "in use" by checking in in the VS code terminal, and in the system terminal, which chows the version i expect (v16.14.2), but when clicking the "play" button to launch the interactive debugger, it triggers a build, but the build fails as the version of node it seems to be using is a later version (which I have installed, but not "active" with NVM).
This didn't happen in VS code v1.79.2
Again, if its a config change I need to make or if theres any more info I can produce, let me know,
Thanks

see https://github.com/microsoft/vscode/issues/187332#issuecomment-1710900350, seems like the same issue


Make txpool independent of hard coded consensus types

txpool, still has a hard requirement on reth-primitives::Transaction
ideally this should just operate on traits, we already made some progress on this but requires a bit more work

this is actually completed


Hash-based challenge parts navigation

Choo choo! :steam_locomotive:
In response to #1319, I'm giving a go at implementing hash-based navigation between challenge parts. This would allow us to reference a specific challenge part by its URL. Example: https://thecodingtrain.com/challenges/40-word-counter#part-3.
A few observations on my current implementation :

/challenges/40-word-counter takes us to the 1st part of the challenge
/challenges/40-word-counter#part-1 takes us to the 1st part of the challenge
/challenges/40-word-counter#part-2 takes us to the 2nd part of the challenge
/challenges/40-word-counter#part-3 takes us to the 3rd part of the challenge

Whatever hash value is passed to the URL by the user, the URL is not modified (unless we click on another part link or prev/next button of course) :

/challenges/40-word-counter#part-42 takes us to the 3rd (last) part of the challenge (#part-42 stays in the URL)
/challenges/40-word-counter#part-abc takes us to the 1st part of the challenge (#part-abc stays in the URL)

I added this on challenge and track pages containing multi-part challenges.
Previews :

https://deploy-preview-1380--codingtrain.netlify.app/challenges/40-word-counter
https://deploy-preview-1380--codingtrain.netlify.app/tracks/games/72-frogger#part-3

I'm still working on cleaning up some of the code. I welcome any feedback on this feature :grinning:

I haven't reviewed the code closely, but I've tested out the implementation in the deploy branch and I think it's working terrifically!  Maybe @fturmel or @dipamsen might have a few minutes to take a look at the code?

Thanks @shiffman, I made a finishing touch to the code/documentation and marked this PR as ready for review :smiley:

Fantastic job @loic-brtd, especially noticing the track stops behavior!
I've noticed two things:

There's a a regression in the mobile view. When you open the panel to navigate between parts, when selecting one the panel doesn't close anymore.
I personally might prefer getting rid of #part-1 since it is equivalent to not having an anchor at all

Good stuff!

Thanks @fturmel !

There's a a regression in the mobile view. When you open the panel to navigate between parts and select one, the panel doesn't close anymore. Same issue in tracks.

Good catch! I'm gonna fix this.

I personally might prefer getting rid of #part-1 since it is equivalent to not having an anchor at all

Why not :) I'd like to have multiple opinions on this

@fturmel Btw I just noticed that even on the live website (main branch), the timeline doesn't close on mobile in tracks. Seems like I forgot to handle that case when implementing the feature back then (#743) :upside_down_face: . Anyway, I pushed a fix :smiley:

I think I would agree that the main link to the challenge should just default to part 1 and a separate #part-1 is not needed! However, I'm fine with both working!

@fturmel @shiffman I removed #part-1 in links for the first part of challenges.
I also simplified the logic : if the URL hash value matches #part-{partNumber} where 1 <= partNumber <= number of parts then we're taken to this part, else we're taken to the first part.

This is incredible work, thank you for your contribution @loic-brtd! Thrilled to merge this (and thank you for your patience!)


Online or Offline?

Is the algorithm offline or online? What I wonder is the training dataset is fixed or generated before each epoch.

I find some of the descriptions in your paper mismatches your code. Specifically, in your arxiv v3, it seems that the sampling and judgement procedures are in the training loop, which is indicated in line 3~22 in Algorithm 1 and line 4~6 in Section 5.2. However, in your code, the sampling and judgement procedures are separately ahead of the training procedure, and the model is fine-tuned using a fixed dataset. Is there any information I am missing? Thank you for your time!

That makes sense. Thank you very much. By the way, have you conducted any experiments to compare the iterative N-round online approach with a totally offline approach as Diffusion-DPO utilizes? I doubt the necessity of this configuration since it is more time-consuming.

I'm sorry that I haven't conducted comparative experiments related to Diffusion-DPO. The idea behind D3PO is that all data is generated by the model, whereas Diffusion-DPO still requires a pre-existing dataset, which creates a certain gap between the two. You might try updating only one step in the denoising process for each sample to align the speed more closely with Diffusion-DPO. Currently, I am engaged in other reinforcement learning research projects, so I apologize for not being able to conduct further experiments.

I understand. My concern has been addressed and I will close this issue. Thank you for your time.


Alpha channel for text (font)

[ x] I agree to follow the Code of Conduct that this project adheres to.
[ x] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Is your feature request related to a problem? Please describe.
I would like to have alpha channels on fonts to adjust transparency on text. For example if you want to watermark something or have a transparent text.
As far as I know is it possible to have an alpha on shapes but not on fonts.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Basically use css syntax either hey code with the last two digets for alpha (#9999997d grey with 50% alpha) or rgba() values
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Maybe there is already a way an I just don't know it.
Additional context
Add any other context or screenshots about the feature request here.

Text opacity should work:


Fix ramp for categories

Fix for https://github.com/CartoDB/carto-vl/issues/779
The first idea was to use hashing, but since it caused some issues (similar colors being assigned in some cases, randomly of course) I moved to this approach of "translating".
This approach is based on translating ID of categories (that identify any category of any property) to values in the [0,1] range that is spread to match the categories of the particular property that is being used on the ramp expression.
If we have categories "A", "B", "C",  "Madrid", "London" and "NY" in two properties "type" and "city" and we ramp by city like ramp($city, bold) the translating approach will translate the global unique identifiers of "Madrid", "London" and "NY" to values 0, 0.5 and 1. These values are used to look up in the color texture.
Previously:

This is an important breaking change, we should be careful and use a good hashing function before merging since future changes there will imply new breaking changes.

Ramp hash initial implementation
Review or rewrite hash/PRNG function
Fix ramp with classifiers

@elenatorro could you re-review this? I made some changes to address some of the points.

LGTM :)