Dio freezes UI

Issue Info

Info
Value

Platform Name
android

Platform Version
8.0

Dio Version
2.1.17

Android Studio / Xcode Version
e.g. Android Studio 3.5 beta1

Repro rate
all the time (100%)

Repro with our demo prj
no

Issue Description and Steps
import 'package:device_kast_manager/di/injector.dart';
import 'package:dio/dio.dart';
import 'package:flutter/foundation.dart';
import 'package:html/parser.dart' show parse;
import 'package:kiwi/kiwi.dart' as kiwi;

class ImageRepository {
  final Dio _api;

  ImageRepository(this._api);

  Future<List<String>> getTeamImages({CancelToken cancelToken}) async {
    final dio = kiwi.Container().resolve<Dio>(SIMPLE_DIO);
    print(DateTime.now().toString());
    final result = await dio.get<String>('https://icapps.com/team');
    print(DateTime.now().toString());
    return compute(parseHtml, result.data);
  }
}

Future<List<String>> parseHtml(String html) async {
  try {
    print(DateTime.now().toString());
    final body = parse(html).body;
    final employeeList = body.getElementsByClassName('employee');
    final list = employeeList.map((employeeElement) => employeeElement.getElementsByTagName('img')[0].attributes['src']).toList();
    print(DateTime.now().toString());
    return list;
  } catch (e) {
    return [];
  }
}

When your widget tree is just a ProgressIndicator your UI will freeze.  Am I doing something wrong? Most of the time the UI freezes a couple seconds before the call is finished

We worked all day on finding out why this api call blocks my UI.
We improved one of our own libraries that had issues with http requests.
But we found that when executing the call with
http.get('https://icapps.com/team'); we had no issues.
This leads us to believe we are doing something wrong with dio. Or the performance of dio is not great. Can you help us out?

Could you provide a min runnable demo?


Exercises-w2

Exercises
Name
kevin
Class
214
GitHub username
qiubee
Bootcamp exercises
Exercises
Bootcamp notes
Notes

Your exercises have been checked and your grade is added to the admin sheet. Notes are a bit empty?
Results in the next lesson!


[c++] Remove one std::move avoiding 'pessimizing move' (closes #362)

As discussed in #362, we see a nag from g++ 13.2.0 about a 'pessimizing move' from this std::move and the compiler itself suggests removing it.  Did so, and did not tickle a valgrind issue is casual testing.

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

Comparison is base (a0684aa) 88.19% compared to head (de26e28) 86.79%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #363      +/-   ##
==========================================
- Coverage   88.19%   86.79%   -1.40%
==========================================
  Files          74        6      -68
  Lines       12212      212   -12000
==========================================
- Hits        10770      184   -10586
+ Misses       1442       28    -1414

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


helm 3 install - HA sum of helm-v3.6.3-linux-amd64.tar.gz does not match

Obtain get_helm (version 3) script from https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 and grant execution permission.  The installation of helm fails upon running it ("Verifying checksum... SHA sum of /tmp/helm-installer-96l2g6/helm-v3.6.3-linux-amd64.tar.gz does not match. Aborting.").
# curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
# chmod 700 get_helm.sh
# ./get_helm.sh
Helm v3.6.3 is available. Changing from version v3.4.2.
Downloading https://get.helm.sh/helm-v3.6.3-linux-amd64.tar.gz
Verifying checksum... SHA sum of /tmp/helm-installer-96l2g6/helm-v3.6.3-linux-amd64.tar.gz does not match. Aborting.
Failed to install helm
        For support, go to https://github.com/helm/helm.

Hey @chudanie. It might be a flake as it seems to be working for me:
$ ./get_helm.sh

Helm v3.6.3 is available. Changing from version v3.3.1.
Downloading https://get.helm.sh/helm-v3.6.3-linux-amd64.tar.gz
Verifying checksum... Done.
Preparing to install helm into /usr/local/bin
helm installed into /usr/local/bin/helm

Do you mind trying again?

Slight hiccup during the release process. All seems good now or we would’ve heard more reports. Thanks!

it happens again
Downloading https://get.helm.sh/helm-3.6.3-linux-amd64.tar.gz
Verifying checksum... SHA sum of /tmp/helm-installer-W3uGLM/helm-3.6.3-linux-amd64.tar.gz does not match. Aborting.
Failed to install helm with the arguments provided: -v 3.6.3

@bacongobbler  thx!


Prometheus outside kubernetes cluster. how to use?

i have the Following prometheus rule:
sum(rate(api_request_count{servname="gateway"}[30s])) by (servname)

prometheus-adapter Rule-Definition:
    rules:
    - seriesQuery: 'api_request_count'
      resources:
        template: <<.Resource>>
        overrides:
          servname: {group: "apps", resource: "statefulset"}
      name:
        matches: "^(.*)_count"
        as: "${1}_per_second"
      metricsQuery: 'sum(rate(<<.Series>>{<<.LabelMatchers>>}[30s])) by (<<.GroupBy>>)'

and querying the metrics-api gives me the Following:
kubectl get --raw "/apis/custom.metrics.k8s.io/v1beta1/namespaces/service/statefulsets/gateway/api_request_per_second
Error from server (NotFound): the server could not find the metric api_request_per_second for statefulsets gateway

prometheus adaper log(urldecode):
I0819 03:06:47.856687       1 api.go:74] GET http://sla.prometheus.pri.ibanyu.com/api/v1/query?query=sum(rate(api_request_count{namespace="service",servname="gateway"}[30s])) by (servname)&time=1597806407.851 200 OK

I expect to get the following query request:
sum(rate(api_request_count{servname="gateway"}[30s])) by (servname)  #Remove the namespace label

would be great if anyone could help me finding the correct way to get this working :)

what do you see when you query kubectl get --raw "/apis/custom.metrics.k8s.io/v1beta1/ ???

# kubectl get --raw "/apis/custom.metrics.k8s.io/v1beta1/" | jq .
{
  "kind": "APIResourceList",
  "apiVersion": "v1",
  "groupVersion": "custom.metrics.k8s.io/v1beta1",
  "resources": [
    {
      "name": "statefulsets.apps/palfish_api_request_per_second",
      "singularName": "",
      "namespaced": true,
      "kind": "MetricValueList",
      "verbs": [
        "get"
      ]
    },
    {
      "name": "jobs.batch/palfish_api_request_per_second",
      "singularName": "",
      "namespaced": true,
      "kind": "MetricValueList",
      "verbs": [
        "get"
      ]
    }
  ]
}

@Ping-Lin-108 This is the output info. My  metrics do not have metrics associated with k8s namespace.

# kubectl get --raw "/apis/custom.metrics.k8s.io/v1beta1/" | jq .
{
  "kind": "APIResourceList",
  "apiVersion": "v1",
  "groupVersion": "custom.metrics.k8s.io/v1beta1",
  "resources": [
    {
      "name": "statefulsets.apps/palfish_api_request_per_second",
      "singularName": "",
      "namespaced": true,
      "kind": "MetricValueList",
      "verbs": [
        "get"
      ]
    },
    {
      "name": "jobs.batch/palfish_api_request_per_second",
      "singularName": "",
      "namespaced": true,
      "kind": "MetricValueList",
      "verbs": [
        "get"
      ]
    }
  ]
}

@Ping-Lin-108 This is the output info. My metrics do not have metrics associated with k8s namespace.

I think you only have palfish_api_request_per_second under the custom metric api..  is it the same one as you describe above 'api_request_per_second' ? if yes, I think you could get it by through this call kubectl get --raw "/apis/custom.metrics.k8s.io/v1beta1/statefulsets.apps/palfish_api_request_per_second?
btw, is  palfish_api_request_per_second under namespace called 'service'?

# kubectl get --raw "/apis/custom.metrics.k8s.io/v1beta1/" | jq .
{
  "kind": "APIResourceList",
  "apiVersion": "v1",
  "groupVersion": "custom.metrics.k8s.io/v1beta1",
  "resources": [
    {
      "name": "statefulsets.apps/palfish_api_request_per_second",
      "singularName": "",
      "namespaced": true,
      "kind": "MetricValueList",
      "verbs": [
        "get"
      ]
    },
    {
      "name": "jobs.batch/palfish_api_request_per_second",
      "singularName": "",
      "namespaced": true,
      "kind": "MetricValueList",
      "verbs": [
        "get"
      ]
    }
  ]
}

@Ping-Lin-108 This is the output info. My metrics do not have metrics associated with k8s namespace.

I think you only have palfish_api_request_per_second under the custom metric api.. is it the same one as you describe above 'api_request_per_second' ? if yes, I think you could get it by through this call kubectl get --raw "/apis/custom.metrics.k8s.io/v1beta1/statefulsets.apps/palfish_api_request_per_second?
btw, is palfish_api_request_per_second under namespace called 'service'?

These two metrics are exactly the same.
I try to access without the namespace parameter.
# kubectl get --raw "/apis/custom.metrics.k8s.io/v1beta1/statefulsets.apps/api_request_per_second"
Error from server (NotFound): the server could not find the requested resource

log:
I0901 02:02:46.214835       1 handler.go:143] prometheus-metrics-adapter: GET "/apis/custom.metrics.k8s.io/v1beta1/statefulsets.apps/palfish_api_request_per_second" satisfied by gorestful with webservice /apis/custom.metrics.k8s.io/v1beta1
I0901 02:02:46.215074       1 httplog.go:90] GET /apis/custom.metrics.k8s.io/v1beta1/statefulsets.apps/palfish_api_request_per_second: (762.021µs) 404 [kubectl/v1.15.3 (linux/amd64) kubernetes/2d3c76f <IP_ADDRESS>:50008]

It seems that I can't directly access through statefulset api.

@wangycc As commented in https://github.com/prometheus-operator/kube-prometheus/issues/651#issuecomment-686320709, custom metrics are always namespace bound, that's by design in the custom metrics API.


Fixed typo on 'noanalyze' command help

'dynamicially' -> 'dynamically'

Thanks, landed on<PHONE_NUMBER>8a90b7295684e0a8dc707a5df869b1


Support Puppet 7

 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.

It would be great if this module could indeed be bumped to support a non-EOL version of Puppet. This module is for example relied upon by puppetlabs-node_encrypt.

Maybe instead ping about #37? That MR has had some more progress on the very same front. This PR should be closed in my humble opinion.

@XMol Indeed, the other PR is more advanced (but not (yet) bumping the Puppet version). I'll bump it, too.

Support added in #43


Document that no cache is saved on an exact match and thus file hashes should be included in keys

The (unexpected, to me) fact that the cache isn't updated on an exact match seems to be an important point worthy of being documented, and it helps to explain exactly why hash expressions should be included in keys.

Exact match of the key means cache hit. When a cache hit occurs, cache wouldn't be updated as cache is already present there. When a cache miss occurs, cache will be updated for future use.
It seems you are suggesting that users might not be familiar with concept of caching. Is that right?

@Phantsure I'm suggesting they might not be familiar with the "When a cache hit occurs, cache wouldn't be updated" aspect of caching, yes.

cc @vsvipul For second par of eyes. Does this change makes sense here or should it be present at all?

You are suggesting to call out two things:

Cache is not saved on cache hit
Use hash of dependency files in key, so as to invalidate cache when files change.

@jwodder Is that right?

@Phantsure Yes.

cache not saved on hit, read below example workflow: https://github.com/actions/cache#example-workflow
Use hashfiles: https://github.com/actions/cache#creating-a-cache-key

All seems resolved, So I am closing this PR. Thank you for your contribution @jwodder


Add support for HBO GO Poland

Hello, can you add support for HBO GO Poland?
https://hbogo.pl
I know this has Microsoft Smooth Streaming DRM.

please provide example URL


Unable to specifiy relative urls with aiohttp router

Long story short
With running multipule reverse proxies via nginx, I would like to have the ability to have an application start from a relative endpoint rather than root. I am currently blocked by the frameworks control logic to force a root-level URL.
https://github.com/KeepSafe/aiohttp/blob/master/aiohttp/web_urldispatcher.py#L795
Expected behaviour
Ideally, I would be allowed to execute three instances of aiohttp.web on three ports. This is already possible, but the ability to shard it is not.
http://localhost/app-one/awesome.html
http://localhost/app-two/awesome.html
http://localhost/app-three/awesome.html
def init_app(argv):
    app = web.Application()
    app.router.add_route('GET', 'awesome.html', awesome_handler, name="awesome")
    return app

Actual behaviour
File "lib/python3.5/site-packages/aiohttp/web.py", line 376, in <module>
  main(sys.argv[1:])
File "lib/python3.5/site-packages/aiohttp/web.py", line 371, in main
  app = func(extra_argv)
File "public_app.py", line 19, in init_app
  app.router.add_route('GET', 'authorize.html', authorize_handler, name="awesome")
File "lib/python3.5/site-packages/aiohttp/web_urldispatcher.py", line 821, in add_route
  resource = self.add_resource(path, name=name)
File "lib/python3.5/site-packages/aiohttp/web_urldispatcher.py", line 783, in add_resource
  raise ValueError("path should be started with /")
ValueError: path should be started with /

Steps to reproduce
Execute the following:
#!/usr/bin/env python

from aiohttp import web

async def awesome_handler(request):
  return web.Response(body="
Awesome
".encode('utf-8'))

def init_app(argv):
  app = web.Application()
  app.router.add_route('GET', 'awesome.html', awesome_handler, name="awesome")
  return app

With the following commands:
python -m aiohttp.web -H <IP_ADDRESS> -P 8000 greetings.public_app:init_app
python -m aiohttp.web -H <IP_ADDRESS> -P 8001 greetings.public_app:init_app
python -m aiohttp.web -H <IP_ADDRESS> -P 8002 greetings.public_app:init_app
Your environment
I'm running Ubuntu 14.04 LTS, with nginx sitting in front of the application as a reverse proxy.  In the upstream, the three hosts are configured with the respective ports. In the nginx.server context, a location with reverse_proxy. The context of this environment is out of scope, but for testing purposes, here is the configuration you can use.
upstream appone {
  server <IP_ADDRESS>:8000 max_fails=2 fail_timeout=65;
}
upstream apptwo {
  server <IP_ADDRESS>:8001 max_fails=2 fail_timeout=65;
}
upstream appthree {
  server <IP_ADDRESS>:8002 max_fails=2 fail_timeout=65;
}
server {
  listen 80 default deferred;
  server_name localhost,<IP_ADDRESS>;
  location /application-one {
    include proxy_params;
    proxy_set_header  X-Forwarded-Host $host;
    proxy_set_header  X-Forwarded-Server $host;
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header  X-Real-IP $remote_addr;
    proxy_set_header  X-Referer $http_referer;
    proxy_set_header  Host $http_host;
    proxy_pass        http://app;
  }
  location /application-two {
    include proxy_params;
    proxy_set_header  X-Forwarded-Host $host;
    proxy_set_header  X-Forwarded-Server $host;
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header  X-Real-IP $remote_addr;
    proxy_set_header  X-Referer $http_referer;
    proxy_set_header  Host $http_host;
    proxy_pass        http://apptwo;
  }
  location /application-three {
    include proxy_params;
    proxy_set_header  X-Forwarded-Host $host;
    proxy_set_header  X-Forwarded-Server $host;
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header  X-Real-IP $remote_addr;
    proxy_set_header  X-Referer $http_referer;
    proxy_set_header  Host $http_host;
    proxy_pass        http://appthree;
  }
}

Hi,
Either use prefix in route:
app.router.add_route('GET', '/{appname}/awesome.html', awesome_handler, name="awesome")

or configure nginx, see proxy_pass + rewtite documentation

Hi popravich,
Both of those suggested solutions do solve the immediate problem. However, they don't solve the full scope of the issue I've highlighted. If I were to move forward with either solution you've proposed, it would require me to employ code generation or 'dynamic' routing.
The control structure, requiring the leading '/', is that from a design decision? If it is not a design decision, I can contribute code to fix it.

Requiring leading slash is by design.
Allowing relative routes will bring more uncertainty -- the urls would match by tail and it would become real problem with dynamic routes:
app.router.add_route('GET', 'awesome.html', awesome_handler, name='awesome')
# many other routes
app.router.add_route('GET', '/blog/{page}.html', blog_handler)

In this case any url ending with awesome.html will be handled by awesome_handler,
maybe it so awesome that it can handle and awesome.html but I am sure that one would
expect that /blog/awesome.html is handled by blog_handler.
Trying to solve this issue will make routing even more tangled...

Anyway, I think your problem can be solved in different way:
AFAIR, UrlDispatcher does not honor SCRIPT_NAME header and maybe we can make use of it.

@popravich I don't follow how SCRIPT_NAME may help but I totally agree with you: leading slash is design decision and nginx rewrite may solve request of @jbcurtin.
Closing the issue.


Handle schema definition arrays

If you want to share some sub-components between schemas the cleanest way to do it (i.e. readability) is to put them into an array like a union e.g.
[
  {
    "type": "record",
    "name": "KafkaEventHeader",
    "namespace": "com.example.kafka.core",
    "doc" : "Our standard kafka header",
    "fields": [
        {
            "name": "correlationId",
            "type": "string",
            "doc" : "Unique identifier e.g. GUID that is passed to other events created from this one so that we can track across processes"
        },
        {
            "name": "processPath",
            "doc" : "A breadcrumbs structure to help analyse the provenance of an event",
            "type": [
                "null",
                {
                    "type": "array",
                    "items": {
                        "type": "record",
                        "namespace": "com.example.kafka.core",
                        "name": "ProcessPathElement",
                        "semVer" : "1.0.0",
                        "docURL" : "https://avro.example.com/kafka/core/ProcessPathElement/1.0.0",
                        "doc" : "Struct that contains info about each process step",
                        "fields": [
                            {
                                "name": "source",
                                "type": "string",
                                "doc" : "Name of the processor that generated this event"
                            },
                            {
                                "name": "timestamp",
                                "type": "string"
                            }
                        ]
                    }
                }
            ]
        }
    ]
  },
  {
    "type": "record",
    "name": "CustomerValue",
    "namespace": "com.example.customer",
    "doc" : "A person with a favourite colour",
    "fields": [
        {
            "name": "header",
            "type": "com.example.kafka.core.KafkaEventHeader"
        },
        {
            "name": "userId",
            "type": "string"
        },
        {
            "name": "favouriteColour",
            "type": "string"
        }
    ]
  }
]

In this example our actual record is created with the CustomerValue schema, which includes the KafkaEventHeader etc.
This is valid Avro, it works fine with the Kafka SerDes, and it works fine with the Schema Registry, although the Schema Registry merges the KafkaEventHeader into the CustomerValue so that the record definitions are inline. As far as I can tell it actually creates a GenericRecord (or something), then extracts the schema from that, so it's actually Avro tooling that merges the definitions.
However when using this approach the Info view in the schema-registry-ui is just blank.
Would it be possible to update the Info view to iterate through all of the record/schema definitions in the schema file?

Hi @teq0! Thanks for the issue. Yeap... it seems we don't handle the arrays. We will update asap!

The fix works for displaying existing schemas but it gives a validation era if you try to add one via the UI.
Switching to curl mode, the generated curl command works from a command line, and it then displays just fine.
Here's the exact schema I just tried:
[
  {
    "type": "record",
    "name": "KafkaEventHeader",
    "namespace": "com.example.kafka.core",
    "doc": "Our standard kafka header",
    "fields": [
      {
        "name": "correlationId",
        "type": "string",
        "doc": "Unique identifier e.g. GUID that is passed to other events created from this one so that we can track across processes"
      },
      {
        "name": "processPath",
        "type": [
          "null",
          {
            "type": "array",
            "items": {
              "type": "record",
              "name": "ProcessPathElement",
              "doc": "Struct that contains info about each process step",
              "fields": [
                {
                  "name": "source",
                  "type": "string",
                  "doc": "Name of the processor that generated this event"
                },
                {
                  "name": "timestamp",
                  "type": "string"
                }
              ],
              "semVer": "1.0.0",
              "docURL": "https://avro.example.com/kafka/core/ProcessPathElement/1.0.0"
            }
          }
        ],
        "doc": "A breadcrumbs structure to help analyse the provenance of an event"
      }
    ],
    "semVer": "1.0.0",
    "docURL": "https://avro.example.com/kafka/core/KafkaEventHeader/1.0.0"
  },
  {
    "type": "record",
    "name": "test4001_value",
    "namespace": "com.example.customer",
    "doc": "A person with a favourite colour",
    "fields": [
      {
        "name": "header",
        "type": "com.example.kafka.core.KafkaEventHeader"
      },
      {
        "name": "userId",
        "type": "string"
      },
      {
        "name": "favoriteColour",
        "type": "string"
      }
    ],
    "semVer": "1.0.0",
    "docURL": "https://avro.example.com/kafka/customer/test4001-value/1.0.0"
  }
]

Schemas with arrays are still not supported in the UI, so I'm not sure why this issue has been closed.

Hi,
Is this fixed yet? I am trying to create a schema where one of the fields is an array with its own schema and I am unable to do so as it says it fails validation.
If its still not possible it seems like a pretty big bug...


Deposit single cell profiles in S3

@shntnu will do

First move data to s3://cellpainting-gallery
aws s3 sync \
  --dryrun \
  --profile imaging-amazon \
  --acl bucket-owner-full-control \
  --request-payer requester \
  --metadata-directive REPLACE \
  s3://cellpainting-datasets/Rosetta-GE-CP/preprocessed_data \
  s3://cellpainting-gallery/rosetta/broad/workspace/preprocessed_data

@MarziehHaghighi I have successfully copied the files over from s3://cellpainting-datasets/Rosetta-GE-CP/preprocessed_data. You can now delete the files at s3://cellpainting-datasets/Rosetta-GE-CP/preprocessed_data.
Note that the topic of this issue is about single cell data, but I have not gotten to that yet. This is only about copying the existing data to the  s3://cellpainting-gallery/

@shntnu How can I have access to s3://cellpainting-gallery for adding DVC and also any other modifications?

@shntnu How can I have access to s3://cellpainting-gallery for adding DVC and also any other modifications?

I should have clarified

We won't use DVC after all; just store directly on S3
For now, the best approach to update any data on s3://cellpainting-gallery is to have you upload to  s3://cellpainting-datasets/ and then ask me (in this issue) to sync it.


Vickel: Watch astiinfotech.com

Vickel requests the watch of the watch_keyword astiinfotech\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by VLAZ in Charcoal HQ


Applicative RequestReader

I think it would be useful to provide an applicative interface to request readers, as this would allow for validation that collected all errors rather than just the first one.

I am on holiday at the moment, but would be happy to have a go at making this happen when I get back. The obvious question here, is what this should look like. Given that applicative functions aren't in scala's predef, and having scalaz-core as a dependency feels a little heavy, I guess we could just have a function for chaining request readers together that return an aggregate exception?

Hi @benjumanji! I was trying to avoid the scalaz dependency as long as possible. The only thing we needed so far is Reader which is a RequestReader. It would be nice to avoid this dependency in this time also. Let's wait for the third time we need scalaz. It might be a good sign to add it.
I agree, we should provide a way to collect all the exceptions thrown by RequestReader. This will allow for example to verify all the fields from the request and immediately mark them red in the UI. While now, we can mark them one-by-one, which is kinda annoying.
I would love to see a PR from you with this important change. Do you have any particular sketch in mind on how would the API look like?

BTW, there is a light-weight version of scalaz that appears like 1 hour ago: https://github.com/mpilquist/fundamentum. The project is still in progress, but I think it's worth to look at it.

Note that this would very likely also require to change the DecodeRequest API. It currently just returns a None in case of parsing/validation error, so even if we combine the parameter and header errors, the error handling would still be incomplete if we cannot report body parser errors more precisely than with a generic "parsing JSON body failed".

Thanks for the feedback @jenshalm! You're right, we might consider redesigning the DecodeRequest to return Either or Try instead of Option.

Just wondering—how would people feel about an Algebird dependency? You'd probably still want to add some syntax on top of its Applicative, and it's not a super light dependency, but it'd give you this abstraction (and others—in fact it includes a reader monad implementation, although I don't know off the top of my head how easy it'd be to drop in here) in a Twitter-friendly form.
"That's a terrible idea and not in line with the goals of this project" is a completely reasonable answer, of course.

Hi Travis! This is probably one of the possible roadmaps for Finch. What I'm planing to do is to release 0.5.0 with applicative reader and route combinators. The next step would be analyzing the possible libraries we can use to put Finch abstraction on top of them. There are not to many libraries we can use. But we can definitely extends that list with Algebird. I will create a ticket regarding this.


Schema DDL: generate table definition for [ {objectA}, {objectA}, ...] as objectA

Migrated from https://github.com/snowplow/schema-ddl/issues/49

Migrated to https://github.com/snowplow-incubator/schema-ddl/issues/39


Download videos from spankbang profile

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I remove or skip any mandatory* field

Checklist

[X] I'm requesting a site-specific feature
[X] I've verified that I'm running yt-dlp version 2022.10.04 (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://spankbang.com/profile/kagoshi/videos
Provide a description that is worded well enough to be understood
Download videos from spankbang profile
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
❯ yt-dlp -vU https://spankbang.com/profile/kagoshi/videos
[debug] Command-line config: ['-vU', 'https://spankbang.com/profile/kagoshi/videos']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.10.04 [4e0511f] API
[debug] Python 3.10.7 (CPython 64bit) - Linux-5.19.13-1-MANJARO-x86_64-with-glibc2.36 (glibc 2.36)
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 5.1.2 (setts), ffprobe 5.1.2, phantomjs 2.1.1, rtmpdump 2.4
[debug] Optional libraries: Cryptodome-3.12.0, brotlicffi-<IP_ADDRESS>, certifi-2022.09.24, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3, xattr-0.9.9
[debug] Proxy map: {}
[debug] Loaded 1690 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2022.10.04, Current version: 2022.10.04
yt-dlp is up to date (2022.10.04)
[debug] [generic] Extracting URL: https://spankbang.com/profile/kagoshi/videos
[generic] videos: Downloading webpage
WARNING: [generic] Falling back on generic information extractor
[generic] videos: Extracting information
[debug] Looking for Brightcove embeds
[debug] Looking for embeds
ERROR: Unsupported URL: https://spankbang.com/profile/kagoshi/videos
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1477, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1553, in __extract_info
    ie_result = ie.extract(url)
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 672, in extract
    ie_result = self._real_extract(url)
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/generic.py", line 3062, in _real_extract
    raise UnsupportedError(url)
yt_dlp.utils.UnsupportedError: Unsupported URL: https://spankbang.com/profile/kagoshi/videos

That's not a verbose output. A verbose output is the output of yt-dlp -vU <your command line>, which in this case is yt-dlp -vU https://spankbang.com/profile/kagoshi/videos

I've edited it.

A future PR for yt-dl will address this.

In fact, https://github.com/ytdl-org/youtube-dl/pull/31010.
Related:

https://github.com/ytdl-org/youtube-dl/issues/30728


Add registry contracts

Master Registry
Pool Registry

could we also add a getIsMetapool function?

Should the master registry have an update function, just in case?

Should the master registry have an update function, just in case?

I think we should stay away from modifying existing entries. We should rather call MasterRegistry.addPool() to deploy a new version and use MasterRegistry.resolveToLatestAddress()


Add semaphore to limit concurrency of background drawable load tasks.

Closing until I get a chance to refactor 📪


Update README.md

Grammar

Codecov Report

Merging #167 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #167   +/-   ##
=======================================
  Coverage   95.48%   95.48%
=======================================
  Files          25       25
  Lines         266      266
  Branches       36       36
=======================================
  Hits          254      254
  Misses         11       11
  Partials        1        1

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 3ef8fa7...0192c5c. Read the comment docs.

Hey, apologies for the tardiness :) I've replied to your comments. Let me know if there's anything else that's not clear.

@airbugg It's all good :)
can you push a commit that fixes the PR according to the changes that we've talked about?


Upgrade to Node.js 20

This should make it work on Node.js 20, as requested by the deprecation notice no GitHub

Thanks for the contribution


Delayed Disco Mode session responder count

A mod with disco mode reported that after running discovery mode, the responder count in his session history incremented. perhaps there were late responders from console/router?
just want to confirm that it's not a bug.
Can send hotspot name and wallet address over discord.

My guess is that there were late responders. There's nothing to stop responses after the 1 minute we display the map. Definitely send me any info you have and I'll dig into it.

sounds like the fix will be a combo between router accepting delayed packets (up to 8s vs 400ms now), deployed today, and session duration will increase to 90s to capture late packets.


Update graph-dot to 1.12.1

Updates org.scala-graph:graph-dot from 1.11.5 to 1.12.1.
Release Notes/Changelog
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-graph", artifactId = "graph-dot" } ]

labels: semver-minor

Backward incompatible


AA Drills Duplicate Bonsai Pots

When breaking a Bonsai Pot with a Drill from Actually Additions, 2 drop.

Uh oh. I'll try to fix this asap.


Needing ansible to setup the containers; can this be changed?

Hi,
I am going through the setup for this (thanks for working on this, btw!) and see that it uses ansible on the host to run. I'd like to have something that runs just with docker. Are there problems doing this from a Dockerfile that caused this set up to happen?  Would love to help out with this if it is the case.
Thanks,
Quinn

Hi Quinn,
you can use docker compose or OpenShft or all other -  what ever do you like. But the main issue is this:
https://forum.sourcefabric.org/discussion/17824/deploying-booktype-as-docker-container/p1
and i can't  finding any solution.

Hi Olaf,
Thanks for the heads up! I am looking at this right now to see if I can find a workaround of some sort.


Bump camel springboot archetype from 0.1.4 to 0.1.8

The failure is expected, right  now  the platform bom  can only be used downstream, @bsmolicek can you remove springboot from the test?
fyi @avano

@Croway @bsmolicek https://github.com/tnb-software/camel3-archetype-spring-boot/pull/4 can make the archetype configurable, we can keep CSB dependencies for github action so that it is possible to use it in both upstream and downstream

@bsmolicek the new version to use is 0.1.8 thanks!

@bsmolicek please update https://github.com/tnb-software/TNB/blob/main/fuse-products/src/main/java/software/tnb/product/csb/application/SpringBootApp.java#L58-L59 from spring-boot-version to default-spring-boot-version and from camel-version to default-camel-version, moreover we should generate different archetypes based on products, I mean if we are testing productized version (checking version string) we need to generate with parameter -Ddependencies-resolution=redhat-platform https://github.com/tnb-software/camel3-archetype-spring-boot/blob/main/README.md moreover IMO we should add the java version accordingly (we can obtain java version at runtime in this way)

Locally the tests pass with maven 3.8.1 and 3.8.4, LocalGeneratorTest fails locally with 3.8.6. No idea what to do about it..


Sys.Exit not working

Hi
Using Visual Studio 2015, with Python 2.7.
if event.type == QUIT:
pygame.quit()
sys.exit()
On the sys.exit() line, I get the message "SystemExit was unhandled by user code"
I don't get this message if I use IDLE.
Is there a different way I should use to exit for VS2015?
Thanks

There's an option (under Tools, Options, Python Tools, Debugging if I recall correctly) called "Break on SystemExit exception with exit code of zero". If you unselect this, sys.exit() should no longer break. It should be unselected by default.
There is also exception settings where you can customize whether we break on that exception or not. This is a heavier hammer, as it affects all places where your code may abort, but that may be desirable in some cases (and it's extremely useful for other exceptions).

Hi
That box was already unselected for me. I ticked it and cleared it again, just in case, but it made no difference. I get the same error for when the box is ticked, and when its not ticked.

Hmm... seems we now have None being passed as ex_value here. It's a fairly simple fix to one of our files that you can do yourself, but I don't think I can get it into our next update (which is coming up very  soon).
The fix is in visualstudio_py_debugger.py which you'll find in our install directory. Search for SystemExit and you'll find the code below:
            if issubclass(ex_type, SystemExit):
                if not BREAK_ON_SYSTEMEXIT_ZERO:
                    if ((isinstance(ex_value, int) and not ex_value) or
                        (isinstance(ex_value, SystemExit) and not ex_value.code)):
                        break_type = BREAK_TYPE_NONE

Change it to:
            if issubclass(ex_type, SystemExit):
                if not BREAK_ON_SYSTEMEXIT_ZERO:
                    if (ex_value is None or
                        (isinstance(ex_value, int) and not ex_value) or
                        (isinstance(ex_value, SystemExit) and not ex_value.code)):
                        break_type = BREAK_TYPE_NONE

And you're set! There are a couple of other places we need to update as well, but this is the one that is causing your issue.

Em, this caused me a bit of a problem.
My computer now blue screens when I exit Python programs.
Code below, I'm using Windows 8.1 and Visual Studio 2015 Enterprise 2015.
    if break_type:
        if issubclass(ex_type, SystemExit):
            if not BREAK_ON_SYSTEMEXIT_ZERO:
                if (ex_value is None or
                    (isinstance(ex_value, int) and not ex_value) or
                    (isinstance(ex_value, SystemExit) and not ex_value.code)):
                    break_type = BREAK_TYPE_NONE

    return break_type

Actually, ignore the above, seems to be working fine now that I rebooted. Possibly just a coincidence.


Update profiling/report.py and its documentation

Description
The PR focuses on updating the profiling/report.py file and its documentation within the pyrealm project. It introduces new optional arguments to the script for enhanced control over profiling results, including options to avoid saving the results or generating plots, to filter filenames via regex, and to limit the number of benchmarks in the plots. Additionally, it makes changes to the documentation to reflect these updates and provides information on the usage of these new arguments.
Type of change

[x] New feature (non-breaking change which adds functionality)

Key checklist

[x] Make sure you've run the pre-commit checks: $ pre-commit run -a
[x] All tests pass: $ poetry run pytest

Further checks

[x] Code is commented, particularly in hard-to-understand areas
[x] Tests added that prove fix is effective or that feature works

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

Project coverage is 93.80%. Comparing base (8ace3d7) to head (078f763).

Additional details and impacted files
@@           Coverage Diff            @@
##           develop     #188   +/-   ##
========================================
  Coverage    93.80%   93.80%
========================================
  Files           28       28
  Lines         1468     1468
========================================
  Hits          1377     1377
  Misses          91       91

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


Distribution dynamic config

This PR is based on branch baurine:esbuild (related PR: #1063)

Close this PR because it is replaced by #1094 .


fix(serializer): Implement abstract base class for customizing serialization

The addition of sentry_repr in #1322 breaks MagicMock since it creates attrs on the fly.
This adds a new ABC mixin class called SentryReprMixin which the user has to inherit and implement the sentry_repr method to customize serialization instead of directly implementing it on their class.

closing in favour of __sentry_repr__


can I use my own dataset?

How to use my own dataset?

@huazai665 Sure! You can plug in in different places depending on how different your data is from poloniex data. The simplest option is to transform your market data to the following csv (filling the missing columns with dummy values):
date,high,low,open,close,volume,quoteVolume,weightedAverage

If you can't do this, you will have to write the code to transform your input to pandas data-frame. All methods are independent from the data format, they just see the numbers, so it should work as well.

@maxim5 Thanks


Add aten::topk and its variants

Task list:

[x] topk
[x] topk.values

All topk cases pass. Please retrigger the pre-ci after addressing comments.


Fixed non-serializable error in JavaMultilayerPerceptronClassifierSuite

I have failed to find the change between Scala 2.10 and 2.11 causing this, but operationally the issue originates from SparkSession.createDataFrame which creates a (lazy!) Seq
referencing a non-serializable java.util.ListIterator.
I suspect one of the collection traits was change, but given how many of them are in the standard library, it is hard to tell which one. Here is a potential candidate
scala/scala@0bb8a139e9c46e3e1b4bd7af5dd11cb689ebbe8e.

Could you just add a tag in the title so we do not forgot to revert it once we will migrate to scala 2.11?
Somethink like [CRITEO - Scala 2.10 Fix]
Otherwise LGTM


No file is uploaded even though there are no errors in the console and the UI reports success.

Summary
No file appears in the directory I designate.
How to reproduce
I'm uploading to localhost/temp
Expected behaviour
The file uploaded would appear in the localhost/temp directory.
Additional information
I'm running it from localhost/p/MyDir/index.php
I've tried all manner of the server process line:

server: {process: 'https://localhost/temp/'}

 If I set the explicit URL it throws an error in filepond.js line 3051 "xhr.send(data);"

server: {process: './'}
server: {process: '/../temp'}

 It reports uploaded in the UI, no errors in the console.  I search my entire web root for the file and it's nowhere.

-HTML
<input type="file">
-HTML
-JavaScript
<script type="text/javascript">
     const inputElement = document.querySelector('input[type="file"]');
     const pond = FilePond.create( inputElement );
     pond.setOptions({
          server: {process: '/../temp'}
     });
     const FilePondRoot = document.querySelector('.filepond--root');
     FilePondRoot.addEventListener('FilePond:processfile', e => {
          console.log('File added', e.detail);
     });
     pond.on('addfile', (error, file) => {
          if (error) {
               console.log('Oh no');
               return;
          }
          console.log('File added', file);
     });
</script>

-JavaScript

WAMP Server
FilePond 3.7.4

OS
Windows

Device
PC

Browser
Chrome

Hi
A server (or PHP files that accepts POST data) needs to be running at the server process location. See the FilePond PHP boilerplate for an example.
Configure it like this:
const inputElement = document.querySelector('input[type="file"]');
const pond = FilePond.create(inputElement, {
    server: 'https://localhost/temp'
});

I appreciate the help.  To get the "PHP boilerplate" means I need to install and configure Vagrent and VirtualBox for this to work?  I really like the front end you've designed but I downloaded the two items above and I'm lost on what to do with them.  I already have Apache 2.4 and PHP 7.3 running on my system.  I guess I just need some sort of handler at the server: folder?


Bump falcosidekick chart dependency to latest

Signed-off-by: Eduardo Minguez<EMAIL_ADDRESS>What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind feature
/kind chart-release
Any specific area of the project related to this PR?
/area falco-chart
/area falcosidekick-chart
What this PR does / why we need it:
The current sidekick dependency is too old
Which issue(s) this PR fixes:
N/A
Fixes #
Special notes for your reviewer:
Checklist

[x] Chart Version bumped
[x] CHANGELOG.md updated

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: e-minguez
Once this PR has been reviewed and has the lgtm label, please assign leogr for approval by writing /assign @leogr in a comment. For more information see:The Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Welcome @e-minguez! It looks like this is your first PR to falcosecurity/charts 🎉

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: e-minguez, Issif
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Issif]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: ecaca8d2fb0484fafb69fb12eb9ef0ed6ca89b11


Update Serverless and Node version to use the latest LTS

Changes the container to use the serverless framework version via a parameter in build time.

I decided to migrate our pipeline to use lambci/lambda images. So, I'm gonna close this pull request.

I decided to migrate our pipeline to use lambci/lambda images. So, I'm gonna close this pull request.


Adding docs link in readme

https://opentelemetry-azure-monitor-python.readthedocs.io/

Codecov Report

Merging #67 into master will not change coverage by %.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #67   +/-   ##
=======================================
  Coverage   98.67%   98.67%
=======================================
  Files          14       14
  Lines         753      753
  Branches       97       97
=======================================
  Hits          743      743
  Misses          8        8
  Partials        2        2

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 3dad6c5...8408a0b. Read the comment docs.


Update sbt-bintray to 0.5.6

Updates org.foundweekends:sbt-bintray from 0.5.5 to 0.5.6.
Release Notes/Changelog
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.foundweekends", artifactId = "sbt-bintray" } ]

labels: sbt-plugin-update, semver-patch

Coverage remained the same at 68.16% when pulling 9129a2230065180f4cc195a7946f5a2e953e7704 on scala-steward:update/sbt-bintray-0.5.6 into 39e2344648cf13e326d586704e08d731984dc41e on evolution-gaming:master.


Added Key Exists API

Overview
Adds a key exists API. Used to validate a key id exists without disclosing information about the key exists.
Note: This should be merged after rebasing against main once https://github.com/TBD54566975/ssi-service/pull/293 has been merged.  I can't move this out of DRAFT until this happens, as there are some dependencies on a #293
Description
Simply checks if a key exists in the API backend, without exposing the actual key details itself.
How Has This Been Tested?
I will be writing a few tests. Will move out of DRAFT when I do.
Checklist
Before submitting this PR, please make sure:

[x] I have read the CONTRIBUTING document.
[x] My code is consistent with the rest of the project
[x] I have tagged the relevant reviewers and/or interested parties
[x] I have updated the READMEs and other documentation of affected packages

Codecov Report

Merging #295 (40cd801) into main (d1e9c54) will decrease coverage by 0.37%.
The diff coverage is 8.21%.

@@            Coverage Diff             @@
##             main     #295      +/-   ##
==========================================
- Coverage   24.57%   24.20%   -0.37%
==========================================
  Files          32       32
  Lines        3182     3255      +73
==========================================
+ Hits          782      788       +6
- Misses       2281     2346      +65
- Partials      119      121       +2

Impacted Files
Coverage Δ

pkg/server/router/keystore.go
8.60% <0.00%> (-4.10%)
:arrow_down:

pkg/service/keystore/storage.go
23.14% <0.00%> (-4.03%)
:arrow_down:

pkg/service/keystore/service.go
38.69% <22.22%> (-3.16%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

You can use the functionality from our database interface to see if something exists or not - https://github.com/TBD54566975/ssi-service/blob/main/pkg/storage/storage.go#L41
to run the linter locally you can use:
golangci-lint run
today I'll be working on this new vulnerability scan fix

@nitro-neal @andresuribe87 thank you. I must have missed the Exists method. I can refactor some stuff to use the existing method since it's already there.

You should be able to merge in main and it will fix vulnerability scan too 👍

Looked into this a little more. Exists is not actually implemented anywhere on the key storage service. You would have to interact with the db directly. I don't see a reason there shouldn't be a convenience method on the key storage service layer? @nitro-neal

@andorsk are you still interested in pushing this along? if so what's needed?

@decentralgabe The DB does abstract this out, but since it the storage reference is an internal one, I think this is still needed https://github.com/TBD54566975/ssi-service/blob/main/pkg/service/keystore/service.go#L24, that being said, I think we can close this out and just add an issue. I don't have a high priority to fix this today anymore.


test: Simplify comparing the stream read result

What problem does this PR solve?
Issue Number: close https://github.com/pingcap/tiflash/issues/5452
Problem Summary:
When comparing the result read from an inputstream, we write lots of redunt codes to locate the column, summing the num of rows, ensuring readPrefix/readSuffix, etc.
That is verbose and easy to forget.
What is changed and how it works?
Introduce some macro:
ASSERT_INPUTSTREAM_COLS_UR to compare the columns read from an inputstream
ASSERT_INPUTSTREAM_BLOCK_UR to compare the block read from an inputstream
ASSERT_INPUTSTREAM_NROWS to compare the number of rows from an inputstream
Other change:

Add Block::dumpJsonStructure for debugging output

Example:
Before this PR (27 lines)
https://github.com/pingcap/tiflash/blob/3ad743b58629fcb356701135b4dd2333632fc1da/dbms/src/Storages/DeltaMerge/tests/gtest_dm_delta_merge_store.cpp#L1903-L1930
After this PR (8 lines)
https://github.com/pingcap/tiflash/blob/0e77f859634d9442ad874acee259c8d802578162/dbms/src/Storages/DeltaMerge/tests/gtest_dm_delta_merge_store.cpp#L1552-L1559
Before this PR (22 lines):
https://github.com/pingcap/tiflash/blob/3ad743b58629fcb356701135b4dd2333632fc1da/dbms/src/Storages/DeltaMerge/tests/gtest_column_filter.cpp#L88-L112
After this PR (7 lines):
https://github.com/pingcap/tiflash/blob/0e77f859634d9442ad874acee259c8d802578162/dbms/src/Storages/DeltaMerge/tests/gtest_column_filter.cpp#L90-L96
Check List
Tests

[x] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/run-all-tests

/run-all-tests

/run-all-tests

/run-all-tests

/run-all-tests

/run-all-tests

/run-all-tests

/run-all-tests

/merge


Configure Garden Linux image according to infrastructure provider recommendations [AWS]

What would you like to be added:
We need to make sure we adhere to the recommendations of the infrastructure providers.
Develop and run integration tests that the specific configuration works (e.g. the clock source is still available)
Why is this needed:
We have seen subtle issues with DNS resolution, clock diversions, nvme issues, etc. due to wrong or omitted configurations.
Additional information:
I am not sure there is a consolidate page but bits and pieces:
This contains information about the I/O operation timeout kernel parameter: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvme-ebs-volumes.html
This is for the clock source: https://aws.amazon.com/premiumsupport/knowledge-center/manage-ec2-linux-clock-source/#:~:text=The recommended clock source for,Nitro Hypervisor is kvm-clock.
There are probably more...

checked the following:

nvme-cli included (has been added recently for server)
clocksource   (added integration test)
nvme kernel parameter (added integration test)
ntp is set correctly (added integration test)


Add out-of-the-box sifter implementations

idea:

whitelist/blacklist
accept/reject events that match filter
accept/reject events that have specific word in content
accept/reject events whose content match regexp
rate-limitter
sifter combinators: compose arbitrary types/numbers of event sifters

cf. https://github.com/relayable-org/strfry-policies

released in https://github.com/jiftechnify/strfrui !


Captchas have gotten smart

Not sure if you have encountered this but my account can no longer access Poshmark through this bot. At first when I was caught by the captchas, I could log in manually in a separate web client and re-start the bot and the log-in issue would be fixed. However this is no longer fixing the issue. It seems the captchas have gotten smarter... Maybe could add a pause in the script to allow the user to complete the captchas before the bot proceeds so that it will still automatically share your closet. I don't have a lot of experience dealing with captchas programmatically so maybe there is a better way

I also tried adding
o = Options()
o.add_argument('-private')
f = webdriver.Firefox(firefox_options=o)

to try and get around the captchas but this didn't work either

Has anyone solved this issue? I'm able to log in via the bot, but am stopped by the captchas after the scrolling when it starts to share.

It seems like Poshmark noticed patterns and implemented captchas. we need to find out what triggers the captcha.

is it sharing too fast?
is it logging in several times too fast?
is it logging in on multiple computers?

The script ran on my machine for about 12h total, sharing every 2 hours.
It finally stopped on captcha at the end of the 12h. I haven't tried to re-start it yet
I think we need to break the patterns...
Hypothesis/ideas:

The clicks are too regular. Need to implement a random 3-6 secs between click on share
Captcha is checked only on login. Need to add captcha detection on share to prevent the script from still attempting to share while captcha is up
The interval between login sessions is too regular. Need to implement a random +/- 20 mins to the interval specified (default 2h)

Note that I've been hit by captcha in the middle of sharing, not at the beginning.
I was able to open a manual session from Firefox and share manually afterwards.

I did change the code to implement random click interval and random sessions, but I still get catpcha now and then.
My wife noticed that it happens when something sell.
It's possible that the script:

Create a list of items to share from closet
Start iterating through the list
** Someone buy an item (not shared yet)
The script tries to share this item
** Catpcha comes up

Having one computer and one cellphone logged in at the same time doesn't impact anything


Runtime regex.

Good afternoon!
Could you please create a variant of regular expressions that would work in rantime?
I just have them stored in a file that I don't want to put into the executable at compile time.
I would like to load regular expressions while the program is running.

Hey Filipp - good afternoon to you too. We don't have any plans to support runtime regex loading (fluent is based around creating regex types). If we move the backed to a different kind of state machine then this would be possible. I'd recommend using a dedicated regex library for what you're looking for here.


Replace "root" with "{{orchestration_user}}" to match deploy-cluster.yml

Description
Cases can occur where destroy-cluster.yml can fail if using an orchestration host that requires login as non-root and then
escalation.
Fixes
Sets user to {{orchestration_user}}, as is found in deploy-cluster.yml, to allow for login as non-root and then escalation to root.

Ah OK that makes sense. Would this change impact CI deployments, since orchestration_user is root by default anyways? I still feel like this might be a worthy change for the sake of consistency. Plus, the change is needed when trying to cleanup a non-CI deploy from an EC2 orchestration host without having to go and find the openshift-installer and state dir.

i think i vaguely remember trying this out and failing , hence the decision to go with root and not complicate it further.

Gotcha OK. I'll go ahead and close this out.


[JN-378] Allow reordering pages of forms

This allows selecting "Pages" in the form designer table of contents and reordering pages in the form.

Rebased to resolve merge conflicts.


data preprocessing

Goodmorning, when I was doing data preprocessing , to  convert DICOM images to NIFTI, it raise an error. It's very nice of you to help me solve this problem, thanks.
Switch to module:  "Welcome"
TagCacheDatabase adding table

['1']
case: 1
TagCacheDatabase adding table

W: DcmItem: Length of element (4923,736e) is odd
E: DcmElement: Unknown Tag & Data (4923,736e) larger<PHONE_NUMBER>) than remaining bytes in file
Could not load  "/Users/yingmuzhi/fsdownload/target/vs_gk_1_t1/inv_T1_LPS_to_T2_LPS.tfm"
DCMTK says:  I/O suspension or premature end of stream
Could not read DICOM file:/Users/yingmuzhi/fsdownload/target/vs_gk_1_t1/inv_T1_LPS_to_T2_LPS.tfm
E: DcmElement: Unknown Tag & Data (0a5b,7b20) larger (572530698) than remaining bytes in file
Could not load  "/Users/yingmuzhi/fsdownload/target/vs_gk_1_t1/contours.json"
DCMTK says:  I/O suspension or premature end of stream
Could not read DICOM file:/Users/yingmuzhi/fsdownload/target/vs_gk_1_t1/contours.json
"DICOM indexer has successfully inserted 123 files [0.09s]"
"DICOM indexer has successfully processed 125 files [0.50s]"
"DICOM indexer has updated display fields for 123 files [0.04s]"
W: DcmItem: Length of element (4923,736e) is odd
E: DcmElement: Unknown Tag & Data (4923,736e) larger<PHONE_NUMBER>) than remaining bytes in file
Could not load  "/Users/yingmuzhi/fsdownload/target/vs_gk_1_t2/inv_T2_LPS_to_T1_LPS.tfm"
DCMTK says:  I/O suspension or premature end of stream
Could not read DICOM file:/Users/yingmuzhi/fsdownload/target/vs_gk_1_t2/inv_T2_LPS_to_T1_LPS.tfm
E: DcmElement: Unknown Tag & Data (0a5b,7b20) larger (572530698) than remaining bytes in file
Could not load  "/Users/yingmuzhi/fsdownload/target/vs_gk_1_t2/contours.json"
DCMTK says:  I/O suspension or premature end of stream
Could not read DICOM file:/Users/yingmuzhi/fsdownload/target/vs_gk_1_t2/contours.json
"DICOM indexer has successfully inserted 83 files [0.06s]"
"DICOM indexer has successfully processed 85 files [0.32s]"
"DICOM indexer has updated display fields for 83 files [0.02s]"
Traceback (most recent call last):
  File "<string>", line 5, in <module>
  File "<string>", line 531, in <module>
  File "<string>", line 440, in main
  File "<string>", line 144, in import_T1_and_T2_data
AssertionError: Not exactly 4, but 2 files selected for loading of case 1.
Selected files are ['2: t1_mpr_tra_gk_v4', '4: t2_ci3d_tra_1.5mm_v1']

Hi,  I missed the toolkit "SlicerRT".After I install this toolkit ,the code successfully worked on both Mac and Windows10. cool.

Hi, great, thanks for posting the solution!

Hello, I had the same problem. And when I try to download, get an error that failed to download extension. Which version of 3D Slicer do yo use?


[Question] How are System Optimizer values EXPORTED?

In Control Panel > System Optimizer, I see an "Import Registry" button but I want to EXPORT the values there.
Is this possible?

Closed because it is a duplicated issue.
You can feedback under https://github.com/Chuyu-Team/Dism-Multi-language/issues/578
Thank you.
Mouri

Archived, #707


Should we be using Open API 3.0

The current API definition uses Swagger 2.0, Open API and Swagger have combined and have jointly moved to Open API 3. Perhaps we should do similar.

We want to remove the current Swagger 2.0 definition from this repo and replace it with an OpenAPI3 spec, as part of v1.2.0


JSX Tokenizer: add tokens which can be parsed using children

Describe The Problem To Be Solved
Currently, the component returned by createToken will return a function element. This way we can display a friendly warning in the console if something tries to render the token, instead of an error from trying to insert a non-JSX.Element type.
The downside of that approach is that the token elements cannot be passed to a context provider, transition-group, or anything that tries to resolve the children using the children helper, even if it doesn't necessarily render anything yet.
So we lose a bit of functionality, and composition value, for a nicer misuse warning.
Suggest A Solution
I see this being implemented in two ways.
Either the createToken component will be returning an object, instead of a function if the fallbackFn param is not provided.
Or there could be createToken and createRenderableToken as separate functions.

+1 the whole not-resolving-tokens in jsx-tokenizer is a bit finnicky and brings mental overhead that makes me less want to use it (or advice others to use it). Especially since solid itself perfectly allows for non-DOM to be returned (only typescript is unhappy about that). Typecasting objects to JSX.Element, in combination with the typing that jsx-tokenizer provides would be typesafe enough imo.

little experiment with simply casting:
https://playground.solidjs.com/anonymous/5110caf3-7129-411b-9da3-7ff423f6d296
const token = (args[0] ? args[0](props) : props) as unknown as TokenElement<T>;
token[$TOKENIZER] = symbol;
return token as unknown as JSX.Element;

then we can only accept objects as return-values, with the added benefit the abstraction looks a bit cleaner:
const Token = createToken(() => ({ id: 'string' }));

const Parent = (props: {children: JSX.Element)) => {
  const token = props.children;
  token.id // 'string'
  // instead of
  token.data.id // 'string'
})

an extra bonus to requiring an object as returntype is that it will skip rendering if it accidentally gets into the dom-tree, while if we allow primitive values these would be rendered as-is.
Context becomes a lot easier too:
const childs = <Context.Provider value={...}>{props.children}</Context.Provider>

just works.
This is definitely the way forward.

It's more or less what I want to do
but I without adding a property to the token (token[$TOKENIZER] = symbol)
But instead use a WeakMap for identifying passed objects.

Yes, WeakMap is a good idea!
We wouldn't really need to resolveTokens anymore in this next version, but I guess there is still a need to filter props.children for tokens, even just for the nice typings, so maybe filterTokens instead of resolveTokens?

I haven't really touched this library but hopefully the idea gets across.
I'm not sure where this is at the moment, but I don't believe using an object solves the issues outlined. Instead, it may make errors more difficult to spot. Consider the following:
<Resolver>
  <Context.Provider>
    <Token>
      <Context.Consumer />
    </Token>
  </Context.Provider>
</Resolver>

Using an object, the consumer would fail to read the context since it would be executed outside the provider. Similarly, with TransitionGroup, anything inside the token wouldn't be animated (I can't imagine you passing a token straight to TransitionGroup in the first place though). In both cases, you won't get the (arguably) expected behaviour, but instead of seeing a helpful error you'd get either nothing or "Are you calling this inside the context provider?".
In other words, consider keeping the current implementation the primary one, and adding a createObjectToken instead.

Hi @otonashixav
Not sure if I completely follow. I have been using this pattern with context without any problems. Not too familiar with TransitionGroup.
From my experiments in this playground I was only able to reproduce the context-bug you described by passing the children as a getter to the resolver, and that feels pretty intuitive to me.
You mentioned in discord that adding an unused argument would prevent it from being resolved with children, but what about Show? see playground
Having objects as the containers is just less finnicky then functions imo.

GoodToken1 won't update when props.children changes. GoodToken2 is fine, but is dependent on being able to resolve the children immediately, which is not always the case; the resolver may want to execute that step under different circumstances (different roots, different contexts, etc.).
Yes, I mentioned in my playground example that the unused parameter would not work properly with Show. In any case it was an example of what could work, not what to actually use -- I suggested this library because I thought it was the most foolproof.

GoodToken1 won't update when props.children changes.

Yes, I know, It was just to indicate that context worked as expected.

GoodToken2 is fine, but is dependent on being able to resolve the children immediately which is not always the case; the resolver may want to execute that step under different circumstances (different roots, different contexts, etc.).

I don't think I follow here. What would be the usecase? Sounds like behavior that would break how you would expect components to behave regularly. I don't really understand how using functions as data-containers would help here.

you can actually do this if you really want to, and it works quite intuitively: https://playground.solidjs.com/anonymous/bf38f394-f56a-4d59-81d4-a541920cece6

I think this creates other issues with props spread, see: https://stackblitz.com/edit/solid-jsx-tokenizer-spread?file=src%2Flib%2Findex.tsx


Issues with Kibana UAA Auth integration

To implement multi-tenant access, the current Kibana UAA plugin grabs the orgs and spaces that a user is a member of, and attempts to store them in its (encrypted) session cookie.
This information is then passed extracted and passed through on every request proxied to Elasticsearch; which Elasticsearch uses to filter the data that is returned.
This works well until the total orgs + spaces membership of the authenticated user exceeds ~ 7.  At this point the size of the session cookie exceeds most browser's cookie length limit; which causes the authentication process to get stuck in a redirect loop.
The workaround is to remove the user from orgs and or spaces until the sum <~ 7.
You can check the number of spaces & orgs the user is a member of using the following cf cli commands:
cf login # as admin
cf curl /v2/users | grep -b2 <member-of-many-spaces-username>
cf curl <spaces_url> # see total_results
cf curl <orgs_url> # see total_results

2 things need to happen to fix this issue.

The Kibana UAA plugin needs to be modified to pass the UAA access token through to Elasticsearch (rather than the list of orgs and spaces)
The Elasticsearch plugin needs to be modified to use the access token to query the UAA directly for a list of authorized orgs and spaces for the user (easy).  This information should be cached at the Elasticsearch level (unknown/hard).

PIvotal have decided not to support multi-tenant access to Elasticsearch; so Pivotal engineers won't be contributing the above suggested code fix.
I'm be happy to support anyone who wants to pick up and implement this feature - just drop me an email at<EMAIL_ADDRESS>

Hi mrdavidlaing,
I am in process of utilizing kibana-cf-authentication plugin for multt-tenant filtering access to elasticsearch. I found few issues in elastic-search plugin but got it fixed related to TermQuery builder. As you correctly mentioned, now I am stuck in redirection loop because user i.e, Admin/User having more Orgs and spaces than expected.
I would need your help in implementing the workaround you have suggested.

UAA token can be passed to Elasticsearch using prehandle event that has been implemented right.
Basically no need to callback for /orgs and /spaces and get the oauth token then pass it to elasticsearch as header along with user profile.

In elasticsearch instead of registering to X-Orgs and X-spaces, we need to call back UAA using the access token that was passed.. Is that right

Do you have sample or stubs for these, that would be helpful....

@MaheshRudrachar - I'm sorry; I don't have any example code I can share.
However, the process you have outlined sounds exactly right for me.
We're going to be moving this repo over to cloudfoundry-community this week; at which time I'll submit a PR containing the locations where I think the code should go which should give you a place to start.

Sure. Thanks a lot...

Why not merge https://github.com/stayup-io/kibana-cf_authentication/pull/1 ? This is already solved for a few months --

Fixed in the https://github.com/cloudfoundry-community/logsearch-for-cloudfoundry/pull/112 PR, @axelaris i think we can close this issue.


PWA

Any suggestions for libraries which will help in developing PWA and that works properly with Nuxt.js
I saw Onsen UI. Not sure if this will work with Nuxt.js

PWA Template.


Matter v1.2 drivers lock poc

This pull request is just for testing Matter door lock with partners.

unnecessary


[WIP] Fix import annotations for frames with dots in name

Motivation and context

Fixes https://github.com/openvinotoolkit/cvat/issues/2473
How has this been tested?

Unit test
Checklist

[ ] I submit my changes into the develop branch
[ ] I have added description of my changes into CHANGELOG file
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] I have linked related issues (read github docs)
[ ] I have increased versions of npm packages if it is necessary (cvat-canvas,
cvat-core, cvat-data and cvat-ui)

License

[ ] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.
[ ] I have updated the license header for each file (see an example below)

# Copyright (C) 2021 Intel Corporation
#
# SPDX-License-Identifier: MIT

Coverage increased (+0.06%) to 74.112% when pulling cbcb62048a16ef076d61ceb01148915c84affdb8 on sk/fix-import-annotations-for-YOLO-format into 6988e2b98f9cfc7e0f98142a7c2829640d4fffcf on develop.


logstft vs. linear stft

Hi, this is a great implementation of the complex unet. Congrats. I wonder if why you chose to use the logstft instead of the linear stft as done here. Did you observe better performance?
Just a small note, You have used MUSDB18 instead of DSD100 for singing voice. Its a bit larger. By the way, did you evaluate your results using museval?
Cheers
Fabian

@faroit

Linear stft has too large numbers for training model in stably. When I made first model, I got faced gradient explosion on using linear stft, so I thought simply to solve them using log space.

Not yet do that and thanks for awakening them. I will make a new model on MUSDB18 dataset and evaluate them with museval soon.

I will follow up second issue and notice the progress on this issue.
Thanks!

Linear stft has too large numbers for training model in stably. When I made first model, I got faced gradient explosion on using linear stft, so I thought simply to solve them using log space.

I see. Have you considered using mean/std normalization instead/additionally?

No, I didn't consider using mean/std normalization. That also seems like can help the result. When I will have next experiment, I additionally  try that.

On Testing, Simple comment

Evaluation PESQ will be coded, reported

reference repo : https://github.com/ludlows/python-pesq

validation score (it is resampled from 22.05k to 16k)

with audioset : 2.4
without audioset : 2.37

But, I got more better result on test data with audioset.

Continues following issue on #16 and other, close it.

Adding MUSDB


nest observable do not trigger onChange

const loading = () => {
    var state = observable({
        value: false,
        number: computed((): string => {
            return `${state.value.get() ? 1 : 0}`;
        }),
        start() {
            state.value.set(true);
        },
        stop() {
            state.value.set(false);
        },
    });
    return state;
};

const store = observable({
    loading: loading(),
});

store.loading.onChange(
    ({ value }) => {
        console.log('========onchange', value);  // do not print
    },
);

store.loading.start()

Nested observables is not currently supported. We actually are experimenting with it in the computed branch in version 1.9.0-next.2, but so far it's just a prototype of nesting computeds that isn't 100% there. And we're not sure of the implications of having a computed/observable nested into multiple outer observables, so we're not sure how safe it would be and may end up not moving forward with it.
May I ask what you're trying to do though? Although we've thought of a few use cases for nesting computeds inside an observable, I'm not sure what would be the benefit of nesting observables.

Nested observables is not currently supported. We actually are experimenting with it in the computed branch in version 1.9.0-next.2, but so far it's just a prototype of nesting computeds that isn't 100% there. And we're not sure of the implications of having a computed/observable nested into multiple outer observables, so we're not sure how safe it would be and may end up not moving forward with it.
May I ask what you're trying to do though? Although we've thought of a few use cases for nesting computeds inside an observable, I'm not sure what would be the benefit of nesting observables.

I want to create a reusable state, which may be called an 'atom' in jotai.
For instance, I can use the common loading state in different stores.
const loading = () => {
var state = observable({
value: false,
number: computed((): string => {
return ${state.value.get() ? 1 : 0};
}),
start() {
state.value.set(true);
},
stop() {
state.value.set(false);
},
});
return state;
};
const store_1 = observable({
loading: loading(),
});
const store_2 = observable({
loading: loading(),
});

Oh in that case I would suggest just making loading a separate store. It shouldn't need to be included in both - you could just import it separately from anywhere you want to use it?


fix gantt chart cli configuration broken

broken by #430, sorry.
remove json quote around function in the config e.g. axisFormatter for #428

Thanks! Perseverance wins in the end! :)


[delegatexyz-erc721-balance-of] Delegatexyz erc721 balance of

Changes proposed in this pull request:

Add strategy for ERC-721 balance of using Delegate.xyz full wallet and contract level delegation

Commited and tested the requested change - thank you :)


Pre-approve users

It would be nice to have a way to pre-approve users.
For instance, for teaching events I typically have the list of 20-40 emails for all the participants. Then instead of clicking on "approve user" emails for each one of them, I could generate a list of email hashes and put it on the sever. When the participant signs up, if the email hash matches it would be automatically approved for the general sign-up and for the event sign-up (and if not the current procedure happens).
This could be either one extra DB table with columns ['email_hash', 'list of pre-approved events'] or even an optional file if we don't want to extend the BD schema.

In its simplest version this could be just a new CLI command,
ramp-database pre-approve-users ./valid_user_hashes.csv

that would be run in a cron job every minute or so, query sign-up requests from the DB, and approve them when they are pre-approved.

@kegl used to absorb the list of students from a csv and generate passwords
sent automatically by email
maybe this option is still available somewhere

Creating users and adding them to one event  based on an email list would be very helpful for teaching.
Even without sending password, they can always use the recovery procedure to get the password latter.
This is very annoying to have 30+ student sign up as there are always people signing up late, not following and it takes a lot of bandwidth to accept them in 2 steps (for RAMP and then the event).
cc @glemaitre with whom we discussed this feature today :grin:

Creating users and adding them to one event based on an email list would be very helpful for teaching.

One issue with this is that it would be not GDPR compliant (https://github.com/paris-saclay-cds/ramp-board/issues/440), as one need user consent to put private information (here email address) into the RAMP DB. Even for teaching. If users sign up, they give a form of week consent. Ideally there should be a checkbox at sign up to indicate that they accept term of use (mechanism done in https://github.com/paris-saclay-cds/ramp-board/pull/456).
That's why I think having some script that runs in cron, and queries DB for users that just signed up and checks/validates against a pre-defined list of emails (or their ideally hashes) would likely be better in that respect.

Yes, I used to have a command line command that signed up users from a csv file, this is easy to write. But I agree with @rth that we need an action from the users to accept terms and conditions. We could have an admin page where you can copy paste a list of mails. I wouldn't put them in the DB, rather in a temporary file (again because of GDPR), that would be stored for, say, a week.

Admin command would also work, or you wouldn't even need the command, just edit the temporary file on the server.


Add support for a merged frequency and thermo schema

[x] I have read the Developer Guide. Don't lie! 😉
[x] My PR is on a custom branch and is not named main.
[x] I have added relevant unit tests. Note: Your PR will likely not be merged without proper tests.

Tagging @ViktoriiaBaib. This is now done, and I will merge it once tests pass.


Constantly getting PathTooLongExceptions when deploying an ASP.NET Core website using Web Deploy

Hi,
Every time I'm publishing an ASP.NET Core project using Web Deploy, I'm getting the infamous PathTooLongException. The path of the file that the publishing wizard complains about is clearly longer than 260 characters (right now I've got one with a length of 261 characters) and my project is positioned in the root of my C-drive.
This really annoys me since all the time I'm wasting time moving my project to the root of my C-drive and renaming the folder of my solution/project. It's only now the first time that I cannot manage to avoid the PathTooLongException, which is why I decided to file an issue here.
As already stated, my project is on the root of my C-drive, so there's nothing more I could do about that. I'm getting the error now for a file with length of 261 characters (261 !!!!!!). Now I had to rename my project folder...
Enable long paths in Windows
I already tried the following: https://betanews.com/2016/05/29/long-paths-windows-10/ somehow this time with no success.

Visual Studio 2019 Stable (16.3.9).
Windows 10 Home - 1903 (build 18362.418)
I don't have gpedit

I kinda feel like this should not occur at all, since Microsoft owns both Windows and Visual Studio. I stumbled upon this multiple times past monts and I remember I got around it but now it's not working anymore.

Is the 260 character path length a limitation that comes with Unix or was it introduced by Windows?
Is it really necessary to use such a long hash in the path using Web Deploy?

Here's a picture to keep the fun in it :-)

@MintPlayer Thanks for contacting us.
Is WebDeploy trying to copy/deploy those files and that is how you are getting the exception?
As far as I understand you wouldn't need to copy anything within the node_modules folder when you are deploying your app.
@vijayrkn This is something in publish, isn't it? Can you take a look?

Is WebDeploy trying to copy/deploy those files? Yes
Deploying as regular: Right-click ASP.NET Core project --> publish --> IIS, FTP, ... --> Connection + Settings - Remove additional files
The path is already in mentioned in the issue, but since this already contains obj/Release/netcoreapp2.2/.../Out/ClientApp/node_modules/.cache/%module%/%hash% this quickly becomes a long path (the ... = PubTmp is something I configured myself in the project file).


Check for duplicate content in relevant section when inserting into files

I ran into some unexpected behavior today with insert_into_file. I was trying to insert , null: false into a migration after some text, but nothing happened.
  t.belongs_to :recipient, null: false
  t.string :type

insert_into_file path, ", null: false", after: "t.string :type"

This does nothing because , null: false exists in the file (anywhere).
Using after: I would expect insert_into_file to only care if the string exists after the matching line, not before it.
This PR would change the behavior to only look through the before or after portions of the file content to make it more intuitive.

I'll have to revert this PR since it changes the behavior when the regexp contains capture. split returns the capture inside the array of split strings, so we can't know with the current implementation what is the after and before the regexp.


Split Interactive shell from interpreter.

Elivish is currently my prime candidate to replace the system's shell for many reasons which you all already know. The main blocker is the binary size; it is currently as large as a minimal system. But if the interpreter part of the code could be built on its own, it would probably be a lot smaller, as most UI's usually require a lot of code. Minimal containers using elvish scripts instead of dash/mksh/ash would be very nice!
I wont have any time to work on this as I have plans for a different (FBP-based) interface between the user and syscalls. But IMHO this is a very appealling use-case for elvish, which I see as a hybrid which is in production now.

Closing as Iv stopped using elvish.


Kover report not using SNAPSHOT dependencies

Describe the bug
A clear and concise description of what the bug is.
Kover not using SNAPSHOT dependencies at all, even when it should use the build.gradle.kts dependencies
Errors
If present, stacktraces or files from build/kover/errors directory
Won't find new function that was added in the SNAPSHOT version of the dependency. Even though build + tests work.
Expected behavior
A clear and concise description of what you expected to happen.
Should use the build.gradle.kts declared dependencies even if they ends with -SNAPSHOT
Environment
Intelij: 2022.1.3
Gradle version: 7.5.1
Kover: 0.6.1
Kotlin: 1.7.21

Hi,
may you clarify, what dependencies do you mean?

Won't find new function that was added in the SNAPSHOT version of the dependency.

And where exactly was the function added?

Dependencies as in gradle, for example this specific library is pulled from maven with version "SNAPSHOT" using "implementation" function on build.gradle.kts
The library itself doesn't matter - I made it and it works - successfully build module that uses it and runs several test on intelij.
It's just that in kover it doesn't recognizes SNAPSHOT version libraries so that when you kover report it, it will mark new functions that was added in SNAPSHOT and pushed to maven, as missing.

What tool do you use to create reports?
The Kover report generator adds to XML/HTML reports only those classes that are declared directly in the Gradle project itself. Any external dependencies (e.g. from maven repositories) are not included in its report.

Feel free to open new bug issue if the problem reproduced again


goreleaser CI flaky (timeout)

E.g. in #1470: https://github.com/sigstore/cosign/runs/5158839194?check_suite_focus=true

Fixed by #1472 (I hope)


Merge workbooks / append sheets with data

This may be a long shot, but is there way to either add a a sheet with sheet data from another workbook, or merge two workbooks together?
I'm using exceljs and currently experiencing that the workbook generation takes quite a while with a huge number of rows (5000+) and columns (20+). Ideally I'd like to be able to split this work across a Node cluster per-sheet then merge the sheets together into a single workbook.
I could probably do this manually, but I'm concerned there's internal state in the workbook object itself that would prevent this working.

My initial investigations into this lead me to using the model property to retrieve a serialised copy of a sheet, then setting a new Worksheet's model to be this data at the other end. This lets me safely marshal sheets across NodeJS processes.
I assume this is most likely the best way to achieve this as it stands.

I need to do something similar.  Do you have code demonstrating this?

Hi @mfahmirukman, I've tried with and without streaming. Regardless of which method I chose, the worksheet generation took an incredibly long time and was the major bottleneck in my process. I decided to limit the data size in the end to avoid the issue.

@lyptt
Hmm, I'm not sure what causes it then. If it were the problem of memory leak, then yeah streaming API is the answer. I'm not entirely sure about your case though. In my latest case I did, writing 40,000-50,000 rows x 40 columns doesn't seem to be an issue.

Hi @mfahmirukman, can you post the sample code for streaming API usage using exceljs. I have also memory leak problem. Currently i am using writeBuffer method to write the data.

Hi @mfahmirukman , The solution you told is not working as of now , as on iterating over worksheet the JSON that I get is not same as the format required to addRow method, so it's not possible to use that JSON..
const book = new Workbook();
bookOld.worksheets.forEach((sheetLocal) => {
  const storedData = [];
  bookNew.addWorksheet(sheetLocal.name);
  sheet.eachRow((row) => {
    storedData.push(row);
  });
  storedData.forEach((row) => {
    bookNew.getWorksheet(sheetLocal.name).addRow(row);
  });
});

https://github.com/exceljs/exceljs/discussions/2053#discussioncomment-5732379


Fix Green drag and drop area

Details

Fix Green drag and drop area while replacing image
Fixed Issues

$ https://github.com/Expensify/App/issues/28014
PROPOSAL: https://github.com/Expensify/App/issues/28014#issuecomment-1731441163
Tests

Click on FAB icon and select Request money
Go to scan tab
Upload receipt and request money
Go to transaction thread
Click on image
Click on three dots and select replace
Try to drop image
Verify that drag and drop area covers the whole screen

[X] Verify that no errors appear in the JS console

Offline tests

Same as above
QA Steps

Same as tests

[X] Verify that no errors appear in the JS console

PR Author Checklist

[X] I linked the correct issue in the ### Fixed Issues section above
[X] I wrote clear testing steps that cover the changes made in this PR

[X] I added steps for local testing in the Tests section
[X] I added steps for the expected offline behavior in the Offline steps section
[X] I added steps for Staging and/or Production testing in the QA steps section
[X] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[X] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[X] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[X] I included screenshots or videos for tests on all platforms
[X] I ran the tests on all platforms & verified they passed on:

[X] Android / native
[X] Android / Chrome
[X] iOS / native
[X] iOS / Safari
[X] MacOS / Chrome / Safari
[X] MacOS / Desktop

[X] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[X] I followed proper code patterns (see Reviewing the code)

[X] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[X] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[X] I verified that comments were added to code that is not self explanatory
[X] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[X] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[X] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[X] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[X] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[X] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[X] I verified the JSDocs style guidelines (in STYLE.md) were followed

[X] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[X] I followed the guidelines as stated in the Review Guidelines
[X] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[X] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[X] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[X] I verified that if a function's arguments changed that all usages have also been updated correctly
[X] If a new component is created I verified that:

[X] A similar component doesn't exist in the codebase
[X] All props are defined accurately and each prop has a /** comment above it */
[X] The file is named correctly
[X] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[X] The only data being stored in the state is data necessary for rendering and nothing else
[X] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[X] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[X] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[X] All JSX used for rendering exists in the render method
[X] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[X] If any new file was added I verified that:

[X] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[X] If a new CSS style is added I verified that:

[X] A similar style doesn't already exist
[X] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[X] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[X] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[X] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[X] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[X] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[X] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[X] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://github.com/Expensify/App/assets/54790231/f944f87c-5623-49f2-9452-9c76b3bf255f

Mobile Web - Chrome

https://github.com/Expensify/App/assets/54790231/f7a6c208-ce96-4ef1-91df-ccff51b6c17b

Mobile Web - Safari

https://github.com/Expensify/App/assets/54790231/eb9457f4-7a5d-45ee-a10f-5c16cbd4c724

Desktop

https://github.com/Expensify/App/assets/54790231/b4f5a677-7883-41f7-8d85-ad4565bcc0ac

iOS

https://github.com/Expensify/App/assets/54790231/681e4e39-e865-45f5-9dca-c43777c3a4d9

Android

https://github.com/Expensify/App/assets/54790231/2b5b8fd6-775f-4a79-8412-0254838960bb

Do you mind updating the Test steps above to use the action word "Verify"? Thanks

@hoangzinh updated, thanks!

Bump @roryabraham

Bump @roryabraham

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/roryabraham in version: 1.3.76-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/mountiny in version: 1.3.77-7 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


Make TimestampStr's length statically available

This isn't always accurate to the length of the formatted string due to the sign being omitted if positive. As implemented here it's basically equivalent to mem::size_of. Could be made into a const function that checks the first byte, though?

Yeah I've realised that. I guess if you know you're not handling negative years, you can use ::LEN - 1 as the static length. Making this a const function does not help me, because it's not possible to const-construct a TimestampStr.

What is your use case? Could mem::size_of work instead? I could also look into supporting const-formatting eventually.

I want to const-compute the length of a HTTP message I'm assembling. I could just hardcode the number but that seems brittle.
mem::size_of is the size of the TimestampStr struct. There's no guarantee that that matches the length of the derefed &str.

TimestampStr is just TimestampStr([u8; LEN]), and will be the same size in bytes as its max length. mem::size_of::<TimestampStr>() == TimestampStr::LEN. It's just that it will be LEN - 1 as a &str upon deref if positive, both approaches have that same downside but equivalent values.
I'm not fully comfortable exposing a LEN const due to that sign part, as it could be misleading.
I'll try to think up a more convenient solution soon. Honestly maybe just naming it MAX_LEN instead.

I added TimestampStr::MAX_LEN to 0.2.17

Thanks!


feat(#151): Start implementing of hamcrest assertions

Start implementing of hamcrest assertions.
Closes: #151

PR-Codex overview
This PR adds support for parsing Hamcrest assertions in Java tests to the testnames library. Here are the notable changes:
Detailed summary

Added AssertionOfHamcrest class for parsing Hamcrest assertions.
Added TestWithHamcrestAssertions and TestWithHamcrestAssertions.java for testing Hamcrest assertions.
Added hamcrest dependency to pom.xml.
Added tests for AssertionOfHamcrest.

The following files were skipped due to too many changes: src/test/java/com/github/lombrozo/testnames/javaparser/AssertionOfHamcrestTest.java

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@rultor merge

@rultor merge

@volodya-lombrozo OK, I'll try to merge now. You can check the progress of the merge here