Python: CP-SAT tutorial example crashes on Windows with 9.10.4067

What version of OR-Tools and what language are you using?
Version: 9.10.4067
Language: Python
Which solver are you using (e.g. CP-SAT, Routing Solver, GLOP, BOP, Gurobi)
CP-SAT
What operating system (Linux, Windows, ...) and version?
Windows 10 Pro, 10.0.19045 build 19045
What did you do?
Run tutorial example https://developers.google.com/optimization/cp/cp_example
What did you expect to see
What did you see instead?
Process finished with exit code -1073741819 (0xC0000005)
Make sure you include information that can help us debug (full error message, model Proto).
Anything else we should know about your project / environment
9.9.3963: works as expected, prints a list of solutions

most likely duplicate of https://github.com/google/or-tools/issues/4225

With both python 3.11 and 3.12 + ortools 9.10.4067 + Windows 11 Pro, i got
Segmentation fault

(And the computation succeeds with ortools 9.9.3963)

Make sure to:
Update visual studio
Create a blank venv
Pip install ortools
Run the samples. It works for me.
Le ven. 10 mai 2024, 16:56, nhuet @.***> a écrit :

With both python 3.11 and 3.12 + ortools 9.10.4067 + Windows 11 Pro, i got
Segmentation fault
(And the computation succeeds with ortools 9.9.3963)
—
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/4227#issuecomment-2104757755,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3K5OYWLVNYVEM3WLSDZBTN25AVCNFSM6AAAAABHQOQM3WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBUG42TONZVGU
.
You are receiving this because you commented.Message ID:
@.***>

I do not have visual studio.
We need to install visual studio to make ortools work ? I never needed  it for previous versions yet.

You always need the visual studio redistributable libraries
Le ven. 10 mai 2024, 18:00, nhuet @.***> a écrit :

I do not have visual studio.
We need to install visual studio to make ortools work ? I never needed it
for previous versions yet.
—
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/4227#issuecomment-2104854221,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3KEWKWOXMLN4DXH3ULZBTVJ7AVCNFSM6AAAAABHQOQM3WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBUHA2TIMRSGE
.
You are receiving this because you commented.Message ID:
@.***>

You always need the visual studio redistributable libraries

As I said, the previous release of ortools worked fine for me without installing anything. But indeed i think i have the redistributable libraries preinstalled. I tried to update them using the link https://aka.ms/vs/17/release/vc_redist.x64.exe found on https://learn.microsoft.com/fr-fr/cpp/windows/latest-supported-vc-redist?view=msvc-170, but it changed nothing for me.
My "ultimate" goal is to make ortools 9.10 work for me on github runners "windows-latest" because i have unit tests using ortools in my ci-cd workflow. If you know the command to update their redistributable libraries on it, i would greatly appreciate it.

it works fine: https://github.com/google/or-tools/actions/runs/8998718133

Note this was solved on S.O.L: https://stackoverflow.com/questions/78489444/google-ortools-sat-cpsolver-solve-causes-accessviolationexception/78489630#78489630

I experienced this error on upgrading to ortools version 9.10, and upgrading the Virtual Studio C++ redistributable at the link above (https://aka.ms/vs/17/release/vc_redist.x64.exe) fixed the problem for me.

Hey, I was having the same problem. Windows 11, python 3.12, ortools 9.10.4067.
For my future use I'll just use ortools 9.9 since that seems to work fine.
While I was trying to find a solution I also noticed a similar issue with another python example from the documentation:
from ortools.init.python import init
from ortools.linear_solver import pywraplp

def main():
    print("Google OR-Tools version:", init.OrToolsVersion.version_string())

    # Create the linear solver with the GLOP backend.
    solver = pywraplp.Solver.CreateSolver("GLOP")
    if not solver:
        print("Could not create solver GLOP")
        return

    # Create the variables x and y.
    x_var = solver.NumVar(0, 1, "x")
    y_var = solver.NumVar(0, 2, "y")

    print("Number of variables =", solver.NumVariables())

    infinity = solver.infinity()
    # Create a linear constraint, x + y <= 2.
    constraint = solver.Constraint(-infinity, 2, "ct")
    constraint.SetCoefficient(x_var, 1)
    constraint.SetCoefficient(y_var, 1)

    print("Number of constraints =", solver.NumConstraints())

    # Create the objective function, 3 * x + y.
    objective = solver.Objective()
    objective.SetCoefficient(x_var, 3)
    objective.SetCoefficient(y_var, 1)
    objective.SetMaximization()

    print(f"Solving with {solver.SolverVersion()}")
    result_status = solver.Solve()

    print(f"Status: {result_status}")
    if result_status != pywraplp.Solver.OPTIMAL:
        print("The problem does not have an optimal solution!")
        if result_status == pywraplp.Solver.FEASIBLE:
            print("A potentially suboptimal solution was found")
        else:
            print("The solver could not solve the problem.")
            return

    print("Solution:")
    print("Objective value =", objective.Value())
    print("x =", x_var.solution_value())
    print("y =", y_var.solution_value())

    print("Advanced usage:")
    print(f"Problem solved in {solver.wall_time():d} milliseconds")
    print(f"Problem solved in {solver.iterations():d} iterations")

if __name__ == "__main__":
    init.CppBridge.init_logging("basic-example.py")
    cpp_flags = init.CppFlags()
    cpp_flags.stderrthreshold = True
    cpp_flags.log_prefix = False
    init.CppBridge.set_flags(cpp_flags)
    main()

In this example the line
init.CppBridge.init_logging("basic-example.py")
never finishes and the program crashes silently.
The code works fine for ortools 9.9 with no other changes so it seems to me both these problems are related.
I did try to fix the problem with visual studio installer but this did not work for me.
What exactly are the requirements of visual studio for ortools?

Can you update the visual studio redistributable libraries.
Many users reported success doing so.
Laurent Perron | Operations Research | @.*** | (33) 1 42 68 53
00
Le mer. 12 juin 2024 à 10:23, RobinParmentier @.***> a
écrit :

Hey, I was having the same problem. Windows 11, python 3.12, ortools
9.10.4067.
For my future use I'll just use ortools 9.9 since that seems to work fine.
While I was trying to find a solution I also noticed a similar issue with
another python example from the documentation:
from ortools.init.python import init
from ortools.linear_solver import pywraplp
def main():
print("Google OR-Tools version:", init.OrToolsVersion.version_string())
# Create the linear solver with the GLOP backend.
solver = pywraplp.Solver.CreateSolver("GLOP")
if not solver:
    print("Could not create solver GLOP")
    return

# Create the variables x and y.
x_var = solver.NumVar(0, 1, "x")
y_var = solver.NumVar(0, 2, "y")

print("Number of variables =", solver.NumVariables())

infinity = solver.infinity()
# Create a linear constraint, x + y <= 2.
constraint = solver.Constraint(-infinity, 2, "ct")
constraint.SetCoefficient(x_var, 1)
constraint.SetCoefficient(y_var, 1)

print("Number of constraints =", solver.NumConstraints())

# Create the objective function, 3 * x + y.
objective = solver.Objective()
objective.SetCoefficient(x_var, 3)
objective.SetCoefficient(y_var, 1)
objective.SetMaximization()

print(f"Solving with {solver.SolverVersion()}")
result_status = solver.Solve()

print(f"Status: {result_status}")
if result_status != pywraplp.Solver.OPTIMAL:
    print("The problem does not have an optimal solution!")
    if result_status == pywraplp.Solver.FEASIBLE:
        print("A potentially suboptimal solution was found")
    else:
        print("The solver could not solve the problem.")
        return

print("Solution:")
print("Objective value =", objective.Value())
print("x =", x_var.solution_value())
print("y =", y_var.solution_value())

print("Advanced usage:")
print(f"Problem solved in {solver.wall_time():d} milliseconds")
print(f"Problem solved in {solver.iterations():d} iterations")

if name == "main":
init.CppBridge.init_logging("basic-example.py")
cpp_flags = init.CppFlags()
cpp_flags.stderrthreshold = True
cpp_flags.log_prefix = False
init.CppBridge.set_flags(cpp_flags)
main()
In this example the line
init.CppBridge.init_logging("basic-example.py")
never finishes and the program crashes silently.
The code works fine for ortools 9.9 with no other changes so it seems to
me both these problems are related.
I did try to fix the problem with visual studio installer but this did not
work for me.
What exactly are the requirements of visual studio for ortools?
—
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/4227#issuecomment-2163555562,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3J3GIN5BIZWNPAOAV3ZHB7XPAVCNFSM6AAAAABHQOQM3WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNRTGU2TKNJWGI
.
You are receiving this because you were assigned.Message ID:
<google/or-tools/issues/4227/2163555562 @.***>

I tried using the link that was posted here earlier (https://aka.ms/vs/17/release/vc_redist.x64.exe) but this didn't work for me.

Same for me, the solver crashes even though I have the latest vcredist: Microsoft Visual C++ 2015-2022 Redistributable (x64) - 14.40.33810.
Env:
OS: win 11 Entreprise
Code: jdk21

FYI, I still did not succeed in making it work (and actually stopped trying, simply freezing for now ortools version). And github windows runner have recently upgraded their Microsoft Visual C++ 2015-2022 Redistributable and the example still crashes on it with ortools 9.10.


raftstore: do not send store heartbeat when snapshot received (#8123)

cherry-pick #8123 to release-3.0

Signed-off-by: Connor<EMAIL_ADDRESS>
What problem does this PR solve?
When pre-splitting, there will be a lot of regions split at once and doing scatter-region which introduces a lot of AddPeer operations. For AddPeer operation, it includes generate and apply snapshots. After a snapshot is received, raftstore will be triggered to send store heartbeat immediately to notify PD about the change of snapshot count.
But sending store heartbeat includes some operations to get metadata from RocksDB which locks mutex of RocksDB inner. With so many store heartbeats, it causes much lock convention in RocksDB and eventually weakens the performance of apply log.
What is changed and how it works?
Remove snapshot stats message, namely, not to trigger store heartbeat after a snapshot is received. Snapshot count is not of great use for PD now, so sending store heartbeat every 10s is enough.
By the way, this PR adds more perf context metrics.
Check List
Tests

Manual test (add detailed scripts or steps below)

Release note

Do not send store heartbeat when snapshot received

/merge


Update "githug reset" function

Now githug reset only accept level name, such as githug reset init means change to the first level.
But I just want to make it accept numbers, such as githug reset 1 to jump to the 1st level. I think it would be more convenient. That's why I made this pull request.
If you think this is good please accept this pull request. Thanks.

Thanks for this!
Could you add a test similar to https://github.com/zhanglintc/githug/blob/81a1c16bf391e09dbf94934591a94105708f96ab/spec/githug/cli_spec.rb#L101
Could you also update the docs at https://github.com/zhanglintc/githug/blob/81a1c16bf391e09dbf94934591a94105708f96ab/lib/githug/cli.rb#L41
To be:
      > $ githug reset merge_squash  # or $ githug reset 45
      Will reset githug to level '#45: merge_squash'

OK. I have updated the docs and added a new test. But I'm not sure if the test I've added is right or not because I'm not familiar with rspec. Please double check it.
I don't know why Ruby 1.8.7 and Ruby 1.9.2 are always failed in Travis CI build. I think it has no relation to my code.

Thanks!
I need to work out why 1.8.7 and 1.9.2 are failing, it is unrelated to your changes though.


How to tell pulid to insert the face on a specific character if the image contain multiple people?

Lets say i want to create an image with 2 people, a man talking to a woman.
And want to insert a face to the man.
What can i do to make sure it goes like that?
And prevent the woman from getting the man face?

You may need the comfyui version of PuLID, which has attention-mask to support this

You may need the comfyui version of PuLID, which has attention-mask to support this

I was not able to make it work on comfy :'( (for some reason)

@ToTheBeginning is there any support for diffusers for attention mask to swap only one chosen face?


print_level not printing error value

Expected behavior:
Just like the docs, the error function should print error value.
    int print_level: Set print level.

        Level 1: Print iteration count and error value.

        Level 2: Level 1 and print best input values and corresponding objective function value.

        Level 3: Level 2 and print full population matrix, XX.

Level one says, that the error value is printed.
Actual Behavior:
The rel_objfn_change is printed.
I think the best objective function (my understand of error value) is far more reasonable to print, no?

Thanks for flagging. (A bit unclear from your report, but I assume you are referring to the DE/PSO algorithms.)
I've updated the docs to be a little clearer on this. What matters for "convergence" is the change in objective function value between iterations, rather than the absolute value of the objective function, though the latter can be seen at level 2.


Build of docker-container-healthchecker_0.7.2_arm64.deb is missing for Debian Buster

Description of problem
I just noticed that the .deb build for this plugin is missing for Debian Buster :
https://packagecloud.io/dokku/dokku?page=2
Steps to reproduce
lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 10 (buster)
Release:	10
Codename:	buster

apt install dokku=0.32.1
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 dokku : Depends: docker-container-healthchecker (>= 0.7.2) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

docker-container-healthchecker version
0.7.2
Output of failing command
No response

Hmmm. This was somewhat on purpose, but dokku upstream still supports buster. I'll re-add buster everywhere to fix this but will consider buster deprecated in Dokku.

I manually uploaded them.


deps: bump ruby-version to 3.2.1

@chenrui333 :wave: is the ruby version bump in this PR just to keep it as up to date as possible?  or does the version bump bring something of value specific to the project like a new ruby feature, specific performance improvement, etc?


Problem training an lstm with different number of timesteps

I want to train an lstm with samples of different size of timesteps
import numpy as np
train_x = [     [         [1,1], # timest1         [2,2]  # timest2      ], # sample1     [         [1,1], # timest1         [2,2], # timest2         [3,3], # timest3         [4,4]  # timest4     ], # sample2     [         [1,1], # timest1         [2,2], # timest2         [3,3]  # timest3     ] # sample3 ]
train_y = np.array([[ 1, 1, 1, 1, 1],
					[ 2, 1, 1, 1, 2],
					[ 0.5, 1, 1, 1, 3]
					])
train_x = np.array(train_x)
train_y = np.array(train_y)
from keras.models import Sequential
from keras.layers.core import Dense, Dropout
from keras.layers.recurrent import LSTM
from keras.regularizers import l2, activity_l2
in_dim = 2
model = Sequential()
model.add(LSTM(50, input_dim = in_dim, activation='tanh'))
model.add(Dense(5, activation='relu', W_regularizer=l2(0.01) , activity_regularizer=activity_l2(0.01) ))
model.compile(loss='mse', optimizer='sgd')
t = model.fit(train_x, train_y, batch_size=2, nb_epoch=5)
it yelds an error
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/keras/models.py", line 489, in fit
  shuffle=shuffle, metrics=metrics)
File "/usr/lib/python2.7/site-packages/keras/models.py", line 210, in _fit
  outs = f(*ins_batch)
File "/usr/lib/python2.7/site-packages/Theano-0.7.0-py2.7.egg/theano/compile/function_module.py", line 786, in __call__
  allow_downcast=s.allow_downcast)
File "/usr/lib/python2.7/site-packages/Theano-0.7.0-py2.7.egg/theano/tensor/type.py", line 116, in filter
  data = theano._asarray(data, dtype=self.dtype)
File "/usr/lib/python2.7/site-packages/Theano-0.7.0-py2.7.egg/theano/misc/safe_asarray.py", line 33, in _asarray
  rval = numpy.asarray(a, dtype=dtype, order=order)
File "/usr/lib64/python2.7/site-packages/numpy/core/numeric.py", line 474, in asarray
  return array(a, dtype, copy=False, order=order)
ValueError: ('Bad input argument to theano function with name "/usr/lib/python2.7/site-packages/keras/models.py:399"  at index 0(0-based)', 'setting an array element with a sequence.')
I know that i could use padding but since i use
word embeddings i do not want to use zero matrices to pad train_x
because it might get a meaning of another word.
The feature vectors are of the same length so the lstm should train regardless of number of timesteps.
Is there a way to do so in keras?
Thank you all in advance for your support

setting an array element with a sequence. is numpy related. Check this out:
http://stackoverflow.com/questions/4674473/valueerror-setting-an-array-element-with-a-sequence

I want to train an lstm with samples of different size of timesteps

You can use padding or masking for shorter sequences. In any case, the input to a Keras model must be a tensor, so all your sequences within a batch must have the same length.


Parameters are not decoded

PageProps.params.someparameter is URL encoded, should not be.

hi can i work on this issue?

I don't think you need a question. I would've been working on it if I had time. Just create a PR with this description: Closes #577.

This will be fixed after we update the deps after the next release 🎉


JSON Schema Relative Imports Broken

monaco-editor version: >=0.19.0
Browser: Any
OS: Any
MRE Repository: https://github.com/wmain/monaco-bug
Version 0.19.0 introduces a change that breaks JSON schema's ability to utilize relative imports for $ref properties. This is an important use case for anyone who serves their client code from different environments/hosts. After some digging I believe I've traced the issue to vscode-uri, specifically in the migration/change referenced here, as defaulting to the file protocol will throw CORS errors.

@wmain Can you share a small code sample that contains the schema similar to this: https://microsoft.github.io/monaco-editor/playground.html#extending-language-services-configure-json-defaults ?

@aeschli I'm not sure I follow. The provided repository has a full code sample and schema in it.

Thanks, now I see.
I pushed a fix. This kind of worked by coincidence before. Now we properly resolve the relative ref to the URI of the schema. So in your example we will try to fetch http://myserver/relative.json as that the schema has URI http://myserver/foo-schema.json

Thanks for the fix!


Support Several MLLM Models

What does this PR do?
support models below

[x] Video-LLaVA with videos and images as inputs

sft with only video/image inputs (mllm_demo/video_demo)
sft with video/image mix inputs (visual_mix_demo)

[ ] LLaVA-Next-Video
[x] LLaVA-Next
[x] Idefics-2 (need update of transformers)

consistent yaml
### model
model_name_or_path: LanguageBind/Video-LLaVA-7B-hf
#visual_inputs: true
video_inputs: true

### method
stage: sft
do_train: true
finetuning_type: lora
lora_target: q_proj,v_proj

### dataset
dataset: video_demo # mllm_demo visual_mix_demo
template: vicuna
cutoff_len: 1024
max_samples: 1000
overwrite_cache: true
preprocessing_num_workers: 16
image_key: pixel_values_images
video_key: pixel_values_videos

### output
output_dir: saves/videollava-7b/lora/sft
logging_steps: 10
save_steps: 500
plot_loss: true
overwrite_output_dir: true

### train
per_device_train_batch_size: 1
gradient_accumulation_steps: 8
learning_rate: 0.0001
num_train_epochs: 3.0
lr_scheduler_type: cosine
warmup_steps: 0.1
fp16: true

### eval
val_size: 0.1
per_device_eval_batch_size: 1
evaluation_strategy: steps
eval_steps: 500

Before submitting

[x] Did you read the contributor guideline?

Hi! By LlaVA-NEXT did you mean specifically this model? Similarly, does LlaVA-NEXT-Video refer to this model?
If not, would you be able to clarify which model you referred to? If yes, please let me know when they're good to use. Thank you!

All models are hf official models
for LLaVA, you could refer to https://huggingface.co/llava-hf

Thanks for the clarification! Please let me know when you support the LlaVA-Next-Video model. Thank you!

Hi. According to your PR message, I assumed that I could use LlaVA-NEXT with LlaMA Factory. However, I tried and it still didn't work. Below is my yaml file. Could you help me debug this? Thanks so much!
### model
model_name_or_path: llava-hf/llava-v1.6-mistral-7b-hf
visual_inputs: true

### method
stage: sft
do_train: true
finetuning_type: full

### ddp
ddp_timeout: 180000000
deepspeed: examples/deepspeed/ds_z3_config.json

### dataset
dataset: mllm_demo
template: mistral
cutoff_len: 1024
#max_samples: 1000
overwrite_cache: true
preprocessing_num_workers: 16

### output
output_dir: saves/llava_next/sft
logging_steps: 10
save_steps: 500
plot_loss: true
overwrite_output_dir: true

### train
per_device_train_batch_size: 1
gradient_accumulation_steps: 8
learning_rate: 1.0e-4
num_train_epochs: 3.0
lr_scheduler_type: cosine
warmup_ratio: 0.1
fp16: true

### eval
val_size: 0.1
per_device_eval_batch_size: 1
eval_strategy: steps
eval_steps: 500

Furthermore, will the LLaVA-Next-Video model be supported soon? Thanks!

I also tried your YAML file provided above to run the video-llava model but it also didn't work. I got an error about HFArgumentParser of some keys like image_key, video_inputs, ...
Could you help me with this?

This PR has not been merged into main, so every feature in this PR can not be tried yet using latest llama-factory.
You could wait until hiyouga release the new version of llama-factory or this PR is closed!

I did! Thank you for your help! Could you also ping hiyouga for this issue? Sorry for bothering you. My lab (USC ISI) is working on something and we would really appreciate your help if we could use your tool to use LlaVA-Next. Please let me know when this is done :D Thanks again!

Hi! May I inquire about any update on this? Thank you!

Hi! May I inquire about any update on this? Thank you!

Could you give me your email?

Hi! My email is<EMAIL_ADDRESS>We can talk on WeChat too if you'd prefer. Let me know!

How about miniCPM V2.5?

I did! Thank you for your help! Could you also ping hiyouga for this issue? Sorry for bothering you. My lab (USC ISI) is working on something and we would really appreciate your help if we could use your tool to use LlaVA-Next. Please let me know when this is done :D Thanks again!

@Davidchu11381 I just put up a simple codebase that supports the finetuning of llava-next-video. Certainly it will not be as optimized as LLaMA-Factory, but it might be easier for adaptation and quick experiments. Feel free to check it out https://github.com/zjysteven/lmms-finetune

How about miniCPM V2.5?

On the road!

@BUAADreamer Meh, while I understand that you are the owner/maintainer of this repo and have all the rights to delete users' comments, I do find it quite shocking and disappointing that you did so. It's even just a message to another user.

@zjysteven Sorry for deleting your comment without giving an explanation, since this is PR, I wanted to leave as much as possible only content related to the development of these features, if you want to publicize your project, you can go to the corresponding issue and leave a message!

I see. Thanks for clarifying. I've deleted the earlier comment (will also delete this one later just so you can see it).

Thanks for understanding!!


Add fixed dimensions to SVG to avoid errors

The omission of fixed (pixel-)dimensions causes a "The SVG image must have width and height defined (in pixels), canvas API needs them." error in FoundryVTT when the SVG is used as a status icon on a token.

Discord message in the Foundry VTT discord server for reference: https://discord.com/channels/170995199584108546/722566083499786352/1144006493419610253

Thanks!


Question about inference time and CUDA version

Hi, thanks for your great work!
I'm wondering about the interference speed of the proposed model(VFDepth).
and which CUDA version was used in this environment(Tesla A100) for Training and Evaluation?
Thank you!

Hi, thank you for your interest in our work.
First for the configuration, yes we've trained and tested our model on A100 GPU with 11.3 CUDA version as mentioned in here.
For the inference time, our depth model takes around ~70ms using 1 batch(6 images, cameras) on A100 GPU environment.


Simplify some constant reductions in QSU

I'm not sure I'm doing the right thing with providence here, hence the unused StateT over QDims. If I am, I can delete that.

Restarting, looks like a (potentially new?) intermittent double-related failure.

I guess we just have some build failures because of hoarder now? Not sure if this is mergeable.

@edmundnoble Those hoarder errors are just noise, they don't fail the build. Looks like you just need to mark reductionsonnull for some backends

Thanks @rintcius.


env issue

ERROR: Could not find a version that satisfies the requirement byted-cruise==0.7.3 (from versions: none)
ERROR: No matching distribution found for byted-cruise==0.7.3
this problem happens when using python 3.10 and 3.12

Just remove this dependency.

Just remove this dependency.

I also faced similar issues for deepspeed, iotop.

Hi, there are some internal packages and you can just remove those dependencies. What about the issue of deepspeed?

Hi, solved the problem. I had removed some packages and could run the infer cli command. Right now I'm trying ot decouple the inference in a notebook.
The problem that I am facing is when I try to run the following portion:
input_ids_llava = torch.cat([
                        (torch.ones(input_ids.shape[0], 1) *uni_prompting.sptids_dict['<|mmu|>']).to(device),
                        input_ids_system,
                        (torch.ones(input_ids.shape[0], 1) * uni_prompting.sptids_dict['<|soi|>']).to(device),
                        # place your img embedding here
                        (torch.ones(input_ids.shape[0], 1) * uni_prompting.sptids_dict['<|eoi|>']).to(device),
                        input_ids,
                ], dim=1).long()

I get Runtime error.
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu! (when checking argument for argument tensors in method wrapper_CUDA_cat)
Any idea on this ?

Looks like the tensors input_ids_system and input_ids  are not on the same device. You can manually put them to GPU.
I didn't encounter such a problem.

I solved the problem by changing input_ids_system and input_ids to following code:
input_ids_system = input_ids_system.clone().detach().to(device)
Thanks


Forward Plus: 3D rendering fails and/or freezes Godot, spams errors

Godot version
v4.0.beta.custom_build [4dc2c8ae6]
System information
Linux (Fedora 36), AMD R9 390x w/ amdgpu
Issue description
3D rendering using the Forward Plus renderer fails and sometimes freezes Godot, printing a multitude of errors every frame, including:

The entire contents of scene_forward_clustered.glsl
Condition "!shader" is true. Returning: RID()
Condition "rid.is_null()" is true. Returning: rid
Condition "!uniform_set" is true.
Uniforms were never supplied for set (0) at the time of drawing, which are required by the pipeline

They are also printed once upon opening the project manager.
This is appears to be a regression caused by #66107, reverting it fixes the errors.
Steps to reproduce
Open any project using Forward Plus. Mobile seems unaffected.
Minimal reproduction project
No response

cc @clayjohn

Looks to be a merge conflict not caught by git. I'll have a PR ready as soon as my compile finishes


cmd/compile: skip zero'ing order array for select statements

The compiler zero-initializes the order array before calling selectgo, but the runtime ends up overwriting almost all of it anyway. We could probably shave a few instructions from call sites if selectgo took full responsibility for initializing the array.
I think this is just a matter of adding a pollorder[0] = 0 assignment in selectgo, and removing the nod(OAS, order, nil) assignment in cmd/compile/internal/gc/select.go.
See also https://github.com/golang/go/issues/40397#issuecomment-663756349.
/cc @cuonglm

Hi! I'm a new contributor to go. I authored a CL as described to address this issue here: https://go-review.googlesource.com/c/go/+/244797
One question I have is, to help me learn the codebase, how does nod(OAS, left, nil) wind up zeroing out left? I spent about 10 minutes trying to track down the memset equivalent that would be generated by this AST node, but couldn't find it. Could someone point me towards that? Trying to understand how things work end-to-end!

@hherman1 Thanks for looking into this. I can review your CL once the tree reopens for Go 1.16 development.
As for where OAS with nil as the RHS node, look at how gc/ssa.go handles OAS nodes. There's logic there for treating a nil RHS as an implicit zero value.

@mdempsky I did try making your suggestion change, that only save us 2 MOVQ instructions, there's still DUFFZERO instruction in generated assembly.

Thanks for the pointer @mdempsky! Very helpful

@cuonglm if you don't mind, I'm curious how did you generate/inspect the produced assembly? Would like to try that myself

@cuonglm if you don't mind, I'm curious how did you generate/inspect the produced assembly? Would like to try that myself

Just build the compiler with your patch, then run go tool compile -S main.go

@cuonglm Thanks. To be clear, I don't expect this to be a huge win; just one or two instructions per select statement sounds about right.
Are you sure the DUFFZERO instruction was zero'ing the order array though? I'd expect a DUFFZERO to zero the selv array (because it has pointers), but not order.

@cuonglm Thanks. To be clear, I don't expect this to be a huge win; just one or two instructions per typical select statement sounds about right.
Are you sure the DUFFZERO instruction was zero'ing the order array though? I'd expect a DUFFZERO to zero the selv array (because it has pointers), but not order.

Ah right, that DUFFZERO is for zero'ing the selv array.

Thanks for confirming. FWIW, #40410 should help reduce (but won't eliminate) the DUFFZERO instructions.

I'm convinced I'm doing something wrong, as the assembly being generated for me for the following source is the same with and without my patch. I'm taking the following steps:
$ ./make.bash
$ /usr/local/go/bin/go version
go version go1.14.4 darwin/amd64
$ /Volumes/git/go/bin/go version
go version devel +a13705b503 Sun Jul 26 15:04:14 2020 -0700 darwin/amd64
$ env GOARCH=amd64 GOOS=linux /usr/local/go/bin/go tool compile -S ../test/codegen/select.go > withzeroing.s
$ env GOARCH=amd64 GOOS=linux /Volumes/git/go/bin/go tool compile -S ../test/codegen/select.go > withoutzeroing.s
$ diff withoutzeroing.s  withzeroing.s
<no output>

Anything obvious I'm doing wrong here? Does your process look different than mine? The program in question:
// asmcheck

// Copyright 2019 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// These tests check code generation of select statements.

package codegen

func testPollorderNotZeroed(x string) int {
	c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25,
	c26, c27, c28, c29, c30, c31, c32, c33 := make(chan string), make(chan string), make(chan string),
		make(chan string), make(chan string), make(chan string),
		make(chan string), make(chan string), make(chan string),
		make(chan string), make(chan string), make(chan string),
		make(chan string), make(chan string), make(chan string),
		make(chan string), make(chan string), make(chan string),
		make(chan string), make(chan string), make(chan string),
		make(chan string), make(chan string), make(chan string),
		make(chan string), make(chan string), make(chan string),
		make(chan string), make(chan string), make(chan string),
		make(chan string), make(chan string), make(chan string)

	select {
	case <-c1:
		return 0
	case <-c2:
		return 2
	case <-c3:
		return 3
	case <-c4:
		return 4
	case <-c5:
		return 5
	case <-c6:
		return 6
	case <-c7:
		return 7
	case <-c8:
		return 8
	case <-c9:
		return 9
	case <-c10:
		return 10
	case <-c11:
		return 11
	case <-c12:
		return 12
	case <-c13:
		return 13
	case <-c14:
		return 14
	case <-c15:
		return 15
	case <-c16:
		return 16
	case <-c17:
		return 17
	case <-c18:
		return 18
	case <-c19:
		return 19
	case <-c20:
		return 20
	case <-c21:
		return 21
	case <-c22:
		return 22
	case <-c23:
		return 23
	case <-c24:
		return 24
	case <-c25:
		return 25
	case <-c26:
		return 26
	case <-c27:
		return 27
	case <-c28:
		return 28
	case <-c29:
		return 29
	case <-c30:
		return 30
	case <-c31:
		return 31
	case <-c32:
		return 32
	case <-c33:
		return 33
	}
}

@hherman1: they produce different output for me. You also may want to try with just 3 cases, 2 for listen to channel, 1 for default. Something like:
package main

func main() {
	ch1 := make(chan int)
	ch2 := make(chan int)
	for {
		select {
		case <-ch1:
		case <-ch2:
		default:
		}
	}
}

You can easily see there's no MOVQ after DUFFZERO.

Is the CL you're using locally the same as the one I posted above? MOVQ exists with and without my change on my machine (unless I'm misusing the compiler. Apologies for my newbiness :P)

Is the CL you're using locally the same as the one I posted above? MOVQ after DUFFZERO exists with and without my change on my machine (unless I'm misusing the compiler. Apologies for my newbiness :P)

Yes, I cherry pick your CL.
Before:
    0x00a0 00160 (main.go:7)    DUFFZERO    $269
    0x00b3 00179 (main.go:7)    MOVQ    $0, ""..autotmp_3+44(SP)
    0x00bc 00188 (main.go:7)    MOVQ    $0, ""..autotmp_3+48(SP)
    0x00c5 00197 (main.go:8)    MOVW    $1, ""..autotmp_2+88(SP)

After:
    0x00a0 00160 (main.go:7)    DUFFZERO    $269
    0x00b3 00179 (main.go:8)    MOVW    $1, ""..autotmp_2+88(SP)

Thanks for confirming. FWIW, #40410 should help reduce (but won't eliminate) the DUFFZERO instructions.

After #40410, all DUFFZERO instructions are gone.


CDPCP-1212. Password expiration set in set password api workflow

The password expiration time is not included as part of the set password
request. The PasswordService retrieves the password policy from the UMS and
calculates the expiration Instant. The SetPasswordHandler calls the FreeIpaClient
with the expiration Instant when setting the password.

This is needed to complete Dec 16 deliverable CDPCP-1212 & CDPCP-1041.


chore: airflow - replace unixODBC with unixODBC-devel in builder

Description
Please add a description here.
Definition of Done Checklist

Not all of these items are applicable to all PRs, the author should update this template to only leave the boxes in that are relevant
Please make sure all these things are done and tick the boxes

- [ ] Changes are OpenShift compatible
- [ ] All added packages (via microdnf or otherwise) have a comment on why they are added
- [ ] Things not downloaded from Red Hat repositories should be mirrored in the Stackable repository and downloaded from there
- [ ] All packages should have (if available) signatures/hashes verified
- [ ] Add an entry to the CHANGELOG.md file
- [ ] Integration tests ran successfully

TIP: Running integration tests with a new product image
The image can be built and uploaded to the kind cluster with the following commands:
bake --product <product> --image-version <stackable-image-version>
kind load docker-image <image-tagged-with-the-major-version> --name=<name-of-your-test-cluster>

See the output of bake to retrieve the image tag for <image-tagged-with-the-major-version>.

But do we actually need it? Which is better to have?

But do we actually need it? Which is better to have?

Yes, fair point. Instinctively I'd say if it works with the non-devel library then that's good enough.

Closing this: if the airflow odbc provider can compile without the development files (headers and libraries) then unixODBC-devel is not necessary.


Large Input Issue & Missing Cities for United States

Hello I am a proud sponsor of your scraper, thank you for creating this and saving me a lot of time!
I have found that United States has 60,514 cities

I am unable to start with ~60,000 Search Queries using Bulk Edit
When using Extract Cities by Country, it shows USA as only 2829 cities, but I found a list with 50,000+ cities https://paste.fo/a76c6b40e3a9

Is there a way to fix the error with large Bulk Edits?
Is there a way to update the cities in USA?

Thanks.


sign app using xcode

as seen here https://github.com/Aluxian/Facebook-Messenger-Desktop/blob/master/gulpfile.coffee

Should this be closed given that --sign is implemented?

Looks like it.


The AgentPool resource looses the agent_pool_id and token_value after a refresh

What happened?
When deploying a new AgentPool using this provider, if the user runs pulumi refresh, then the resource looses the value for agent_pool_id and token_value.
Here are the steps to reproduce with the code below

Init a new stack
Select the new stack
Deploy the code below ✔
Run a pulumi refresh ✔
Run a pulumi update ✔
The 2  stacks output are gone, including in the stack state ❌

Upon inspection of the state after step 4 and step 5, the loss in values (agent_pool_id and token_value) seems to only occur once step 5 has completed (not at the end of step 4) (See state diff below).
I haven't been able to find a way to recover from this situation.
Note:

I also noticed the field description changes to "" after the refresh and back to null after the update.

Example
"""A Python Pulumi program"""

import pulumi
import pulumi_pulumiservice as pulumiservice

agent_pool = pulumiservice.AgentPool(
    name="agent-pool",
    resource_name="agent-pool",
    organization_name=pulumi.get_organization(),
)

pulumi.export("agent_pool_id", agent_pool.agent_pool_id)
pulumi.export("token_value", agent_pool.token_value)

Output of pulumi about
CLI
Version      3.129.0
Go Version   go1.22.6
Go Compiler  gc

Plugins
KIND      NAME           VERSION
resource  pulumiservice  0.23.1
language  python         unknown

Host
OS       debian
Version  12.6
Arch     x86_64

This project is written in python: executable='/home/aureq/work/customers/zendesk/5662/venv/bin/python' version='3.11.9'

Current Stack: menfin/zendesk/5662

TYPE                            URN
pulumi:pulumi:Stack             urn:pulumi:5662::zendesk::pulumi:pulumi:Stack::zendesk-5662
pulumi:providers:pulumiservice  urn:pulumi:5662::zendesk::pulumi:providers:pulumiservice::default_0_23_1
pulumiservice:index:AgentPool   urn:pulumi:5662::zendesk::pulumiservice:index:AgentPool::agent-pool

Found no pending operations associated with 5662

Backend
Name           pulumi.com
URL            https://app.pulumi.com/aureq
User           aureq
Organizations  aureq, team-ce, menfin, menfin-team, demo
Token type     personal

Dependencies:
NAME                  VERSION
pip                   24.2
pulumi-pulumiservice  0.23.1
setuptools            72.2.0
wheel                 0.44.0

Pulumi locates its logs in /tmp by default

Additional context
--- out-2.json  2024-08-14 17:53:35.020438050 +1000
+++ out-3.json  2024-08-14 17:53:46.544210899 +1000
@@ -2,7 +2,7 @@
     "version": 3,
     "deployment": {
         "manifest": {
-            "time": "2024-08-14T17:53:23.170580504+10:00",
+            "time": "2024-08-14T17:53:41.904993372+10:00",
             "magic": "754c2596e98a48b601c099e42087c3a8042e7089feb1db31fe3368617a6dfdcc",
             "version": "v3.129.0"
         },
@@ -20,13 +20,6 @@
                 "urn": "urn:pulumi:5662::zendesk::pulumi:pulumi:Stack::zendesk-5662",
                 "custom": false,
                 "type": "pulumi:pulumi:Stack",
-                "outputs": {
-                    "agent_pool_id": "169029e7-c003-4a02-97cd-abcd70fd908a",
-                    "token_value": {
-                        "4dabf18193072939515e22adb298388d": "1b47061264138c4ac30d75fd1eb44270",
-                        "ciphertext": "AAABABwUzrBxJcN2UAzHYmGpuQwMpMbDHv8YUrKe34c9MzZ2sRRnCTPmpkc9vg2sTvNZ0F48UCpVAHcsgd4qPyWhRetMPLLFXEXDZ4vD"
-                    }
-                },
                 "created": "2024-08-14T07:53:03.11286988Z",
                 "modified": "2024-08-14T07:53:03.11286988Z",
                 "sourcePosition": "project:///venv/lib/python3.11/site-packages/pulumi/runtime/stack.py#139"
@@ -52,19 +45,13 @@
                 "id": "menfin/agent-pool/169029e7-c003-4a02-97cd-abcd70fd908a",
                 "type": "pulumiservice:index:AgentPool",
                 "inputs": {
-                    "description": "",
                     "name": "agent-pool",
                     "organizationName": "menfin"
                 },
                 "outputs": {
-                    "agentPoolId": "169029e7-c003-4a02-97cd-abcd70fd908a",
-                    "description": "",
+                    "description": null,
                     "name": "agent-pool",
-                    "organizationName": "menfin",
-                    "tokenValue": {
-                        "4dabf18193072939515e22adb298388d": "1b47061264138c4ac30d75fd1eb44270",
-                        "ciphertext": "AAABANcmoK/IjC+umKRb/p0RWtAT5x4qEeo7txTvZ82vPQ=="
-                    }
+                    "organizationName": "menfin"
                 },
                 "parent": "urn:pulumi:5662::zendesk::pulumi:pulumi:Stack::zendesk-5662",
                 "provider": "urn:pulumi:5662::zendesk::pulumi:providers:pulumiservice::default_0_23_1::5eb2a336-20fb-4e09-a7db-f09643687b6f",
@@ -76,7 +63,7 @@
                     "tokenValue"
                 ],
                 "created": "2024-08-14T07:53:05.2194437Z",
-                "modified": "2024-08-14T07:53:22.917751268Z",
+                "modified": "2024-08-14T07:53:41.520329129Z",
                 "sourcePosition": "project:///venv/lib/python3.11/site-packages/pulumi_pulumiservice/agent_pool.py#105"
             }
         ]

Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

@aureq I believe I've addressed the bulk of the issue but I was not able to repro the disappearing agent pool ID during my testing and it doesn't show up in the automated tests. If you have a clear example of how to repro that piece please open a new issue.

I confirm this is all working fine now. Thank you very much 🧡


Spinners strings defined in a Dict

Defining Spinners in a Dict avoids to write ifelse conditions and compacts the code of get_named_string().
get_named_string(x::Symbol) = get(SPINNERS, x, "?")

SPINNERS = Dict(
	:arrow => "←↖↑↗→↘↓↙",
	:bar => "▁▂▃▄▅▆▇█▇▆▅▄▃▂▁",
	:blink => "⊙◡⊙⊙◡⊙⊙⊙⊙⊙⊙⊙",
        ...)

I'm not sure why the CI hasn't run. The workflow should run on any pull request to the main branch, and I can't find a setting on GitHub that allows this for new contributors or an option to override the default.

I'm not sure why the CI hasn't run. The workflow should run on any pull request to the main branch, and I can't find a setting on GitHub that allows this for new contributors or an option to override the default.

Look's like the CI needs more approvals ?

Look's like the CI needs more approvals ?

As far as I can tell, that isn't the issue. Approvals aren't required as part of branch protection for this repo. I looked over the relevant documentation, but there is no option to "Workflow(s) awaiting approval" section. It looks like the checks are still just waiting to be run.
I'll try making a commit to see if that moves things along.

@curio-sitas, if the workflow doesn't start soon, I'll just bypass the branch protection and merge everything manually. Thanks again for your contribution!
By the way, I plan to change how the spinner is generated. Instead of shelling out to make a new process, I'll be using distributed threads. As a result, I might not be able to approve major changes until after I push my own. But localized revisions like this one are always appreciated!

@curio-sitas, if the workflow doesn't start soon, I'll just bypass the branch protection and merge everything manually. Thanks again for your contribution!
By the way, I plan to change how the spinner is generated. Instead of shelling out to make a new process, I'll be using distributed threads. As a result, I might not be able to approve major changes until after I push my own. But localized revisions like this one are always appreciated!

I'm interesting to see that ! Also, in the same mind than this PR i am interested to add more Spinners in the Dict (#36)

@curio-sitas My bad. I forgot that I had disabled the workflow from the actions menu, since I was planning to make breaking changes. I wish there was some indicator from this screen...
Thanks for your help. I'm rather new to Julia, as you could probably tell from all of my ifelse conditions. So, I'm always grateful for any contributions!


PNG resize error

Describe the bug
When trying to re-size a PNG image, I get this error message:
Processing error (type=png): Error: unreachable
To Reproduce
Steps to reproduce the behavior:

Upload a PNG image
Attempt to resize
See error

This should be fixed now!


(infer_weight.gctx for inference has been uploaded in Release)

Where can this file be found?
I see there is an issue opened with this title but I cannot read the response. Please respond in English readable format.
Thanks.

I had the same problem
Traceback (most recent call last):
File "D:\Program Files\JetBrains\PyCharm 2023.1.3\plugins\python\helpers\pydev\pydevd.py", line 1496, in _exec
pydev_imports.execfile(file, globals, locals)  # execute the script
File "D:\Program Files\JetBrains\PyCharm 2023.1.3\plugins\python\helpers\pydev_pydev_imps_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "D:\sci_job\TranSiGen\TranSiGen-main\src\prediction.py", line 105, in
prediction_profiles(args)
File "D:\sci_job\TranSiGen\TranSiGen-main\src\prediction.py", line 39, in prediction_profiles
infer_weight = parse(weight_path, cid=['OFFSET']+landmark_ids, rid=best_infer_ids)
File "D:\Anaconda\envs\drug_cell_OT\lib\site-packages\cmapPy\pandasGEXpress\parse.py", line 65, in parse
out = parse_gctx.parse(file_path, convert_neg_666=convert_neg_666,
File "D:\Anaconda\envs\drug_cell_OT\lib\site-packages\cmapPy\pandasGEXpress\parse_gctx.py", line 65, in parse
raise Exception(err_msg.format(full_path))
Exception: The given path to the gctx file cannot be found. full_path: ../data/LINCS2020/infer_weight.gctx
python-BaseException


avoid syntax highlighter confusion

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "patch-1" git@github.com:friism/swarm.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

LGTM

LGTM


petclinic.css

Hello people ...
I can run the project but css is missing on the repo ...
Layout fragment :
Is the project here complete ?
Thanks :-)

Yes, it is complete. You have to run a build on the command line, or from your IDE with Maven to generate the CSS.
UPDATE: in #868 we made the decision to commit CSS to source code and put the generation configuration behind a profile.

Hi Dave.
Thanks a lot ... it was a quick and very helpful response.
It work good thank you again : cheers from Portugal :-)


C415 doc and/or implementation is broken

The documentation for C415 (https://docs.astral.sh/ruff/rules/unnecessary-subscript-reversal/) states that it makes the following changes:
Examples:
reversed(iterable[::-1])
set(iterable[::-1])
sorted(iterable)[::-1]

Use instead:
reversed(iterable)
set(iterable)
sorted(iterable, reverse=True)

But unless I'm doing something wrong, it doesn't:
$ cat rev.py
def f(iterable):
    x = reversed(iterable[::-1])
    y = set(iterable[::-1])
    z = sorted(iterable)[::-1]
    return x, y, z
$ python -m ruff check --select=C415 --fix --diff rev.py
$ python -m ruff --version
ruff 0.0.292

Notice no warnings.
The reason I was checking this in the first place was that the first example (changing reversed(iterable[::-1]) to reversed(iterable)) is obviously wrong: if Ruff did that, it would result in the eventual order of the output being the wrong way. Possibly Ruff should output just iterable in this case, though it doesn't feel like a common issue.

Yeah, that's definitely wrong.

Need to figure out whether it's the docs, implementation, or both. Thanks!

And I'm indeed doing something wrong: if --fix is passed, Ruff doesn't print warnings.
$ python -m ruff check rev.py --select=C4
rev.py:2:9: C415 Unnecessary subscript reversal of iterable within `reversed()`
rev.py:3:9: C415 Unnecessary subscript reversal of iterable within `set()`

But that still leaves two issues:

The doc example about reversed() is wrong
The implementation doesn't complain about the sorted() pattern the doc mentions

(Ruff does print warnings with --fix; I think it's --diff that suppresses the warnings, since the purpose of that flag is to show fix changes.)


[RadioFrance] Fix broken playlist generation

IMPORTANT: PRs without the template will be CLOSED
Description of your pull request and other information
Contains a fix for the bug identified in issue #9526 and updates some older tests

Because the JS api is no longer accessible, the extractor now scrapes through the HTML on the webpage to find relevant javascript objects that contain the right info
Fix live playlist identification for live substations on mouv and fip channels
Fixes thumbnail identification for broadcaster profile playlists
Updates some older tests such as podcasts that were missing, replace them with working ones

Template

Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8 and ran relevant tests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check all of the following options that apply:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[x] Fix or improvement to an extractor (Make sure to add/update tests)
[ ] New extractor (Piracy websites will not be accepted)
[ ] Core bug fix/improvement
[ ] New feature (It is strongly recommended to open an issue first)

Hello @LonMcGregor,
I quickly  tried this Pr, I get this error:
/tmp$ git clone git@github.com:LonMcGregor/yt-dlp.git
Cloning into 'yt-dlp'...
remote: Enumerating objects: 121822, done.
remote: Total 121822 (delta 0), reused 0 (delta 0), pack-reused 121822 (from 1)
Receiving objects: 100% (121822/121822), 46.90 MiB | 5.04 MiB/s, done.
Resolving deltas: 100% (95168/95168), done.
/tmp$ cd yt-dlp
/tmp/yt-dlp$ ./yt-dlp.sh -vx 'https://www.radiofrance.fr/franceculture/podcasts/serie-les-aventures-de-tintin-les-cigares-du-pharaon'
[debug] Command-line config: ['-vx', 'https://www.radiofrance.fr/franceculture/podcasts/serie-les-aventures-de-tintin-les-cigares-du-pharaon']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>from yt-dlp/yt-dlp [ff0779267] (source)
[debug] Lazy loading extractors is disabled
[debug] Git HEAD: dd74aa0bc
[debug] Python 3.11.2 (CPython x86_64 64bit) - Linux-6.1.0-26-amd64-x86_64-with-glibc2.36 (OpenSSL 3.0.14 4 Jun 2024, glibc 2.36)
[debug] exe versions: ffmpeg 5.1.6-0 (setts), ffprobe 5.1.6-0, rtmpdump 2.4
[debug] Optional libraries: Cryptodome-3.11.0, brotli-1.0.9, certifi-2022.09.24, mutagen-1.46.0, pyxattr-0.8.1, requests-2.28.1, sqlite3-3.40.1, urllib3-1.26.12, websockets-10.4
[debug] Proxy map: {}
[debug] Request Handlers: urllib
[debug] Loaded 1803 extractors
[RadioFrancePodcast] Extracting URL: https://www.radiofrance.fr/franceculture/podcasts/serie-les-aventures-de-tintin-les-cigares-du-pharaon
[RadioFrancePodcast] serie-les-aventures-de-tintin-les-cigares-du-pharaon: Downloading serie-les-aventures-de-tintin-les-cigares-du-pharaon page 1
[download] Downloading playlist: Les Cigares du Pharaon : les Aventures de Tintin
ERROR: 'path'
Traceback (most recent call last):
  File "/tmp/yt-dlp/yt_dlp/YoutubeDL.py", line 1606, in wrapper
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/yt-dlp/yt_dlp/utils/_utils.py", line 2450, in <lambda>
    return type(self.ydl)._handle_extraction_exceptions(lambda _, i: self._entries[i])(self.ydl, i)
                                                                     ~~~~~~~~~~~~~^^^
  File "/tmp/yt-dlp/yt_dlp/utils/_utils.py", line 2215, in __getitem__
    self._cache.extend(itertools.islice(self._iterable, n))
  File "/tmp/yt-dlp/yt_dlp/extractor/radiofrance.py", line 277, in _generate_playlist_entries
    f'https://www.radiofrance.fr/{entry["path"]}', url_transparent=True, **traverse_obj(entry, {
                                  ~~~~~^^^^^^^^
KeyError: 'path'

[RadioFrancePodcast] Playlist Les Cigares du Pharaon : les Aventures de Tintin: Downloading 1 items
[download] Finished downloading playlist: Les Cigares du Pharaon : les Aventures de Tintin```

I have to admit, I am not familiar with `yt-dlp` development and I may did a mistake.

FYI, I still see the issue.

yes, it looks like the site has updated and changed something. I will have another look to fix this.

humm...:
$ ./yt-dlp.sh -vx 'http://www.radiofrance.fr/franceculture/podcasts/serie-les-aventures-de-tintin-les-cigares-du-pharaon'
[debug] Command-line config: ['-vx', 'http://www.radiofrance.fr/franceculture/podcasts/serie-les-aventures-de-tintin-les-cigares-du-pharaon']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>from yt-dlp/yt-dlp [1a176d874] (source)
[debug] Lazy loading extractors is disabled
[debug] Git HEAD: 3c5e3af7b
[debug] Python 3.11.2 (CPython x86_64 64bit) - Linux-6.1.0-26-amd64-x86_64-with-glibc2.36 (OpenSSL 3.0.14 4 Jun 2024, glibc 2.36)
[debug] exe versions: ffmpeg 5.1.6-0 (setts), ffprobe 5.1.6-0, rtmpdump 2.4
[debug] Optional libraries: Cryptodome-3.11.0, brotli-1.0.9, certifi-2022.09.24, mutagen-1.46.0, pyxattr-0.8.1, requests-2.28.1, sqlite3-3.40.1, urllib3-1.26.12, websockets-10.4
[debug] Proxy map: {}
[debug] Request Handlers: urllib
[debug] Loaded 1838 extractors
[RadioFrancePodcast] Extracting URL: http://www.radiofrance.fr/franceculture/podcasts/serie-les-aventures-de-tintin-les-cigares-du-pharaon
[RadioFrancePodcast] serie-les-aventures-de-tintin-les-cigares-du-pharaon: Downloading serie-les-aventures-de-tintin-les-cigares-du-pharaon page 1
[download] Downloading playlist: Les Cigares du Pharaon : les Aventures de Tintin
[RadioFrancePodcast] Playlist Les Cigares du Pharaon : les Aventures de Tintin: Downloading 5 items of 5
[download] Downloading item 1 of 5
[generic] Extracting URL: https://www.radiofrance.fr
[generic] www.radiofrance: Downloading webpage
WARNING: [generic] Falling back on generic information extractor
[generic] www.radiofrance: Extracting information
[debug] Looking for embeds
ERROR: Unsupported URL: https://www.radiofrance.fr
Traceback (most recent call last):
  File "/tmp/yt-dlp/yt_dlp/YoutubeDL.py", line 1626, in wrapper
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/yt-dlp/yt_dlp/YoutubeDL.py", line 1761, in __extract_info
    ie_result = ie.extract(url)
                ^^^^^^^^^^^^^^^
  File "/tmp/yt-dlp/yt_dlp/extractor/common.py", line 741, in extract
    ie_result = self._real_extract(url)
                ^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/yt-dlp/yt_dlp/extractor/generic.py", line 2533, in _real_extract
    raise UnsupportedError(url)
yt_dlp.utils.UnsupportedError: Unsupported URL: https://www.radiofrance.fr

[download] Downloading item 2 of 5
...

Same with commit 0fb8bc11ed57a0f69d3433e369bbb3c872cb5521

I see what the problem is.  This page is using a different podcast structure to the others. I will investigate further.

This PR works on my side.

@jerome-pouiller Good to hear it works now. This is a very complex site to build an extractor for.

Hello @LonMcGregor,
I  tried this PR and I get this error:
./yt-dlp.sh -vx -P "/tmp/podcast/avec-philosophie" 'https://www.radiofrance.fr/franceculture/podcasts/avec-philosophie'
[debug] Command-line config: ['-vx', '-P', '/tmp/podcast/avec-philosophie', 'https://www.radiofrance.fr/franceculture/podcasts/avec-philosophie']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>from yt-dlp/yt-dlp [1a176d874]
[debug] Lazy loading extractors is disabled
[debug] Python 3.11.2 (CPython x86_64 64bit) - Linux-6.1.0-27-amd64-x86_64-with-glibc2.36 (OpenSSL 3.0.15 3 Sep 2024, glibc 2.36)
[debug] exe versions: ffmpeg 5.1.6-0 (setts), ffprobe 5.1.6-0
[debug] Optional libraries: Cryptodome-3.21.0, certifi-2022.09.24, mutagen-1.47.0, requests-2.28.1, sqlite3-3.40.1, urllib3-1.26.12
[debug] Proxy map: {}
[debug] Request Handlers: urllib
[debug] Loaded 1838 extractors
[RadioFrancePodcast] Extracting URL: https://www.radiofrance.fr/franceculture/podcasts/avec-philosophie
[RadioFrancePodcast] avec-philosophie: Downloading avec-philosophie page 1
[download] Downloading playlist: Avec philosophie
[RadioFrancePodcast] avec-philosophie: Downloading avec-philosophie page 2
ERROR: 'NoneType' object is not subscriptable
Traceback (most recent call last):
  File "/tmp/gitProject/ytdlp/yt-dlp-master/yt_dlp/YoutubeDL.py", line 1626, in wrapper
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/gitProject/ytdlp/yt-dlp-master/yt_dlp/utils/_utils.py", line 2497, in <lambda>
    return type(self.ydl)._handle_extraction_exceptions(lambda _, i: self._entries[i])(self.ydl, i)
                                                                     ~~~~~~~~~~~~~^^^
  File "/tmp/gitProject/ytdlp/yt-dlp-master/yt_dlp/utils/_utils.py", line 2262, in __getitem__
    self._cache.extend(itertools.islice(self._iterable, n))
  File "/tmp/gitProject/ytdlp/yt-dlp-master/yt_dlp/extractor/radiofrance.py", line 275, in _generate_playlist_entries
    content_response = self._call_api(station, content_id, content_response['next'])
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/gitProject/ytdlp/yt-dlp-master/yt_dlp/extractor/radiofrance.py", line 403, in _call_api
    item = self._extract_embedded_episodes(item, webpage, podcast_id)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/gitProject/ytdlp/yt-dlp-master/yt_dlp/extractor/radiofrance.py", line 281, in _extract_embedded_episodes
    links = item['playerInfo']['media']['sources']
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
TypeError: 'NoneType' object is not subscriptable

[RadioFrancePodcast] Playlist Avec philosophie: Downloading 21 items of 20
[download] Downloading item 1 of 21
[FranceCulture] Extracting URL: https://www.radiofrance.fr/franceculture/podcasts/avec-philosophie/conserver-les-traditions-de-la-droite-a-la-gauche-3073685
[FranceCulture] conserver-les-traditions-de-la-droite-a-la-gauche: Downloading webpage
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, size, br, asr, proto, vext, aext, hasaud, source, id
[info] 3073685: Downloading 1 format(s): 0
[debug] Invoking http downloader on "https://media.radiofrance-podcast.net/podcast09/23118-09.12.2024-ITEMA_23956548-2024C48904S0344-21.mp3"
[download] Destination: /tmp/podcast/avec-philosophie/Que veulent conserver les conservateurs ？ 1⧸4 ： Les pensées contre-révolutionnaires françaises [3073685].mp3
[download] 100% of   53.24MiB in 00:00:11 at 4.47MiB/s
[ExtractAudio] Not converting audio /tmp/podcast/avec-philosophie/Que veulent conserver les conservateurs ？ 1⧸4 ： Les pensées contre-révolutionnaires françaises [3073685].mp3; the file is already in a common audio format
[download] Downloading item 2 of 21
...

It looks like pagination issue.
Only podcasts on the first page have been downloaded !
Sorry, I'm not familiar with github !!

@mabox965 Could you pull the latest commit from my branch to check the fix please?
A blank episode was uploaded on a strike day, which broke the downloader. I've added an extra condition to check, and will ignore these days. (Addendum: I fully support public service workers strike rights)


[Feature]: Method to Scroll to Top in a ScrollArea ScrowAreaViewport

Describe the feature
I needed a way to scroll up to the top of a ScrollArea in the process of implementing an Infinite Scroll functionality and I created and exposed a function from ScrollArea that lets a parent component scroll it to ScrollArea's top.
Additional information

[X] I intend to submit a PR for this feature.
[X] I have already implemented and/or tested this feature.

Thanks @sadeghbarati  for transferring this. Yeah I believe this can be relatively straight forward to be implemented 😁

This is great. Do I need to attach the code I wrote or make a PR request? Or is someone else going to basically implement it in a new way? Whatever works for me. I could attach the modified Vue component file here and an example that uses it and the scroll to top functionality if that's helpful to anyone.

What I ended up doing:
<ScrollArea ref="logsContainer">...</ScrollArea>

const logsContainer = ref()

const scrollToBottom = () => {
  nextTick(() => {
    if (logsContainer.value) {
      const viewport = logsContainer.value.$el.querySelector('[data-radix-scroll-area-viewport]')
      if (viewport) {
        viewport.scrollTo({
          top: viewport.scrollHeight,
          behavior: 'smooth'
        })
      }
    }
  })
}

Not a good approach but it worked.


fix a bug related to ViennaCL

@karlnapf
take a look at this

@karlnapf
I will improve the performance of the GaussianARD classes by the time I implement GPLVM.
Next week, I will work on model selection first.

Travis failed due to undefined reference to get_feature_vector

@karlnapf
the error is fixed now

@karlnapf
please merge this PR first.
I am going to send two PRs about model selection followed up this PR

Ok, merging!
Thanks!


fix: watcher close

This PR will fix the following ticket: https://github.com/windicss/postcss-windicss/issues/5

Now I think it is "perfect".


Gudeline for name Services

Hi
For the moment, we have guideline for the name of controllers. A controller should start with an upper case, and finish with 'Controller'.
Do we have guideline for services? Should we suffix them with 'Service' ? or dependending of the method we use ('Provider' for the method provider, Factory for factory... ) ?
What about  run and config functions ? (app.run() and app.config() ?
The question does not arise for filters/directives.
Manu

Services vary. For example a common name for a data service is dataservice. Would that be dataserviceService or dataService ?  I prefer dataservice. Does it matter? Not so much.
Then there is logger ... is that loggerService or logger ? I prefer the latter.
My style is to define a noun that describe the action the service provides.

dataservice
logger
exceptionHandler

I think it really depends on what words make sense, so for me the style is to use whatever conveys the message and for that reason i do not list a specific style

Perfect for me. So I disable the corresponding rule in the eslint plugin. If developers want, it will always be possible to enable it, and specify a regexp pattern (like for controllers).
You can close this ticket.

If I have multiple resources that needs to interact with the API, I would name corresponding services: postDataservice & userDataservice, right?

@johnpapa I feel the same as @websirnik about services in different files per context (aggregated root). Would be great to have this - or something similar - on the style guide as well.


docs: Redmine Integration 2.0

Update Redmine integration documentation according to version 2.0 of plugin
see https://github.com/zulip/zulip-redmine-plugin/pull/15

Merged as c1538fd0f5109bcd3b1c8e2e87c3fe8086109e2b, after doing a few small tweaks to the writing.  Huge thanks for rewriting this plugin @felipebatista!


[fix](es catalog) fix issue with select and insert from es catalog core

Proposed changes
Issue Number: close #24315

The root cause of this issue is that Elasticsearch's long type allows inserting floats and strings. Doris did not handle these cases when doing type conversion. The current strategy is to take the integer before the decimal point if a float or string is found.
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 beut


How to set custom template for header part (filter and all checkbox)?

I have used custom template for tree view, but how to set custom template for filter and select all checkbox (Header Part)?

Use headerTemplate, I will try to add more examples:
https://github.com/leovo2708/ngx-treeview/blob/master/src/lib/dropdown-treeview.component.ts#L17

Hi, Do you have an example with custom header template? I am get the following error. Kindly help.
core.js:1673 ERROR TypeError: Cannot read property 'getFilterPlaceholder' of undefined
at Object.eval [as updateRenderer] (XXXXComponent.ngfactory.js:147)
at Object.updateRenderer (core.js:10800)
at checkAndUpdateView (core.js:10456)
at callViewAction (core.js:10692)
at execEmbeddedViewsAction (core.js:10655)
at checkAndUpdateView (core.js:10452)
at callViewAction (core.js:10692)
at execEmbeddedViewsAction (core.js:10655)
at checkAndUpdateView (core.js:10452)
at callViewAction (core.js:10692)
at execComponentViewsAction (core.js:10634)
at checkAndUpdateView (core.js:10457)
at callViewAction (core.js:10692)
at execComponentViewsAction (core.js:10634)
at Object.checkAndUpdateView (core.js:10457)


Issues building dynamic fields; SchemaTypeDefinition equivalent?

I'm exploring using sanity-typed, but with a relatively simple studio I'm running into some issues. One I am not sure how to proceed on is figuring out how to handle dynamically defined schemas. For example, I have a list of object types that are used like content modules (called "blocks" in this case). The definitions for each are exported in an array from a "blocks/index.ts" file. With the vanilla TS studio, I can do the following to define a contentBlocks type that I can use as a field elsewhere:
import { SchemaTypeDefinition, defineField } from "sanity"
import blockDefs from "../blocks"

const extractNameFromBlockDef = (
  blockDef: SchemaTypeDefinition | SchemaTypeDefinition[],
) => {
  const block = Array.isArray(blockDef)
    ? blockDef.find((def) => def.name.endsWith("Block"))
    : blockDef

  if (!block) {
    throw new Error("No block found")
  }
  return block.name
}

export default defineField({
  title: "Content Blocks",
  name: "contentBlocks",
  type: "array",
  of: blockDefs.map((block) => ({
    type: extractNameFromBlockDef(block),
  })),
})

If I convert this over to @sanity-typed/types, I wind up with a slew of TS errors, most obviously from SchemaTypeDefinition not matching what @sanity-typed/types is doing. I tried looking for an equivalent, but it seems like all of the utility types require a long list of generics to be passed in. I saw elsewhere that using as const on array members inside of might be necessary, but that doesn't really work in a scenario where the value is not actually constant like this.
Any direction or guidance on how to approach this?

It's seeming like @sanity-typed really doesn't work in situations where types cannot be inferred:
defineField({
  name: "example",
  type: "array",
  of: [{ type: "string" }].map((f) => defineArrayMember(f)),
})

This yields errors on of:

Type 'ArrayMemberDefinition<string, string, IntrinsicTypeName, StrictDefinition, number, string, string, false, BlockStyleDefault, BlockListItemDefault, BlockMarkDecoratorDefault, never, false, never, never, false>[]' is not assignable to type '[ArrayMemberDefinition<string, string, IntrinsicTypeName, StrictDefinition, number, string, string, false, BlockStyleDefault, BlockListItemDefault, BlockMarkDecoratorDefault, never, false, never, never, false>, ...ArrayMemberDefinition<...>[]]'.ts(2322)
internal.d.ts(126, 5): The expected type comes from property 'of' which is declared here on type 'FieldDefinition<"array", "example", IntrinsicTypeName, StrictDefinition, number, string, string, false, BlockStyleDefault, BlockListItemDefault, BlockMarkDecoratorDefault, never, false, never, ArrayMemberDefinition<string, ... 14 more ..., false>,

Normally I'd explicitly type the array to resolve this, but without the means to do so it seems like my hands are tied.

SO. I'm going to remove this restriction in the next version. I think that use cases like this are unavoidable and having sanity-typed be this strict on the of field seems like more of an obstacle than a benefit. This DOES mean that you'll often get the string type where you assumed you'd get a string literal because, somewhere, you didn't do as const.

When #801 gets deployed, that may help with your issue!


periods(fix) jsdoc comment in function

The compareClosestPreferMinimalAbsDiff_ was missing a * in the
jsdoc comment; closure compiler was complaining with
> WARNING - Parse error. Non-JSDoc comment has annotations.
> Did you mean to start it with '/**'?

Thank you for your contribution!


Instantiate classes with 'new', now that ES6 requires it.

immutable-js instantiates a lot of classes without new, which is no longer legal.  As per ES6 February 2, 2015 Draft Rev 32, "Constructors defined using class definition syntax throw when called as functions"<EMAIL_ADDRESS>6to5 implemented the new behavior in  https://github.com/6to5/6to5/commit/3a11c7d46b5788175c9c1141ff50ed59ce26c40c, and I couldn't run immutable-js/src/ with 6to5 until making these changes.
I extracted the list of classes with
grep --no-filename -o -P '^(export )?class .*? ' src/**/*.js

and generated the diff with this shell program:
for i in Collection KeyedCollection IndexedCollection SetCollection Iterable KeyedIterable IndexedIterable SetIterable Iterator List VNode Map ArrayMapNode BitmapIndexedNode HashArrayMapNode HashCollisionNode ValueNode MapIterator ToKeyedSequence ToIndexedSequence ToSetSequence FromEntriesSequence OrderedMap OrderedSet Range Record Repeat Seq KeyedSeq IndexedSeq SetSeq ArraySeq ObjectSeq IterableSeq IteratorSeq Set Stack; do echo; echo $i; perl -p -i -e "s,(?<\!new|ion|nds)([\( ])(\\b$i\\(),\\1new \\2,g" src/**/*.js __tests__/**/*.js contrib/**/*.js; done

I've signed the CLA as<EMAIL_ADDRESS>

This has pretty severe performance implications. I'm actually planning on moving away from the class semanic because of this recent change to the spec. I don't actually use the constructor function behavior in Immutable (you can call these functions with new, but the constructed object is discarded). Instead these should be viewed as constructor functions, rather than class constructors.

Ah, thanks, after reading the code I see what you mean.

But I definitely appreciate you investigating this.

I think the word you were looking for is "factories". "Constructor function" still implies it modifies this ;)

Tangential, but noting anyway: you still can't use immutable-js/src/ directly with webpack+6to5 even with this PR, because of a circular dependency between src/Seq.js and src/Iterable.js.  Se

Tangential, but noting anyway: you still can't use immutable-js/src/ directly with webpack+6to5 even with this PR, because of a circular dependency between src/Seq.js and src/Iterable.js.  Seq requires Iterable which requires Seq; thus Iterable gets undefined for Seq, KeyedSeq, IndexedSeq, and SetSeq.
I noticed this problem in Safari and IE11 but not Firefox and Chrome, because Firefox and Chrome have native Array iterators and thus don't call the new Iterable in forceIterator.js.

I just ran into this. I am trying to subclass classes generated by Immutable.Record to add my own methods and I'd like to use it in the immutable way. But babel (formerly 6to5) complains that I cannot instantiate my classes without "new".
If you are going to move away from the class semantic with Immutable.js, is subclassing still supported? Or is subclassing the wrong approach for this use case?

I am going to move away from classes in v4. They will officially be factory functions and the syntax will make that more clear. Also as part of the road to v4+, I'm doing some refactoring to make the code truly ES6 compliant, it's currently not so and dependent on a particular build pass.
In the meantime, I highly discourage using the src/ directory directly unless you're using the build tools that come in the repo. That codebase is not safe to use with Babel. Instead you should always use the dist/ directory.

Closing this PR since new isn't the correct semantic for factory functions.


[ENH] - add a default panel-serve framework in CDSDashboards

Feature description
Many panel apps are served using panel.serve, specially multi-page apps.
Serving this kind of app requires a specific CDSDashboards framework, as we already did with @iameskild on another project. To add this, here is the snippet of code to add to jupyterhub.yaml :
      # adding timeout for slow-to-load pages (because of loading time of data and stuff)
      c.VariableMixin.proxy_ready_timeout = 600
      c.VariableMixin.proxy_request_timeout = 600

      # the actual setting that makes it possible :
      c.CDSDashboardsConfig.extra_presentation_types = ['panel-serve']
      c.VariableMixin.extra_presentation_launchers = {
          'panel-serve': {
              'args': [
                  'python3', '{presentation_path}', '{--}port', '{port}', '{--}address', '{origin_host}'
                  ],
              'debug_args': [],
              'env': {
                  'PYTHONPATH': '/home/jovyan/{presentation_dirname}'
              }
          }
      }

This way, the script using pn.serve that is given to CDSDashboard, will receive and use 3 important parameters : the port on which to serve the panel app (that is defined by CDSDashboards), the address (useful to build some links) and the origin_host (for websockets origin)
I'll open a follow-up issue to update documentation, to show how to add a panel app with pn.serve in CDSDashboards.
Value and/or benefit
This will allow panel apps served with panel.serve to work with CDSDashboards. This is specially needed for multi-page apps.
Anything else?

This feature is expected to be present by default
This has already been done on another project with @iameskild
We need this for several of our demo dashboards

@iameskild can I get an update on this issue?

The associated PR #1070 has been tested and is awaiting final approval :)


DK-DETR codes !!!

Dear authors, thank you for your impressive DK-DETR. However, there are still some questions that confuse me so much. And I really want to view your code to see how you deal with those problems. I have sent emails to you and your corresponding author. Hope you can upload your codes ASAP!!!

@Lukas-Ma1 Sorry for the late response and thanks for your interests. The inference codes and corresponding checkpoints will be released soon. For some commercial reasons, we will not publish training codes for now. By the way, I cannot receive your emails due to my personal job change. If you have any question about the paper, please contact<EMAIL_ADDRESS>


Part 12: More unittests and refactoring ft. Black formatting

Black formatting for a few files, i am very sorry
Unittesting part 2 for the assay handler:

build_job_inputs

Addition of tso500_config.json for testing

New function build_job_inputs:

merged build_job_info_per_sample and build_jobs_info_per_run into one
separated out the TSO500 into its own method: handle_TSO500_inputs

Move populate_output_dir_config in the assay handler object
Merged call_jobs_per_sample and call_job_per_run into call_job method
Remove useless code in add_other_inputs
Rename check_input_classes to fix_invalid_inputs
run_workflows -> change some code to match changes in the AssayHandler

This change is

Hello @Yu-jinKim! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file resources/home/dnanexus/run_workflows/tests/test_assay_handler.py:

Line 70:80: E501 line too long (88 > 79 characters)
Line 71:80: E501 line too long (80 > 79 characters)
Line 116:80: E501 line too long (83 > 79 characters)
Line 117:80: E501 line too long (90 > 79 characters)
Line 507:80: E501 line too long (94 > 79 characters)
Line 527:80: E501 line too long (110 > 79 characters)
Line 528:80: E501 line too long (102 > 79 characters)
Line 593:80: E501 line too long (93 > 79 characters)
Line 598:80: E501 line too long (81 > 79 characters)
Line 601:80: E501 line too long (81 > 79 characters)
Line 669:80: E501 line too long (1639 > 79 characters)
Line 682:80: E501 line too long (92 > 79 characters)
Line 687:80: E501 line too long (271 > 79 characters)
Line 688:80: E501 line too long (107 > 79 characters)
Line 689:80: E501 line too long (663 > 79 characters)
Line 692:80: E501 line too long (542 > 79 characters)
Line 777:80: E501 line too long (1639 > 79 characters)
Line 821:80: E501 line too long (107 > 79 characters)
Line 822:80: E501 line too long (542 > 79 characters)
Line 823:80: E501 line too long (663 > 79 characters)
Line 830:80: E501 line too long (92 > 79 characters)
Line 832:80: E501 line too long (271 > 79 characters)
Line 849:80: E501 line too long (86 > 79 characters)
Line 867:80: E501 line too long (1651 > 79 characters)
Line 877:80: E501 line too long (90 > 79 characters)
Line 878:80: E501 line too long (83 > 79 characters)
Line 880:80: E501 line too long (104 > 79 characters)
Line 883:80: E501 line too long (81 > 79 characters)
Line 886:80: E501 line too long (81 > 79 characters)
Line 889:80: E501 line too long (283 > 79 characters)
Line 890:80: E501 line too long (119 > 79 characters)
Line 891:80: E501 line too long (675 > 79 characters)
Line 894:80: E501 line too long (554 > 79 characters)

In the file resources/home/dnanexus/run_workflows/tests/test_manage_dict.py:

Line 473:80: E501 line too long (82 > 79 characters)
Line 512:80: E501 line too long (82 > 79 characters)
Line 516:80: E501 line too long (82 > 79 characters)
Line 520:80: E501 line too long (82 > 79 characters)
Line 524:80: E501 line too long (82 > 79 characters)
Line 795:80: E501 line too long (84 > 79 characters)
Line 813:80: E501 line too long (84 > 79 characters)

In the file resources/home/dnanexus/run_workflows/utils/AssayHandler.py:

Line 350:80: E501 line too long (83 > 79 characters)


Ensure queries don't return data older than fourteen days

This needs to be included in all query calls, except GetAsync(string) because that call by definition should always retrieve the MatchMessageRecord which matches the provided ID.
I use fourteen in the title because that's the current requirement, but ideally this would be configurable in the App Service/appsettings.json file in case this would ever change (and for future-proofing).

Resolved in #17


Review:  ListSuggestionsCard.jsx and ListTeamsWidget.jsx

Overview
The focus for this code review will be centered around ListSuggestionsCard.jsx and ListTeamsWidget.jsx
Please pay attention too:

Javascript issues
React components

Review Branch
review-009
Files to review

ListSuggestionsCard.js
ListTeamsWidget.jsx

Checklists

Architecture
Design
JS
React
Testing

Due date
Monday, November 6, 9:00 AM
For more information
The review process is documented at: http://courses.ics.hawaii.edu/ics414f23/morea/review/reading-idpm-review.html

ListSuggestionsCard.jsx
JS-06: L26, 42, 70 remove console.log()

convert to booststrap, usetracker, etc (default stuff)

ListTeamsWidget.jsx
DE-01: L17, 26, 33, 40 can be refactored into a helper function to reduce duplicate code.
const getRelatedItems = (x, y) => team => {
const teamID = team._id;
const relatedDocs = x.find({ teamID }).fetch();
return relatedDocs.map(doc => y.findDoc(doc.id).name);
};
const getTeamChallenges = getRelatedItems(TeamChallenges, Challenges);
....
L74 arrow functions in render. move outside of render.

ListSuggestionsCard.js
RE-09: Prefer functions vs. classes for stateless components
RE-06: Define constants with useTracker()
DE-00: Inline styling
RE-00: Convert to bootstrap

ListTeamsWidget.jsx
DE-01: Refactor to reduce duplication?
RE-09: Prefer functions vs. classes for stateless components
RE-00: Convert to bootstrap

ListSuggestionsCard.jsx
RE-10: Avoid Widget and Card in names.
RE-09: L15 Prefer functions vs. classes for stateless components
DE-05: L70 unnecessary comment
JS-04: L17, 40, 69 Use arrow functions when appropriate
RE-04: L77, 81, 84, 88, 89 Destructure props in component parameter.
JS-06: L26, 42 Avoid console.logs
Line 103 use useTracker instead of withTracker
ListTeamsWidget.jsx
RE-10: Avoid Widget and Card in names.
RE-09: L46 Prefer functions vs. classes for stateless components
JS-04: L47 Use arrow functions when appropriate
RE-07: L76-80 Don't retrieve collection data inside render()

ListSuggestionsCard.jsx
RE-04: L88, 89, destructure .props
RE-06: use useTracker() instead of withTracker()
RE-09: functions instead of classes
RE-10: Card in name
JS-06: L26, 42, 70 - remove console.log
ListTeamsWidget.jsx
RE-07: Don't retrieve data in render()
RE-09: function over class components

ListSuggestionCard.jsx
DE-05: remove unused console.log (line 70)
JS-04: use arrow function (line 17, 40)
JS-06: remove console.logs (line 26, 42, 70)
JS-07: missing JSDoc
RE-04: destructure props in component parameter
RE-09: convert to functional component
ListTeamsWidget.jsx
JS-07: missing JSDoc
RE-04: destructure props in component parameter
RE-09: convert to functional component
ES-02: () around team in the get functions?
Also wondering why the getTeamxxx functionis are outside of the class component

ListSuggestionsCard.jsx Review:
AR-01: File naming follows convention.
DE-03: Remove commented console.log in the render method.
JS-04: Convert removeItem and addSuggestion into arrow functions.
JS-06: Remove console.log statements used for debugging.
RE-04: Destructure props at the start of the render method
RE-09: Consider converting to a functional component with hooks for state management.
ListTeamsWidget.jsx Review:
AR-01: File naming follows convention.
DE-05: Consider adding comments for helper functions to explain their purpose and usage.
JS-07: Add JSDoc comments for helper functions (getTeam, getTeamChallenges, etc.).
RE-09: Given the simplicity, consider converting from a class to a functional component.

ListSug:
DE-05: Delete L70 comment.
DE-08: L76 Colors should be imports. Also maybe export the swal confirm thing (rewriting so it takes a function to execute)?
JS-04: Covert class functions to arrow functions.
RE-04: Destructure props.
RE-06: Put collection calls in useTracker.
RE-09: Convert class to function.
L 35 'You canceled the deletion!' sounds too happy. Prefer 'Deletion canceled.' or some such.
ListTea:
DE-06: L43 Should have a newline before the return. Also, why have const closed in render?
RE-04: Destructure props.
RE-06: Put collection calls in useTracker.
RE-09: Convert class to function.


should the DouglasPeucker be used for the whole geometry instead of only pillar nodes?

I found in the OSMReader,
simplifyAlgo.simplify(pillarNodes);
I feel it's better to apply DouglasPeucker to the whole edges.
Guess it could reduce more unnecessary points.

I feel it's better to apply DouglasPeucker to the whole edges.
Guess it could reduce more unnecessary points.

Interesting, I think you are right. DouglasPeucker should not remove the first and last point, so we would only simplify pillar nodes, but consider the whole geometry including tower nodes, which could save up to two coordinates per edge.

Indeed, this could work. Still we would have to check all of the failing tests.

I found this problem when I found a very rare case: duplicated lat/lon of the first node and second node . (anything could be true for OSM, 🤷♂ ) Then I am curious why the DouglasPeucker doesn't remove the second node.

another question about DouglasPeucker, if the road is a z shape line.

                                    /_________________________

It seems DouglasPeucker will remove the z structure.
Might not be a concern for road networks.

Douglas Peucker can remove details from a road, yes, but this should be only minimal, also see the Wiki about DP. If you think our implementation of DP is erroneous, it would be great if you could provide a sample test case (in a different issue :) or in our forum).


About Carla in Docker without a screen

Hi!
First, here is my env:
Debian 11 server edition(No desktop env),
NVIDIA 1080Ti
Drivier Version 535
Docker Engine - Community  Version:           24.0.7
CARLA version(docker images): carlasim/carla   0.9.13    6fda542451a8   2 years ago    16.6GB
Here is my problems:
First, I run this command follow the doc of Official:
sudo docker run --privileged --gpus all --net=host -v /tmp/.X11-unix:/tmp/.X11-unix:rw carlasim/carla:0.9.13 /bin/bash ./CarlaUE4.sh -RenderOffScreen
and the output is :
4.26.2-0+++UE4+Release-4.26 522 0 Disabling core dumps. sh: 1: xdg-user-dir: not found
Then, I try to exec a docker container, and install xdg-user-dirs in this docker container, and In this container, I run this command:
./CarlaUE4.sh -prefernvidia -RenderOffScreen,
it outputs:
4.26.2-0+++UE4+Release-4.26 522 0 Disabling core dumps
and there is no process using my GPU。
I have tried to search it all the time, and find nothing
Could you pls help me with this problem? Thans very much!

+1

Insane, I was looking into that problem for 2 hours. Simply running: ./CarlaUE4.sh -nullrhi -prefernvidia -RenderOffScreen did the trick, thanks a lot!

我遇到了和你一样的问题，我认为是GPU 容器配置的问题；我是在其他ubunt容器中直接下载运行[Releases]版本； 但是使用-nullrhi 参数，屏蔽GPU使用后就可以了：./CarlaUE4.sh -nullrhi -prefernvidia -RenderOffScreen 。所以应该是启动时的GPU检查不正确导致的，可能与GPU版本有关。

谢谢，我给他装了个虚拟桌面。。。这样无论在命令行中运行还是在哪运行，都会在虚拟桌面里面显示。。很方便。


SMTBMC: Assume A on posedge clk and assert A together fail

I would expect assume(A) and assert(A) to succeed.  However, if (A) is assumed on the positive edge of a clock, as is necessary in order to use $past, then it's possible for the assert(A) to fail if asserted independent of a clock.
See https://zipcpu.com/tmp/ybuga.tgz for a minimal example.
Dan

That's because in the last cycle there is no clockedge yet that triggers the assumption. This is a common problem when mixing clocked assumptions and unclocked assertions. Run chformal -assume -early to make the assumption not wait for a clock edge. (Don't mix this with clk2fflogic though.)


Bump k8s.io deps to v0.26.0

Updates k8s.io dependencies from v0.25.4 to v0.26.0.
It also updates ROOTDIR in the Makefile to remove the trailing / that was causing some commands (like make verify-vendor)  to fail, at least on Mac

Do we want to draft here until we figure out the Go version situation?

/ok-to-test

Looks like the breaking change was introduced in https://github.com/kubernetes/kubernetes/pull/112258. Reading that PRs description, that was not a real "requirement", other than making the code slightly more self-descriptive; I wonder if it should be (temporarily) reverted until go1.18 is no longer widely used.
/cc @liggitt

No, go1.18 goes out of support in Feb 2023, so use of go 1.19 is reasonable to require in 1.26

Superseded by https://github.com/containerd/containerd/pull/8131


Add support to generate animated GIF thumbnails

This PR add an option to the thumbnail types to instruct concrete5 to generate animated GIF thumbnails in case of animated GIF images.
In order to have this feature working, Imagine must be configured to use imagick instead of GD.
If concrete5 is not configured so, we'll display a warning:

Sample session with file_manager_listing and file_manager_detail set with this option turned on:

PS: fix #6804

This is great, people have asked for this.
One question, in the existing warning text, should there be a note about performance and possible heavy memory use?

Yes, memory & performance could be a problem in case of big or long animated gifs. I'll add a note to the warning text.

@mlocati I was just checking this feature with Imagick. It works fine in FileManager in both small and hover thumbnails. But in my add-ons where I have used 'getThumbnail()' method to generate thumbnails the animation is not ported. Actually, thumbnails generated from any 'gif' image converted to 'png', while in other cases such as 'jpeg' the method keeps the original extension. Did I miss something here? Shall I specify the extension in any way before calling the method?

@shahroq Which concrete5 version are you using?

@mlocati I tested it on 8.5.1.

@shahroq do you have a small chunk of code to show how you generate the thumbnail?

@mlocati
`
getThumbnail($file, 100, 100)->src;
?>

`

@shahroq animated thumbnails in gif format can only be created by using thumbnail types at the moment.


Custom Tensorization Sample Build Error

I'm submitting a…

Bug report (I searched for similar issues and did not find one)

Current behavior
Build error: C2102 '&' requires l-value
Expected behavior
Project build should be successful
Minimal reproduction of the problem with instructions
On newest windows 10 release, when I load the solution in your Custom Tensorization Sample with Visual Studio 2019, I would get the build error stated above.
Environment
Windows Build Number: 19042.1415
Visual Studio

Microsoft Visual Studio Community 2019 Version 16.11.8

Hi @jiading-zhu, #460 should address this build error. For future reference, you can also set the /Zc:referenceBinding flag to allow l-value binding.


Meson Support

Hi!
I'm an avid meson user and since I'm using your tool in one of my repositories, I decided to see if I could add first-party support for meson in your repo!
This PR aims to do two things:

Introduce support for meson via a meson.build file. This file should be unused and useless for cmake users, but it should make the life of people who want to add asciichart as a meson subproject much easier. Although meson does have support for cmake and we could just call cmake from meson to include asciichart, I think there's a certain convenience in just having out of the box support for meson.
Eliminate -Wreorder issues. I was building with -Wall and realized there's a couple warnings gcc spits out at me so I decided iron those out.

Maintenance Duties
The included meson.build file is quite short and I don't think there's much to maintain in it. One thing worth considering is that the version number will need to get updated in meson.build. meson, to my knowledge, sadly doesn't support reading version numbers from a VERSION file, so this needs to be manually updated whenever it is updated in the CMakeLists file.
I doubt there will be other big changes to support, but I'm willing to support meson in this repo. If this PR seems interesting to you, let me know!

Here's an example of the use-case for this sort of stuff:
https://github.com/fpgaudio/orpheus/pull/9/files
Note how the meson.wrap file describes how to download the source (ie. it's referencing my fork) and the meson.build top-level defines the dependency usage

And also if you want to test this quite fast, the best way would be to do:
meson setup build
cd build
meson compile
./Plotter

Thanks! This is useful. And I also have interest on Meson.

The included meson.build file is quite short and I don't think there's much to maintain in it. One thing worth considering is that the version number will need to get updated in meson.build. meson, to my knowledge, sadly doesn't support reading version numbers from a VERSION file, so this needs to be manually updated whenever it is updated in the CMakeLists file.

It does.

A free form string describing the version of this project. You can access the value in your Meson build files with meson.project_version(). (Since 0.57.0) this can also be a file object pointing to a file that contains exactly one line of text.

If you move versioning definitions out of CMakeLists.txt and meson.build into a shared VERSION.txt file read in by both build systems, then please use project(..., meson_version: '>=0.57.0') to make sure people stuck on truly ancient versions get an error message telling them to upgrade. :D

EDIT: I tried to get github to cooperate with me and render these permalinks as code-blobs, but it doesn't want to do that :(

I think this only works for some arbitrary reason when the link is to the same repository you are commenting on. Seems silly but what can you do.

If you move versioning definitions out of CMakeLists.txt and meson.build into a shared VERSION.txt file read in by both build systems, then please use project(..., meson_version: '>=0.57.0') to make sure people stuck on truly ancient versions get an error message telling them to upgrade. :D

I don't version this project in CMakeLists.txt actually. But maybe I should.

The included meson.build file is quite short and I don't think there's much to maintain in it. One thing worth considering is that the version number will need to get updated in meson.build. meson, to my knowledge, sadly doesn't support reading version numbers from a VERSION file, so this needs to be manually updated whenever it is updated in the CMakeLists file.

It does.

A free form string describing the version of this project. You can access the value in your Meson build files with meson.project_version(). (Since 0.57.0) this can also be a file object pointing to a file that contains exactly one line of text.

If you move versioning definitions out of CMakeLists.txt and meson.build into a shared VERSION.txt file read in by both build systems, then please use project(..., meson_version: '>=0.57.0') to make sure people stuck on truly ancient versions get an error message telling them to upgrade. :D

Oh wow -- this is huge. I must've missed that. I'll make a PR with the VERSION patch applied


When parsing response that omits status message text, on_status is never called

On status callback does not get invoked when we're dealing with a web server that omits the status text from the status line. Examples of servers doing this are kijiji.
Example from in the wild:
GET
https://www.kijiji.ca/h-lloydminster-ab/1700095

Status: HTTP/1.1 200

Server is advertised as being nginx.
When parsing the response, on_status will never be called. Not sure if this is intended or not, I started looking into the spec for this and didn't see any MUST's with regards to the status text. I came up with a solution to work around this personally so I don't care anymore, just FYI.

Worth mentioning that the parser does not fail nor complain of errors, it just silently omits invoking the callback. When you check the status code and http version etc later it is indeed present and parsed correctly.

related to #367
(I think it makes sense not to call on_status, which provides bytes of the status string, since there are no such bytes. You can check the code in on_headers_complete.)

In the old tag that our org is using, the statuscode is still zero when on_headers_complete gets called.
The fix is in master for this issue.
Tolerate non-compliant status line responses
https://github.com/nodejs/http-parser/commit/3b0da34d83e4eace29cc49e3b659bf630537b94c
Waiting for next tag.
Cheerz.

v2.8.0 has been released today and includes the fix.  I'll close this out.


Mat/Par : Supervisor Information content edits

Under Supervisor Information tab
This should say “service request”

Content change in the yellow alert box has been updated. The word 'ticket' has been replaced by the word 'service request':

Perfect - ready to deploy

working in PRD


It is impossible to reset the command line to the original ones

In the command settings menu, after creating an empty line, I deleted the default line. When you reinstall the add-on, the settings are not deleted and there is always an empty line instead of commands. How to reset all settings to default?

@ViktorAgafonov,
for now as workaround you can direct edit the commands file, where is located on \Users{your user name}\AppData\Local\Visual chatGPT Studio\commands.json.
If there is not commands, you can replace with the default values:
[     {         "ProjectName": "",         "Complete": "Please complete",         "AddTests": "Create unit tests",         "FindBugs": "Find Bugs",         "Optimize": "Optimize, improve code readbility, fix and improve the code indentation,  improve code performance, fix securities issues, fix any possible bugs, apply changes to turn the code safe against bugs and resilient",         "Explain": "Explain",         "AddSummary": "Only write a comment as C# summary format like",         "AddCommentsForLine": "Comment. Add comment char for each comment line",         "AddCommentsForLines": "Rewrite the code with comments. Add comment char for each comment line",         "Translate": "Translate to English",         "CustomBefore": "",         "CustomAfter": "",         "CustomReplace": ""     } ]
For me, I will provide a fix because was not supposed to be possible delete the default commands to avoid this situation.

Fix published on last release.