[Bug]:  Error on inference with LoRa request (safetensors format)

Your current environment
Collecting environment information...
PyTorch version: N/A
Is debug build: N/A
CUDA used to build PyTorch: N/A
ROCM used to build PyTorch: N/A

OS: Debian GNU/Linux 11 (bullseye) (x86_64)
GCC version: (Debian 10.2.1-6) 10.2.1 20210110
Clang version: Could not collect
CMake version: version 3.18.4
Libc version: glibc-2.31

Python version: 3.10.14 | packaged by conda-forge | (main, Mar 20 2024, 12:45:18) [GCC 12.3.0] (64-bit runtime)
Python platform: Linux-5.10.0-30-cloud-amd64-x86_64-with-glibc2.31
Is CUDA available: N/A
CUDA runtime version: 11.3.109
CUDA_MODULE_LOADING set to: N/A
GPU models and configuration:
GPU 0: NVIDIA L4
GPU 1: NVIDIA L4
GPU 2: NVIDIA L4
GPU 3: NVIDIA L4

Nvidia driver version: 550.90.07
cuDNN version: Could not collect
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: N/A

CPU:
Architecture:                         x86_64
CPU op-mode(s):                       32-bit, 64-bit
Byte Order:                           Little Endian
Address sizes:                        46 bits physical, 48 bits virtual
CPU(s):                               48
On-line CPU(s) list:                  0-47
Thread(s) per core:                   2
Core(s) per socket:                   24
Socket(s):                            1
NUMA node(s):                         1
Vendor ID:                            GenuineIntel
CPU family:                           6
Model:                                85
Model name:                           Intel(R) Xeon(R) CPU @ 2.20GHz
Stepping:                             7
CPU MHz:                              2200.226
BogoMIPS:                             4400.45
Hypervisor vendor:                    KVM
Virtualization type:                  full
L1d cache:                            768 KiB
L1i cache:                            768 KiB
L2 cache:                             24 MiB
L3 cache:                             38.5 MiB
NUMA node0 CPU(s):                    0-47
Vulnerability Gather data sampling:   Not affected
Vulnerability Itlb multihit:          Not affected
Vulnerability L1tf:                   Not affected
Vulnerability Mds:                    Not affected
Vulnerability Meltdown:               Not affected
Vulnerability Mmio stale data:        Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
Vulnerability Reg file data sampling: Not affected
Vulnerability Retbleed:               Mitigation; Enhanced IBRS
Vulnerability Spec rstack overflow:   Not affected
Vulnerability Spec store bypass:      Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:             Mitigation; Enhanced / Automatic IBRS, IBPB conditional, RSB filling, PBRSB-eIBRS SW sequence
Vulnerability Srbds:                  Not affected
Vulnerability Tsx async abort:        Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
Flags:                                fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves arat avx512_vnni md_clear arch_capabilities

Versions of relevant libraries:
[pip3] numpy==1.24.4
[conda] numpy                     1.24.4                   pypi_0    pypi
ROCM Version: Could not collect
Neuron SDK Version: N/A
vLLM Version: N/A
vLLM Build Flags:
CUDA Archs: Not Set; ROCm: Disabled; Neuron: Disabled
GPU Topology:
GPU0    GPU1    GPU2    GPU3    CPU Affinity    NUMA Affinity   GPU NUMA ID
GPU0     X      PHB     PHB     PHB     0-47    0               N/A
GPU1    PHB      X      PHB     PHB     0-47    0               N/A
GPU2    PHB     PHB      X      PHB     0-47    0               N/A
GPU3    PHB     PHB     PHB      X      0-47    0               N/A

Legend:

  X    = Self
  SYS  = Connection traversing PCIe as well as the SMP interconnect between NUMA nodes (e.g., QPI/UPI)
  NODE = Connection traversing PCIe as well as the interconnect between PCIe Host Bridges within a NUMA node
  PHB  = Connection traversing PCIe as well as a PCIe Host Bridge (typically the CPU)
  PXB  = Connection traversing multiple PCIe bridges (without traversing the PCIe Host Bridge)
  PIX  = Connection traversing at most a single PCIe bridge
  NV#  = Connection traversing a bonded set of # NVLinks

🐛 Describe the bug
Llama3 8b with tuned LoraAdapter fails on inference,
Model init:
class VLLMClassifierBase(KLlmHuggingfaceClassifier):
    def __init__(self, model_config: VLLMClassifierConfig):
        logger.info(f"Model config: {model_config}")
        super().__init__()
        ray_tmp_dir = "/dev/shm/tmp/ray"
        os.makedirs(ray_tmp_dir, exist_ok=True)
        ray.init(_temp_dir=ray_tmp_dir, num_gpus=model_config.tensor_parallel_size)

        self.load_model(model_config)

    def load_model(self, model_config):

        self.lora_adapter_path = None
        logger.info(f"Lora adapter path: {model_config.gcs_lora_adapter_path}")
        if model_config.gcs_lora_adapter_path:
            local_lora_adapter_path = "/home/jupyter/huggingface-models/training/artifacts-240711_1124/"
            # copy_from_gcs_uri(model_config.gcs_lora_adapter_path, local_lora_adapter_path)
            self.lora_adapter_path = local_lora_adapter_path

        os.environ["NCCL_DEBUG"] = "INFO"

        download_dir = "/dev/shm/cache/hub"
        os.makedirs(download_dir, exist_ok=True)

        logger.info(f"Loading model: {model_config.hf_model_path}")
        engine_args = AsyncEngineArgs(
            model=model_config.hf_model_path,
            quantization=model_config.quantization if model_config.quantization else None,
            dtype="auto",
            tensor_parallel_size=model_config.tensor_parallel_size,
            enforce_eager=model_config.enforce_eager,
            disable_custom_all_reduce=model_config.disable_custom_all_reduce,
            worker_use_ray=bool(model_config.tensor_parallel_size > 1),
            engine_use_ray=bool(model_config.tensor_parallel_size > 1),
            enable_lora=bool(self.lora_adapter_path is not None),
            download_dir=download_dir,
            gpu_memory_utilization=model_config.gpu_memory_utilization,
            max_model_len=model_config.max_model_len,
            enable_prefix_caching=model_config.enable_prefix_caching,
            max_lora_rank=64,
        )

        self.model = AsyncLLMEngine.from_engine_args(engine_args, usage_context=UsageContext.API_SERVER)
        logger.info(f"Successfully loaded model: {vars(self.model)}")
        loop = asyncio.get_event_loop()

        get_tokenizer_future = asyncio.ensure_future(self.model.get_tokenizer())

        loop.run_until_complete(get_tokenizer_future)

        self.tokenizer = get_tokenizer_future.result()`
```

# Model inference:

`    async def _predict_single_instance(self, model_input: KLLMModelInput):
        prompt = self._to_chat_prompt(model_input.chat_history)
        sampling_params = SamplingParams(
            model_input.n,
            temperature=model_input.temperature,
            top_p=model_input.top_p,
            max_tokens=model_input.max_new_tokens,
        )
        # try:
        request_id = random_uuid()
        lora_request = None
        if self.lora_adapter_path:
            lora_request = LoRARequest("sql_adapter", 1, self.lora_adapter_path)

        # Run the async function within the event loop
        text_outputs = await self.get_result_from_generator(
            self.model.generate(prompt, sampling_params, request_id, lora_request=lora_request)
        )
        return KLLMModelOutput(generated_ids=text_outputs)`

Logs:

> m_engine.AsyncLLMEngine object at 0x7f3117d5d600>>)
> handle: <Handle functools.partial(<function _log_task_completion at 0x7f2fdbc01e10>, error_callback=<bound method AsyncLLMEngine._error_callback of <vllm.engine.async_llm_engine.AsyncLLMEngine object at 0x7f3117d5d600>>)>
> Traceback (most recent call last):
>   File "/home/jupyter/.cache/pypoetry/virtualenvs/k-llm-huggingface-6NB9Z0db-py3.10/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 43, in _log_task_completion
>     return_value = task.result()
>   File "/home/jupyter/.cache/pypoetry/virtualenvs/k-llm-huggingface-6NB9Z0db-py3.10/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 595, in run_engine_loop
>     result = task.result()
>   File "/home/jupyter/.cache/pypoetry/virtualenvs/k-llm-huggingface-6NB9Z0db-py3.10/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 538, in engine_step
>     request_outputs = await self.engine.step.remote()  # type: ignore
> ray.exceptions.RayTaskError(IndexError): ray::_AsyncLLMEngine.step() (pid=55187, ip=<IP_ADDRESS>, actor_id=75c03eff87f9a5f009b2815b01000000, repr=<vllm.engine.async_llm_engine._AsyncLLMEngine object at 0x7fe99db5a350>)
>   File "/opt/conda/lib/python3.10/concurrent/futures/_base.py", line 451, in result
>     return self.__get_result()
>   File "/opt/conda/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
>     raise self._exception
>   File "/home/jupyter/.cache/pypoetry/virtualenvs/k-llm-huggingface-6NB9Z0db-py3.10/lib/python3.10/site-packages/vllm/engine/llm_engine.py", line 861, in step
>     output = self.model_executor.execute_model(
>   File "/home/jupyter/.cache/pypoetry/virtualenvs/k-llm-huggingface-6NB9Z0db-py3.10/lib/python3.10/site-packages/vllm/executor/distributed_gpu_executor.py", line 76, in execute_model
>     return self._driver_execute_model(execute_model_req)
>   File "/home/jupyter/.cache/pypoetry/virtualenvs/k-llm-huggingface-6NB9Z0db-py3.10/lib/python3.10/site-packages/vllm/executor/ray_gpu_executor.py", line 224, in _driver_execute_model
>     return self.driver_worker.execute_method("execute_model",
>   File "/home/jupyter/.cache/pypoetry/virtualenvs/k-llm-huggingface-6NB9Z0db-py3.10/lib/python3.10/site-packages/vllm/worker/worker_base.py", line 349, in execute_method
>     raise e
>   File "/home/jupyter/.cache/pypoetry/virtualenvs/k-llm-huggingface-6NB9Z0db-py3.10/lib/python3.10/site-packages/vllm/worker/worker_base.py", line 340, in execute_method
>     return executor(*args, **kwargs)
>   File "/home/jupyter/.cache/pypoetry/virtualenvs/k-llm-huggingface-6NB9Z0db-py3.10/lib/python3.10/site-packages/vllm/worker/worker_base.py", line 271, in execute_model
>     output = self.model_runner.execute_model(
>   File "/home/jupyter/.cache/pypoetry/virtualenvs/k-llm-huggingface-6NB9Z0db-py3.10/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
>     return func(*args, **kwargs)
>   File "/home/jupyter/.cache/pypoetry/virtualenvs/k-llm-huggingface-6NB9Z0db-py3.10/lib/python3.10/site-packages/vllm/worker/model_runner.py", line 1189, in execute_model
>     self.set_active_loras(model_input.lora_requests,
>   File "/home/jupyter/.cache/pypoetry/virtualenvs/k-llm-huggingface-6NB9Z0db-py3.10/lib/python3.10/site-packages/vllm/worker/model_runner.py", line 887, in set_active_loras
>     self.lora_manager.set_active_loras(lora_requests, lora_mapping)
>   File "/home/jupyter/.cache/pypoetry/virtualenvs/k-llm-huggingface-6NB9Z0db-py3.10/lib/python3.10/site-packages/vllm/lora/worker_manager.py", line 138, in set_active_loras
>     self._apply_loras(lora_requests)
>   File "/home/jupyter/.cache/pypoetry/virtualenvs/k-llm-huggingface-6NB9Z0db-py3.10/lib/python3.10/site-packages/vllm/lora/worker_manager.py", line 270, in _apply_loras
>     self.add_lora(lora)
>   File "/home/jupyter/.cache/pypoetry/virtualenvs/k-llm-huggingface-6NB9Z0db-py3.10/lib/python3.10/site-packages/vllm/lora/worker_manager.py", line 285, in add_lora
>     self._lora_manager.activate_lora(lora_request.lora_int_id)
>   File "/home/jupyter/.cache/pypoetry/virtualenvs/k-llm-huggingface-6NB9Z0db-py3.10/lib/python3.10/site-packages/vllm/lora/models.py", line 804, in activate_lora
>     result = super().activate_lora(lora_id)
>   File "/home/jupyter/.cache/pypoetry/virtualenvs/k-llm-huggingface-6NB9Z0db-py3.10/lib/python3.10/site-packages/vllm/lora/models.py", line 495, in activate_lora
>     module.set_lora(index, module_lora.lora_a, module_lora.lora_b,
>   File "/home/jupyter/.cache/pypoetry/virtualenvs/k-llm-huggingface-6NB9Z0db-py3.10/lib/python3.10/site-packages/vllm/lora/layers.py", line 826, in set_lora
>     lora_b = self.slice_lora_b(lora_b)
>   File "/home/jupyter/.cache/pypoetry/virtualenvs/k-llm-huggingface-6NB9Z0db-py3.10/lib/python3.10/site-packages/vllm/lora/layers.py", line 801, in slice_lora_b
>     lora_b_q = lora_b[0][:, self.q_proj_shard_size *
> IndexError: too many indices for tensor of dimension 1

archive_name.tar.gz
Attached is LoRa Adapter

After little investigation, seems like vllm's using safetensors to load the adapter but returns empty tensors when calling f.get_tensor() in some of the cases, still, no idea how to fix this.
More context:
i trained the Adapter using trl SFTtrainer
as a workaround i'm going to use save_safetensors=False  in SFTConfig

I have a similar issue as well.
When LLaMA 3 8B combines LoRA and the base model using merge_and_unload, it works well, but when loaded with enable_lora in vLLM, the performance drops significantly. :cry:

I think the issue is not vllm's entirely, they should only add a check to see that adapter does not contain empty layers, the issue is why the adapter has empty layers
for me, i found that using deepsped zero3 configuration, i can generate good adapters only for rank16 and lower but not for 32 and 64, it does work well with zero2,
so, i am going to close the bug.


Symbol(s) not found for architecture x86_64

I have GBVersionTracking running successfully in an existing store app (Xcode 6.1.1).  I'm trying to add it to a brand-new app, same Xcode version, and I received the following error:
.
I copy the GBVersionTracking folder directly into my project, I don't use cocoapods.

Make sure you set the sub project as a dependency. And also add the library's product (the static lib) to the link phase of your project.
Sounds like the library isn't getting linked in.
Sent from my mobile device.
--
Luka Mirosevic | Founder |<EMAIL_ADDRESS>| +43<PHONE_NUMBER>
Goonbee e.U.
Sollingergasse 28/13, A-1190 Wien
FN 394906 w
UID: ATU67510259
This email and its attachments may be confidential, privileged and protected from disclosure. If you received this communication by mistake, please don't forward it to anyone else, please erase all copies and attachments, and please let me know that it went to the wrong person. Thanks.

On 12 Feb 2015, at 04:13, fbara<EMAIL_ADDRESS>wrote:
I have GBVersionTracking running successfully in an existing store app (Xcode 6.1.1). I'm trying to add it to a brand-new app, same Xcode version, and I received the following error:
.
I copy the GBVersionTracking folder directly into my project, I don't use cocoapods.
—
Reply to this email directly or view it on GitHub.

Thanks for the feedback.  I couldn't figure out what I did differently from the last time I used it in an app (successfully).  Your comment made me go back and compare the source code from the other app, then I saw the problem.
I pulled the entire GBVersionTracking folder into my project.  It included the .pch and .plist files.  Once I removed the entire folder and then just added your header and implementation files, it worked perfectly.
Regarding your comment about adding the product's static lib to the link phase, I didn't do anything like that in either of my projects and they work fine.  I just copy the .h and .m and then do a #import to include your files.  Am I missing something or doing something wrong?


mem-ruby: Add missing transition for SLC writes to VIPER TCC

Bypassed write though requests on invalid lines in the TCC should be written though to the directory. This transition was previously missing.
Change-Id: I16b117c4e085ce6be0ed5297aa0129d52cd35a51

Is this a race condition?  Otherwise I don't follow how a WrVicBlkEvict can be triggered while in I state as it checks if (presentOrAvail(...)) to trigger it

Is this a race condition? Otherwise I don't follow how a WrVicBlkEvict can be triggered while in I state as it checks if (presentOrAvail(...)) to trigger it

From my understanding presentOrAvail(...) will return true for invalid lines since the line is available for use, so this should happen any time an SLC write goes through the TCC when the associated cache line is unused.

Is this a race condition? Otherwise I don't follow how a WrVicBlkEvict can be triggered while in I state as it checks if (presentOrAvail(...)) to trigger it

From my understanding presentOrAvail(...) will return true for invalid lines since the line is available for use, so this should happen any time an SLC write goes through the TCC when the associated cache line is unused.

Ah yes, that make sense, thanks


anchor test fails silently when using lazy_static

I wanted to have a top level variable with a non const init in my program, I introduced lazy_static crate, and tests started to fail with the error "program is not deployed". There was also no indication of the problem in .anchor/test-ledger/validator.log.
I tracked it down by starting the validator separately with solana-test-validator and running anchor deploy. Then I saw the same error as in this issue (longer than 16 bytes): https://solana.stackexchange.com/questions/13628/error-elf-error-elf-error-failed-to-parse-elf-file-section-or-symbol-name.

The behavior is coming from solana-test-validator since anchor test uses that to deploy your program (include the program in genesis rather than "deploy" to be exact).
I also wonder why this is not a compile error, given it's clearly a restricted functionality.
In any case, we might be able to fix it from our side by checking the ELF, but it would be better if this issue gets fixed upstream (either via build tools or solana-test-validator).


[Compute] Add --computer-name-prefix to vmss create

[Compute] Add --computer-name-prefix to vmss create
Implement #9362

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

[ ] I adhere to the Command Guidelines.

Minor change. LGTM.

Minor change. LGTM.

What is LGTM

Minor change. LGTM.

What is LGTM

Look good to me


"Wrong answer" animation revision for all 4 phases of the Magnet Monster

Updated "noEat" animation frames are in each phase folder.
Magnet Monster animations
FYI, the Phase 4 animation has a slightly different naming convention. Do you think this is an issue?

@burrage its not a issue, as we are using these images only for creating the spritesheet, after creating the spritesheet we are naming it as per our requirement,

Hey Team,
you can check the wrong answer animation on this url!
https://devcuriousreader.wpcomstaging.com/FeedTheMonsterJS2.3/

Geoff's comments for revision:

I would make a couple other changes on the programming side:

1.) The whole thing seems stretched vertically. The proportions are off. The food spits out vertically, so that means it gets lost at the top very quickly. I think unstretching it should help with that.
2.) Maybe a brief pause after dropping the food before the noEat animation starts, a duration that still feels responsive but giving us a little moment to breathe before the animation starts. I think that should improve legibility, and might even mean you don't have to repeat it two more times.

Also so we don't have to open another task for the revisions, we can move this back to In Progress and bump up the story points accordingly so it encapsulates initial implementation + revision.
Thanks!

Hey @burrage ,
Hope you are doing well,
Regarding this task we have done some changes programmatically that helps us render more frames according to the type of animations, along with that we have also updated the wrong animation with the images provided previously!
Here's the wordpress on which you can check the changes ,
Here i have removed the restrictions of some gameplay rules, Also after every levels new monster will come!
check out this link:- https://devcuriousreader.wpcomstaging.com/FeedTheMonsterJS2.3/
Note:
need to turn on cors policy
Also after every level the next phase of monster will appear

This looks a lot better than it did before @amitsinghsutara !
This seems to be as far as we're going to be able to take this animation without the animation engine for syncing everything up, so let's move this on to Review/QA -> Done and call it a success for now!

Hey @burrage ,
Thanks a lot for the feedback 🙌
Are we good to go to add these changes on the development build and then production?

Yup! Throw these into development!

Hey @burrage ,
These changes are live on the development build!
Best Regards
Amit

In QA, let's ensure this doesn't throw off where someone can drag a stone.


Notebook: Cursor should be pointer when hovering on buttons

Issue Type: Bug
While hovering on buttons in a notebook editor, the cursor is not changed to Pointer, which is what VS Code does natively.

Extension version: 2019.11.50794
VS Code version: Code 1.41.1 (26076a4de974ead31f97692a0d32f90d735645c0, 2019-12-18T14:57:51.166Z)
OS version: Darwin x64 19.0.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz (16 x 2400)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_offsurface_control: disabled_offsurface_synchronization: enabled_onvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 2

Memory (System)
32.00GB (0.38GB free)

Process Argv

Screen Reader
no

VM
0%

Thanks for reporting this issue. We'll look into this in the new year.
Also, I agree with the suggestion.

Validated. Insider's build should have the fix.


Possible bug with new version of purell

Hi,
I'm the author of the purell package used by hugo (https://github.com/PuerkitoBio/purell). There's a fix for a bug with relative paths in purell that apparently causes issues for hugo, so I thought I'd give you a chance to look at it before I merge it into master. The fix is in the fix-relative-paths branch.
To give an idea, this test currently fails in master:

foo/bar with flag FlagsAllGreedy does not return foo/bar, but /foo/bar (rooted path)

The changes in the fix-relative-paths branch fix this case, but it came to my attention via @anthonyfok that this broke the hugo tests. It is possible that hugo somehow relies on the buggy behaviour of purell.
If you could run a few tests with the fix-relative-paths branch and confirm to me when all is good, we can synchronize the merge to master and reduce the chance of breaking stuff in the wild.
Thanks,
Martin

There's another fix in this branch that I just merged, it fixes a bug with Go's stdlib parser that unnecessarily encodes some reserved URL characters (see https://github.com/PuerkitoBio/purell/issues/7 and https://github.com/golang/go/issues/5684). I doubt this one should cause issues to hugo, but anyway it is included in this branch.

Thank you @PuerkitoBio for the heads up!
For reference, here is more background information: https://github.com/PuerkitoBio/purell/pull/5
The go test ./... error Hugo encountered may be seen in the Travis CI test build on January 22, 2015, for example: https://travis-ci.org/spf13/hugo/jobs/47995348
When Hugo (latest HEAD) is built with purell's fix-relative-paths branch, go test ./... exhibits the following errors:
--- FAIL: TestTaxonomyNodeMenu (0.00s)
	menu_test.go:341: [0] Wrong result from IsMenuCurrent: false
	menu_test.go:341: [1] Wrong result from IsMenuCurrent: false

and
--- FAIL: TestPermalink (0.00s)
	page_permalink_test.go:73: Test 0: Expected abs url: /x/y/z/boofar/, got: x/y/z/boofar/
	page_permalink_test.go:83: Test 0: Expected rel url: /x/y/z/boofar/, got: x/y/z/boofar/
	page_permalink_test.go:73: Test 1: Expected abs url: /x/y/z/boofar/, got: x/y/z/boofar/
	page_permalink_test.go:83: Test 1: Expected rel url: /x/y/z/boofar/, got: x/y/z/boofar/
	page_permalink_test.go:73: Test 2: Expected abs url: /x/y/z/boofar/, got: x/y/z/boofar/
	page_permalink_test.go:83: Test 2: Expected rel url: /x/y/z/boofar/, got: x/y/z/boofar/
	page_permalink_test.go:73: Test 5: Expected abs url: /x/y/z/boofar.html, got: x/y/z/boofar.html
	page_permalink_test.go:83: Test 5: Expected rel url: /x/y/z/boofar.html, got: x/y/z/boofar.html
	page_permalink_test.go:73: Test 6: Expected abs url: /x/y/z/boofar.html, got: x/y/z/boofar.html
	page_permalink_test.go:83: Test 6: Expected rel url: /x/y/z/boofar.html, got: x/y/z/boofar.html
	page_permalink_test.go:73: Test 7: Expected abs url: /x/y/z/boofar.html, got: x/y/z/boofar.html
	page_permalink_test.go:83: Test 7: Expected rel url: /x/y/z/boofar.html, got: x/y/z/boofar.html

More investigation is needed.  To be continued...  ;-)

Looking at the test, the new results seem OK, the input is x/y/z/boofar.md, so it should return a relative path, not an absolute one. You'll notice that the test cases 3-4 and 8+ work fine, and it looks like those are effectively absolute paths (there's a "base" value).
So I think the new test results are correct. Keep in mind that I don't know the viper package, though, this is just an impression by looking at the test itself.

@PuerkitoBio, I would agree that the Purell's new behaviour is more correct.  However, it is not just the test cases in Hugo that would fail—we do not want to break any existing Hugo sites either, as the use of {{ .Permalink }} and {{ .RelPermalink }} etc. are almost universal.
I am still pretty new to Hugo (and to Go) myself, so it is taking me a bit of time to study the relevant Hugo code as well as testing a few Hugo generated web sites and see how things may break.  Besides, there is now a new test error menu_test.go:341: [0] Wrong result from IsMenuCurrent: false which I do not yet understand.
A quick git grep purell reveals that the only call to purell function is purell.NormalizeURLString() in hugo/helpers/url.go, so my initial guess is adding some code to add a leading slash / nearby would provide a quick fix.  Still studying.  Sorry for the delay.
I do think that it would be the best interest for both projects that this change is dealt with soon.  Hugo v0.13's release is imminent (likely within a few days), and so is Purell's fix of relative paths, so it is better for Hugo to adapt to Purell's new behaviour before the v0.13 release, otherwise anyone who tries to compile Hugo v0.13 would have a buggy hugo binary.  :wink:
@PuerkitoBio, please allow us one or two more days for us to find a solution, and once we have a fix for Hugo ready, you may then merged fix-relative-paths in Purell, and we will then commit the fix for Hugo right away.  That's the plan anyhow.  :-)
Thanks again for your patience, and thanks to your wonderful purell library!

Oh sure, no problem, AFAIK hugo is the most popular user of purell, no point in rushing in a change that would break it. The sooner the better, obviously, since it fixes bugs, but let me know when you're ok with the merge.

@spf13: Thank you for merging #902!
@PuerkitoBio: Hugo is now ready for the fix-relative-paths branch of purell, so please go ahead and merge the relative path fixes to your master branch.  Thank you for your patience!

Thanks @anthonyfok, this is merged. Let me know if you have any issues.


[Instance Composer] Create Details/Form sidebar

❗❗❗Important : this is an ISO 8 feature
Right Sidebar
The Right Sidebar consists of these different elements:

A title
A description
The form if the selected element is on the canvas and can be edited.
The data model for elements not yet on the canvas
A section for buttons

Edit if available
Remove that will remove the selected item from the canvas, but not delete it from the instance. The button will not be shown for embedded entities that are not supposed to be removed.
Cancel to undo edit changes.

Which Elements can be removed:

Embedded entities for which the model allows it
Inter-Service-Relations for which the model allows it

Which Elements can be edited:

Embedded entities for which the model allows it
The root instance

Inter-Service-Relations can never be edited from the root connection.

https://github.com/inmanta/web-console/pull/5891#discussion_r1689440403

https://github.com/inmanta/web-console/pull/5891#discussion_r1706973332
https://github.com/inmanta/web-console/pull/5891#discussion_r1706971287
https://github.com/inmanta/web-console/pull/5891/files/cbb9d8326cf91b550cec2a4a390785e1d1ae2eb4#r1706927789
https://github.com/inmanta/web-console/pull/5891#discussion_r1706971765

https://github.com/inmanta/web-console/pull/5891#discussion_r1706965557

all comments got addressed


Adds ability to set bottomContainer will not be created by default.

Cesium.Viewer.ConstructorOptions:

Add a bottomContainer option
If set to false, the bottomContainer will not be created.

If you don't want to display bottomContainer or CreditDisplay, you can set it like this:
const viewer = new Cesium.Viewer('cesiumContainer', {
    bottomContainer: false
})

I think it will be very convenient.

Thank you so much for the pull request @puxiao! I noticed this is your first pull request and I wanted to say welcome to the Cesium community!
The Pull Request Guidelines is a handy reference for making sure your PR gets accepted quickly, so make sure to skim that.

:x: Missing CONTRIBUTORS.md entry.

Please add yourself to the contributors file!

:x: Missing CLA.

Please send in a Contributor License Agreement (CLA) and comment back here to let us know to check this!
Maintainers, here's how to check for a submitted CLA.

:grey_question: CHANGES.md was not updated.

If this change updates the public API in any way, please add a bullet point to CHANGES.md.

:grey_question: Unit tests were not updated.

Make sure you've updated tests to reflect your changes, added tests for any new code, and ran the code coverage tool.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.
[ ] Works (or fails gracefully) in IE11.

Thanks for the pull request @puxiao. However, you should not be removing the CreditDisplay from the viewer. Many data providers, including Cesium ion, have attribution requirements for using their data in applications, so hiding this would be a violation of their terms of service.


Runtime certificate decision

Is your feature request related to a problem? Please describe.
Kind of, we're looking for a way to pick a TLS certificate for the listener/server to use on runtime, so picking a specific certificate for a domain and such. I'm wondering if such feature is actually possible to produce and implement.
Describe the solution you'd like
Similar to libraries like certmagic, a decision function to be called when a certificate is requested and needed.
Describe alternatives you've considered
I've thought of using middlewares and such but since the TLS configuration is setup when the server is configured and booted up, that approach seems not to be possible.

If go can, so can Rust. But it needs time.

If you use RutlsListener, you can add many key certs:
https://docs.rs/salvo_core/latest/salvo_core/listener/rustls/struct.RustlsConfig.html#method.keycert
But this function is not tested, you can try and give feedback.

We're looking for runtime certificate decision, unless this can be updated and recorded during runtime it is not what we're looking for. If all else fails, would it be possible to leverage the RustlsListener itself and build a custom version that supports what we're looking for.

You can use RustlsConfig to config tls for each server name. If you want more flexibility，you can implement ResolvesServerCert and use ServerConfig as RustlsListener's config.
pub(crate) struct CertResolver {
    fallback: Option<Arc<CertifiedKey>>,
    certified_keys: HashMap<String, Arc<CertifiedKey>>,
}

impl ResolvesServerCert for CertResolver {
    fn resolve(&self, client_hello: ClientHello) -> Option<Arc<CertifiedKey>> {
        client_hello
            .server_name()
            .and_then(|name| self.certified_keys.get(name).map(Arc::clone))
            .or_else(|| self.fallback.clone())
    }
}


Hide some options from the matrix

Hello,
Is it possible to, somehow, hide an option from the matrix? Here's my use case:
I have, say, 6 resources I'll be listing as rows and they all have potential actions as columns: C, R, U, D.
Now let's imagine that two out of those six have special actions like -say- MANAGE and APPROVE.
Is it possible to have C, R, U, D, M, A as the columns but not showing the checkboxes/radio on specific rows?

so since Matrix already extending CheckboxList, there is a method disableOptionWhen
and the result like this by default:

so the question is are you planing to disable the "Approve" for example on all resources or specific ones?!
if I made a PR can you Test around!

That was quick! Thanks lot!
My specific use case, specific ones. I.e.- in your example, image that you can approve customers and companies but not users. The checkbox for users should be visible and enabled.

whatever conditions you pass here I am disabling the m,p on users
->disableOptionWhen(fn (string $value): bool => $value === 'm' || $value === 'p' || $value === 'users')

you can test the PR #14

Thanks a bunch @atmonshi !


Add default passported text to CYA IOJ

This passported text is shown on the CYA and certs based on the provider not selecting an ioj reason. I don't know the routing logic that would not show the ioj page at all - but I can fix this if it's too hacky as is

Incorrect - new branch to create proper flow


Remove mandatory IR

Related Issue
Reverting compilation changes, and bringing Abs' branch up to date
replaces https://github.com/Uniswap/v4-periphery/pull/416
Description of changes

me looking for the via-IR apologists

@saucepoint Huge THANK YOU for removing IR! Speeds up edit-test loop so much.

@DenisGorbachev
credit goes to @abdulla-cb for implementation!
im just his agent


Navbar

as a user I want a nice navbar for navigation

scaffolded out a basic navbar with homepage link (MAKS PRINTS), login button, and signup button


Closing the Diamond shape does not hide the main paddle

Just open the diamond by clicking on it, then try to close it again by clicking on it. This is what happens:

I doubt that's meant to happen 😂

oops :) Thanks for the report

Fixed!


pyproject(ruff): Add pydocstyle rule selector w/ numpy convention

Appendix

https://www.pydocstyle.org/en/stable/
https://docs.astral.sh/ruff/settings/#pydocstyle

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

Comparison is base (159aba8) 70.86% compared to head (735d336) 71.24%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master      #18      +/-   ##
==========================================
+ Coverage   70.86%   71.24%   +0.38%
==========================================
  Files           4        4
  Lines         151      153       +2
==========================================
+ Hits          107      109       +2
  Misses         44       44

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


Updated the correct "Tenant URL" format for the Cerner User Roster feed

The 'https://user-roster-api.cernercentral.com/scim/v1/Realms/User-Roster-Realm-ID/ user' was not the correct endpoint to be able to obtain both Users AND Groups from the User Roster SCIM feed. "https://user-roster-api.cernercentral.com/scim/v1/Realms/User-Roster-Realm-ID/ " is the correct enpoint.

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

@srbach : Thanks for your contribution to the Azure documentation! The author, @asmalser-msft, has been notified to review your proposed change.

#sign-off


FileNotFoundException and nothing exported

Hello!
I'v been using this package for some time, but recently upgraded unity to version 2020 as it was the only way to fix a Unity bug.
But now when exporting android, I receive the error message:
FileNotFoundException: Could not find file "/Users/bla/src/c/packages/c-native/android/UnityExport/build.gradle"
System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.IO.FileOptions options, System.String msgPath, System.Boolean bFromProxy, System.Boolean useLongPath, System.Boolean checkHost) (at <695d1cc93cca45069c528c15c9fdd749>:0)
(wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int,System.IO.FileOptions,string,bool,bool,bool)
System.IO.StreamReader..ctor (System.String path, System.Text.Encoding encoding, System.Boolean detectEncodingFromByteOrderMarks, System.Int32 bufferSize, System.Boolean checkHost) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.IO.StreamReader..ctor (System.String path, System.Text.Encoding encoding, System.Boolean detectEncodingFromByteOrderMarks, System.Int32 bufferSize) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.IO.StreamReader..ctor (System.String path, System.Boolean detectEncodingFromByteOrderMarks) (at <695d1cc93cca45069c528c15c9fdd749>:0)
System.IO.StreamReader..ctor (System.String path) (at <695d1cc93cca45069c528c15c9fdd749>:0)
(wrapper remoting-invoke-with-check) System.IO.StreamReader..ctor(string)
System.IO.File.ReadAllText (System.String path) (at <695d1cc93cca45069c528c15c9fdd749>:0)
Build.DoBuildAndroid (System.String buildPath) (at Assets/Scripts/Editor/Build.cs:64)
Build.DoBuildAndroidLibrary () (at Assets/Scripts/Editor/Build.cs:25)

Is this error causing the export to fail or is the error appearing because nothing is exported (there's noting in the UnityExport folder)

@nicwhitts did you run the React Native export from within Unity?

Hey,
I'm having the same issue, any update @nicwhitts ?

Let me try and remember what happened here. Iv been using it again successfully.

Post your Build.cs script and il take a look

Actually, it could of been this fix:
flatDir {
            dirs "${project(':unityLibrary').projectDir}/libs"
        }

Changing to unityLibrary instead of unityExport
There may be some other places I had to change this if i remember correctly. But maybe not! Let me know

Hi, thank you for your answers.
So far I changed it in the build.gradle :
include ":unityLibrary"
project(":unityLibrary").projectDir = file("./UnityExport")
As well as settings.gradle:
flatDir {
dirs "${project(':unityLibrary').projectDir}/libs"
}
But still, I need to check "Export Project" for my build to work.

Hi, @nicwhitts , or @Arnaod have you made it work already? I've tried Arnaod's changes but no luck


Added needed functions

I'll be honest in that I don't know for sure if this will work. They are small functions that do as requested in the issue.

Do you not have the ability to run the test environment?


Add different handlers for HTTP and HTTPS

Wrote the code, still need to test and add.

Supported now: https://github.com/josephspurrier/gowebapp/commit/2f2384e6b91c71ae3256bf9da34fa2c86cc6c05e


Linkedin icon in organization profile - bug fix

What does this pull request aim to achieve? 💯
Bug fix for linkedin logo not displaying in organization profile:

Please be concise and link any related issue(s):
fixes #1039

[x] I have checked that no one else is working on similar changes.
[x] I have read the latest README and understand the development workflow.
[x] The name of this branch is: feature/<branch_name> (need to have cloned the repo not forked).
[x] This branch is rebased/merged with the latest master.
[x] There are no merge conflicts.
[x] There are no console warnings and errors.
[x] On the right hand side of this PR, I have linked the appropriate issue(s) under "Issues" and added a project progress under "Projects".

Retested on desktop chrome and mobile web.

LGTM! Thank you sonia! I made a few changes to remove Redux, I tested both in local and in the Build URL. All seems good. Will merge this to have more yes on it (on staging)

Great! thank you for doing that :)


[BUG] Chaper not parsed correctly

OS: Fedora Linux (Podman Container)
Manga Tagger Version: Docker Version
Description of the issue:
Boruto Two Blue Vortex -.- 001 Boruto.cbz this file name did not work. Changing to `Boruto Two Blue Vortex -.- Ch 001 Boruto.cbz' worked... this would be a manual fix for every chapter and I think other manga I downloaded did not need this renaming from my part.
Manga Series: BORUTO: TWO BLUE VORTEX
Log File:
2023-08-24 19:17:17,283 | MainThread<PHONE_NUMBER>04904 | MangaTaggerLib.task_queue.QueueWorker | INFO - Watching "/downloads" for new downloads

2023-08-24 19:17:18,292 | MTT-0<PHONE_NUMBER>57080 | MangaTaggerLib.MangaTaggerLib | INFO - Now processing "/downloads/Boruto Two Blue Vortex/Boruto Two Blue Vortex -.- 001 Boruto.cbz"...

2023-08-24 19:17:18,293 | MTT-0<PHONE_NUMBER>57080 | MangaTaggerLib.MangaTaggerLib | INFO - Attempting to rename "Boruto Two Blue Vortex -.- 001 Boruto.cbz"...

2023-08-24 19:17:18,293 | MTT-0<PHONE_NUMBER>57080 | MangaTaggerLib.MangaTaggerLib | INFO - Filename was successfully parsed as ['Boruto Two Blue Vortex', '001 Boruto.cbz'].

2023-08-24 19:17:18,295 | MTT-0<PHONE_NUMBER>57080 | MangaTaggerLib.MangaTaggerLib | ERROR - Unable to parse filename "['Boruto Two Blue Vortex', '001 Boruto.cbz']" due to delimiter "ch/chapter" missing

Traceback (most recent call last):

  File "/app/Manga-Tagger/MangaTaggerLib/MangaTaggerLib.py", line 141, in filename_parser

    raise UnparsableFilenameError(filename, 'ch/chapter')

MangaTaggerLib.errors.UnparsableFilenameError: Unable to parse filename "['Boruto Two Blue Vortex', '001 Boruto.cbz']" due to delimiter "ch/chapter" missing

2023-08-24 19:17:18,296 | MTT-0<PHONE_NUMBER>57080 | MangaTaggerLib.task_queue.QueueWorker | ERROR - 'NoneType' object is not subscriptable

Traceback (most recent call last):

  File "/app/Manga-Tagger/MangaTaggerLib/task_queue.py", line 188, in process

    MangaTaggerLib.process_manga_chapter(path, uuid.uuid1())

  File "/app/Manga-Tagger/MangaTaggerLib/MangaTaggerLib.py", line 68, in process_manga_chapter

    metadata_tagger(file_path, manga_details[0], manga_details[1], manga_details[2], logging_info, manga_details[3])

TypeError: 'NoneType' object is not subscriptable

still the same :)

I'm getting the same error

Are you using %NUMBERING% instead of %CHAPTER%?
iirc %CHAPTER% includes the ch. prefix in addition to the numbering

Are you using %NUMBERING% instead of %CHAPTER%?
iirc %CHAPTER% includes the ch. prefix in addition to the numbering

Thanks for the reply! I ended up prefixing the chapter number with Ch, as the original issue suggested, so it ended up becoming like:
MANGA TITLE -.- Ch CHAPTER NUMBER
That seemed to do the trick for me. Hope this helps someone else who stumbles upon this!

Are you using %NUMBERING% instead of %CHAPTER%?
iirc %CHAPTER% includes the ch. prefix in addition to the numbering

Thanks for the reply! I ended up prefixing the chapter number with Ch, as the original issue suggested, so it ended up becoming like: MANGA TITLE -.- Ch CHAPTER NUMBER That seemed to do the trick for me. Hope this helps someone else who stumbles upon this!

yeah this does the trick for me too

Closing this then.
FYI that's explained in the wiki https://github.com/MangaManagerORG/Manga-Tagger/wiki


Tooltip for pulldown's options?

Is there a way to specify a tooltip for the pulldown menu's options?

At the moment there is not. If you have a proposal of how you want to configure this, I'm open for suggestions.


run as part of LO ?

in order not to launch a separate shell ...

when importing, smtp fails since sys.argv is empty under LO ...
   File "C:\Program Files\LibreOffice\program\python-core-3.7.7\lib\smtpd.py", line 97, in <module>
    program = sys.argv[0]
IndexError: list index out of range


Prerequisites software link is dead on https://webrtc.org/reference/getting-started/

https://webrtc.org/reference/getting-started/prerequisite-sw/ gives a 404.
It looks like the path is correct in https://github.com/webrtc/webrtc-org/blame/gh-pages/native-code/development/index.md#L360.
@louquillio do you know what's going on?

Isn't this the page? https://webrtc.org/native-code/development/prerequisite-sw/

Yes it is but when you click the link it navigates to https://webrtc.org/reference/getting-started/prerequisite-sw/

Seems like the site base url gets confused somehow.

Sorry, where is the link? The one on https://webrtc.org/native-code/development/ looks fine to me:

aha it breaks because I followed an old link in a post by a user.
If you navigate to https://webrtc.org/reference/getting-started/ and then click the link it's broken.

Stale /reference/* pages are removed. I think is can be closed in favour of #42


Add 'workitemtype' as alias to 'type' in the query language

The available filters API (/api/filters) uses workitemtype as the key. And this is used by UI for constructing the widgets.

'type' sounds very generic and possible contextual based on the part of the query you are specifying. e..g link type, work item type, state type?.. Sounds like a dangerous alias

'type' sounds very generic and possible contextual based on the part of the query you are specifying. e..g link type, work item type, state type?.. Sounds like a dangerous alias

That's a good point. The UI team is using 'workitemtype' after this change. So, I am fine with removing 'type'.


Blank page on browsing to the Login or Register page in React app with authentication in ASP.NET Core 3 Preview 3

Describe the bug
When running a React app with Authentication using ASP.NET Core 3.0 Preview 3 on a Windows 7 machine the Login and Register pages are blank and give no indication of what the problem is. The user must open the console to see any error.
To Reproduce
Follow the steps in #8397, then click on the Login link (https://localhost:44341/authentication/login). The menu is still shown, but the body of the page is blank with no indication of anything wrong. I know it's a sample app, but I'd still expect some basic error handling. Same for the Register page.
Expected behavior
The body of the page shows a login for or some kind of error.
Screenshots

Additional context
I suppose this is due to the WebSocket issue (#8397) but this bug is about handling the error better. The client-side code should display some error, but if WebSockets are required for the authentication to work then the server-side code should also throw some exception.

After applying the Import error "Cannot find module "./components/api-authorization/Login" workaround from https://github.com/dotnet/core/blob/master/release-notes/3.0/preview/3.0.0-preview-known-issues.md I no longer get a blank page when clicking on Login or Register. (I still get the WebSocket exception, so that's probably unrelated.)

Fix in #8592


feat(save): remove wallpaper saving functionality

#46
#45
#44
#43  👈
develop

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @libhide and the rest of your teammates on  Graphite

Merge activity

Jun 6, 8:55 AM EDT: @libhide started a stack merge that includes this pull request via Graphite.


BGE: custom lookup mappings

Critical Changes
Changes
--Custom lookup mappings are supported in BGE.
Issues Closed
New Metadata
Deleted Metadata

**lurch: attach W-029639

Tracking W-029639


ClientModel prototype: LRO abstractions using the "struct" approach

This approach explores adding a third LRO type representing the tuple of status and value for a progressively-resolved result of a service LRO.
Note its similarity to Page in the pageable abstraction set.

API change check
APIView has identified API level changes in this PR and created following API reviews.
System.ClientModel


phantomjs occasionally hangs when opening a page with many dependents

<EMAIL_ADDRESS>commented:

I'm using phantomjs + qunit to do some automated testing of some client side Javascript. While doing so, I found that phantom would sometimes hang in page.open(), a behaviour I was unable to reproduce by hand in Firefox. I tried using a Python-based web server as well as Apache - neither changed the behaviour. I tried different versions of QUnit, which also didn't affect behaviour. I was originally running with Phantom 1.4.0, and after upgrading to 1.6.0 is greatly reduced the rate at which I hit the hang, so I think this is a Phantom bug (or maybe a Webkit one). All my tests were done on Linux.
When the tests are run successfully, the output from the web server looks like this:
2012-07-11 15:38:29,402 - werkzeug._log#116: <IP_ADDRESS> - - [11/Jul/2012 15:38:29] "GET /tests.html HTTP/1.1" 401 -
2012-07-11 15:38:29,404 - werkzeug._log#116: <IP_ADDRESS> - - [11/Jul/2012 15:38:29] "GET /tests.html HTTP/1.1" 200 -
2012-07-11 15:38:29,406 - werkzeug._log#116: <IP_ADDRESS> - - [11/Jul/2012 15:38:29] "GET /static/jquery-1.6.4.js HTTP/1.1" 200 -
2012-07-11 15:38:29,408 - werkzeug._log#116: <IP_ADDRESS> - - [11/Jul/2012 15:38:29] "GET /static/qunit-1.9.0.js HTTP/1.1" 401 -
2012-07-11 15:38:29,408 - werkzeug._log#116: <IP_ADDRESS> - - [11/Jul/2012 15:38:29] "GET /static/ausadmin.js HTTP/1.1" 401 -
2012-07-11 15:38:29,409 - werkzeug._log#116: <IP_ADDRESS> - - [11/Jul/2012 15:38:29] "GET /static/test/test_ausadmin.js HTTP/1.1" 401 -
2012-07-11 15:38:29,411 - werkzeug._log#116: <IP_ADDRESS> - - [11/Jul/2012 15:38:29] "GET /static/test/test_ausadmin.js HTTP/1.1" 200 -
2012-07-11 15:38:29,412 - werkzeug._log#116: <IP_ADDRESS> - - [11/Jul/2012 15:38:29] "GET /static/qunit-1.9.0.js HTTP/1.1" 200 -
2012-07-11 15:38:29,414 - werkzeug._log#116: <IP_ADDRESS> - - [11/Jul/2012 15:38:29] "GET /static/ausadmin.js HTTP/1.1" 200 -
2012-07-11 15:38:29,450 - werkzeug._log#116: <IP_ADDRESS> - - [11/Jul/2012 15:38:29] "GET /reset HTTP/1.1" 401 -
2012-07-11 15:38:29,640 - werkzeug._log#116: <IP_ADDRESS> - - [11/Jul/2012 15:38:29] "GET /reset HTTP/1.1" 200 -
2012-07-11 15:38:29,678 - werkzeug._log#116: <IP_ADDRESS> - - [11/Jul/2012 15:38:29] "PUT /users/foo/permissions/admin HTTP/1.1" 201 -
2012-07-11 15:38:29,682 - werkzeug._log#116: <IP_ADDRESS> - - [11/Jul/2012 15:38:29] "GET /users/foo/permissions/admin?format=html HTTP/1.1" 200 -
When I hit the hang, it's only:
2012-07-11 15:38:30,487 - werkzeug._log#116: <IP_ADDRESS> - - [11/Jul/2012 15:38:30] "GET /tests.html HTTP/1.1" 401 -
2012-07-11 15:38:30,489 - werkzeug._log#116: <IP_ADDRESS> - - [11/Jul/2012 15:38:30] "GET /tests.html HTTP/1.1" 200 -
2012-07-11 15:38:30,492 - werkzeug._log#116: <IP_ADDRESS> - - [11/Jul/2012 15:38:30] "GET /static/jquery-1.6.4.js HTTP/1.1" 200 -
2012-07-11 15:38:30,493 - werkzeug._log#116: <IP_ADDRESS> - - [11/Jul/2012 15:38:30] "GET /static/qunit-1.9.0.js HTTP/1.1" 401 -
2012-07-11 15:38:30,494 - werkzeug._log#116: <IP_ADDRESS> - - [11/Jul/2012 15:38:30] "GET /static/test/test_ausadmin.js HTTP/1.1" 401 -
2012-07-11 15:38:30,495 - werkzeug._log#116: <IP_ADDRESS> - - [11/Jul/2012 15:38:30] "GET /static/ausadmin.js HTTP/1.1" 401 -
If I attach strace to phantom 1.4.0, I see that it's poll()'ing 3 different file descriptors:
read(3, 0x7fff9192e500, 16)             = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(6, "\10\2\255\0\30\303\31\16\257\0\0\0\257\0\0\0\0\0\0\0\215\5z\3\215\5z\3\0\0\0\2", 4096, 0, NULL, NULL) = 32
recvfrom(6, 0x1b14884, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(6, 0x1b14884, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(6, 0x1b14884, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 3, -1) = 1 ([{fd=8, revents=POLLIN}])
read(3, 0x7fff9192e500, 16)             = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(6, 0x1b14884, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(8, {msg_name(0)=NULL, msg_iov(1)=[{"l\4\1\1\31\0\0\0\256\23\30\0\265\0\0\0\1\1o\0000\0\0\0/org/fre"..., 2048}], msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 225
recvmsg(8, 0x7fff9192db30, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
write(3, "\1\0\0\0\0\0\0\0", 8)         = 8
write(7, "\1\0\0\0\0\0\0\0", 8)         = 8
recvfrom(6, 0x1b14884, 4096, 0, 0, 0)   = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 3, 0) = 1 ([{fd=3, revents=POLLIN}])
Sometimes it appears to hit the poll() timeout, other times not. Those fds are:
phantomjs 18082 bhearsum    3u  0000                0,9        0     6821 anon_inode
phantomjs 18082 bhearsum    6u  unix 0xffff88006e80bdc0      0t0  2180614 socket
phantomjs 18082 bhearsum    8u  unix 0xffff880074358680      0t0  2181568 socket
I'm not quite sure how to figure out precisely what sockets it's looking at.
In phantom 1.6.0 it's slightly different, it's stuck in select():
select(4, [3], [], [], NULL)            = ? ERESTARTNOHAND (To be restarted)
--- SIGWINCH (Window changed) @ 0 (0) ---
select(4, [3], [], [], NULL)            = ? ERESTARTNOHAND (To be restarted)
--- SIGWINCH (Window changed) @ 0 (0) ---
select(4, [3], [], [], NULL)            = ? ERESTARTNOHAND (To be restarted)
--- SIGWINCH (Window changed) @ 0 (0) ---
select(4, [3], [], [], NULL
I tried to reduce this to a minimal non-python test case, but I was unable to reproduce that way. I have attached the script that I run with Phantom and the rendered output of tests.html. If there's anything else I can do to help figure out the root cause of this, please let me know.

Disclaimer:
This issue was migrated on 2013-03-15 from the project's former issue tracker on Google Code, Issue #652.
:star2:   12 people had starred this issue at the time of migration.

Is this issue back in 2.0?  Heavy Javascript pages, especially ones using AngularJS or latest browser features, are causing my load to hang indefinitely.  I'm not entirely sure how to troubleshoot it -- I've been trying to add timeouts inside the javascript:
var endScript = function(message, code) {
  console.log(message);
  phantom.exit(code);
};

window.setTimeout(function() {
  endScript('ERROR: Timeout', 2);
}, 60000);

But I'm only able to initiate the timeout outside of phantomjs.

@voor  +1 same here. @ariya any update on this (Why PhantomJS freezes)?

A temporary fix I've found is making sure you don't have any script tags in the header, and then render the page anyway on timeout.

+1
using casperjs v1.9.8, it's almost half the time it hangs for me

I've been seeing this issue in CasperJS as well. Adding the following to my tests at least allows PhantomJS to timeout instead of just hang forever.
casper.options.pageSettings.resourceTimeout = 20000;

OCD alert: Can someone with access fix the typo in the title on this issue? :smile:

page.settings.resourceTimeout = 10000;
Solve my issue, but not all data loaded...

+1

+1

+1 version 2.1.1. Random timeouts different files every time. On my end it is 50:50 between success and fail.

Hello!
You have a new message, please read http://awojnar.com/mean.php?n
<EMAIL_ADDRESS>

Hang forever, v2.1.1 OS X 10.11.3
01.js
var page = require('webpage').create();
console.log('The default user agent is ' + page.settings.userAgent);
page.settings.userAgent = 'SpecialAgent';

var endScript = function(message, code) {
  console.log(message);
  phantom.exit(code);
};

window.setTimeout(function() {
  endScript('ERROR: Timeout', 2);
}, 5000);

page.onConsoleMessage = function(message) {
  console.log('-> ' + message);
};

page.onCallback = function() {
  phantom.exit();
};

page.open('http://www.httpuseragent.org', function(status) {
  if (status !== 'success') {
    console.log('Unable to access network');
  } else {
    var ua = page.evaluate(function() {
      return document.getElementById('myagent').textContent;
    });
    console.log(ua);
  }
  phantom.exit();
});

$ phantomjs --debug=true --cookies-file=cookie.txt 01.js
2016-05-03T11:38:37 [DEBUG] CookieJar - Created and will store cookies in: "cookie.txt"
2016-05-03T11:38:38 [DEBUG] Set  "http"  proxy to:  "" : 1080
2016-05-03T11:38:38 [DEBUG] Phantom - execute: Configuration
2016-05-03T11:38:38 [DEBUG]      0 objectName : ""
2016-05-03T11:38:38 [DEBUG]      1 cookiesFile : "cookie.txt"
2016-05-03T11:38:38 [DEBUG]      2 diskCacheEnabled : "false"
2016-05-03T11:38:38 [DEBUG]      3 maxDiskCacheSize : "-1"
2016-05-03T11:38:38 [DEBUG]      4 diskCachePath : ""
2016-05-03T11:38:38 [DEBUG]      5 ignoreSslErrors : "false"
2016-05-03T11:38:38 [DEBUG]      6 localUrlAccessEnabled : "true"
2016-05-03T11:38:38 [DEBUG]      7 localToRemoteUrlAccessEnabled : "false"
2016-05-03T11:38:38 [DEBUG]      8 outputEncoding : "UTF-8"
2016-05-03T11:38:38 [DEBUG]      9 proxyType : "http"
2016-05-03T11:38:38 [DEBUG]      10 proxy : ":1080"
2016-05-03T11:38:38 [DEBUG]      11 proxyAuth : ":"
2016-05-03T11:38:38 [DEBUG]      12 scriptEncoding : "UTF-8"
2016-05-03T11:38:38 [DEBUG]      13 webSecurityEnabled : "true"
2016-05-03T11:38:38 [DEBUG]      14 offlineStoragePath : ""
2016-05-03T11:38:38 [DEBUG]      15 localStoragePath : ""
2016-05-03T11:38:38 [DEBUG]      16 localStorageDefaultQuota : "-1"
2016-05-03T11:38:38 [DEBUG]      17 offlineStorageDefaultQuota : "-1"
2016-05-03T11:38:38 [DEBUG]      18 printDebugMessages : "true"
2016-05-03T11:38:38 [DEBUG]      19 javascriptCanOpenWindows : "true"
2016-05-03T11:38:38 [DEBUG]      20 javascriptCanCloseWindows : "true"
2016-05-03T11:38:38 [DEBUG]      21 sslProtocol : "default"
2016-05-03T11:38:38 [DEBUG]      22 sslCiphers : "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-RC4-SHA:ECDHE-RSA-RC4-SHA:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:RC4-SHA:RC4-MD5"
2016-05-03T11:38:38 [DEBUG]      23 sslCertificatesPath : ""
2016-05-03T11:38:38 [DEBUG]      24 sslClientCertificateFile : ""
2016-05-03T11:38:38 [DEBUG]      25 sslClientKeyFile : ""
2016-05-03T11:38:38 [DEBUG]      26 sslClientKeyPassphrase : ""
2016-05-03T11:38:38 [DEBUG]      27 webdriver : ":"
2016-05-03T11:38:38 [DEBUG]      28 webdriverLogFile : ""
2016-05-03T11:38:38 [DEBUG]      29 webdriverLogLevel : "INFO"
2016-05-03T11:38:38 [DEBUG]      30 webdriverSeleniumGridHub : ""
2016-05-03T11:38:38 [DEBUG] Phantom - execute: Script & Arguments
2016-05-03T11:38:38 [DEBUG]      script: "01.js"
2016-05-03T11:38:38 [DEBUG] Phantom - execute: Starting normal mode
2016-05-03T11:38:38 [DEBUG] WebPage - setupFrame ""
2016-05-03T11:38:38 [DEBUG] FileSystem - _open: ":/modules/fs.js" QMap(("mode", QVariant(QString, "r")))
2016-05-03T11:38:38 [DEBUG] FileSystem - _open: ":/modules/system.js" QMap(("mode", QVariant(QString, "r")))
2016-05-03T11:38:38 [DEBUG] FileSystem - _open: ":/modules/webpage.js" QMap(("mode", QVariant(QString, "r")))
The default user agent is Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.1.1 Safari/538.1
2016-05-03T11:38:38 [DEBUG] WebpageCallbacks - getGenericCallback
2016-05-03T11:38:38 [DEBUG] WebPage - updateLoadingProgress: 10

I'm also having the same with Apache backend. In parallel testing this becomes a nightmare, as single hanged instance of phantomJS leads to a test failure.

Same problem with 2.1.1 for me. We have a 30 minutes long test suite, so a hang on one step is really annoying as the whole test should be started again.

As a work around I've reduced number of external resources, i.e. js, css files from 50-60 to 5. It reduced number of hangs dramatically.
Looks like it hangs somewhere during loading this resources.

Not an option for me, I'm testing a JavaScript widget in Magento and every dependency should be there for a valid test.

In my linked commit, I:

run my tests with a 5 second timeout and call phantom.exit() if reached
launch phantomjs with a local file (file:///path/to/view.html)
use 18 javascript tags that are absolute paths (eg: /js/foo.js)

In my case, the hang was similar in that it was related to the script tags. I was getting all script tags on the document via document.querySelectorAll('script'); when checking the src property of each, phantomjs would choke after the first item, with strace results similar to those mentioned.

Guys, I have a Web-page from I need parsing specified data, and draw it like at picture below. The main point, this is JS scripts on this web-site that will update that data each 10–30 seconds, and I'm going to take it and draw. But Idk why this is work only once on start, after first render it won't render again. As you can see on the picture, there is only one render of data, if data were updated it'll re-render. Maybe PhantomJS has any options to solve my question.
Thank you!


Move debouncing logic to view.

An experiment in what it would look like to leverage debouncing in the view (via task(id:) and new async tools in the library), rather than using Effect.debounce.

This is something I'm also doing in my project and it works well so far.
I thought it could maybe be possible to provide a ViewStore.send with an after: argument. I don't know if the "true" MainActor could be assumed for waiting, or if the ViewStore should be aware of the mainQueue dependency (which is not ambiguous in proto branches).

@tgrapperon You could probably leverage the new withTaskCancellation(id:) helper to get a debounce in-place without the task(id:) mechanism.

This delay is purely on the UI's side, so it could be nice to be able to take decisions from the view's side.

I think withTaskCancellation(id:) will work in the view just fine, FWIW. It's a generic function for task cancellation with a given identifier and doesn't require you to be in an Effect. If you set cancelInFlight: true it should provide debouncing behavior to any async context.

In my case, I was doing, in a .contextualMenu:
Button {
  Task {
    try await Task.sleep(450ms)
    viewStore.send(.action)
  }
} label: {…}

450ms is the time it takes for the menu to dismiss and animate changes without glitches (a problem specific to this action and this context, not something endemic to contextual menus).
Because this Task is not in a .task modifier, it will not be cancelled when the View goes away. I don't think withTaskCancellation(id:) could fix this in this case. This is not absolutely problematic here because I know that the user can't dismiss the View in this interval, and the `viewStore and its state will still be here to receive the action.
This is not related to the PR functionality, only the bit with a sleep/viewStore.send, so it is off-topic. I've tried to send with a delayed animation, but it doesn't totally fixes glitches in my case. The safest route is to add an optional delay: UInt argument to my action and wait in the reducer accordingly. This is probably what I'll end up doing.


Integrate Authz OPA - Open Policy Agent

I think it will be good if we can add authz into the service. I think this is important part of any system and OPA is really interesting product and it is part of CNCF and OPA has integration with lot of popular product like Kubernetes and isto etc.
OPA is a lightweight general-purpose policy engine that can be co-located with service.
https://www.openpolicyagent.org

Hi, @farrukhny! Thanks for the suggestion. That project does look very nice and would certainly be a nice addition for many services, however it is out of scope for this class.


ast.GlyphClass should contain list of ast.GlyphName objects or a list of str?

this issue came up in https://github.com/fonttools/fonttools/issues/2747 and https://github.com/googlefonts/fontmake/issues/925 and in conversation with @simoncozens
Basically, on the one hand, the ast.GlyphClass docstring as well as a unit test in feaLib/ast_test.py say that GlyphClass is a collection of ast.GlyphName objects (in turn a thin wrapper around a str for the actual glyph name, and its location in the file to aid debugging).
https://github.com/fonttools/fonttools/blob/853cadb0cdfba7b9891d8de6eccaac122633c70f/Lib/fontTools/feaLib/ast.py#L229-L235
https://github.com/fonttools/fonttools/blob/853cadb0cdfba7b9891d8de6eccaac122633c70f/Tests/feaLib/ast_test.py#L7-L9
However, when the feaLib.parser encounter one of these (e.g. @SOMETHING = [A B C];), it actually creates ast.GlyphClass objects that contain list of plain str, not ast.GlyphName.
from io import StringIO
from fontTools.feaLib import ast
from fontTools.feaLib.parser import Parser

fea = Parser(StringIO("@SOMETHING = [A B C];")).parse()
assert isinstance(fea.statements[0], ast.GlyphClassDefinition)
assert isinstance(fea.statements[0].glyphs, ast.GlyphClass)
assert isinstance(fea.statements[0].glyphs.glyphs[0], str)  # not ast.GlyphName?!

print(fea.statements[0].glyphs.glyphs)  # ['A', 'B', 'C']

This is messed up. Simon is already looking into adding static typing info and cleaning this up.

In this particular case, I believe ast.GlyphClass should contain ast.GlyphNames rather than str, this way the location of each glyph name in the class can be recorder and reported as needed.
It seems Parser.expect_glyph_() is currently returning a plain str, whereas potentially it could return an ast.GlyphName(glyph, location=self.cur_token_location_) since it already knows that glyph's location. Then subsequent code that assumes the return value was a str can be adapted to deal with an ast.GlyphName instead.

FWIW for a feaLib subsetter and more advanced high level modifications to features I think all the glyphs better to be parsed as an ast.GlyphName not a string object. This would make it possible to add also more methods to this object.


Fix/migrate to eos

Summary
This PR completes migration to eosIDs for the tool (except for a couple plugins, more on that below).
Dependencies
This PR depends on #352 and lays foundation for #347
Changes
There are 5 commits:

Cleanup player connection log parsing to ease transition and get rid of clutter.
Rework and extend admin-related methods to make them "omnivore" to different IDs. *
Migrate core code to eosIDs.
Migrate plugins to eosIDs. *
Fix minor issue with uninitialized oldPlayerInfo on player list updates (was annoying me a bit during testing).

* - caveats
Testing
All of this was tested several times with event capture to make sure data is consistent. In summary (but not in 1 last go) I have tested:
connecting, disconnecting, possess, unpossess, create squad, kill (self inflicted), warn, force swap, kick, ban.
Only thing I didn't test for sure is a teamkill. I also am not aware if I had at least 1 run where I didn't have a steamID, most likely not. But so far generalized parsers work correctly, I haven't seen any errors in logs or missing data. I have also tested: getAdminPermsByAnyID(), getAdminsWithPermission() (both were tested for server.admins with steamID or eosID), getPlayerByAnyID() for both types of IDs, rcon methods (warn(), switchTeam(), kick(), ban()).
Caveats
Testing Plugins
I didn't test plugins. We don't use any default ones and we don't have the necessary setup, plus the ones I've edited have mostly trivial fixes. The one I've fixed only partially is discord-killfeed, I didn't touch it's CBL integration. The ones I didn't touch at all are: db-log, awn-api, cbl-info. Some of these are completely unknown to me, some are too dependent on steamID to fix them in this PR. For now they will work as they were before as long as players have steamIDs.
Admins IDs
For now, there is a potential issue with an admin having 2 sets of permissions, one for eosID and another for steamID. Current code won't be able to merge it (at the time of merging it doesn't have persistent mapping of player's IDs). Easily avoidable though by not intermixing two ID formats.
Another side-effect is that getAdminsWithPermission() will always return only those admins that have the permission AND are online (for at least 10 seconds). This happens because this method matches all existing IDs against all existing admin entries to convert them all to eosIDs.

Additionally, the "Fix/" prefix is not appropriate in my opinion, and I would change it to "refactor!: " (see https://www.conventionalcommits.org/en/v1.0.0/)

Flags added as needed. Let me know when good to push.

Status update here: https://github.com/Team-Silver-Sphere/SquadJS/pull/354#discussion_r1566462582
Sorry for bad placement, my github kung-fu is still weak.

New changes look good overall. The error handling of the new getAdminsWithPermission is very clear and easy to understand.

I have closed #352 because it is already integrated into this PR so no unsatisfied dependencies left. #347 can be merged in after this PR.


Add auraBAL pool and bump package

Description
Please include a summary of the change and if relevant which issue is fixed. Please also include relevant motivation and context.
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Dependency changes
[ ] Code refactor / cleanup
[ ] Documentation or wording changes
[x] Other

How should this be tested?
Please provide instructions so we can test. Please also list any relevant details for your test configuration.

[ ] Test A
[ ] Test B

Visual context
Please provide any relevant visual context for UI changes or additions. This could be static screenshots or a loom screencast.
Checklist:

[x] I have performed a self-review of my own code
[ ] I have requested at least 2 reviews (If the PR is significant enough, use best judgement here)
[x] I have commented my code where relevant, particularly in hard-to-understand areas
[x] If package-lock.json has changes, it was intentional.
[x] The base of this PR is master if hotfix, develop if not

Sorry we deployed some hotfixes so will need a rebase, otherwise LGTM.

Rebased for your convenience :)


Fix NullPointer when clicking on image in MediaDetailFragment (#3730)

Description
Fixes #3730
What changes did you make and why?
Added a null check to prevent Null Pointer Exception when user clicks on image in MediaDetailFragment.
Tests performed (required)
Tested on {prodDebug, betaDebug} on {Pixel 2 emulator} with API level {28}.

Codecov Report

Merging #3738 into master will decrease coverage by 0.00%.
The diff coverage is 0.00%.

@@             Coverage Diff             @@
##             master   #3738      +/-   ##
===========================================
- Coverage      7.38%   7.38%   -0.01%
  Complexity      340     340
===========================================
  Files           290     290
  Lines         12821   12822       +1
  Branches       1004    1004
===========================================
  Hits            947     947
- Misses        11799   11800       +1
  Partials         75      75

Impacted Files
Coverage Δ
Complexity Δ

...fr/free/nrw/commons/media/MediaDetailFragment.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

Continue to review full report at Codecov.

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

Fixes the issue for me, thanks for the PR @gvaibhav1734


add some return after UNREACHABLE assert macro because compiler does not understand what's happening there

On @Kangz suggest, I added an UNREACHABLE assert, but  now the compiler raises some miswarning:
warning: control reaches end of non-void function [-Wreturn-type]

but we know the code asserts before reaching end of non-void function,
so I added some return after the UNREACHABLE assert macro.

For information, this is the detailed warning I got:
[ 14%] Building CXX object CMakeFiles/engine-lib.dir/src/common/FileSystem.cpp.o
Daemon/src/common/FileSystem.cpp: In function ‘std::__cxx11::string FS::PakPath::ReadFile(Str::StringRef, std::error_code&)’:
Daemon/src/common/FileSystem.cpp:1313:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
Daemon/src/common/FileSystem.cpp: In function ‘std::chrono::_V2::system_clock::time_point FS::PakPath::FileTimestamp(Str::StringRef, std::error_code&)’:
Daemon/src/common/FileSystem.cpp:1408:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^

I tested against both gcc and clang, I can't test on msvc.

LGTM too, sorry for the slow review


Fix configuration-codesigning.md

Fix IAM policy formatting to add required Resource
Fix condition StringEquals syntax

Syntax on both code snippets in Configure IAM policies section under the Code Signing Configuration documentation have syntax issues.
I want to note that the conditional in the documentation is either incorrect or misleading because the resource lambda:codeSigningConfig is not a supported condition key for lambda:CreateFunction as shown here https://docs.aws.amazon.com/service-authorization/latest/reference/list_awslambda.html#awslambda-actions-as-permissions
Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thank you for providing the corrections to the policy statements.


Catalog Rule Created without marketing time and saved, after edit we can see the format issue and also we are unable to save it without marketing dates.

Terms

[X] Before you openning this issue, i have checked if the issue has already been reported.

Bagisto Version(s) affected
Master
Issue Description
Catalog Rule Created without marketing time and saved, after edit we can see the format issue and also we are unable to save it without marketing dates.
Preconditions

Admin must be logged in.

Steps to reproduce

Go to Admin -> Promotions -> Catalog Rules -> Create Catalog Rule without Marketing Dates.
Save the Data
Edit the rule -> Check the marketing  time -> Now save.
Unable to Save due to format issue.

Expected Result
If Dates are not save then entry of Dates must be null.
Actual Result
Please check the Screenshot for reference.
Screenshot
https://prnt.sc/tyTXUIobth4j
Screenshots
No response
Additional context
No response

Checked and found that the issue has been fixed. Please heck the video for reference.
Video
https://github.com/user-attachments/assets/4e3cbea9-5da6-44ec-a22c-be788479d623

Checked and Found that the issue has been fixed and working fine now. Hence I am closing the issue.


Sponge compability issue when dropping item in fire

please see SpongePowered/SpongeForge#1048
Because the EntityFireItem is never registered with the EntityRegister Sponge does something to the entity

Fixed in dev


Save output as numpy array

Output of the model.solve() function is successfully stored in a numpy matrix.


no semi-colon option?

why do people like using semi-colons anyways?

Refer to issue https://github.com/jlongster/prettier/issues/12

thanks!


chore: Remove en-in from MSDN link

Removed BOM causing GH rendering issue as well

@nschonni : Thanks for your contribution! The author, @unifycloud, has been notified to review your proposed change.

@ktoliver think this might be a bot/metadata misfire


where can i get lsquic architecture design?

I am not very sure the lsquic architecture design，so where can i get some informations about it? and the way to known what is the work flow that the lsquic hope developer to do.
for example, a graph or some other informations about the work flow or design
init engine setting
init engine api
global init
setup logger
setup lsquic_stream_if(set the callback of some events)
engine check setting
new engine
setup udp service(address..,setup packet out function)
engine connect to somewhere
alloc conn ctx when on_new_conn(manager conn ctx by developer)
create stream if needs
alloc stream ctx when on_new_stream(manager stream ctx by developer)
do write buf when on_write( can be invoke by some write api)
...

The closest we have to the architecture document is APIs.txt.
Then, of course, there are sample programs: HTTP, MD5, and echo client and server programs.  Those are a good starting point to try things out.


Enterprise Advertising & Analytics Solutions - Google Marketing Platform

"پلتفرم بازاریابی گوگل این رشد را تسهیل می کند."
https://marketingplatform.google.com/about/enterprise/#:~:text=پلتفرم بازاریابی گوگل این رشد را تسهیل می کند.

@doroodgar Hope ou are doing great . We use azure-docs repository for feedback on Microsoft Azure documentation , Could you please let us know which document your issue is related to ? Also if you can provide more details we will be able to help you better.

@doroodgar  As we have not received any response . We are closing this issue. Should you have any further query , please ad teh information about the document you had queries on and open a new issue in the repository.
Thank you.


$token->isChanged question

PHP 7.1.6
I detected changed line to report it to user.
2.3.2
This works:
private function detectChangedLineFromTokens(Tokens $tokens): int
{
    $line = 0;
    foreach ($tokens as $token) {
        $line += substr_count($token->getContent(), PHP_EOL);
        if ($token->isChanged()) {
            return ++$line;
        }
    }
    return $line;
}

See Travis Line
2.3.3
No token is $token->isChanged() true anymore. Not sure why.
See Travis line
Somewhere between 2.3.2 and 2.3.3 a Token.php behaviors was changed.
I spent 30 minutes looking for it but I'm lost and not sure where it came from.

$token->isChanged() broke between 2.3.2 and 2.3.3

$token->isChanged() was not broken. it works like it should.
this method is providing information if given token instance was somehow changed.
it's detectChangedLineFromTokens is failing in some cases. if one is not changing a token, but replacing a token (with $tokens[$index] = new Token(...)), then your method will fail to perform detection, as token instance under $index was never modified, but whole collection was.
in 2.3.2->2.3.3 release we changed $tokens[$index]->override... to $tokens[$index] = new Token... in few places. but later form was used before 2.3.3 in some places as well, thus your method was not working all the time properly in lower version as well

Should we deprecate the isChanged() method?

it wasn't originally deprecated as for ->setContent we do have future-ready interface (tokens[index] = ...)
for isChanged itself, it gonna just be removed. but yeah, probably we could.

I understand changes. What is the solution to this then?

How do I found the number of line tokens were affected?

That is a question which is hard to answer as a lot of things have to be taken into account.
Typically you are not interested in which token is changed, but more how the output differs from the input.
If you're not than it gets even more complex.
The current solution in development will be change tracking on line based level. For this we are working for an unified diff  format that is compat with other unified diff tooling.
Step one is to get sebastian/diff v2 released, after that we can utilize on that.
Please keep in mind that the "old" way of looking at the token line numbers was never reliable because of:

transformers did not (always (correctly)) keep/update the line number of the token they transformed
tokens might have been moved around to other line numbers, the line numbers of the moved changed tokens were not (always (correctly)) updated

Using tokens to keep track on changes is not only very hard, it typically doesn't provide a result different from one that is easier to get by diff'ing the input and output on string/text level.

Thanks for the answer. Could you provide me some link with example code to determine before/after line for specific fixer? Without that, I'm unable to write use informative output like:
Line 25 | "Your brace should be indented 1 line space from the left." | BracesFixer

I don't need to old solution to work, just any would do :)

I don't need to old solution to work

that's the thing, it wasn't, it was it was fuzzy (lines marked as changed were changed indeed, lines not marked could be changed anyway)

Could you provide me some link

https://github.com/FriendsOfPHP/PHP-CS-Fixer
New pull request button

@keradus Not helpful at all

ATM I know of no solution to get messages @ the LOD your sample is.
This is because I wonder on a concept level how such a system could be build.
To give a high level example I struggle with;
lets say I have a file with the following tokens:
A
B
C
D

fixer 1 transforms to:
D
C
B
A

fixer 2 transforms to:
D
C'
A
B

hinting like;
Token A @ line 1 should change to D
doesn't make sense, only in the context of all tokens that must be changed to match the new result will it help. Which would mean something like;
Token A @ line 1 should change to D because of the following fixers; A,B,C,D, [..] etc.
for each line.
These type of transformations we do not track. The only way I see how that could be done in the future is to allow listeners to be added to the system that will be called after each fixer is done fixing a collection of tokens so the diff can be tracked on a combination of file and fixer level.
(other one would be to fix a file with one fixer at the time starting the fix process as a whole again, but performance would be bad)
Please note that my "idea" for the listeners is very premature and not discussed or thought true completely. It might not be feasible at all because of architecture, performance etc.
Since we've no such system and we've a need for better change reporting we now aim for a unified diff;
@@ -1,4 +1,4 @@
-A
-B
-C
-D
+D
+C'
+A
+B

To get back to the original question; please consider if the udiff solution would solve your case. If not; than mostly likely changes would be needed and have to be thought out and discussed, or additional research should be done on the current system cause maybe there is a way to do this but I just didn't see it yet.

@TomasVotruba, that was my point, instead of demand you could help/contribute as well ;)

@SpacePossum , even outside of transformers his tracking solution was buggy - if fixer adds new token (eg missing braces or space), it could be detected only on top-collection level, not bottom-item level

@SpacePossum Thanks, I was actually asking for a code that does that in my previous comments.

@@ -1,4 +1,4 @@

This would be fine. Line 4.
I am for fair enough and pragmatic solution to fix current broken use case. Not an universal one.
Could you send me a link to particular line in PHP-CS-Fixer which does that?
That's all I really need whole this time :) I don't need more discussions, just the link :+1:
@keradus I was asking for a code reference. Instead of link to PR, you could actually answer me ;)

The line numbers will become available through https://github.com/sebastianbergmann/diff v2 which I try to complete. So for the linenumbers that is step one and a far bigger step than I anticipated.
After that the differ can be used in PHP-CS-Fixer just like it is done now (when we reach PHP7 or when I've backported diff package to PHP5.something).

@SpacePossum Thanks. And where exactly is this used in PHP-CS-Fixer?

https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/2.2/src/Differ/SebastianBergmannDiffer.php
follow the code to there and back :)

I've resolved in #273 , thank you @SpacePossum


[BUG] VM network route connectivity is "Dhcp failed" when enable dhcp on gateway

Describe the bug
VM network route connectivity is "Dhcp failed" when enable dhcp on gateway
To Reproduce
Steps to reproduce the behavior:

Enable dhcp on gateway

Create a vm network, and use dhcp mode

Create a vm use this network, the vm can get a ip address

But vm network route connectivity is "Dhcp failed"

Expected behavior
The vm network route connectivity is Active
Environment

Harvester ISO version: v1.1.1

@zealoussnow Could you provide a support bundle?

@bk201 I reinstall my cluster, so  I only can provided logs of harvester-network-controller agent and manager.
harvester-network-logs.tar.gz


chore(deps): update dependency cypress to v13

This PR contains the following updates:

Package
Type
Update
Change

cypress
devDependencies
major
^12.17.4 -> ^13.0.0

cypress
devDependencies
major
^12.17.0 -> ^13.0.0

Release Notes

cypress-io/cypress (cypress)
v13.0.0
Compare Source
Changelog: https://docs.cypress.io/guides/references/changelog#13-0-0

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: cypress/package-lock.json
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/cypress
npm ERR!   dev<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>|| ^11.0.0 || ^12.0.0" from<EMAIL_ADDRESS>npm ERR! node_modules/@badeball/cypress-cucumber-preprocessor
npm ERR!   dev<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Conflicting peer dependency<EMAIL_ADDRESS>npm ERR! node_modules/cypress
npm ERR!   peer<EMAIL_ADDRESS>|| ^11.0.0 || ^12.0.0" from<EMAIL_ADDRESS>npm ERR!   node_modules/@badeball/cypress-cucumber-preprocessor
npm ERR!     dev<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR!
npm ERR! For a full report see:
npm ERR! /tmp/renovate/cache/others/npm/_logs/2023-08-31T11_16_20_886Z-eresolve-report.txt

npm ERR! A complete log of this run can be found in: /tmp/renovate/cache/others/npm/_logs/2023-08-31T11_16_20_886Z-debug-0.log

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.


flavor builder on minicss.org is broken

https://minicss.org/flavors
I changed the base root font size to 12 and hit the "Generate Flavor" button.  The zip file downloaded, but the mini-custom.css and mini-custom-min.css files were zero-length.  the other files looked ok.

I will check that soon and report back with my results.

There's something wrong with the compiler, I suppose. Haven't figured it out just yet, but you can easily compile the mini-custom.scss file yourself (use node-sass to do so) and it will output the CSS files you can use. Sorry for the inconvenience, this is most definitely something I need to fix.

This is probably an issue with sass.js, I'm currently working on fixing this.

Update: I haven't figured tihs out yet, if anyone has any ideas, please submit a PR to resolve this!

I am totally not qualified to say anything at all about this because I don't know SASS or anything relevant. I was just hoping to easily circumvent the whole css stuff thingy with my flask app. But: when I was downloading a custom mini.css all partial scss files in /mini where in fact html files with a 404 error.
Page not found · GitHub Pages.
The mini-custom.css and mini-custom-min.css files were also zero-length and trying to compile this with the python binding of libsass would raise
sass.CompileError: Error: Invalid CSS after "<": expected 1 selector or at-rule, was "<!DOCTYPE html>"
I fear I make a fool out of myself to point this out. But anyhow. Would really love to see this fixed.

I haven't managed to figure this out, but I'd love some help if anyone is willing to lend a hand. I fear this might be a hosting issue with GitHub pages, as the exact same code works fine onany local environment I've tried it. Maybe it's time to migrate to Netlify after all. I'll check they option, see if it yields any better results. Sorry for taking this long to fix s seemingly straightforward issue and thanks to everyone for all the feedback.

I am not qualified with Sass so this message could be totally useless, but could it be a simple error in filepaths submitted to sass compiler (resulting in the Github Pages 404 error page being "embedded" in sources files) ? Again, sorry if this suggestion turns out to be useless and congrats for this great project.


[WIP] Basic support for rewriting SpawnEggs and Potions, still needs more work

SpawnEggs work.
Potions not :/
I will move to reflection once I get potions to work

@MylesIsCool good for now? (Merge pro at work)