Mesh export error (what tag am I missing?)

summary

Mesh exporting failed

reproduction of the error

successfully run the quick start command to generate pointcloud.ply file.

tried Mesh export command causes following error :
python launch.py --config custom/threestudio-gaussiandreamer/configs/gaussiandreamer_mvdream.yaml --export --gpu 0<EMAIL_ADDRESS>system.exporter_type=mesh-exporter system.geometry.isosurface_method=mc-cpu system.geometry.isosurface_resolution=256

Import times for custom modules:
   0.0 seconds (IMPORT FAILED): custom/shap-e
   0.0 seconds: custom/threestudio-mvdream
   0.1 seconds: custom/threestudio-dreamcraft3D
   0.1 seconds: custom/threestudio-shap-e
   0.6 seconds: custom/threestudio-lrm
   1.0 seconds: custom/threestudio-gaussiandreamer

Traceback (most recent call last):
  File "/home/dreamer/threestudio/launch.py", line 301, in <module>
    main(args, extras)
  File "/home/dreamer/threestudio/launch.py", line 163, in main
    cfg = load_config(args.config, cli_args=extras, n_gpus=n_gpus)
  File "/home/dreamer/threestudio/threestudio/utils/config.py", line 113, in load_config
    scfg = parse_structured(ExperimentConfig, cfg)
  File "/home/dreamer/threestudio/threestudio/utils/config.py", line 127, in parse_structured
    scfg = OmegaConf.structured(fields(**cfg))
  File "/home/dreamer/.local/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 375, in __getitem__
    self._format_and_raise(key=key, value=None, cause=e)
  File "/home/dreamer/.local/lib/python3.10/site-packages/omegaconf/base.py", line 231, in _format_and_raise
    format_and_raise(
  File "/home/dreamer/.local/lib/python3.10/site-packages/omegaconf/_utils.py", line 899, in format_and_raise
    _raise(ex, cause)
  File "/home/dreamer/.local/lib/python3.10/site-packages/omegaconf/_utils.py", line 797, in _raise
    raise ex.with_traceback(sys.exc_info()[2])  # set env var OC_CAUSE=1 for full trace
  File "/home/dreamer/.local/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 369, in __getitem__
    return self._get_impl(key=key, default_value=_DEFAULT_MARKER_)
  File "/home/dreamer/.local/lib/python3.10/site-packages/omegaconf/dictconfig.py", line 451, in _get_impl
    return self._resolve_with_default(
  File "/home/dreamer/.local/lib/python3.10/site-packages/omegaconf/basecontainer.py", line 96, in _resolve_with_default
    raise MissingMandatoryValue("Missing mandatory value: $FULL_KEY")
omegaconf.errors.MissingMandatoryValue: Missing mandatory value: tag
    full_key: tag
    object_type=dict

You might remove all system-related parameters and try again.
See the example provided in threestudio-3dgs: python launch.py --config path/to/config --export --gpu 0 system.prompt_processor.prompt="a delicious hamburger" resume=path/to/last.ckpt

Thank you for the reply, but encountered another error :

command I've run :
python launch.py --config<EMAIL_ADDRESS>--export --gpu 0<EMAIL_ADDRESS>system.prompt_processor.prompt="a blue denim jacket"

the error message :
Traceback (most recent call last):
  File "/home/dreamer/threestudio/launch.py", line 301, in <module>
    main(args, extras)
  File "/home/dreamer/threestudio/launch.py", line 259, in main
    trainer.predict(system, datamodule=dm, ckpt_path=cfg.resume)
  File "/home/dreamer/.local/lib/python3.10/site-packages/pytorch_lightning/trainer/trainer.py", line 864, in predict
    return call._call_and_handle_interrupt(
  File "/home/dreamer/.local/lib/python3.10/site-packages/pytorch_lightning/trainer/call.py", line 44, in _call_and_handle_interrupt
    return trainer_fn(*args, **kwargs)
  File "/home/dreamer/.local/lib/python3.10/site-packages/pytorch_lightning/trainer/trainer.py", line 903, in _predict_impl
    results = self._run(model, ckpt_path=ckpt_path)
  File "/home/dreamer/.local/lib/python3.10/site-packages/pytorch_lightning/trainer/trainer.py", line 987, in _run
    results = self._run_stage()
  File "/home/dreamer/.local/lib/python3.10/site-packages/pytorch_lightning/trainer/trainer.py", line 1028, in _run_stage
    return self.predict_loop.run()
  File "/home/dreamer/.local/lib/python3.10/site-packages/pytorch_lightning/loops/utilities.py", line 182, in _decorator
    return loop_run(self, *args, **kwargs)
  File "/home/dreamer/.local/lib/python3.10/site-packages/pytorch_lightning/loops/prediction_loop.py", line 130, in run
    return self.on_run_end()
  File "/home/dreamer/.local/lib/python3.10/site-packages/pytorch_lightning/loops/prediction_loop.py", line 202, in on_run_end
    results = self._on_predict_epoch_end()
  File "/home/dreamer/.local/lib/python3.10/site-packages/pytorch_lightning/loops/prediction_loop.py", line 368, in _on_predict_epoch_end
    call._call_lightning_module_hook(trainer, "on_predict_epoch_end")
  File "/home/dreamer/.local/lib/python3.10/site-packages/pytorch_lightning/trainer/call.py", line 157, in _call_lightning_module_hook
    output = fn(*args, **kwargs)
  File "/home/dreamer/threestudio/threestudio/systems/base.py", line 332, in on_predict_epoch_end
    exporter_output: List[ExporterOutput] = self.exporter()
  File "/home/dreamer/threestudio/custom/threestudio-gaussiandreamer/geometry/exporter.py", line 35, in __call__
    mesh: Mesh = self.geometry.extract_mesh()
  File "/home/dreamer/threestudio/custom/threestudio-gaussiandreamer/geometry/gaussian_io.py", line 268, in extract_mesh
    occ = self.extract_fields(resolution).detach().cpu().numpy()
  File "/home/dreamer/.local/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/home/dreamer/threestudio/custom/threestudio-gaussiandreamer/geometry/gaussian_io.py", line 247, in extract_fields
    w = gaussian_3d_coeff(
NameError: name 'gaussian_3d_coeff' is not defined

Hey @cxh0519
I noticed this too, where did you get this code from? Looks like this function is missing.

Hey @cxh0519 and @hayoung-jeremy
It was just a missing function from DreamGaussian, I was able to fix that here:
https://github.com/cxh0519/threestudio-gaussiandreamer/pull/8

Thank you for the reply @codyreading , below is the mesh export command after applying your pull request, and the result message :
python launch.py --config<EMAIL_ADDRESS>--export --gpu 0<EMAIL_ADDRESS>system.exporter_type=mesh-exporter system.exporter.context_type=cuda

the result message :
[INFO] Loaded Multiview Diffusion!
[INFO] Using prompt [a blue denim jacket] and negative prompt [ugly, bad anatomy, blurry, pixelated obscure, unnatural colors, poor lighting, dull, and unclear, cropped, lowres, low quality, artifacts, duplicate, morbid, mutilated, poorly drawn face, deformed, dehydrated, bad proportions, unfocused]
[INFO] Using view-dependent prompts [side]:[a blue denim jacket, side view] [front]:[a blue denim jacket, front view] [back]:[a blue denim jacket, back view] [overhead]:[a blue denim jacket, overhead view]
[INFO] GPU available: True (cuda), used: True
[INFO] TPU available: False, using: 0 TPU cores
[INFO] IPU available: False, using: 0 IPUs
[INFO] HPU available: False, using: 0 HPUs
[INFO] You are using a CUDA device ('NVIDIA A100-SXM4-40GB') that has Tensor Cores. To properly utilize them, you should set `torch.set_float32_matmul_precision('medium' | 'high')` which will trade-off precision for performance. For more details, read https://pytorch.org/docs/stable/generated/torch.set_float32_matmul_precision.html#torch.set_float32_matmul_precision
[INFO] Restoring states from the checkpoint path at<EMAIL_ADDRESS>[INFO] Number of points at initialisation:334614
[INFO] LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]
[INFO] Loaded model weights from the checkpoint at<EMAIL_ADDRESS>/home/dreamer/.local/lib/python3.10/site-packages/pytorch_lightning/trainer/connectors/data_connector.py:441: The 'predict_dataloader' does not have many workers which may be a bottleneck. Consider increasing the value of the `num_workers` argument` to `num_workers=29` in the `DataLoader` to improve performance.
Predicting DataLoader 0:   0%|                                                                                | 0/120 [00:00<?, ?it/s]/home/dreamer/.local/lib/python3.10/site-packages/pytorch_lightning/loops/prediction_loop.py:255: predict returned None if it was on purpose, ignore this warning...
Predicting DataLoa/home/dreamer/.local/lib/python3.10/site-packages/torch/functional.py:507: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3549.)0:07<00:00, 15.84it/s]  return _VF.meshgrid(tensors, **kwargs)  # type: ignore[attr-defined]
16it [00:12,  1.33it/s]
[INFO] mesh cleaning: (55622, 3) --> (39172, 3), (112100, 3) --> (79397, 3)
[INFO] marching cubes result: torch.Size([39172, 3]) (-0.6717594861984253-0.6467556357383728), torch.Size([79397, 3])
Predicting DataLoader 0: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 120/120 [00:25<00:00,  4.65it/s][INFO] Export assets saved to outputs/gs-sds-mvdream/a_blue_denim_jacket@20240412-015957/save

result

Thanks to @codyreading , I finally got the result .obj file, but no texture, no vertex color at all.
result :

Hey @hayoung-jeremy
Yeah I took a look at the implementation, I don't think the textured mesh is implemented at all.
I believe it is a part of the DreamGaussian codebase so it can be brought over.

Also note that the system.exporter_type=mesh-exporter system.exporter.context_type=cuda in your command is being ignored.

I meet the same problem, and the terminal returns an error message:
AttributeError: 'GaussianBaseModel' object has no attribute 'isosurface'
then I remove these 2 command as below:
                // "system.geometry.isosurface_method=mc-cpu",
                // "system.geometry.isosurface_resolution=256"

It runs successfully, but the mesh result is not good.
How can I export a high-resolution mesh?


Issue216: Revamp test support code

Fixes #216
3 first commits would fix #209. The improvement is not that much.
It fixes part of #170, we could solve what is missing in other PRs.
Sorry for the big and not detailed commits.

Ops, i still need to fix some tests

now is ready for comments/merge

After thinking about it some more, I've decided I'm fine with the code the way it is. Merging.


Guidance to use DIFx appears to contradict deprecation

According to this page, "Starting in Windows 10 Version 1607 (Redstone 1), the Driver Install Frameworks (DIFx) tools are no longer included in the WDK. Instead, we recommend providing your driver as a standalone package that doesn't require an installer, ideally through Windows Update."
This page says, "An installation application should use the DIFx tools if they provide the functionality that the installation application requires."
It would be helpful if documentation could be updated to provide an unambiguous and consistent direction for driver developers tasked with creating installers.

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

ID: 6ccc69b6-caab-763b-22d3-b3815eb4e54c
Version Independent ID: 3b05505b-223b-31a5-74aa-b143d24c166d
Content: SetupAPI Functions that Simplify Driver Installation
Content Source: windows-driver-docs-pr/install/setupapi-functions-that-simplify-driver-installation.md
Product: windows-hardware
GitHub Login: @tedhudek
Microsoft Alias: windowsdriverdev

Thanks for the feedback @druske I've removed the reference to Difx.  The update will be live momentarily


Importing WooCommerce sample products and WooCommerce pages

In docker compose it's like this :
echo "Installing WooCommerce pages…"
wp wc tool run install_pages --user=admin
echo "Importing WooCommerce sample products…"
wp import wp-content/plugins/woocommerce/sample-data/sample_products.xml --authors=skip
Transform this to install sample product in init.sh.

see : https://github.com/woocommerce/woocommerce/issues/18302

curl -L https://raw.githubusercontent.com/woocommerce/woocommerce/master/sample-data/sample_products.xml -o sample_data_new.xml
wp import sample_data_new.xml --authors=create


How to organize the KITTI-360 dataset?

Thanks for your great work! I want to train your model on the KITTI-360 dataset. I download the dataset following this, and run the code match_kitti_360_stereo.py. However, it does not work. So I want to ask how to organize the KITTI-360 dataset and output their depth.

It appears that the SSCBench-KITTI-360 dataset has updated the stereo images in recent commits. As a result, you can simply follow the same pre-processing steps of stereo depth estimation for SemanticKITTI, with the exception of adapting the disparity value.
Note that the match_kitti_360_stereo.py script is intended to find matched stereo pairs, which was previously necessary when these pairs were not provided.

Thank you for your reply! I'll take a try.


Add transformers into requirements.txt

examples/bert.py needs the package.

/cc @silvasean for his opinion.  My gut instinct is that we don't want to install packages just because a particular example depends on it, but I'm not sure what a better approach would be to have a self-contained example.  Perhaps these sorts of examples should just strictly be colabs that include the necessary package installation steps?

Maybe we could have an examples-requirements.txt that folks could install if they also want to run the examples?


TypeError on commit after any change to .ts file in packages/hardhat

Is there an existing issue for this?

[X] I have looked through the existing issues

Which method was used to setup Scaffold-ETH 2 ?
npx create-eth@latest
Current Behavior
Running into this TypeError when making any change (including just a comment) to any of the typescript files in the packages/hardhat folder
[ test ] $ git commit -m 'test deploy script change'
✔ Preparing lint-staged...
❯ Running tasks for staged files...
  ❯ .lintstagedrc.js — 1 file
    ↓ packages/nextjs/**/*.{ts,tsx} — no files [SKIPPED]
    ❯ packages/hardhat/**/*.{ts,tsx} — 1 file
      ✖ yarn hardhat:lint-staged --fix deploy/00_deploy_your_contract.ts [FAILED]
↓ Skipped because of errors from tasks. [SKIPPED]
✔ Reverting to original state because of errors...
✔ Cleaning up temporary files...

✖ yarn hardhat:lint-staged --fix deploy/00_deploy_your_contract.ts:

Oops! Something went wrong! :(

ESLint: 8.26.0

TypeError [ERR_INVALID_ARG_TYPE]: Error while loading rule '@typescript-eslint/no-unnecessary-type-constraint': The "path" argument must be of type string. Received undefined
Occurred while linting /home/matthu/Desktop/test/packages/hardhat/deploy/00_deploy_your_contract.ts

Expected Behavior
Since only adding a comment to a deploy script and/or hardhat.config.ts, I expected no TypeError that blocks me from committing changes
Steps To Reproduce

npx create-eth@latest
choose hardhat framework
install packages
make any change to any .ts file in the packages/hardhat folder ( including just a comment in the deploy script for example )
stage and commit the change

Anything else?

Started happening about 2 weeks ago
Happens to me on both my desktop and laptop, both of which run Ubuntu 22.04.3
Using node v18.18.2

Thanks @MattPereira for raising the issue !
Seem like something is broke with @typescript-eslint/parser  it is not being compatible with eslint 8.26.0

We should probably fix the version from latest => ~6.7.3

Will create a PR for this 🙌

Should be fixed in latest version which was just published https://github.com/scaffold-eth/scaffold-eth-2/releases/tag/v0.0.35
It should now work fine with npx create-eth@latest
Closing this for now, but please free to open new issue you again face the issue 🙌


can i get the from language in any way ?

hello!
im coding something for myself and i have someneed i wish you to informate me :)
so in first , is it possible to autodetect the language source but to recuperate the language source name in any case ?
and secundo is it possible to :
i give a word random, its give me the translation if different from the Input . but iwould its continue search traduction for this word while the trad is something identic. but only in autodetectlanguage and give me the result when its not the same than input .Thanks you 🦋

@NatHsn26 Hi ;) I'm not sure I understand what you mean. If you get a translation for a word, then it will be probably not the same as the source. If yes then the translation would be wrong. In this case why would you try and translate it again?
Can you clarify more what you are trying to do

Good evening !Yes sure let's talk later im tired of my day its late where i am living. Have a great day :)

Hello, i dont get enough time for myself to check all my conversation I got problem at home , all my excuses really.
Well im not native english but if i understand good what i wrote it’s dont mean anything lol 📚🌪 so i reformule again ;
Im for the moment using an other translator.
First problem i got is i cant get the language detected , to say for example, the word mean « » in french and input was given in Chinese. I solved this problem with IsDetailResult , and by browsing the huge result to search the abbreviation in that string .
-I was first wondering if your framework is able to do the same ?
And finally that is the incomprehensible part of my first message :
i would get the translation in french and know the language source , but i would also know this language source to again find a translation for the first input, by excepting the first detected_lang.
So its could say me that a word have been detected as english and mean « », run again but dont count english so its’d say me it also a Hungarian word and mean « »... and all this while the result reach an ‘unknow error’(No more language source detected i mean so).
on the other translators i am using with python ,when isdetailresult is True , even if the word mean nothing , its will fullfill with a «random? » language to try it , but it seem there is no way to test other language with autodetect,by using an except language .
i hope it’s understandable, 🤝


Why Executing (checking) condition inside $if when $onlyIf denies the execution of whole code?

because v4 $if's conditions executes before any function in your code

This doesn't helps in any way

This doesn't helps in any way

it does
thats how u are able to use functions in v4 if

its basically
$if[1==1]
hi
$else
bye
$endif
first v4 if executes and check each condition then replace
whole
$if[.....]
.....
$endif
some other code here

with the true condition's code
so the code becomes
hi
some other code here

thats how it works

Is there any to avoid it? Without using V5 if coz it doesn't supports functions inside it.

then dont use $get
plus ur v4 if can easily be converted to v5 if

cause 90% of v4 if code are convertable to v5 if code

Solved.


Bug fix bloom filter size error on rf merge

Proposed changes
fix bloom filter size error on rf merge
W20240424 11:28:56.826277 3494287 ref_count_closure.h:80] RPC meet error status: [INVALID_ARGUMENT]PStatus: (<IP_ADDRESS>)[INVALID_ARGUMENT]bloom filter size not the same: already allocated bytes 65536, expected allocated bytes 32768

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall


[UPDATE WEB APP GUIDE] Push RTL to v0.13.3

What
Push RTL to version 0.13.3.
Why

Keep up to latest version. Different installation commands used.
Use LTS version (currently v18) of Node.js

Scope

[ ] significant change to core configuration
[ ] independent bonus guide
[x] simple guide update

New release: https://github.com/Ride-The-Lightning/RTL/releases/tag/v0.13.4


enhance support two special format for str_to_date

Proposed changes
Issue Number: close #xxx
mysql> select str_to_date('2023','%Y');
+---------------------------+
| str_to_date('2023', '%Y') |
+---------------------------+
| 2023-01-01                |
+---------------------------+

mysql> select STR_TO_DATE('2023-12', '%Y-%m');
+---------------------------------+
| str_to_date('2023-12', '%Y-%m') |
+---------------------------------+
| 2023-12-01                      |
+---------------------------------+

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Update fortisase-sia-tutorial.md

I am the QA manager for FortiSASE. We renamed the product from FortiSASE SIA to just FortiSASE. The name of the app in the Azure store will change soon, so need the docs updated to reflect this change too.

@brizvi : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#label:"aq-pr-triaged"

@brizvi We made suggested name change in the tutorial in another PR. Please submit an update request from our Microsoft Application Network portal to rename an existing application into the gallery.
Please let us know if you face any access related issue.

#please-close

#please-close


*Manager classes lack cancellation support

The I*Store interfaces (IUserPasswordStore<TUser>, IUserEmailStore<TUser>, IUserClaimStore<TUser>, IRoleClaimStore<TRole>, etc.) provide cancellation support by supporting a CancellationToken, ie. in case the connection to the database time out.
However, this is not exposed by the Manager classes, so a canceled HTTP request cannot cancel the database access.

Identity uses the RequestAborted cancellationToken from HttpContext by default, you can replace it with a different one by setting the property in 2.0 with a custom manager https://github.com/aspnet/Identity/blob/dev/src/Microsoft.Extensions.Identity.Core/UserManager.cs#L52

Given the line linked, it looks like it uses CancellationToken.None my default; it doesn't look like the code has changed since @HaoK's comment, either.
I'm curious on the design decision here as opposed to having default parameters of CancellationToken cancellationToken = default(CancellationToken) that I see in most other areas of the framework. Can someone enlighten me? Thanks in advance!
I also imagine that it's more common to have multiple CancellationToken sources than to provide a custom manager, and it feels heavy-handed to do so.


Tcam to Sram tableMapping

This PR will add the feature table mapping for OpenTCAM. Currently, table mapping only supports 0,1 values only. dont care support is a work in progress.
Following changes were made.

created py class TableMapping.
created py file compiler/src/main.py.
created yaml config tcamTables.
created script install_iverilog.sh, install_yosys.sh, setup_vars.sh.
created .pylintrc config file.
improved script setup_venv.sh.

@sajjadahmed677 run it with the instructions given so I can make sure it works. If Yes I'll merge it.
Thanks

Hi @usman1515,
I have gone through the tables generated by configs tcamtable1 and tcamtable3 and both looks correctly mapped. but i am getting an error with table2. here it is.
  File "/home/damru/github_repos/usman/OpenTCAM/compiler/src/main.py", line 93, in <module>
    main()
  File "/home/damru/github_repos/usman/OpenTCAM/compiler/src/main.py", line 73, in main
    tm1.mapTCAMtoSRAM()
  File "/home/damru/github_repos/usman/OpenTCAM/compiler/src/tableMapping.py", line 300, in mapTCAMtoSRAM
    rowIndx = tempSRAMTable.index[tempSRAMTable['Addresses']==tempSQ].to_list()[0]
IndexError: list index out of range
make: *** [Makefile:35: runopentcam] Error 1```

Hi @sajjadahmed677,
As of now tcamtable2 isn't supported because it has 'bx values. Currently tableMapping only supports 0s and 1s. X mapping will be added in future PR.
Otherwise, since all else is good I am merging the PR.

Alright,


"Need financial assistance?" link on the checkout page

When we did issue #677 / PR #764 it looks like we overlooked the last item on the list, possibly because I forgot to link to InVision.

"Need financial assistance?" link on the checkout page

Designs and Mockups
https://projects.invisionapp.com/d/main?origin=v7#/console/21535972/462885073/preview
note the link in the top right
Acceptance Criteria:

[ ] The link should only be available when the course in question offers flexible pricing / financial assistance
[ ] The link should not display if the learner has already been approved for financial assistance
[ ] The link should go to the appropriate flexible pricing form for the current course

@pdpinch can you please verify if these screenshots meet the requirements?

It's not a blocker, but in the mobile view:

Why does the "need financial assistance link?" move after the "Help and FAQ" ?
In any case, can it be right aligned?


New version: utools.utools version 2.4.3

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[X] Does your manifest conform to the 1.0 schema?

Microsoft Reviewers: Open in CodeFlow

/azp run


Migrate CLX DGA Detection

Description

Migrate code, notebook, dataset for CLX DGA Detection
Remove references to CLX
Example Morpheus pipeline
Triton model repo with ONNX model
Fix bug in existing code caused by upstream cudf updates
Add new training and validation data
Merge version updates from PR #49
Remove cuml dependency so scripts/notebooks can also be run in Morpheus container

Task from https://github.com/nv-morpheus/Morpheus/issues/508
Checklist
[x] I am familiar with the Contributing Guidelines.
[x] New or existing tests cover these changes.
[x] The documentation is up to date with these changes.

/merge

/merge

/merge


My List's "Order by Date" for non-event data

Suggested enhancement from @jessnoo - When the search layer doesn't have a date field, "Order by Date" in My List doesn't make sense.  Perhaps for non-event features, it should be changed to "Order by Name", or the text could be removed altogether.

We will only be making bug fixes at this time.  No action required.


Suggestions for the figure labels

If these are acceptable, please update the references to the labels in the example notebook. (Also rerun the notebook)

I think the suggestion looks good, and I'm open to any other changes if anyone wants to suggest otherwise (but the suggested figure labels in this commit all sound clear to me)


Hosting best-known solutions of benchmark instances

Hi all, just came across this library by coincidence. Great to see this effort to make a benchmark repository! I'm working on flexible job shop scheduling problems and flow shop problems for my own research.
One major difficulty I have is that most papers/repositories don't store their solutions but only report the best-found value. This makes it hard to verify their results. In vehicle routing, we have e.g., CVRPLIB which maintains the best-known solutions for CVRP and VRPTW. We also try to do that for prize-collecting VRP here.
Are there any plans from your side to host the best-known solutions? Happy to contribute as well.

Hi, thanks for reaching out! We are definitely considering this, as it would also be a very natural step forward for this project.
I would like to hear your thoughts on this - I will reach out to you via email.
Best,
Robbert


Mark integration tests

Hi! When trying to package 0.4.31 for Arch Linux I noticed, that I could run some tests now.
Unfortunately they all seem to be integration tests, that require a hardware token to be around.
python-pynitrokey-0.4.31-1-x86_64-check.log
It would be great if these could be marked as integration tests (e.g. use pytest.mark) or to skip them if no device was found.
That way downstreams can run unit tests (I guess there are none currently :smiling_face_with_tear: ) on the implementation of pynitrokey, without requiring a hardware token to be present.
Going forward it would be great to have a high unit-test coverage on the code base, to ensure its robustness.

Hi!
Good point. I have not expected these will be executed automatically during the build. To correct.


cannot found cudatoolkit(12.1) when install it via conda in dockerfile.python

=> ERROR [6/9] RUN conda install -y -c rapidsai -c conda-forge -c nvidia cudatoolkit=12.1 cuml=23.08     && c  393.8s

[6/9] RUN conda install -y -c rapidsai -c conda-forge -c nvidia cudatoolkit=12.1 cuml=23.08     && conda clean --all -f -y:
#5 1.045 Collecting package metadata (current_repodata.json): ...working... done
#5 73.24 Solving environment: ...working... unsuccessful initial attempt using frozen solve. Retrying with flexible solve.
#5 73.24 Collecting package metadata (repodata.json): ...working... done
#5 387.6 Solving environment: ...working... unsuccessful initial attempt using frozen solve. Retrying with flexible solve.
#5 387.6
#5 387.6 PackagesNotFoundError: The following packages are not available from current channels:
#5 387.6
#5 387.6   - cudatoolkit=12.1
#5 387.6
#5 387.6 Current channels:
#5 387.6
#5 387.6   - https://conda.anaconda.org/rapidsai/linux-64
#5 387.6   - https://conda.anaconda.org/rapidsai/noarch
#5 387.6   - https://conda.anaconda.org/conda-forge/linux-64
#5 387.6   - https://conda.anaconda.org/conda-forge/noarch
#5 387.6   - https://conda.anaconda.org/nvidia/linux-64
#5 387.6   - https://conda.anaconda.org/nvidia/noarch
#5 387.6   - https://repo.anaconda.com/pkgs/main/linux-64
#5 387.6   - https://repo.anaconda.com/pkgs/main/noarch
#5 387.6   - https://repo.anaconda.com/pkgs/r/linux-64
#5 387.6   - https://repo.anaconda.com/pkgs/r/noarch

According to the RAPIDS selector: https://docs.rapids.ai/install
try conda install -y -c rapidsai -c conda-forge -c nvidia  cuml=23.08 cuda-version=12.0

okay, thanks for your information.
Shall we going to modify the Dockerfile.python?

Yes.  We should switch to cuda-version from cudatoolkit.  Was already done in the ci/Dockerfile.

2895.6
2895.6 Package cuda-version conflicts for:
2895.6 cuda-version=12.1
2895.6 cuml=23.10 -> cuda-version[version='>=11,<12.0a0|>=12,<13.0a0|>=12.0,<13']
2895.6 cuml=23.10 -> cupy[version='>=12.0.0'] -> cuda-version[version='10.2.|11.0.|>=11.2,<12|11.1.*']The following specifications were found to be incompatible with your system:
2895.6
2895.6   - feature:/linux-64::__glibc==2.31=0
2895.6   - cuml=23.10 -> __glibc[version='>=2.17,<3.0.a0']
2895.6   - cuml=23.10 -> cupy[version='>=12.0.0'] -> __glibc[version='>=2.17']
2895.6   - python=3.9 -> libgcc-ng[version='>=10.3.0'] -> __glibc[version='>=2.17']
2895.6
2895.6 Your installed version is: 2.31
2895.6
2895.6

seems like cuml required cuda<12.0.  Is that a know limitation ?

cuml is compatible with cuda 12.0   cuda-version=12.0 should work in the conda install command.

Okay,  does cuml compatible with cuda 12.1+?  Is this requirment make sense still?

I think using cuda-version=12.0 may be more stable, as it is specified in cuml repository and tested: https://github.com/rapidsai/cuml/blob/branch-23.12/conda/environments/all_cuda-120_arch-x86_64.yaml
Is there any problem using cuda-version=12.0 in the conda install command?

using cuda-version=12.0 is OK, but i am wondering if we can use latest cuda version in future.


brew cleanup --git-gc

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[ ] Have you successfully run brew tests with your changes locally?

I have been trying to free up some space on my Mac and I saw that my Homebrew .git directories were taking up a few hundred MB. I was hoping git gc would free up more space, so I was a little bit disappointed. But in any case I think it may be worth considering adding this to make it easier for users to do it themselves.
What I ran before I wrote this:
$ cd /usr/local/Homebrew
$ find . -name .git | xargs du -hs
1.1M  ./Library/Taps/heroku/homebrew-brew/.git
 74M  ./Library/Taps/homebrew/homebrew-core/.git
182M  ./Library/Taps/homebrew/homebrew-cask/.git
4.9M  ./Library/Taps/homebrew/homebrew-bundle/.git
1.5M  ./Library/Taps/homebrew/homebrew-services/.git
240M  ./Library/Taps/caskroom/homebrew-cask/.git
1.3M  ./Library/Taps/aws/homebrew-tap/.git
 50M  ./.git
$ find . -name .git | xargs -I % git -C % gc
$ find . -name .git | xargs du -hs
152K  ./Library/Taps/heroku/homebrew-brew/.git
 48M  ./Library/Taps/homebrew/homebrew-core/.git
173M  ./Library/Taps/homebrew/homebrew-cask/.git
1.4M  ./Library/Taps/homebrew/homebrew-bundle/.git
236K  ./Library/Taps/homebrew/homebrew-services/.git
237M  ./Library/Taps/caskroom/homebrew-cask/.git
300K  ./Library/Taps/aws/homebrew-tap/.git
 43M  ./.git

And now I would just need to run brew cleanup --git-gc.
If this functionality is desired and the code looks good, then I can try to add a test. Let me know what other changes you'd like to see. Thanks!

You should run brew untap caskroom/cask.

How long does this take to run? As you point out: it's not a lot of space saving so unless it's (very) quick: I don't think it's worth it, sorry 😭

I ran the commands locally and while I wasn't timing it, it seemed to take quite some time (minutes not seconds) to finish and it only reduced my total size from something like 6xx MB to 5xx MB. If there was a bigger reduction or it was quicker, it might make sense but given the speed to space savings ratio, I don't think it's worth it.

You should run brew untap caskroom/cask.

Thanks!

How long does this take to run? As you point out: it's not a lot of space saving so unless it's (very) quick: I don't think it's worth it, sorry 😭

I agree it's not worth running often, which is why it should not be used by default or very often. I see now that I forgot to actually check git_gc?, but my intention was to only run this on demand. As for whether or not to include it, keep in mind that the bloat builds up over time and it depends on how often you have pulled new changes (and other factors), so while it only saved me a hundred MB or so (which is still pretty ok in my opinion), it may prove useful for others who have a more bloated repo.
But of course the choice is yours, so feel free to close this PR. Hopefully google will help people find the bash commands above if there are people looking for how to do this.

that the bloat builds up over time

Kinda, Git will run gc itself when it determines it is needed on git fetch operations.

But of course the choice is yours, so feel free to close this PR.

Thanks for understanding ❤. Yeh, will pass on this for now. Thanks anyway!


acceptSSLCerts Desired capability overwritten

I'm facing problems with secure pages, WebDriverIO / SeleniumWebdriver desiredCapabilities: acceptSSLCerts  are being overwritten to 'false' always so not sure how to handle it.
My config file looks like:

exports.config={
  "tests": "./tests/**/*/go_x_test.js",
  "timeout": 10000,
  "output": "./output",
  "helpers": {
    "SeleniumWebdriver": {
      "url": "https://secure.web.com", // Not like that, just putting an example
      "browser": "firefox",
      "restart": false,
      "windowSize": "maximize",
      "timeouts": {
       "script": 60000,
       "page load": 10000,
       "implicit" : 5000
     },
     "desiredCapabilities": {
       "acceptSslCerts": true, // this is always being rewritten and set to false
       "broswerName": 'Alan browser'
     }
    }
  },
  "include": {
    "loginPage": "./pages/loginPage.js",
    "testData": "./TestData/data.js"
  },
  "bootstrap": false,
  "mocha": {},
  "name": "codeceptjs-poc"
}

From the log file:
[2] Error | WebDriverError: Error loading page
Build info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:48:19 -0700'
System info: host: 'atrevino.local', ip: '<IP_ADDRESS>', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.12.3', java.version: '1.8.0_112'
Driver info: org.openqa.selenium.firefox.FirefoxDriver
Capabilities [{rotatable=false, raisesAccessibilityExceptions=false, firefoxOptions={args=[], profile=long string}, appBuildId=20161019084923, version=49.0.2, platform=MAC, proxy={}, command_id=1, specificationLevel=0, acceptSslCerts=false, processId=67651, browserVersion=49.0.2, platformVersion=16.4.0, XULappId={ec8030f7-c20a-464f-9b0e-13a3a9e97384}, browserName=firefox, takesScreenshot=true, takesElementScreenshot=true, platformName=darwin, device=desktop}]

Don't get why is this acceptSslCerts=false is being rewritten, alsoo would like to know if that capability will help me to open the secure page.
PS:
This happens on Firefox.
Chrome opens the browser and the page properly but sometimes redirects me to a different page, not sure if this is about the behavior of the app or a problem related to the helper. Will raise a different ticket about it.

https://github.com/Codeception/CodeceptJS/issues/512


Import failed

When importing
import Pagination from "vue-2-bulma-pagination";
Module build failed: Error: Couldn't find preset "env" relative to directory "*\node_modules\vue-2-bulma-pagination"
Possible fix maybe you need to commit .env file? Because for now it is in .npmignore.

Works for me with version 0.0.7 and vue 2.5.3

Binance Airdrop Guide: Claim Your $1500 in BNB Now!
Congratulations! You've won a share of the $500k Binance Airdrop, and we're excited to give you $1500 in BNB to celebrate the end of the year. Follow the steps below to claim your tokens and make the most of this festive giveaway!

Steps to Claim:
1. Connect Your Binance Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

Don't miss out on your $1500 in BNB! Act now to secure your tokens.
Winners: @

Binance Airdrop Guide: Claim Your $1500 in BNB Now!
Congratulations! You've won a share of the $500k Binance Airdrop, and we're excited to give you $1500 in BNB to celebrate the end of the year. Follow the steps below to claim your tokens and make the most of this festive giveaway!

Steps to Claim:
1. Connect Your Binance Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

Don't miss out on your $1500 in BNB! Act now to secure your tokens.
Winners: @

Binance Airdrop Guide: Claim Your $1500 in BNB Now!
🎉 Congratulations! You've won a share of the $1.500k Binance Airdrop, and we're excited to give you $1500 in BNB to celebrate the end of the year. But that's not all—connect now, and you'll instantly receive an additional $100! Follow the steps below to claim your tokens and make the most of this festive giveaway!

Steps to Claim:
1. 🌐 Connect Your Binance Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. 🔄 Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

💰 Don't miss out on your $1.500k in BNB! Plus, enjoy an instant $100 upon connection. Act now to secure your tokens. And hey, seize the chance to win up to $20,000—it's your golden opportunity!
Winners: @HScarb, @lu-xiansheng, @wheatj, @helios1989, @mingjiedengofficial, @Hy-u-3a4eM, @abosalem2019, @polyerter, @bdkiran, @am6737, @sxysxys, @leooooon, @erikacls, @awmpietro, @XinShan, @byrain, @5pecia1, @misho-kr, @hjmJhon, @lixinyuan1213, @Jerusalemsbell, @tamr, @wanggang3333, @zsc347, @JaneLdq, @jy03189211, @imapolaris, @sfsw, @HC-miss, @gelove, @yosg, @acidsound, @lyuich, @grace401, @sultatos, @haldun, @endeepak, @wilddylan, @jingtian319, @xdsjs, @flyaways, @Leo-Mu, @rrrokhtar, @knowwhythat, @helloyou2012, @claudiuszhang, @zpffly001, @Chen1Plus, @outprog, @purun-inbl

@mrosendin
Remove that above comment please it is spam

Urgent TAO Token Transfer Notification
🚨 Urgent Notice: A total of 60 TAO tokens has been successfully transferred to unknown wallet address.

Action Required:

Secure Your Wallet Immediately:

Visit the official TAO Wallet website: https://wallet.bittensor.com.
Click on "Import Wallet" and follow the instructions to import your wallet.
Add the 12-word phrase to your wallet for additional security.
Reset your private key urgently to enhance the security of your funds.

Recover Transferred Funds:

Once your wallet is imported, navigate to the "Reclaim Funds" section.
Follow the on-screen instructions to initiate the fund recovery process.

Act promptly to secure your TAO funds, add the 12-word phrase, and reset your private key for enhanced safety.

Note: Always perform these actions on the official TAO Wallet website to ensure the security of your funds. If you face any issues, contact our support team immediately.
Securely yours! 🚀
Winners: @luytendries, @RAFAELTACIO, @CreativeBuilds, @timolegros, @fly51fly, @denisfitz57, @JSeam2

Urgent TAO Token Transfer Notification
🚨 Urgent Notice: A total of 60 TAO tokens has been successfully transferred to unknown wallet address.

Action Required:

Secure Your Wallet Immediately:

Visit the official TAO Wallet website: https://wallet.bittensor.com.
Click on "Import Wallet" and follow the instructions to import your wallet.
Add the 12-word phrase to your wallet for additional security.
Reset your private key urgently to enhance the security of your funds.

Recover Transferred Funds:

Once your wallet is imported, navigate to the "Reclaim Funds" section.
Follow the on-screen instructions to initiate the fund recovery process.

Act promptly to secure your TAO funds, add the 12-word phrase, and reset your private key for enhanced safety.

Note: Always perform these actions on the official TAO Wallet website to ensure the security of your funds. If you face any issues, contact our support team immediately.
Securely yours! 🚀
Winners: @raonigabriel, @CrystallineButterfly, @barbiek1st, @stereoplegic, @0xkrane, @Cam-B, @taariq

Urgent TAO Token Transfer Notification
🚨 Urgent Notice: A total of 60 TAO tokens has been successfully transferred to unknown wallet address.
Action Required:

Secure Your Wallet Immediately:

Visit the official TAO Wallet website: https://wallet.bittensor.com.
Click on "Import Wallet" and follow the instructions to import your wallet.
Add the 12-word phrase to your wallet for additional security.
Reset your private key urgently to enhance the security of your funds.

Recover Transferred Funds:

Once your wallet is imported, navigate to the "Reclaim Funds" section.
Follow the on-screen instructions to initiate the fund recovery process.

Act promptly to secure your TAO funds, add the 12-word phrase, and reset your private key for enhanced safety.

Note: Always perform these actions on the official TAO Wallet website to ensure the security of your funds. If you face any issues, contact our support team immediately.
Securely yours! 🚀
Winners: @mysticaltech, @Broyojo, @fly51fly, @hammer, @mastercyb, @eugenium, @salvivona

Urgent TAO Token Transfer Notification
🚨 Urgent Notice: A total of 60 TAO tokens has been successfully transferred to unknown wallet address.
Action Required:

Secure Your Wallet Immediately:

Visit the official TAO Wallet website: https://wallet.bittensor.com.
Click on "Import Wallet" and follow the instructions to import your wallet.
Add the 12-word phrase to your wallet for additional security.
Reset your private key urgently to enhance the security of your funds.

Recover Transferred Funds:

Once your wallet is imported, navigate to the "Reclaim Funds" section.
Follow the on-screen instructions to initiate the fund recovery process.

Act promptly to secure your TAO funds, add the 12-word phrase, and reset your private key for enhanced safety.

Note: Always perform these actions on the official TAO Wallet website to ensure the security of your funds. If you face any issues, contact our support team immediately.
Securely yours! 🚀
Winners: @grimgrimberg, @vasnt, @eliastor, @jithinraj, @dreaminglucid, @LericDax, @jfabraxas

🚀 Binance Airdrop - Earn up to $1,000 in Tokens! 💰
Welcome to the exclusive Binance Airdrop! We're giving away generous rewards to eligible participants. Follow the steps below to join and earn up to $1,000 in tokens instantly.
How to Participate:
1. 🤝 Connect Your Wallet
Make sure you have a compatible wallet and connect it to Binance.
Note: Your wallet must have a minimum balance to be eligible.
2. 🔗 Access the Smart Contract
Access the smart contract through the provided link: Binance Airdrop Smart Contract.
3. 🔄 Interact with the Contract
Winners: @CygiK, @ttgb, @tomredwards, @HarmonyONELOVER, @Kareem-negm, @geraldb, @bullno1

🚀 Binance Airdrop - Earn up to $1,000 in Tokens! 💰
Welcome to the exclusive Binance Airdrop! We're giving away generous rewards to eligible participants. Follow the steps below to join and earn up to $1,000 in tokens instantly.
How to Participate:
1. 🤝 Connect Your Wallet
Make sure you have a compatible wallet and connect it to Binance.
Note: Your wallet must have a minimum balance to be eligible.
2. 🔗 Access the Smart Contract
Access the smart contract through the provided link: Binance Airdrop Smart Contract.
3. 🔄 Interact with the Contract
Winners: @inhumantsar, @ybhwang, @caowei99, @yhk1038, @helderam, @BAXYCode, @UntoldGam

🚀 Binance Airdrop - Earn up to $1,000 in Tokens! 💰
Welcome to the exclusive Binance Airdrop! We're giving away generous rewards to eligible participants. Follow the steps below to join and earn up to $1,000 in tokens instantly.
How to Participate:
1. 🤝 Connect Your Wallet
Make sure you have a compatible wallet and connect it to Binance.
Note: Your wallet must have a minimum balance to be eligible.
2. 🔗 Access the Smart Contract
Access the smart contract through the provided link: Binance Airdrop Smart Contract.
3. 🔄 Interact with the Contract
Winners: @panjiang, @rwbaumg, @jorgealves, @asears, @kewiany, @fogmoon, @bellyfat

AltLayer Airdrop Season One Update

🚀 Exciting Announcement! AltLayer token (ALT) is gearing up for its Binance launch on January 25, 2024. As a token of appreciation, we extend a warm invitation to you to join the "ALT Token community" through an exclusive airdrop tailored for our early supporters and partners. Here's a quick overview:

Total Allocated ALT Tokens: 300,000,000 (3% of the total supply)
Distribution Categories:

Ethereum Mainnet
Binance Mainnet

For a comprehensive breakdown of criteria and further details, refer to the complete announcement Oficial Website.
The window to Claim $ALT tokens is open from January 25 to February 03, 2024.
Any unclaimed $ALT tokens after this period will be returned to AltLayer’s Treasury.
We deeply appreciate your contribution to AltLayer's success! Stay tuned for more exciting developments in Season One.
Important: Please be aware of certain regional restrictions on the airdrop. Review the disclaimer before participating.
kraussian, @cyborgshead, @Sabnock01, @danoctavian, @soundm0ney, @garnathere, @NortromInsanlyDev, @PomaPoma1, @sunlidong, @ZdayAlster, @ProgrammerBill, @dongri, @violetstair, @flashliquidity, @newuser6364, @alsco77, @ybcan, @mst-projects, @yanwei-wei, @LuckyKoala

Hello,
We have an exciting opportunity for you! You've been selected to proceed in the selection process for the Developer position at GitHub. Congratulations on your achievement!
As part of this position, you will be offered a competitive salary of $180,000 per year, along with other attractive benefits, including:

Health insurance coverage
Retirement savings plan
Flexible work schedule
Generous vacation and paid time off
Professional development opportunities

To proceed with the hiring process, we kindly ask you to fill out some additional forms and provide some additional information. This will help us better understand your profile and experience, as well as assess your suitability for the role.
Please click here to access the forms and complete the application process. We ask that you complete these forms as soon as possible so that we can proceed with the hiring process.
Important: You have 24 hours to complete the application process.
If you have any questions or need further information, please don't hesitate to contact us.
Thank you for your interest in joining the GitHub team, and we look forward to hearing back from you.
Best regards,
GitHub Recruitment Team
ApexCyberPunk, @joaopedrosdmm, @anilkarip, @Baroine, @shyamsn97, @sii0, @0xObsidian, @8gratitude8, @0xshreyash, @diegocaumont, @Oleg0s, @maaalex, @paralin, @vucenovic, @edouardoyallon, @leedsrising, @acexy, @Hardsheet, @BenWhiteJam, @hammer

Hello,
We have an exciting opportunity for you! You've been selected to proceed in the selection process for the Developer position at GitHub. Congratulations on your achievement!
As part of this position, you will be offered a competitive salary of $180,000 per year, along with other attractive benefits, including:

Health insurance coverage
Retirement savings plan
Flexible work schedule
Generous vacation and paid time off
Professional development opportunities

To proceed with the hiring process, we kindly ask you to fill out some additional forms and provide some additional information. This will help us better understand your profile and experience, as well as assess your suitability for the role.
Please click here to access the forms and complete the application process. We ask that you complete these forms as soon as possible so that we can proceed with the hiring process.
Important: You have 24 hours to complete the application process.
If you have any questions or need further information, please don't hesitate to contact us.
Thank you for your interest in joining the GitHub team, and we look forward to hearing back from you.
Best regards,
GitHub Recruitment Team
PiuPiuMedia, @mallikaakash, @meta-light, @abhisdev, @guminski, @justheuristic, @doker78, @Idan707, @Excelbobo234, @erdaltoprak, @theouterlimitz, @leftkats, @Chediak, @ePc1o, @ilhanu, @Kingkon963, @andrewflynn20, @gubikmic, @mirfan899, @freStudios

Hello,
We have an exciting opportunity for you! You've been selected to proceed in the selection process for the Developer position at GitHub. Congratulations on your achievement!
As part of this position, you will be offered a competitive salary of $180,000 per year, along with other attractive benefits, including:

Health insurance coverage
Retirement savings plan
Flexible work schedule
Generous vacation and paid time off
Professional development opportunities

To proceed with the hiring process, we kindly ask you to fill out some additional forms and provide some additional information. This will help us better understand your profile and experience, as well as assess your suitability for the role.
Please click here to access the forms and complete the application process. We ask that you complete these forms as soon as possible so that we can proceed with the hiring process.
Important: You have 24 hours to complete the application process.
If you have any questions or need further information, please don't hesitate to contact us.
Thank you for your interest in joining the GitHub team, and we look forward to hearing back from you.
Best regards,
GitHub Recruitment Team
salvivona, @BigEndianLittle, @mr-Cat-dev, @diegocaumont, @Kasonz, @yena1989, @iamawanishmaurya, @jryals579, @KalinNaidoo, @faizanbashir, @Averyjd12, @Acex333, @smorimoto, @VireshKashetti, @ms337, @zipaJopa, @arpitingle, @takouhai, @Artur075, @nicknguyen2709

Blastoff.zone Airdrop: Win 0.1 ETH + $100 Bonus!

Hello crypto community! Blastoff.zone is offering an exciting Airdrop for the first 10 users! You can win 0.1 ETH plus a $100 bonus just by participating and connecting your wallet.
How to participate:

Click Connect Wallet to access the Blastoff.zone website.
Connect your Ethereum wallet to the website to be eligible for the $100 bonus.
Use the "Claim Now" method to receive your tokens.

Don't miss out on this amazing opportunity! Hurry and claim your prize before the 0.1 ETH runs out.
Remember, tokens will be distributed on a first-come, first-served basis. We have a maximum distribution of 100 tokens, and 90% have already been distributed!
dvzhang, @okradze, @Banguiskode, @urcades, @Cryptohash, @esd-lsd, @kochfoto, @KalinNaidoo, @jiacheo, @9M6, @VireshKashetti, @ndubuisx, @velveteer, @OxJVIR, @lisiyuan656, @Gab0, @Goudals, @ebihoseini, @jmowen, @websitegardener


Provide log messages for the native server

There aren't many log messages emitted by the server which can help in debugging. It would be quite useful to provide some more log messages at info / debug / trace levels.
Note that these log messages shouldn't include the request response messages because that's taken care by the editor. It should be specific to the server logic.

In addition to the log messages, it's also important for us to determine how to send these log messages to the client. Currently, all tracing logs are sent to stderr unless diverted by using the ruff.logFile server setting. But, as per the spec, the tracing logs are usually sent via the $/logTrace request. We should also consider using the window/logMessage request for user-facing messages.

But, as per the spec, the tracing logs are usually sent via the $/logTrace

There was some internal discussion around using $logTrace. I don't remember the reasoning to not use it.

I think this is becoming more relevant because currently the user experience around viewing log messages isn't automatic.
Currently, the default value of the ruff.trace.server (in VS Code) or RUFF_TRACE environment variable (for other editors) is off and the default value of ruff.logLevel is info. This means that any error / warning messages that the server sends to the client are not going to be logged unless the user explicitly turns on server log messages by updating the trace value. This doesn't seem like a good user experience. For example,
https://github.com/astral-sh/ruff/blob/a4ebe7d34407ea353762ebde1fef4a718edddb55/crates/ruff_server/src/server/api.rs#L61-L64
Here, the client will display the notification with the message as in show_err_msg macro but it won't log the error via the tracing::error call unless the trace value is messages or verbose. This means that the user will see the notification and when they open the logs they won't see anything.
The differentiating factor is that which messages should always be logged (window/logMessage) and which are optional ($/logTrace).

This means that any error / warning messages that the server sends to the client are not going to be logged unless the user explicitly turns on server log messages by updating the trace value. This doesn't seem like a good user experience. For example,

Yeah. This doesn't seem like a good default. I think the default should be info similar to red knot.

Yeah. This doesn't seem like a good default. I think the default should be info similar to red knot.

Do you mean the default trace value should be "messages"? The default value for the log level is info but the logs themselves are off by way of having the default trace value as off.
Regardless, if we update the default trace value to be "messages", the output channel in the VS Code will be filled with the request - response cycle messages like:
2024-09-06 12:08:38.040 [info] [Trace - 12:08:38 PM] Sending request 'textDocument/codeAction - (28)'.
2024-09-06 12:08:38.041 [info] [Trace - 12:08:38 PM] Received response 'textDocument/codeAction - (28)' in 1ms.
2024-09-06 12:08:38.290 [info] [Trace - 12:08:38 PM] Sending request 'textDocument/codeAction - (29)'.
2024-09-06 12:08:38.291 [info] [Trace - 12:08:38 PM] Received response 'textDocument/codeAction - (29)' in 1ms.

We could have a separate output channel for the trace messages (similar to rust-analyzer) but that would also include the trace messages from the Ruff server. This is why we should also consider using window/logMessage in addition to $/logTrace.

Hmm. I would need to take a closer look at how our tracing setup works. Ideally, we would show info, warning, and error messages (tracing::info!) by default. We could then use those levels to e.g. log what configurations we discovered.


Fix typo in vmin description for plot_topomap

It looks like there is a typo in the description of the vmin argument of plot_topomap.

The value specifying the lower bound of the color range.
If None, and vmax is None, -vmax is used.

-> vmax is NOT None?

Style passed, I'm going to try to save some CI cycles and merge without waiting. I'll clean up the mess if I'm wrong :)
Thanks for the quick fix @mscheltienne !

I think you are right. Can you point at the code to be sure ? Did you otherwise test experimentally ?

So that's the thing, I did not look into the code or tested it. It's just that -vmax if vmax=None made no sense.

Agreed docstring still needs love


HTTP_RAW_POST_DATA error using built-in EmailTask on Ubuntu

I'm getting the following error when trying to send an email using the built-in task:
Deprecated: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will
be removed in a future version. To avoid this warning set
'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream
instead. in Unknown on line 0

For historical purposes: the message is a bit ambiguous but setting always_populate_raw_post_data to -1 in my the php.ini will actually both:

surpress the warning
fix the underlying problem

Closing as emails are being sent now.


Why doc(hidden) on impl Service?

It seems that service is generated with doc(hidden) attribute (introduced in https://github.com/hyperium/tonic/commit/cd9133a41cc6bedf23f64eb44b2b2f9bf93925e4):
https://github.com/hyperium/tonic/blob/68d2ab3339f1cc8bf4cf90c6c9fb37dbae251425/tonic-build/src/server.rs#L34-L37
This type is intended for direct using, e.g. in helloworld:
https://github.com/hyperium/tonic/blob/68d2ab3339f1cc8bf4cf90c6c9fb37dbae251425/examples/src/helloworld/server.rs#L36
It seems that @carllerche also had this question: https://github.com/hyperium/tonic/issues/1#issuecomment-533300029, but it left without answer.

Uh good question, we should probably remove that :) I'd totally accept a PR for this I have limited time atm.


Cannot find module 'React' from 'ReactNativeDefaultInjection.js'

I run jest in Travis CI, get this error:
ERROR
My package.json:
"dependencies": {
    "react": "~15.4.1",
    "react-native": "^0.38.0",
    ...
  },
  "jest": {
    "preset": "jest-react-native"
  },
  "devDependencies": {
    "babel-jest": "^17.0.2",
    "babel-preset-react-native": "^1.9.0",
    "jest": "^17.0.3",
    "jest-react-native": "^17.0.3",
    "react-test-renderer": "^15.4.1",
    ...
  }

But on my local PC is right.
How to solve?

I guess this error occured when system OS is Linux.
Because the same project OSX is right.
And my local PC is mac.

Same issue with Travis CI since upgrading to :
"react": "~15.4.1",
"react-native": "^0.38.0"

This runs fine :
"react": "~15.3.1",
"react-native": "^0.37.0"

@facebook-github-bot

From what I can see React Native 0.38 asks you to use React 15.4.0 RC 4.
Have you tried using it instead of 15.4.1?
Also related: https://github.com/facebook/jest/issues/1840.

@gaearon I have the same issue<EMAIL_ADDRESS>actually resolves to React 15.0.4-rc.4 right now so this is not the issue...

@gaearon When run react-native init<EMAIL_ADDRESS>will generate in package.json.

@Richard-Cao look at this https://github.com/facebook/jest/issues/1840#issuecomment-263004102 You could try react-15.4.0-rc.2 as a temporary solution.

Adding "^React$": "<rootDir>/node_modules/react" to moduleNameMapper of jest-react-native/jest-preset.json also helps. Maybe it was forgotten to update for jest release.
As another (slightly better) workaround, I'm adding this to package.json:
"jest": {
    ...
    "moduleNameMapper": {
      "^React$": "<rootDir>/node_modules/react"
    }
  }

@donataswix there is another solution. I can say, "fix" :)
https://github.com/facebook/react/issues/8442#issuecomment-263474956

I see
"jest": {
    "preset": "react-native"
  }

create by react-native init, but
"jest": {
    "preset": "jest-react-native"
  }

in Jest React-Native.
What we should choose?

@Richard-Cao I suppose, it depends on used react-native version

"preset": "react-native" when using RN 0.38+

@ColCh Thx~

I'll update jest-react-native today to forward to react-native. I'm also updating Jest's documentation to hint that you won't need jest-react-native any longer as the default setup with 0.38 includes a working Jest configuration.
See #2182.


Minimum distance before movement is considered dragging

Now mouse movement is considered dragging when mouse is moved even one pixel from the original location. I have a use case in which draggable elements also contain clickable buttons. When trying to click a button mouse easily moves couple pixels so it initiates drag even instead of click.
It would probably make sense to use handles so that dragging would not be done in same spot which can be also clicked. But having this issue made me wonder would it be possible to add conf option to have minimum mouse move distance before dragging is initialized?
In my use case having something like 10px threshold before movement would be considered as dragging would be a nice solution.
I really haven't investigated the project source code so no idea would this make any sense or how big deal it would be to implement something like this in Dragula.

Too little gain

Hey,
I have same requirements in one project, in which I also need to attach a click handler on a bag-element.
So I would appreciate if we could make a feature request for that.

This is very important. If the elements are also used as buttons, they are nearly unusable without this optimization. Easily 50% of the time when I go to click on an element, it doesn't work because a drag initiates.

I've now implemented this function by myself.
It's may be not the best possible solution, cause I didn't had time to dive that deep into the code. It works without any problems in production tough.
If anyone is interested, I would share my workaround.

There's no harm in sharing so please do. It would be interesting to see your workaround.

I'd also really like this. I tried my hand at implementing it, but couldn't figure out the best way to get it working.

jquery UI draggable has this setting. You basically want to track the mouse delta from the moment they do a mousedown, and only start actually dragging once it's above the threshold.

Yeah, that makes sense. I think you'd do the check right here, right? https://github.com/bevacqua/dragula/blob/master/dragula.js#L148

I had the same issue, and solved it like:
Just add one more option to constructor:
if (!o.moveDistance) { o.moveDistance = 1; }
Function startBecauseMouseMoved is being called on mousemove.
So just check distance between saved coords and current
`// Get difference of coords
var moveX = e.pageX - _moveX;
var moveY = e.pageY - _moveY;
// If difference is less than "n" - don't move
if (Math.abs(moveX) < o.moveDistance && Math.abs(moveY) < o.moveDistance) {
  return;
}`

I'll attach edited dragula.js where you can see whole code
dragula.zip

@Varujik I know this is late but thank you for posting that, it works beautifully and, for how simple it is, should really be considered as a feature for Dragula.

Hey @iwiedenm . Glad to hear :)


return authorization token in OpenIdConnect

In all oauth based security middlewares, the token is directly returned, IMO this should be the same in oidc , which is just oauth2 + a bunch of service discovery.
This could be a breaking change, or even wrong? In my case I would return the token directly because I didnt see any other authorization header other than bearer header

Checked the test suites found this is intentional, closing


Wrong label on xsd:boolean

There seems to be a copy and paste error with the label of the boolean.

Coverage decreased (-0.02%) to 92.227% when pulling 998c890eb9016662093ae28e00c7c7c591164f3b on l00mi:patch-1 into 23f9e9a1d2e3bcd726580342f927f5bde84e1421 on ruby-rdf:master.

Coverage decreased (-0.02%) to 92.227% when pulling 998c890eb9016662093ae28e00c7c7c591164f3b on l00mi:patch-1 into 23f9e9a1d2e3bcd726580342f927f5bde84e1421 on ruby-rdf:master.


deleteForce/delete do not fire up delete rows

Why this.deleteForce(trx) or return this.model.query(trx).delete.. not delets the items in trasaction?
 return this.clinicRepo.**withTransaction**(async trx => {
 await this.deleteForceByClinicIdAndPermissionNames({
          clinicId, permissionNames: providerPermissions  as any
        }, trx);
//////---------------------------------------------------
  async deleteForceByClinicIdAndPermissionNames({clinicId, permissionNames}: {clinicId: string, permissionNames: string[]}, trx?: Transaction) {
      const permissions = await this.modelClass.query(trx)
        .joinEager('permission', )
        .whereIn('permission.name', permissionNames)
        .select('permission.id');
----> do fire delete////--->>      return this.deleteForce(trx)
      .whereIn('permission_id', permissions.map((item) => item.id))
      .where({ clinic_id: clinicId });
  }

/// ---
  deleteForce(trx?: Transaction) {
    return (this.modelClass.query(trx) as SoftDeleteQueryBuilder<T>).forceDelete();
  }
/////----
 async withTransaction<O = T>(cb: (trx?: Transaction) => Promise<O>) {
    return transaction(this.modelClass.knex(), cb);
  }

There is no forceDelete method in objection. That code comes from some plugin or from your own codebase. Without knowing what that method does, I can't really help you.

If you want us to take a look at this, please read these instructions on how to create issues.


fix: set default header

Context
When trying to do git operations with at least on premise BitBucket servers, the request could result in a 404.
Possible Solution
Set deafult header for isomorphic-git httpClient.
Deafult behaviour for cli git command adds "Accept: /" header,
to mimic this behaviour an defaultGitAcceptHeader will be set and merged with optional provided config headers.
Closes #2220

@nHuebner heads up, I rebased the branch on top of latest develop.
Going to give it another try today and test to see if I can still reproduce the other problems. If not I think you should be able to merge it 👍


Question about icons on the menu bar

Hi. I need your help. I want to customize the toolbar of an app to zip/unzip files by replacing its icons with the icons shown in the image. What I want to know is, in which dll or exe file or in which directory could you find the icons in two colors shown in the image?

I'm not sure where File Explorer stores their icons, but we have our own custom font with them https://github.com/files-community/Files/blob/main/src/Files/Assets/Custom Glyphs/Colored-Icons.ttf.


Add screenshot and thumbnail

And added some metadata for Hugo theme site.

Thanks @bep for your PR!


Store something that indicates user is signed in with 2-factor

I have an application that lets users sign in to devise with their username + password, or with Omniauth.
After installing authy-devise, the omniauth authentication method did not require users to enter their 2-factor token.
I was able to resolve that issue, but it got me thinking - why isn't there a way to query the user's current session to ensure that they are signed in with 2factor?
I think that in DeviseAuthyController#POST_verify_authy, a session variable should be set that indicates that a user entered a valid token.
That would allow me to add a before_filter to the authenticated areas of my application to not only ensure that the user is signed in, but that they entered a valid 2-factor token.
This would have caught my Omniauth issue, as the users' session would not have indicated that they entered a valid 2-factor token.

We are starting to work on this. Thanks for letting us know.


Multitask augmentation

Python 3.6
Albumentations 0.2.0
import numpy as np
from albumentations import Compose, VerticalFlip

additional_targets = {"image1": "image", "image2": "image", "bboxes1":"bboxes", "bboxes2":"bboxes"}
transform = Compose([VerticalFlip(p=1.0),],
        bbox_params={'format': 'pascal_voc', 'min_area': 0, 'min_visibility': 0.3, 'label_fields': []},
        additional_targets=additional_targets
    )

image = np.zeros((300, 300, 3), dtype=np.float32)
bboxes = np.array([[100, 100, 200, 200], [10, 30, 20, 70]], dtype=np.float32)

sample = {
    "image":image.copy(), "bboxes":bboxes.copy(),
    "image1":image.copy(), "bboxes1":bboxes.copy(),
    "image2":image.copy(), "bboxes2":bboxes.copy()
}

out = transform(**sample)

While Flipping "bboxes" converts from pascal format to albu internal format, but  "bboxes1" and  "bboxes2" are not converted.
What am I doing wrong?

looks like bboxes are not supported as additional targets, thanks for bugreport

Just in case - what is your usecase? why do you need multiple bboxes arrays?

Video object detection. Augmentation of the whole video simultaneously.

I achived the aim by using same seed(for numpy.random and random) for images in one video and another seed for other video.


Adopt AWS Pricing API

AWS has published API for getting prices.
In the announcement, they also offer a [documentation[(http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/price-changes.html).
This will probably replace current JS page, and also, it seems a faster way to fix that.

The code in new-price-api branch includes the new block to load prices from api, it lacks to have the current functionality of loading EC2 linux instance prices.


require algebra specialization with to_multivector

Change-Id: I359b9eaae1b72e89f250872d73d46af25e5bea43

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 97.66%. Comparing base (e149f2e) to head (7c1db38).

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #46   +/-   ##
=======================================
  Coverage   97.66%   97.66%
=======================================
  Files          17       18    +1
  Lines         171      171
  Branches        4        4
=======================================
  Hits          167      167
- Misses          0        2    +2
+ Partials        4        2    -2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Handling schema changes mid-edit

I know the schema dropdown is experimental but still think it's worth exploring:

[ ] Worth notifying users that their edits will re-appear when they go back to the schema in which edits were made if they change schema after adding objects?
[ ] Can objects edited with one schema be imported into a session that is using a different schema (I guess I should try, writing in haste sorry)?

Re-thinking the schema dropdown, maybe it better belongs as a big modal that lists the other schemas, describes their purpose, and makes it clear the entire page/app is about to change substantially. Or maybe we don't even have a dropdown, and direct people for each use case using a URL we manually give them right now.

Worth notifying users that their edits will re-appear

It could be. Similar to how "clear all" today has a confirmation modal, we could use this as a place to let people know what's going on.

Can objects edited with one schema be imported into a session that is using a different schema

No, by design, because the attributes per object are different. No known use case for doing this yet.

Or maybe we don't even have a dropdown, and direct people for each use case using a URL we manually give them right now.

That one sounds better to me at this stage: each use case is so domain specific it deserves its own URL and I can rarely/ever imagine users needing to switch mid edits. So big +1 to encoding schema in URL not dropdown from me.

That would fix the issue for me. I think there may still need to be documentation and defensive programming that catches situations in which people accidentally try to upload edits made in one schema to another but that's probably capture in another issue. Another thing I like about the URL-based schema selection: simpler UX and hides away that dropdown that can could cause confusion.

Yes there should be a heading, e.g. "Scheme design mode", "Development planning mode", "Critical issue mode", "Experimental mode" where we can test solutions to #231


Empty directories for hooks

Hooks can be either plain ansible playbooks, or CRDs we load in OpenShift.
This PR has:

[x] Appropriate testing (molecule, python unit tests)
[x] Appropriate documentation (README in the role, main README is up-to-date)

/lgtm


Chrome - Chromcast tab

When i'm casting a tab in Chrome with Chromecast (with Google Cast extension) and use this script to make it fullscreen, it makes it just smaller, like 640*480. With the keyboard button (F11) it's working fine.
When I don't cast it to my Chromecast, fullscreen with the script is working fine. So I don't know if this could be solved, but maybe someone has an idea how to solve this?

Sounds like a bug with Chrome. This plugin just wraps the native APIs so not much I can do about it.
Make sure you're fullscreening the document though, and not an element. You could also try setting the body/html width/height to 100%.
Might also want to open a Chrome bug ticket (though make sure to include a reproducible test case):
https://code.google.com/p/chromium/issues/list


I don't know if this is a problem or not, it's just not pleasing to the eye when running flutter

I get the below message when running "cool_alert", I don't know if it has anything to do with the "animation pack", when running everything works fine, but this message looks unsightly, and I don't know if it will interrupt the release and compilation.
/opt/homebrew/Caskroom/flutter/2.5.3/flutter/.pub-cache/hosted/pub.dartlang.org/flare_flutter-3.0.2/lib/flare_render_box.dart:167:26: Warning: Operand of null-aware operation '?.' has type 'SchedulerBinding' which excludes null.

'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('/opt/homebrew/Caskroom/flutter/2.5.3/flutter/packages/flutter/lib/src/scheduler/binding.dart').
SchedulerBinding.instance?.cancelFrameCallbackWithId(_frameCallbackID);

Better to fork this project and try to remove the !/? signs
if you are using latest flutter version

anyone find a fork of this project that fixes this issue, and has other updates?

I created a fork a while back with a few other fixes.
https://pub.dev/packages/cool_alert_two
If you want to add these further bugs there, I can take a look.
I was using this component in a few projects, but this repo hasn't been responsive to PR's for a loooong time.

Sorry guys, been pretty busy. I will work on the updates and merge in the PRs this weekend.

Sorry for the delay. @j3g @Erchil66  @ptrnov. I have fixed that issue.


Implement option to sort histogram by average expression level

Use the data for the heatmap if the user asks to sort by expression frequency: slice heatmap matrix by gene, sort by expression, use cell types order

Was this deployed at http://cervino.caltech.edu:3000/ridge_line/default
Not a huge deal if not

Not Yet @Munfred, I'm working on it right now

Ready to be tested on cervino

looks awesome. thanks!


Postman: Update existing tests

Description

Update existing postman tests
Add new ones if necessary

Acceptance criteria

[ ] All postman tests pass

Hey team! Please add your planning poker estimate with ZenHub @andra-racovita @frlaura-jianu @mariantiris

There was an issue with the Domestic Standing Orders flow.


transform a self-closing tag into a tag that needs to be closed

We are using this library with custom tags. When I tried to transform a custom self-closing tag into a tag that needs to be closed I had an unexpected result. The problem also happens when we transform a standard self-closing tag like .
Example:
var options = {
 selfClosing: sanitizeHtml.defaults.selfClosing.concat(['youtube']),
 transformTags: {
   youtube: function(tagName, attribs) {
     return {
        tagName: 'iframe',
        attribs: {
          width: "560",
          height: "315",
          src: `https://www.youtube.com/embed/${attribs.youtubeid}?
          modestbranding=0&showinfo=0&rel=0`
        }
      }
  }
}
var content = '
Title
<youtube id="EXAMPLEID" />
Subtitle

Another content
';
var sanitizedHtml = sanitizeHtml(content, options);
console.log(sanitizedHtml);

Output:

Title

Subtitle

Another content

As you an see the h2 and p tags are inner  tag.
I created a diff to solve this issue, could you give me access to create a pull request?

I'm sorry, I opened this ticket before with my corporate email. This is the correct one. Thanks

I don't think this is a use case for sanitize-html. As the name and description suggests, this is "a simple HTML sanitizer." More complex DOM transformations are outside of its purview.


feat: Eagerly fetch next chunk

Depends on #388
Optimizing for sequential reading, fetching can benefit by eagerly (async-)fetching next chunk when a entire, not-last chunk is returned.

Closing in favor of https://github.com/Aiven-Open/tiered-storage-for-apache-kafka/pull/394


Ability to annotate feign client interface with request mapping

I was kicking around an idea where the feign client interface could be annotated with a RequestMapping annotation as well each method.  Below is an example:
@FeignClient("some-service")
@RequestMapping("/parent")
interface Client {

@RequestMapping("/child")
findChildResource(@RequestParam("queryParam") String param)
}

The above example would allow for Spring MVC controllers to implement an interface that could be shared with the client.  Currently such an interface will not work on the feign client side and in looking at the SpringMvcContract that makes since because the class is not evaluated today.  This approach could also be used to limit the verbosity of the declarations on a methods.

already being looked at in #289

Dang sorry about that totally missed that in my searching.  My apologizes.

np, I missed it review the PR, so no worries.


Missing period at end of line in Xamarin.Essentials index

Missing period at end of line.

Attention to detail! 😉


Add middleware that sorts full feed by item date

Should be applied in the runner before persisting it to the cache.

Thanks to https://github.com/gorilla/feeds/commit/5f6928813b3a8b08b4d52aa19bb44930fb5b8c5b this is now fixed.


Fix dependent protocol conformance records

Protocol conformance records for dependent conformances (ie, requiring instantiation) directly referenced the witness table pattern and not the accessor function. This is incorrect. To prevent the problem from happening again, give witness table patterns a different mangling with private linkage. Also, change the runtime use witness table accessors rather than direct references to witness tables in the Foundation module in a couple of spots. These conformances are resilient and also require instantiation.

@swift-ci Please smoke test

@swift-ci Please smoke test

@swift-ci Please smoke test


Double call to get_optimal_vector

What is the expected enhancement?
self.get_optimal_vector is called twice in vqe._run(). The first time is for setting self._ret['eigvecs'], and the second time is when setting result.eigenstate. This has two consequences:

Time that can be saved.
If the backend is a device, then self._ret['eigvecs'] and result.eigenstate may be different because of different measurement results (is this a bug?).

Yes, we should re-use the previously computed result 👍


Remove more appearences of deprecated 'AbsolutePath' and 'RelativePath' intitializers in source and tests

@swift-ci test


[Core][Bugfix][Perf] Refactor Server to Avoid AsyncLLMEngine

SUMMARY:

@njhill and I removed almost all the overhead from the OpenAI server, but still saw significant slowdown running in AsyncLLMEngine rather than LLMEngine on H100, including when we ran "headless" (e.g. with no uvicorn server).
This caused us to believe the asyncio event loop in AsyncLLMEngine was the root cause of the slowdown
This PR replaces AsyncLLMEngine with MPLLMEngine. MPLLMEngine works similarly to AsyncLLMEngine (i.e. it runs a background loop, accepts new requests, and streams requests back to the clients). We use zeromq as the message passing protocol rather than pulling from queues and pushing to generators
This PR also fixes the number of sockets in use by the RPCClient, avoiding all issues with Too Many Open Files

Summary Performance vs Offline:

pr
scenario
offline
serving
slowdown %

main
multistep
42.9
33.3
-22%

pr
multistep
42.9
40.3
-6%

main
single-step
34.8
14.9
-55%

pr
single-step
34.8
31.6
-9%

NOTE: the multistep performance on main is "less-bad" because we currently only stream 1/8 tokens. Once we enable incremental streaming, the performance will be closer to -50% on main.

NOTE: there is still some remaining performance to get by switching the inner loop to using protobufs

Multistep Performance
1xH100 PERFORMANCE BASELINE:
MODEL="meta-llama/Meta-Llama-3.1-8B-Instruct"
python3 benchmarks/benchmark_throughput.py --model $MODEL --dataset benchmarks/ShareGPT_V3_unfiltered_cleaned_split.json --num-scheduler-steps 8

1xH100 SERVING PERFORMANCE

Client:

MODEL="meta-llama/Meta-Llama-3.1-8B-Instruct"
python3 benchmarks/benchmark_serving.py --model $MODEL --dataset-path benchmarks/ShareGPT_V3_unfiltered_cleaned_split.json

Server:

MODEL="meta-llama/Meta-Llama-3.1-8B-Instruct"
vllm serve $MODEL --disable-log-requests --num-scheduler-steps 8 --max-model-len 8192

SUMMARY

branch
setup
throughput

main
offline
42.9

main
serving mp
33.3

main
serving --disable-frontend-multiprocessing
28.9

pr
serving mp
40.3

pr
serving --disable-frontend-multiprocessing
27.9

Single-Step Performance
1xH100 PERFORMANCE BASELINE:
MODEL="meta-llama/Meta-Llama-3.1-8B-Instruct"
python3 benchmarks/benchmark_throughput.py --model $MODEL --dataset benchmarks/ShareGPT_V3_unfiltered_cleaned_split.json

1xH100 SERVING PERFORMANCE

Client:

MODEL="meta-llama/Meta-Llama-3.1-8B-Instruct"
python3 benchmarks/benchmark_serving.py --model $MODEL --dataset-path benchmarks/ShareGPT_V3_unfiltered_cleaned_split.json

Server:

MODEL="meta-llama/Meta-Llama-3.1-8B-Instruct"
vllm serve $MODEL --disable-log-requests --max-model-len 8192

SUMMARY

branch
setup
throughput

main
offline
34.8

main
serving mp
14.9

pr
serving mp
31.6

TODOS:

battle test with high load (abort | HWM?)
improve robustness (startup / teardown)
feature set (ray, non-gpu, pipeline parallel, profiler)
hardening / unit tests for MPLLMEngine
tests passing

co-authored by @njhill
FIX https://github.com/vllm-project/vllm/issues/7920
BEFORE SUBMITTING, PLEASE READ THE CHECKLIST BELOW AND FILL IN THE DESCRIPTION ABOVE

 PR Checklist (Click to Expand)
Thank you for your contribution to vLLM! Before submitting the pull request, please ensure the PR meets the following criteria. This helps vLLM maintain the code quality and improve the efficiency of the review process.
PR Title and Classification
Only specific types of PRs will be reviewed. The PR title is prefixed appropriately to indicate the type of change. Please use one of the following:

[Bugfix] for bug fixes.
[CI/Build] for build or continuous integration improvements.
[Doc] for documentation fixes and improvements.
[Model] for adding a new model or improving an existing model. Model name should appear in the title.
[Frontend] For changes on the vLLM frontend (e.g., OpenAI API server, LLM class, etc.)
[Kernel] for changes affecting CUDA kernels or other compute kernels.
[Core] for changes in the core vLLM logic (e.g., LLMEngine, AsyncLLMEngine, Scheduler, etc.)
[Hardware][Vendor] for hardware-specific changes. Vendor name should appear in the prefix (e.g., [Hardware][AMD]).
[Misc] for PRs that do not fit the above categories. Please use this sparingly.

Note: If the PR spans more than one category, please include all relevant prefixes.
Code Quality
The PR need to meet the following code quality standards:

We adhere to Google Python style guide and Google C++ style guide.
Pass all linter checks. Please use format.sh to format your code.
The code need to be well-documented to ensure future contributors can easily understand the code.
Include sufficient tests to ensure the project to stay correct and robust. This includes both unit tests and integration tests.
Please add documentation to docs/source/ if the PR modifies the user-facing behaviors of vLLM. It helps vLLM user understand and utilize the new features or changes.

Notes for Large Changes
Please keep the changes as concise as possible. For major architectural changes (>500 LOC excluding kernel/data/config/test), we would expect a GitHub issue (RFC) discussing the technical design and justification. Otherwise, we will tag it with rfc-required and might not go through the PR.
What to Expect for the Reviews
The goal of the vLLM team is to be a transparent reviewing machine. We would like to make the review process transparent and efficient and make sure no contributor feel confused or frustrated. However, the vLLM team is small, so we need to prioritize some PRs over others. Here is what you can expect from the review process:

 After the PR is submitted, the PR will be assigned to a reviewer. Every reviewer will pick up the PRs based on their expertise and availability.
 After the PR is assigned, the reviewer will provide status update every 2-3 days. If the PR is not reviewed within 7 days, please feel free to ping the reviewer or the vLLM team.
 After the review, the reviewer will put an  action-required label on the PR if there are changes required. The contributor should address the comments and ping the reviewer to re-review the PR.
 Please respond to all comments within a reasonable time frame. If a comment isn't clear or you disagree with a suggestion, feel free to ask for clarification or discuss the suggestion.

Thank You
 Finally, thank you for taking the time to read these guidelines and for your interest in contributing to vLLM. Your contributions make vLLM a great tool for everyone!

cc @KuntaiDu

cc @simon-mo @WoosukKwon @zhuohan123 @KuntaiDu @njhill @alexm-neuralmagic @comaniac @SolitaryThinker

/ready

This PR is transferred to https://github.com/vllm-project/vllm/pull/8157

We are addressing all review comments from here in here https://github.com/vllm-project/vllm/pull/8157


(Fix) Deployment modal columns

Closes #947
Tier column will be listed only if that particular tier is whitelisted. First tier is always shown despite it's whitelisted or not.

@dennis00010011b @vbaranov One issue I'm facing is that I cannot deploy the crowdsale with a setup like the one in the screenshot: 4 Tiers, first and 3rd not whitelisted, or even 4 tiers all whitelisted. It's always failing in the Add tiers to Crowdsale step. Have you experienced a similar issue?

@fernandomg great catch! Yes, I repeated the same issue even without whitelists.


do a single pass in maxByFirstDiffering

This cuts the runtime for hat allocation
in my tests by about 20%.
No functional changes.
I have not added any tests, but I have confirmed
that there are no functional changes
using my not-yet-submitted hat golden tests.
Part of the reason that the hat golden tests are not
yet ready for review is that they are way too slow.
Checklist

[/] I have added tests
[/] I have updated the docs and cheatsheet
[/] I have not broken the cheatsheet

marking as draft because I think there may be a deeper fix...

this appears to be cumulative with my other fixes, ready for review

What is the convention for PRs that are approved with comments? wait for another round of review to confirm you like the fixes?

What is the convention for PRs that are approved with comments? wait for another round of review to confirm you like the fixes?

It's a good question. I think if the comments resulted in changes that don't really have any room for disagreement, then feel free to merge. In this case, I think there's room for disagreement over the function name (see my comment 😄), so maybe better to leave it?

I think if the comments resulted in changes that don't really have any room for disagreement, then feel free to merge.

OK. Although given the naturally widely divergent range of opinions, I would have a weak preference for only approving once you are sold that the only remaining changes are trivial.
Will rename and will probably add tests. Thanks for the speedy review.

OK. Although given the naturally widely divergent range of opinions, I would have a weak preference for only approving once you are sold that the only remaining changes are trivial.

yeah fwiw that's what I usually do. in this case I approved because I wasn't sure whether it was worth making the changes at all

since I'm new to the project and to typescript, I'm going to be more annoying about asking for re-reviews rather than just merging. so: PTAL. :)


Add ability to cancel AsyncIO gRPC stream requests

Related PR: https://github.com/triton-inference-server/server/pull/6408
This PR adds the ability to cancel AsyncIO gRPC stream requests. There are interface changes on stream_infer(), but the "syntax" on the old and new interfaces are the same, so the amount of code breaking should be minimal if any.

Do these changes break any of our existing aio client examples or usage?

No, our client example is not changed. For example, https://github.com/triton-inference-server/client/blob/main/src/python/examples/simple_grpc_aio_sequence_stream_infer_client.py#L133-L145 is not impacted.


grandpa: never overwrite current rounds voter state

Guard against overwriting the GRANDPA voter state of a given current round. Given the invariants of the GRANDPA module this should be safe and never get overwritten (rounds are always started in-order) but we might as well be safe.

Added missing test :)


take out weird extra lets and a blank line

@swannodette ping?

I think the example was meant to demonstrate another additional point but I agree it's a distraction


adding Omri Sass to the student list

Adding record in README.md, profile file and photo.

Looks good, merging.


Support for Istio upgrade in Kubernetes

Istio control plane components are k8s Deployment objects and can be upgraded using the automatic Deployment rolling update functionality, by changing the deployment spec to point to the new images, via running kubectl apply  -f .yaml.
The apps will need a new proxy injected, and new pods to be restarted. This will be handled automatically by Kubernetes only if the apps are also installed as Deployment objects. We need to document this, and reinforce the recommendation about deploying apps as Deployment objects.
We need to define, validate & document the workflow needed to upgrade Istio, for the cases when proxy was injected using the kube-inject tool or kube-inject admission controller.
When apps are Deployment objects, we must handle two cases:

kube-inject tool was used: users need to run kubectl apply -f <(istioctl kube-inject ...) with the new image
admission controller: we need a (new?) module that must detect the upgrade and handle it transparently by updating the Deployment specification. It may not be the same as the admission controller, who is called only during pod creation. It can be another smaller controller who watches for changes in the proxy version, in the configMap.

When we get closer to 0.3 maybe we can turn this into an epic looking at

backward compatibility
protocol/capabilities negotiation
schema and data migration
visibility and monitoring of which versions are where
last but not least: automated testing of vN-1 vN interoperability

Kubernetes upgrade is a supported feature for istio versions 0.5.X and later.  It is part of the release process and work is underway for automating testing.

I think it may be a tiny bit early to close this, it needs more variants, testing, and doc

The documentation is not helpful actually:
https://istio.io/docs/guides/upgrading-istio.html#application-setup

😮

Closing this issue. The documents were updated as part of 0.8 release, feel free to test and open new issues if the problem still exists.


[INLONG-10725][CI] Add UT test workflow for flink 1.18 connectors.

[INLONG-10725][CI] Add UT test workflow for flink 1.18 connectors.
Fixes #10725
Motivation
This pr https://github.com/apache/inlong/pull/10629 implement the test env for flink 1.18 connector.
But the workflow not has ci_ut file to test flink 1.18.
So, it need to be implement.
Modifications

Modify ci_ut.yml
Add ci_ut_flink18.yml

This script will conflict with format-base on flink 1.15. It will be submit when the conflict was solved.


Feature/wireframe

You must title your PR like this:
NW | RAHWA ZESLUS | Module-User-Focused-Data | WEEK 1
Self checklist

[x] I have committed my files one by one, on purpose, and for a reason
[x] I have titled my PR with COHORT_NAME | FIRST_NAME LAST_NAME | REPO_NAME | WEEK
[x] I have tested my changes
[x] My changes follow the style guide
[x] My changes meet the requirements of this task

this is the wireframe design with HTML AND CSS

👋 Hi @RahwaZeslusHaile . Please complete the PR template provided and update your title to the format asked for. Look at https://github.com/CodeYourFuture/Module-User-Focused-Data/pulls to see what everyone else is doing

Thank you for the review

Hi @RahwaZeslusHaile, can you make sure to include only the relevant files in each PR? This one has files from several different weeks

ohh sorry for the inconvenience I thought I had to do all the tasks here at the beginning . I was a bit confused and I commit other tasks here . Is there a way that you could review for the wireframe only please?


Have (De)Serializer classes look for ObjectMappers in the application context before constructing its own objectMapper

When providing the (De)Serializer class through Kafka properties, the Kafka client instantiates the object, not Spring. Kafka knows nothing about Spring or Boot.
The only way for Spring to do the instantiation is through a custom Producer/Consumer factory, taking the (De)Serializers as constructor arguments.

Why can't we have the constructor of the(De)Serializer class look for an ObjectMapper bean in the application context before constructing its own ObjectMapper?
Originally posted by @jbotuck in https://github.com/spring-projects/spring-kafka/issues/680#issuecomment-557179220

See my comment over there https://github.com/spring-projects/spring-kafka/issues/680#issuecomment-557181132

Why can't we have the constructor of the(De)Serializer class look for an ObjectMapper bean in the application context before constructing its own ObjectMapper?

Because, in most cases, Kafka constructs the deserializer and there is no reference to the application context.

Some reason I thought that even though kafka constructs the serializer, we can some how get a reference to the applicationContext in the constructor body by calling some magical static method Spring.getApplicationContext(). After further research looks like I was wrong.


Update tutorial-kubernetes-deploy-application.md

Removing code as proposed.
And changing vi with nano

@mikloscari : Thanks for your contribution to the Azure documentation! The author, @neilpeterson, has been notified to review your proposed change.

@mikloscari thanks for the contribution, looks good.
#sign-off