What executor I should provide for parallelism?

Steps to reproduce
I am following https://facebookresearch.github.io/nevergrad/optimization.html#using-several-workers but no matter how many num_workers I specify, the run time is about the same. (I am using Python 3.7, nevergrad 0.4.3post3 on Mac)
So what kind of executor should I provide to really parallelize my search? Thanks.

Hi,
This really depends on the code of your function. Depending on what it does and its duration you may want to use different options. concurrent.futures.ProcessPoolExecutor can actually parallelize Python code, compared to threads which are only efficient in some cases in Python due to the GIL. If you have acess to a slurm cluster and your function takes hours, then submitit can be useful, and for many different kinds of cluster dask.disctributed should work well even for minute-long jobs.

@jrapin  Still, I use ProcessPoolExecutor but don't find it boost my code's speed.
I am using the following code:
import nevergrad as ng
import time
from concurrent import futures
from multiprocessing import freeze_support

def obj(ng_sol):
    return int(ng_sol["dense_choice_1_size"]) + int(ng_sol["dense_choice_2_size"])

if __name__ == '__main__':
    freeze_support()
    start_time = time.time()
    param = ng.p.Dict(
        dense_choice_1_size=ng.p.Choice(["128", "256", "512", "768"]),
        dense_choice_2_size=ng.p.Choice(["128", "256", "512", "768"]),
        interaction_choice_1_dense_single_side=ng.p.Choice(["True", "False"]),
        interaction_choice_1_sparse_single_side=ng.p.Choice(["True", "False"]),
        interaction_choice_1_dense_choice_1_single_side=ng.p.Choice(["True", "False"]),
        interaction_choice_1_dense_choice_2_single_side=ng.p.Choice(["True", "False"]),
        interaction_choice_1_size=ng.p.Choice(["5", "10", "15"]),
        interaction_choice_2_dual_left_side=ng.p.Choice(
            ["dense", "dense_choice_1", "dense_choice_2", "interaction_choice_1"]
        ),
        interaction_choice_2_dual_right_side=ng.p.Choice(
            ["dense", "dense_choice_1", "dense_choice_2", "interaction_choice_1"]
        ),
        over_choice_1_dense_choice_1_single_side=ng.p.Choice(["True", "False"]),
        over_choice_1_dense_choice_2_single_side=ng.p.Choice(["True", "False"]),
        over_choice_1_interaction_choice_1_single_side=ng.p.Choice(["True", "False"]),
        over_choice_1_interaction_choice_2_single_side=ng.p.Choice(["True", "False"]),
        over_choice_1_size=ng.p.Choice(["64", "128", "256", "512"]),
        over_choice_2_size=ng.p.Choice(["64", "128", "256", "512"]),
        over_choice_3_size=ng.p.Choice(["64", "128", "256", "512"]),
        over_choice_4_over_choice_1_single_side=ng.p.Choice(["True", "False"]),
        over_choice_4_over_choice_2_single_side=ng.p.Choice(["True", "False"]),
        over_choice_4_over_choice_3_single_side=ng.p.Choice(["True", "False"]),
        over_choice_4_dual_left_side=ng.p.Choice(
            ["over_choice_1", "over_choice_2", "over_choice_3"]
        ),
        over_choice_4_dual_right_side=ng.p.Choice(
            ["over_choice_1", "over_choice_2", "over_choice_3"]
        ),
        over_choice_4_block_types=ng.p.Choice(["fc_nonlinear_block", "sum_block"]),
        over_choice_4_size=ng.p.Choice(["64", "128", "256", "512"]),
        over_choice_5_over_choice_1_single_side=ng.p.Choice(["True", "False"]),
        over_choice_5_over_choice_2_single_side=ng.p.Choice(["True", "False"]),
        over_choice_5_over_choice_3_single_side=ng.p.Choice(["True", "False"]),
        over_choice_5_over_choice_4_single_side=ng.p.Choice(["True", "False"]),
        over_choice_5_dual_left_side=ng.p.Choice(
            ["over_choice_1", "over_choice_2", "over_choice_3", "over_choice_4"]
        ),
        over_choice_5_dual_right_side=ng.p.Choice(
            ["over_choice_1", "over_choice_2", "over_choice_3", "over_choice_4"]
        ),
        over_choice_5_block_types=ng.p.Choice(["fc_nonlinear_block", "sum_block"]),
        over_choice_5_size=ng.p.Choice(["64", "128", "256", "512"]),
        final_logit_dense_choice_2_single_side=ng.p.Choice(["True", "False"]),
        final_logit_interaction_choice_1_single_side=ng.p.Choice(["True", "False"]),
        final_logit_interaction_choice_2_single_side=ng.p.Choice(["True", "False"]),
        final_logit_over_choice_1_single_side=ng.p.Choice(["True", "False"]),
        final_logit_over_choice_2_single_side=ng.p.Choice(["True", "False"]),
        final_logit_over_choice_3_single_side=ng.p.Choice(["True", "False"]),
        final_logit_over_choice_4_single_side=ng.p.Choice(["True", "False"]),
        final_logit_over_choice_5_single_side=ng.p.Choice(["True", "False"]),
    )

    instru = ng.p.Instrumentation(param)

    num_workers = 10
    optimizer = ng.optimizers.NGOpt(
        parametrization=instru, budget=500, num_workers=num_workers
    )
    with futures.ProcessPoolExecutor(max_workers=optimizer.num_workers) as executor:
        recommendation = optimizer.minimize(obj, executor=executor, batch_mode=False)
    print(recommendation.value)

    sol = recommendation.value[0][0]
    print(obj(sol))
    end_time = time.time()

    print(f"num_workers={num_workers}, time={end_time-start_time}")

num_workers=1, time=20.69688391685486
num_workers=10, time=21.21631097793579
Setting num_workers=10 or 1 doesn't make much difference in the wall time on my computer.

I get the reason, because my obj function is too trivial, so using more workers doesn't help. If I make my obj more computationally expensive, then using num_workers does help with ProcessPoolExecutor (haven't verified with ThreadPoolExecutor)


select2, it is not at all loading the options in  select tag

"GET /select2/fields/auto.json?term=&field_id=MTM5Njg5NDYzNzA3NjAw%3A1d0MKp%3AbNSiU1dZH44XFNI45KvVvdI3-rY HTTP/1.1"  giving 404 error why ?

I don't know, where is it raising the 404? If you turn the debug mode on, Django will tell you where it raises the 404.

Maybe it's the cache timeout expired.

Since there was no response, I will close this thread.

I also ran into this issue and I think I can help aid in the correct direction. The issue is in the lines of code that grab from the cache:
       else:
           cache_key = '%s%s' % (settings.SELECT2_CACHE_PREFIX, key)
           widget_dict = cache.get(cache_key)
           if widget_dict is None:
               raise Http404('field_id not found')

And the issue was when I was using the dummy cache
CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
    }
}

After I switched to file based caching instead I didn't get and 404's anymore. My guess is OP had a similar problem.

Hello,
I have exactly the same problem (404, field_id not found) but i d'ont want to use the file based cache.
I use redis for cache, all my settings are OK, it worked before...
I followed this : http://django-select2.readthedocs.io/en/latest/django_select2.html#django_select2.forms.Select2TagWidget


Code for Matrix Factorization

Requesting you to please release MF in the embedding matrix code.

For anyone still looking for the implementation of semi non-negative matrix factorization, take a look at the repository that was mentioned in the paper: https://github.com/cthurau/pymf


Next version will be 0.0.59

Willen jullie deze mergen ongeacht de testresultaten? Dit gaat ervoor zorgen dat ik niet nogmaals 0.0.58 ga publiceren als het weer tijd is om de release procedure te doen. Voor de functionaliteit is er verder geen effect.

Kan het uitvoeren van npm version patch niet gewoon onderdeel maken van de "release procedure"

@mhdirkse @jacodg Why was Sergi's comment ignored?
I also made a comment for the previous version bump pr which got ignored too

I don't know what npm version patch will do. To me it felt like a general remark on the release process, not specific to this version which we wanted to get done. Maybe we can have a meeting on your suggestions about our release process? We are probably going to change it anyways (not using WebJars anymore)

I don't know what npm version patch will do. To me it felt like a general remark on the release process, not specific to this version which we wanted to get done. Maybe we can have a meeting on your suggestions about our release process? We are probably going to change it anyways (not using WebJars anymore)

npm version patch is exactly what this PR is, but not manual. It is actually the way NPM describes the publishing cycle itself. And it is weird that it isn't adopted in this project.

Ok, so we need to change https://github.com/wearefrank/ladybug?tab=readme-ov-file#prepare-for-next-cycle I think? Can you make a PR on the README? :)

Thanks!


maxNumberOfFailuresToShow doesn't seem to work as expected.

Bug description
Looking at the example from the doc here : maxNumberOfFailuresToShow, it doesn't seem to work as expected when I set maxNumberOfFailuresToShow to 0 in my cli_config.json file like that : "maxNumberOfFailuresToShow": 0,
How to reproduce (please include a snippet of your Playwright Slack Reporter configuration)

Set the config maxNumberOfFailuresToShow to '0'
Run your test with some failing tests cases.
See some failure reported in your Slack.

Not sure if it's useful, but I use :
"sendUsingWebhook": {
    "webhookUrl": "my slack webhook URL"
}

Expected behavior
No failure shown in the Slack report.
Environment & setup

OS: macOS
Node.js version: v21.1.0

playwright-slack-report version
"playwright-slack-report": "^1.1.72"

yeah this is a legit bug.  Seems this bit of the code https://github.com/ryanrosello-og/playwright-slack-report/blob/main/src/SlackReporter.ts#L77 is treating zero as falsy so its always falling back to 10 when you specify 0 as its value.
should straight-forward fix:
this.maxNumberOfFailuresToShow
  = slackReporterConfig.maxNumberOfFailuresToShow !== undefined ? slackReporterConfig.maxNumberOfFailuresToShow : 10;

leave it with me.  I can take a look

Okey ! Waiting for the fix then ! Thanks 🙏🏻

Hello, @ryanrosello-og FYI, I tested by replacing the value to 1, I still have multiple error shown in the slack reporting and still have the message : There are too many failures to display - 5 out of 28 failures shown
My cli_config.json looks like that : {
"sendResults": "always",
"slackLogLevel": "error",
"sendUsingWebhook": {
"webhookUrl": "$SLACK_WEBHOOK_URL"
},
"meta": [
{ "key": "branch", "value" : "$CI_COMMIT_BRANCH"},
{ "key": "commit", "value" : "$CI_COMMIT_SHA"}
],
"maxNumberOfFailuresToShow": 1,
"disableUnfurl": true
}

@ryanrosello-og Hello, I updated to the latest version : "playwright-slack-report": "^1.1.80",
I still have multiple errors appearing when setting "maxNumberOfFailuresToShow": 0,
See my cli_config.json file :
{
  "sendResults": "always",
  "slackLogLevel": "error",
  "sendUsingWebhook": {
    "webhookUrl": "$SLACK_WEBHOOK_URL"
  },
  "meta": [
    { "key": "Pipeline", "value" : "$CI_PIPELINE_URL"}
  ],
  "maxNumberOfFailuresToShow": 0,
  "disableUnfurl": true
}

@samixchoumi it turns out your config is using the wrong key,  use "maxNumberOfFailures": 0,
instead of "maxNumberOfFailuresToShow": 0,
When you provided maxNumberOfFailuresToShow, it was causing it to fallback to the default value (5) see ....
https://github.com/ryanrosello-og/playwright-slack-report/blob/main/src/cli/cli_schema.ts#L30

Oh, I though I needed to use this parameter : https://github.com/ryanrosello-og/playwright-slack-report?tab=readme-ov-file#maxnumberoffailurestoshow
I update my config file to see if it's fixed then. Thanks

It works !
Thanks (maybe updating the documentation to avoid conflict between both parameter ?)


Update Feast transformer

Update Feast transformer to work with the latest sklearn

a new model is trained with sklearn 1.0.2
model is uploaded to gs://kfserving-examples/models/feast/driver/model.joblib
transformer yaml storage uri is updated
doc is updated with returned values

Signed-off-by: Chin Huang<EMAIL_ADDRESS>
What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:

Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.

Release note:

Thanks @chinhuang007 ! Can you help update this on the website as well?
/approve

@yuzisun sure!


chore: Add tsconfig and transpile options

Closes SAP/cloud-sdk-backlog#973.

Add tsConfig option. Moved common code to generator-common.

Remove generateJs option and replace with transpile. Also change default behavior

Change default behavior of packageJson

[x] I know which base branch I chose for this PR, as the default branch is v2-main now, which is not for v3 development.

[x] If my change will be merged into the main branch (for v3), I've updated (V3-Upgrade-Guide.md)[./V3-Upgrade-Guide.md] in case my change has any implications for users updating to SDK v3

Quick question: is it intended that "I know which base branch I chose for this PR, as the default branch is v2-main now, which is not for v3 development." is checked?

Quick question: is it intended that "I know which base branch I chose for this PR, as the default branch is v2-main now, which is not for v3 development." is checked?

Yes. My understanding of this statement is that 'I know what I am doing and have selected the correct base branch'.


Rspec and Rubocop gems + configuration

Add and configure the rspec and rubocop gems. I copied the rubocop.yml file from our chess project, if anyone would like to change any of those settings they are open for discussion.

All looks standard to me 👍

I think you should add factory girl to this and capybara, and it should be good.

I don't think capybara will be helpful here, it is for full-stack apps not APIs. FactoryGirl is a good idea though, I'll add that.

Yeah I wrote it and realized how much that didn't make sense hah.

:+1:

:+1:

Looks good. Thumbs up and merging...

Can someone explain to me the reason why rubocop has max linelength of 120 in this case?
Otherwise everything looks good to me! :)


Improved CSS and JS version management

At the very least we need to set the versions of external CSS and JS dependencies in one place. One example is Leaflet, which currently gets loaded individually for the following templates: dashboard.html, asset.html and asset_new.html. This makes version management more cumbersome than it should be. I suggest moving the version requirements into the app, and using Jinja to inject the right scripts in the right place within our templates. This would be similar to how bokeh handles this already:
In the view:
bokeh_html_embedded = ""
for css in CDN.css_files:
    bokeh_html_embedded += (
        """<link href="%s" rel="stylesheet" type="text/css">\n""" % css
    )
for js in CDN.js_files:
    bokeh_html_embedded += """<script src="%s"></script>\n""" % js

In the html:
{{ bokeh_html_embedded | safe }}

Commit https://github.com/SeitaBV/flexmeasures/pull/99/commits/fdcd2f704278a1ddf4749d2af3ac5f794a56ddd6 in PR #99 introduced an idea to handle JS version management.


What's the difference of flash attention implement between cudnn and Dao-AILab?

Is this link a flash attention?

There is no difference in algorithm and numerics of cudnn and Dao-AILab. The implementation in cudnn benefits from the in-house expertise at kernel development in Nvidia and aims to maximize the hardware capabilities.
Please use the following samples as code snippets to use cudnn flash attention:
CPP : https://github.com/NVIDIA/cudnn-frontend/blob/1.0/release/samples/cpp/mha.cpp
Python : https://github.com/NVIDIA/cudnn-frontend/blob/1.0/release/samples/python/test_mhas.py
Documentation : https://github.com/NVIDIA/cudnn-frontend/blob/1.0/release/docs/operations/Attention.md

@gautam20197 As far as I know, flash attention has been implemented by nvidia in tensorflow, right?
cuda_dnn.cc

@MoFHeka , it is not correct to say it is implemented in tensorflow, it is implemented in XLA and there is a PR https://github.com/openxla/xla/pull/6872 pending to integrate the final piece of flash attention in XLA. Once this PR is merged, you can access flash attention from JAX/Tensorflow if the pattern is supported.

@Cjkkkk So if I understand correctly, in addition to TF/Jax, Pytorch can also use OpenXla to work with cudnn.

@MoFHeka PyTorch eager mode has a path to cuDNN's optimized attention.

I think we've addressed the original question. Going to close for now

Is there any benchmark between CuDNN fused attention and flash attention? Recently I found TorchACC has already supported using CuDNN fused attention in PyTorch training. So there's definitely a benchmark, right? Even a C++ code end-to-end performance. @mnicely @Cjkkkk @gautam20197
I am eager to know how I should align whether the acceleration after I turn on xla has reached the ideal state.

I think you can check your use case using the PyTorch nightlies.
pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu121
And running the PyTorch SDPA example https://pytorch.org/tutorials/intermediate/scaled_dot_product_attention_tutorial.html
Using TORCH_CUDNN_SDPA_ENABLED=1

@mnicely Thank you very much for your answer. May I ask how much improvement has been made compared to flash attention 2 according to your evaluation?

@mnicely I have noticed that speed-up benchmark at cudnn release note recently. Yes, it looks perfect. But is there any more details for QKV shape and something else.
A single acceleration in a particular situation is not convincing enough, we need a repeatable experiment scenario.

@MoFHeka The problem sizes with hidden dimension per head (d) = 128 are the best to gain a significant speedup for both Hopper and Ampere.

@gautam20197 head (d) = 128 with any batch size or sequence length?

Yes there will be healthy speedup for all batches and sequence lengths.

I think you can check your use case using the PyTorch nightlies. pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu121
And running the PyTorch SDPA example https://pytorch.org/tutorials/intermediate/scaled_dot_product_attention_tutorial.html
Using TORCH_CUDNN_SDPA_ENABLED=1

Unable to run
>>> import torch
>>> t1=torch.randn(1,4,4096,128).to("cuda").to(torch.float16)
>>> torch._scaled_dot_product_cudnn_attention(t1, t1, t1, dropout_p=1.0, is_causal=True)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
RuntimeError: cuDNN Frontend error: Dropout probability cannot be 1 as corresponding scale wont be well formed.
>>> torch._scaled_dot_product_cudnn_attention(t1, t1, t1, dropout_p=0.0, is_causal=True)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
RuntimeError: mha_graph->execute(handle, variant_pack, workspace_ptr.get()).is_good() INTERNAL ASSERT FAILED at "/opt/conda/conda-bld/pytorch_1711266070736/work/aten/src/ATen/native/cudnn/MHA.cpp":410, please report a bug to PyTorch.

@mnicely  torch 2.3, but still unable to use with TORCH_CUDNN_SDPA_ENABLED=1
import torch
q, k, v = torch.randn(3, 1, 4, 4096, 128).to("cuda").to(torch.bfloat16)
torch._scaled_dot_product_cudnn_attention(q, k, v)

RuntimeError: cuDNN Frontend error: [cudnn_frontend] Error: No execution plans built successfully.

@MoFHeka @arogozhnikov can you both try again with the latest nightlies? The following should work
pip3 install -U --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu124

with
import torch
q, k, v = torch.randn(3, 1, 4, 4096, 128).to("cuda").to(torch.bfloat16)
torch._scaled_dot_product_cudnn_attention(q, k, v)

@mnicely unfortunately it still does not work with nightlies. A100, 40GB, TORCH_CUDNN_SDPA_ENABLED=1
error is the same: RuntimeError: cuDNN Frontend error: [cudnn_frontend] Error: No execution plans built successfully.

@mnicely  I have tested cudnn attention in A30 with image nvcr.io/nvidia/pytorch:24.04-py3. it is much slower than flash attention in the same image.
=====================TEST CUDNN Attention=====================
/workspace/qkv_attention.py:34: UserWarning: USING CUDNN SDPA (Triggered internally at /opt/pytorch/pytorch/aten/src/ATen/native/transformers/cuda/sdp_utils.cpp:586.)
out = torch.nn.functional.scaled_dot_product_attention(q, k, v, attn_mask=None, is_causal=causal)
/workspace/qkv_attention.py:37: UserWarning: USING CUDNN SDPA (Triggered internally at /opt/pytorch/pytorch/aten/src/ATen/native/transformers/cuda/sdp_utils.cpp:586.)
out = torch.nn.functional.scaled_dot_product_attention(q, k, v, attn_mask=None, is_causal=causal)
(1, 4096, 32, 64) 0.00217504077591002
(1, 4096, 16, 128) 0.0020994041115045547
(1, 8192, 32, 64) 0.00814421707764268
(1, 8192, 16, 128) 0.007756144041195512
(1, 16384, 32, 64) 0.03211699100211263
(1, 16384, 16, 128) 0.024100096197798848
(1, 32768, 32, 64) 0.09487044904381037
(1, 32768, 16, 128) 0.09436172991991043
(1, 65536, 32, 64) 0.3823277521878481
(1, 65536, 16, 128) 0.3809503731317818
(1, 131072, 32, 64) 1.544325471157208
(1, 131072, 16, 128) 1.5516349140089005
=====================TEST Flash Attention=====================
(1, 4096, 32, 64) 0.001407111994922161
(1, 4096, 16, 128) 0.0012988371308892965
(1, 8192, 32, 64) 0.005206326022744179
(1, 8192, 16, 128) 0.0054926639422774315
(1, 16384, 32, 64) 0.023661984829232097
(1, 16384, 16, 128) 0.02126245992258191
(1, 32768, 32, 64) 0.10068793897517025
(1, 32768, 16, 128) 0.08452382893301547
(1, 65536, 32, 64) 0.3777510579675436
(1, 65536, 16, 128) 0.33767699101008475
(1, 131072, 32, 64) 1.5188782080076635
(1, 131072, 16, 128) 1.3448062930256128
Are there any method to improve performance?
import os

import torch
import time
os.environ['TORCH_CUDNN_SDPA_ENABLED'] = '1'

try:
    from flash_attn.flash_attn_interface import flash_attn_unpadded_func
except ImportError:
    try:
        from flash_attn.flash_attn_interface import flash_attn_varlen_func as flash_attn_unpadded_func
    except ImportError:
        flash_attn_unpadded_func = None
try:
    from einops import rearrange
except ImportError:
    rearrange = None

causal = False

print("=====================TEST CUDNN Attention=====================")
b = 1
s = 4096
count = 0
torch.cuda.empty_cache()
while True:
    for h, d in zip((32, 16), (64, 128)):
        q, k, v = torch.randn(b, s, h*d*3, dtype=torch.bfloat16, device='cuda', requires_grad=True).chunk(3, dim=-1)
        q = q.view(b, -1, h, d).transpose(1, 2)
        k = k.view(b, -1, h, d).transpose(1, 2)
        v = v.view(b, -1, h, d).transpose(1, 2)
        with torch.no_grad():
            for i in range(5):
                out = torch.nn.functional.scaled_dot_product_attention(q, k, v, attn_mask=None, is_causal=causal)
            torch.cuda.synchronize()
            t1 = time.perf_counter()
            out = torch.nn.functional.scaled_dot_product_attention(q, k, v, attn_mask=None, is_causal=causal)
            torch.cuda.synchronize()
            t2 = time.perf_counter()
        print(f"{(b, s, h, d)} {t2-t1}")

    if b > 1:
        b //= 2
    s *= 2
    if s > 131072:
       break

print("=====================TEST Flash Attention=====================")
b = 1
s = 4096
count = 0
torch.cuda.empty_cache()
while True:
    for h, d in zip((32, 16), (64, 128)):
        q, k, v = torch.randn(b, s, h, 3*d, dtype=torch.bfloat16, device='cuda', requires_grad=True).chunk(3, dim=-1)
        batch_size, seqlen_q = q.shape[0], q.shape[1]
        seqlen_k = k.shape[1]
        q, k, v = [rearrange(x, 'b s ... -> (b s) ...') for x in [q, k, v]]
        cu_seqlens_q = torch.arange(0, (batch_size + 1) * seqlen_q, step=seqlen_q, dtype=torch.int32,
                                    device=q.device)
        cu_seqlens_k = cu_seqlens_q
        with torch.no_grad():
            for i in range(5):
                out = flash_attn_unpadded_func(
                        q, k, v, cu_seqlens_q, cu_seqlens_k, seqlen_q, seqlen_k,
                        0.0, causal=causal
                    )
            torch.cuda.synchronize()
            t1 = time.perf_counter()
            out = flash_attn_unpadded_func(
                    q, k, v, cu_seqlens_q, cu_seqlens_k, seqlen_q, seqlen_k,
                    0.0, causal=causal
                )
            torch.cuda.synchronize()
            t2 = time.perf_counter()
        print(f"{(b, s, h, d)} {t2-t1}")

    if b > 1:
        b //= 2
    s *= 2
    if s > 131072:
       break


Make FromUrlEncodingError public?

At urlencoding 1.1 version, FromUrlEncodingError is public.
I can implement From<urlencoding::FromUrlEncodingError> for my custom Error struct
thus I can simply use decode method with ? symbol
then I upgraded to 1.3, FromUrlEncodingError becomes private

Fixed


linux-sgx: Implement SGX IPFS as POSIX backend for files interaction

Dear WAMR developers,
Here is a PR that contributes to integrating an Intel SGX feature called Intel Protection File System Library (IPFS) in the runtime to create, operate and delete files inside the enclave, while guaranteeing the confidentiality and integrity of the data persisted.
This feature has been implemented so that when the runtime is compiled with a newly-introduced flag (WAMR_SGX_IPFS), the files interaction API of WASI will leverage IPFS, instead of the regular POSIX OCALLs. The implementation has been written with light changes to the POSIX sandbox for WASI, so all the security aspects WAMR relies on are conserved.
In addition to this integration, the following changes have been made:

The CI workflow has been adapted to test the compilation of the runtime with the flag WAMR_SGX_IPFS set to true,
Introduction of a new sample that demonstrates the interaction of the files (called file),
Documentation of this new feature (preview here)

A proof of concept regarding WAMR and IPFS was already published by my university and me a year ago with many benchmarks to evaluate the overheads of IPFS file interaction. You can see our results in this paper. With the help of the company Credora, we thought it would be a great asset to WAMR to push this research into the upstream WAMR.
Feel free to discuss the changes here, as I would be glad to perform any changes that are not compliant with the best practices of this project.
Cheers

Hey @wenyongh, many thanks for this great feedback. I have improved the aspects you mentioned in your previous comments/reviews. Notably, I restored the initial state of the posix.c file and implemented hooked the SGX functions for file interactions to introduce IPFS. As such, this leads to better encapsulation.
Let me know if you see other points to fix/refactor.
Cheers!

Hey @wenyongh, many thanks for this great feedback. I have improved the aspects you mentioned in your previous comments/reviews. Notably, I restored the initial state of the posix.c file and implemented hooked the SGX functions for file interactions to introduce IPFS. As such, this leads to better encapsulation.
Let me know if you see other points to fix/refactor.
Cheers!

@JamesMenetrey Thanks a lot for implementing this feature, it is very helpful to SGX users! The PR seems good and there are only several comments from me, could you help check them?

@wenyongh,
Thanks for this second pass of review. I have completed the different points you mentioned.
Don't hesitate to check it out and give me feedback on it!
Cheers

LGTM

Great, thanks! 🎉🚀


select issue

Hi,
I am going to create react-select component in react-redux-form.
how to place select component in Field?

Hey, you can do so like this in your render() function:
import { Field } from 'react-redux-form';

// in render():
<Field model="test.foo">
  <select>
    <option value="one" />
    <option value="two" />
    <option value="three" />
    <optgroup>
      <option value="four" />
      <option value="five" />
      <option value="six" />
    </optgroup>
  </select>
</Field>

Or are you talking about react-select? If so, what version are you using, <1.0, or 1.0 beta?

Thanks for your answer.
I am using react-select 1.0.0.-beta12 now.
const propertyTypeOptions = [
{ value: 'apartment', label: 'Apartment/Unit' },
{ value: 'studio', label: 'Studio' },
{ value: 'house', label: 'House/Townhouse' },
{ value: 'whole', label: 'Entire flat' }
]

Property Type

The problem is that select value is not change.
dropdown is working, but select and change are not working.
Thanks for your help.

My code is following:
<Field model="property.propertyType">     <div className={form-group}>       Property Type  <Select name="propertyType" value={this.props.propertyType} options={propertyTypeOptions} onChange={this.onPropertyTypeChange} />   `

Please see the docs on Custom Components.
This will become much easier in v1.0! Let me know if you run into any issues doing it the way described in the docs. 😄


support for another languages??

hi...  i am chilean
i think this lib anyway could be useful to compress another languages texts on arduino flash (like spanish on my case) , but may be not so efficient  (or maybe am i wrong??)
there are some letter combinations in english that are not so common or not used at all in spanish like "th" the "k" letter, "ph" "sch" "w" and so on, and however there are other combinations like  "que", "gui", "amb", "anv", etc. thar are fairly common
i dont know the linguistic/frequency analysis behind this library, but i feel that in search for efficiency it should be a library for each language or group of similar languages
how this analysis is done? .. could be it done for other languages by supplyng large texts to be analyzed??
thanks

Hi, You are right this library is tuned for English language letter frequency and not for specifics of other languages.  However, I think you will still get good compression ratio for Spanish.
For example, for the string "Debe su notoriedad a su colaboración con el guionista, productor y director George Lucas, que fue el primero en darle la posibilidad de ser actor." the original size is 147 bytes.
Compressed by Unishox: 91 bytes
Compressed by Smaz: 94 bytes
Compressed by Shoco: 110 bytes
I do have plans to improve compression even further by taking into account specifics of the language being compressed in future.


floating routing is not showing as expect and typeError

Hi,
After routing display, I getting an error in the console : Uncaught TypeError: Cannot read property 'length' of undefined
line 710 in TripgoRouting-src.js
Moreover the display of panel seems not ok as the "clear map" button appears in the middle of the panel.
Any idea what is causing this ?

After routing display, I getting an error in the console : Uncaught TypeError: Cannot read property 'length' of undefined line 710 in TripgoRouting-src.js

This is a minor error, it is not affecting behavior.

Moreover the display of panel seems not ok as the "clear map" button appears in the middle of the panel.

Related to this one, I've tested and it's working as expected. Check your styles.

Indeed it's related to the style (TripgoRouting.css) :
I changed :
.tripDetails .inline{
	display: -webkit-inline-flex;
    margin-left: 5px;
}

By :
.tripDetails .inline{
	display: -webkit-inline-box;
    margin-left: 5px;
}


FI9816P/W iOS 10.3 Beta

Hi all,
I have a problem with my  FI9816P/W.
The Home App can't load streaming video.
But with VLC I have not a problem.
The log of homebridge:
[2017-2-23 16:57:11] [Sottoscala] Foscam-NG: Getting snapshot.
[2017-2-23 16:57:12] [Sottoscala] Foscam-NG: Got snapshot.
[2017-2-23 16:57:26] [Sottoscala] Stop: rtsp://xxxx:xxxx@xxxxx:554/videoMain
Anyone can help me?

Duplicate with issue #14

I'm not so sure it is. #14 refers to the 10.2 issue, this is a separate problem as 10.3 now supports insecure RTSP streams again.


Updated version table

Outlook 2016 on Mac now supports AM
Outlook on Android now supports AM
Note about sync tech no longer needed

Docs Build status updates of commit 8c06dd3:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/actionable-messages/index.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Course about Github Actions

Hello Mark!
Are you thinking to create a course about Github Actions?, It'll be amazing. Very excited about that.
Best Regards
Julio

lol busted... We are planning to put out some content about it shortly.
Then in the mid-term we're going to update this course to use GitHub Actions instead of Travis-CI: Build a Backend REST API with Python & Django - Advanced.
Is there any particular area of GitHub Actions you're interested in?

lol busted...
Yes, we are planning to put out some content about it shortly.
Then in the mid-term we're going to update this course to use GitHub Actions instead of Travis-CI: Build a Backend REST API with Python & Django - Advanced.
Is there any particular area of GitHub Actions you're interested in?

Awesome! Thanks for answered.
I guess how to release an application using GH actions and also how to create my own actions.
I appreciate that.


Remove dumping the exceptions

closes #77
Dumping the exception was never meant to make it into a stable release. Exceptions including stack traces can get pretty big. If you need something to debug your app, use tools like whoops.

With the 1.2.0 version of zend-stratigility, the default environment is "production", and exceptions are no longer displayed in production. You have to manually tell the FinalHandler during instantiation that you're in a non-production environment. As such, I think we can likely just pin the skeleton to zend-stratigility ^1.2.

That said, we could just do an echo of the error if it is an exception. This will provide a stack trace only, versus the large mess that results from var_dump.

After discussion on IRC, I'll merge this, for the following reasons:

as noted in the issue description, the default debug tool, whoops, will work for most cases.
in production, you basically never want to display such information to your users.
if you absolutely want/need to have this information displayed, you can provide alternate templates for development.

Merging this ensures there's no shipped way of accidently getting that information leaked.


Fixed bug when seeking to pos < dataoffset

When calling ov_pcm_seek() to a sample offset smaller than the calculated data offset for the file's stream, ov_pcm_seek_page() can fail to find the correct page due to the begin pos for the page search being set to the data offset. This causes audible glitches in some .ogg files, for example the example file from the Ogg Vorbis Wikipedia page.
This PR adds a special case for when pos < vf->dataoffsets[link] and adds a check for 'looking for data in first page' special case. I'm not sure if it's entirely robust, but it fixes the issue in the above file and some others. This may also be related to https://github.com/xiph/vorbis/issues/60.

What would you suggest? We need to store it before begin is modified below in order for the check later to work.

What would you suggest?

E.g., the first hunk can be like:
diff --git a/lib/vorbisfile.c b/lib/vorbisfile.c
index 9219c2f..1429bdf 100644
--- a/lib/vorbisfile.c
+++ b/lib/vorbisfile.c
@@ -1439,9 +1439,12 @@ int ov_pcm_seek_page(OggVorbis_File *vf,ogg_int64_t pos){
     ogg_int64_t target=pos-total+begintime;
     ogg_int64_t best=-1;
     int         got_page=0;
-
+    ogg_int64_t initialBegin;
     ogg_page og;

+    if (pos < begin) begin = pos;
+    initialBegin = begin;
+
     /* if we have only one page, there will be no bisection.  Grab the page here */
     if(begin==end){
       result=_seek_helper(vf,begin);

I see - I've made that change now.

What is the status of this patch?

We made this change in our local copy of vorbis in JUCE in commit https://github.com/juce-framework/JUCE/commit/35d0a8c8. We've had no complaints from users so far so it'd be great if it could get merged into main.


Evaluating a checkpoint

I am trying to evaluate a checkpoint while training but when i use the evaluation script, I get following error:
AttributeError: Can't get attribute 'exclude_bias_and_norm' on <module 'mp_main' from '/home/ubuntu/Projects/barlowtwins/evaluate.py'>
Can you please have a look?

The training script, main.py, is not written in a way that would allow evaluation during training, but there is an easy fix. You can indent the following 4 lines https://github.com/facebookresearch/barlowtwins/blob/main/main.py#L139-L142 and the training script will create a checkpoint after each epoch, instead of creating only one checkpoint at the end of training. Then pass the checkpoint file, resnet50.pth, to the evaluation script.

@jzbontar
Hi,
Would you please update checkpoint file? I have same problem when I run this:
state = torch.load('checkpoint.pth')


[@storybook/addon-viewport] Crash on 5.0.0-rc.6

Describe the bug
@storybook/addon-viewport crashes on initial render, which causes storybooks to render a blank page.
To Reproduce
It seems that all that you need is to specify a defaultViewport:

When it is converted by toList, it splits the string:

When the list is eventually processed, list.map tries to access named properties but the only one that exists is id:

Which eventually crashes inside createItem:

Expected behavior
No crash.
Screenshots
It's a blank page, but I added screenshots of the debugger.
System:

OS: MacOS
Device: MBP
Browser: Chrome
Framework: Vue
Addons: viewport
Version: 5.0.0-rc.6

Likely broken by https://github.com/storybooks/storybook/commit/a86e25f0403c5a729fffdf0606f06c7dd4be02c8#diff-0b19096a27d5827867e96b205e01a2ffR13 because it treats the string as an object, copying the enumerable properties.

This seems to have been a misconfiguration: https://github.com/storybooks/storybook/tree/next/addons/viewport#change-the-default-viewport
(change from the alphas? or was it just misconfigured all along?)

It seems the deprecation message in configureViewport is misleading.

NOTE: I can repro this in the official storybook in next and master

Thanks for the report @Jessidhia.
.addParameters({ viewport: 'string' }) will no longer be supported (we need to it to be an object so it can be sensibly merged by the parameters system) but we need to (a) allow setting the default viewport and (b) not throw up if you do the old thing. See #5829

Yee-haw!! I just released https://github.com/storybooks/storybook/releases/tag/v5.0.0-rc.10 containing PR #5829 that references this issue. Upgrade today to try it out!
Because it's a pre-release you can find it on the @next NPM tag.
Closing this issue. Please re-open if you think there's still more to do.

Yowza!! I just released https://github.com/storybooks/storybook/releases/tag/v5.0.0-rc.11 containing PR #5829 that references this issue. Upgrade today to try it out!
Because it's a pre-release you can find it on the @next NPM tag.


JSON repair should update user, not replace.

If the JSON did not complete transmission and needed to be repaired the User in BarcodeKanojo should not be replaced by the JSON data but should instead be updated by the JSON data.

Relates to #1


[Feature] Enhance Invite Flow with a Shareable Link

Summary

Allow developers to create a sharable link that will add users to an org
Developers should be able to choose the role which users clicking that link will be assigned to
Developers should be able to copy the link
Developers should be able to see the old invite links and disable them

Motivation
In large orgs where inviting hundreds of users is impractical, a sharable link becomes a simple method of granting access to applications which are not public
Additional Context
2 Sharable links with different permissions should not overwrite an already signed up user's permissions

https://www.figma.com/file/cla7E5EloViP6ZIFlqRXGW/?node-id=91%3A68
This is a review link for the invite flow. There are post it's calling out the different flows and options.


fix russian locale

Hey!
There were some mistakes in russian locale. We don't translate "e-mail" in most cases.
Btw, I'm not quite sure may be you used "электропочта" instead of "email" as a some kind of feature. You know, this word sounds really weird for us... but at the same time funny :laughing: .

Thanks :+1:


Limiting RecursionDepth with OmitOnRecursionBehavior does not seem to work with LazyEntityGraph

var fixture = new Fixture();

var customization = new LazyEntityGraphCustomization(
                ModelMetadataGenerator.LoadFromCodeFirstContext(str => new Mydb(), false));

fixture.Customize(customization);

fixture.Behaviors.OfType<ThrowingRecursionBehavior>().ToList().ForEach(b => fixture.Behaviors.Remove(b));
fixture.Behaviors.Add(new OmitOnRecursionBehavior(1)); // set RecursionDepth to 1

This does not seem to work as expected, and AutoFixture combined with LazyEntityGraph will recurse through n depth instead of the depth specified in OmitOnRecursionBehavior.
Perhaps there's another way to do this or I'm missing something.

Hi,
Could you please provide me with a Minimal, Complete, and Verifiable example of code that helps to reproduce the scenario? The existing sample contains unknown classes, which might be crucial for the issue troubleshooting.
Thanks!


"Add support for secure token storage"

Token storage change in latest release of gh
This is a message from the GitHub CLI team, maintainers of gh, writing to inform you that the most recent release of gh contains changes which may affect your extension. The latest release introduces the feature of storing authentication tokens in the system keyring (encrypted storage) instead of in a plain text file.
The keyrings that are supported are:

Keychain on macOS

GNOME Keyring on Linux (Secret Service dbus interface)

Wincred on Windows

This has huge security benefits for the users of our tool and was one of our oldest outstanding issues. Unfortunately this change has the potential to break extensions that rely on utilizing the users authentication token to work.
In order to have continued compatibility with gh there are some actions you, as an extension author, need to take. These actions will depend on the implementation of your extension.
Extensions built in Go using go-gh:

Upgrade your go-gh version to v1.2.1, the latest version.

This can be done using go get<EMAIL_ADDRESS>

Verify that in your extension retrieval of the user authentication token is done using the  auth.TokenForHost function.

If you were previously accessing the authentication token using any other method it will no longer work.
Automatic resolution of the authentication token when using the API clients will continue to work without changes.

All other extensions:

Verify that in your extension retrieval of the user authentication token is done by shelling out to the gh auth token command.

If you were previously accessing the authentication token using the gh config get command, reading the configuration file directly, or any other methods it will no longer work.

As of right now storing the authentication token in the system keyring is an opt-in feature, but in the near future it will be required and at that point if the changes above are not made then your extension will be broken for all users. If you have any questions/concerns about this change please feel free to open a discussion in the gh repo.
Thanks,
The GitHub CLI Team

Hey! Thank you, I appreciate the heads up. I'm working on adding support for secure tokens. I'll definitely be able to do it for regular gh profile switch calls, but I can't think of a way to implement this for the dir-based way, which updates the GH_CONFIG_DIR env. I have opened a discussion here https://github.com/cli/cli/discussions/7279


getSettings - commented lines are not ignored

From @Survion
% settings.lookback = 200;
sets lookback to 200 is not correct.

changed merged into master branch and new version pushed.


[Feature][Manager] Support data validation when importing Excel file

Description
No response
Use case
No response
Are you willing to submit PR?

[X] Yes, I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I would love to contribute in this task! If this is not assigned to anyone, can i look into it?

@bibhu107 Thanks, but this issue has been implemented by @featzhang. You could check other issues.


Enable secure mode in identify if requested

Codecov Report

Merging #7 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master     #7   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           1      1
  Lines          30     33    +3
=====================================
+ Hits           30     33    +3

Impacted Files
Coverage Δ

lib/index.js
100% <100%> (ø)
:arrow_up:

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 0d137a1...5054201. Read the comment docs.

@hankim813 sure thing. Will do

@hankim813 Pushed the release commit. Let me know if this works


Storing property values as an array if a property occurs multiple times

Fixed that problem that if a property occurs multiple times only the value of the last property is being stored. Now, if a property occurs multiple times all values are stored in an array based on the order of apperance.
Fixes the following issue #6

Thank you very much for the PR.
It LGTM. Could you just have the linting errors fixed and have a test case added for this change? And then it should be good to merge.
@Vasanth-Indix @lakshmirajagopalan This needs review. Thanks.

Thanks @dwolters for the PR.
I will test it out for few more micro-data adopted sites and get back in a couple of days.  Meanwhile a test case for the mentioned scenario would be great.

Thanks for having a look at the problem. I added the test case based on the example from schema.org/Recipe. Their JSON-LD looks nearly exactly the JSON-LD created by the extractor. Only exception is that their corresponding JSON-LD does not repeat the @context property for nested objects if it is the same as the context of the outer object. However, I from my point of view that's a separate issue.

Am going ahead and merging the PR.


04.first-neural-network.ipynb error

I am getting the following error for 04.first-neural-network.ipynb notebook:
--------------------------------------------------
RuntimeError     Traceback (most recent call last)
<ipython-input-28-8756d5fbee9e> in <module>
     10
     11     if epoch % 100 == 0:
---> 12       train_acc = calculate_accuracy(y_train, y_pred)
     13
     14       y_test_pred = net(X_test)

<ipython-input-24-51ba3ab94870> in calculate_accuracy(y_true, y_pred)
      1 def calculate_accuracy(y_true, y_pred):
      2   predicted = y_pred.ge(.5).view(-1)
----> 3   return (y_true == predicted).sum().float() / len(y_true)

RuntimeError: Expected object of scalar type Float but got scalar type Byte for argument #2 'other'

Hey,
Just rerun the notebook on Google Colab and everything seems to execute/train fine. Are you using different model/dataset/environment?


Rocket Tap-Fire

Shooting and letting go instantly should shoot a rocket.
Attempt to shoot another rocket should not give the player control of the one they just shot.

uhhh this works now


SOURCE_DIRECTORY macro in subfolders

If you have a F# script in a subfolder and use the __SOURCE_DIRECTORY__ macro, this correctly points to the current directory in the editor (it works fine with the csv type provider for example). However, when you send it to the FSI, __SOURCE_DIRECTORY__ becomes the root folder open by Atom. So, if you have a script in a subfolder with the following code:
open FSharp.Data
let [<Literal>] tablePath = __SOURCE_DIRECTORY__ + "/table.csv"
type Stocks = CsvProvider<tablePath>
let fb = Stocks.Load(tablePath)

It will fail in when sending it to FSI even if there're no errors in the editor.

FSI.exe is run with opened root folder of Atom project as "current working directory" and this root directory is treated as  __SOURCE_DIRECTORY__
I really don't know  if there is any better solution - we can't change "current working directory" during running of session, and we can send to session code from different files (different locations) so starting it from root folder seems like a best way.


[Request Feature]Invalid message with icon in TextFormField

Use case
Invalid message in TextFormField

Proposal

I want to put the warning icon left of validation message.
https://api.flutter.dev/flutter/material/Icons/warning-constant.html

@HansMuller @HansMuller Thank you for putting labels.

Any progress? I would like to see this feature with icon in error text

I think this can be achieved with the error parameter, which allows passing any widget as the error. So you could pass a Row with an Icon and a Text.


Change color palette and scale for easier viewing

@jbladant could you be more specific with what you mean by change scale?

@jbladant is their particular colormaps you are interested in, by default there are over 120 availible see here: https://holoviews.org/user_guide/Colormaps.html

Colormaps:
Can you add all of them? With like a scrolling button for selection?
Scale:
I mean that when you zoom over a region, the scale on the right of the figure does not update. What could be nice would be that the scale adapt itself to reflect the maximum and the minimum values of the displayed cells.
For instance, if I zoom over a region in which the topography is between 200 m and 400 m, it could be nice that the scale update to display min value of 200 m and max value of 400 m rather than the default 0 - 2500 m value.

Ok we'll start off with adding all the colormaps that is relatively "trival" work as for updating the scale on zoom that could be more complex!


[CELEBORN-316] Wrap Celeborn exception with CelebonrIOException

What changes were proposed in this pull request?
When we enable spark blacklist mechanism, many executor was excluded from current stage caused by RSS exception, but for all RSS exception we should not been excluded and this mechanism caused less and less executor to return the task, caused job slower.
We should wrap RSS exception with CelebonrIOException then we can do something in spark side
Why are the changes needed?
Does this PR introduce any user-facing change?
How was this patch tested?

Can we also change the related methods signature from IOException -> CelebornIOException

Can we also change the related methods signature from IOException -> CelebornIOException

I think it's unnecessary, some place extended from spark's API


Add Empowering Climate Resilience blog

This PR adds a new blog Empowing Climate Resilience Forum blogpost.

This is simple blog post. Merging without a review...


Rework rustdocs

[x] Item visibility: https://github.com/hermitcore/libhermit-rs/pull/360
[ ] Documentation of system calls
[ ] Build docs with nightly features
[ ] Link to docs.rs for dependencies

Hi Martin,
I'm taking a Virtualization course at UT Austin and we've been asked to contribute to open-source virtualization repositories for one of our projects. Could I take a shot at resolving this issue?

Sure! More documentation is always welcome 👍

There are quite a few links in the docs that were broken after code reorganization as the file URLs were invalidated. We can fix at least some of these by using intra-doc linking now that it's available. We can use cargo-deadlinks as a CI check to avoid such a situation in the future or at least for finding the broken links during the migration. We can also use cargo-intraconv to convert the old style links that currently work but are susceptible to breakage in a future refactoring.

For example in this line linked struct was renamed from SplitVqueue to  SplitVq, which broke the link.
https://github.com/hermit-os/kernel/blob/a2f521fe071d11a080071ab7565a789d983212fc/src/drivers/virtio/virtqueue/mod.rs#L4
Another example is the structs getting moved to another file and the relative URL changing from structs.PackedVq.html to packed/structs.PackedVq.html
https://github.com/hermit-os/kernel/blob/a2f521fe071d11a080071ab7565a789d983212fc/src/drivers/virtio/virtqueue/mod.rs#L111
cargo-deadlinks lists 73 broken file:// URLs inside the target/doc/hermit directory after a cargo doc run with --document-private-items. I didn't look into all examples not to get too sidetracked.
To be clear, the two aforementioned packages would not be introduced as dependencies: I linked them partly to document them for later when I get a chance to look into the issue. Running cargo-intraconv after converting the existing links should not be necessary, as I would expect documentation added from now on to use intra-doc links from the get-go. cargo-deadlinks should also not be necessary, unless it turns out some of the file:// links cannot be converted to intra-doc links. Even in that case, it is not really necessary to make it a part of the CI workflow, since the kinds of changes that cause link breakages shouldn't be frequent.

Okay, makes sense.
I was thinking the same. In the future, we'll make sure that we always use intra-doc links. 👍


Add mime types

Alpine image doesn't provide /etc/mime.types out of the box, which is what Go's looking for in e.g. mime.TypeByExtension.
Without /etc/mime.types many files of "known" extensions are uploaded with application/octet-stream instead.
mailcap is the smallest package I could find.
R: @bradrydzewski

already did it for another plugin.
LGTM

LGTM


akkoma: 3.13.1 -> 3.13.2

Description of changes
This is a security update. Changelog
Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 313794 run on x86_64-linux 1

1 package built:

akkoma

I confirmed that there is no change in dependencies and successfully ran the unconfined module tests on Linux x86-64.
The confined test fails because pleroma_ctl is called with RUNTIME_DIRECTORY=/run/akkoma:/run/confinement/akkoma.

I suspect that the problem was introduced by 0a5542c766cc14b3a6c841d0f47ab098605776e2, which is intended to enable the use of ProtectSystem with confined units.
I am uncertain why exactly it adds "confinement/${mkPathSafeName name}" to the RuntimeDirectory list. If I understand correctly, that directory is used as root directory for the confined environment.
The following InaccesiblePaths directive then disables access to /run/confinement/$name/run/confinement/$name, as the + prefix makes the path relative to RootDirectory.

I suspect that the problem was introduced by 0a5542c, which is intended to enable the use of ProtectSystem with confined units.
I am uncertain why exactly it adds "confinement/${mkPathSafeName name}" to the RuntimeDirectory list. If I understand correctly, that directory is used as root directory for the confined environment.

@ju1m Am I correct in my assumption that the addition of the path to the RuntimeDirectory list is only so that the directory is automatically created on unit startup? If so, do you think there is alternative way to create the directory that doesn’t affect the RUNTIME_DIRECTORY environment variable?

Since this is a security update, I'd prefer to merge it soon and fix the confinement issue with a seperate PR. Unless there's a readily available fix, I don't really have time to look into it right now.

Since this is a security update, I'd prefer to merge it soon and fix the confinement issue with a seperate PR. Unless there's a readily available fix, I don't really have time to look into it right now.

I have no objection. It’s broken on master with or without this PR.

@ju1m Am I correct in my assumption that the addition of the path to the RuntimeDirectory list is only so that the directory is automatically created on unit startup?

@illdefined, yes, that's a fresh empty directory created for RootDirectory= instead of using /var/empty previously which was not compatible with ProtectSystem=strict (also implied by DynamicUser=true).

If so, do you think there is alternative way to create the directory that doesn’t affect the RUNTIME_DIRECTORY environment variable?

AFAIK, of all the directories that systemd can create for a service ($RUNTIME_DIRECTORY, $STATE_DIRECTORY, $CACHE_DIRECTORY, $LOGS_DIRECTORY, $CONFIGURATION_DIRECTORY and $CREDENTIALS_DIRECTORY), $RUNTIME_DIRECTORY is the best fit for the purpose of a confinement RootDirectory=.
If I may suggest a fix, I think nixos/modules/services/web-apps/akkoma.nix should not assume that $RUNTIME_DIRECTORY is a single path and either be replaced by a hardcoded /run/akkoma or maybe avoided entirely by defining some envvars like environment.RELEASE_COOKIE = "/var/lib/akkoma/.cookie"; in the service.

I suggest the following patch to deal with RUNTIME_DIRECTORY containing multiple directories:
diff --git a/nixos/modules/services/web-apps/akkoma.nix b/nixos/modules/services/web-apps/akkoma.nix
index 7c9bf6c46516..fa6241ba3028 100644
--- a/nixos/modules/services/web-apps/akkoma.nix
+++ b/nixos/modules/services/web-apps/akkoma.nix
@@ -119,7 +119,7 @@ let
         -o ${escapeShellArg cfg.user } \
         -g ${escapeShellArg cfg.group} \
         <(hexdump -n 16 -e '"%02x"' /dev/urandom) \
-        "$RUNTIME_DIRECTORY/cookie"
+        "''${RUNTIME_DIRECTORY%%:*}/cookie"
     '';
   };

@@ -131,7 +131,7 @@ let
         -o ${escapeShellArg cfg.user} \
         -g ${escapeShellArg cfg.group} \
         ${escapeShellArg cfg.dist.cookie._secret} \
-        "$RUNTIME_DIRECTORY/cookie"
+        "''${RUNTIME_DIRECTORY%%:*}/cookie"
     '';
   };

@@ -181,7 +181,7 @@ let
     name = "akkoma-config";
     runtimeInputs = with pkgs; [ coreutils replace-secret ];
     text = ''
-      cd "$RUNTIME_DIRECTORY"
+      cd "''${RUNTIME_DIRECTORY%%:*}"
       tmp="$(mktemp config.exs.XXXXXXXXXX)"
       trap 'rm -f "$tmp"' EXIT TERM

@@ -279,7 +279,7 @@ let
         cd "${cfg.package}"

         RUNTIME_DIRECTORY="''${RUNTIME_DIRECTORY:-/run/akkoma}"
-        AKKOMA_CONFIG_PATH="$RUNTIME_DIRECTORY/config.exs" \
+        AKKOMA_CONFIG_PATH="''${RUNTIME_DIRECTORY%%:*}/config.exs" \
         ERL_EPMD_ADDRESS="${cfg.dist.address}" \
         ERL_EPMD_PORT="${toString cfg.dist.epmdPort}" \
         ERL_FLAGS=${lib.escapeShellArg (lib.escapeShellArgs ([
@@ -287,7 +287,7 @@ let
           "-kernel" "inet_dist_listen_min" (toString cfg.dist.portMin)
           "-kernel" "inet_dist_listen_max" (toString cfg.dist.portMax)
         ] ++ cfg.dist.extraFlags))} \
-        RELEASE_COOKIE="$(<"$RUNTIME_DIRECTORY/cookie")" \
+        RELEASE_COOKIE="$(<"''${RUNTIME_DIRECTORY%%:*}/cookie")" \
         RELEASE_NAME="akkoma" \
           exec "${cfg.package}/bin/$(basename "$0")" "$@"
       '';

And considering that it is now supported, we no longer need to disable ProtectSystem if confinement is enabled:
diff --git a/nixos/modules/services/web-apps/akkoma.nix b/nixos/modules/services/web-apps/akkoma.nix
index 7c9bf6c46516..b89c90b4cfd5 100644
--- a/nixos/modules/services/web-apps/akkoma.nix
+++ b/nixos/modules/services/web-apps/akkoma.nix
@@ -1072,7 +1072,7 @@ in {

         ProtectProc = "noaccess";
         ProcSubset = "pid";
-        ProtectSystem = mkIf (!isConfined) "strict";
+        ProtectSystem = "strict";
         ProtectHome = true;
         PrivateTmp = true;
         PrivateDevices = true;

Have added the patches suggested by @illdefined, everything seems to work locally but not certain which confinement tests need run.

I suggest the following patch to deal with RUNTIME_DIRECTORY containing multiple directories:

Note that this is assuming that /run/akkoma comes first in the list, and would fail if it were /run/confinement/akkoma which is an inaccessible path.

Have added the patches suggested by @illdefined, everything seems to work locally but not certain which confinement tests need run.

Just nixosTests.akkoma-confined.

I suggest the following patch to deal with RUNTIME_DIRECTORY containing multiple directories:

Note that this is assuming that /run/akkoma comes first in the list, and would fail if it were /run/confinement/akkoma which is an inaccessible path.

I suppose that lib.mkBefore should take care of that:
diff --git a/nixos/modules/services/web-apps/akkoma.nix b/nixos/modules/services/web-apps/akkoma.nix
index b89c90b4cfd5..1f3653c9bd13 100644
--- a/nixos/modules/services/web-apps/akkoma.nix
+++ b/nixos/modules/services/web-apps/akkoma.nix
@@ -984,7 +984,7 @@ in {
         RemainAfterExit = true;
         UMask = "0077";

-        RuntimeDirectory = "akkoma";
+        RuntimeDirectory = mkBefore [ "akkoma" ];

         ExecStart = mkMerge [
           (mkIf (cfg.dist.cookie == null) [ genScript ])


[live tests] Minor fixes for SupportedClouds and Location overrides/defaults

SupportedClouds: Since the tests-weekly pipeline convention includes all clouds by default, we need to update the conditional check to populate the platform matrix by defaulting to true always when SupportedClouds is not defined. Otherwise the matrix ends up rendering empty for clouds that aren't in the default parameters.Clouds string.
Location: Since the coalesce template expression function needs a non-empty fallback string, I had passed in 'westus2'. This does not work when no Location is specified for sovereign clouds, since we need to use a different default. This fixes the expression to ignore setting Location properly when not specified (allowing the provisioning script to set it instead).

/azp run net - identity - tests


About legacy /jsonld/sign endpoint and re-using key material

The jsonld set of endpoints are marked as deprecated. Are we planning to remove them before the 1.0 release?
Before doing so there's one important feature we should preserve to the new set of vc-api issuance endpoint and it's the ability to provide a verkey as an option and sign with an arbitrary did uri as the issue. This use case is valuable when a controller wants to publish the verkey on multiple resolvable endpoints and sign with the same private key. As an issuer, I might want to have multiple did:web identifiers associated with the same keypair. Or alternately, I might want to publish the same verkey on an indy ledger and the web, and have the choice of using a did:web or a did:indy as issuer value, inheriting some of the trust associated to the indy ledger's governance with my web did (maybe even refering to it in my alsoKnownAs field in the did document). For this I would register my did in acapy and refer to it through the associated verkey when signing. This is the current behavior of the /jsonld/sign endpoint.
My suggestion would be to make an optional proofKey field in the LDProofVCOptionsSchema and if provided, the ldproofmanager will use this value to fetch the corresponding key in the wallet instead of the issuer did value.
@dbluhm @jamshale ?

Closing as this is being addressed in the didcomm v2 work (adding a verificationMethod.id to map a key pair)


Update write_abstract_lef in README

Signed-off-by: niv280<EMAIL_ADDRESS>I update the write_abstract_lef description, let me know if it is clear enough or it needed to make some changes.

@niv280 where is the "pitch" derived from? Is the pitch the same for every layer or is it different depending on the layer?

Different in every layer, I extract the pitch in that way:
tech_layer->getPitch();

Format failure unrelated


Display

Main change here is the addition of plenoptic.imshow and plenoptic.animshow, which are wrappers around the equivalent functions in pyrtools, but expect the input tensors to be of the standard shape for plenoptic: (batch, channel, height, width) for images and (batch, channel, time, height, width) for videos (with an optional extra dimension for real/imaginary if it's complex).
Other changes:

update_plot now works with line plots and its docstring is hopefully more clear
use sphinxcontrib.apidoc to automatically re-generate the API documentation when docs are built
fixes some errors in the notebooks that were the result of out-of-date code. this was largely related to the changes to imshow, but some other ones as well. Several notebooks (01, 02, 03, 04) still have existing issues that will need to be fixed.
adds codecov integration
our plenoptic.torch_complex_to_numpy now explicitly checks the number of dimensions of the input and raises an exception if it's not 5 or 6 (@nikparth this required some minor changes to your steerable pyramid code and tests, but it's all working now).

Importantly, with this PR, the required pyrtools version is now 1.0.0, because of the recent changes to imshow and animshow there that we rely on. So after this merge, everyone will need to update their pyrtools in order for the tests to pass.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@6206427). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #62   +/-   ##
=========================================
  Coverage          ?   72.83%
=========================================
  Files             ?       34
  Lines             ?     3210
  Branches          ?      677
=========================================
  Hits              ?     2338
  Misses            ?      696
  Partials          ?      176

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 6206427...cb82c51. Read the comment docs.


Fix regression of 2D light height

Fix regression introduced in #19807.
Bugsquad edit: Fixes #19972

Not relevant for 3.0 as I didn't cherry-pick #19807.


added change into the topo dir to resolve paths

close #607

need to think how to deal with the paths...


WebContainer does not start

Describe the bug
when loading the NodeJS stack in chrome, the panel on the right shows Booting WebContainer and is stuck.
and in the developer console, it shows 3 errors:

Indicate whether a cookie is intended to be set in a cross-site context by specifying its SameSite attribute
Because a cookie’s SameSite attribute was not set or is invalid, it defaults to SameSite=Lax, which prevents the cookie from being set in a cross-site context. This behavior protects user data from accidentally leaking to third parties and cross-site request forgery.
Resolve this issue by updating the attributes of the cookie:
	Specify SameSite=None and Secure if the cookie is intended to be set in cross-site contexts. Note that only cookies sent over HTTPS may use the Secure attribute.
	Specify SameSite=Strict or SameSite=Lax if the cookie should not be set by cross-site requests.
AFFECTED RESOURCES
2 cookies

Name	Domain & Path
ahoy_visitor	node-3sbord.stackblitz.io/
ahoy_visit	node-3sbord.stackblitz.io/
2.	1 request
1.
relay
Link to the blitz that caused the error
https://stackblitz.com/edit/node-3sbord
Steps to reproduce

goto stackblitz.com
click NodeJS blank project [BETA]
See right panel booting webcontainer stuck

Expected behavior
It should work
Screenshots
No response
Platform
Browser name  = Chrome
Full version  = 95.0.4638.69
Major version = 95
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36
performance.memory = {
  "totalJSHeapSize": 57728330,
  "usedJSHeapSize": 53810586,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Hash = 5a55fa0dbb2eb8daf8e20eb3b6ad27ffc8ae4a6b

Additional context
No response

@shaozi Thanks for the report!
It seems the blitz you linked no longer exists, could you link a new one? Also, could you share a screenshot of the developer console errors?

:wave: It seems this issue has been sitting for a while without new info. I'm closing this, but please feel free to open a new one if you still encounter this problem.


[FEATURE] Make command list easier to read

Pull request checklist
Before submitting your PR, please review the following checklist:

[x] Consider adding a unit test if your PR resolves an issue.
[x] All new and existing tests pass locally (palm test)
[x] Lint (palm lint) has passed locally and any fixes were made for failures
[x] Docs have been reviewed and added / updated if needed (for bug fixes / features)

Breaking changes

[ ] Check if this pull request introduces a breaking change

What does this implement/fix? Explain your changes.
When working with palm in some projects, you may have a lot of commands, coming from palm core, plugins, global plugins, and the project it's self. This list can be difficult to grok and find what you are looking for.
By adding a custom format_commands function we can break that list up by plugin, making the command list easier to parse and find what you are looking for.
Does this close any currently open issues?
No. Just a thing I wanted to do.
Any other comments?
As yet, this is untested outside of a few tests on my local. I'd like to get tests around this and make sure it works well at the edges (e.g. subcommands in a regular command group).
Where has this been tested?
Operating System: MacOs

No merge because this is just an RFC until I get around to writing tests etc.

This PR should be good to go! Tested and all checks passing 🥳


Unhandled rejection click evaluatePage  global code error

I installed node-horseman and i downloaded phantomjs and set it to environment variable (windows 7 64bit) when I tried to execute
var Horseman = require('node-horseman');
var horseman = new Horseman();
horseman
  .userAgent('Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0')
  .open('http://www.google.com')
  .type('input[name="q"]', 'github')
  .click('button:contains("Google Search")')
  .keyboardEvent('keypress', 16777221)
  .waitForSelector('div.g')
  .count('div.g')
  .log() // prints out the number of results
  .close();

I got the following error

Unhandled rejection click
evaluatePage

global code
evaluateJavaScript@[native code]
evaluate@phantomjs://platform/webpage.js:390:39
phantomjs://code/bridge.js:121:61
    at C:\Users\test\Desktop\horse\node_modules\node-horseman\lib\actions
.js:989:36
    at tryCatcher (C:\Users\test\Desktop\horse\node_modules\bluebird\js\r
elease\util.js:16:23)
    at Function.Promise.fromNode.Promise.fromCallback (C:\Users\test\Desk
top\horse\node_modules\bluebird\js\release\promise.js:176:30)
    at Horseman.<anonymous> (C:\Users\test\Desktop\horse\node_modules\nod
e-horseman\lib\actions.js:987:29)
    at Horseman.tryCatcher (C:\Users\test\Desktop\horse\node_modules\blue
bird\js\release\util.js:16:23)
    at Promise._settlePromiseFromHandler (C:\Users\test\Desktop\horse\nod
e_modules\bluebird\js\release\promise.js:502:31)
    at Promise._settlePromise (C:\Users\test\Desktop\horse\node_modules\b
luebird\js\release\promise.js:559:18)
    at Promise._settlePromiseCtx (C:\Users\test\Desktop\horse\node_module
s\bluebird\js\release\promise.js:596:10)
    at Async._drainQueue (C:\Users\test\Desktop\horse\node_modules\bluebi
rd\js\release\async.js:143:12)
    at Async._drainQueues (C:\Users\test\Desktop\horse\node_modules\blueb
ird\js\release\async.js:148:10)
    at Immediate.Async.drainQueues [as _onImmediate] (C:\Users\test\Deskt
op\horse\node_modules\bluebird\js\release\async.js:17:14)
    at tryOnImmediate (timers.js:534:15)
    at processImmediate [as _immediateCallback] (timers.js:514:5)

I even tried using
var phantomjs = require('phantomjs');
var horseman = new Horseman({phantomPath: phantomjs.path});

The .click() is failing because the selector you tried to click does not exist.

this code is from the example of node-horseman

Yes, google has apparently changed their page since the example was made. It is hard to make a scrape that works for long periods.

is there any workaround it ?

and the selector exist
`

`
the code seems to work fine when using keyboardEvent without click().

The selector that is the problem is 'button:contains("Google Search")'. That element matches the selector 'div.g' which is not what you are trying to click. There is no "workaround" because there is no bug.
A selector which does match match the current search button is 'input[value="Google Search"]'.

Thanks awlayton for the help.

Would it be possible to catch the error and throw a more friendly "Click selector not found" message?

Since different versions of PhantomJS throw slightly different errors, it would probably being easier (though kinda wasteful) to have horseman check is the selector is missing and throw an appropriate error @choxi. I would prefer catching the specific error of the selector not existsing, but I do not have the time lately to figure out how. I would be happy to accept a PR doing so though.


SAI-4784 : SearchHandler might ignore shard exception with shards.tolerant=true

Description
It is found that SearchHandler sometimes does not re-throw the shard exception even if the shard response was 400 (one of the non-tolerant response codes that should re-throw exception despite shards.tolerant=true)
Based on the pattern, it appears that this happens when the last shard response was OK
Cause
The existing handling in HttpShardHandler would accumulate multiple ShardResponse in the response.getShardRequest().responses, while only the last one would be returned by such method.
Therefore, for shards.tolerant=true, if exceptions occurred in any of the shard response but not the last shard response, then the logic would not be able to identify the exception. For example, response.getShardRequest().responses might have [response1, response2, response3], even if response2 has exception, the one returned by the method is response3, which .getException is null
Solution
Added 2 methods:
findResponsesWithException(ShardResponse) -  From the param, find all of the responses either embedded in the param or the param itself with exception. Preserving the ordering and avoid duplicates.
findNonTolerableException(boolean, List<ShardResponse>) - first boolean indicates whether we are tolerant. Then from the list of ShardResponses, find if the first exception that we should rethrow from SearchHandler.
Extracted those 2 methods for easier unit testing. There are few combinations of ShardResponse that we should test on
Remarks
This could increase the # of failure returned to the client. At least for surround query, most of the errors were likely obscured by the last OK shard responses, which usually take the longest to compute since it didn't hit the limit.

LGTM! Feels strange that something called ShardResponse isn't just the response from a single shard but actually all shards on a given node it seems, but that isn't a problem with this PR.

Totally agreed! I was wondering whether some small changes can be done to ShardResponse to avoid issues like this, however there seems to be some special reasons to have data structured this way, seems out of scope for current PR 😓


🕵 Assess FinOps Learning and Development Opportunities

👀 Purpose

As Operations Engineering pivots to the world of FinOps - we should assess the resources available to ensure the team has a solid foundation and understanding of the practice
To identify any potential useful, paid resources which may take time to organise for the team, to ensure they can be provided in a timely manner

✅ Definition of Done

[ ] An Assessment of L&D Resources For FinOps
[ ] Highlight Any Paid Resources we Believe The Team Would Benefit From
[ ] Highlight Any Existing Resources we Believe The Team Would Benefit From

Not an exhaustive list, but some ideas to look into

Civil Service Learning * MoJ already pay for this
O'Reilly * MoJ already pay for this - ask in #licenced-offerings-skillsoft-pluralsight-oreilly-linkedinlearning for access
AWS Training and Certification * MoJ already pay for this - ask Head of Hosting in regards to access
Azure Training and Certification
FinOps Foundation Training and Certification

📓 Notes

Assessment ideas:

Ensure to document any cost associated with paid options
High-level assessment of the content of any resources i.e. does it focus on FinOps principles in general? Or how they apply to specific tools?
Any blockers to gaining access? Do people already have access?

Document for the write-up.
Will leave this in progress for the moment in case the team want anything modified.


feat: add java format plugin

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
add java format plugin

Checklist

[ ] I have written necessary rustdoc comments
[ ] I have added necessary unit tests and integration tests
[ ] I have added test labels as necessary. See details.
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[ ] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

[ ] My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

[ ] My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.

If this PR is not suitable, I can close it. I just added a java code format plug-in

Thanks for your contribution, I've involved maintainers to review.

We already have our format plugin, which is exactly the one added in this PR. Currently we use the version 2.27.1. If there is no special reason, we prefer retaining the current version. Our current plugin is set in https://github.com/risingwavelabs/risingwave/blob/main/java/pom.xml#L387-L410. For style setting you can refer to https://github.com/risingwavelabs/risingwave/tree/main/java/tools/maven
You can run mvn spotless:apply in the java folder to format the code.

We already have our format plugin, which is exactly the one added in this PR. Currently we use the version 2.27.1. If there is no special reason, we prefer retaining the current version. Our current plugin is set in https://github.com/risingwavelabs/risingwave/blob/main/java/pom.xml#L387-L410. For style setting you can refer to https://github.com/risingwavelabs/risingwave/tree/main/java/tools/maven
You can run mvn spotless:apply in the java folder to format the code.

thank you，closing


Initial implementation of EspalomaChargeToolkitWrapper and tests

[x] GH CI is set up
[x] EspalomaChargeToolkitWrapper.assign_partial_charges(offmol) test is implemented and passes
[x] offmol.assign_partial_charges('espaloma-am1bcc', toolkit_registry=EspalomaChargeToolkitWrapper()) test is implemented and passes
[x]  offmol.assign_partial_charges('espaloma-am1bcc') test is implemented and passes
[x]  forcefield.create_interchange test is implemented and passes
[x]  forcefield.create_openmm_system test is implemented and passes

Ok, this seems to be running so I'll turn it over to you @yuanqing-wang! Check out the tests to see how to make a force field that calls this charge method during system/interchange creation :-)
Some notes:

The OpenFF toolkit only really supports conda installation, and installing both this and OFFTK ends up double-installing RDKit using both conda and pip. The CI I added in this PR just does conda for everything and then does pip install . --no-deps for espaloma_charge. So the install instructions with OFFTK may need to be a bit different.
There's a dependency issue using python 3.10 on mac so that should be taken out of the CI, and maybe mentioned in the docs.
I can't reproduce my local issues (M1 macbook air) on the GitHub CI, despite following identical steps. Whenever I run a local environment for the first time my computer slows down a lot and my audio stutters (even with Zoom closed). Then pytest cryptically fails with a % as output. So there may be gremlins around OFFTK+espaloma on apple silicon.
I'm out of time today so I haven't put in tests for OpenFF-optional-ness. The CI for that may be as straightforward as not installing openff-toolkit and then skipping test_toolkitwrapper in pytest. Implementation-wise, two options to make OFFTK optional could be lazy-importing the EspalomaChargeToolkitWrapper or moving all the OFFTK imports into the EspalomaChargeToolkitWrapper class.
Right now this requires making an EspalomaChargeToolkitWrapper at some point, for example ToolkitRegistry([RDKitToolkitWrapper, EspalomaChargeToolkitWrapper]). We're looking at some slicker options like this and this, but those wouldn't be any fewer lines of code and both are private right now.
This is provided "as is" - Molecule.to_rdkit should preserve atom order, and this assigns the charges back to the molecule in the order I get them from the charge method. Feel free to bang around/test it more - I provide no warranty on this work!

Yup! I think that would work well.


Inability to search any local and cloud file and folder

Description of the Bug
The most crucial and most required feature in a file manager is the ability to search files and folders isn't working.
The search button as of now is grayed out which means that we can't any local and cloud file and folder. Please put local and cloud search functionality soon. It should be at least stable and more responsive than the new Windows Search that since Windows 10 (19h2) version 1909 build 18363.
Expected behavior
This must search not just local files and folders but also cloud files and folders as well like OneDrive and Google Drive.

OS: Windows 10 (20h1) version 2004 build 19041.331
Other release codename: "vb_release"
App version: v0.11.0

Search has not been implemented yet. We're tracking this issue in #333.

Merging with #333.


Handling duplicated job

Since the worker will be running every night, there will be a situation where the worker might have scraped the existing job in the db. How do we address this?

Using the job provider's primary key #38
The logic for the scraper would work something like this:

Fetch html
Parse html
Loop through each job and parse the job Id and company Id from the url using regex
Pass it to the JobService.UpdateJobs() method
Service will perform the logic to update

Loop through jobs
If job id already exist, update entry
If not exist, insert new job
Copy company to company hash map
end job loop
Loop through company hash map
If company exist, update entry
If not exist, insert entry
finish

Job and Company object includes the provider's job and company ID.
Still need to implement JobService to handle update/insert logic.


Support for copy and paste of infrastructure specific alert conditions.

Summary
Feature should do backup of infrastructure specific conditions and restoration of them across multiple NR accounts with POST and PUT request.
Desired Behavior
Feature should update the existing infrastructure condition or create the new one if applicable.
export NEW_RELIC_ONE_AC=""
&
export NEW_RELIC_ANOTHER_AC=""
Usage: $(basename "$0") --fromoneacpolicyid="" --toanotheracpolicyid=""
Possible Solution
A shell script or any utility as such.
NOTE: will be raising a PR for such issue as have one working shell script to use.
Additional context
Migration of such conditions were the requirement.
NOTE: another pull request should allow us to modify the parameters/attributes of the conditions based on where its getting copied to.

Infrastructure alert support using Python was added in https://github.com/newrelic-experimental/nr-account-migration/pull/14/.

Thank you @bpeckNR for implementing this :-)


Export PhosphorIcon type

Hi, I'd like to ensure a PhosphorIcon is being passed as a prop, but unfortunately this type isn't exported by phosphor-vue.
What I'd like to do is this:
const props = defineProps<{
  label: string;
  icon: PhosphorIcon;
}>();

And then render with something like this:
    <component
      :is="icon"
      :size="20"
      :width="20"
      :weight="isActive ? 'fill' : 'regular'"
    />

Would exporting the PhosphorIcon type make sense?

I'll have a look if we can implement something like that.

Would love this too

just ran into this issue... would be awesome


Intercept http status codes

Hi,
I would like to intercept the 401 status code and redirect to a login page. An idea on how to do?
thanks

Hi Mickael
You need to add an interceptor for responseError. Here's an example:
var $http = require('$http');
var q = require('q');

$http.interceptors.push({
    responseError: function(rejection) {
        if (rejection.status === 401) {
            return q.reject(new Error('You are not authorized.'));
        }
        return rejection;
    }
});

Great! Thank you very much for the quick answer
Still about $http, how to pass parameters to moduleConfig.headers (eg Authorization' token)?

moduleConfig comes from the standard way of defining configuration for a module in RequireJS. You can read more about that here.
In your case you would have to add something like this to your RequireJS configuration:
requirejs.config({
    //...
    config: {
        'app/application': {
            modules: [
                //-inject:modules
                //-end-inject
            ]
        },
        // Using $http (the alias) here will not work!!
        'app/shared/http': {
            headers: {
                Authorization: 'Bearer AbCdEf123456'
            }
        }
    }

Since you are interested in setting an Authorization token, you can access $http.defaults.headers directly and set the required headers.
You may also use a request interceptor. For instance:
$http.interceptors.push({
    request: function(config) {
        config.headers.Authorization = 'Bearer AbCdEf123456';
        return config;
    }
});

Each user has a token !
In my case, i have to use a request interceptor
thank you for your availability


AutoNewlines set through MarkdownOptions replaces EOL with <br instead of

What steps will reproduce the problem?

If you set up markdown and then pass an option, things work swimmingly. But if
you pass in markdownoptions, not so much. I've inspected the code and nothing
jumps out at me on what might be wrong.

     [Test]
        public void TestAutoNewlinesVersusMarkdownOptions()
        {
            var markdown = new Markdown();
            markdown.AutoNewLines = true;
            var markdownWithOptions = new Markdown(new MarkdownOptions
                {
                    AutoNewlines = true,
                });

            Assert.AreEqual("
Markdown with options set separately
\nworks without issue
\nso this is good.
\n",
               markdown.Transform(@"Markdown with options set separately
works without issue
so this is good."));
            Assert.AreEqual("
Markdown set with MarkdownOptions
\nhas issues
\nbut it should not.
\n",
                markdownWithOptions.Transform(@"Markdown set with MarkdownOptions
has issues
but it should not."));

What is the expected output? What do you see instead?
Instead of "
", it replaces with "<br "

What version of the product are you using? On what operating system?

Anything SINCE the last release on nuget.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 1 Jan 2015 at 2:03

Set EmptyElementSuffix = " />"  manually if you use MarkdownOptions or Config file(AppSettings)
new MarkdownOptions
{
     EmptyElementSuffix = " />"
});


TypeError: null is not an object (evaluating '= this.hiddenInput_.value = token')

everytime I use navigate! I get the following error entry in the browser console:
TypeError: null is not an object (evaluating '= this.hiddenInput_.value = token') history.js:899
update_ history.js:899
check_ history.js:871
setHistoryState_ history.js:682
setToken history.js:621
(anonymous function) core.js:316
bide$core$_navigare core.js:16

it does not break things, but clutters the console output.
it seems that this 'hiddenInput' thing is specific to goog.History
Is there a reason why bide does not use goog.HTML5History?

html5 is not used by default just because it mutates directly the url (not the uri fragment), that implies that if the user refreshes the page will get the 404 response unless the server is properly configured to return the "index.html" on all uris.
On the other hand, would be awesome have the ability to switch the implementation for users that want/need to use html5 history.
However, this error is pretty strange, I'm using bide in many projects and don't notice similar exceptions in console.

in this pull request for pushy https://github.com/kibu-australia/pushy/pull/21/commits/88cbb28ff5ad4ce9c06df2efbaa60f8e40608188 fragment support is added for HTML5History, so it does not seem impossible
an alternative would be to split-off the history part (make bide only for routing) and let users decide if they want to use History or HTML5History by using an add-on (such as pushy)?
regarding the error,  it could be that my browser (qutebrowser) is old (webkit engine). I'll try with webengine, if the error does not show up there I rename this issue to HTML5History suppport :)

tested with qutebrowser-webengine: same errors show up in the console.
the errors in the console seem to popup only when changing the query part of the url using navigate!

I have pushed on master (and 1.3.0-SNAPSHOT) with html5 support. It can be enabled passing :html5 true to the opts to start! function. From now, bide uses Html5History instead of History for all cases (with and without fragment).

works, error in console is gone!


[Grader] Add individual timeout feature

Hi,
For grading assignments offline easily (without commenting-out code by-hand if some test enters in an infinite recursion…), it was important for us to have a feature of "individual timeout" (i.e., if a test case exceeds a specified amount of time, the grader still terminates but marks the test case as failed).
After some research on ways to achieve this in OCaml, I implemented the solution gathered in this PR (which relies on #4):

it relies on Unix signals,
the relevant part of the code is here,
and it was inspired by this section of the online book Developing applications with Objective Caml.

The current limitation of this PR is that it won't necessarily work with js_of_ocaml... (I only tested it in batch mode with autograde-ocaml, by using a -timeout option that is disabled by default.)
So I guess one could either refine this PR to make it work with js_of_ocaml as well, or merge this PR as-is and add some js_of_ocaml support of individual timeout in a separated PR?
But I'm afraid I couldn't do this extension myself since I'm not js_of_ocaml-savvy enough for the moment.
Kind regards,
Erik

(Just rebased this PR as well to fix the conflict with src/grader/grader_cli.ml)

Hm, this is not easy to implement reliably: as you mentionned, signals will only work on the offline version, but another concern is that OCaml only catches signals at allocation points: if the student were to write a loop that doesn't allocate (e.g. let rec f () = f ()), the alarm signal would actually not be able to interrupt it. See e.g. https://ocaml.github.io/ocamlunix/signals.html#sec86 for details.
I'll check if lwt can help here in any way, but it's not likely to make things simpler (esp. since it's purely cooperative by default).

Hi @AltGr

another concern is that OCaml only catches signals at allocation points: if the student were to write a loop that doesn't allocate (e.g. let rec f () = f ()), the alarm signal would actually not be able to interrupt it.

I don't know for the online/jsoo side, but AFAICT this PR does work to interrupt functions that do no allocation in offline mode, I've just tested it on a similar example… Indeed according to this thread post referring to OCaml's doc, signals should work in this no-allocation case with the byte-code flavor of OCaml (not the native-code one). So this is a good news because the learn-ocaml evaluator is built upon the byte-code interpreter :-)
But regarding the online version, I just didn't check if Unix.alarm is supported in js_of_ocaml. I guess not. And as you suggest, Lwt won't probably bring a solution for that…
To sum up, it would be great if this feature can be implemented in both offline and online modes, but IMHO even if this feature can only be supported in the offline version (which is very important due to the impossibility to finely grade manually a student's function that loops on some test-cases, as one can just comment-out the function, which is somewhat unsatisfying…) but not in the online mode, it is not an issue from the student's perspective, as he/she still has the opportunity to change the code and trigger the grading again.

(note: actually, timeout is already handled in the JS workers, so has to give a good return to students who write an infinite loop)

@AltGr
Thanks!

(note: actually, timeout is already handled in the JS workers, so has to give a good return to students who write an infinite loop)

You're right: there was already a similar feature on the jsoo side... which is indeed sufficient for the students to detect and avoid writing infinite loops :)
(The main difference w.r.t. this PR was just that the jsoo feature provides a "global timeout" while the CLI feature provides "individual timeouts at test-case level")


1.0 -> 2.0 Transition Guide suggested addition - events option removed

I just upgraded an app from 1.0 to 2.0 and a mention that the events option is gone would have helped. It's implied but not obvious.

I don't see it pushed to the live site but the commit looks spot on.

Good to hear! It should now be updated btw. I redeploy the site several times per day, but usually only after a batch of changes rather than after each individual commit, as I sometimes like to make further changes after a PR is merged.

Yes, I see it there now.
BTW, thanks for the great work you and the rest of the team are doing on Vue.js!

@davidkhess It's made easier with lots of help. 😃  Thanks for contributing!


Add password visibility toggle

Make these changes in signup, login and change password [profile fragment].

@iamanantshukla Assign me this task, will get it done in no time. I'm a full stack developer

Please Assign me this, it won't take me much time

Go to the contrihub website and request for that issue.
On Tue, 4 Oct 2022 at 21:48, abhishekpatil4 @.***>
wrote:

@iamanantshukla https://github.com/iamanantshukla Assign me this task,
will get it done in no time. I'm a full stack developer
—
Reply to this email directly, view it on GitHub
https://github.com/ContriHUB/Hemo/issues/7#issuecomment-1267249834, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AOJHKID5E5ULSNIUILH5AOTWBRKD7ANCNFSM6AAAAAAQZBPJKM
.
You are receiving this because you were mentioned.Message ID:
@.***>


Bikeshed strips-out SVG namespaces causing validation issue

There's an inlined SVG in the Bikeshed source: https://github.com/w3c/sensors/blob/9335c1f/index.bs#L735-L800.
Here's what it renders to with the latest release of Bikeshed (5eac41affc3976771f238ed8f80db1c877b65b40): https://gist.github.com/tobie/d4a0e43cc7781fec2daa933674d099f5
And here's the validator error I get when trying to publish with echidna: https://validator.w3.org/nu/?doc=http://owl.w3.org//916cf371-4630-491c-abd6-c663b65e6bbd/Overview.html (echidna error).
It seems BIkeshed strips out the namespace part of the attribute.

  A namespaced tag or attr name is expressed as {http://example.com/}foo in the tree, rather than anything remotely sensible, so I just throw away the entire namespace part, since it's virtually never needed, and I can't actually reconstruct the namespace without doing some extra shenanigans (manually figuring out where a namespace declaration is, outputting it correctly, then tracking where that url is used in namespaced names and outputting the desired namespace name).
That said!  You never need namespace declarations in HTML.  The SVG-in-HTML parser ignores them entirely, and just looks for attributes that have the literal ns-prefix "xlink".  So you can just drop that xmlns:xlink attribute entirely.

That worked. Thanks!! :)


DPDK 21.08在vmware 里面 编译错误

root@retina:~# uname -a
Linux retina 6.5.0-26-generic #26~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Mar 12 10:22:43 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

root@retina:~# cat /etc/issue
Ubuntu 22.04.4 LTS \n \l

会报：
ar: `x' cannot be used on thin archives.

使用 dpdk-stable-21.11.6 不会

Hi! Could you provide more context? Which command produces the error you mentioned? This looks like a problem not really related to Retina tough. If you have problems installing DPDK, you might try to check the DPDK mailing list.


Add controller interface for each SPOD controller

What type of PR is this?
/kind cleanup
What this PR does / why we need it:
We add a new interface Controller
(internal/pkg/controller/controller.go), which has to be fulfilled by
every SPOD controller. This allows to simplify the implementation in
main.
Which issue(s) this PR fixes:

None
Does this PR have test?
None

Special notes for your reviewer:
None
Does this PR introduce a user-facing change?

None

/lgtm