BUG: WorkflowsAPI get_workflow_execution_history, traceback on incorrect type.

Error on the sailpoint.v3.WorkflowsApi(v3_client).get_workflow_execution_history method.
Sample code
    with sailpoint.v3.ApiClient(configuration) as v3_client, \
        sailpoint.beta.ApiClient(configuration) as beta_client:

        workflow_executions = sailpoint.v3.WorkflowsApi(v3_client).list_workflow_executions(id = '58417085-af78-4723-990a-87f0f1e939e9')

        for workflow_execution in workflow_executions:

            workflow_execution_history_events = sailpoint.v3.WorkflowsApi(v3_client).get_workflow_execution_history(id = workflow_execution.id)

            for event in workflow_execution_history_events:
                print(event)

Results in:
Exception has occurred: ValidationError
1 validation error for WorkflowExecutionEvent
type
  Input should be a valid dictionary [type=dict_type, input_value='WorkflowExecutionStarted', input_type=str]
    For further information visit https://errors.pydantic.dev/2.7/v/dict_type
  File "/Users/rob.buskens/Documents/Code/workflows/workflow.py", line 41, in <module>
    workflow_execution_history = sailpoint.v3.WorkflowsApi(v3_client).get_workflow_execution_history(id = workflow_execution.id)
pydantic_core._pydantic_core.ValidationError: 1 validation error for WorkflowExecutionEvent
type
  Input should be a valid dictionary [type=dict_type, input_value='WorkflowExecutionStarted', input_type=str]
    For further information visit https://errors.pydantic.dev/2.7/v/dict_type

Exception has occurred: ValidationError
1 validation error for WorkflowExecutionEvent
type
Input should be a valid dictionary [type=dict_type, input_value='WorkflowExecutionStarted', input_type=str]
For further information visit https://errors.pydantic.dev/2.7/v/dict_type
File "/Users/rob.buskens/Documents/Code/workflows/workflow.py", line 41, in
workflow_execution_history_events = sailpoint.v3.WorkflowsApi(v3_client).get_workflow_execution_history(id = workflow_execution.id)
pydantic_core._pydantic_core.ValidationError: 1 validation error for WorkflowExecutionEvent
type
Input should be a valid dictionary [type=dict_type, input_value='WorkflowExecutionStarted', input_type=str]
For further information visit https://errors.pydantic.dev/2.7/v/dict_type

The yaml for WorkFlowExecutionEvent has errors in it. The code above runs if the following changes are made and the python sdk is rebuilt.
https://github.com/sailpoint-oss/api-specs/pull/72

Hey @rob-buskens-sp, this is fixed in https://github.com/sailpoint-oss/python-sdk/commit/b9a258c430dedf7c1e7937e180393f8087b55eab and will be included in the next release.


Warp Sync Issues

[x] offer to report hash to market in UI
[x] - Fix rollback db issues
[x] - https://github.com/AugurProject/augur/issues/6310
[x] Config to disable/enable warp sync generation/pinning (#6758)
[x] - run https://github.com/cscott/compressjs lzp3 on it (best compression per unit of time spent) to make it even smaller (#6810) (#6819)
[x] Add 30 block buffer to checkpoint creation (#6922)
[x] - 0x order cancels are storing all 0x order cancels, not just augur ones, should fix - Alex
[x] - store one copy of cancels db
[x] identify current checkpoint hash via market and UI

Items below have specific tickets:

[x] - only keep most recent piece of data per primary key per checkpoint Pruning is in PR #6989
[ ] Flash script for auto-reporting (should run as a long term process that syncs and auto-reports given a key to use)

Last item here will be done by @robert-e-davidson3

Closing! Warp sync auto-reporting flash script created.


Unit tests for the Dockerfile

Working on the Dockerfile in #1249 made me wish for automated tests - to confirm that it boots up correctly, can run SpatiaLite and doesn't have weird bugs like the /db page hanging.
These could run in CI too, but maybe only if the Dockerfile is updated.

Part of the challenge here is only running if a Docker daemon is available. I think this pattern works:
import httpx
import pathlib
import pytest
import subprocess

root = pathlib.Path(__file__).parent.parent

def docker_is_available():
    try:
        client = httpx.Client(
            transport=httpx.HTTPTransport(uds="/var/run/docker.sock")
        )
        client.get("http://docker/info")
        return True
    except httpx.ConnectError:
        return False

@pytest.fixture
def build_container():
    assert (root / "Dockerfile").exists()
    subprocess.check_call([
        "docker", "build", str(root), "-t", "datasette-dockerfile-test"
    ])

@pytest.mark.skipif(not docker_is_available(),
    reason="Docker is not available"
)
def test_dockerfile(build_container):
    output = subprocess.check_output([
        "docker", "run", "datasette-dockerfile-test", "datasette", "--get", "/_memory?sql=select+1&shape=_array"
    ])
    assert False, "Implement better assertion here"

I'm skipping this for the moment because the new Dockerfile shape introduced in https://github.com/simonw/datasette/issues/1249#issuecomment-804404544 isn't compatible with this technique, since it installs Datasette from PyPI rather than directly from the repo.
Will need to change that if I want to do this unit tests thing.

test_dockerfile.py

I'm skipping this for the moment because the new Dockerfile shape introduced in #1249 (comment) isn't compatible with this technique, since it installs Datasette from PyPI rather than directly from the repo.
Will need to change that if I want to do this unit tests thing.

Hello,
can't you copy in a later step directly in the output directory, e.g. COPY test_dockerfile.py /usr/lib/python*/.. or something like that ?


reviewer II is not convinced by PAC

Sorry, read this section again! Reviewer 2 raises some good points:

researcher degrees of freedom can not always be reduced to if-else statements
preregistrations often contain more detailed information than the manuscript

If preregistration templates contain something MORE than a paper would, maybe we should consider what we can learn from preregistration templates that can help us improve our manuscripts? In other words: If prereg templates address something that normal papers don't, we should consider just putting that into normal papers (or at least into the PAC).

good point. Also, you can easily have a reproducible PAC Appendix, which contains all extra details.

@cjvanlissa this highlights a core issue of scientific comunication. Most articles simply do not contain enough information to replicate.
@brandmaier  The appendix idea is a really practical response.

related #244


Import bug at 7.0.0 version

System information:

Windows 10 Pro
7.0.0
Git Extension

Connection specification:

PostgreSQL 9

Describe the problem you're observing:
While importing .csv (crash_smpl.zip) to table with following DDL:
CREATE TABLE rt.trusting_reconcilation ( 	id numeric NULL, 	phone text NULL, 	bank_code text NULL, 	telco_score int4 NULL, 	created_at timestamp NULL );
I am getting error:

at version 7.0.0.
At version 6.2.3 import works fine.
Steps to reproduce, if exist:

Open table in left pallet (project viewer)
right-click -> import data
specidy .csv template from attachement
error

Include any warning/errors/backtraces from the logs

hi,  @wvolkov ,
it seems that you try to import not a number value ("cash_wagon_contract") to the numeric column "telco_score".
You could try to change mapping of columns to proceed import

there is no update on ticket more than a month. if issue is still actual for you - feel free to reopen the ticket


Add NIP60 nostr wallet as wallet database

https://github.com/nostr-protocol/nips/pull/1369

https://github.com/cashubtc/cdk/pull/274


New Surface parameter resource file

addresses GEOSgcm_GridComp issue 145

supersedes pull request #90

note related GEOSgcm_GridComp pull request 240

note related GEOSldas pull request 160

adds Surface parameter resource file:
./GEOSsurface_GridComp/Shared/GEOS_SurfaceGridComp.rc
to avoid having to add new parameters into AGCM.rc.tmpl and prepare for further science development

Added a note in AGCM.rc.tmpl to say the model reads USE_CNNEE from CO2_GridComp.rc not from AGCM.rc
This looks good

Zero-diff tests conducted successfully.


Improve publisher load time for 120k nodes to <1s

use IEqualityComparer for Distinct. reduce startup time for 120k nodes from 20 minutes to <1s

@mregen, please link the GitHub issue to this PR.

This PR addresses a comment in the Issue #912: https://github.com/Azure/Industrial-IoT/issues/912#issuecomment-877170835

@mregen, please link the GitHub issue to this PR.

only a comment in #912 is fixed...otherwise i believe it remains open.

@mregen could you address the LGTM issue, then we are good to merge this PR

@mregen could you address the LGTM issue, then we are good to merge this PR

LGTM is really great to catch this! :shipit:


Unicode fix

Suggested solution from https://docs.python.org/3/howto/unicode.html#files-in-an-unknown-encoding

@flowersjg


Possible analysis bug: dart:ui alias not recognized (or bad project structure?)

Original bug: https://github.com/dart-lang/pub-dev/issues/3266 (reported by @JasMich on package:katex_flutter).
Flutter version: 1.12.13+hotfix.5 on pub.dev, 1.14.7-pre.83 used by the developer.
The source code is using import 'dart:ui' as ui; on line 4.
Analyzing it with flutter analyze or [path-to-flutter-sdk]/bin/cache/dart-sdk/bin/dartanalyzer lib/ yields the following error: The name 'platformViewRegistry' is being referenced through the prefix 'ui', but it isn't defined in any of the libraries imported using that prefix. • lib/katex_flutter_web.dart:21:8 • undefined_prefixed_name
The source code on line 21 looks good to me. Is this a bug in the analyzer, or is this a package layout issue, where the web plugin needs to be placed elsewhere?

I agree. Using the ui.platformViewRegistry method never caused any issues in my applications.

I see there's an open issue addressing the case you described. https://github.com/flutter/flutter/issues/41563
Please follow up on that issue, I'm closing the current one as a duplicate.
If you disagree, please write in the comments and I will reopen it.
Thank you

@TahaTesser This is a different issue - this one is about the analyzer when running flutter analyze.


Azure Mobile App Backend Upgrade to .NET Core?

With .NET Core 2.1 around the corner - will Azure Mobile Apps finally be upgraded to .NET Core and latest Entity Framework Core as well? Also, when I click on Product Feedback here, it takes me to the Azure Mobile App page (literally the app, not Azure Mobile Apps framework).

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

ID: fd41b897-29ee-837b-99bd-2be5c5331e34
Version Independent ID: aeebb0e3-1698-b430-1912-7564f6ed99e4
Content: How to work with the .NET backend server SDK for Mobile Apps
Content Source: articles/app-service-mobile/app-service-mobile-dotnet-backend-how-to-use-server-sdk.md
Service: app-service-mobile
Product: unspecified
GitHub Login: @conceptdev
Microsoft Alias: crdun

@mzhukovs Thank you for the feedback!  We are investigating this and will get back to you shortly.

There is an answer on .NET Core question from the product team, and also here. There are no plans to upgrade.
Thanks for the tip on the Feedback button, I'll try to get it pointing to a better location.

FYI, the Product Feedback button now goes to the project's open source issues - thanks for the tip @mzhukovs.


How to use CascadingBreadcrumbService with CascadingAuthenticationState?

Hi,
Just double checking this.
How to use CascadingBreadcrumbService with CascadingAuthenticationState?
Thanks

Have not done this in a while, but I think it should work, when you just nest them.
<CascadingBreadcrumbService>
    <CascadingAuthenticationState>
        <!-- removed for brevity -->
    </CascadingAuthenticationState>
</CascadingBreadcrumbService>


Is there a way to get a raw response?

Describe the feature you would like to see
Thank you very much for providing this package.
I would like to express my deepest gratitude.
By the way, I have a question.
Why is the response below edited? Is there a way to get a raw response?
https://github.com/kreait/firebase-php/blob/7.x/src/Firebase/Messaging/AppInstanceApiClient.php#L58-L92
Thank you.

The App Instance API always returns a 200 HTTP Status code, with an empty body on success, or an error when it's not successful (see https://developers.google.com/instance-id/reference/server#manage_relationship_maps_for_multiple_app_instances).
The SDK will always return results in the same format: an array with the topic names as keys and the operation results as values. This makes working and inspecting the results much easier.
The SDK transforms the responses of almost all API calls, raw API responses are not exposed in general.
If you need to debug HTTP Requests and Responses, you can do this with an HTTP debug logger specifically and/or with HTTP Client Options for more control.


WIP Fqdn windows

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

/test pull-kubevirt-e2e-windows2016

/test pull-kubevirt-e2e-windows2016


Add a stopping criterion when the solution has not evolved for several iterations

Add a stopping criterion when the solution has not evolved for several iterations
from issue #116

After further discussion we believe that this stopping criterion will be useless.
We close this issue since we are not able to reproduce the problem with the latest version.
The introduction of the stopping criterion related to the relative gap (that has at least a default value of 1e-12) seems to be enought not to have a stalling situation anymore.


Re-arranged SafeHaven KB articles and created sub-folders to categorize

In PublicKB/Disaster Recovery/SafeHaven 3/SAHA31-ClusterConfiguration.md change link from ../Disaster Recovery/build-safehaven-base-image-template-from-ubuntu.md to ../SafeHaven 3/build-safehaven-base-image-template-from-ubuntu.md


Issue with UTF16 decompress

There seems to be some issue in decompressFromUTF16.. the following code does not work. Is there something wrong?
chk_str = "Test String"
compressed = x.compressToUTF16(chk_str)
print(compressed)
print(x.decompressFromUTF16(compressed))

Yes, its not working for me too. I'm using base64 instead.


Can we rework encase to allow any type to be thrown?

Something like this:
- encase :: (a -> b) -> a -> Either Error b
+ encase :: Throwing e (a -> b) -> a -> Either e b

Because I'm getting bitten by the fact that I expect a function to be safe after using encase, only to find out that it now throws a TypeError because the function I've encased throws a String.

I like this change. I don't know about the notation, though. Throwing e (a -> b) should probably be Throwing e a b, because a -> b is sugar for Fn a b and Throwing e (Fn a b) doesn't make sense to me. Another option is just to replace Error with e and explain in the description how the type of e is determined. What do you think?

Throwing e (a -> b) should probably be Throwing e a b

You're totally right. I will also update Fluture's encase docs accordingly!


Galileo Legged Solver Interface

Currently the solver interface is ROS specific. Making a general legged solver interface will be cleaner, and allow for multithreading when accessing solutions for MPC purposes.

Closed with PR #69 !


remember preferences

With this change, the positions of the sliders are remembered from run to run.
If you clear data in the settings, the built-in defaults are re-applied.
To clear the data, go to your application overview, long press the app and drag it to App Info, click on Storage. Then there is a button called clear data.

Nice, You did not check in the pubspec.lock though ;)

Ah no. My bad. It changes after I do a "flutter packages upgrade".

git diff pubspec.lock
warning: LF will be replaced by CRLF in pubspec.lock.
The file will have its original line endings in your working directory.


How to apply alpha only to the background?

Hi,
Thanks for the library! How to apply alpha only to the background and not the text?

Hi @bluepixeltech, This is not an issue, it's a question, you can submit your question into stack overflow with MagicTimer tag, but I answer you. If you want to set alpha to background color you can use UIColor.{colorName}.withAlphaComponent(_alpha). Read apple developer documentation about this: AppleDocumation

Thanks!


docs(CHANGELOG): Added dropdown breaking change

After I upgraded from 0.10.0 to 0.11.0 I needed to add the dropdown directive to my button dropdowns. This is not documented in the breakting changes.
The bootstrap documentation only mentions the dropdown class only in the dropdowns section, but not in the btn-dropdowns section.

Landed as b5e534b8934b86a209d9ee52e8d567723c01c4e4, thanks!


TableListing sort by column

It's unclear how they're sorted right now and can be confusing when you're looking for a specific one.

What's additionally confusing is that the order periodically changes too.

closed with #508


Add optional Help icon to nodes

Add an optional help icon to our nodes, preferably to our BaseNode component as this functionality is central to all nodes and it accomplishes the task in a in a DRY method.
This should be passed as an optional prop to the BaseNode component. If the prop is present, render a clickable help icon in the top-right or top-left corners of the node. The onClick functionality is TBD.
depends on

closing as this is a duplicate of #77 (or rather, that is a duplicate of this)


April Mockingbird patch

Add AWS regions to Host dropdown for Mockingbird Tinybird Events API Settings to eliminate need to specify Endpoint with Custom.
https://www.tinybird.co/docs/api-reference/overview#regions-and-endpoints

@sdairs @davidnmargulies I think I accidentally tried a pull request without asking for approvers first which is why the Vercel bot is mad

iirc this will fail cause the npm package needs to be updated & published first, then the UI updated to use the latest package

split out the package changes to a new PR here https://github.com/tinybirdco/mockingbird/pull/87


Thaumato - Blur with box filter with 11x11x11 kernel

The very first step of the pipeline is blurring the volume to stabilize the subsequent gradient estimation via Sobel filters with the final aim of surface (edge) detection.
Blurring is performed with a uniform box filter of kernel $11x11x11$ (which is almost the thickness of a papyrus sheet with voxel size $7.91 \mu m$).
The operations are performed here:
https://github.com/ScrollPrize/villa/blob/d4b0113b2dfe0edc6d882dd33a8b341625bc6ae7/thaumato-anakalyptor/ThaumatoAnakalyptor/grid_to_pointcloud.py#L596 ,
https://github.com/ScrollPrize/villa/blob/d4b0113b2dfe0edc6d882dd33a8b341625bc6ae7/thaumato-anakalyptor/ThaumatoAnakalyptor/surface_detection.py#L287 and https://github.com/ScrollPrize/villa/blob/d4b0113b2dfe0edc6d882dd33a8b341625bc6ae7/thaumato-anakalyptor/ThaumatoAnakalyptor/surface_detection.py#L91
The use of a uniform box filter is computationally efficient, however, I wonder whether this step of the pipeline could potentially benefit from optimization, especially regarding adopting a different denoising scheme and kernel size.
I cite Jain and Tyagi (2014):

Ideally denoising is all about filtering noise from the degraded image while keeping other details unchanged. Indeed, filtering is the most fundamental operation of image processing and computer vision, and it is used extensively in a wide range of applications, including image smoothing and sharpening, noise removal, resolution enhancement and reduction, feature extraction, and edge detection. In the broadest sense of the term “filtering,” the value of the filtered image at a given location is a function of the values of the input image in a small neighborhood of the same location (Jain and Tyagi 2013).
The simplest filtering should be explicit linear translation invariant (LTI) filtering, which can be implemented using a convolution mask. For example, box filtering, also known as mean filtering or smoothing or averaging (Gonzalez and Woods 2006), is implemented by a local averaging operation where the value of each pixel is replaced by the average of all the values in the local neighborhood. Box filter is the quickest blur algorithm, but its smoothing effect is often not sufficient.

and also

Linear filters like mean filter (Gonzalez and Woods 2006), Wiener filter (Jain 1989; Benesty etal. 2010) too tend to blur sharp edges, destroy lines and other fine image details, and perform poorly in the presence of signal-dependent noise.
Mean filtering is a simple, intuitive and easy to implement method of reducing noise in images. The idea of mean filtering is simply to replace each pixel value in an image with the mean (‘average’) value of its neighbors, including itself.

Given the signal-dependent nature of Poisson noise in X-ray CT scans, it may be worth exploring whether alternative denoising techniques, such as BM4D or Non-Local Means, could further enhance edge detection accuracy while preserving fine details.

Moving it to Discussion


Namespace change + Specify imagePullSecerets + agentName

Related PRs: https://github.com/bastionzero/zli/pull/316
Description of the change

Don't manage namespace with yaml. Use built-in helm support. Users can now deploy the kube agent in a namespace that already exists
Add ability to specify agent image name (and therefore the repo to pull from) and imagePullSecrets

Relevant release note information
Release Notes: Don't manage namespace with yaml. Add ability to specify agent image and imagePullSecrets.
Related JIRA tickets
Relates to JIRA: CWC-1545
Have you considered the security impacts?
Does this PR have any security impact?

[ ] Yes
[x] No

If yes, please explain:

https://helm.sh/docs/chart_template_guide/builtin_objects/
It looks like we should be able to default the namespace.
It looks like Grafana is able to do this, and they allow the user to override that:
https://github.com/grafana/helm-charts/blob/959fa99a566e18881108e9517228633d9c3554a9/charts/grafana/templates/_helpers.tpl#L54-L62
I'm just not sure it makes senes to force the user to pass in 2 extra flags namespace and --createNamespace when most of the time (similar to grafana) they'll want to deploy these resources into a custom namespace for resource isolation (since the SA has permission to get and edit secrets for example).

Oh interesting. I will try this out and default it to "bastionzero", so we don't have to change the current flow. As long as it still permits the namespace to already exist in the cluster before hand, then I think we're good as that's the feature I'm trying to add with this PR.

It looks like we should be able to default the namespace.
It looks like Grafana is able to do this, and they allow the user to override that:

Ok. I've looked into it a bit more now. It looks like that grafana chart still defaults to "" and therefore falls back to .Release.Namespace which corresponds to the --namespace flag which further defaults to the default namespace in Kube. So I can't really default it to bastionzero like we wanted.

I'm just not sure it makes senes to force the user to pass in 2 extra flags namespace and --createNamespace when most of the time (similar to grafana) they'll want to deploy these resources into a custom namespace for resource isolation (since the SA has permission to get and edit secrets for example).

I agree. It's kind of annoying. But I'm not sure there is an alternative. It looks like in Helm v2, --createNamespace was not required and the --namespace flag would automatically create the namespace. But that isn't the case in v3.
Reference: https://stackoverflow.com/questions/51783651/how-to-create-a-namespace-if-it-doesnt-exists-from-helm-templates
Also, just looked into how we installed grafana and we use the --namespace flag (--namespace grafana). We seem to use this flag for all the charts we install in our infra.

Regardless, I think this is still a necessary change. It seems to be good practice to not include a namespace yaml in the chart installation, and to use the built-in --namespace flag when the user wants to install it in a specific namespace (that may or may not already exist).
I made this change to improve system test flow, but it also seems like a good thing to have in general. The usecase I'm thinking of (which relates to the improvement I made in system tests) is what if there is some pre-requisite setup the user needs to have in the bastionzero namespace. Without this change, they're forced to have the chart manage the namespace so any infrastructure related to the bastionzero namespace that is outside of the chart can only be done after the chart is executed.

@sidpremkumar

since the SA has permission to get and edit secrets for example

Regardless of the namespace isolation which we should encourage to our users by including --namespace bastionzero in the docs, shouldn't the SA we make have a role binding to access only the secret that we create for the kube agent? We shouldn't let it have access to all secrets in the namespace, whether or not that is bastionzero or not.

It looks like we should be able to default the namespace.
It looks like Grafana is able to do this, and they allow the user to override that:

Ok. I've looked into it a bit more now. It looks like that grafana chart still defaults to "" and therefore falls back to .Release.Namespace which corresponds to the --namespace flag which further defaults to the default namespace in Kube. So I can't really default it to bastionzero like we wanted.

I'm just not sure it makes senes to force the user to pass in 2 extra flags namespace and --createNamespace when most of the time (similar to grafana) they'll want to deploy these resources into a custom namespace for resource isolation (since the SA has permission to get and edit secrets for example).

I agree. It's kind of annoying. But I'm not sure there is an alternative. It looks like in Helm v2, --createNamespace was not required and the --namespace flag would automatically create the namespace. But that isn't the case in v3.
Reference: https://stackoverflow.com/questions/51783651/how-to-create-a-namespace-if-it-doesnt-exists-from-helm-templates
Also, just looked into how we installed grafana and we use the --namespace flag (--namespace grafana). We seem to use this flag for all the charts we install in our infra.
Regardless, I think this is still a necessary change. It seems to be good practice to not include a namespace yaml in the chart installation, and to use the built-in --namespace flag when the user wants to install it in a specific namespace (that may or may not already exist).
I made this change to improve system test flow, but it also seems like a good thing to have in general. The usecase I'm thinking of (which relates to the improvement I made in system tests) is what if there is some pre-requisite setup the user needs to have in the bastionzero namespace. Without this change, they're forced to have the chart manage the namespace so any infrastructure related to the bastionzero namespace that is outside of the chart can only be done after the chart is executed.

Yup im convinced, https://grafana.com/docs/agent/latest/operator/helm-getting-started/
Looks like this is something Grafana does as well and I agree w everything you've said.


Add license

Codecov Report

Merging #68 (ccd8109) into main (824202c) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #68   +/-   ##
=======================================
  Coverage   87.33%   87.33%
=======================================
  Files          67       67
  Lines        1421     1421
  Branches      430      430
=======================================
  Hits         1241     1241
  Misses        173      173
  Partials        7        7

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


⚠ ClamAV has degraded performance

In 7b3f164, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 71 ms

Resolved: ClamAV performance has improved in b1d065e after 6 minutes.


AWS::ECS::TaskDefinition strict attributes

cfn-lint version: 0.30.1
Description of issue.
Attributes Cpu and Memory are too strict for AWS::ECS::TaskDefinition. They are documented as String but they are obviously numbers. As such, it would be nice if we could use numeric values in our templates for better readability.
Template sample:
  ProxyTaskDefinition:
    Type: AWS::ECS::TaskDefinition
    Properties:
      ContainerDefinitions:
        - Essential: true
          Image: !Ref Image
          LogConfiguration:
            LogDriver: awslogs
            Options:
              awslogs-group: !Ref LogGroup
              awslogs-region: !Ref 'AWS::Region'
              awslogs-stream-prefix: task
          Name: nginx
          PortMappings:
            - ContainerPort: 80
          Privileged: false
      Cpu: 512
      Memory: 1024
      Family: nginx-proxy
      NetworkMode: awsvpc
      ExecutionRoleArn: !ImportValue ECSTaskExecutionRoleArn
      TaskRoleArn: !ImportValue ECSTaskExecutionRoleArn
      RequiresCompatibilities: [FARGATE]

duplicate of https://github.com/aws-cloudformation/cfn-python-lint/issues/547


fix: text widget enhancement - 2429

issue: #2429
as mentioned -

added the padding, instead of 2-4px I have added 8px because 8px gives the clear spacing for content.
the blinking cursor is there already, it was just hiding due to no padding.
removed the background of the textbox.

screen-capture (3).webm

Looks good! Thank you @YadhunandanGowda!


Please check network connection on OnePlus 9

Unable to sign in to Vanced microG after adding account - YouTube vanced asks to check network connection. Tried full reinstall of Vanced.
Using OnePlus 9 (LE2110) on ColorOS 11.2: 11.2.A.03 and 11.2.A.13

Having the exact same problem - Samsung Galaxy Note s9

I to had this problem. Seems to happen when you are trying to use a google business account on a custom domain<EMAIL_ADDRESS>

I to had this problem. Seems to happen when you are trying to use a google business account on a custom domain<EMAIL_ADDRESS>
Probably it's the problem. I have a custom domain workspace account. It's also my main google account. Love the amount of restrictions I get just because I have an enterprise account.


RAD-1381 Prebid Outstream Docs

Dev overview
Dev example page
No ad ops docs needed, yay!

@protonate mind giving these a technical review?
In particular:

Is additional context/framing needed?
Is there anything in here that is incorrect?

Thanks!

@protonate bump :-)


Update openvpn-install.sh

80edd537fd5f135d5cc6dd90ccd5409f5ab8266a
help me I would like to install this panel who can help me? i have debian 7 64 bit

this isn't public support page, if you already purchase the VPN Panel script, please contact me on sshpanel0071[at]gmail[dot]com


Support @mockType JSDoc tag instead of !mockType

Closes https://github.com/google/intermock/issues/10
I didn't know how mockRange should work so I just left a TODO comment.

Thank you for your hard work, that code looks very clean! I'll release a new version to NPM soon.

Thank you! That's super nice.
I forgot about the README though 🤦♂


Not all simple widgets auto update

If I create several widgets for the same sensor, only the first one is auto updating. See the timestamps:

Samsung Galaxy S21 Ultra and Android 12. App's battery optimisation is off.

Now I'm on 1.7.14. Signed out and signed in using a different account. Then created some new widgets and noticed that none of them update automatically. Will continue testing by rebooting the phone, etc.

After removing the widgets that were created using the previous account and after rebooting the phone, all the new widgets started to update automatically.

For me I got situation when after turning on battery optimisation widgets stopped updating and disabling optimisation again didn't help. But after phone restart it's all working again. Checked on Pixel and Samsung S9

I haven't been able to reproduce this lately, so closing for now.

Now happened that my widgets jammed to "loading..." mode and refresh buttons were unreaponsive too. May be related to updating the app but because the recent updates ahpuld have not included any breaking changes to widgets, this has to be investigated more. Tried to sign in with different accounts and add widgets using both accounts but couldnt reproduce at this time. Marko, please test widgets more.

The widgets have performed pretty well lately for me and we haven't received any user feedbacks about these issues. Closing.


SHAP for revealing interdependence of word positions

Hi,
thank you for your great package!
I'm working on the following task. I have a dataset of biological sequences (strings containing ~100-150 letters, every letter is considered as a word and every sequence is a 'sentence'). I've trained a biGRU that is able to distinguish between an original sequence and a sequence with a slightly perturbed order of symbols. I was able to find that some of the positions within the sequences are more important (e.g. having the higher weights) for the prediction. Now what I need is to find whether some of the important positions are interdependent. My question is if it is possible to use SHAP for such a problem and, if yes, I'd appreciate any hints or considerations on the implementation.

Interaction effects are what you want, but those are only implemented right now for TreeExplainer. You could compute the interaction values manually by following the equations in https://rdcu.be/b0z70 or you can wait since we are doing more work on that. Sorry that's not a great answer :)

Thank you for your answer!


Backend

Get a minimum viable product working for testing

LGTM -- works, just needed to update the DB

Database reference in testing tool is out of date but it's marked as possibly needing to be updated, so it should be fine to leave and update later as we finalize


Select portal

Description
Converted Select dropDown to portal and modified Portal component
Motivation and Context
The above change was required to fix the dropDown nesting inside modals etc
How Has This Been Tested?
Manual Test and Build Success
Screenshots (if appropriate):
Types of changes

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[X] My code follows the code style of this project.
[X] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

@saurabhsutar192 is this ready to merge?


Jsonrpc : panic on response

2024-06-05T13:48:55.783Z INFO lampo_jsonrpc Accepting connection: `Ok((UnixStream { fd: FileDesc(OwnedFd { fd: 6 }), local: "/home/doom/.lampo/testnet/lampod.socket" (pathname), peer: (unnamed) }, (unnamed)))`. [lampo-jsonrpc/src/lib.rs:218]
thread '<unnamed>' panicked at 'called `Option::unwrap()` on a `None` value', /home/doom/Desktop/dev/lampo.rs/lampo-jsonrpc/src/lib.rs:235:68
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

What is the commit that you are building?

Latest one

Last one tomorrow is not the last one, please add the commit hash reference

This one e3e0b91

I update the issue description with all the details,and marked the comment as off-topics

This should be finally fixes when we release the https://github.com/vincenzopalazzo/lampo.rs/pull/246
So for now bumping to the next release


[Bug]: Lighthouse Check failing

What happened?
https://github.com/schmelto/Portfolio/blob/main/.github/workflows/lighthouse.yml is failing due to changed URL see in https://github.com/schmelto/Portfolio/issues/100
Relevant log output

Device
URL

mobile
https://schmelto.github.io/portfolio/

Not what you expected? Are your scores flaky? Run Lighthouse on Foo
If scores continue to be inconsistent consider running all audits on Foo

What to do?
Update URL to  https://schmelto.github.io/Portfolio/
https://github.com/schmelto/Portfolio/blame/main/.github/workflows/lighthouse.yml#L18

hey there, i would like to take up this issue

@lem0n4id I assigned you feel free to open a PR for this issue.


Update cache-best-practices-kubernetes.md

Add istio annotation traffic.sidecar.istio.io/excludeOutboundPorts to make istio work with Azure Cache Redis in cluster mode.
This recommendation is based on #:<PHONE_NUMBER>003590

@flang-msft,
Can you review this old PR and determine whether it needs to be closed or merged?

I sent a Teams message to the content owner today.
@MicrosoftDocs/public-repo-pr-review-team


Public API contains not-exported types.

There's quite a few places in the API where Haddocks mention some type, but that type is not exposed from the available modules.
Few examples of this:

EventReponse mentions TaskHandler, but this type is nowhere to be found in the haddocks.

Button mentions ButtonCfg, but again that type is not exposed so it's unclear what could be passed in that list.

In haddocks this manifests as the unexposed type not being rendered as link. e.g.

@jhrcek I just published a new version with the configuration types exported, plus their documentation re-organized (it existed, it just was not visible). It's quite unfortunate I had to export some types for Haddock to generate the documentation, particularly those belonging to Composite; those types were supposed to be internal helpers and not reserve names a user would potentially want to use. Anyway, it is what it is!
Thanks for reporting this! It completely slipped past me.

Thank you for the quick fix and response!
Fixed in https://github.com/fjvallarino/monomer/commit/68a8eb786ced7a4b95819ba4218df0935482e3b2


Gallery release builds increased in size

The change in https://github.com/flutter/flutter/pull/13567 (originally https://github.com/flutter/flutter/pull/12944) dramatically increased the size of the gallery release builds.
cc @szakarias

AFAIK, the PR establishes a stepping stone towards getting rid of app.flx, involving the temporary duplication of app.flx content into a flutter_assets folder. It should go away as soon as we transition asset-reading code to the new structure. Assigning @szakarias for now; we'll provide an update Monday.

I thought that might be it. We should probably put this behind a flag so that people can still release apps from master in the meantime though (we have a lot of customers who are shipping apps and expect master, and certainly alpha, to be in a shippable state).

app.flx removed on Android in #13647. The PR doing the same on iOS is here #13648 but not landed due to red tree caused by Windows bot recipe error. Also pending is #13649 which updates our example iOS projects.

Closed per #13647, #13648, and #13649.


Proposal for next release: metadata/codes.parquet should be guaranteed to have all unique codes (or codes + code modifiers) for the dataset, even if other rows are empty.

This makes it easier to possible to easily and safely rely on metadata/codes.parquet to perform inference over the codes included, such as to identify which codes match a regex filter, to use the set of codes as input to an LLM to automatically identify those associated with a certain concept, etc. Tagging @EthanSteinberg for your thoughts.

I think this makes sense, as it's not too much of an annoyance and will make those operations much much easier


$getAvailableProfiles exception

Seeing this in Insiders when I create a terminal:
ERR NotSupported: Error: NotSupported
	at u.$getAvailableProfiles (file:///Applications/Visual%20Studio%20Code%20-%20Insiders.app/Contents/Resources/app/out/vs/workbench/services/extensions/worker/extensionHostWorker.js:79:42536)
	at u._doInvokeHandler (file:///Applications/Visual%20Studio%20Code%20-%20Insiders.app/Contents/Resources/app/out/vs/workbench/services/extensions/worker/extensionHostWorker.js:79:77970)
	at u._invokeHandler (file:///Applications/Visual%20Studio%20Code%20-%20Insiders.app/Contents/Resources/app/out/vs/workbench/services/extensions/worker/extensionHostWorker.js:79:77654)
	at u._receiveRequest (file:///Applications/Visual%20Studio%20Code%20-%20Insiders.app/Contents/Resources/app/out/vs/workbench/services/extensions/worker/extensionHostWorker.js:79:76321)
	at u._receiveOneMessage (file:///Applications/Visual%20Studio%20Code%20-%20Insiders.app/Contents/Resources/app/out/vs/workbench/services/extensions/worker/extensionHostWorker.js:79:75107)
	at file:///Applications/Visual%20Studio%20Code%20-%20Insiders.app/Contents/Resources/app/out/vs/workbench/services/extensions/worker/extensionHostWorker.js:79:73208
	at v.fire (file:///Applications/Visual%20Studio%20Code%20-%20Insiders.app/Contents/Resources/app/out/vs/workbench/services/extensions/worker/extensionHostWorker.js:57:1836)
	at MessagePort.m.port1.onmessage (file:///Applications/Visual%20Studio%20Code%20-%20Insiders.app/Contents/Resources/app/out/vs/workbench/services/extensions/worker/extensionHostWorker.js:87:3503)

It's probably because we're allowing requests go through to non-primary extension hosts (like the web worker ext host).

Isn't this line preventing that though?
https://github.com/microsoft/vscode/blob/e8e6d64105b27603127193f04dd8ab52464f7d1a/src/vs/workbench/api/browser/mainThreadTerminalService.ts#L353-L353

Similar to the handling here,
https://github.com/microsoft/vscode/blob/e8e6d64105b27603127193f04dd8ab52464f7d1a/src/vs/workbench/api/common/extHostTerminalService.ts#L774-L775
should I just return new Promise(() => [])) here?
https://github.com/microsoft/vscode/blob/e8e6d64105b27603127193f04dd8ab52464f7d1a/src/vs/workbench/api/common/extHostTerminalService.ts#L782-L784


Added shell script for post-install

Added a simple shell script for the copying of the necessary config files

Also updated the README.rst with installation instructions


anyproxy cache size is too large 本地缓存过大

Plese fill the template when you reporting a new issue, thanks!

Which platform are you running AnyProxy

mac
The version of the AnyProxy

v4.0.4
Your expected behavior of AnyProxy

The actual behavior of AnyProxy

The log of the error

如图, anyproxy在根目录的缓存占据了大量空间, 且不会自行清理. 严重影响系统其他软件的工作.

anyproxy --clear 是否可解?


Permit asynchronous code to be given to the custom completion type

At the moment the custom case of the CompletionKind enumeration supports being given a custom closure to generate completions on the command line. However, since the provided closure must be synchronous, it is difficult to incorporate functionality that requires swift's concurrency features. The lack of this functionality prevents certain tasks from being possible with these completions and causes other tasks to be possible, but only in a non-thread safe way. Examples of this include working with databases (such as those managed by Apple's Core Data framework).
Example:
struct SomeCommand: AsyncParseableCommand {

@Argument(help: "<Helpful help>", completion: .custom({ arguments in
return try? await completionGenerator(arguments: arguments) ?? []
}))
var argument: String

mutating func run() async throws {
// Code that makes the command Run
}
}

@MainActor
private func completionGenerator(arguments: [String]) async throws -> [String] {
// Code that generates completions that has some asynchronous system in use and/or must be run on the main actor.
}

This would be great, along with completion we could really use this for transform.
@natecook1000 is this something you think would be wanted? I could work on this if you don't think it's too complicated as a first task


Highlight breaks at random or maybe at specific lines/tags

Thank you for a awesome plugin! I can't thank you enough what you just doing. I don't know if this issue is relate to this plugin or Treesitter itself.
Here are video reference (lines 49-56) :
https://user-images.githubusercontent.com/73665622/146643256-3ec97e8a-3e4b-4416-b130-677c1b2e82e6.mp4
EDIT: fix lines number.

This issue coming from Treesitter or Neovim


ADF - runtime SDK breaking changes

We will bump up the version today with another pull request

Can one of the admins verify this patch?

Hi @alextolp, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.azure.com.

TTYL, AZPRBOT;

add to whitelist

@alextolp Please add the version update to nuget.proj

Bgold09 will make the version update today.
-Alex
On Jul 31, 2015, at 2:11 PM, Mark Cowlishaw <notifications<EMAIL_ADDRESS>wrote:
@alextolphttps://github.com/alextolp Please add the version update to nuget.proj

Reply to this email directly or view it on GitHubhttps://github.com/Azure/azure-sdk-for-net/pull/1323#issuecomment-126813212.

I'll be sending a PR containing additional breaking changes which will bump the nuget version. Please merge this change first.


Make UUID validation consistent

When generating config (resin config generate --device ${UUID}) we validate the UUID according to our schema.
We don't do this elsewhere, at least including device register and potentially other places. We should make all this consistent one way or the other. Could be worth being more strict in the API to fix this - if these UUIDs will never work then device register should be getting an API error back even if we're not doing validation here.
Pulled out from https://github.com/resin-io/resin-cli/issues/473.

Closing this - we're going to fix it in the API instead (https://github.com/resin-io/resin-api/issues/631), which should automatically give us sensible errors here everywhere that uses UUIDs, as it'll reject them for us.


use VectorView and VectorViewMut instead of &Vector and &mut Vector

atm the main call function for NonLinearOp is:
pub trait NonLinearOp: Op {
    /// Compute the operator at a given state and time.
    fn call_inplace(&self, x: &Self::V, t: Self::T, y: &mut Self::V);
    ...

To make this more flexible, we should use VectorView and VectorViewMut instead, ie:
pub trait NonLinearOp: Op {
    /// Compute the operator at a given state and time.
    fn call_inplace(&self, x: Self::VView, t: Self::T, y: Self::VViewMut);
    ...

This allows algorithms to call these functions with views rather than references to owned vectors. One usecase for this is to concatentate solves with varying parameters into a larger statevector

needs to be done to all the callable functions, but perhaps start with call_inplace and see if there is any unexpected problems

I'm a bit unsure doing this is worth the increased complexity. Could just use diffsl for concatenating solves.....

however, it would allow me to reduce the amount of allocated memory for the solvers. Bdf solver stores diff as well as y and dy, even tho these overlap somewhat, simply because we need a separate vector for the state, and the op calls


spell checker

Hi,
Is it possible to have spell checker in the phpcs which helps fixing typos and spelling in the comments?
Thanks.

theoretically it is. please propose a PR

Isn't is out of scope? I mean, typos are not really coding style issues, are they?

Typos in docblocks could be fixed.
We already fix simple grammar issues there.

I can help implement this if one of the main devs here is willing to provide me a short coaching track.

Maybe take a look at https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/master/doc/COOKBOOK-FIXERS.md ? It could not contain everything, but it should provide you a head start

thanks

@blendsdk any plans on this ? :)
I'm happy to coach a PR if you can share you ideas on how to proceed on this (like what sources/mechanics could be used for spell checks etc.), lemme know!

@SpacePossum is this still something you're interested in pursuing? I stumbled across this issue looking for another fixer before sending a PR and it piqued my interest, haha.
There are soooo many ways a spell-check fix could go wrong, but I think it's actually doable with some work and attention to detail... which seems to be the case for just about every check it seems :grin:. I put together a simple proof of concept that uses hunspell:
Input
=====================

    /**
     * Hello, wurld. I am a commnet wtih bad spehling.
     * I am heer to maek freinds!
     *
     * @method SomethingAwful
     */

Output
=====================

    /**
     * Hello, world. I am a comment with bad spelling.
     * I am here to make friends!
     *
     * @method Something Awful
     */

This isn't a Fixer. I was just toying around to see how it would handle auto-corrections out of the box with no adjustment to the dictionary.
The Fixer would be responsible for auto-correction and would delegate down to a SpellCheck\Source to #check spelling and grab #suggests. It would use the best suggestion for each word to do replacements.
Source is an abstraction that could be implemented several ways:

ext-pspell should probably be the first place to look (if installed)
hunspell is installed on RHEL / CentOS 7
aspell is installed on Ubuntu 16.04 / 17.10

We could set a priority of implementations we preferred. If no preferred backend is found, we would need to specify intended behaviour.
Rather than track which software is on which distributions, we could execute...
$ which hunspell aspell ispell
/usr/bin/hunspell
/usr/bin/aspell
/usr/bin/ispell

...and grab the first one that matches. Use that information to create a Source implementation that knows how to use that binary (I've done that with hunspell. That's where the demonstration above comes from).
One substantial wrinkle among many: How would you handle when auto-correct gets it wrong? Adding to the dictionary helps in some cases (pointing towards config option), but there are other times where you really do mean one thing and the suggestions are too close together. Perhaps this is an edge case worth only really considering after a more substantial effort has been made.
What do you think about the above ideas? If positive, is it common to have Fixers with injected dependencies that carry some of the workload? Or would it be better to have each fix self-contained?

That's the beauty of having spell-checker on Tokens level than generic one.
Fixer would understand the code. And it's context. It could be tighten to only touch comments, and only some part of docblocks. Like it shall not touch your @method annotation.
hunspell has no clue about syntax of given programming language.

is this still something you're interested in pursuing?

I would welcome the feature very much. As @keradus stated the fixer could be made to only touch comments and parts of PHPDocs to make it save.
Would the integration with hunspell be OK for you @keradus , I've no experience with spelling checkers(API's) TBH.

Would the integration with hunspell be OK for you @keradus ? I've no experience with spelling checkers(API's) TBH.

I'd be willing to send support for all of them. In reality, the interface for them is almost identical because they are basically historic progressions on one another.
The detail here is "where do I do that work?". For example, let's say a package did exist for working with hunspell:
Should all of the integration be in-lined with no additional external dependencies? If we're okay with additional dependencies...
How would that dependency be realized?
It's not a requirement for php-cs-fixer to function, normally (only if you used the check). Would that mean it goes to suggest in composer.json?
How would it be injected (if at all) into the Fixer?
If I could get some direction there, I think I have enough to get started.

I'd be willing to send support for all of them because it does depend on what's installed.

what about php dependency instead of system one ?

what about php dependency instead of system one ?

I looked around for an existing pure-PHP spellcheck implementation and couldn't find anything as performant as hunspell, aspell or ispell. There IS a PHP extension called pspell that we could rely on (solving having to pull in a Composer dependency).
Depending on how this issue went, I was planning on creating a PHP binding for hunspell, aspell and ispell which would auto-detect which was available and use. If ext-pspell was available, it would use that before checking what's installed on the system (if anything).
Is that what you mean by "php dependency"?

FWIW, these utilities are fairly ubiquitous on many Linux distributions.

Is that what you mean by "php dependency"?

no, by php dependency I meant real library written in PHP to solve that issue, not a wrapper that would proxy a call to system.

FWIW, these utilities are fairly ubiquitous on many Linux distributions.

we support not only linux, but also mac or even windows.

no, by php dependency I meant real library written in PHP to solve that issue, not a wrapper that would proxy a call to system.

I could look into that. It would certainly solve the portability issue. It's a complex problem (not so much the algorithm, but the localization of dictionaries).
So let's say I create mdwheele/php-spellcheck, what would the next few steps look like as far as getting it to the fixer? Should I need to inject it? Can I just instantiate inside and treat the FixerTests as black-box?

we support not only linux, but also mac or even windows.

Because of the complexity of spell-checking, I wouldn't rule out calling down to the system, but I see the concern. These utilities exist on Linux, Mac and even Windows (colored me surprised).

:-1: for using custom, own solution. thing is that maintaining of it would be a hell, while using external (php) dep get that cost out

I don't think there is a pure PHP external lib out there to help with this.
While we do support multiple OS'es and such, would a wrapper with proper interfacing to configurable tooling work? Bug reports on the used libs. would've to be forwarded to the lib, but that is not different than for the other depends. we got now?

Closing as the discussion staled.


How to remove header and footer from cover page

Is it possible to use different different  footer and headers in one document?


[Vimeo] Don't embed placeholder description.

Checklist

[X] I'm requesting a site-specific feature
[X] I've verified that I'm running yt-dlp version 2022.06.29 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[ ] I've read about sharing account credentials and I'm willing to share it if required

Region
No response
Example URLs
https://vimeo.com/689700861
https://vimeo.com/704459736
Provide a description that is worded well enough to be understood
When embedding metadata for public Vimeo videos that don't have an uploader-provided video description (e.g.: https://vimeo.com/689700861), one would expect yt-dlp to leave the respective field(s) blank, but instead it embeds this placeholder description auto-generated by Vimeo:
This is "<video title>" by <uploader> on Vimeo, the home for high quality videos and the people who love them.
So for my example: This is "144P.mp4" by orizon on Vimeo, the home for high quality videos and the people who love them.
From what I can tell, this text is meant for display when a video without description is linked by a search engine/an external site, and it's entirely redundant within the context of yt-dlp's --add-metadata, since all the information this ends up giving you (title, uploader, website) already are/can be embedded into different metadata fields.
Furthermore, this sentence isn't even embedded (or doesn't even need to be generated) completely when the video title/uploader name is too long. When downloading https://vimeo.com/704459736 for example, the embedded description just ends up as This is "MAIS... QU'AVEZ-VOUS FAIT À SOLANGE (1972) FILM ANNONCE" by LE CHAT QUI FUME on Vimeo, the home for high quality videos and the people. – no  who love them in this case).
Needless to say, this also means that there can't be a universally working --replace-in-metadata string for this issue.
I don't see why this auto-generated description should be embedded at all and would propose to simply leave the description/synopsis field empty for these videos – the way the uploader intended it to be, and thus the way it's also (not) displayed on the Vimeo page.
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU', '--ffmpeg-location', 'C:\\Program Files\\ffmpeg-master-latest-win64-gpl\\bin', '--add-metadata', '--exec', 'ffprobe -hide_banner', 'https://vimeo.com/689700861']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8 (No VT), error utf-8 (No VT), screen utf-8 (No VT)
[debug] yt-dlp version 2022.06.29 [9d339c4] (win32_exe)
[debug] Python 3.8.10 (CPython 64bit) - Windows-8.1-6.3.9600-SP0
[debug] Checking exe version: "C:\Program Files\ffmpeg-master-latest-win64-gpl\bin\ffmpeg" -bsfs
[debug] Checking exe version: "C:\Program Files\ffmpeg-master-latest-win64-gpl\bin\ffprobe" -bsfs
[debug] exe versions: ffmpeg N-106989-gb033913d1c-20220524 (setts), ffprobe N-106989-gb033913d1c-20220524
[debug] Optional libraries: Cryptodome-3.15.0, brotli-1.0.9, certifi-2022.06.15, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
[debug] Downloading _update_spec from https://github.com/yt-dlp/yt-dlp/releases/download/2022.06.29/_update_spec
Latest version: 2022.06.29, Current version: 2022.06.29
yt-dlp is up to date (2022.06.29)
[debug] [vimeo] Extracting URL: https://vimeo.com/689700861
[vimeo] 689700861: Downloading webpage
[vimeo] 689700861: Downloading JSON metadata
[vimeo] 689700861: Downloading JSON metadata
[vimeo] 689700861: Downloading jwt token
[vimeo] 689700861: Downloading JSON metadata
[vimeo] 689700861: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 689700861: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 689700861: Downloading fastly_skyfire m3u8 information
[vimeo] 689700861: Downloading fastly_skyfire m3u8 information
[vimeo] 689700861: Downloading akfire_interconnect_quic MPD information
[vimeo] 689700861: Downloading akfire_interconnect_quic MPD information
[vimeo] 689700861: Downloading fastly_skyfire MPD information
[vimeo] 689700861: Downloading fastly_skyfire MPD information
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, lang, vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] 689700861: Downloading 1 format(s): http-240p-1
[debug] Invoking http downloader on "https://vod-progressive.akamaized.net/exp=1657824080~acl=%2Fvimeo-prod-skyfire-std-us%2F01%2F2940%2F27%2F689700861%2F3184020618.mp4~hmac=86eeea9594c726c3a139ba2a1407e59b344fd5cac585a3d0a0c604445c79c25f/vimeo-prod-skyfire-std-us/01/2940/27/689700861/3184020618.mp4"
[debug] File locking is not supported. Proceeding without locking
[download] Destination: 144P.mp4 [689700861].mp4
[download] 100% of 2.68MiB in 00:00
[Metadata] Adding metadata to "144P.mp4 [689700861].mp4"
[debug] ffmpeg command line: "C:\Program Files\ffmpeg-master-latest-win64-gpl\bin\ffmpeg" -y -loglevel "repeat+info" -i "file:144P.mp4 [689700861].mp4" -map 0 -dn -ignore_unknown -c copy -write_id3v1 1 -metadata "title=144P.mp4" -metadata "date=20220318" -metadata "description=This is \"144P.mp4\" by orizon on Vimeo, the home for high quality videos and the people who love them." -metadata "synopsis=This is \"144P.mp4\" by orizon on Vimeo, the home for high quality videos and the people who love them." -metadata "purl=https://vimeo.com/689700861" -metadata "comment=https://vimeo.com/689700861" -metadata "artist=orizon" -movflags "+faststart" "file:144P.mp4 [689700861].temp.mp4"
[Exec] Executing command: ffprobe -hide_banner "C:\Users\Redacted\Downloads\dl\144P.mp4 [689700861].mp4"
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\Users\Redacted\Downloads\dl\144P.mp4 [689700861].mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    title           : 144P.mp4
    artist          : orizon
    date            : 20220318
    encoder         : Lavf59.24.100
    comment         : https://vimeo.com/689700861
    description     : This is "144P.mp4" by orizon on Vimeo, the home for high quality videos and the people who love them.
    synopsis        : This is "144P.mp4" by orizon on Vimeo, the home for high quality videos and the people who love them.
  Duration: 00:01:54.60, start: 0.000000, bitrate: 197 kb/s
  Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, smpte170m, progressive), 256x144, 35 kb/s, 15 fps, 15 tbr, 15360 tbn (default)
    Metadata:
      handler_name    : L-SMASH Video Handler
      vendor_id       : [0][0][0][0]
  Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 157 kb/s (default)
    Metadata:
      handler_name    : L-SMASH Audio Handler
      vendor_id       : [0][0][0][0]

Second example link with the description breaking of mid-sentence:
[debug] Command-line config: ['-vU', '--ffmpeg-location', 'C:\\Program Files\\ffmpeg-master-latest-win64-gpl\\bin', '--add-metadata', '--exec', 'ffprobe -hide_banner', 'https://vimeo.com/704459736']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8 (No VT), error utf-8 (No VT), screen utf-8 (No VT)
[debug] yt-dlp version 2022.06.29 [9d339c4] (win32_exe)
[debug] Python 3.8.10 (CPython 64bit) - Windows-8.1-6.3.9600-SP0
[debug] Checking exe version: "C:\Program Files\ffmpeg-master-latest-win64-gpl\bin\ffmpeg" -bsfs
[debug] Checking exe version: "C:\Program Files\ffmpeg-master-latest-win64-gpl\bin\ffprobe" -bsfs
[debug] exe versions: ffmpeg N-106989-gb033913d1c-20220524 (setts), ffprobe N-106989-gb033913d1c-20220524
[debug] Optional libraries: Cryptodome-3.15.0, brotli-1.0.9, certifi-2022.06.15, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
[debug] Downloading _update_spec from https://github.com/yt-dlp/yt-dlp/releases/download/2022.06.29/_update_spec
Latest version: 2022.06.29, Current version: 2022.06.29
yt-dlp is up to date (2022.06.29)
[debug] [vimeo] Extracting URL: https://vimeo.com/704459736
[vimeo] 704459736: Downloading webpage
[vimeo] 704459736: Downloading JSON metadata
[vimeo] 704459736: Downloading JSON metadata
[vimeo] 704459736: Downloading jwt token
[vimeo] 704459736: Downloading JSON metadata
[vimeo] 704459736: Determining source extension
[vimeo] 704459736: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 704459736: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 704459736: Downloading fastly_skyfire m3u8 information
[vimeo] 704459736: Downloading fastly_skyfire m3u8 information
[vimeo] 704459736: Downloading akfire_interconnect_quic MPD information
[vimeo] 704459736: Downloading akfire_interconnect_quic MPD information
[vimeo] 704459736: Downloading fastly_skyfire MPD information
[vimeo] 704459736: Downloading fastly_skyfire MPD information
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, lang, vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] 704459736: Downloading 1 format(s): source
[debug] Invoking http downloader on "https://player.vimeo.com/progressive_redirect/download/704459736/container/4c9b0f17-ddda-4a20-a9da-d26a1c12a12a/f4a57121/mais..._qu%27avez-vous_fait_%C3%80_solange_%281972%29_film_annonce%20%28Original%29.mp4?expires=1657906155&loc=external&session_id=e029b593e4a93e90da312d73320be369871f96e01657819635&signature=1e758bd2d9419ac61ab1cb5226246612f30b790c6966c24cad3704a26601aaeb"
[debug] File locking is not supported. Proceeding without locking
[download] Destination: MAIS... QU'AVEZ-VOUS FAIT À SOLANGE (1972) FILM ANNONCE [704459736].mp4
[download] 100% of 222.27MiB in 00:37
[Metadata] Adding metadata to "MAIS... QU'AVEZ-VOUS FAIT À SOLANGE (1972) FILM ANNONCE [704459736].mp4"
[debug] ffmpeg command line: "C:\Program Files\ffmpeg-master-latest-win64-gpl\bin\ffmpeg" -y -loglevel "repeat+info" -i "file:MAIS... QU'AVEZ-VOUS FAIT À SOLANGE (1972) FILM ANNONCE [704459736].mp4" -map 0 -dn -ignore_unknown -c copy -write_id3v1 1 -metadata "title=MAIS... QU'AVEZ-VOUS FAIT À SOLANGE (1972) FILM ANNONCE" -metadata "date=20220429" -metadata "description=This is \"MAIS... QU'AVEZ-VOUS FAIT À SOLANGE (1972) FILM ANNONCE\" by LE CHAT QUI FUME on Vimeo, the home for high quality videos and the people." -metadata "synopsis=This is \"MAIS... QU'AVEZ-VOUS FAIT À SOLANGE (1972) FILM ANNONCE\" by LE CHAT QUI FUME on Vimeo, the home for high quality videos and the people." -metadata "purl=https://vimeo.com/704459736" -metadata "comment=https://vimeo.com/704459736" -metadata "artist=LE CHAT QUI FUME" -movflags "+faststart" "file:MAIS... QU'AVEZ-VOUS FAIT À SOLANGE (1972) FILM ANNONCE [704459736].temp.mp4"
[Exec] Executing command: ffprobe -hide_banner "C:\Users\Redacted\Downloads\dl\MAIS... QU'AVEZ-VOUS FAIT À SOLANGE (1972) FILM ANNONCE [704459736].mp4"
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\Users\Redacted\Downloads\dl\MAIS... QU'AVEZ-VOUS FAIT À SOLANGE (1972) FILM ANNONCE [704459736].mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    title           : MAIS... QU'AVEZ-VOUS FAIT À SOLANGE (1972) FILM ANNONCE
    artist          : LE CHAT QUI FUME
    date            : 20220429
    encoder         : Lavf59.24.100
    comment         : https://vimeo.com/704459736
    description     : This is "MAIS... QU'AVEZ-VOUS FAIT À SOLANGE (1972) FILM ANNONCE" by LE CHAT QUI FUME on Vimeo, the home for high quality videos and the people.
    synopsis        : This is "MAIS... QU'AVEZ-VOUS FAIT À SOLANGE (1972) FILM ANNONCE" by LE CHAT QUI FUME on Vimeo, the home for high quality videos and the people.
  Duration: 00:03:03.51, start: 0.000000, bitrate: 10162 kb/s
  Stream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 9965 kb/s, 23.98 fps, 23.98 tbr, 16k tbn (default)
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
  Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 192 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      vendor_id       : [0][0][0][0]

I see... Vimeo injects a placeholder description. Hmm... So what is the solution to this issue? Can't the description just be left empty?

As a temporary solution, --replace-in-metadata meta_description "^Power your marketing strategy with perfectly branded videos to drive better ROI\.$" "" works with the current placeholder description.

As a temporary solution, --replace-in-metadata meta_description "^Power your marketing strategy with perfectly branded videos to drive better ROI\.$" "" works with the current placeholder description.

Thanks for the suggestion. Much appreciated. I will add that the placeholder description does not necessarily stay the same. I've come across two possibilities:
1. "Power your marketing strategy with perfectly branded videos to drive better ROI."
2. "This is "<video title>" by <channel name> on Vimeo, the home for high quality videos and the people who love them."

so one will have to find out what the placeholder description is beforehand at any moment in time.

Found the mistake, you have to use --replace-in-metadata description instead of meta_description. The latter only works for me because I'm using it in conjunction with --parse-metadata "description:(?s)(?P<meta_description>.+)". My bad.

I will add that the placeholder description does not necessarily stay the same. I've come across two possibilities:
1. "Power your marketing strategy with perfectly branded videos to drive better ROI."
2. "This is "<video title>" by <channel name> on Vimeo, the home for high quality videos and the people who love them."

Any examples of the second one? I only get the "Power your marketing ..." one now.

@clusterized
Thanks for the updated command.
Here is one URL where the second type off placeholder description is used:
https://vimeo.com/546876993
This is what I get as the description by yt-dlp, even though the description is empty:
This is "History of Zimbabwe Part 2 Zimbabwes half century under British rule (1914 - 1965).mp4" by Micahistory on Vimeo, the home for high quality videos…

Here is one URL where the second type off placeholder description is used:
https://vimeo.com/546876993

That's strange, for me it's:
[debug] Command-line config: ['-v', '--get-description', 'https://vimeo.com/546876993']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8 (No VT), error utf-8 (No VT), screen utf-8 (No VT)
[debug] yt-dlp version<EMAIL_ADDRESS>[392389b7d] (win_exe)
[debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-8.1-6.3.9600-SP0 (OpenSSL 1.1.1k  25 Mar 2021)
[debug] exe versions: ffmpeg 4.3, ffprobe 2022-07-24-git-39a538f430-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.17, brotli-1.0.9, certifi-2022.12.07, mutagen-1.46.0, sqlite3-2.6.0, websockets-10.4
[debug] Proxy map: {}
[debug] Loaded 1786 extractors
[vimeo] Extracting URL: https://vimeo.com/546876993
[vimeo] 546876993: Downloading webpage
[vimeo] 546876993: Downloading JSON metadata
[vimeo] 546876993: Downloading JSON metadata
[vimeo] 546876993: Downloading jwt token
[vimeo] 546876993: Downloading JSON metadata
[vimeo] 546876993: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 546876993: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 546876993: Downloading fastly_skyfire m3u8 information
[vimeo] 546876993: Downloading fastly_skyfire m3u8 information
[vimeo] 546876993: Downloading akfire_interconnect_quic MPD information
[vimeo] 546876993: Downloading akfire_interconnect_quic MPD information
[vimeo] 546876993: Downloading fastly_skyfire MPD information
[vimeo] 546876993: Downloading fastly_skyfire MPD information
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, lang, vcodec:vp9.2(10), channels, acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] 546876993: Downloading 1 format(s): hls-fastly_skyfire-578
Power your marketing strategy with perfectly branded videos to drive better ROI.

@clusterized I tried again and I get the same as you. I guess it might change based on geography, time of day etc. However, I CAN recreate it if I use cookies from when I'm logged in. Save the cookies for Vimeo from your browser to file cookies.txt, then run this:
yt-dlp -vU --cookies cookies.txt --get-description "https://vimeo.com/546876993"
Result:
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[2fb35f600] (zip)
[debug] Python 3.8.10 (CPython x86_64 64bit) - Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-glibc2.29 (OpenSSL 1.1.1f  31 Mar 2020, glibc 2.31)
[debug] exe versions: ffmpeg n4.4-154-g79c114e1b2-20210923 (setts)
[debug] Optional libraries: certifi-2019.11.28, secretstorage-2.3.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] Loaded 1840 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp-nightly-builds/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>Current Build Hash: 247558cbb8217dd7784191cdf013eb490b377a2654c3ccb475416ca675a9aca8
yt-dlp is up to date<EMAIL_ADDRESS>[vimeo] Extracting URL: https://vimeo.com/546876993
[vimeo] 546876993: Downloading webpage
[vimeo] 546876993: Downloading JSON metadata
[vimeo] 546876993: Downloading JSON metadata
[vimeo] 546876993: Downloading jwt token
[vimeo] 546876993: Downloading JSON metadata
[vimeo] 546876993: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 546876993: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 546876993: Downloading fastly_skyfire m3u8 information
[vimeo] 546876993: Downloading fastly_skyfire m3u8 information
[vimeo] 546876993: Downloading akfire_interconnect_quic MPD information
[vimeo] 546876993: Downloading akfire_interconnect_quic MPD information
[vimeo] 546876993: Downloading fastly_skyfire MPD information
[vimeo] 546876993: Downloading fastly_skyfire MPD information
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, lang, vcodec:vp9.2(10), channels, acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] 546876993: Downloading 1 format(s): hls-fastly_skyfire-578
This is "History of Zimbabwe Part 2 Zimbabwes half century under British rule (1914 - 1965).mp4" by Micahistory on Vimeo, the home for high quality videos…```

Yes, I can reproduce.
--replace-in-metadata description "This is \".*\" by .* on Vimeo, the home for high quality videos.*" "" should handle this, right?


Parse short description from recap.email subject

This PR solves https://github.com/freelawproject/courtlistener/issues/2638
Now the short_description is parsed from the email subject, there are some variations depending on the type of notifications as described below:
For District notifications:
e.g: Activity in Case 1:21-cv-01456-MN CBV, Inc. v. ChanBond, LLC Letter
short_description: Letter
The short description is after the case name (e.g: CBV, Inc. v. ChanBond, LLC) and it works every time according to our examples.
For Appellate notifications:
e.g: 21-1975 New York State Telecommunicati v. James "Letter RECEIVED"
short_description: Letter RECEIVED
The short description is after the case name (e.g: New York State Telecommunicati v. James) contained within "", sometimes there are additional chars after the short description that's why it uses regex to capture the short description within"" and it works every time according to our examples.
For Bankruptcy notifications:
Unfortunately, there is no unique subject format for bankruptcy notifications, it seems that every court can have its own subject format. That's why we can only ensure getting the right short_description for courts we have examples.
cacb and ctb
e.g: 6:22-bk-13643-SY Request for courtesy Notice of Electronic Filing (NEF)
short_description: Request for courtesy Notice of Electronic Filing (NEF)
The short description is after the docket number (6:22-bk-13643), so we need to remove docket number traces like -SY.
njb
e.g: Ch-11 19-27439-MBK Determination of Adjournment Request - Hollister Construc
short_description: Determination of Adjournment Request
The short description is after the docket number (19-27439), so we need to remove docket number traces like -MBK.
Also is needed to remove additional strings after the last -
nysb
e.g: 22-22507-cgm Ch13 Affidavit Re: Gerasimos Stefanitsis
short_description: Affidavit
Here we need to remove the case_name, remove strings like Re: and also remove the Chapter (strings that start with Ch), finally remote the docket number and its traces like -cgm
pawb
e.g: Ch-7 22-20823-GLT U LOCK INC Reply
short_description: Reply
In this court the short_description is just right after the case_name
In case we receive a notification where we can't parse the short_description, it will be left blank. We may return here later to look for new bankruptcy examples from other courts and add support for them.
Let me know what you think.

Thanks, I've checked the examples you mentioned. I added some screenshots and comments above to confirm which is the correct short description. Is there a place in PACER to confirm them?
Once we can confirm they're correct, maybe it's a better idea to parse short descriptions for appellate from the footer since the short description in the subject might be truncated sometimes.

Back at you. I think we should use the footer, like you say, unfortunately.

Sure, now the short description for appellate notifications is also parsed from the footer.
However, while working on it, I noticed some exceptions:

Sometimes the notification in the footer just says Main document. In these cases, we take the short description from the subject.
Sometimes the NDA doesn't have a document footer (as in minute entries). In those cases, the short description is taken from the subject.

In general, we choose the longer short description from either the footer or the subject. For example, in the case above, the subject is Notice re: and the footer is Notice re: Regarding Resolution of Conflict with Proposed Argument dates. Therefore, we choose the footer description.
Here are other examples where the short description changes based on these rules, just to confirm that they look good:
Previous: Motion filed Take Judicial Notice
New: Appellant's Motion to Take Judicial Notice
Previous: Defective Document FILED
New: Defective Document Notice
Previous: ruling letter sent
New: Reset Briefing Schedule Letter
Previous: Correspondence/Letter to Court
New: Appellants' Response to Appellee Facebook's July 29, 2022 letter

This turned out to be harder than expected. Hopefully our client will be happy.


Allow setting iout?d to 0 for no output.

This PR disables output when iout[0-3]d, icheck, or isave are set to 0.

Excellent, thanks Mao @soaringxmc!
This sounds good, I just want to do some small checks because evaluating mod(0,0) may break a run, as it is undefined. I'll get back to you soon.

This program does breaks for me:
  integer :: a,i
  a = 0
  i = 10
  if (a > 0.and.mod(i,a) == 0) then
    print *, '1'
  else
    print *, '2'
  end if
end

when compiled with gfortran -fcheck=all test.f90 && ./a.out. A solution without resorting to nested ifs could be evaluating mod(istep,max(1,out1d)).

 I also think mod(istep,max(1,out1d)) is a good solution.

Sounds good, do you want to update your PR with this change? We should also allow for masking the post-processing of the initial conditions when the simulation starts: https://github.com/CaNS-World/CaNS/blob/main/src/main.f90#L328,L330.

Okay. I will update my PR.

Thanks! I see now that I can also push to your fork, so if you'd like, I can also make the changes.

Hi, Pedro! I have updated the PR.

Thanks Mao! I pushed some minor changes. I think this PR now nicely addresses #121 in a more elegant way.


Evaluate your method on Yolo5

You show some examples of failures in the experiments. Actually, I guess that was caused by the weak feature extractor. There are some latest feature exactors like YOLO-v5, v7, and transformers.
I wonder if it will take a lot of time to apply your method to these networks? I want to apply your method to YOLO v5. Could you give me some suggestions? I think you are experienced.

Feature extractors could be one of the reasons that limit the detection performance.
In addition, I think the deployment of our approach on YOLOv5 is similar to OA-MIL FasterRCNN (please refer to standard_roi_head_oamil.py for implementation details). It may not take much time to apply OA-MIL to YOLOv5. You could implement it as follows:
1. construct object bags
   - each positive object bag is composed of anchors that correspond to the same ground-truth box
2. perform instance selection on each object bag, and output the best selected instances (Eq. 4 in the paper)
3. compute instance selection loss for object bags
4. compute classification and localization losses based on the best selected instances

I read your code. The difference between 'xxxxxx_r50_fpn_coco_oamil.py' and 'xxxxxx_r50_fpn_coco.py' is that you defined two new classes in these two files as follows.

You give me four suggestions in the previous comments,  and all of them are implemented in these two files, right?  And then, you register these new classes in the 'init' file.
Did you change the other source code in mmdetection? (or add new files).

The implementations of OA-MIL are in these two files. No other modification is required.

您好，请问您在yolo上实现了作者的方法了吗？

您好，请问您yolo上实现了作者的方法吗？

没有。我尝试了但没有成功。