Socket.io bot

Basic socket.io implementation with express.
Configuration

address (optional)
port (optional)

Notes

Tags user and channel with socket id.
event for incoming messages is "incoming", bot messages are on "message". So basically the client would emit a message with "incoming" and listens to "message" to get a reply.

Todos

[x] basic implementation
[x] some configuration
[ ] use socketio rooms as channels
[ ] a way to remember users
[ ] a more sofisticated way of using socketio events
[ ] documentation

@JacerOmri Are you still working on this?

@peterswimm i'm waiting for any kind of feedback before making other changes.

What kind of feedback will help you move forward? I'd love to see this completed, but am not a Socket.io user myself.

This PR is superseded by https://github.com/howdyai/botkit/projects/5
@jacerOmri would love your input!


Listen for Validation Errors....

I have the following:
Align(
                alignment: Alignment.centerLeft,
                child: ReactiveStatusListenableBuilder(
                    key: Key('FieldC'),
                    formControlName: 'yesno',
                    builder: (_, control, __) {
                      return InputDecorator(
                        decoration: InputDecoration(
                          border: InputBorder.none,
                          errorText:  control.invalid
                              ? 'Required'
                              : null,
                        ),
                        child: Column(
                          crossAxisAlignment: CrossAxisAlignment.start,
                          children: [
                            HtmlWidget(
                             'Question #1,
                              textStyle: const TextStyle(height: 1.5),
                            ),
                            const SizedBox(
                              width: 10,
                            ),
                            Row(
                              children: [
                                ReactiveRadio(
                                  key: Key('YField'),
                                  formControlName: 'yesno',
                                  value: true,
                                ),
                                const Text('Yes'),
                                ReactiveRadio(
                                  key: Key('NField'),
                                  formControlName: 'yesno',
                                  value: false,
                                ),
                                const Text('No'),
                              ],
                            ),
                          ],
                        ),
                      );
                    }),
              )

I have this setup because I start with the value as null with neither control set since we require them to actively select either the yes or no.. However with the control.invalid it shows the error on load.. I'd like it to not show the error until the Submit button is pressed where I run form.markAllAsTouched(); if form isn't valid.. I haven't found a control values combination that will do this.  Any suggestions on how to accomplish this?
BTW this is a great plugin. Thanks for all your hard work on it.. Julian..

Hi @JulianSwales
If a FormControl is require and it's value is null then it is invalid.
The Reactive Widgets will show validation messages when it is invalid and touched (default behavior) but you can change that behavior.
In this documentation you can read about how to change that behavior.
Please let us know if you have more questions.


Allow for streaming video but not autoplay ("tap to play" mode)

Done! It will also show the play button if autoplay was disabled by the WiFi setting


Add Product Migration Testing Feature

This PR aims to automate the testing process of the migration client of wso2 Identity Server when migrating between different product versions,database versions and OS versions. By automating the migration client test execution, we can significantly reduce the overhead and effort involved in manual testing.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Support client certificate authentication Elasticsearch Storage

Currently Zipkin uses OKHTTP client to connect to ES Storage.  Its built using builder in zipkin2.autoconfigure.storage.elasticsearch.ZipkinElasticsearchOkHttpAutoConfiguration#elasticsearchOkHttpClient. However, it ignores keystores loaded by -Djavax.net.ssl.keyStore parameter, making it impossible to authenticate using client certificate.
So far I managed to bypass this problem by adding builder.sslSocketFactory((SSLSocketFactory) SSLSocketFactory.getDefault());, so that everything looks like that:
  @Bean
  @Qualifier("zipkinElasticsearchHttp")
  @ConditionalOnMissingBean
  OkHttpClient elasticsearchOkHttpClient(
      @Value("${zipkin.storage.elasticsearch.timeout:10000}") int timeout) {
    OkHttpClient.Builder builder =
        elasticsearchOkHttpClientBuilder != null
            ? elasticsearchOkHttpClientBuilder
            : new OkHttpClient.Builder();

    for (Interceptor interceptor : networkInterceptors) {
      builder.addNetworkInterceptor(interceptor);
    }

    builder.sslSocketFactory((SSLSocketFactory) SSLSocketFactory.getDefault());
    builder.connectTimeout(timeout, TimeUnit.MILLISECONDS);
    builder.readTimeout(timeout, TimeUnit.MILLISECONDS);
    builder.writeTimeout(timeout, TimeUnit.MILLISECONDS);
    return builder.build();
  }

however I'm not sure if it's a full solution.

It looks like OkHttp should already configure this by default with our configuration.
We don't change the default TLS modes and therefore would hit this block of code: https://github.com/square/okhttp/blob/master/okhttp/src/main/java/okhttp3/OkHttpClient.java#L257...L259
I'm not sure the mechanisms this loader supports for X509 but you should be able to configure it in the way supported by OkHttp

OKHttp configures only trustmanager verifying server certificates, but it does not configure keystore.
Thats related with https://github.com/square/okhttp/issues/1711#issuecomment-377132486.

@adriancole I can contribute, but I don't fully understand Your point.
Should autoconfiguration rely on javax.net.ssl.keyStore JVM variable, application property, or something else?

https://github.com/openzipkin/zipkin/tree/master/zipkin-server#using-a-custom-key-store-or-trust-store-ssl


Is there a way to set the total count in prior while using u8views tool

For example i was using another tool(https://komarev.com)  for few years and my profile view count is 4200+ , i want to remove it and add u8views tool .
in this tool there is a way (https://github.com/antonkomarev/github-profile-views-counter?tab=readme-ov-file#base-number)
Is there any way to do it in u8views ?
one thing that differentiates u8views from others is you have a history record of profile views with respect to dates i want to have it

Currently not supported yet.

thanks for the info


Orchestrator: ftrace buffer read unaligned for sched_wakeup

Example from rtvm machine,6.1.77-rt24
[950683.122985057] type=320 flags=2d preempt=0 pid=0
    comm=migration/1 pid=22 prio=0 success=2949440 target_cpu=001
[950683.122986665] type=318 flags=1 preempt=0 pid=0
    prev_comm=swapper/1 prev_pid=0 prev_prio=120 prev_state=0 ==> next_comm=migration/1 next_pid=22 next_prio=0
[950683.122988299] type=318 flags=1 preempt=0 pid=22
    prev_comm=migration/1 prev_pid=22 prev_prio=0 prev_state=1 ==> next_comm=swapper/1 next_pid=0 next_prio=120

success contains 2949440, which is 320 + 2d, the data for a new frame start. Something is not right here—it could also be a general kbuffer alignment/drop issue.

bfca4a0

tested on 6.6, ok


Identity not working in IE

I have problem getting Identity to work in IE (11) it works fine in Chrome. The [Authorize] attribute allways throws me back to login, alltough the login is successfull and the cookies are set in the browser. Except for testing with my own project I have also the same problem with sample project i.e ShawnWildermuth's project on PluralSight
We are running 3.0.0-rc1-final
Is this a known IE issue or can I have som “missconfiguration” ?

Cookie problem, when I cleared the cookie in IE it started working. Obviously some garbage in the cookies


[WAITING ON FINAL NAMES] GC Notify - Update all login links to production environment

User Story
As a student, if I receive an email notification that requires me to log in to SIMS it should provide me the link to the production environment.
Acceptance Criteria

[ ] Update all student applications to ensure the log in links are pointing to the correct place.

##This might be something that we just do on our end vs through dev cycle

Adding dependency on OCP routes - this will create the URLs to be used in PROD.

Closing - I've updated all of the current templates to include the new addresses for login links.


Is this what the training should look like ?

Hi I have been training the model for two days now on 2 x V100 GPUs 32 GB. This is what the output at my terminal looks like. Can you comment on if the training is going in the right direction? I see some losses increasing here. Also how many epochs is the training suppose to last for?

The training looks good. In your screenshot, isn't the loss generally decreasing (some losses are negative)? You can monitor the training process using tensorboard or wandb.
The default max_epoch is set to 64, but you can adjust those training hyperparameters, as it seems that your batch size is current set to 8.

How long will the model training last if  I use the 8 NVIDIA 3090? thank you~

How long will the model training last if I use the 8 NVIDIA 3090? thank you~

Two days I think.


Model.predict accepts tensors of incorrect rank

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Colab (Ubuntu 18.04)
TensorFlow installed from (source or binary): Colab
TensorFlow version (use command below): v2.4.1-0-g85c8b2a817f 2.4.1
Python version: 3.7.10

Describe the current behavior

When defining a model with tf.keras.Input(shape=[1]), model.predict should only accept a tensor of shape [batch,1], but it incorrectly accepts a tensor of shape [batch] (and appears to reshape it to [batch, 1]).
When defining a model with tf.keras.Input(shape=[2]), model.predict should only accept a tensor of shape [batch,2], but it incorrectly accepts a tensor of shape [1, batch, 2]. The erroneous extra dimension is retained in the value returned by model.predict.

(These two bugs feel closely related, which is why I'm reporting them together. If not, I can file two separate issues.)
Describe the expected behavior
When defining a model with tf.keras.Input(shape=[d1,d2,...,dn]), model.predict should only accept a tensor of shape [batch,d1,d2,...,dn]. All other shapes should raise an exception.
Standalone code to reproduce the issue
The issues are shown in this Colab notebook.
Other info / logs
If this is expected behavior, it should be documented here. It is not. And I hope it is not expected behavior.

@ymodak
I ran the code shared on tf 2.4 and tf-nightly, please find the gist here.


Add Document rotation

I added a rotation parameter to the current code to rotate the page. When the page is rotated, the document is reloaded to draw the screen again. This ensures that the correct document size is displayed after the page is rotated.

Please understand the code structure and please keep such UI related code change on widget codes only.

By the way, why the rotation is document level parameter?
For what purpose do you want to do such thing?

Another head-ache with the page rotation is text selection (#4) that I've been working on...

I tried several methods of page rotation, but it wasn't until I saw the demo page provided by pdf.js that I realized that it rotated the entire document after rotation. After some investigation, I found that I had to tell it the current rotation angle when adding a page. The PDFium test also seems to be the same. I think it should be possible to rotate a part of the page. I will look into how to handle it better. Thank you for your reply.

Page rotation may be easily implemented on widget side.
So, in my opinion, such rotation can be done within PdfViewer widget. No lower layer should handle such UI side thing.
If I implement the rotation, I will do:

Add document level (or page level) rotation angle in PdfViewerParams
Update layout logic in _PdfViewerState._layoutPages
Update drawing logic in _PdfViewerState._customPaint


[FLINK-32576][network] ProducerMergedPartitionFileIndex supports caching regions and spilling regions to file

What is the purpose of the change
ProducerMergedPartitionFileIndex supports caching regions and spilling regions to file when the cache is too large
Brief change log
Reuse the classes HsFileDataIndexSpilledRegionManager and  HsFileDataIndexCache to cache or spill the ProducerMergedPartitionFileIndex.
Note that the option taskmanager.network.hybrid-shuffle.spill-index-segment-size is renamed because the static class Segment in HsFileDataIndexSpilledRegionManagerImpl is renamed to RegionGroup.

[commit 1] Introduce FileRegionManager to support writing a region to file or reading a region from file
[commit 2] The region index introduces Region generics to replace the original InternalRegion to achieve cache and spilling regions to files
[commit 3] ProducerMergedPartitionFileIndex supports caching regions and spilling regions to file when the cache is too large

Verifying this change

This change can be covered by the exist tests HsFileDataIndexSpilledRegionManagerImplTest, HsFileDataIndexCacheTest, ProducerMergedPartitionFileIndexTest.
Added tests in HsRegionWriteReadUtilsTest to verify the writing or reading of the base region.

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not documented)

@flinkbot run azure

@xintongsong @reswqa Thanks for helping review the change.


Remove outdated remark

No longer limited to search depth of 3, since it's using SearchOption.AllDirectories, modified in a45ece4f8a19d88411a095d286668d34b3c2b71b

/azp run mrtk_docs


How to get host specific information in the events. (Mainly IP of a machine)

Hi,
I am looking for the host information when some event occurred on any particular host. IP or hostname of the machine where this event occurred. Currently I don't see any rule where we are actually gathering host IP. Something like k8s.node.
Current setup:
We are running falco as a daemonset and we are looking both host and container based detection.
Thanks,
Ranjith

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle rotten

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Provide feedback via https://github.com/falcosecurity/community.
/close

@poiana: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Provide feedback via https://github.com/falcosecurity/community.
/close

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


"You'd will see" -> "You will see"

Just updating the wording because it sounded strange.

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

Reviewed editorial correction.


fix: make type marker a comment

This ensures that when in non edit mode, the type marker is not visible.
https://github.com/OGKevin/obsidian-kobo-highlights-import/issues/91

https://github.com/OGKevin/obsidian-kobo-highlights-import/pull/107#issuecomment-1886984245


add service linker sample

Description
Please add an informative description that covers that changes made by the pull request and link all relevant issues.
If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[ ] I have read the contribution guidelines.

General Guidelines and Best Practices

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

you probably need to update eng/common/scripts/Test-SampleMetadata.ps1. I am not familiar with this check.


Bump EC2 AMI

Our default EC2 AMI is out of date, we should update it.

I just deployed Amazon EC2 cluster by using EC2 node driver on rancher:master-head 077fbf6.
I was using a Node Template for the cluster where I basically just selected region us-east-2 and kept the AMI field empty.
Once the cluster was provisioned the VMs were using a corresponding ubuntu 20.04 AMI ami-02fc6052104add5ae for us-east-2 region according to the PR above ... reflink
I'm not sure if this is a problem but the link under the AMI field in the Node Template wizard https://github.com/rancher/os/blob/master/README.md/#user-content-amazon is pointing to another images (for us-east-2 region shows ami-004259f4c48585992 which is rancheros-v1.5.8-hvm-1 from 02/2021).

@thehejik That is expected. That link will point to the RancherOS AMIs

When using the same approach as in https://github.com/rancher/rancher/issues/31708#issuecomment-815040675 on rancher:v2.5-head 93d921f the very same public image ami-02fc6052104add5ae ~ ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-20210325 is used.
All good, closing.


Add controlplane health endpoint

Recently added to Compute.

This lives under API in SE2 so, closing.


Gardener v1.7.0 seems to be breaking the extension-provider-aws v.1.10

How to categorize this issue?

/area usability
/kind bug
/priority normal
What happened:  Latest gardener-extension-provider-aws seems not to be able to build when gardener v1.7.0 is vendored in.
What you expected to happen: I expected the provider extension to build well against the latest release of g/g.
How to reproduce it (as minimally and precisely as possible):

Clone g-extension-provider-aws.
Following changes in the go.mod:

replace (
	github.com/gardener/gardener => github.com/gardener/gardener v1.7.0
...
)

make revendor
make start
Following error is seen:

pkg/controller/worker/machines.go:231:11: invalid indirect of dataVolumes[i].Name (type string)
pkg/controller/worker/machines.go:231:34: invalid indirect of dataVolumes[j].Name (type string)
pkg/controller/worker/machines.go:235:40: cannot use vol (type "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1".DataVolume) as type "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1".Volume in argument to computeEBSForVolume

Not sure though, if it's specific to my local setup.
Anything else we need to know?:

Environment:

Gardener version: v1.7.0
Kubernetes version (use kubectl version): NA
Cloud provider or hardware configuration: aws
Others:

See https://github.com/gardener/gardener-extension-provider-aws/pull/129 for example as adaptation.

/close


Security Patch: Upgrade org.apache.logging.log4j:log4j-api to version 2.15.0

Details
CVE-2021-44228
critical severity
Vulnerable versions: < 2.15.0
Patched version: 2.15.0
Log4j versions prior to 2.15.0 are subject to a remote code execution vulnerability via the ldap JNDI parser.

Same issue detected - update to 2.16.0

Same issue detected - update to 2.17.0


Fixed the ComponentDefinitionCollectionValidator to validate AuthenticationPolicyDefinitions

Many thanks for submitting your Pull Request :heart:!
What this PR does / why we need it:

Fixes the ComponentDefinitionCollectionValidator to validate AuthenticationPolicyDefinitions

@bvandewe FYI


"None" check to prevent error

Hi team --
I was having issues running cci task run update_admin_profile after I specified page layout config per #3243:
Traceback (most recent call last):
  File "/usr/local/py-utils/venvs/cumulusci/lib/python3.10/site-packages/cumulusci/cli/cci.py", line 91, in main
    cli(args[1:], standalone_mode=False, obj=runtime)
  File "/usr/local/py-utils/venvs/cumulusci/lib/python3.10/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/py-utils/venvs/cumulusci/lib/python3.10/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/usr/local/py-utils/venvs/cumulusci/lib/python3.10/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/py-utils/venvs/cumulusci/lib/python3.10/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/py-utils/venvs/cumulusci/lib/python3.10/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/py-utils/venvs/cumulusci/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/py-utils/venvs/cumulusci/lib/python3.10/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/py-utils/venvs/cumulusci/lib/python3.10/site-packages/cumulusci/cli/task.py", line 181, in run_task
    task()
  File "/usr/local/py-utils/venvs/cumulusci/lib/python3.10/site-packages/cumulusci/core/tasks.py", line 172, in __call__
    self.result = self._run_task()
  File "/usr/local/py-utils/venvs/cumulusci/lib/python3.10/site-packages/cumulusci/tasks/metadata_etl/base.py", line 171, in _run_task
    self._transform()
  File "/usr/local/py-utils/venvs/cumulusci/lib/python3.10/site-packages/cumulusci/tasks/metadata_etl/base.py", line 339, in _transform
    transformed_xml = self._transform_entity(tree, unquoted_api_name)
  File "/usr/local/py-utils/venvs/cumulusci/lib/python3.10/site-packages/cumulusci/tasks/salesforce/update_profile.py", line 224, in _transform_entity
    self._set_record_types(tree, api_name)
  File "/usr/local/py-utils/venvs/cumulusci/lib/python3.10/site-packages/cumulusci/tasks/salesforce/update_profile.py", line 295, in _set_record_types
    if elem.find("recordType").text == rt["record_type"]:
AttributeError: 'NoneType' object has no attribute 'text'
> /usr/local/py-utils/venvs/cumulusci/lib/python3.10/site-packages/cumulusci/tasks/salesforce/update_profile.py(295)_set_record_types()
-> if elem.find("recordType").text == rt["record_type"]:

After digging, I realized that when Extracting Existing Metadata, the xml extraction included a layoutAssignments where layout was defined, but NOT recordType:
<layoutAssignments>
        <layout>CustomObject__c-My Layout</layout>
</layoutAssignments>

This proposed change adds a "None" check.

@rygramer-usds Are you able to sign the CLA? I know this PR is old (my apologies for delay!) but I would like to merge it.


Remove Trailing Quotation Mark from Actions Cache Key

🗣 Description
This PR removes a trailing quotation mark from the lint job's actions/cache key. It also removes the trailing newline (\n) added by switching to the block scalar format (|).

💭 Motivation and Context
in #59 the value for the actions/cache key was changed to use the pipe form for block scalars, but in the process the ending quotation mark was not removed.

🧪 Testing
I confirmed that the key being used by the action no longer has a trailing quotation mark.
Last Merged PR Run
https://github.com/cisagov/skeleton-generic/runs/1419430869?check_suite_focus=true#step:4:6
key: lint-Linux-\
  py3.9.0-\
  4d6c2ba2786097c74dca7abc3707d576242350073cf738b69537399d20cd487c-\
  c2a90360b9139caea83bba3d7e2739e350b7e3aa53efe7922108b2b44325c3ee-\
  ac3b46e98deceeb8fd1f101d93a2b45598b68a7975471a0d63d052e0b2f20ca8"

restore-keys: lint-Linux-\

Last apb Run
https://github.com/cisagov/skeleton-generic/runs/1381786531?check_suite_focus=true#step:5:6
key: lint-Linux-py3.9.0-4d6c2ba2786097c74dca7abc3707d576242350073cf738b69537399d20cd487c-c2a90360b9139caea83bba3d7e2739e350b7e3aa53efe7922108b2b44325c3ee-9ff6996b601c7d804757a92c10ff7756d543bded97848e5705c3034c17535606
restore-keys: lint-Linux-py3.9.0

Latest Run for This PR
https://github.com/cisagov/skeleton-generic/runs/1425159070?check_suite_focus=true#step:4:6
key: lint-Linux-\
  py3.9.0-\
  4d6c2ba2786097c74dca7abc3707d576242350073cf738b69537399d20cd487c-\
  c2a90360b9139caea83bba3d7e2739e350b7e3aa53efe7922108b2b44325c3ee-\
  ac3b46e98deceeb8fd1f101d93a2b45598b68a7975471a0d63d052e0b2f20ca8
restore-keys: lint-Linux-\

✅ Checklist

[x] This PR has an informative and human-readable title.
[x] Changes are limited to a single goal - eschew scope creep!
[x] All relevant type-of-change labels have been added.
[x] I have read the CONTRIBUTING document.
[x] These code changes follow cisagov code standards.
[x] All new and existing tests pass.

This PR is closed in favor the revamp in https://github.com/cisagov/skeleton-generic/pull/62.


Create pcli plan to generate a transaction plan from either a tx command invocation or an intent

I don't think we should implement a separate command modality for pcli to do planned execution; a simpler method, if we needed one, to achieve delayed or deferred execution would be to add a --plan argument to an existing pcli tx subcommand. But I'm not sure that there's an important use case there yet.


New feature for client side prevention of unwanted multiple form submissions

As this is quite a hot topic (https://github.com/yiisoft/yii2/issues/10498#issuecomment-253542255, https://github.com/yiisoft/yii2/issues/12803 and more) its a good a idea not to wait too long with solutions. Many hours can be wasted to solve the problem and it is more complex than you would think at first hand.
The problem of this topic is the following:

people are submitting a form twice, either by double click or because they dont think anything is happening. This can lead to a significant amount double data in your DB.

There are many perspectives to tackle this problem from both serverside and clientside. From clientside, many people try to fix this with disabled buttons. However, disabling will not always prevent a submission. Multiple events can still be triggered, executing the submission anyway.
Another solution is a solution in which a 'ghost' button is used. This one is created on the fly and has the same CSS as its brother. This brother has no functionality and no events attached to it. You can click what you want but its just clicking on a 'useless' dummy. Depending on your configuration:

you can keep the ghost active for a few seconds
you can display a 'disabled' design
a special label like 'Submission in progress' or the well known 'please wait...'

I have a first version of this solution ready. Its a draft which has not been in production yet. Mabye it already works perfectly, maybe it doesnt, so be advised. Of course, please share improvements.
$('.btn-primary').on('click', function (e) {
    var $button = $(this);
    if ($button.data('brother') == undefined) {
        var $brother = $(document.createElement($button[0].tagName));
        $brother.html('Please wait...');
        $brother.attr('disabled', true);
        $brother.addClass('disabled');
        $brother.addClass($button.attr('class'));
        $brother.hide();
        $brother.insertAfter($button);
        $button.data('brother', $brother)
    }else{
        var $brother = $button.data('brother');
    }

    if ($button.css('display') !== 'none') {
        $brother.show();
        $button.hide();
        setTimeout(function () {
            $brother.hide();
            $button.show();
        }, 1000);
    }
});

With respect to installing this script. You only need to have this one installed once so I have 1 asset  (SubmitOnceAsset) implementing this script and this asset is loaded through a dependency in my app\common\Asset.php

Haven't tried this yet, but pretty sure this:
$brother.insertAfter($button);
Should be:
$brother.after($button);
There is an insertAfter but it seems by your code you need the after version :)
Also, the value of $brother seems inconsistent...
Here:
var $brother = $(document.createElement($button[0].tagName));
You are setting it to an element, but here:
var $brother = $button.data('brother');
You are setting it to a string value.
Lastly, this bit:
$button.data('brother', $brother)
At this point, as noted above, $brother is set to an element, but you're setting the value of the data type there so it should be a string. :)

Haven't tried this yet

You should. I am not posting a non-working version here ;)

No, I meant I haven't tried the version you posted yet; just made my observations :)

Now I'm update code from #12814 using this solution (brother button)
This is my worked solution
    $('.jsBeforeSubmitFormBtn').click(function(){
        var $this = $(this);
        var $next = $this.next();
        if($next.hasClass('jsBeforeSubmitFormBtnBrother')) {
            $brotherBtn = $next;
        } else {
            $brotherBtn = $this.clone();
            $brotherBtn.attr('type', 'button');
            $brotherBtn.addClass('jsBeforeSubmitFormBtnBrother');
            $brotherBtn.removeClass('jsBeforeSubmitFormBtn');
            $brotherBtn.insertAfter($this);
            $brotherBtn.attr('disabled', 'disabled');
            $brotherBtn.prepend('<i class="glyphicon glyphicon-refresh"></i> ');
        }
        $this.hide();
        $brotherBtn.show();
    });
    $('.jsBeforeSubmitFormBtn').parents('form').on('afterValidate', function (event, messages, errorAttributes) {
        if(errorAttributes.length > 0) {
            $('.jsBeforeSubmitFormBtn').show();
            $('.jsBeforeSubmitFormBtnBrother').hide();
        }
    });

Spinner and some styles
.jsBeforeSubmitFormBtnBrother {
    cursor: progress;
}
.jsBeforeSubmitFormBtnBrother .glyphicon{
    -webkit-animation: glyphicon-spin 2s infinite linear;
    animation: glyphicon-spin 2s infinite linear;
}

@wartur, thanks for sharing. Nice to see the similarities in this example.
One thing thats left to discuss is how to install this kind of script in an application.
We don't want to add .jsBeforeSubmitFormBtn to all of the buttons so you want a site-wide allocation with a generic CSS selector. IMO the most logical thing to put this locic is inside a SubmitOnceAsset with configuration options for the

selector
icons
animations
etc

@dynasource this is just by business solution. I do not think about deep architechure feaches.
If this need to do as framework architecture solution, I think (not holywar) what moust usefull is use some js code attached via class (as I to do in my busintess sulution).
That button need to have next feaches (via data attributes):

changed text
disable as prop or not (or just handle other click)
addons with animation or not
changed color
some custom callback

=============
RUS:
Это просто мое бизнес решение. Я особе не задумывался над некой архитектурой.
Если это делать как архитектурное решение, то мое мнение (не холиварю), что удобнее всего сделать такой функционал через подключаемый класс кнопки. Дополнительные же данные передавать через data-параметры, среди них:

изменяемый текст
установление disable или без его установки (например использовать просто перехват кликов)
устанавливать аддоты к кнопкам с анимациями (спиннерами)
изменение цвета кнопки
возможно добавить некий коллбэк для произвольной кастомизации

If using jquery how about .one() click function ?

@muhammadcahya I think that would only be useful if you were using jQuery to submit the form in the first place; on regular submissions it wouldn't do anything since you aren't binding any submit events to the button.

perhabs its even better to make this a vanilla script. Not every app uses jquery.

Currently I'm using this approach on my projects:
// Handles beforeSubmit event (after all validations have passed)
jQuery('form.prevent-double-submit').on('beforeSubmit', function(event){
    if(jQuery(this).data('submitting')) {
        event.preventDefault();
        return false;
    }
    jQuery(this).data('submitting', true);
    return true;
});

http://stackoverflow.com/a/926863

just experienced a jQuery version is also not to be preferable in high traffic websites in which jQuery is left out.


Can't use "complex_memory"

Whenever I try to use the extension https://github.com/theubie/complex_memory
With oobabot it fails

Interesting.  Which extension fails, complex_memory, oobabot or both?  If oobabot, is there an error message that it prints?  If not, could you please describe the behavior you're seeing?

https://hastebin.skyra.pw/qojakucari.wren
I don't know what I changed with oobabot but it seems to work now
Though I can't use complex_memory with it as whenever I try to add a keyword and context it just errors

And now I've gotten complex_memory working but it only works in the webui not over discord


Fix commutation of classical controls

Fixes #4870

Does this also fix issues with optimizers and decompose ?

I can't make a blanket statement, but most optimizers should either use commutes protocol or circuit.append, and those would be fixed.
I'm not aware of an issue with decompose.

Running the test snippet from #4870 it looks like the measurements are still hopping over one another and the simulation is breaking. Am I missing something ?
q = cirq.LineQubit.range(2)
c = cirq.Circuit(cirq.H(q[0]), cirq.measure(q[0], key='m'), cirq.X(q[1]).with_classical_controls('m'))
print(c)

cirq.SynchronizeTerminalMeasurements().optimize_circuit(c)
print(c)
cirq.Simulator().simulate(c)

Ah, I didn't realize it's an inplace transformer, so the test I added doesn't do anything. Changing my test to after=circuit.copy() repros the problem.
Anyway, that whole transformer has major issues. It doesn't handle multi-qubit measurements either. The following breaks:
def test_multi_qubit():
    q0, q1 = cirq.LineQubit.range(2)
    circuit = cirq.Circuit(
        cirq.measure(q0, q1, key='m'), cirq.H(q1)
    )
    assert_optimizes(before=circuit, after=circuit.copy())

That said, I made the same error in the alight_right test, and after fixing the test, it turns red again. This time the problem is just that Moment._control_keys_ is not defined. Pushing a fix for that in a sec.

I'll add some extra tests to the commutes protocol before merging.


Openwhisk incompatibility problem!!

Hello I just find a bug in Openwhisk, when someone creates a zip function containing main.py plus  txt files runs fine - but if the zip contains h5 file, the function hangs. Also I want to say that there are not any other files in zip (just using main.py) and the h5 which affecting the function. The concept is that I created a neural network model (format .h5)with tensorflow and Keras I save it and I made it zip with main.py functions (including docker with ml libraries). When I am trying to invoke the action the OS is not responding and I got none response. Any experience how to handle that?

I don't think this is actionable - one way to debug this is to run the container directly for your runtime:
for example (if your image is called actionloop-php-v7.3)
> docker run -d -p 8080:8080 actionloop-php-v7.3
> /path/to/openwhisk/tools/actionProxy/invoke.py init your-zip-file.zip
> /path/to/openwhisk/tools/actionProxy/invoke.py run '{"your":"json"}'

you can pass parameters from a file - see invoke.py's help.
I hope this helps.


An ST effect for Steel, a sub effect beneath the full selector effect

Following discussions with @aseemr and @tahina-pro
Steel.ST.ST is an effect for Steel programs meant for use when not using selectors.
Its requires/ensures clauses are just propositions or result predicates, resp., with no heaps in scope.
This results in much more compact VCs when not using selectors ... fitting a "pay for what you use" model.
I expect to also provide an analogous ST version of SteelGhost / SteelAtomic.
This is meant as a basis for further discussion and also intended as a way in which both the selector framework and non-selector based libraries can peacefully coexist.
In particular, ST programs can be lifted to Steel.
And Steel programs can be coerced to ST, when their req/ens does not mention the heap.
It also provides a point in the effect hierarchy by which to organize the libraries. For example, libraries providing indexed vprops would in general offer an API based on ST. Whereas those that are selector based would offer a Steel API.

I've added ST versions of atomic and ghost.
I haven't added any sub_effects aside from STBase ~> SteelBase.
Though there are coercions from Steel to ST, from SteelAtomic to STAtomic, and SteelGhost to STGhost.
I have provided ST interfaces to references, ghost references, arrays, spin locks, monotonic refs, and loops. That should provide a fairly complete baseline of libraries that can be used to program with ST. Though I didn't remove any existing SteelT functionality in the libraries. I currently rely on those libraries to provide Steel.ST implementations. Perhaps in the long run, we should implement things directly in ST when we can, rather than implementing it in Steel and then abstracting to ST.
We might consider adding some more sub effect relations based on discussions about relaxing sub-effect coherence conditions.


Facing issue with SwipeCellkit pod when building rocketchat ios in swift 4.1 , xcode 4.1

You are not compiling with Swift 4.1. Double check that plz.


change the title?

This is a great resource. I had an incredibly difficult time finding it again in my search history because of the title, "Opening up ChatGPT" because I was looking for something that alluded to comparison of LLM models on their open-source characteristics.  Think you might improve discoverability by being more explicit there.
Thanks for the resource!

Thank you! The repo title is a shortened version of the full paper title:

Opening up ChatGPT: Tracking openness, transparency, and accountability in instruction-tuned text generators
https://dl.acm.org/doi/10.1145/3571884.3604316

Do you mean the repo might also benefit from that longer title?


Address panics found by using fuzzing described in PR#29

This PR addresses additional panics found when fuzzing using the fuzzer added in PR #29.  It does not address all panics but those that I was able to find and fix within the time I had available.
Note that the fuzzer continues to find a new panic immediately upon launch.
Once #29 has landed, the following command will run the fuzzer.
go test -fuzz '^FuzzNewPacket$' github.com/gopacket/gopacket/layers

I have a private copy of the repo that I'm currently fuzzing. Not counting what was submitted in these 2 PRs,  I've addressed about 80 panics and 1 memory issue. If you let me know how you'd like them submitted (one big PR, 1 PR per file, etc) I can open PR(s) once the process is finished.

Closing this PR, I will open new PRs as requested.


.csv and .csv.ods reported as clashes

A .csv file, when opened in google drive creates a new google documents file. e.g.
text.csv
test.csv of type google sheets
These are reported as clashes. A pull operation could instead take account of the document type and safely download:-
test.csv
test.csv.ods

Hello there @berni421, thank you for reporting this and welcome to drive.
So that's a weird bug remotely on Google Drive that I too have experienced where it duplicates files. However, I don't think drive should be concerned with trying to auto-ignore different file types on a name clash, because a name clash itself is two or more files with the same path. There are ways of resolving clashes, rename, as well fix-clashes.
You can also pull and export on specific files by file-id
IMO this is working as intended. Closing it, please reopen if you think otherwise. Thanks.


[BUG] Unexpected behavior when CheckpointSaver's parameter max_history is 1

Describe the bug
When the parameter max_history in the CheckpointSaver.py is set to 1, the checkpoint is saved for each epoch.
To Reproduce
Steps to reproduce the behavior:
import torch
import timm
from timm.utils import CheckpointSaver

model = timm.models.xception()
optimizer = torch.optim.Adam(model.parameters())

saver = CheckpointSaver(model, optimizer, max_history=1)
saver.save_checkpoint(0, metric=0.5)
saver.save_checkpoint(1, metric=0.5)
saver.save_checkpoint(2, metric=0.6)
saver.save_checkpoint(3, metric=0.7)
saver.save_checkpoint(4, metric=0.8)
saver.save_checkpoint(5, metric=0.7)

Expected behavior
The checkpoint of each epoch will be saved.
Screenshots

Desktop (please complete the following information):

OS: Ubuntu 18.04
This repository version [e.g. pip 0.3.1 or commit ref]
PyTorch version w/ CUDA/cuDNN  [e.g. from conda list, 1.7.0  py3.8_cuda11.0.221_cudnn8.0.3_0]

Additional context
Add any other context about the problem here.

@chenshen03 thanks, I'll look at this soon, it is supposed to work but it's not something i've tested.

@chenshen03 thanks, I'll look at this soon, it is supposed to work but it's not something i've tested.


Upgrade provenance to use our Cosmos-SDK fork's v0.46.0-pio-1-rc2.

Bump Cosmos-SDK to v0.46.0-pio-1-rc1 (from v0.45.5-pio-1).

A couple issues were found with rc1. They were fixed and are now in rc2. So now that's the goal of this ticket.
Fixes:

222: Create the authz GetAuthorization function
223: Create IMsgServiceRouter interface and baseapp.SetMsgServiceRouter function

I've currently got it pulling in a local wasmd that has been updated to use Cosmos v0.46. But that's just a draft PR and isn't tagged yet or anything.
The issue: https://github.com/CosmWasm/wasmd/issues/927
The Draft PR: https://github.com/CosmWasm/wasmd/pull/930
We might have to pull that into our own wasmd fork and tag it so we can start moving forward.

Okay. I've got most of the unit tests ironed out. There's still a couple stragglers, and then one giant mess with the msg fees antehandler. Cosmos moved a lot of stuff around and as I've got things now, it looks like things are sometimes being charged twice. I'll have to really dig in and see how our stuff meshes with the new stuff and what changes need to be made.

In our fork of wasmd, I copied the draft PR branch from https://github.com/CosmWasm/wasmd/pull/930 and created branch prov/v0.28.0-w-sdk-0.46.0 from it, and tagged it as v0.28.0-pio-1-rc1. That will let us at least move forward without everyone needed a local copy of that.

Needed to inject history and update swagger. So rc4 was cut.

There was a bug in the wasmd version where contract instantiation would cause an overflow with gas calculation. There's a version from notional-labs that is being used by the community since 0.46 sdk isn't officially supported
source: https://github.com/CosmWasm/wasmd/pull/938
project status: https://github.com/CosmWasm/wasmd/issues/941


Use created_at of the unpublishing for unpublished_at date

This changes how the unpublished_at date of a withdrawn document is found. Previously we were using the updated_at of the edition, which has the potential to change (most obviously through a bulk changing data migration). By using the created_at of the unpublishing, this date remains stable even if the editions change.
See individual commits for more details. Once this is merged, I will republish all the withdrawn documents where the updated_at doesn't match unpublishing.created_at.
Trello Card ・ Zendesk Ticket

I think we should at a bit more documentation around given_unpublishing_at, as it's unclear why this is introduced here, instead of just looking up the unpublishing, or passing the ID of it. From memory, I think this is because the unpublishing hasn't always been saved when this code is called (can't remember from where, though). I think it would help someone else reading this.

Actually the main reason I did it like this was to avoid an unnecessary database query when in all cases the caller of this worker (either directly or through Sidekiq) has already looked up (or just created) the unpublishing instance. Although I think you're right that sometimes the unpublishing object isn't yet in the database. It's not necessarily how I would design the worker, but it does follow the existing pattern with the explanation variable that again just comes direct from the unpublishing object.
Anyway, I've amended the commit with a comment explaining where the arguments come from - is that what you were thinking?


devel to main release

Overall Review of Changes:
Large number of issues merged
workflow updates
templates inheritance
pre-commit available
lint updates
Issue Fixes:

thanks to @bgro

#25

thanks to @FaisalAli92

#27

thanks to @twadelij

#32

thanks to @zac90

#30
#31
#33
#35
#36
#37
#39
#40
#41
#42
#43
#44
#45
#53
#54
#55

thanks to @rspataru

#50

PR
Thanks to @treyperonne for the PR #29 integrated to this PR
Update to the issue #13 improvements to the prelim checks
Enhancements:
section 5.4 tags updated
.ansible-lint updated
improvements to 5.5.4 for umask
Updates to workflow now using centralised config
templates removed as inherited from org
legacy workflow files removed
lint file updates
readme updates to badges and layout
added secrets-baseline in preparation for pre-commit
readme tidy up
How has this been tested?:
Manually

pipeline will fail due to missing files for workflow


Various updates to the live form

An element removed, javascript behavior changed, and select options changed.

There's merge conflicts here, can you resolve and then I can merge?

Resolved!

thanks!


Spin tracing

Implements spin-blocking for up to CCSDTQ for UHF rather than spin-orbital implementations. Presumably everything should work for EOM as well, but this is as yet untested

@ncrubin if you have a chance, please check the python parts I've modified. All of the old tests pass, so I don't think I've broken anything by adding spin labels


setTimeout fallback update

update setTimeout fallback

What is the advantage of this change, in your opinion?

As for the Promise and MutationObserver  branch，there is no need to take the two args when timerFunc invoked


Passing in state of 0s into solveMPC()

Hi Alex, just wondering about this line in the fullsize branch, specifically on the (x0 - 1.0*x0) term. Doesn't this just make all the states 0?
https://github.com/alexliniger/MPCC/blob/302e12a0546221963dc2430477e54a279532c52d/C%2B%2B/MPC/mpc.cpp#L238
And why does it work even though every single state that is passed into solveMPC() is 0?

The fullsize branch uses a proper SQP formulation where the optimization variable is the difference to the linearization point. Thus, at the zero time step where the linearization point is the measurement x0, instead of having a constraint that the state should be identical to the measured state, we need a constraint the the first "differential state" optimization variable is zero.
If i find time i will update the readme.
Best,
Alex


Allow HiveLocalStorage to accept custom directory path

Is your feature request related to a problem? Please describe.
Hive.initFlutter() is used in the default local storage in supabase_flutter. It uses the directory obtained with getApplicationDocumentsDirectory(), so the data is stored in the document folder on windows. I don't think it is a suitable place for app data. (I haven't checked on other platforms.)
Besides that, in desktop apps, I'd like to store the session data for debug build in another place and for release build in the same directory as the executable. It'll be great if it is possible to specify the directory.
Describe the solution you'd like
https://github.com/supabase/supabase-flutter/blob/ce2056f0804d152f65546ddcb843ae6f5c54b7a3/lib/src/local_storage.dart#L64-L71
class HiveLocalStorage extends LocalStorage {
  const HiveLocalStorage({this.directory})
      : super(
          initialize: _initialize,
          hasAccessToken: _hasAccessToken,
          accessToken: _accessToken,
          removePersistedSession: _removePersistedSession,
          persistSession: _persistSession,
        );

  final String? directory;

await Supabase.initialize(
  url: 'SUPABASE_URL',
  anonKey: 'SUPABASE_ANON_KEY',
  localStorage: const HiveLocalStorage(directory: 'path/to/dir'),
);

The property name may be other then directory, like path or directoryPath.

@dshukertjr  I think we should generally switch to Application Support(https://pub.dev/packages/path_provider#supported-platforms-and-paths), because current Application Documents stores the auth hive box on linux in $HOME/documents/auth/.., which I think is VERY strange.
I've already written a migration code in my own application, which I could reuse for this package.

@Vinzent03 How would the migration script work? Maybe we can do it for v2.0
https://github.com/supabase/supabase-flutter/issues/287

@dshukertjr
import 'dart:io';

import 'package:hive/hive.dart';
import 'package:path/path.dart' as path;
import 'package:path_provider/path_provider.dart';

Future<void> migrateAndInitHive() async {
  if (!kIsWeb) {
    final supportDirPath = (await getApplicationSupportDirectory()).path;
    final documentsDir = await getApplicationDocumentsDirectory();

    if (!await Directory(supportDirPath).exists()) {
      await Directory(supportDirPath).create();
    }

    // If the old location exists, we start looking for old DB files to copy.
    if (await documentsDir.exists()) {
      final filesToCopy = <File>[];

      await documentsDir.list().forEach((event) {
        final extension = path.extension(event.path);

        // If the item is a file and has an extension of .hive, add it and the
        // matching .lock file to the copy array.
        if (event is File && extension == '.hive') {
          filesToCopy.add(File(event.path));

          filesToCopy.add(File('${path.withoutExtension(event.path)}.lock'));
        }
      });

      await Future.wait(filesToCopy.map(
        (e) => e
            .copy(path.join(supportDirPath, path.basename(e.path)))
            .then((_) => e.delete()),
      ));
    }
    Hive.init(supportDirPath);
  }
}
``

@dshukertjr Do we want to provide the option to override the default hive box location? I mean, it's already possible by copying the HiveLocalStorage and just changing the path.
@kaboc Yeah that is correct. My script moves all hive files. We need to adapt it to only move files from this package.

Do we want to provide the option to override the default hive box location? I mean, it's already possible by copying the HiveLocalStorage and just changing the path.

Agree. I don't think we need to provide the option when the users can already achieve it themselves.

My issue is that all the methods of HiveLocalStorage are private. It prevents me from overriding only the _initialize() method, so I have to copy the entire class to customise only a small portion of it to use a different path, which is why I filed this issue.
I'm fine even if the improvement is not considered worthwhile as I can still achieve what I want to do although it is a bit tedious. It may be better to change the title in that case.

I just noticed the weird style. @dshukertjr Why are all these methods not actually methods, but properties from the abstract class and set via constructor?
@kaboc You would need to override the other methods as well, because the box is opened in every method.
Since we don't plan to make the box path configurable, I think we can close this issue. I'll add the application support directory to #287.

Why are all these methods not actually methods, but properties from the abstract class and set via constructor?

What is your alternative suggestion here?

@Vinzent03

because the box is opened in every method.

I don't really get it. The box is opened in _initialize(). The method is assigned to the initialize property of the super class, and it appears that the property is called only from Supabase.initialize(). Why is the box opened "in every method"?

It prevents me from overriding only the _initialize() method

I had a misunderstanding about it. _initialize() is a static method, so it's not possible to override it. How about changing LocalStorage to have public instance methods without body? @dshukertjr
const hiveBoxName = 'supabase_authentication';

abstract class LocalStorage {
  Future<void> initialize();
  Future<bool> hasAccessToken();
  Future<String?> accessToken();
  Future<void> removePersistedSession();
  Future<void> persistSession(String persistSessionString);
}

class HiveLocalStorage implements LocalStorage {
  const HiveLocalStorage();

  static String? encryptionKey;

  @override
  Future<void> initialize() async { ... }

  @override
  Future<bool> hasAccessToken() { ... }

  ...
}

This way, the issue of the strange structure Vinzent mentioned is resolved, and it also becomes possible to configure the path.

CustomHiveLocalStorage (Click to open)
class CustomHiveLocalStorage extends HiveLocalStorage {
  const CustomHiveLocalStorage({this.path});

  final String? path;

  @override
  Future<void> initialize() async {
    if (path == null) {
      super.initialize();
    } else {
      _initializeWithCustomPath();
    }
  }

  Future<void> _initializeWithCustomPath() async {
    HiveCipher? encryptionCipher;
    final encryptionKey = HiveLocalStorage.encryptionKey;
    if (encryptionKey != null) {
      encryptionCipher = HiveAesCipher(base64Url.decode(encryptionKey));
    }

    Hive.init(path!);
    await Hive.openBox(hiveBoxName, encryptionCipher: encryptionCipher);
  }
}

Oh you are right. The box init with its path is in initialize. I just saw that the box is called in every method by its name, which is a private property, but you can keep that as it is of course.
Your code is exactly what I meant. The classic OOP abstract class overriding.

Close this as we plan to introduce some fixes around Hive storage in the next major version.


featureinfoOptions examples layout

This looks a bit weird, dont know if it is deliberate?

Oh no...
I guess something doesn't like five of # before the title, or is it something else?

But it looks good in content > settings.md though:

Oh, that looks better

Fixed


Default value for icy-name of a radio

Some radio do not provide icy-name: or empty/blank name in headers and so there is no name information on the TFT screen.
Could be better to use as default value for icyname the information in the comment field of the corresponding preset line as default value for icyname (and keep this default value if the header icy-name: is empty or only space)
Example of a radio giving blank icy-name:
streaming.radio.rtl.fr/rtl-1-44-128

Will be included in the next release.

Great
Thank you


Implement proper (temporary) token based authentication

Currently the basic authentication mechanism is likely not very secure, needs to be enhanced by giving out (temporary) session token that can be revoked, as well as proper CSRF etc.

Maybe using OIDC?

OpenID maybe at some point, although honestly for a single-user system I'm not sure that's super helpful. I've now implemented authentication with JWTs, and added some CSRF as well, which should be a big improvement already.


Fix of some UEFI related issues

Description
This PR fixes
1 - fix of attaching/detaching ISO of VM with UEFI boot type, which was introduced in #4773
2 - if the OS type of an ISO is categorized as "Other", the bus type of the disk
will be set to "SATA" because we don't know what OS is behind "Other".
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[X ] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[X ] Minor
[ ] Trivial

How Has This Been Tested?
manual tests with CentOS8 and Windows 10 ISOs

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: centos7 :heavy_check_mark: centos8 :heavy_check_mark: debian. SL-JID 157

@blueorangutan test matrix

@shwstppr a Trillian-Jenkins matrix job (centos7 mgmt + xs71, centos7 mgmt + vmware65, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests

Trillian test result (tid-843)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 45695 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr5072-t843-kvm-centos7.zip
Intermittent failure detected: /marvin/tests/smoke/test_kubernetes_clusters.py
Smoke tests completed. 86 look OK, 1 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File

test_01_invalid_upgrade_kubernetes_cluster
Failure
3626.33
test_kubernetes_clusters.py

test_02_deploy_and_upgrade_kubernetes_cluster
Failure
3605.69
test_kubernetes_clusters.py

test_03_deploy_and_scale_kubernetes_cluster
Failure
0.05
test_kubernetes_clusters.py

test_04_basic_lifecycle_kubernetes_cluster
Failure
0.05
test_kubernetes_clusters.py

test_05_delete_kubernetes_cluster
Failure
0.05
test_kubernetes_clusters.py

test_07_deploy_kubernetes_ha_cluster
Failure
0.12
test_kubernetes_clusters.py

test_08_deploy_and_upgrade_kubernetes_ha_cluster
Failure
0.04
test_kubernetes_clusters.py

test_09_delete_kubernetes_ha_cluster
Failure
0.07
test_kubernetes_clusters.py

ContextSuite context=TestKubernetesCluster>:teardown
Error
111.92
test_kubernetes_clusters.py

@harikrishna-patnala, yes, it was reverted. I spoke with @Pearl1594 that it was reverted while rebasing another PR

@Pearl1594 (or anyone else) have you tested this? Thanks.

@blueorangutan package

Packaging result: :heavy_check_mark: centos7 :heavy_check_mark: centos8 :heavy_check_mark: debian. SL-JID 186

@blueorangutan test

Trillian test result (tid-894)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 37390 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr5072-t894-kvm-centos7.zip
Intermittent failure detected: /marvin/tests/smoke/test_deploy_vms_with_varied_deploymentplanners.py
Intermittent failure detected: /marvin/tests/smoke/test_kubernetes_clusters.py
Intermittent failure detected: /marvin/tests/smoke/test_privategw_acl.py
Intermittent failure detected: /marvin/tests/smoke/test_hostha_kvm.py
Smoke tests completed. 87 look OK, 0 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File


Add UnusedResultReduceOpCanon pattern to AggressiveSimplification

This patch tries to simplify stablehlo.reduce operation with results that don't have any uses:
func.func @test(%arg0: tensor<8xi64>, %arg1: tensor<8xi64>) -> tensor<i64> {
  %0 = stablehlo.constant dense<1> : tensor<i64>
  %1 = stablehlo.constant dense<2> : tensor<i64>
  %2:2 = stablehlo.reduce(%arg0 init: %0), (%arg1 init: %1) across dimensions = [0] :
  (tensor<8xi64>, tensor<8xi64>, tensor<i64>, tensor<i64>) ->
  (tensor<i64>, tensor<i64>)
   reducer(%arg2: tensor<i64>, %arg3: tensor<i64>)
          (%arg4: tensor<i64>, %arg5: tensor<i64>)
  {
    %3 = stablehlo.add %arg2, %arg3 : tensor<i64>
    %4 = stablehlo.subtract %arg4, %arg5 : tensor<i64>
    stablehlo.return %3, %4 : tensor<i64>, tensor<i64>
  }
  return %2#0 : tensor<i64>
}

is simplified into the following once unused result %2#1 is removed:
func.func @test(%arg0: tensor<8xi64>, %arg1: tensor<8xi64>) -> tensor<i64> {
  %0 = stablehlo.constant dense<1> : tensor<i64>
  %1 = stablehlo.reduce(%arg0 init: %0) applies stablehlo.add across dimensions = [0] :
  (tensor<8xi64>, tensor<i64>) -> tensor<i64>
  return %1 : tensor<i64>
}

Current implementation is conservative i.e. it performs optimization iff number of live results of stablehlo.reduce matches number of operand pairs that are used to compute those results. This limitation ignores the following case:
  (a, a1) (b, b1) (c, c1)
    ▴       ▴       ▴
    │       ├──────►│
    │       │◄──────│
    │◄──────┼───────┤
    │       │       │
    r0      r1      r2
            U

to compute

r0 we use (a, a1)
r1 we use (b, b1) and (c, c1)
r2 we use (a, a1), (b, b1) and (c, c1)

number of live results |{ r1 }| = 1
number of operand pairs to compute live results |{(b,b1), (c, c1)}| = 2
In theory we can remove r0 with (a, a1), but that invalidates r2 computation. At the same time r2 is not live and
could be substituted with any value, such as 0. The latter assumes that stablehlo.reduce does not directly modify its operands in place (who knows how users lower this operation for their hardware).

Hi Michael, thanks for sending a PR!
Naively, this feels like something that MLIR should be able to do? Unfortunately I got a segfault when I tried to run the example you gave with stablehlo-opt -remove-dead-values, so maybe there is a bug in that pass or in some of our code. Maybe there's some interface we can implement to tell MLIR how the op operands/results map to the region operands/results so we can lean on MLIR for the DCE?

Hi Michael, thanks for sending a PR!
Naively, this feels like something that MLIR should be able to do? Unfortunately I got a segfault when I tried to run the example you gave with stablehlo-opt -remove-dead-values, so maybe there is a bug in that pass or in some of our code. Maybe there's some interface we can implement to tell MLIR how the op operands/results map to the region operands/results so we can lean on MLIR for the DCE?

It tends out that this indeed can be done using RegionBranchOpInterface and RegionBranchTerminatorOpInterface interfaces, but not in all cases. From first look these interfaces do not provide a way to somehow manipulate deletion process of non-live values. RemoveDeadValues was probably designed to handle "scalar" like operations?. This assumption is somewhat supported by the presence of patterns like RemoveUsed* in SCF.cpp for if and while operations.
click to open git diff
diff --git a/stablehlo/stablehlo/dialect/StablehloOps.cpp b/stablehlo/stablehlo/dialect/StablehloOps.cpp
index 3cc68c5ff..4661af330 100644
--- a/stablehlo/stablehlo/dialect/StablehloOps.cpp
+++ b/stablehlo/stablehlo/dialect/StablehloOps.cpp
@@ -1569,6 +1569,27 @@ LogicalResult ReduceOp::reifyReturnTypeShapes(
   return success();
 }

+OperandRange ReduceOp::getEntrySuccessorOperands(RegionBranchPoint point) {
+  assert(point == getBody() &&
+         "ReduceOp is expected to branch only to the first region");
+  return getOperands();
+}
+
+void ReduceOp::getSuccessorRegions(
+    RegionBranchPoint point, SmallVectorImpl<RegionSuccessor> &regions) {
+  // If the predecessor is the ReduceOp, branch into the body.
+  if (point.isParent()) {
+    regions.emplace_back(&getBody(), getBody().getArguments());
+    return;
+  }
+
+  regions.emplace_back(getResults());
+}
+
+bool ReduceOp::areTypesCompatible(Type lhs, Type rhs) {
+  return getElementTypeOrSelf(lhs) == getElementTypeOrSelf(rhs);
+}
+
 //===----------------------------------------------------------------------===//
 // OptimizationBarrierOp
 //===----------------------------------------------------------------------===//
diff --git a/stablehlo/stablehlo/dialect/StablehloOps.td b/stablehlo/stablehlo/dialect/StablehloOps.td
index 77d8fb4b1..8b854d534 100644
--- a/stablehlo/stablehlo/dialect/StablehloOps.td
+++ b/stablehlo/stablehlo/dialect/StablehloOps.td
@@ -20,6 +20,7 @@ limitations under the License.
 include "mlir/Dialect/Shape/IR/ShapeBase.td"
 include "mlir/IR/OpBase.td"
 include "mlir/IR/SymbolInterfaces.td"
+include "mlir/Interfaces/ControlFlowInterfaces.td"
 include "mlir/Interfaces/InferTypeOpInterface.td"
 include "mlir/Interfaces/SideEffectInterfaces.td"
 include "mlir/IR/OpAsmInterface.td"
@@ -1433,6 +1434,8 @@ def StableHLO_AllToAllOp : StableHLO_Op<"all_to_all",

 def StableHLO_ReduceOp: StableHLO_ShapedInterfaceOp<"reduce", [
       RecursiveMemoryEffects,
+      DeclareOpInterfaceMethods<RegionBranchOpInterface,
+        ["getEntrySuccessorOperands", "areTypesCompatible"]>,
       SameVariadicOperandSize /*reduce_c3*/,
       InferTensorTypeWithReify /*reduce_c7, reduce_c8*/,
       SingleBlockImplicitTerminator<"ReturnOp">
@@ -2958,7 +2961,7 @@ def StableHLO_ReduceWindowOp: StableHLO_Op<"reduce_window", [
   // TODO(hinsu): Implement custom printer and parser.
 }

-def StableHLO_ReturnOp : StableHLO_Op<"return", [Pure, Terminator]> {
+def StableHLO_ReturnOp : StableHLO_Op<"return", [Pure, Terminator, ReturnLike]> {
   let summary = "Return operation";
   let summary = [{
     This operation is a work in progress, so it is not yet included in

Diff patch works on case from above, but fails on slightly modified version:
func.func @test(%arg0: tensor<8xi64>, %arg1: tensor<8xi64>) -> tensor<i64> {
  %0 = stablehlo.constant dense<1> : tensor<i64>
  %1 = stablehlo.constant dense<2> : tensor<i64>
  %2:2 = stablehlo.reduce(%arg0 init: %0), (%arg1 init: %1) across dimensions = [0] :
  (tensor<8xi64>, tensor<8xi64>, tensor<i64>, tensor<i64>) ->
  (tensor<i64>, tensor<i64>)
   reducer(%arg2: tensor<i64>, %arg3: tensor<i64>)
          (%arg4: tensor<i64>, %arg5: tensor<i64>)
  {
    %3 = stablehlo.add %arg2, %arg3 : tensor<i64>
    %4 = stablehlo.add %3, %arg5 : tensor<i64>
    %5 = stablehlo.subtract %arg4, %arg5 : tensor<i64>
    stablehlo.return %4, %5 : tensor<i64>, tensor<i64>
  }
  return %2#0 : tensor<i64>
}

with
within split at <stdin>:1 offset :4:26: error: Reduction-region must take 2 parameters, but takes 3 parameter(s)
  %2:2 = stablehlo.reduce(%arg0 init: %0), (%arg1 init: %1) across dimensions = [0] :

Perhaps it’s worth applying this patch too, just to prevent it from causing a segfault. What do you think?

Hi Michael, thanks for sending a PR!
Naively, this feels like something that MLIR should be able to do? Unfortunately I got a segfault when I tried to run the example you gave with stablehlo-opt -remove-dead-values, so maybe there is a bug in that pass or in some of our code. Maybe there's some interface we can implement to tell MLIR how the op operands/results map to the region operands/results so we can lean on MLIR for the DCE?

It tends out that this indeed can be done using RegionBranchOpInterface and RegionBranchTerminatorOpInterface interfaces, but not in all cases. At first glance, these interfaces don’t seem to offer a way to control the deletion process of non-live values. RemoveDeadValues was likely designed to handle operations that are more scalar in nature. This assumption is somewhat supported by the presence of patterns like RemoveUsed* in SCF.cpp for if and while operations.
click to open git diff
diff --git a/stablehlo/stablehlo/dialect/StablehloOps.cpp b/stablehlo/stablehlo/dialect/StablehloOps.cpp
index 3cc68c5ff..4661af330 100644
--- a/stablehlo/stablehlo/dialect/StablehloOps.cpp
+++ b/stablehlo/stablehlo/dialect/StablehloOps.cpp
@@ -1569,6 +1569,27 @@ LogicalResult ReduceOp::reifyReturnTypeShapes(
   return success();
 }

+OperandRange ReduceOp::getEntrySuccessorOperands(RegionBranchPoint point) {
+  assert(point == getBody() &&
+         "ReduceOp is expected to branch only to the first region");
+  return getOperands();
+}
+
+void ReduceOp::getSuccessorRegions(
+    RegionBranchPoint point, SmallVectorImpl<RegionSuccessor> &regions) {
+  // If the predecessor is the ReduceOp, branch into the body.
+  if (point.isParent()) {
+    regions.emplace_back(&getBody(), getBody().getArguments());
+    return;
+  }
+
+  regions.emplace_back(getResults());
+}
+
+bool ReduceOp::areTypesCompatible(Type lhs, Type rhs) {
+  return getElementTypeOrSelf(lhs) == getElementTypeOrSelf(rhs);
+}
+
 //===----------------------------------------------------------------------===//
 // OptimizationBarrierOp
 //===----------------------------------------------------------------------===//
diff --git a/stablehlo/stablehlo/dialect/StablehloOps.td b/stablehlo/stablehlo/dialect/StablehloOps.td
index 77d8fb4b1..8b854d534 100644
--- a/stablehlo/stablehlo/dialect/StablehloOps.td
+++ b/stablehlo/stablehlo/dialect/StablehloOps.td
@@ -20,6 +20,7 @@ limitations under the License.
 include "mlir/Dialect/Shape/IR/ShapeBase.td"
 include "mlir/IR/OpBase.td"
 include "mlir/IR/SymbolInterfaces.td"
+include "mlir/Interfaces/ControlFlowInterfaces.td"
 include "mlir/Interfaces/InferTypeOpInterface.td"
 include "mlir/Interfaces/SideEffectInterfaces.td"
 include "mlir/IR/OpAsmInterface.td"
@@ -1433,6 +1434,8 @@ def StableHLO_AllToAllOp : StableHLO_Op<"all_to_all",

 def StableHLO_ReduceOp: StableHLO_ShapedInterfaceOp<"reduce", [
       RecursiveMemoryEffects,
+      DeclareOpInterfaceMethods<RegionBranchOpInterface,
+        ["getEntrySuccessorOperands", "areTypesCompatible"]>,
       SameVariadicOperandSize /*reduce_c3*/,
       InferTensorTypeWithReify /*reduce_c7, reduce_c8*/,
       SingleBlockImplicitTerminator<"ReturnOp">
@@ -2958,7 +2961,7 @@ def StableHLO_ReduceWindowOp: StableHLO_Op<"reduce_window", [
   // TODO(hinsu): Implement custom printer and parser.
 }

-def StableHLO_ReturnOp : StableHLO_Op<"return", [Pure, Terminator]> {
+def StableHLO_ReturnOp : StableHLO_Op<"return", [Pure, Terminator, ReturnLike]> {
   let summary = "Return operation";
   let summary = [{
     This operation is a work in progress, so it is not yet included in

Diff patch works on case from above, but fails on slightly modified version:
func.func @test(%arg0: tensor<8xi64>, %arg1: tensor<8xi64>) -> tensor<i64> {
  %0 = stablehlo.constant dense<1> : tensor<i64>
  %1 = stablehlo.constant dense<2> : tensor<i64>
  %2:2 = stablehlo.reduce(%arg0 init: %0), (%arg1 init: %1) across dimensions = [0] :
  (tensor<8xi64>, tensor<8xi64>, tensor<i64>, tensor<i64>) ->
  (tensor<i64>, tensor<i64>)
   reducer(%arg2: tensor<i64>, %arg3: tensor<i64>)
          (%arg4: tensor<i64>, %arg5: tensor<i64>)
  {
    %3 = stablehlo.add %arg2, %arg3 : tensor<i64>
    %4 = stablehlo.add %3, %arg5 : tensor<i64>
    %5 = stablehlo.subtract %arg4, %arg5 : tensor<i64>
    stablehlo.return %4, %5 : tensor<i64>, tensor<i64>
  }
  return %2#0 : tensor<i64>
}

with
within split at <stdin>:1 offset :4:26: error: Reduction-region must take 2 parameters, but takes 3 parameter(s)
  %2:2 = stablehlo.reduce(%arg0 init: %0), (%arg1 init: %1) across dimensions = [0] :

Perhaps it’s worth applying this patch too, just to prevent it from causing a segfault. What do you think?

Thanks for looking into this! I think implementing RegionBranchOpInterface and RegionBranchTerminatorOpInterface would be a great place to start.
And if MLIR has explicit canonicalizations for If and While to remove unused values, it seems reasonable to me to do it here too. I'll review shortly.


Allow child nodes to have multiple parents on tree chart

What problem does this feature solve?
Currently, the framework only allows "name" and "children" to structure the tree.  However, there are cases that some children can have multiple parent.  The only way to show this relationship is to let the child appear twice (or many times depending on how many parents it has).  If the tree allow multiple parents for children, then the children won't have to appear many times in the chart.    That's how a true dendrogram should be.
What does the proposed API look like?
Instead of just having "name" and "children", please include an "id".  This id should allow children to attach to multiple parents.

"Tree" data structure doesn't allow multiple parents. You should use "graph" in this case.

But "graph" does not support hierarchical.  Also, the circular option will only align all nodes in circular.  There's no support for n-level circular graph.

Set the layout to be "none" and set x and y position for each node.

I am also having the same issue. My graph has about 1000 nodes and 2000 edges and I don't know how to calculate x and y for every node. Is there any example on how to do it?

+1 on this functionality. I agree that a "Tree" structure conceptually doesn't allow multiple parents but managing the x/y coordinates for every node, specially when dynamically adding nodes, is cumbersome. Allowing a "Tree" graph to share child nodes/leaves seems like the path of least resistance here but a 'hierarchy' layout option for a graph would also accomplish this.

+1 for me as well. Seems like an unnecessary limitation by the Highcharts team. Even though tree branches don't usually grow back together we are all pretty used to this when talking about Git branches.

+1 here as well. @Ovilia is there any hope on this?


New design layout to bring new Dashboard closer to release

This pull request contains changes to bring the design closer to a releasable state. We're focusing on bringing the design from a Skateboard to a Bike 🚀
As well as the design/front-end side, there are a few technical things to ensure works:

Make sure all data is dynamic
Make sure the code is in good shape
Ensure no big bugs

For the design, this pull request is for just the initial switch over to the new layout. We can merge this in once we're happy enough that this is a step forward. They'll be more commits/changes in the future so this doesn't have to hang around until release.

Codecov Report

Merging #2342 (b6258af) into main (4b26e60) will decrease coverage by 0.29%.
The diff coverage is 4.32%.

@@            Coverage Diff             @@
##             main    #2342      +/-   ##
==========================================
- Coverage   39.97%   39.68%   -0.30%
==========================================
  Files         607      612       +5
  Lines       23910    24062     +152
  Branches     4228     4245      +17
==========================================
- Hits         9559     9549      -10
- Misses      14351    14513     +162

Impacted Files
Coverage Δ

app/components/dashboard/v5/charts/engagement.js
4.54% <0.00%> (-0.59%)
:arrow_down:

app/components/dashboard/v5/charts/overview.js
2.85% <2.85%> (ø)

app/components/dashboard/v5/charts/mrr.js
3.27% <3.27%> (ø)

...p/components/dashboard/v5/charts/paid-breakdown.js
5.00% <5.00%> (ø)

app/components/dashboard/v5/charts/paid-mix.js
5.26% <5.26%> (ø)

app/components/dashboard/v5/charts/anchor.js
3.77% <16.66%> (+1.33%)
:arrow_up:

app/components/gh-html-iframe.js
45.45% <0.00%> (-38.64%)
:arrow_down:

app/helpers/gh-price-amount.js
70.00% <0.00%> (-20.00%)
:arrow_down:

app/components/gh-notification.js
95.45% <0.00%> (-4.55%)
:arrow_down:

app/components/gh-site-iframe.js
46.00% <0.00%> (-4.00%)
:arrow_down:

... and 10 more

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 4b26e60...b6258af. Read the comment docs.


[Frontend] Add add_special_tokens parameter to CompletionRequest

This PR enables specifying the add_special_tokens parameter in the OpenAI API Completions Endpoint. The default value for add_special_tokens is set to True, matching the HuggingFace Tokenizer, so it should not affect existing users.
FIX #xxxx (link existing issues this PR will resolve)
BEFORE SUBMITTING, PLEASE READ THE CHECKLIST BELOW AND FILL IN THE DESCRIPTION ABOVE

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

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

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

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

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

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

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

Actually, I already have a WIP PR #4028 that does this. See if @njhill can merge that one this week, otherwise I'll merge this PR.

I just merged the other one so will close this, but thanks for the contribution @jsato8094!


Windows Hidden System Tray, Popup obscured by Tray

Keybase GUI Version: 1.0.31-20170921162923+71e03df
Windows 10
Steps to reproduce

Open the Windows setting "Select which icons appear on the taskbar"
Make sure Keybase is set to off and "Always show all icons in the notification area" is not selected.
Launch Keybase.io
Click on the Windows tray, then click the Keybase icon
Note that the pop-up to interact with Keybase is behind the System Tray window.

Compare this to Microsoft OneDrive which opens a dialog above the Systems Tray area.

Also, even if you have the Keybase icon always showing, if you right-click the icon you get both the Keybase popup and the Taskbar context menu. Left-clicking the icon makes the Keybase popup flicker like it's being displayed twice.

I have the Keybase icon set to always showing and I also have the issue with the popup behind the taskbar. This is especially bad as I have my taskbar on the left side of the desktop (instead of default bottom), so I can't really use the GUI. When left-clicking, the popup doesn't flicker though.

Left-click: Popup behind taskbar
Right-click: Popup behind taskbar + taskbar context menu shows up (which shouldn't)

Also seeing this. My taskbar is left-aligned and the system tray obscures most of the Keybase UI. Removing focus closes the Keybase popup but not the system tray.

Can confirm this is an issue.

Tracked internally with DESKTOP-4289 and DESKTOP-4129


Edit outbound call routes is broken

So, after I created a call route and trying to edit it, the UI is not displaying the actual values

have you created more than one carrier?

have you created more than one carrier?

yes, but it can be reproduced even with 1 carrier

But you are still seeing the error "No available carriers"...hmm.  Have you created any outbound sip gateways for these carriers?

But you are still seeing the error "No available carriers"...hmm. Have you created any outbound sip gateways for these carriers?

yes

@xquanluu can you have a look?

I'm sorry that I cannot reproduce the issue.

I'm sorry that I cannot reproduce the issue. Could you please help to create new admin user and send it to my email<EMAIL_ADDRESS>


Possible need for unsets

When building new components, I might unexpectedly inherit a Calcite style I don’t immediately discover. Usually an extra margin on list elements or an underlines on links.
Would you have any guidance on when to overset or unset Calcite styles? Could there be something like an unset mixin to protect elements from accidental styles now or in the future?
As a possible aside, should hover not be such a global default? Alternatively, should pages using Calcite more generously accept the underline?
cc @hebikidesignworks

@jonathantneal an unset mixin is an interesting idea. So this would be something you can call that reverts all the styles?

I think you should be explicit with margin and padding on elements. We are unlikely to remove the padding or margin on lists as there are thousands of pages relying on that styling.
An unset mixin is an interesting idea, but wondering if it would be more work than it's worth.
Yes, after reading WCAG 2.0 guidelines for links I think we should accept the underline on links. Not sure why this didn't get noted in our a11y audit?

So overall, I think the takeaway is to reduce the styles we're adding for raw type elements. But we do want to have these styles remain consistent across browsers. Since I know that is a area of expertise for you, do you happen to know offhand if these different type elements are styled differently in different browsers?

Most of the raw html element styles that were problematic have been removed. I am going to close this as I think it's been largely addressed.


When I include map with ng-if, map broken on second click

Hello again.
I have small bug.

I initialize map in background using ng-if

Then I go to map, it shown.

Then I hide map (using ng-if state, of course)

And when I show map another time, it center in somewhere, not my value in center attribute.

You can try this bug on http://dev.rublevka.ru/#/buy/

Click to pin.

Check out map — markers correctly loaded in center.
Then click back to cards view

And then go map again and saw this bug.

This has been discussed several times. Unfortunately this is status quo of google map.  Please check this issue.
https://github.com/allenhwkim/angularjs-google-maps/issues/88

Closing, if you think we can solve this problem in a directive level, please let me know or send me a pull request.  By the way, you have a wonderful site.


Add Programming model documentation

This PR succeeds #3318 and builds on top of #3405, adds a single commit on top the doc reorg.

I took over this PR and fixed all the remarks I still had on the original PR, in a hopefully sensible manner, and will create new issues for the docs team for the rest
@jujiang-del please review and merge in Gerrit when appropriate

Merging to Gerrit
https://gerrit-git.amd.com/c/compute/ec/hip/+/1034056

Merging to Gerrit
https://gerrit-git.amd.com/c/compute/ec/hip/+/1034056

Closing, as this has been upstreamed via gerrit. Thanks!


⚠ deces.matchid.io search API has degraded performance

In a6f66bf, deces.matchid.io search API (https://deces.matchid.io/deces/api/v1/search?q=pompidou) experienced degraded performance:

HTTP code: 200
Response time: 4413 ms

Resolved: deces.matchid.io search API performance has improved in 34e7b1c.


E2K: added initial support of MCST Elbrus 2000 CPU architecture

Ref: https://en.wikipedia.org/wiki/Elbrus_(computer)

@freerdp-bot can you test that even if I doubt that you have a e2k test setup...

@r-a-sattarov please run git clang-format on your changes.

@freerdp-bot can you test, please.

@freerdp-bot test


Added infcover code coverage test executable to cmake test.

I modified infcover.c to compile with zlib-ng.
It fails on this test:
try("c c0 81 0 0 0 0 0 90 ff 6b 4 0", "invalid distance too far back", 1);
With inflateBack returning Z_BUF_ERROR.

Looks like it works with INFLATE_STRICT enabled.

Now I recompile zlib with INFLATE_STRICT and use it for infcover.

There is a problem with compiling with INFLATE_STRICT because deflate_medium strategy uses MAX_DIST2 which is not compatible.

Is MAX_DIST2 also the reason why this requires to be built with INFLATE_STRICT? If not, I really think we should try to figure out why it requires that, because I think that might signal another bug.

Yes it is the reason. If we remove MAX_DIST2 then we don’t need INFLATE_STRICT to be defined.

Removing MAX_DIST2 will have penalty in compression rate and that will invalidate any comparisons with other forks that have deflate_medium with MAX_DIST2 intact.

@mtl1979 I am open to alternatives that makes standards-compliant bitstreams. If deflate-medium does not do so currently, then it needs to be fixed.

@Dead2 I'm just saying it's not a bug, it's a feature... Bugs by definition are undocumented, but this relaxation of distance restriction is well-documented...

If it does not decompress with inflate_strict and zlib itself does not make such streams, then I believe it is likely not standards compliant, but I could be wrong. Honestly I don't see the problem with the value of MAX_DIST2, but obviously it matters. Possibly it is just about setting the window size to the max in the output header since MAX_DIST2 forces the full window size instead of using the currently selected window size (so inflate will know this and allocate a big enough window, etc).
In any case, by default we should create standards compliant streams, if not then we are not really zlib compatible. Non-compliant features could be kept as a special runtime setting operated through the new feature interface implemented for the DFLTCC features, and possibly an off-by-default compile setting. If MAX_DIST2 can be fixed, then we could possibly use that for all the deflate strategies.

Long time ago I actually suggested disabling deflate_medium completely because it had multiple issues....

Rebased and fixed.


BugFix fix reverse function dynamic buffer overflow due to illegal character

Proposed changes
Previous logic of reverse function might not be strong enough to handle illegal character. For example, one one byte size character would be mistaken as one utf-8 character which occupies more than one byte space. And unfortunately exceeding the buffer space during future process.
Issue Number: close #xxx
Problem summary
Truncate the copy process when detecting overflow memory accessing.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[x] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[x] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[x] No
[ ] No Need

Does it need to update dependencies:

[ ] Yes
[x] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[x] No

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

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 38.12 seconds
load time: 568 seconds
storage size:<PHONE_NUMBER>9 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20221027183037_clickbench_pr_34737.html


is this just build new index and skip the index before?

https://github.com/raphaelsty/cherche/blob/6aabe70853d2486ee1972e1689290fdce8b72587/cherche/index/faiss_index.py#L107C13-L107C64

Hi @fivejjs, the function you are linking check if there is already a Faiss Index. It not, it create one. If there is a Faiss Index, this function do nothing


Revert "fixing entrypoint"

Reverts streamingriver/go-http-nats-proxy#4

broken build - please revert


After upgrading an app, large unneeded NuGet package references are added to WinForms projects

After upgrading basic hello world WinForms app created for .NET Framework 4.8, Upgrade Assistant adds references to NuGet packages that are not needed:

Microsoft.Windows.Compatibility is extremely large NuGet containing over 20K APIs, we should not be adding it. Plus almost all WinForms APIs are included in net6-windows, so I hardly see a need to add Compatibility package ever.
Possibly same issues with WPF.

When should the windows compat pack be added? Or is it now included in .NET 6 if you have a -windows TFM?

There's a new Roslyn feature to detect unused references. I wonder if we could use that to trim down if we aren't using any types in there


Correction for raw affiliation UMR MoISA (Montpellier Interdisciplinary Centre on Sustainable Agri-Food Systems), (Univ Montpellier, CIRAD, CIHEAM-IAMM, INRAE, Institut Agro, IRD), 34394, Montpellier, France

Correction needed for raw affiliation UMR MoISA (Montpellier Interdisciplinary Centre on Sustainable Agri-Food Systems), (Univ Montpellier, CIRAD, CIHEAM-IAMM, INRAE, Institut Agro, IRD), 34394, Montpellier, France
raw_affiliation_name: UMR MoISA (Montpellier Interdisciplinary Centre on Sustainable Agri-Food Systems), (Univ Montpellier, CIRAD, CIHEAM-IAMM, INRAE, Institut Agro, IRD), 34394, Montpellier, France
new_rors: 05kpkpg04;04abkkz03;051escj72;05q3vnk25;03rnk6m14;0005r2j17;003vg9w96;011xg1225
previous_rors: 05kpkpg04;04abkkz03;051escj72;05q3vnk25;03rnk6m14;0005r2j17;003vg9w96
works_examples: W4404112644
contact: 1af2f12be263df37e49f873396d414fb:ee7a663bf96311d0 @ supagro.fr

This issue was accepted and ingested by the OpenAlex team on 2024-12-19. The new affiliations should be visible within the next 7 days.


use `--forbid-only in CI

This is probably a good idea.

Coverage remained the same at 90.495% when pulling 8e6e4c056821af46073ef810789e0079426be447 on forbid-only-ci into 9f02180f1c87cdcb0050c5e2f7b8c74911606435 on master.


Install dlls into /bin instead of /lib

Notes:

Pull requests cannot be accepted until the PR follows the contributing guidelines. In particular, each commit must have at least one Signed-off-by: line from the committer to certify that the contribution is made under the terms of the Developer Certificate of Origin.
This is just a template, so feel free to use/remove the unnecessary things

Description
A few sentences describing the overall goals of the pull request's commits.
Status
READY/IN DEVELOPMENT/HOLD
Requires Backporting
When there is a bug fix, it should be backported to all maintained and supported branches.
Changes do not have to be backported if:

This PR is a new feature\enhancement
This PR contains changes in the API. If this is true, and there is a need for the fix to be backported, the fix should be handled differently in the legacy branch

Yes | NO
Which branch?
Migrations
If there is any API change, what's the incentive and logic for it.
YES | NO
Additional comments
Any additional information that could be of interest
Todos

[ ] Tests
[ ] Documentation
[ ] Changelog updated
[ ] Backported

Steps to test or reproduce
Outline the steps to test or reproduce the PR here.

Please state in the description and the commit message what the purpose of this PR is. We'll also need a signed-off-by line and a change log entry.


Fix type mismatch error in json unmarshal for float to struct

Codecov Report
Attention: 17 lines in your changes are missing coverage. Please review.

Comparison is base (3aa1c57) 78.60% compared to head (37286af) 78.50%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files

@@            Coverage Diff             @@
##           master    #1659      +/-   ##
==========================================
- Coverage   78.60%   78.50%   -0.10%
==========================================
  Files         281      281
  Lines        7930     7973      +43
==========================================
+ Hits         6233     6259      +26
- Misses       1326     1338      +12
- Partials      371      376       +5

Files
Coverage Δ

...mapper/iac-providers/cft/config/lambda-function.go
84.26% <0.00%> (-1.94%)
:arrow_down:

pkg/iac-providers/cft/v1/sanitize-cft-template.go
81.97% <65.11%> (-3.15%)
:arrow_down:


No license

It is not clear what license is used by gamilbuttons. Please add a license file to the repo (and use a free license).

Sorry about that. The license was specified on the Mozilla Addons site, but I never put it in the repo. It is GPL 2.


Adding Ground Items to be toggled w/ a hotkey.

The idea is simple adding a hotkey such as alt or ctrl a bind of ctrl+1 or anything of that nature to toggled on ground items on/off.  Personally, while in raids or something where a lot of items are dropped (pking) when the ground items shoot to the sky with text is quiet a bit annoying; however, being able to toggle them off with a simple hotkey is a lot simpler than having to go through the options to manually turn them off.

Duplicate of  #1141


Figure out how the heck to version all of this

22:47:37 < relrod> I need to figure out the versioning thing. When everything was in one repo, I tagged each flight. Now that things are split into several repos, that's going to be annoying. And anyone else that uses mapview doesn't care about our flights anyway (presumably) so the tag is pointless for them.
22:48:04 < relrod> So I think only mapview-noexc should get tags, but then if we do that, we should be able to tell exactly what commit it depends on for mapview and mapview-websocket and such
22:48:35 < relrod> which makes me think that they should get releases before each flight, but why should library versions correspond to when we do flights?
We should figure this stuff out.

I think the order of operations here is something like this:

[ ] Release mapview-3 to hackage (soon/whenever)
[ ] Release mapview-websocket-1 to hackage (soon/whenever)
[ ] Figure out what to do about mapview-noexc

Regarding mapview-noexc
Here are some options we have:

Tag mapview-noexc after every flight. So we work on master there, branch to nbpN-pre to soft-freeze a few days before flight as normal, then after the launch, tag the HEAD of nbpN-pre as nbp-N and delete the nbpN-pre branch. The disadvantage here is that you can't install mapview-noexc and be able to process data from 3 flights ago, you have to install the tag specific to that flight.
Make mapview-noexc actually a super-repo that contains multiple cabal packages such as mapview-noexc-nbp3 and mapview-noexc-nbp4. These would not be mutually exclusive packages and we'd be able to fine-grain the versions of mapview and mapview-websocket (and so on) as needed.
(other ideas go here)

Here is a non-option:

Keep doing what we are doing right now. Right now, if mapview-websocket has a breaking change, mapview-noexc will fail to build because the modules that pertain to the old flights won't be able to build. This won't scale.