Remove a bajillion manual serde implementations

This PR adds serde_tuple and serde_repr dependencies in order to remove by far most of our manual Serialize/Deserialize implementations.
BlockHeader is the main exception to this because for whatever reason serde_tuple and derive_builder don't seem to work well together.
Other minor related changes:

Rename types/src/sector/serde.rs to serde_tests.rs because after removing the Serialize/Deserialize implementations, the tests were all that was left
Add bitvec_serde::{serialize, deserialize} method in order to be used as #[serde(with = "bitvec_serde")] elsewhere
Turn the Randomness type alias into a proper wrapper struct that correctly handles serialization
Remove the Byte32De and BytesDe types as they're no longer needed
Add extern crate serde; in a couple places as workaround for a compiler bug

So changed my mind on this (especially with cargo expand issue being resolved). If someone could also make a thorough pass to make sure of the field ordering and no bytes are serialized without tagging them to be serialized as byte string, that would be great!
Definitely with this now we have to be very careful of looking at field ordering to match go impl's but in the long run it should be easier. I also didn't know about the serde_repr derives, definitely much cleaner to use this and the tuple serialize macro (even if a bit more unreadable expanded code, that doesn't matter much)
Also closes #185 (very outdated and was created at very start of serde usage)


OpenTelemetry (gRPC) Access Log: envoy exits with error

Title: OpenTelemetry (gRPC) Access Log: envoy exits with error
Description:
I configured envoy for OpenTelemetry for gRPC access log but envoy failed
Config:
Here is my config file:
static_resources:
  listeners:
  - address:
      socket_address:
        address: <IP_ADDRESS>
        port_value: 10000
    traffic_direction: OUTBOUND
    filter_chains:
    - filters:
      - name: envoy.filters.network.http_connection_manager
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
          generate_request_id: true
          access_log:
          - name: envoy.access_loggers.open_telemetry
            typed_config:
              "@type": type.googleapis.com/envoy.extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig
              common_config:
                log_name: envoy-log
                grpc_service:
                  envoy_grpc:
                    cluster_name: opentelemetry_collector
          codec_type: AUTO
          stat_prefix: ingress_http
          http_filters:
          - name: envoy.filters.http.router
            typed_config:
              "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
          route_config:
            name: proxy_routes
            virtual_hosts:
            - name: proxy
              domains:
              - "*"
              routes:
              - match:
                  prefix: "/home/1"
                route:
                  cluster: envoy_cluster1
                decorator:
                  operation: routeToEnvoy1

  clusters:
  - name: envoy_cluster1
    type: STRICT_DNS
    lb_policy: ROUND_ROBIN
    load_assignment:
      cluster_name: envoy_cluster1
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address:
                address: envoy-1
                port_value: 10000
  - name: opentelemetry_collector
    type: STRICT_DNS
    lb_policy: ROUND_ROBIN
    typed_extension_protocol_options:
      envoy.extensions.upstreams.http.v3.HttpProtocolOptions:
        "@type": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions
        explicit_http_config:
          http2_protocol_options: {}
    load_assignment:
      cluster_name: opentelemetry_collector
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address:
                address: opentelemetry
                port_value: 4317

Logs:
opentelemetry-envoy-front-proxy-1  | [2024-02-20 08:45:33.011][1][info][main] [source/server/server.cc:492]   response header map: 432 bytes: :status,access-control-allow-credentials,access-control-allow-headers,access-control-allow-methods,access-control-allow-origin,access-control-allow-private-network,access-control-expose-headers,access-control-max-age,age,cache-control,connection,content-encoding,content-length,content-type,date,etag,expires,grpc-message,grpc-status,keep-alive,last-modified,location,proxy-connection,proxy-status,server,transfer-encoding,upgrade,vary,via,x-envoy-attempt-count,x-envoy-decorator-operation,x-envoy-degraded,x-envoy-immediate-health-check-fail,x-envoy-ratelimited,x-envoy-upstream-canary,x-envoy-upstream-healthchecked-cluster,x-envoy-upstream-service-time,x-request-id
opentelemetry-envoy-front-proxy-1  | [2024-02-20 08:45:33.011][1][info][main] [source/server/server.cc:492]   response trailer map: 144 bytes: grpc-message,grpc-status
opentelemetry-envoy-front-proxy-1  | [2024-02-20 08:45:33.053][1][info][main] [source/server/server.cc:859] runtime: {}
opentelemetry-envoy-front-proxy-1  | [2024-02-20 08:45:33.053][1][info][main] [source/server/server.cc:721] No admin address given, so no admin HTTP server started.
opentelemetry-envoy-front-proxy-1  | [2024-02-20 08:45:33.053][1][info][config] [source/server/configuration_impl.cc:164] loading tracing configuration
opentelemetry-envoy-front-proxy-1  | [2024-02-20 08:45:33.053][1][info][config] [source/server/configuration_impl.cc:124] loading 0 static secret(s)
opentelemetry-envoy-front-proxy-1  | [2024-02-20 08:45:33.053][1][info][config] [source/server/configuration_impl.cc:130] loading 3 cluster(s)
opentelemetry-envoy-front-proxy-1  | [2024-02-20 08:45:33.055][1][info][config] [source/server/configuration_impl.cc:134] loading 1 listener(s)
opentelemetry-envoy-front-proxy-1  | [2024-02-20 08:45:33.056][1][info][tracing] [source/common/tracing/tracer_manager_impl.cc:42] instantiating a new tracer: envoy.tracers.opentelemetry
opentelemetry-envoy-front-proxy-1  | [2024-02-20 08:45:33.056][1][warning][misc] [source/common/protobuf/message_validator_impl.cc:21] Deprecated field: type envoy.extensions.access_loggers.grpc.v3.CommonGrpcAccessLogConfig Using the default now-deprecated value AUTO for enum 'envoy.extensions.access_loggers.grpc.v3.CommonGrpcAccessLogConfig.transport_api_version' from file als.proto. This enum value will be removed from Envoy soon so a non-default value must now be explicitly set. Please see https://www.envoyproxy.io/docs/envoy/latest/version_history/version_history for details. If continued use of this field is absolutely necessary, see https://www.envoyproxy.io/docs/envoy/latest/configuration/operations/runtime#using-runtime-overrides-for-deprecated-features for how to apply a temporary and highly discouraged override.
opentelemetry-envoy-front-proxy-1  | [2024-02-20 08:45:33.056][1][warning][misc] [./source/common/config/utility.h:171] V2 (and AUTO) xDS transport protocol versions are deprecated in log_name: "envoy-log"
opentelemetry-envoy-front-proxy-1  | grpc_service {
opentelemetry-envoy-front-proxy-1  |   envoy_grpc {
opentelemetry-envoy-front-proxy-1  |     cluster_name: "opentelemetry_collector"
opentelemetry-envoy-front-proxy-1  |   }
opentelemetry-envoy-front-proxy-1  | }
opentelemetry-envoy-front-proxy-1  | . The v2 xDS major version has been removed and is no longer supported. You may be missing explicit V3 configuration of the transport API version, see the advice in https://www.envoyproxy.io/docs/envoy/latest/faq/api/envoy_v3.
opentelemetry-envoy-front-proxy-1  | [2024-02-20 08:45:33.057][1][critical][main] [source/server/server.cc:417] error initializing config '  /etc/envoy.yaml': V2 (and AUTO) xDS transport protocol versions are deprecated in log_name: "envoy-log"
opentelemetry-envoy-front-proxy-1  | grpc_service {
opentelemetry-envoy-front-proxy-1  |   envoy_grpc {
opentelemetry-envoy-front-proxy-1  |     cluster_name: "opentelemetry_collector"
opentelemetry-envoy-front-proxy-1  |   }
opentelemetry-envoy-front-proxy-1  | }
opentelemetry-envoy-front-proxy-1  | . The v2 xDS major version has been removed and is no longer supported. You may be missing explicit V3 configuration of the transport API version, see the advice in https://www.envoyproxy.io/docs/envoy/latest/faq/api/envoy_v3.
opentelemetry-envoy-front-proxy-1  | [2024-02-20 08:45:33.057][1][info][main] [source/server/server.cc:1024] exiting
opentelemetry-envoy-front-proxy-1  | V2 (and AUTO) xDS transport protocol versions are deprecated in log_name: "envoy-log"
opentelemetry-envoy-front-proxy-1  | grpc_service {
opentelemetry-envoy-front-proxy-1  |   envoy_grpc {
opentelemetry-envoy-front-proxy-1  |     cluster_name: "opentelemetry_collector"
opentelemetry-envoy-front-proxy-1  |   }
opentelemetry-envoy-front-proxy-1  | }
opentelemetry-envoy-front-proxy-1  | . The v2 xDS major version has been removed and is no longer supported. You may be missing explicit V3 configuration of the transport API version, see the advice in https://www.envoyproxy.io/docs/envoy/latest/faq/api/envoy_v3.
opentelemetry-envoy-front-proxy-1 exited with code 1

Try update to:
          - name: envoy.access_loggers.open_telemetry
            typed_config:
              "@type": type.googleapis.com/envoy.extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig
              common_config:
                log_name: envoy-log
                transport_api_version: V3
                grpc_service:
                  envoy_grpc:
                    cluster_name: opentelemetry_collector

@ohadvano thanks. But it was not mentioned in the docs, https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/access_loggers/open_telemetry/v3/logs_service.proto#envoy-v3-api-msg-extensions-access-loggers-open-telemetry-v3-opentelemetryaccesslogconfig

Contribution to make the docs clearer are always welcome, you can create a PR and it will be reviewed by maintainers

sure thing. Thanks.


chore(deps): upgrade runtime dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-runtime-dependencies-1.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 2925

Questions ?
Please refer to the Backport tool documentation


Warn user when Node isn't installed

If the user downloads Guppy without having Node.js installed, Guppy will open without issue.
In fact, nothing will go wrong until they try creating a new project. At that point, a console error is logged, but nothing is shown in the UI :/ this screen will hang forever:

We should perform a check on mount that sees if it can find a valid Node.js installation. If it can't, it should throw a warning dialog, telling the user to install node, and linking them to our installation instructions.
Note that in the future, we hope that the user won't have to download Node separately (see #44). Unfortunately, this task seems non-trivial, so we're deferring it for now, and we need a stop-gap measure.

@joshwcomeau I'm working on this. Nothing pushed yet.
How should this work?
I think we could check if node is installed with node -v and if it fails show an error message with details how to fix the problem.
I would add this check to refresh-projects.saga and bail early. Then we're not showing anything from the app as the app-loaded won't be true.
What do you think is it OK to implement it like this?

OK, I've pushed my WIP to branch node-avail-check.
It should work but not tested yet. I need to test it with the binary as during devServer I need node present.
I added the following:

Created a service function checkIfNodeIsAvailable inside shell.service
Custom modal so it's possible to show a link to our installation guide (not sure if it's worth it to add - maybe I'll remove it & copy the relevant info from the README.md into a default dialog.) I think this could be a separate issue as it would be great to have nicer looking custom dialogs.

Todos:

[ ] Add a unit test for node check serivce.
[ ] Remove custom dialog & use default error message.

Ah, so I think rather than create our own custom modal to support nested links, we should just auto-open a browser window when they click "Ok". Since yeah it's not really an optional thing, they can't continue using Guppy until they solve it.
I'm also a fan of using native platform options, since they tackle a lot of things for us (like keyboard controls, focus management, disabling scrolling, etc). So at some point we may need to create our own, but I'd like to defer that until there's something we really can't work around.
(there is also the fact that we could make it look nicer, but I think aesthetics are less important than familiarity, and I think it's good that we can use dialogs that the user is already very familiar with)

How should this work?
I think we could check if node is installed with node -v and if it fails show an error message with details how to fix the problem.

I would add this check to refresh-projects.saga and bail early. Then we're not showing anything from the app as the app-loaded won't be true.

What do you think is it OK to implement it like this?

For the most part, that sounds great! It makes a lot more sense than what I was originally thinking :+1:
One small thing: I'm not sure if it should be as part of the refresh-projects saga. It feels like a separate concern.
Maybe we can just call the service right from within App.js? I'm not sure it fits in with any of our existing sagas, and I'm also not sure it deserves its own, since it's just a simple check.

(sorry for all the messages!)
One thing I just thought of, maybe for a future release. I wonder if we can install Node from within Guppy?
We might run into permissions issues, but it'd be cool to try and install NVM from within Guppy. It would require its own UI and saga and stuff, so I think we should tackle this later, but it's kind of a cool idea, right?

@joshwcomeau Thanks for your feedback.
I've changed it as you proposed (not pushed yet). I've added it to App.js and you're right it's not related to refresh-saga - I just wanted to stop rendering the app if Node is missing.
But I think it's also OK to render the app and show the error message to inform the user that Node is required. I now have to add the same dialog to the Create-project-wizard to avoid the stuck installation process. Is it OK to show a different message there with-out a redirect to the installation guide?
Yes, a Saga seems a bit to much for the simple check. That was my first thought but haven't implemented it.
What do you think should we attach a node property to Mixpanel event? So we know how often this happens. e.g. logger.logEvent('load-application', {'node_version': 'missing' | 'v8.x.y'});
Then we also know which node versions are used & how often node is missing.
I'll open a PR for this in a few Minutes.


Fully lazy imports of IO submodules

@JuliaSprenger @samuelgarcia
Hello everyone - a recent issue on NeuroConv drew our attention to the fact that global module import structures such as https://github.com/NeuralEnsemble/python-neo/blob/master/neo/init.py#L10-L11 and https://github.com/NeuralEnsemble/python-neo/blob/master/neo/io/init.py#L278-L379 will actively import every single format as long as the dependencies are installed.
Both we and you do, thankfully, have always used lazy importing with respect to conditional installation - module will not be loaded if it is not installed, but will through an error on attempting to utilize the IO.
However it occurred to us that as the number of formats grows, and as any tertiary or deeper dependencies in those other packages grow, the total startup time of the package grows as well as the risk that any one of those deeper dependencies may eventually have some platform, Python version, or other configuration problem (using the above issue as a prime example). It would be nice if formats or other submodule imports only occurred on-demand as it is rare for a single use-case to need immediate access to every single IO (rather, it's more typical that it might only need to access one or two).
We are apparently not alone in thinking this - in progress PEP 690 involves a rigorous discussion about some common importlib tools for this functionality, though existing 5-year old PEP 562 already defines a process for doing this. As such we were looking into implementing __getattr_, __dir__, and __all__ overrides much like scikit-image recently implemented.
Thing is though, if we implemented this at the NeuroConv level we would still not gain the performance benefit since any time we want to use SpikeInterface with a neo backend, the import structure would become non-lazy unless we also propagated those types of changes down to those levels (which I'd be perfectly fine helping with or doing myself).
What are your thoughts on this?
Also @alejoe91, since (I think?) it would have to occur at the SpikeInterface level as well.
CC: @bendichter

Hi Cody.
I totally agree.
This is something I wanted to do both in neo and spikeinterface : remove import at module level and move to on demand import in function or method.
I will try to do something soon.

Fixed via #1163


javascript portForward generates Unexpected server response: 401 on websocket

Environmental Info:
K3s Version: k3s version v1.18.6+k3s1 (6f56fa1d)

Node(s) CPU architecture, OS, and Version:
k3OS 0.11.0 install
Linux kubernetes 5.4.0-37-generic #41 SMP Fri Jun 19 23:11:47 UTC 2020 x86_64 GNU/Linux

Cluster Configuration: 1 master, default config

Describe the bug:
unable to port-forward using nodejs, i just keep getting a 401 error, only happens with k3s
listed in the javascript library issues here

Steps To Reproduce:

create default k3os or k3s on a ubuntu system
setup basic kubenav in kubernetes (NOT THE APP) for management
try to forward the port using javascript code and goto localhost:14122, just keep getting a websocket 401 error
use kubectl port-forward and have no issues at all?

Installed K3s:

Expected behavior: to be able to port-forward the ports

Actual behavior: getting a random 401 websocket error?

Additional context / logs:

Is the code from the issue you linked to the same code you're running to reproduce this issue?
Off the top of my head I can't think of anything unusual that k3s is doing that would prevent any standard kubernetes client from working normally, when pointed at the k3s kubectl.conf.
You mentioned that it works with minikube - what version of that were you using?

Hi
Yes it's exactly the same few lines of code, no difference
Regards
Simon

turns out the was a WS issue which was fixed upstream and the library hasnt updated it yet
https://github.com/kubernetes-client/javascript/issues/488 👍


[MoveosStd] Table need provide destroy_empty_table, is_empty function

Whether to record length and where to record it. It doesn't feel right to keep the record in TableHandle. If it is recorded in TableInfo, how to get TableInfo is a problem (TableInfo is in ObjectStorage, there is a dependency cycle problem).
The StateResolver trait of Table only has the method of obtaining value through ObjectID(TableHandle) and key. How to express and obtain table length, or check is_empty is also a problem.

Refs

Discussion: https://discord.com/channels/1078938449974935592/1121436866890170398

Two solutions:

Save length in Table, TypeTable, and ObjectStorage, like in Move's Table extension or Aptos's TableWithLength. The advantage is that it is easy to implement and can be implemented directly in Move without native or statedb support. The disadvantage is that the struct with a table as field, after modifications to the Table, the struct will also change.

Implement a native method to check if the Table is empty. However, this check cannot directly rely on statedb since the VM runtime does not update statedb in real-time. It requires the Table's Runtime cache and statedb to work together. In this case, we also need to save a length, which can be stored in the TableInfo. TableInfo is a global Object, currently only saving the Table SMT's state_root, which will be directly updated and created by StateDB. raw_table native does not know TableInfo. We need to refactor the raw_table runtime implemention.

For option 1, as this function can create a table from a given handle,  the init length may no longer be zero, there should have a way to get the length of the given handle.


How to set hostname

After I installed into my Nas, the console output the log with "Could not reliably determine the server's fully qualified domain name, using <IP_ADDRESS>. Set the 'ServerName' directive globally to suppress this message "
Then when I come to the website, it tells me that "Message: Host '<IP_ADDRESS>' is not allowed to connect to this MariaDB server]"
Maybe I set the wrong hostname in the docker-composer.yml?
This is how I set the yml file
version: "3.7"
services:
  web:
    image: ghcr.io/hugofara/lwt:master
    container_name: lwt
    depends_on:
      - db
    links:
      - db
    volumes:
      - /share/Container/lwtrhugofara/media:/var/www/html/media
    ports:
      - "38080:80"
    restart: unless-stopped
  db:
    container_name: lwt_db
    environment:
        MYSQL_ALLOW_EMPTY_PASSWORD: "no"
        MYSQL_ROOT_PASSWORD: "qwerty"
    hostname: db
    image: mariadb:10.7
    restart: unless-stopped
    volumes:
        - /share/Container/lwtrhugofara/sql:/var/lib/mysql

These are the messages I got.

@Babynini
If you go to:
/etc/apache2/apache2.conf
and insert:
ServerName db

Hi @Babynini , sorry for the late answer, is your problem solved (thanks @ProgramComputer for the help!)?
Another possible cause for this issue is that LWT tries to access the database container before MySQL is fully set-up. It sometimes happens on the first installtion, you can try to reload the lwt_web container.


[SPARK-38631][CORE] Uses Java-based implementation for un-tarring at …

…Utils.unpack (#643)
What changes were proposed in this pull request?
This PR proposes to use FileUtil.unTarUsingJava that is a Java implementation for un-tar .tar files. unTarUsingJava is not public but it exists in all Hadoop versions from 2.1+, see HADOOP-9264.
The security issue reproduction requires a non-Windows platform, and a non-gzipped TAR archive file name (contents don't matter).
Why are the changes needed?
There is a risk for arbitrary shell command injection via Utils.unpack when the filename is controlled by a malicious user. This is due to an issue in Hadoop's unTar, that is not properly escaping the filename before passing to a shell command:https://github.com/apache/hadoop/blob/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java#L904
Does this PR introduce any user-facing change?
Yes, it prevents a security issue that, previously, allowed users to execute arbitrary shall command.
How was this patch tested?
Manually tested in local, and existing test cases should cover.
Closes #35946 from HyukjinKwon/SPARK-38631.
Authored-by: Hyukjin Kwon<EMAIL_ADDRESS>(cherry picked from commit 057c051285ec32c665fb458d0670c1c16ba536b2)

What changes were proposed in this pull request?

Why are the changes needed?

Does this PR introduce any user-facing change?

How was this patch tested?

CI ： https://devopsjenkins.kyligence.io/job/KE4/job/Spark-UT/241/


Update python-libjuju

Updates python-libjuju to fix issue caused by websockets library update.
https://github.com/juju/python-libjuju/commit/3436c2d2f65033bd14a65266e689361441fba5c7

LGTM, thanks for the fix!


sanitycheck: Ease error interception from calling script

Is your enhancement proposal related to a problem? Please describe.
Today it is not easy to detect sanitycheck execution errors from a calling script.
Some non error log is redirected to stderr, so for instance the following command:
./scripts/sanitycheck --ninja --runtime-artifact-cleanup -T samples/hello_world/ -p nucleo_f401re --outdir /local/mcu/zephyrproject/logs/200811/log_db_master_9df168b535_0950 2> error.tmp

outputs:
Renaming output directory to /local/mcu/zephyrproject/logs/200811/log_db_master_9df168b535_0950.5
INFO    - Total complete:    1/   1  100%  skipped:    0, failed:    0

And output the 2 following lines in errror.tmp:
INFO    - JOBS: 20
INFO    - Building initial testcase list...
INFO    - 1 test configurations selected, 0 configurations discarded due to filters.
INFO    - Adding tasks to the queue...
INFO    - 1 of 1 tests passed (100.00%), 0 failed, 0 skipped with 0 warnings in 3.97 seconds
INFO    - In total 1 test cases were executed on 1 out of total 272 platforms (0.37%)
INFO    - 0 tests executed on platforms, 1 tests were only built.

Describe the solution you'd like
Normalize sanitycheck script output so only script execution errors are dumped to stderr and sanitycheck callers can detect script execution issues.
Additional context
Identifying script execution errors is required to ease daily test bench maintenance

this could be resolved with:
diff --git a/scripts/sanitycheck b/scripts/sanitycheck
index 16453aa052..19a0949020 100755
--- a/scripts/sanitycheck
+++ b/scripts/sanitycheck
@@ -763,7 +763,7 @@ def main():
     fh.setLevel(logging.DEBUG)

     # create console handler with a higher log level
-    ch = logging.StreamHandler()
+    ch = logging.StreamHandler(sys.stdout)

     VERBOSE = options.verbose
     if VERBOSE > 1:

however, what type of errors you expect to go to stderr?

however, what type of errors you expect to go to stderr?

Good question, this was some time ago, I should have documented.
So, I can recall exactly but these were script execution issues that could be due to wrong environment setup or alike. Not test execution issues, but kind of errors that would lead to wrong test results.
Though, fact that I am not able to recall is a sign that this was not that critical or that I managed to get through it.
So either the fix is harmless and let's add it, either we can close the point and I'll re open once I face one of these issues once again

Closing and will re-open once the case is faced again


CLI V8 fails to install with the official installation method for Debian and Fedora

Please fill out the issue checklist below and provide ALL the requested information.

[x] I reviewed open and closed github issues that may be related to my problem.
[x] I tried updating to the latest version of the CF CLI to see if it fixed my problem.
[x] I attempted to run the command with CF_TRACE=1 to help debug the issue.
[x] I am reporting a bug that others will be able to reproduce.

Describe the bug and the command you saw an issue with
I am trying to install the v8 CLI per official instructions here for both Debian and Fedora, in base Dockerhub containers.
What happened
I was unable to install the V8 CLI for either Debian or Fedora in base Dockerhub containers.
Expected behavior
I expect the V8 CLI to install via the official installation guide's instructions for listed supported OSs.
Exact Steps To Reproduce
Steps to reproduce the behavior; include the exact CLI commands and verbose output:

Follow installation instructions for Debian/Ubuntu or Enterprise Linux/Fedora.
See that it fails to install.

Provide more context
Installing the v8 CLI on Fedora 39:
[root@768dfd121621 /]# sudo yum install cf8-cli
Cloud Foundry CLI                                 1.7 kB/s |  36 kB     00:21
Dependencies resolved.
==================================================================================
 Package         Architecture   Version            Repository                Size
==================================================================================
Installing:
 cf8-cli         x86_64         8.7.9-1            cloudfoundry-cli         8.5 M

Transaction Summary
==================================================================================
Install  1 Package

Total download size: 8.5 M
Installed size: 24 M
Is this ok [y/N]: y
Downloading Packages:
[MIRROR] cf8-cli-installer_8.7.9_x86-64.rpm: Interrupted by header callback: Inconsistent server data, reported file Content-Length: 8882805, repository metadata states file length: 8882304 (please report to repository maintainer)
[MIRROR] cf8-cli-installer_8.7.9_x86-64.rpm: Interrupted by header callback: Inconsistent server data, reported file Content-Length: 8882805, repository metadata states file length: 8882304 (please report to repository maintainer)
[MIRROR] cf8-cli-installer_8.7.9_x86-64.rpm: Interrupted by header callback: Inconsistent server data, reported file Content-Length: 8882805, repository metadata states file length: 8882304 (please report to repository maintainer)
[MIRROR] cf8-cli-installer_8.7.9_x86-64.rpm: Interrupted by header callback: Inconsistent server data, reported file Content-Length: 8882805, repository metadata states file length: 8882304 (please report to repository maintainer)
[FAILED] cf8-cli-installer_8.7.9_x86-64.rpm: No more mirrors to try - All mirrors were already tried without success

The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'yum clean packages'.
 Done
Building dependency tree... Done
Reading state information... Done
17 packages can be upgraded. Run 'apt list --upgradable' to see them.
W: https://packages.cloudfoundry.org/debian/dists/stable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
root@1d63496bf1f8:/var/www/html# apt-get install -y cf8-cli
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  cf8-cli
0 upgraded, 1 newly installed, 0 to remove and 17 not upgraded.
Need to get 6537 kB of archives.
After this operation, 25.6 MB of additional disk space will be used.
Get:1 https://packages.cloudfoundry.org/debian stable/main amd64 cf8-cli amd64 8.7.9 [6537 kB]
Err:1 https://packages.cloudfoundry.org/debian stable/main amd64 cf8-cli amd64 8.7.9
  File has unexpected size (6539284 != 6537248). Mirror sync in progress? [IP: <IP_ADDRESS> 443]
  Hashes of expected file:
   - SHA256:2eb3b948b176b014c68f32a268e4c34928ed5871eae711e0a577991dc45571c3
   - SHA1:27900c28c9a787cbd527926423ba11407fce7fff [weak]
   - MD5Sum:5a2c88475df4d3cdbea86f2584840e0b [weak]
   - Filesize:6537248 [weak]
E: Failed to fetch https://s3-us-west-1.amazonaws.com/v8-cf-cli-releases/releases/v8.7.9/cf8-cli-installer_8.7.9_x86-64.deb  File has unexpected size (6539284 != 6537248). Mirror sync in progress? [IP: <IP_ADDRESS> 443]
   Hashes of expected file:
    - SHA256:2eb3b948b176b014c68f32a268e4c34928ed5871eae711e0a577991dc45571c3
    - SHA1:27900c28c9a787cbd527926423ba11407fce7fff [weak]
    - MD5Sum:5a2c88475df4d3cdbea86f2584840e0b [weak]
    - Filesize:6537248 [weak]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
root@1d63496bf1f8:/var/www/html# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

Notes regarding V6 and V7 CLI support:

V6:

Minimum supported version of CF Deployment: v7.0.0 (CAPI Release: 1.74.0 (APIs 2.128.0 and 3.63.0))
Maximum supported version of CF Deployment: v13.4.0 (CAPI Release: 1.94.0 (APIs 2.149.0 and 3.84.0))

V7:

Minimum supported version of CF Deployment: v13.5.0 (CAPI Release: 1.95.0 (APIs 2.150.0 and 3.85.0))

I'm also facing this issue when trying to install the cf-cli 8 in our Azure Pipelines.

Same issue here, unfortunately this breaks all of our deploy pipelines

Same issue here

Same issue here, any solution?

Same issue here, any solution?

We followed the steps from here
and got the following output:
docker run -it --rm fedora

[root@b433513128b6 /]# wget -O /etc/yum.repos.d/cloudfoundry-cli.repo https://packages.cloudfoundry.org/fedora/cloudfoundry-cli.repo
--2024-04-02 16:58:23--  https://packages.cloudfoundry.org/fedora/cloudfoundry-cli.repo
Resolving packages.cloudfoundry.org (packages.cloudfoundry.org)... <IP_ADDRESS>, 2600:1406:2e00:785::39c4, 2600:1406:2e00:796::39c4
Connecting to packages.cloudfoundry.org (packages.cloudfoundry.org)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: https://cf-cli-rpm-repo.s3.amazonaws.com/cloudfoundry-cli.repo [following]
--2024-04-02 16:58:23--  https://cf-cli-rpm-repo.s3.amazonaws.com/cloudfoundry-cli.repo
Resolving cf-cli-rpm-repo.s3.amazonaws.com (cf-cli-rpm-repo.s3.amazonaws.com)... <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, ...
Connecting to cf-cli-rpm-repo.s3.amazonaws.com (cf-cli-rpm-repo.s3.amazonaws.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 185 [binary/octet-stream]
Saving to: ‘/etc/yum.repos.d/cloudfoundry-cli.repo’

/etc/yum.repos.d/cloudfoundry-cli.repo                100%[========================================================================================================================>]     185  --.-KB/s    in 0s

2024-04-02 16:58:24 (1.66 MB/s) - ‘/etc/yum.repos.d/cloudfoundry-cli.repo’ saved [185/185]

[root@b433513128b6 /]# dnf install -y cf-cli
Cloud Foundry CLI                                                                                31 kB/s |  36 kB     00:01
Dependencies resolved.
=======================================================================================================================================================================================================================
 Package                                          Architecture                                     Version                                            Repository                                                  Size
=======================================================================================================================================================================================================================
Installing:
 cf-cli                                           x86_64                                           6.53.0-1                                           cloudfoundry-cli                                           8.5 M

Transaction Summary
=======================================================================================================================================================================================================================
Install  1 Package

Total download size: 8.5 M
Installed size: 24 M
Downloading Packages:
cf-cli-installer_6.53.0_x86-64.rpm                                                                                10 MB/s | 8.5 MB     00:00
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                10 MB/s | 8.5 MB     00:00
Cloud Foundry CLI                                                                                39 kB/s | 3.9 kB     00:00
Importing GPG key 0xFCD21EF8:
 Userid     : "CF CLI Team<EMAIL_ADDRESS> Fingerprint: C19C 0474 8BF3 3B2E 1786 3557 172B 5989 FCD2 1EF8
 From       : https://packages.cloudfoundry.org/fedora/cli.cloudfoundry.org.key
Key imported successfully
error: Verifying a signature using certificate C19C04748BF33B2E17863557172B5989FCD21EF8 (CF CLI Team <cf-cli-eng@pivotal.io>):
  1. Certificiate 172B5989FCD21EF8 invalid: certificate is not alive
      because: The primary key is not live
      because: Expired on 2020-09-12T18:17:33Z
  2. Key 172B5989FCD21EF8 invalid: key is not alive
      because: The primary key is not live
      because: Expired on 2020-09-12T18:17:33Z
error: Verifying a signature using certificate C19C04748BF33B2E17863557172B5989FCD21EF8 (CF CLI Team <cf-cli-eng@pivotal.io>):
  1. Certificiate 172B5989FCD21EF8 invalid: certificate is not alive
      because: The primary key is not live
      because: Expired on 2020-09-12T18:17:33Z
  2. Key 172B5989FCD21EF8 invalid: key is not alive
      because: The primary key is not live
      because: Expired on 2020-09-12T18:17:33Z
Import of key(s) didn't help, wrong key(s)?
Public key for cf-cli-installer_6.53.0_x86-64.rpm is not trusted. Failing package is: cf-cli-6.53.0-1.x86_64
 GPG Keys are configured as: https://packages.cloudfoundry.org/fedora/cli.cloudfoundry.org.key
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: GPG check FAILED

V8
[root@b433513128b6 /]# dnf install -y cf8-cli
Last metadata expiration check: 0:05:52 ago on Tue Apr  2 16:58:36 2024.
Dependencies resolved.
=======================================================================================================================================================================================================================
 Package                                           Architecture                                     Version                                           Repository                                                  Size
=======================================================================================================================================================================================================================
Installing:
 cf8-cli                                           x86_64                                           8.7.9-1                                           cloudfoundry-cli                                           8.5 M

Transaction Summary
=======================================================================================================================================================================================================================
Install  1 Package

Total download size: 8.5 M
Installed size: 24 M
Downloading Packages:
[MIRROR] cf8-cli-installer_8.7.9_x86-64.rpm: Interrupted by header callback: Inconsistent server data, reported file Content-Length: 8882805, repository metadata states file length: 8882304 (please report to repository maintainer)
[MIRROR] cf8-cli-installer_8.7.9_x86-64.rpm: Interrupted by header callback: Inconsistent server data, reported file Content-Length: 8882805, repository metadata states file length: 8882304 (please report to repository maintainer)
[MIRROR] cf8-cli-installer_8.7.9_x86-64.rpm: Interrupted by header callback: Inconsistent server data, reported file Content-Length: 8882805, repository metadata states file length: 8882304 (please report to repository maintainer)
[MIRROR] cf8-cli-installer_8.7.9_x86-64.rpm: Interrupted by header callback: Inconsistent server data, reported file Content-Length: 8882805, repository metadata states file length: 8882304 (please report to repository maintainer)
[FAILED] cf8-cli-installer_8.7.9_x86-64.rpm: No more mirrors to try - All mirrors were already tried without success

The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: Error downloading packages:
  cf8-cli-8.7.9-1.x86_64: Cannot download, all mirrors were already tried without success
[root@b433513128b6 /]#

V7 - looks ok
[root@b433513128b6 /]# dnf install -y cf7-cli
Cloud Foundry CLI                                                                                2.7 kB/s | 2.6 kB     00:00
Dependencies resolved.
=======================================================================================================================================================================================================================
 Package                                           Architecture                                     Version                                           Repository                                                  Size
=======================================================================================================================================================================================================================
Installing:
 cf7-cli                                           x86_64                                           7.7.9-1                                           cloudfoundry-cli                                           7.2 M

Transaction Summary
=======================================================================================================================================================================================================================
Install  1 Package

Total download size: 7.2 M
Installed size: 20 M
Downloading Packages:
cf7-cli-installer_7.7.9_x86-64.rpm                                                                                9.9 MB/s | 7.2 MB     00:00
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                9.8 MB/s | 7.2 MB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                1/1
  Installing       : cf7-cli-7.7.9-1.x86_64                                                                                1/1
  Running scriptlet: cf7-cli-7.7.9-1.x86_64                                                                                1/1
  Verifying        : cf7-cli-7.7.9-1.x86_64                                                                                1/1

Installed:
  cf7-cli-7.7.9-1.x86_64

Complete!
[root@b433513128b6 /]#

Sorry, we caused the outage. We're working to make the release process public and had some issues yesterday. It should be fixed now. Please feel free to reopen this issue.
Thanks, @gururajsh, for helping with this fix.

Thank you A-B for updating us and getting this sorted out! I appreciate the timely help!


微信退款异常 ，返回微信返回错误提示:订单金额或退款金额与之前请求不一致，请核实后再试

Q
A

Bug?
no

New Feature?
no

Version
Specific version or SHA of a commit

Actual Behavior
What is the actual behavior?
Expected Behavior
What is the behavior you expect?
Steps to Reproduce
What are the steps to reproduce this bug? Please add code examples,
screenshots or links to GitHub repositories that reproduce the problem.
Possible Solutions
If you have already ideas how to solve the issue, add them here.
(remove this section if not needed)

以前都没问题，突然不可以了

It would be better if you use English to describe your issue, it's the most common language among the maintainers and experienced users here.

Sorry, we can't really help you this way. Please open a new issue in English.


Problem saving files

Issue Type: Bug
Approximately after every 15 minutes of use, none of the following works on files changed:- Save File, - Save All Files- Trigger save question by closing window. There is no error message. The Indicator in the file-tab still indicates, that the file is unsaved.
I started vscode with the --log parameter and enclosed the logged data.
After I created a file "saving-problem.tpl" i entered text and periodically saved it.
At timestamp 2022-02-15 11:08:15.251 it stopped saving in the described way.
When i tried to shut down vscode it logged these last 2 lines, then hang indefinitely.
[2022-02-15 11:16:55.879] [renderer1] [warning] [backup tracker] suspended, ignoring dirty change event file:///Users/oliver/Servers/BLACKBOX/vhosts/partnernet.oekofen.com/templates/_backup/saving-problem.tpl
[2022-02-15 11:17:00.926] [renderer1] [warning] [lifecycle] onWillShutdown is taking a long time, pending operations: join.textFiles
VS Code version: Code 1.64.2 (f80445acd5a3dadef24aa209168452a3d97cc326, 2022-02-09T22:00:56.651Z)
OS version: Darwin arm64 21.3.0
Restricted Mode: No

System Info

Item
Value

CPUs
Apple M1 Max (10 x 24)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
1, 1, 1

Memory (System)
32.00GB (0.99GB free)

Process Argv
--crash-reporter-id ab14bf31-80b9-4738-8a7b-589af7ba42ad

Screen Reader
no

VM
0%

Extensions (2)

Extension
Author (truncated)
Version

smarty-template-support
asw
1.9.0

material-icon-theme
PKi
4.13.0

<!-- generated by issue reporter --
[20220215T110226.zip](https://github.com/microsoft/vscode/files/8068174/20220215T110226.zip)
>

I'm having the same problem @sir-oliver . Have been having it for the last month. Randomly, I can't figure a pattern, I cannot save files with VS Code. I also am running macOS on arm! (M1).
I also have issues with the open dialog - nothing happens when I click File -> Open, or Command-O.
When this happens I switch to Sublime. But it seems the issue goes away when I close VS Code and re-open it (temporarily).
I am not using an external drive / ftp / etc.
BTW where is your VS code executable located? I open mine straight from the Download folder. Maybe that is the issue...

@kewp I also just switched back to Sublime ;-( The problem came back just a few moments ago.
What MacOS version are you on? I think the issue started after updating to MacOS 12.2
My VS code executable is located in the Applications folder.

@bpasero Just downloaded the nightly build. Will try it tomorrow.

Thanks. Another thing to try is to disable extensions and figure out whether maybe an extension could have impact. Can do so by passing --disable-extensions.

Another thing to try is to disable extensions

I tried that already. The problem kept popping up.
Will be using the Insiders build without any extensions.

@sir-oliver yup I also recently updated to 12.2. I think the timing might coincide as well!

This could very well be https://github.com/microsoft/vscode/issues/142462. Bottom line: if for any reason a single fs.write call never returns, our relatively new resource lock mechanism would simply refuse to write to the same file until the previous write has finished.
Still, it puzzles me how a fs.write call could never return. That is why I am asking about any special setup, such as network drives.

I'm not using any special setup. It's just my laptop, writing locally.

I am running code-insiders --verbose  now and waiting for the issue to happen.
The file I am editing is located on a remote webserver.
The server is mounted on my computer using MountainDuck.io

@kewp the fact that in your case even opening a folder does not work makes me think there is something more fundamental broken in VSCode in your setup. Opening a folder and saving should be isolated operations that are not waiting on anything as far as I can tell.
@sir-oliver ok that is interesting and hints to a similar setup as https://github.com/microsoft/vscode/issues/142462. If you can easily reproduce, I would be curious if you could follow the steps in https://github.com/microsoft/vscode/issues/142462#issuecomment-1041220150 to see if it reproduces in the November release.

Reproduced the issue with code-insiders --verbose
Line 2666 of console-log.txt
[18439:0216/100918.040344:INFO:CONSOLE(605)] "%cTRACE%c [text file model] doSave(24) - exit - because busy saving ...
console-log.txt
20220216T095442.zip
Will try the same with VSCode 1.63.2 as you suggested.

I would expect this to reproduce in 1.63.2 as well.

Just used 1.63.2 for 4 hours without any issues.

@sir-oliver maybe you can also follow along my thread here:

https://github.com/microsoft/vscode/issues/142462#issuecomment-1041348531
https://github.com/microsoft/vscode/issues/142462#issuecomment-1041430539
https://github.com/microsoft/vscode/issues/142462#issuecomment-1041533431

For an insiders build with additional capabilities to diagnose further. I need to understand what changed from 1.63.x to now better.


chore: Remove disruption reason from v1beta1

Fixes #N/A
Description

Disruption reason is dead API surface on v1beta1

How was this change tested?

`make presubmit

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>6
Details

0 of 0   changed or added relevant lines in 0 files are covered.
6 unchanged lines in 2 files lost coverage.
Overall coverage increased (+0.02%) to 77.872%

Files with Coverage Reduction
New Missed Lines
%

pkg/controllers/provisioning/scheduling/nodeclaim.go
2
89.13%

pkg/controllers/disruption/consolidation.go
4
87.25%

Totals

Change from base Build<PHONE_NUMBER>1:
0.02%

Covered Lines:
8893

Relevant Lines:
11420

💛  - Coveralls


Cannot connect to netcat server in rootful mode on exposed port from host (nc -l exits immediately)

Description
When I try to connect to a netcat server running in a container through an exposed port from the host, I cannot connect to the server. This happens only in rootful mode.
Steps to reproduce
$ limactl shell default
$ sudo systemctl restart containerd.service
$ sudo nerdctl run -d -p 6000:80 alpine sh -c "echo hello | nc -l -p 80"
bef8a45ec555fbda8768bf613a162138a62ec6062b245efedadc92dda0af32d9
$ sudo nerdctl ps -a
bef8a45ec555    docker.io/library/alpine:latest    "sh -c echo hello | …"    9 seconds ago     Exited (0) 5 seconds ago       <IP_ADDRESS>:6000->80/tcp    alpine-bef8a

nc server exits with exit code 0 without a client establishing a connection with it. Therefore running
nc localhost 6000

does not connect to the server running in the container and therefore does not receive the "hello".
This behavior is only observed in rootful mode, increasing the timeout by running sudo nerdctl run -d -p 6000:80 alpine sh -c "echo hello | nc -l -p 80 -w 60" does not help either and the connection is closed before 60 seconds.
Expected behavior: Running sudo nerdctl run -d -p 6000:80 alpine sh -c "echo hello | nc -l -p 80" should not exit until a client establishes a connection.
Host info: 21.6.0 Darwin Kernel Version 21.6.0: Sat Jun 18 17:07:25 PDT 2022; root:xnu-8020.140.41~1/RELEASE_X86_64 x86_64
Lima version:
lima -v
limactl version 0.12.1-rd1

Trying to use -it instead of -d
In Lima default VM,
sudo nerdctl run -it -p 6000:80 alpine sh
/ # echo hello
hello
/ # nc -l -p 80

Open a new terminal for lima default VM,
$ sudo nerdctl ps
CONTAINER ID    IMAGE                              COMMAND                   CREATED           STATUS    PORTS                   NAMES
d04ac59bfd05    docker.io/library/alpine:latest    "sh"                      20 minutes ago    Up        <IP_ADDRESS>:6000->80/tcp    alpine-d04ac

$ nc -v localhost 6000
nc: connect to localhost (<IP_ADDRESS>) port 6000 (tcp) failed: No route to host

$ sudo nerdctl exec d04ac59bfd05 nc -v localhost 80
FATA[0000] exec failed with exit code 1

Tried to start a python server with same alpine image and same port pair, proving that port forwarding works.
$ sudo nerdctl run -it -p 6000:80 alpine sh
/ # apk add --no-cache python3 py3-pip
/ # python3 -m http.server 80
Serving HTTP on <IP_ADDRESS> port 80 (http://<IP_ADDRESS>:80/) ...

Another VM terminal:
$ curl localhost:6000
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>

The issue seems specifically for netcat.

Adding another observable difference between rootless and rootful has been that netstat -an does not show listening sockets on the host when there is no server running on the container, however in rootless mode the port shows up.
# rootless
limactl shell default  nerdctl run -d -p 10009:80 alpine sleep infinity

# rootful
limactl shell default sudo nerdctl run -d -p 10008:80 alpine sleep infinity

# On the host
netstat -an | grep 10009
tcp4       0      0  <IP_ADDRESS>.10009        *.*                    LISTEN

# Can connect although there is nothing running on port 80 on the container.
$ nc -v localhost 10009
nc: connectx to localhost port 10009 (tcp) failed: Connection refused
Connection to localhost port 10009 [tcp/swdtp-sv] succeeded!

# No socket is listening
netstat -an | grep 10008

# Connection can't be established when there is nothing running on port 80 in on the container.
$ nc -v localhost 10008
nc: connectx to localhost port 10008 (tcp) failed: Connection refused
nc: connectx to localhost port 10008 (tcp) failed: Connection refused

In both cases the containers are in running state. Could this possibly be due to implementation differences in port forwarding between rootless and rootful in nerdctl?

The issue is not specifically to netcat.
Built a image called pyalpine from Dockerfile
FROM alpine
RUN apk add --no-cache python3 py3-pip

$ sudo nerdctl run -d -p 6000:80 pyalpine sh -c "python3 -m http.server 80"

another terminal
$ curl localhost:6000
curl: (7) Failed to connect to localhost port 6000 after 1050 ms: No route to host

Found some useful logs from nerdctl logs
$ sudo nerdctl run -d -p 6000:80 alpine sh -c "nl -l -v -p 80
f172e578facf86c1b992e9cda26d808dabf3f56d5ab5e2721674388ec69ef9df

$ sudo nerdctl logs f172e578facf86c1b992e9cda26d808dabf3f56d5ab5e2721674388ec69ef9df
nl: unrecognized option: l
BusyBox v1.35.0 (2022-11-19 10:13:10 UTC) multi-call binary.

Usage: nl [OPTIONS] [FILE]...

Write FILEs to standard output with line numbers added

	-b STYLE	Which lines to number - a: all, t: nonempty, n: none
	-i N		Line number increment
	-s STRING	Use STRING as line number separator
	-v N		Start from N
	-w N		Width of line numbers


Add plexus utils as compile scope, use non deprecated failsafe config, remove optional true on plugin annotations

Right now you won't see why plexus utils is used.  But you will see it if dependency tree is upgraded as all newer maven components no longer leak items unnecessarily.  This is more important for maven 3.9 and 4.0.  With maven 3.9 out and us now building on it, its critical to get this right.  For the other items just minor cleanup.
On the dependency tree note, I'll raise a separate PR upgrading that as it will need extra set of eyes to make sure its working as expected.  Specifically need to have Michael Simons verify since he was able to resolve other issues around same area.  For now this is harmless here and will help limit what he has to look at.


Download Link offline

I just wanted to note, that the download link for the dataset is offline since a couple of days.

still offline  now


Ignore non-vars file in fetch_compute_facts

Some files may be backups of previous versions, like the networking-environment-definition if the mapper is called twice. To avoid trying to load old backed up content load only the default files (yaml and json).

recheck

/lgtm


SSL Handshake Error

Whenever I try to use the Desktop client to login to my Zulip instance, I get the "{domain} does not appear to be a valid Zulip server". The Web based application works totally fine.
After debugging, the error seems related to SSL handshake failure.
@gnprice pointed that it could be related to https://github.com/nodejs/node/issues/16196, which it was: request is trying to use Node's default ECDH curve, which is prime256v1 on Node > 8.5 and is secp384r1 in any recent Nginx configuration following https://cipherli.st/ recommendations.
For now, a quick & dirty workaround is to add prime256v1 to ssl_ecdh_curve in nginx.conf like this:  ssl_ecdh_curve prime256v1:secp384r1; (adding it at in the server block didn't help so I had to add it to the http block)
Also, adding ecdhCurve: "auto" option to request call works, and avoids the need to add the
prime256v1 curve to nginx.conf:
// app/renderer/js/utils/domain-util.js:129
const checkDomain = {
    url: domain + '/static/audio/zulip.ogg',
    ca: (certificateLocation) ? certificateLocation : '',
    proxy: proxyEnabled ? ProxyUtil.getProxy(domain) : '',
    ecdhCurve: 'auto' // Fix
};

Operating System: macOS 10.14.1

See https://chat.zulip.org/#narrow/stream/31-production-help/topic/nginx-let's.20encrypt-desktop.20client

@superbiche sorry for the slow reply (just recovering from the surgery I recently had). I went through with that node issue on GH and the discussion on chat.zulip.org and it seems that using the auto flag of ecdhCurve could fix this issue. Feel free to open a PR with this fix :) Also, is there any quick way to reproduce this issue in the desktop app so that I can cross-verfiy the solution?

Hey @akashnimare no problem, hope you're gonna quickly and fully recover 👍
I could make a PR, maybe tonight or tomorrow.
To reproduce, you should try connecting to https://zulip.superbiche.co with the desktop app in a few minutes. I'm going to remove prime256v1 so you can reproduce - and so I'm forced to do the fix PR

@akashnimare here it is: #595


Grid Formatting summaries sample does not do what is expected

This sample https://staging.infragistics.com/products/ignite-ui-blazor/blazor/components/grids/grid/summaries#formatting-summaries
do look like it is formatting the summaries but in practice it uses pipeargs on the date column instead of formatter on the summary.

The grid is missing SummaryFormatter and SummaryFormatterScript functionality.


[BUG] Extension doesn't find issue.

I am running the extension on this repo and expect the pmd-appexchange engine to report this line https://github.com/rsoesemann/unhappy-soup/blob/master/force-app/main/default/classes/Voldemort.cls#L41

@rsoesemann - We notice that when 'pmd-appexchange' is the only engine specified, it works as expected. It doesn't work when combined with other engines as you have here.

@jag-j thank for confirming. Can you say when this will be fixed approximately?

@rsoesemann: Apologies for the delay. Do you still see this issue? I cannot repro this with the latest version of the extension.

I thought this wasn't working for me but I needed to clear Categories. This may sync across VSCode projects if you've enabled setting sync.

I had Security and expected some issues to show like not using UserInfo.getSessionId(); but that is Best Practice category, not Security.


Video rotation from Android and iOs

Hi skymaze,
I have created sample connect from mobile to your library, but when receive video from mobile, video is rotated
How to fix this issue. On other platforms, video frame from WebRTC include rotation params, but in your library, i can't see how to get it for rotation.
Please help me check this

Hi, mediasoup server and client won't rotate media stream, so does pymediasoup
you can rotate video when recording with MediaRecorder plus extra FFmpeg options:
Media sinks

Hi, I know that it is possible to rotate based on Media sinks. But how to get rotation value from Video Frame. I see in WebRTC core, video frame include rotation value, but in your library, i can't see how to get it correctlly.
Please help check it

I see. rotation info is include in consumer's RtpParameters, check headerExtensions for urn:3gpp:video-orientation:
{
    "codecs": [
        {
            "mimeType": "video/VP8",
            "payloadType": 101,
            "clockRate": 90000,
            "parameters": {},
            "rtcpFeedback": [
                {
                    "type": "transport-cc",
                    "parameter": ""
                },
                {
                    "type": "ccm",
                    "parameter": "fir"
                },
                {
                    "type": "nack",
                    "parameter": ""
                },
                {
                    "type": "nack",
                    "parameter": "pli"
                }
            ]
        },
        {
            "mimeType": "video/rtx",
            "payloadType": 102,
            "clockRate": 90000,
            "parameters": {
                "apt": 101
            },
            "rtcpFeedback": []
        }
    ],
    "headerExtensions": [
        {
            "uri": "urn:ietf:params:rtp-hdrext:sdes:mid",
            "id": 1,
            "encrypt": false,
            "parameters": {}
        },
        {
            "uri": "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time",
            "id": 4,
            "encrypt": false,
            "parameters": {}
        },
        {
            "uri": "http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01",
            "id": 5,
            "encrypt": false,
            "parameters": {}
        },
        {
            "uri": "urn:3gpp:video-orientation",
            "id": 11,
            "encrypt": false,
            "parameters": {}
        },
        {
            "uri": "urn:ietf:params:rtp-hdrext:toffset",
            "id": 12,
            "encrypt": false,
            "parameters": {}
        }
    ],
    "encodings": [
        {
            "ssrc": 926753301,
            "rtx": {
                "ssrc": 926753302
            },
            "scalabilityMode": "S3T3",
            "maxBitrate": 5000000
        }
    ],
    "rtcp": {
        "cname": "fi0Z8g1vHHWl7ZkF",
        "reducedSize": true,
        "mux": true
    },
    "mid": "1"
}

https://www.etsi.org/deliver/etsi_ts/126100_126199/126114/13.02.00_60/ts_126114v130200p.pdf
rtcrtpreceiver
It seems that aiortc didn’t deal with CVO payload in the RTP packet. Maybe you should open an issue there.

Thanks, I have check on mobile and rotated from mobile instead from server


[Algo]Extended Euclidean

Algorithm

[x] I have gone through the repository and made sure this algorithm has not been implemented

Information about my new algorithm

Algorithm Name: Extended Euclidean

Programming Language: c++

Time complexity: O(log(max(a,b))

Is this your first contribution to this repository?
No

I would like to work on this.TIA


Description comments inconsistent

In Logic.java comments inconsistent across methods and class, in particular some are missing a period.

Ignoring due to insignificance.


chore: add release workflow

Codecov Report

Merging #38 (864d47e) into dev (381473b) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##              dev      #38   +/-   ##
=======================================
  Coverage   91.09%   91.09%
=======================================
  Files           5        5
  Lines         337      337
=======================================
  Hits          307      307
  Misses         30       30

Impacted Files
Coverage Δ

custom_components/openei/const.py
100.00% <100.00%> (ø)


adding LibGit2SharpRepository to replace GitExeRepository

LibGit2SharpRepository is supposed to replace GitExeRepository class. Things that LibGit2Sharp doesn't support yet have been moved to BaseGitRepository. These operations are
> git submodule
> git rebase
> git rev-parse --git-dir

_fileContent in VfsControllerBaseTest.cs is updated to work around this issue https://github.com/libgit2/libgit2sharp/pull/688
Note: This PR doesn't include any flags to actually use the new LibGit2SharpRepository in any runtime code, so the runtime behavior before and after this PR should be exactly the same. However all the test cases pass with the new code path. I'll be adding the flag next.
I updated all the test cases to use the new code path for git related stuff.
@nulltoken any feedback would be greatly appreciated :)

@ahmelsayed I'm done for this pass. Let me know about your thoughts regarding my comments.
Cheers!

Merged in 9e26833534efc9daefbb38ceee9d027150d35b0f and 7e29fa2122cbe12aa45d641439067e94c3c2a10d.Thanks everyone for the review, and thanks @nulltoken for all the help.


[python] Depend on attrs package >= 22.2

Fixes #1049

Codecov Report
Patch coverage has no change and project coverage change: +9.99 :tada:

Comparison is base (a79c9da) 81.25% compared to head (652fdeb) 91.24%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1050      +/-   ##
==========================================
+ Coverage   81.25%   91.24%   +9.99%
==========================================
  Files          78       30      -48
  Lines        4187     2261    -1926
==========================================
- Hits         3402     2063    -1339
+ Misses        785      198     -587

Flag
Coverage Δ

python
91.24% <ø> (ø)

r
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

src/include/span/span.hpp

inst/tiledb/include/tiledb/stats.h

R/SOMAExperiment.R

R/TileDBURI.R

R/SOMACollectionBase.R

inst/tiledb/include/tiledb/vfs.h

R/utils-assertions.R

R/SOMAAxisIndexer.R

src/rutilities.h

R/SOMADataFrame.R

... and 38 more

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


ISPN-5690 Server should properly persist multiple instances of caches based on common configurations

https://issues.jboss.org/browse/ISPN-5690

integrated, tks @tristantarrant !


Make widget have rounded corner on Android 11

Hello, this app looks really good and simple. I want to suggest a small improvement to the widget so that it looks similar to Android 12.
Currently, the widget on Android 11 has a box-shaped widget, which doesn't look good imo. It would be great if the widget would look like the ones on the preview (F-droid app screenshots) with rounded-corners.
Current widget on Android 11:

Hello, I totally agree, this is a known bug and a fix is planned. Thank you!

Should be fixed in 3.3.0, please re-open if it persists


Add tool-bar package to Focus Mode

Would it be possible to also fade out (Focus Mode) the very popular Atom Tool Bar package until it's hovered? Similar to how the file explorer and mini map and such are faded that is? Thanks!!

I got to adding support for this plugin, however it seems to be dead. It does not work with any theme, period. I am closing this "issue" until further notice. Thanks!


TypeError: (0 , _stateLocal.create) is not a function

I am using<EMAIL_ADDRESS>
This is my simple code below
import MonacoEditor from "@monaco-editor/react";

function CodeEditor() {
  return <MonacoEditor height="400px" />;
}

export default CodeEditor;

I think the @monaco-editor organization on npm is not official. So your bug report is probably better off in the actual repository at https://github.com/suren-atoyan/monaco-react and not here

Hello, I issued the same error. Did you solve it?

I had the same issue. It is caused by monaco-react having an unpinned dep to package state-local. Unfortunately, although the package had minor updates, its api broke.
To fix it, use yarn "resolutions" field: https://classic.yarnpkg.com/en/docs/selective-version-resolutions :
{
  ...
  "dependencies": {
    ...
    "state-local": "1.0.1"
  }
  ...
  "resolutions": {
    "@monaco-editor/react/state-local": "1.0.1"
  }
}

Please report against the @monaco-editor/react npm module / github repo.

try this it will fix the issue. yarn add @monaco-editor/react


Skiplink

The skip to content link, which is only available when using the keyboard to navigate the page, does not meet the contrast guidelines.
in order to resolve this issue,  picked the colors that meets the contrast guide line
this is the initial out put which did not meet the contrast requirements

so, in order to meet the requirements, i went to the client/src/token/color.js and made changes to the code

then this is the new result

Replaced by https://github.com/wagtail/wagtail/pull/9560

Note: This was for https://github.com/wagtail/wagtail/issues/9515


expvar publisher?

For experimental purposes, adding an expvar publisher might be interesting.  In this model, we'd expect canaryd to simply expose a URL, allowing for other things to poll and aggregate the values.
https://golang.org/pkg/expvar/

Closing because this feels speculative.  Need to stay focused.


Feature/onboarding sws

Pull Request Test Coverage Report for Build 196

9 of 18 (50.0%)  changed or added relevant lines in 3 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.4%) to 28.402%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

prereq_map/views/pages.py
3
12
25.0%

Files with Coverage Reduction
New Missed Lines
%

prereq_map/views/pages.py
1
46.43%

Totals

Change from base Build 189:
0.4%

Covered Lines:
35053

Relevant Lines:
123419

💛  - Coveralls


[webview_flutter]  JavascriptChannel does not work in release apk

I'm using webview_flutter: ^ 2.1.2. I discovered  the JavascriptChannel can be used normally in debug mode (can show toast), but it is doesn't work after packaging with the flutter build apk command ( can not show toast in release apk )
My working environment：

Flutter 2.5.3 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 18116933e7 (11 days ago) • 2021-10-15 10:46:35 -0700
Engine • revision d3ea636dc5
Tools • Dart 2.14.4

My Flutter code
WebView(
        initialUrl: 'file:///android_asset/flutter_assets/assets/file/test.html',
        javascriptMode: JavascriptMode.unrestricted,
        javascriptChannels: <JavascriptChannel>{
          JavascriptChannel(
              name: 'testClick',
              onMessageReceived: (JavascriptMessage message) {
                String msg=message.message;
                Fluttertoast.showToast(msg: msg);
              }),
        }.toSet(),
      )

My Html code

        <title>测试页面</title>

<button onclick="testClick.postMessage('1,2,3')">测试按钮</button>

I also encountered this problem, but when I planned to change the plug-in, after introducing the 'flutter_inappwebview' plug-in in pubspec.yaml, the problem was solved. After deleting the 'flutter_inappwebview' plug-in, the problem appeared again. I don't know why. Maybe 'flutter_inappwebview' plug-in has some configuration files that affect this problem

@danagbemava-nc @weifucheng1102
After repeated testing, I finally found that this problem is caused by android_intent_plus. Once android_intent_plus is introduced into the project, the release version of javascriptChannels will fail
The reproduction method is also very simple, just add webview_flutter: ^2.3.1and android_intent_plus: ^3.0.1to the pubspec.yaml file, and then pub get.
This error is bound to appear

I also encountered this problem, but when I planned to change the plug-in, after introducing the 'flutter_inappwebview' plug-in in pubspec.yaml, the problem was solved. After deleting the 'flutter_inappwebview' plug-in, the problem appeared again. I don't know why. Maybe 'flutter_inappwebview' plug-in has some configuration files that affect this problem

that's useful,but flutter_inappwebview case some other trouble on ios.

Hi @fg2q1q3q, if the introduction of android_intent_plus is what causes the issue then you may need to file an issue with
the android_intent_plus repo so they're aware and can take the necessary action.

Hey guys, I’ve made some research in response to fluttercommunity/plus_plugins#630. This issue has nothing to do with plugins mentioned, but instead a part of a deeper problem within build system, I’m not sure if that’s Flutter, agp, or gradle.
First things first, this problem surfaced in webview_flutter when used together with android_intent_plus. For some reason build system setup incorrect build path, which prevents inclusion of default proguard-android.txt. This file contains many useful things, one of them is an exception for JavascriptInterface. This annotation is used in webview_flutter to prevent obfuscation of JavaScriptChannel.postMessage method, which is exposed to JavaScript and should be available through reflection. Because you don’t have this exception in the final app, this method will be obfuscated and therefore it cannot be called from JavaScript.
Run this command with android_intent_plus included in pubspec.yaml and then without it.
$ flutter build apk --release

Open build/app/outputs/mapping/release/configuration.txt, which is a final R8 configuration. In good builds you’ll find contents of proguard-android.txt (together with Flutter-specific rules), which keeps JavascriptInterface-annotated methods. The other interesting file is
build/app/outputs/mapping/release/mapping.txt, which contains a map of obfuscated identifiers. In good builds this file will contain special handling for postMessage method.
Luckily, Flutter also includes app-specific R8 rules when they are provided. Create android/app/proguard-rules.pro. At minimum you need to have a rule for JavascriptInterface, but I recommend to copy entire proguard-android.txt, given the fact that you don’t have these rules.
# Preserve annotated Javascript interface methods.
-keepclassmembers class * {
    @android.webkit.JavascriptInterface <methods>;
}

Now let’s get back to the problem itself. Something bad happens in the build system when you have a plugin who’s name appears before app (alphabetically-wise). Sounds crazy, huh? Here is how you can check it. Setup a new app with a couple of plugins. One of the plugin must be above app, the other one below.
$ flutter create --platforms android --android-language java sample
$ cd sample
$ mkdir packages
$ cd packages
$ flutter create --platforms android --android-language java --template plugin aaa
$ flutter create --platforms android --android-language java --template plugin zzz

Open up android/app/build.gradle, add the following line to the top:
println "buildDir: " + project.buildDir

Now, build a reference app without plugins:
$ flutter build apk --release
buildDir: sample/build/app

Everything’s good so far, buildDir is exactly what was expected.
Now, let’s first add zzz plugin to app, in your pubspec.yaml:
dependencies:
  flutter:
    sdk: flutter
  zzz:
    path: packages/zzz

Then:
$ flutter clean
$ flutter build apk --release
buildDir: sample/build/app

The buildDir is correct again.
 The buildDir suddenly changed to sample/android/app/build instead of sample/build/app. Some build artifacts of app went into this unusual directory, but not all of them. This bad path is not canonical, you cannot get rid of it with flutter clean, it’s not gitignored by default as build/ is.
Now let’s get back to the original problem with webview_flutter and android_intent_plus. As I’ve already explained this is a problem with R8 rules. In the same sample app add the following line to android/app/build.gradle just after applying plugin:
apply plugin: 'com.android.application'
println "proguardRules: " + project.android.getDefaultProguardFile("proguard-android.txt")

And build:
$ flutter clean
$ flutter build apk --release
buildDir: sample/android/app/build
proguardRules: sample/android/app/build/intermediates/proguard-files/proguard-android.txt-4.1.0

Looks good, but it’s not, because for some reason this artifact is placed in canonical path sample/build/app/intermediates/proguard-files/proguard-android.txt-4.1.0, but gradle says it should be in that bad dir.
After some further research I’ve found that you don’t need a plugin at all to encounter this problem. Remove dependencies from pubspec.yaml, and this time open android/settings.gradle, add the following line:
include ':app'
include ':zzz'

Then build - your buildDir is good. Now try the same with:
include ':app'
include ‘:aaa’

Your buildDir is bad.
That leads me to the conclusion, that the problem is with agp or gradle file resolver, I didn’t investigate further. Hope this helps.

@danagbemava-nc @fg2q1q3q @weifucheng1102
I've also checked why flutter_inappwebview works. It contains their own R8 configuration proguard-rules.pro, which has a rule for JavascriptInterface. When used together with android_intent_plus (or any other above app plugin), you still don't have default R8 rules, but at least there is an exception for JavascriptInterface, which is needed for Java/JavaScript interop.

Thanks for the answer, it's very clear

@danagbemava-nc Considering the universality of js interaction, I think the priority of this bug should be increased, and it exists on all devices

Hi @fg2q1q3q, I am curious as to what happens when you add the rule for JavascriptInterface in your own proguard-rules.pro.
Can you try that out and let me know if you still experience this issue?

@danagbemava-nc Yes, when I added the proguard-rules.pro file and inserted the following code in it,
-keepclassmembers class * {
    @android.webkit.JavascriptInterface <methods>;
}

and then run the release app, everything was normal.

/cc @stuartmorgan

@blasten Can someone on your team investigate the build directory issue described above?

Any updates on this? Does this issue still exist in current webview_flutter Implementations?

This seems to be fixed with the latest version of Flutter and webview_flutter.  I modified the sample code to use the latest:
`import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';
const html = '''

测试页面

测试按钮

''';
void main() {
  runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: const WebViewPage('Some Title'),
);
}
}
class WebViewPage extends StatefulWidget {
final String title;
const WebViewPage(this.title, {super.key});
@override
WebViewPageState createState() => WebViewPageState();
}
class WebViewPageState extends State {
late String title;
late WebViewController controller;
@override
void initState() {
super.initState();
title = widget.title;
controller = WebViewController()
..setJavaScriptMode(JavaScriptMode.unrestricted)
..setBackgroundColor(const Color(0x00000000))
..setNavigationDelegate(
NavigationDelegate(
onProgress: (int progress) {
// Update loading bar.
},
onPageStarted: (String url) {},
onPageFinished: (String url) {},
onWebResourceError: (WebResourceError error) {},
onNavigationRequest: (NavigationRequest request) {
if (request.url.startsWith('https://www.youtube.com/')) {
return NavigationDecision.prevent;
}
return NavigationDecision.navigate;
},
),
)
..loadRequest(Uri.dataFromString(html,
mimeType: 'text/html', encoding: Encoding.getByName('utf-8')));
controller.addJavaScriptChannel('testClick',
onMessageReceived: (JavaScriptMessage message) {
String msg = message.message;
ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text(msg)));
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
centerTitle: true,
// backgroundColor: Colors.white,
title: Text(title),
),
body: WebViewWidget(controller: controller),
);
}
}
`
and updated the settings.gradle per https://github.com/flutter/flutter/issues/92548#issuecomment-984148512
then ran
flutter run --release

I'm closing this issue for now as it appears to be unreproducible with the latest Flutter and webview_flutter. If you find that this  issue is still reproducible, please provide exact reproduction steps.


alter FloatMath to Math

due to android has delete FloatMath.floor() method, so alter FloatMath.floor to (float)Math.floor()

i have fixed this myself before i downgraded the targetSDKVersion to API 22...


Added auto (grind) attack function to barbarians

Description:
This pull request aims to introduce a new feature to Ikabot: the Auto Barbarian. Its primary focus is to enable players to farm resources provided by the barbarians (4M resources from levels 1 to 49).
Changes:

Added functionality to obtainMiraclesAvailable to extract the activation level of miracles (as displayed in the temple);
Added a barbarian grind selection option in the settings menu;
Fixed an issue in get_unit_data where the speed regex relied on a text that could be subject to translation;
Enhanced the get_unit_data function to also extract unit names;
Added the autoBarbarians module and its functionalities.

Motivation:
Personally, I've always enjoyed attacking barbarians, but I found the existing module somewhat lacking in utility. Based on this, I had the idea to combine what I learned about barbarians from Der Kater and automate this grind. This led to the creation of this significant feature.
Testing:
So far, I’ve conducted tests on the overall functionality of the application. It is still under supervision, and some features may be added or subject to bugs. I believe that, with the power of this community, we can refine this tool and turn it into a strong weapon for experienced players.
Additional Notes:
I’d like to share some general observations about this feature and the barbarians below:

The auto-attack includes a mechanism to send 1 ram for dispersal if you cannot loot all resources within the time frame before the village regenerates. This is important because, when a unit is dispersed, the barbarian village does not regenerate (even if the timer reaches zero) until the dispersed unit returns (2 rams are required for alternating attacks).
Barbarian attacks become inefficient after attacking the same level 50 times (destroying and rebuilding the village in a new location does not reset this counter as it is linked to the account 😢). After reaching this repetition, you should evaluate subsequent attacks to determine if it is still advantageous to continue (generally, it is, but after 60 attacks, I recommend pausing barbarian activity).
Use floating cities for your grind. After completing the last level within the attack scope, destroy the floating island and rebuild it.
Build the floating city near an island that will be replenished with resources.
If you want to "bypass" the 50-attack limit, you can simply create multiple accounts, supply them with troops from your main/general account through the market, and attack barbarians from these disposable accounts. Since they are throwaway accounts, the limit won't be an issue.

⚠This feature is not completely finished, this means there may be bugs and missing features, PRs will soon appear with additions.

What an absolutely incredibly job! This is probably the largest single contribution we have had on this project from a non-collaborator.
This is definitely going to get merged without a doubt, but before it does I would kindly ask you to translate the comments, remove unnecessary comments and to separate the user input part of the module from the part of the code that is supposed to run continuously in the background (in some modules the way this is done is that the user input part is in the function with the same name as the module itself, and then the background part is in a separate function called "do_it").

Done! I kept my TO DO's, I don't know if it's a problem, but it's so I can remember where to start after the holidays.

I'm going to ask to extend the PR a little just so I can finish some tests, as soon as they are validated I'll inform you here, I found some inconsistencies regarding the validation of available units and I'm adjusting them.


Heavy centralization

Severity: Medium
Description
Authenticated users can exert significant control over the system. For example, a malicious insider with access to the deployment wallet could have the ability to siphon funds by adding a new attacker-controlled address as a handler and rebalancing dToken contracts to move tokens to this address. This degree of centralization also requires users to place a lot of trust in dForce that they will act in their best interests.
Recommendation
Renounce ownership from the deployment wallet and ensure only multi-sig wallets are authorized to the current system.
Long term, investigate potential methods of decentralizing the system.

At the very first launch period, we will authorize only multi-sig wallets to do significant operations of the system, such as update handlers, set fees, etc.
Over time, gradually transition to replacing centralized governance with decentralized governance by DF voting.


A question regarding numbers representation

Hi
Can you please explain the considerations for allowing a number (integer or float) representation to be only a string representing only non-negative values, while negative values are expressions with unary minus operation over a non-negative number?
float-string =
      < [0-9]+ '.'? [0-9]* [eE] [-+]? [0-9] sym-part* >
                                       { strbuf_append_block(); }
    | < [0-9]* '.' [0-9] sym-part* >   { strbuf_append_block(); }

integer-string = < [0-9] sym-part* >   { strbuf_append_block(); }

Your answer is appreciated.

Otherwise, it becomes ambiguous in the grammar.


Data Cataloging

The goal is to enable use of OmniSci as an end to end workflow engine/pipeline.
Use Intake to build a data catalog of OmniSci databases
Intake to provide larger data sources that are outside omnisci (i.e on S3, Landsat etc.
Intake plugin for OmniSci internal data format and data catalogs
Develop federated catalogs based on intake/yaml data sources

Closing this for now.


Web: TextInput doesn't work, it just eats keypresses

This works - it renders a text field you can type in:
    renderComposable(rootElementId = "root") {
        Input(InputType.Text)
    }

This does not. It renders a text field that flashes when you type in it but no text comes out.
    renderComposable(rootElementId = "root") {
        TextInput()
    }

It's possible this is intentional behavior - like, I can imagine you're supposed to hook up a listener and without it it rejects the keypresses maybe. But if that's the case, then the documentation should be a lot clearer about what to do in the common case.
This is happening with 1.0.0-beta1

This is happening from the beta version, while it works correctly with the alpha version.
Looking into the JS code it looks like it's trying to parse the text as a Week object
InputTypeWithStringValue.prototype.inputValue_5tgw3j_k$ = function (event) {
    return Week_getInstance().valueAsString_5tgw3j_k$(event);
  };

IDE can offer some documentation about TextInput and Input.
The behaviour is indeed intentional. The behaviour in alpha was correct in some cases, but invalid in other cases. Here is why - https://github.com/JetBrains/compose-jb/issues/925
TextInput is a controlled variant of input (it changes only when backing state changes), whereas plain Input by default is not controlled. In most cases controlled input should be enough.
Week_getInstance().valueAsString_5tgw3j_k$(event); is a typo which by a coincidence doesn't break anything as both TextInput and WeekInput use String as an input value type.
Despite the behaviour is correct, I'll keep this issue open until we improve the docs.

we've added some explanations about controlled and uncontrolled inputs here - https://github.com/JetBrains/compose-jb/tree/master/tutorials/Web/Controlled_Uncontrolled_Inputs Hope it gives some clarity (anyway, it's open for discussion and improvements)

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


Schema refactor

Rehashing #40 after a conversation with @ejhumphrey
There are good arguments for splitting the JAMS schema into smaller pieces that can be shared and repurposed.  Specifically, a database (eg, a mongodb key-value store) for managing jams collections could be more reasonable structured (and easily searchable) if the database contains individual annotation objects (indexed by track id) rather than full JAMS objects.
I propose that we refactor the jams schema so that annotations can exist independently of the JAMS file format.  Of course, the JAMS file format will still use annotation definitions, so there should be no observable difference in the way JAMS files work*; put another way, the API for JAMS files stays the same, and all the changes would be under the hood.
Digging in a bit more, the current schema looks like:
jams_schema
`- JAMS
   `- FileMetadata
   |  `- [more stuff]
   `- Annotations
   |  `- [more stuff]
   `- Sandbox

and the refactored schema might look like:
jams_common
`- Sandbox

jams_annotation
`- Annotations
   `- [more stuff]

jams_metadata
`- FileMetadata
   `- [more stuff]

jams_file
`- JAMS
   `- jams_metadata.FileMetadata
   `- jams_annotation.Annotations
   `- jams_common.Sandbox

What do folks think?
To make this happen, we'd have to get a better handle on json-schema inheritance, but I think it's totally possible.

We might have to tweak the schema id's, which might require a slight modification to the spec.  Not sure about this yet.

More related to this than worth spawning a new issue: I'd like to revisit / upvote a conversation about how identifiers / named entities are referenced in JAMS. For example, I'd like to tag a single annotation as being produced by some unique identifier, such that I can search a collection for all annotations performed by the same entity (human or algorithm). We've got the annotator dict, but it's a little too unconstrained to encourage any convention.

I'm not sure that fits under the scope of JAMS per se; remember the headaches about filenames in #5? We eventually decided that that's better handled at the application level -- for better or worse.  I suspect that indexing annotation sources will have similar difficulties.
OTOH, if we do want to add support for foreign-key indexing (for tracks, annotators, etc), maybe it's worth reopening that discussion?

Could we simply add a new identifier field in the annotator dictionary that
is basically a unique hash produced by the annotator name, email,
affiliation, etc?
On Thu, Aug 18, 2016 at 9:03 AM, Brian McFee<EMAIL_ADDRESS>wrote:

I'm not sure that fits under the scope of JAMS per se; remember the
headaches about filenames in #5 https://github.com/marl/jams/issues/5?
We eventually decided that that's better handled at the application level
-- for better or worse. I suspect that indexing annotation sources will
have similar difficulties.
OTOH, if we do want to add support for foreign-key indexing (for tracks,
annotators, etc), maybe it's worth reopening that discussion?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/marl/jams/issues/92#issuecomment-240771548, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADhisZBuTv6usFCrjzvjP9YFyMB1CaEqks5qhIJfgaJpZM4G004O
.

I don't want to necessarily tell users what the namespace should be, but I
think we could benefit from some standardization.
On Aug 18, 2016 12:24, "Oriol Nieto"<EMAIL_ADDRESS>wrote:

Could we simply add a new identifier field in the annotator dictionary that
is basically a unique hash produced by the annotator name, email,
affiliation, etc?
On Thu, Aug 18, 2016 at 9:03 AM, Brian McFee<EMAIL_ADDRESS>wrote:

I'm not sure that fits under the scope of JAMS per se; remember the
headaches about filenames in #5 https://github.com/marl/jams/issues/5?
We eventually decided that that's better handled at the application level
-- for better or worse. I suspect that indexing annotation sources will
have similar difficulties.
OTOH, if we do want to add support for foreign-key indexing (for tracks,
annotators, etc), maybe it's worth reopening that discussion?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/marl/jams/issues/92#issuecomment-240771548, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/
ADhisZBuTv6usFCrjzvjP9YFyMB1CaEqks5qhIJfgaJpZM4G004O>
.

—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/marl/jams/issues/92#issuecomment-240777692, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA4iq-7ogkaDZh5FztT8OuNA18mVUdxhks5qhIclgaJpZM4G004O
.

Maybe go rosetta-style? Let identifiers be a list of strings of the form id_space:id_string?
That will at least validate for syntax.  If you want semantic validation, that's up to a separate indexing structure that should live outside of jams.
For example, the SALAMI annotators could be identified by salami:0001 or somesuch.  Similarly for annotation tools (org:software:version -> qmul:sonic-visualiser:1.2, qmul:tony:2.0, jku:madmom:0.14.1, etc), and filenames could just be standard urls.


Trait DB swagger paged results

The swagger document displays the schema as just an array of items for paged queries.
The new laji-api fixes this locally, but it adds to the code complexity. Once this is fixed, we should revert commits ffe3a6716851ed468bacb9742534ac8cb9e7d994<PHONE_NUMBER>ce2a2576978349e806c5e96524211d

done


Fix: texture use mip

get a look to vulkan doc -> texture -> mip

https://github.com/bobis33/VEngine/issues/28


Notify on completion of audio rip

This checks if you have rip notifications enabled and sends a notification after abcde is done making FLAC files, addresses #92

Looks good, thanks.


Mobile - Update the latest web-runner

Describe the task
Update the latest web-runner

[ ]  Mobile - Support ERC-1155 #1872
[ ] Mobile - Support importing assets on Asset Hub #1871
[ ] Mobile - Support swap TAO on SimpleSwap #1877
[ ] Mobile - Allow Polkadot namespace use EVM address via WalletConnect #1874
[ ] Mobile - Update validating recipient balance when sending Substrate token #1875
[ ] Mobile - Some updates related to the content of the Earning feature #1876
[ ] Research improve notification for mobile
[ ] Mobile - Support Avail Bridge #1870
[ ] Mobile - Support Unified bridge on Polygon #1873


FatalError when TypeError is thrown

I get this FatalError:
Type error: Argument 1 passed to GraphQL\Executor\ExecutionContext::addError() must be an instance of GraphQL\Error\Error, instance of TypeError given, called in /vendor/webonyx/graphql-php/src/Executor/Executor.php on line 316
If in ExecutionContext class line 88 I change typehint to Throwable, then I get regular GrophQl response with an error description
public function addError(Error $error)

change to
public function addError(\Throwable $error)

webonyx/graphql-php version 0.12.6

But can you share what TypeError do you get there (message, trace)? Your fix won't work for everyone as ExecutionContext is expected to contain GraphQL Errors only.

there was a bunch of closures in the trace, I'll try to reproduce

This is the top of trace.
To reproduce I defined type as something other than GraphQL\Type\Definition\Type
It can be stdClass or even scalar, does not matter
(1/1) FatalThrowableErrorType error: Argument 1 passed to GraphQL\Executor\ExecutionContext::addError() must be an instance of GraphQL\Error\Error, instance of TypeError given, called in vendor/webonyx/graphql-php/src/Executor/Executor.php on line 316
--
in ExecutionContext.php line 88
at ExecutionContext->addError(object(TypeError))in Executor.php line 316
at Executor->GraphQL\Executor\{closure}(object(TypeError))in SyncPromise.php line 144
at SyncPromise->GraphQL\Executor\Promise\Adapter\{closure}()in SyncPromise.php line 35
at SyncPromise::runQueue()in SyncPromiseAdapter.php line 140
at SyncPromiseAdapter->wait(object(Promise))in GraphQL.php line 88
at GraphQL::executeQuery(object(Schema), '{ getUser(db_id: 123){ name } profiler{ log }}', array(), object(PlayWithRelayController), null)in PlayWithRelayController.php line 83

The idea is that you don't run queries against an invalid schema. We don't have runtime validation of the schema because of performance. But you should do it separately via $schema->assertValid(); during development.
Please try it and let me know if it reports an appropriate error. If so then this is not a bug.

$schema->assertValid(); throws an exception with a suggestion to run assertValid():
One of the schema types is not a valid type definition instance. Try running $schema->assertValid() to find out the cause of this warning.
In the trace it's possible to find what was the invalid type, but it's not clear where it comes from. It would be nice to see a path to error node in a future release.
Regarding the type hint in the addError() function - now it works in a way that we don't expect from exceptions. It replaces the real exception with unrelated one.
And general thought -  if a function called with an argument of wrong type it's a programmatic error. In this case addError() is called by another function of the same package, not from outside, so this looks like a bug.

Should be fixed in master, please check when you have a chance (both $schema->assertValid() and direct execution without schema validation).