[WIP] refactor EventBridgeWriter

refactor EventBridgeWriter#putItems method signature
Description
See #32.
Test Steps

Checklist:

[ ] I have tested my changes. No regression in existing tests.
[ ] I have modified and/or added unit-tests to cover the code changes in this Pull Request.

Related Issue

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Hi @agebhar1,
last commit with Result class and filtering looks great 👏  I just played around to see how it will look like with the MappedSinkRecord we talked about. I was thinking of implementing the result class non-generic to make the writer code even less verbose. Thought I might share this here if it helps.
public class MappedSinkRecord<T> {

    public SinkRecord sinkRecord;
    public T something;

    public MappedSinkRecord(SinkRecord sinkRecord, T something){
        this.sinkRecord = sinkRecord;
        this.something = something;
    }
}

Result (With concrete implementation):
public class EventBridgeWriterResult {

    private static class Failure {

        private final MappedSinkRecord<Error> failure;

        Failure(MappedSinkRecord<Error> value) {
            this.failure = value;
        }
    }

    private final Object value;

    private EventBridgeWriterResult(Object value) {
        this.value = value;
    }

    public static EventBridgeWriterResult success(SinkRecord sinkRecord, PutEventsRequestEntry putEventsRequestEntry) {
        return new EventBridgeWriterResult(new MappedSinkRecord<>(sinkRecord, putEventsRequestEntry));
    }

    public static EventBridgeWriterResult failure(SinkRecord sinkRecord, String errorCode, String errorMessage) {
        return new EventBridgeWriterResult(new Failure(new MappedSinkRecord<>(sinkRecord, new Error(errorCode, errorMessage))));
    }

   //Rest is ommited here (isSuccess etc.)
}

First few lines of writer code would then look something like:
public List<EventBridgeWriterResult> putItems(List<SinkRecord> records) {
   //Ommited vars here
    try {

      var mappingResults =
          records.stream()
              .map(this::createPutEventsEntry)
                  .collect(toList()); //Or partition

      var failedMappedSinkRecords = mappingResults.stream().map(EventBridgeWriterResult::failure).collect(toList());;
      var putEventEntries = mappingResults.stream().map(EventBridgeWriterResult::success).collect(toList());

      if (putEventEntries.size() == 0) {
        log.warn(
            "Not sending events to eventbridge: no valid entries for putevents call for eventbridge "
                + "writer records");
        return mappingResults;
      }

      var request =
          PutEventsRequest.builder()
              .entries(putEventEntries.stream().map(it -> it.something).collect(toList()))
              .build();

Example of createPutEventsEntry
private EventBridgeWriterResult createPutEventsEntry(SinkRecord record) {
    try {
      return EventBridgeWriterResult.success(record,
              PutEventsRequestEntry.builder()
                  .eventBusName(config.eventBusArn)
                  .source(sourcePrefix + config.connectorId)
                  .detailType(config.getDetailType(record.topic()))
                  .resources(config.resources)
                  .detail(createJsonPayload(record))
                  .build()
              );
    } catch (DataException e) {
      return EventBridgeWriterResult.failure(record, "422", "Cannot convert kafka record to eventbridge event: " + e.getMessage());
    }
  }

@embano1, @maschnetwork the simple singleton batching does not use the Guava Lists#partition anymore. But the StatusReporter has still a dependency to Guava. Maybe we should revisit it in another issue.
The JavaDoc will be updated as soon as we are finished with the review and refinements.

Ah right, yeah that also doesn't need a dependency for this small use case.

@agebhar1 @embano1 I went through the latest commits and I think we are in a good state - looks great. My only suggestion would be to replace the Error Handler with an ENUM of ErrorType (Similar to the old excpetion type) and let the task switch case on the type and take proper action and delegate to single methods in the Task for example:
Creating Errors:
return failure(sinkRecord,  EventBridgeResult.Error.retryable(message))

Handling Errors (In Task):
  private void handleFailedEntries(MappedSinkRecord<EventBridgeResult.Error> errorRecord) {
    var error = errorRecord.getValue();
    switch(error.errorType) {
      case RETRYABLE:
        handleRetriable();
      case NON_RETRYABLE:
        handleNonRetryable();
    }
  }

With Error in Result would be something like:
 public static class Error {

    private final String message;
    private final ErrorType errorType;

    public enum ErrorType {
      RETRYABLE,
      NON_RETRYABLE
    }

This is mainly for reduced complexity and better readabiltiy and keeping the Result class rather slim and straight forward.

To have an enumeration instead of a dedicated type with dedicated attributes feels a bit unsound. If we switch to Java 17 we can use type switch.
Currently the EventBridgeResult.Error.Handler methods for the dedicated case have return values to implement the behavior in an extensible way.

Let me rephrase - I don't think we need dedicated attributes for different errors and can generalize it to message + type. And then the ENUM would keep it simple.

The assumption behind the ENUM is that we don't need dedicated attributes for different errors and can generalize it to message + type and maybe an optional cause. Therefore I don't see them being really different dedicated types with attributes.

I agree with @maschnetwork's proposal here mainly to simplify the code (as we don't know when we can migrate to v17 and I don't see us needing different error attributes/planning for extensibility here)

Okay another quorum. But do not forget there are currently three different types of error.

Report Only: (EventBridge Error w/ Message to long)
Retry: network error(s)
Panic: immediate fail w/ throwing

@embano1, @maschnetwork I've changed the error handling from sub-classing to enumeration type. If you agree I can go on and apply the open review points and squash the commit. The last point is to clean the log messages and update the public JavaDocs.

@agebhar1 Yes looks good 👍

@maschnetwork I need your mail to add you as Co-Author.

@embano1 @agebhar1 Added some very minor comments - Overall I'm good with the changes and I don't see any blockers.

@embano1, @maschnetwork applied comments

@agebhar1 thx so much! Super excited, let me find some time beginning next week to do some deeper testing and get back to you to merge this beauty...

It's my pleasure :blush:

@agebhar1 looks good 👍 Let's wait for @embano1 results and then we are good to merge.

Did testing against EventBridge using JSON and Avro sources, works like a charm!
Can you please rebase @agebhar1 then we're good to merge 👍

@agebhar1 I just tried sending an invalid (too large) event and was wondering whether the cause=null is expected?
e2e-connect-1     | [2023-06-26 15:12:28,881] WARN [EventBridgeSink-Json|task-0] Dead-letter queue not configured: skipping failed record (software.amazon.event.kafkaconnector.EventBridgeSinkTask:130)
e2e-connect-1     | software.amazon.event.kafkaconnector.exceptions.EventBridgePartialFailureResponse: errorMessage=EventBridge batch size limit exceeded topic=json-test partition=0 offset=0 cause=null
e2e-connect-1     |     at software.amazon.event.kafkaconnector.EventBridgeSinkTask.handleFailedEntries(EventBridgeSinkTask.java:125)
e2e-connect-1     |     at software.amazon.event.kafkaconnector.EventBridgeSinkTask.lambda$put$0(EventBridgeSinkTask.java:90)
e2e-connect-1     |     at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273)
e2e-connect-1     |     at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
e2e-connect-1     |     at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
e2e-connect-1     |     at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
e2e-connect-1     |     at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
e2e-connect-1     |     at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
e2e-connect-1     |     at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
e2e-connect-1     |     at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
e2e-connect-1     |     at software.amazon.event.kafkaconnector.EventBridgeSinkTask.put(EventBridgeSinkTask.java:91)
e2e-connect-1     |     at org.apache.kafka.connect.runtime.WorkerSinkTask.deliverMessages(WorkerSinkTask.java:587)
e2e-connect-1     |     at org.apache.kafka.connect.runtime.WorkerSinkTask.poll(WorkerSinkTask.java:336)
e2e-connect-1     |     at org.apache.kafka.connect.runtime.WorkerSinkTask.iteration(WorkerSinkTask.java:237)
e2e-connect-1     |     at org.apache.kafka.connect.runtime.WorkerSinkTask.execute(WorkerSinkTask.java:206)
e2e-connect-1     |     at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:202)
e2e-connect-1     |     at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:257)
e2e-connect-1     |     at org.apache.kafka.connect.runtime.isolation.Plugins.lambda$withClassLoader$1(Plugins.java:181)
e2e-connect-1     |     at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
e2e-connect-1     |     at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
e2e-connect-1     |     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
e2e-connect-1     |     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
e2e-connect-1     |     at java.base/java.lang.Thread.run(Thread.java:833)

@agebhar1 I just tried sending an invalid (too large) event and was wondering whether the cause=null is expected? At least no retry was attempted +1

It's expected @embano1. The exception EventBridgeException is not included yet.

@agebhar1 could you please revert the batching change and rebase onto main so we're good to merge and close this beauty?

Done @embano1 - 'Conventional Commits' complains on to large commit body :laughing:

Sorry, looks like you missed my other comments on the TODO conversations which are still there

Comments applied @embano1, the check complains:
✖   body must not be longer than 200 characters [body-max-length]
⚠   subject must be lower-case [subject-case]

All good, ignore it.


[BP] Ragdolls jiggle on the ground too much since last update

Previous version of BP:
https://user-images.githubusercontent.com/3608544/178989424-0db0db38-f329-42ba-84af-50a1fd5a2547.mp4
Latest version of BP:
https://user-images.githubusercontent.com/3608544/178989625-d0fc4563-c759-4741-8558-5cac40f0565b.mp4

Should have been fixed in ae6fa72c882a182b433e343272809d7a1092b2ac

Confirmed, thank you ^^


Separate s2n_record_parse into multiple functions

Issue # (if available):
https://github.com/awslabs/s2n/issues/384
Description of changes:
Currently, s2n_record_parse has interwoven code for several different modes (aead, cbc, composite, stream).  This makes it harder to read and reason about, and leads to unnecessary work being done (e.g. aead makes all the calls to the hmac, even tho this is set to S2N_HMAC_NONE)
Split it into four functions, each of which has straightline code.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

This change also fixes one of the issues mentioned in: https://github.com/awslabs/s2n/issues/384
The longest function in s2n is now 223 lines long. Can you also update the <length> parameter in .travis/KWStyle.xml to 223 as part of this PR?


Do not forward expressions which carry a huge amount of dependencies.

Need to force temporaries eventually, or compilers have a tendency to
explode.
Fix #1760.
Supersedes #1823.

While we wait for tests, I can confirm they pass the same CTS:
Test case 'dEQP-VK.spirv_assembly.instruction.compute.spirv_ids_abuse.lots_ids'..
  Pass (Output match with expected)

Test case 'dEQP-VK.spirv_assembly.instruction.graphics.spirv_ids_abuse.lots_ids_vert'..
  Pass (Rendered output matches input)

Test case 'dEQP-VK.spirv_assembly.instruction.graphics.spirv_ids_abuse.lots_ids_tessc'..
  Pass (Rendered output matches input)

Test case 'dEQP-VK.spirv_assembly.instruction.graphics.spirv_ids_abuse.lots_ids_tesse'..
  Pass (Rendered output matches input)

Test case 'dEQP-VK.spirv_assembly.instruction.graphics.spirv_ids_abuse.lots_ids_frag'..
  Pass (Rendered output matches input)


Viewport refactor (WIP)

This PR refactors the viewport view to be a collection of ES6 Classes rather than closures. Further work will be built on top of this design, so I would rather get it in as an isolated piece of work now rather than implement features on the old viewport and then have to port them.

This needs to be revisited and merged. We are now thinking of going for a landmarker.io-based demo for CVPR - getting this revised, modular viewport into master would be great to base our CVPR work off.

Sounds great - looking forward to annotating your face


Add custom aggregate transaction creation

A user should be able to create custom aggregate transactions.
A mockup was created for this already and will be added here.

More details linked in #505

Thanks, @evias  for reporting this, Note that the latest release has custom aggregate transactions included, currently support 3 types of inner transactions: Transfer / MosaicDefination / NamespaceRegistration. linked to #

Thanks, @evias  for reporting this, Note that the latest release has custom aggregate transactions included, currently support 3 types of inner transactions: Transfer / MosaicDefination / NamespaceRegistration.


quick installation guide does not work at digitalocean

Hi,
was trying to install this through quick install doc but when i run this
"curl https://raw.githubusercontent.com/atech/postal/master/script/install/ubuntu1604.sh | sh"
it does some work with packages but then i get this error:
"Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libmysqlclient-dev : Depends: libmysqlclient18 (= 5.5.55-0ubuntu<IP_ADDRESS>) but it is not going to be installed
mariadb-server : Depends: mariadb-server-10.1 (= 10.1.24+maria-1~xenial) but it is not going to be installed
E: Unable to correct problems, you have held broken packages."
it sems the installer wont work on ubuntu at digitalocean as you guys noted on quick install guide that it does work :/ any solution how to fix this??
Also digitalocean only have down to 14.04.5 as ubuntu version.
/Thanks

The quick start also mentions Ubuntu 16.04 LTS is required (for the quick start to work), you are running 14.04.5.

it didn't do that before, it said 14.04 then.

Run it again on a clean Ubuntu 16.04 machine.


"No module named 'blib2to3'" running Black 22.10.0 with Python 3.9 with nixpkgs 22.05

Describe the bug
$ nix-shell --pure --run black
Traceback (most recent call last):
  File "/nix/store/19w1d4gx5fb0mr9lx10pslnnrrwxzaki-python3.9-black-22.10.0/bin/.black-wrapped", line 6, in <module>
    from black import patched_main
  File "/nix/store/639k9wgp2ch5akap7xyylcifnq1ip4a4-python3-3.9.13-env/lib/python3.9/site-packages/black/__init__.py", line 37, in <module>
    from black.comments import normalize_fmt_off
  File "/nix/store/639k9wgp2ch5akap7xyylcifnq1ip4a4-python3-3.9.13-env/lib/python3.9/site-packages/black/comments.py", line 12, in <module>
    from black.nodes import (
  File "/nix/store/639k9wgp2ch5akap7xyylcifnq1ip4a4-python3-3.9.13-env/lib/python3.9/site-packages/black/nodes.py", line 21, in <module>
    from blib2to3 import pygram
ModuleNotFoundError: No module named 'blib2to3'

See for example this PR.
blib2to3 is part of the Black repo, so maybe nixpkgs 3e3ef781eab85d41e4b6f0c2a4e7ed5d22aab04c is accidentally excluding it from the outputs?
If I change nixpkgs.json below to instead include current master, the build succeeds. Also confirmed that this error only occurs with 22.10, not with the previous release, 22.8.
Steps To Reproduce
Steps to reproduce the behavior:

Set up the environment:

shell.nix

{ pkgs ? import
    (
      fetchTarball (
        builtins.fromJSON (
          builtins.readFile ./nixpkgs.json)))
    { }
}:
let

  poetryEnv = pkgs.poetry2nix.mkPoetryEnv {
    python = pkgs.python39;
    projectDir = ./.;
    overrides = pkgs.poetry2nix.overrides.withDefaults (self: super: {
      black = super.black.overridePythonAttrs (
        old: {
          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
            self.hatch-fancy-pypi-readme
            self.hatchling
            self.hatch-vcs
          ];
        }
      );
    });
  };
in
poetryEnv.env

pyproject.toml

[tool.poetry]
name = "tmp.wlvznrf39j"
version = "0.1.0"
description = ""
authors = ["Victor Engmark<EMAIL_ADDRESS>
[tool.poetry.dependencies]
python = "^3.9"
black = "^22.10.0"

[tool.poetry.dev-dependencies]

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

poetry.lock

[[package]]
name = "black"
version = "22.10.0"
description = "The uncompromising code formatter."
category = "main"
optional = false
python-versions = ">=3.7"

[package.dependencies]
click = ">=8.0.0"
mypy-extensions = ">=0.4.3"
pathspec = ">=0.9.0"
platformdirs = ">=2"
tomli = {version = ">=1.1.0", markers = "python_full_version < \"3.11.0a7\""}
typing-extensions = {version = ">=<IP_ADDRESS>", markers = "python_version < \"3.10\""}

[package.extras]
colorama = ["colorama (>=0.4.3)"]
d = ["aiohttp (>=3.7.4)"]
jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"]
uvloop = ["uvloop (>=0.15.2)"]

[[package]]
name = "click"
version = "8.1.3"
description = "Composable command line interface toolkit"
category = "main"
optional = false
python-versions = ">=3.7"

[package.dependencies]
colorama = {version = "*", markers = "platform_system == \"Windows\""}

[[package]]
name = "colorama"
version = "0.4.5"
description = "Cross-platform colored terminal text."
category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"

[[package]]
name = "mypy-extensions"
version = "0.4.3"
description = "Experimental type system extensions for programs checked with the mypy typechecker."
category = "main"
optional = false
python-versions = "*"

[[package]]
name = "pathspec"
version = "0.10.1"
description = "Utility library for gitignore style pattern matching of file paths."
category = "main"
optional = false
python-versions = ">=3.7"

[[package]]
name = "platformdirs"
version = "2.5.2"
description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
category = "main"
optional = false
python-versions = ">=3.7"

[package.extras]
docs = ["furo (>=2021.7.5b38)", "proselint (>=0.10.2)", "sphinx-autodoc-typehints (>=1.12)", "sphinx (>=4)"]
test = ["appdirs (==1.4.4)", "pytest-cov (>=2.7)", "pytest-mock (>=3.6)", "pytest (>=6)"]

[[package]]
name = "tomli"
version = "2.0.1"
description = "A lil' TOML parser"
category = "main"
optional = false
python-versions = ">=3.7"

[[package]]
name = "typing-extensions"
version = "4.4.0"
description = "Backported and Experimental Type Hints for Python 3.7+"
category = "main"
optional = false
python-versions = ">=3.7"

[metadata]
lock-version = "1.1"
python-versions = "^3.9"
content-hash = "b1883ca21e575dd901ea5bc6cf89e661db77450b3bbff3b1c83dffc2c1d0e32e"

[metadata.files]
black = [
    {file = "black-22.10.0-1fixedarch-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:5cc42ca67989e9c3cf859e84c2bf014f6633db63d1cbdf8fdb666dcd9e77e3fa"},
    {file = "black-22.10.0-1fixedarch-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:5d8f74030e67087b219b032aa33a919fae8806d49c867846bfacde57f43972ef"},
    {file = "black-22.10.0-1fixedarch-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:197df8509263b0b8614e1df1756b1dd41be6738eed2ba9e9769f3880c2b9d7b6"},
    {file = "black-22.10.0-1fixedarch-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:2644b5d63633702bc2c5f3754b1b475378fbbfb481f62319388235d0cd104c2d"},
    {file = "black-22.10.0-1fixedarch-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:e41a86c6c650bcecc6633ee3180d80a025db041a8e2398dcc059b3afa8382cd4"},
    {file = "black-22.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2039230db3c6c639bd84efe3292ec7b06e9214a2992cd9beb293d639c6402edb"},
    {file = "black-22.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14ff67aec0a47c424bc99b71005202045dc09270da44a27848d534600ac64fc7"},
    {file = "black-22.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:819dc789f4498ecc91438a7de64427c73b45035e2e3680c92e18795a839ebb66"},
    {file = "black-22.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5b9b29da4f564ba8787c119f37d174f2b69cdfdf9015b7d8c5c16121ddc054ae"},
    {file = "black-22.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8b49776299fece66bffaafe357d929ca9451450f5466e997a7285ab0fe28e3b"},
    {file = "black-22.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:21199526696b8f09c3997e2b4db8d0b108d801a348414264d2eb8eb2532e540d"},
    {file = "black-22.10.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e464456d24e23d11fced2bc8c47ef66d471f845c7b7a42f3bd77bf3d1789650"},
    {file = "black-22.10.0-cp37-cp37m-win_amd64.whl", hash = "sha256:9311e99228ae10023300ecac05be5a296f60d2fd10fff31cf5c1fa4ca4b1988d"},
    {file = "black-22.10.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:fba8a281e570adafb79f7755ac8721b6cf1bbf691186a287e990c7929c7692ff"},
    {file = "black-22.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:915ace4ff03fdfff953962fa672d44be269deb2eaf88499a0f8805221bc68c87"},
    {file = "black-22.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:444ebfb4e441254e87bad00c661fe32df9969b2bf224373a448d8aca2132b395"},
    {file = "black-22.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:974308c58d057a651d182208a484ce80a26dac0caef2895836a92dd6ebd725e0"},
    {file = "black-22.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72ef3925f30e12a184889aac03d77d031056860ccae8a1e519f6cbb742736383"},
    {file = "black-22.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:432247333090c8c5366e69627ccb363bc58514ae3e63f7fc75c54b1ea80fa7de"},
    {file = "black-22.10.0-py3-none-any.whl", hash = "sha256:c957b2b4ea88587b46cf49d1dc17681c1e672864fd7af32fc1e9664d572b3458"},
    {file = "black-22.10.0.tar.gz", hash = "sha256:f513588da599943e0cde4e32cc9879e825d58720d6557062d1098c5ad80080e1"},
]
click = [
    {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"},
    {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"},
]
colorama = [
    {file = "colorama-0.4.5-py2.py3-none-any.whl", hash = "sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da"},
    {file = "colorama-0.4.5.tar.gz", hash = "sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4"},
]
mypy-extensions = [
    {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"},
    {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"},
]
pathspec = [
    {file = "pathspec-0.10.1-py3-none-any.whl", hash = "sha256:46846318467efc4556ccfd27816e004270a9eeeeb4d062ce5e6fc7a87c573f93"},
    {file = "pathspec-0.10.1.tar.gz", hash = "sha256:7ace6161b621d31e7902eb6b5ae148d12cfd23f4a249b9ffb6b9fee12084323d"},
]
platformdirs = [
    {file = "platformdirs-2.5.2-py3-none-any.whl", hash = "sha256:027d8e83a2d7de06bbac4e5ef7e023c02b863d7ea5d079477e722bb41ab25788"},
    {file = "platformdirs-2.5.2.tar.gz", hash = "sha256:58c8abb07dcb441e6ee4b11d8df0ac856038f944ab98b7be6b27b2a3c7feef19"},
]
tomli = [
    {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"},
    {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"},
]
typing-extensions = [
    {file = "typing_extensions-4.4.0-py3-none-any.whl", hash = "sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e"},
    {file = "typing_extensions-4.4.0.tar.gz", hash = "sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa"},
]

nixpkgs.json

{
  "name": "release-22.05-2022-10-14T15-12-55Z",
  "url": "https://github.com/NixOS/nixpkgs/archive/3e3ef781eab85d41e4b6f0c2a4e7ed5d22aab04c.tar.gz",
  "sha256": "19h67w81mknj6izcah2hicgjnh318b83hvgpap5kwzx8hzx01hhg"
}

Run nix-shell --pure --run black

Observe traceback saying "ModuleNotFoundError: No module named 'blib2to3'"

Expected behavior
Black should run as normal.
Additional context
Copied from poetry2nix issue.
Notify maintainers
@sveitser @autophagy
Metadata

system: "x86_64-linux"
host os: Linux 5.15.75, NixOS, 22.05 (Quokka), 22.05.3935.b3a8f7ed267
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.8.1
channels(root): "nixos-22.05"
channels(victor): ""
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Importing blib2to3 works in nixpkgs master and is installed correct. This is probably an issue in poetry2nix or more likely your nix code, so closing this.


panic: close of closed channel

What versions are you running?

$ go list -m github.com/chromedp/chromedp
github.com/chromedp/chromedp v0.3.1
$ google-chrome --version
Version 76.0.3809.100
$ go version
go version go1.12.6 darwin/amd64

What did you do? Include clear steps.
I'm currently starting chromdp in a loop in separate go routines. I want to test a few of my sites. My code looks similar to this example i wrote for simplicity:
package main

import (
	"context"
	"github.com/chromedp/chromedp"
	"github.com/gosimple/slug"
	"io/ioutil"
	"log"
	"sync"
	"time"
)

func main() {
	var Urls = [2]string{}

	Urls[0] = "https://google.com"
	Urls[1] = "https://example.com"

	ctx, cancel := chromedp.NewContext(context.Background())
	defer cancel()

	var wg sync.WaitGroup
	for _, url := range Urls {
		wg.Add(1)
		go TestSite(ctx, url, &wg)
	}

	wg.Wait()
}

func TestSite(ctx context.Context, url string, wg *sync.WaitGroup) {
	defer wg.Done()

	tabCtx, _ := chromedp.NewContext(ctx)
	var text string
	var screenShot []byte
	t := time.Now()
	fileName := t.Format("20060102150405") + "_" + slug.Make(url) + ".png"

	actions := chromedp.Tasks{
		chromedp.Navigate(url),
		chromedp.Text(`body`, &text, chromedp.NodeNotVisible, chromedp.ByQuery),
		chromedp.CaptureScreenshot(&screenShot),
		chromedp.ActionFunc(func(ctx context.Context) error {
			if err := ioutil.WriteFile(fileName, screenShot, 0644); err != nil {
				log.Fatal(err)
				return err
			}

			return nil
		}),
	}

	for {
		log.Println("Monitor url", url)

		if err := chromedp.Run(tabCtx, actions); err != nil {
			log.Println("Error occurred during browser run:", err)
		}

		log.Println("text", text)

		time.Sleep(time.Duration(3 * time.Second))
		continue
	}
}

Basically i run the defined actions (Navigate to the site, grab the text in  and take a screenshot in an infinite loop every 3 seconds for each site.
According to the Docs i create new tabs (tabCtx) in the parent context.
What did you expect to see?
I would expect, that this code will be executed successfully and generate the same output on every iteration.
What did you see instead?
The first iteration works fine. From the second iteration i receive this error:
panic: close of closed channel

goroutine 26 [running]:
github.com/chromedp/chromedp.(*Selector).waitReady.func1(0x15afe40, 0xc0000c8ae0, 0xc0000e4420, 0xc0001b29b8, 0x1, 0x1, 0x0, 0x0, 0xc000186780, 0x147e3a0, ...)
        /Users/bogdan/Development/SneakerBros/monitor/vendor/github.com/chromedp/chromedp/sel.go:247 +0x274
github.com/chromedp/chromedp.(*Selector).run(0xc0002d2000, 0x15afe40, 0xc0000c8ae0, 0xc0002fe120, 0xc000186c00)
        /Users/bogdan/Development/SneakerBros/monitor/vendor/github.com/chromedp/chromedp/sel.go:101 +0x22e
created by github.com/chromedp/chromedp.(*Selector).Do
        /Users/bogdan/Development/SneakerBros/monitor/vendor/github.com/chromedp/chromedp/sel.go:64 +0x11f
exit status 2

I figured out that this has somethin to do with the chromedp.Text() Action. When i'm comment this line or using the chromedp.Title() Action instead everything works fine...
Can someone please explain me what is happening here? How can i avoid this error?

Could you please try v0.4.0, the current stable release?

$ go list -m github.com/chromedp/chromedp
github.com/chromedp/chromedp v0.4.0

Same for me with v0.4.0

Thanks. I can tell you one way to work around the panic; you can declare actions inside the loop.
There's still probably a bug to fix here, but at least you're not blocked by it.

@mvdan
The workaround helped me. Thank you!

If you use the latest master, no workaround is needed; the bug is fixed :)


On some https sites, urllib3/requests latest github version hangs

I installed Commit 7f9d8ee3f5 on python 27 and then tried some https sites with SNI. It seems to be hanging. Is SNI fixed on python2 yet, or was it only for python3?

This just happened to me, sadly.
I get the exact same error output when I hit Ctrl-C, too.
In my case it's an AWS instance, trying to send mails with mailgun and sometimes it hangs forever.
For example, it will send 9 mails and hang forever, and then I Ctrl-C, restart and it will send 400 and hang forever.

I'm on python 2.7.6 btw, @pythonmobile what are you using?

@alvare this issue is over a year old. Please open a new one


pyright: [diagnostic name]="error|warning|true|false" doesn't override diagnostic severity for reportImportCycles

Code Snippet
module1.py
# pyright: reportImportCycles=true
# pyright: reportUnusedImport=true
import module2

module2.py
# pyright: reportImportCycles=true
# pyright: reportUnusedImport=true
import module1

Repro Steps

Set Type Checking Mode to basic in VSCode
Observe the PROBLEMS list.

Expected behavior
The Cycle detected in import chain error shows up.

Actual behavior

This behavior is "as designed". The reportImportCycles diagnostic is special in that it's not associated with a particular file (because it affects multiple files). It happens to get "injected" into one of the files in the cycle, somewhat at random. It therefore doesn't make sense to disable the diagnostic on a per-file basis.
The only way to eliminate this diagnostic is to address the underlying import cycle in your code.
You can disable this diagnostic globally for your project if you don't want it to report import cycles. (It's actually not enabled by default, so I presume that you have purposely enabled it.)


Loosely Coupled

Are there any reference textbook for the calculation process in the program (except Paul Groves textbook).

I was referring to the Paul Groves textbook at the time of preparing this software.


Refactor logging

I had issues with writing tests for the demos, and one cause might be an overload of logging in the hardware components.
Since https://github.com/ros-controls/ros2_control/pull/1585 we have logger+clock in the interfaces, so I refactored the hardware components and use throttled logging on top of that.
We encountered an issue with throttled logging from identical plugins https://github.com/ros2/rclcpp/issues/2587, this is why logging in example_6 does not work currently.
Note: This is not 1:1 backportable because the API changes were not backported. But this can be achieved by adding local member variables for clock and logger to the hardware components.

I reverted the changes to the update rates as suggested here


Assign real opcodes to all operations

This PR assigns real opcode values (as described in #203) to all operations. It also adds one more column to the decoder to reduce degree of operation flags for high-degree operations (as discussed in the same issue).

Are you planning to add these to the design docs at some point?

Yep, the are already in the #331


java.lang.IllegalArgumentException: Cannot copy between a TensorFlowLite tensor with shape [1, 10647, 4] and a Java object with shape [1, 52, 52, 3, 85].

Hello I tried to run yolov4-416 in the app but I got this error when I press the detect button on the Kite image.

Any updates on this?

Sorry I have no idea I think I'm going to rebuild an app from scratch.
Imo we need to tweak the app to accept the output of our model but I don't really know how to do this.

I have the exact issue, please let me know if anyone has managed to solve it!


Can not clone repository

git clone --depth 1 http://git.videolan.org/git/x264
Cloning into 'x264'...
fatal: repository 'http://git.videolan.org/git/x264/' not found

Where did you run into this issue? What where you trying to do?

Was trying to install ffmpeg on my Raspberry Pi according to your instructions.
Seems repository is moved to another location.

Hi,
They moved their repos to GitLab.
New URL: https://code.videolan.org/videolan/x264.git


Update README.md

I have added my name
Related issue

What changes does this PR do?
Screenshots (If any)
Questions

Yes I have arranged it alphabetically only

@yashpal2104 did you commit and push your changes due there are no changes showing up here?

I did commit the changes and added my name in the list alphabetically.

please can you check if you can merge the commits

Thank you


Examples or tutorial ?

Hi,
I find the documentation in the docstrings overly complicated and I can't seem to understand what's going on. I want to use the math/mathjax syntax in my markdown. Could you provide some example on how to achieve that ?
I already have a custom renderer for syntax highlighting, and I'd like to keep it that way :
class HighlightRenderer(mistune.Renderer):

    def block_code(self, code, lang=None):
        if not lang:
            lang = 'text'
        try:
            lexer = get_lexer_by_name(lang, stripall=True)
        except:
            lexer = get_lexer_by_name('text', stripall=True)
        formatter = HtmlFormatter()
        return "{open_block}{formatted}{close_block}".format(
            open_block="
" if lang != 'text' else '',
            formatted=highlight(code, lexer, formatter),
            close_block="
" if lang != 'text' else ''
        )

    def table(self, header, body):
        return "
" + header + body + "
"

Thanks a lot.

I just meet problem with meta extension, I wrote like this:
Title: A Metadata DEMO
Author: Hsiaoming Yang

# Be Pythonic

xxx

but the result is:
>>> meta.parse(txt)[0]
{'Author': 'Hsiaoming Yang\n# Be Pythonic', 'Title': 'A Metadata DEMO'}
>>>

then I wrote like this:
---
Title: A Metadata DEMO
Author: Hsiaoming Yang
---

# Be Pythonic

xxx

but the result is:
>>> meta.parse(txt)[0]
{}
>>>

I wrote like this:
Title: A Metadata DEMO
Author: Hsiaoming Yang
---

# Be Pythonic

xxx

it works:
>>> meta.parse(txt)[0]
{'Author': 'Hsiaoming Yang', 'Title': 'A Metadata DEMO'}
>>>

The syntax confusing, and didn't has any documents. Maybe it's a bug!

If you found a way to use it, maybe you could write up a small tutorial on how you did things. I wrote an article on the MathJax problem : http://depado.markdownblog.com/2015-09-29-mistune-parser-syntax-highlighter-mathjax-support-and-centered-images

@guyskk just to read the source, and you will know how it works.

@yxy #7

@guyskk yeah, import yaml makes more scalable, but introduce another dependency also make more complicated. reminds me this jok: Someone ask a programer that he wants a banana, and the programer gives him a forest.
So, all I want is just a simple meta key-value info, here is what I try to do #13 , just to simply this solution.


Transfer header Table No. series is not extensible

Transfer header Table No. series is not extensible
No. Series code is not following the pattern same as sales/purchase header.
We need the same functions an triggers.
We need the same functions an triggers.
Look for these triggers in Sales Header table
OnAfterGetNoSeriesCode
OnBeforeTestNoSeries
OnAfterInitRecord

We already have all events mentioned before in Transfer Header. Please look into latest version (=v17). Request will be closed. If you need something on top of existing events, please create new request with definition of changes you need.

we don't have this trigger in transfer header table(OnBeforeTestNoSeries)
Request to provide the same with handled pattern.
we need signature same as it is in sales header table.(please look into sales header table for this trigger)
OnBeforeTestNoSeries(Rec, IsHandled);
if not IsHandled then

we don't have this trigger in transfer header table(OnBeforeTestNoSeries)
Request to provide the same with handled pattern.
we need signature same as it is in sales header table.(please look into sales header table for this trigger)
OnBeforeTestNoSeries(Rec, IsHandled);
if not IsHandled then


feat(schema): Provide default JSON column definition for "conventional" columns

Some TSV columns are very well defined, while others are conventional.
As an example, the type column of electrodes.tsv has a very explicit meaning and list of possible values; there's no reason that someone would add a description in electrodes.json, and if they did, the validator should not allow it to override the specification definition.
In contrast the handedness column of participants.tsv is conventional in that we provide suggested values and their interpretations, but we would really prefer if people provide a full definition in participants.json. There are handedness definitions that are not refinements or subsets; for example, the Edinburgh Handedness Inventory is a numeric scale, not a set of labels.
I would like to propose that for conventional columns, we provide an explicit example JSON definition for the column. Validators would be expected to look first for a sidecar definition, fall back to the schema-defined example, and use whatever definition is available to validate the values in the column. In the case where neither is available, we would raise a warning, as we currently do. If I get some agreement here, I will do the same thing for all other conventional columns I can find.
For fully-defined columns, we will continue using JSON schema-style type definitions, which are more explicit.
cc @sappelhoff who I believe was involved in helping to formalize these last time.

This column definition was initially defined in https://github.com/bids-standard/bids-specification/pull/827 by @tsalo which was also approved by @Remi-Gau. Feedback from any of you would be appreciated.

I would like to propose that for conventional columns, we provide an explicit example JSON definition for the column. Validators would be expected to look first for a sidecar definition, fall back to the schema-defined example, and use whatever definition is available to validate the values in the column. In the case where neither is available, we would raise a warning, as we currently do. If I get some agreement here, I will do the same thing for all other conventional columns I can find.
For fully-defined columns, we will continue using JSON schema-style type definitions, which are more explicit.

That sounds reasonable to me. Shall there be some "info" logging for these cases? 👇

fall back to the schema-defined example

Shall there be some "info" logging for these cases? 👇

fall back to the schema-defined example

I don't think so. debug logging perhaps, but the standing expectation is that if you use approved values for these columns, the validator won't complain.


Timer support

Added support for user32.SetTimer and KillTimer. Motivation was MD5 df00d1192451268c31c1f8568d1ff472, which uses the following loop before executing its primary function:
  SetTimer(0i64, 0i64, 60000u, 0i64);
  while ( GetMessageA(&Msg, 0i64, 0, 0) )
  {
    if ( Msg.message == WM_TIMER && !v1 && (unsigned int)++counter >= 2 )
    {
      v1 = 1;
      if ( !(unsigned int)sub_1800071A0() )
        break;
    }
    DispatchMessageA(&Msg);
  }

The approach I used increments/decrements a timer_count rather than actually creating unique timers. Let me know if you'd prefer that implementation.
The GetMessage hook was modified because it currently returns False if the queue is empty. For the above sample, GetMessage blocks until the timer elapses and a WM_TIMER message is received. For that reason, GetMessage will return True if the queue is empty and a timer is present.
Additional note: we might consider handling this case for GetMessage: "If there is an error, the return value is -1. For example, the function fails if hWnd is an invalid window handle or lpMsg is an invalid pointer."

Agreed, looks good.


 I went for mobile first and desktop second now. iphone 4 people will have to suffer

nice bro, really nice


Add an onSelect event

Is your feature request related to a problem? Please describe.
I want the command pallet to raise an onSelect event when the user makes their selection
Describe the solution you'd like
It should trigger a callback event when the user select an item.
The event payload should contain the item selected

@asabaylus  is this likely soon (this week)? We have spent quite a bit of time trying to make this work so would be great if this happens. thank you again

@sudhamab try v0.5.0-0 you'll have access to a new prop onSelect.
    <ReactCommandPalette
      renderCommand={atomCommand}
      theme={atomTheme}
      commands={commands}
      onSelect={(suggestion)=>{
        alert(`${JSON.stringify(suggestion)}`)
      }}
      open
    />


Save functionality

Currently no ability to save your graphs. Should be top priority as of now, if Dominodes is to move forward as a useful tool.

Current strategy will be to save the positions of each node relative to the viewport size, and a list of edges. To load a graph, we just need to recreate all the nodes, add them to the dom, and then reconstruct the edge svgs

I'll save the sheets as json files for now (unless we can think of a reason to use something else). Sanitizing the label and formula text for security is a mild concern


use username instead of email in "username" field when requesting access token

Hi, i added a username field in users table. I want to use this instead of my email in username field when requesting an access token. How do i do this? THanks

Thanks for using this package!
For this kind of support questions, we'd like you to use the following resources:

Documentation
OAuth 2.0 Documentation
Laracasts
Laravel Slack
Stack Overflow

This will allow us to keep the issues for bug reporting only and make our work easier.


nixVersions.nix_2_24: 2.24.7 -> 2.24.8

Description of changes
Contains a couple of scary sounding fixes:

builtin:fetchurl: Enable TLS verification
Ensure error messages don't leak private key

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Looks like maybe a make parallelism bug on OfBorg?
env: 'src/nix/nix': No such file or directory
env: 'src/nix/nix': No such file or directory
make: *** [doc/manual/local.mk:120: doc/manual/nix.json] Error 127
make: *** Waiting for unfinished jobs....
make: *** [doc/manual/local.mk:124: doc/manual/conf-file.json] Error 127
env: 'src/nix/nix': No such file or directory
make: *** [doc/manual/local.mk:138: doc/manual/xp-features.json] Error 127

Although it's happened on both x86_64-linux and aarch64-linux…


Code Lens - Reference information for TypeScript

VSCode Version: 1.4.0
OS Version: OSX 10.11.6

It would be amazing if vscode was able to provide the reference info functionality for TypeScript classes and methods that it provides for C#:
https://code.visualstudio.com/docs/editor/editingevolved#_reference-information

Thanks!

This issue was moved to Microsoft/TypeScript#10500

This issue was moved to Microsoft/TypeScript#10502

Reopening to track feature request.

Also, I'm wondering if it could be possible to display in TypeScript, on demand, the whole prototype chain of a given class in order to have in one glance all inherited properties without navigating through all ancestors of such a class. Maybe I should create a proposal...

@yahiko00 yeah that would be great. The more detailed the proposal the more likely it could get picked up. If you think it applies to VS Code open it up as a new issue in VS Code's repo, otherwise open it in TypeScript. They're very responsive.

@dbaeumer here is the feature request.

FYI: https://github.com/kisstkondoros/typelens

This is included in VSCode 1.9. Just add the setting: "typescript.referencesCodeLens.enabled": true to try it out


error with: yt-dlp -f bv+ba/b  --sub-langs "all" --write-subs ; no error with: yt-dlp -f bv+ba/b

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

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

Checklist

[X] I'm reporting that yt-dlp is broken on a supported site
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
Germany
Provide a description that is worded well enough to be understood
subtitle file is listet:
$ yt-dlp --list-subs   <URL>
[vimeo] Extracting URL: …
[vimeo] 914359704: Downloading webpage
[vimeo] 914359704: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 914359704: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 914359704: Downloading fastly_skyfire m3u8 information
[vimeo] 914359704: Downloading fastly_skyfire m3u8 information
[vimeo] 914359704: Downloading akfire_interconnect_quic MPD information
[vimeo] 914359704: Downloading akfire_interconnect_quic MPD information
[vimeo] 914359704: Downloading fastly_skyfire MPD information
[vimeo] 914359704: Downloading fastly_skyfire MPD information
[info] Available subtitles for 914359704:
Language     Formats
de-x-autogen vtt, vtt, vtt

But with: yt-dlp -f bv+ba/b  --sub-langs "all" --write-subs <URL> no video and no subtitle-file is downloaded.
This yt-dlp -f bv+ba/b <URL>  works: the video  is downloaded.
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU', '-f', 'bv+ba/b', '--sub-langs', 'all', '--write-subs', 'https://player.vimeo.com/video/914359704']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>from yt-dlp/yt-dlp [615a84447] (zip)
[debug] Python 3.11.7 (CPython x86_64 64bit) - Linux-6.6.16-2-MANJARO-x86_64-with-glibc2.39 (OpenSSL 3.2.1 30 Jan 2024, glibc 2.39)
[debug] exe versions: ffmpeg 6.1.1 (setts), ffprobe 6.1.1, rtmpdump 2.4
[debug] Optional libraries: certifi-2023.05.07, pycrypto-3.20.0, requests-2.31.0, sqlite3-3.45.1, urllib3-2.0.3
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests
[debug] Loaded 1803 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version<EMAIL_ADDRESS>from yt-dlp/yt-dlp
yt-dlp is up to date<EMAIL_ADDRESS>from yt-dlp/yt-dlp)
[vimeo] Extracting URL: https://player.vimeo.com/video/914359704
[vimeo] 914359704: Downloading webpage
[vimeo] 914359704: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 914359704: Downloading akfire_interconnect_quic m3u8 information
[vimeo] 914359704: Downloading fastly_skyfire m3u8 information
[vimeo] 914359704: Downloading fastly_skyfire m3u8 information
[vimeo] 914359704: Downloading akfire_interconnect_quic MPD information
[vimeo] 914359704: Downloading akfire_interconnect_quic MPD information
[vimeo] 914359704: Downloading fastly_skyfire MPD information
[vimeo] 914359704: Downloading fastly_skyfire MPD information
[info] 914359704: Downloading subtitles: de-x-autogen
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, lang, vcodec:vp9.2(10), channels, acodec, size, br, asr, proto, vext, aext, hasaud, id
[info] 914359704: Downloading 1 format(s): hls-fastly_skyfire_sep-477+dash-fastly_skyfire_sep-audio-2005dd64
[info] Writing video subtitles to: 22_Dirk Revenstorf- Aktivierung des Unbewussten in Trance und Traum [914359704].de-x-autogen.vtt
[debug] Invoking http downloader on "https://vimeo.com/texttrack/136025336.vtt?token=65f83271_0xa3fe7b1fd4d7987c754f51eca3afbcfb444e2994"
ERROR: Unable to download video subtitles for 'de-x-autogen': HTTP Error 404: Not Found
Traceback (most recent call last):
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 4278, in _write_subtitles
    self.dl(sub_filename, sub_copy, subtitle=True)
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 3155, in dl
    return fd.download(name, new_info, subtitle)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/bin/yt-dlp/yt_dlp/downloader/common.py", line 455, in download
    ret = self.real_download(filename, info_dict)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/bin/yt-dlp/yt_dlp/downloader/http.py", line 369, in real_download
    establish_connection()
  File "/usr/local/bin/yt-dlp/yt_dlp/downloader/http.py", line 120, in establish_connection
    ctx.data = self.ydl.urlopen(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 4101, in urlopen
    return self._request_director.send(req)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/bin/yt-dlp/yt_dlp/networking/common.py", line 115, in send
    response = handler.send(request)
               ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/bin/yt-dlp/yt_dlp/networking/_helper.py", line 204, in wrapper
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/bin/yt-dlp/yt_dlp/networking/common.py", line 326, in send
    return self._send(request)
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/bin/yt-dlp/yt_dlp/networking/_requests.py", line 351, in _send
    raise HTTPError(res, redirect_loop=max_redirects_exceeded)
yt_dlp.networking.exceptions.HTTPError: HTTP Error 404: Not Found

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 1594, in wrapper
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 1750, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 1809, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 2968, in process_video_result
    self.process_info(new_info)
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 3222, in process_info
    sub_files = self._write_subtitles(info_dict, temp_filename)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 4286, in _write_subtitles
    raise DownloadError(msg)
yt_dlp.utils.DownloadError: Unable to download video subtitles for 'de-x-autogen': HTTP Error 404: Not Found

The subs don't work in browser either, I get the same 404 error.

The main problem is not the subtitles, which are not downloaded. The main problem is that the videoclip download is not working.

The video is not downloading because the subtitle download is throwing an error. That's why the video download works without --write-subs. But there are no subtitles for this video -- you can verify this in your web browser. So the workaround is to just not pass --write-subs

OP is correct. Failure to download subs should not cause video to abort without --abort-on-error. Similar to other pre-processing, the error should just re-raise after video download

--write-subs

--write-subs is in my bash script. Therefore I need a possibility that the video is downloaded although the subtitle is missing at the provider.

possibly fixed by #8169

--abort-on-error

This sounds interessting. I hope i can bring it to run … i will read …

OP is correct. Failure to download subs should not cause video to abort without --abort-on-error. Similar to other pre-processing, the error should just re-raise after video download

Yes, that is what i mean :-)

there are subtitles - https://player.vimeo.com/texttrack/136025336.vtt?token=65f8d056_0xc7ea97ebe3e16bf19ea80089fca297c47e48e579
but it gives a 404 error not found if you try downloading them

--abort-on-error

yt-dlp -f bv+ba/b  --sub-langs "all" --write-subs --no-abort-on-error <URL> dosn't work.


Remove Twisted Edward signature from the Stake transaction

It also removes the public key from committee.Members.
It skip a whole bunch of tests that depend on the Genesis block, which needs to be regenerated with the new Stake definition

Codecov Report

Merging #419 into master will increase coverage by 4.33%.
The diff coverage is 54.34%.

@@            Coverage Diff             @@
##           master     #419      +/-   ##
==========================================
+ Coverage   52.34%   56.67%   +4.33%
==========================================
  Files         132      170      +38
  Lines        7499     9277    +1778
==========================================
+ Hits         3925     5258    +1333
- Misses       3063     3345     +282
- Partials      511      674     +163

Impacted Files
Coverage Δ

pkg/config/consts.go
0.00% <0.00%> (ø)

pkg/config/loader.go
61.03% <ø> (ø)

pkg/core/candidate/validator.go
65.21% <ø> (ø)

pkg/core/chain/collectors.go
57.14% <ø> (ø)

pkg/core/consensus/agreement/accumulator.go
90.90% <ø> (ø)

pkg/core/consensus/agreement/store.go
59.30% <0.00%> (ø)

pkg/core/consensus/candidate/factory.go
100.00% <ø> (ø)

pkg/core/consensus/candidate/genesis.go
71.42% <ø> (ø)

pkg/core/consensus/collector.go
0.00% <ø> (ø)

pkg/core/consensus/component.go
72.41% <ø> (ø)

... and 203 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d5b615a...398a781. Read the comment docs.


Add a simple timer device app and corresponding host app

Is it worth having a host/device app combo just to illustrate the timer? Perhaps. It's good as a host-controlled test and measurement of the timer at least

Merged on the side with minor nits.


Add a type and version key

In the RDF definition we have the type and version key, it would be nice if we can add it for the models as well.
Todo: bump version and add changelog

@oeway I think all the changes in #79, #81, #82 and #83 make a lot of sense. But I suggest we introduce all of them in a single version bum from 0.3.1 to 0.3.2. That would make it easier to make actual releases on gh for these versions.

@oeway I think all the changes in #79, #81, #82 and #83 make a lot of sense. But I suggest we introduce all of them in a single version bum from 0.3.1 to 0.3.2. That would make it easier to make actual releases on gh for these versions.

Agreed, I am thinking the same while I add more, will make sure I merge them.

let's not merge this, but incorporate it into #80

should the version be None if not present or should it be 0.1.0 (my favorite, so it's never None and always comparable)?

should the version be None if not present or should it be 0.1.0 (my favorite, so it's never None and always comparable)?

No strong opinion here, and yes, I think we can default it to 0.1.0 if not present.

implemented in https://github.com/bioimage-io/spec-bioimage-io/pull/80/commits/d03984dd14af0afe4b2bd1ad0e6f4252beaa6d90 (part of #80)


Time to move to dask/dask?

We kept this repo separate because we anticipated a lot of breakage and wanted to have a lean release cycle. I noticed that we're now pinning hard to dask. I believe the time has come where we should merge this to the main repo
cc @phofl @hendrikmakait

Any idea when we want to rip out the legacy implementation? That would
probably simplify the move over to dask/dask
On Wed, Jun 19, 2024 at 7:24 PM Florian Jetter @.***>
wrote:

We kept this repo separate because we anticipated a lot of breakage and
wanted to have a lean release cycle. I noticed that we're now pinning hard
to dask. I believe the time has come where we should merge this to the main
repo
cc @phofl https://github.com/phofl @hendrikmakait
https://github.com/hendrikmakait
—
Reply to this email directly, view it on GitHub
https://github.com/dask/dask-expr/issues/1086, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOYQZGFBANH36WXWACUBLDTZIG5GRAVCNFSM6AAAAABJSONDBWVHI2DSMVQWIX3LMV43ASLTON2WKOZSGM3DEOBVGMYTAMI
.
You are receiving this because you were mentioned.Message ID:
@.***>

fwiw, we in fedora found this awkward too when doing python 3.13 bumps. see also: dask-distributed, which has a dep loop with dask also (it requires dask, dask's test suite requires it). I did wonder why these are all separate projects.

I did wonder why these are all separate projects.

historically, dask/dask and dask/distributed had a reasonably stable API towards each other and we could release independently.
What's stopping us from doing this right now is probably mostly CI run time since dask/dask and dask/distributed have individually a very long running test suite and merging them might cripple development velocity (poor reason for this split but something that isn't trivial do deal with)

We are close to this now and this will happen soon. I have PRs up to remove the legacy implementation which opens the way to move dask-expr over


Bluetooth: Increase CONFIG_BT_HCI_TX_STACK_SIZE for BT_SPI

Older value of 256 was introduced in 1.7 times. Testing on
BOARD=96b_carbon with 2 weeks old codebase however showed that TX
thread stack however can grow to 324 bytes. Finally, with the
latest master, following stacks are reported on BLE disconnect
(with CONFIG_INIT_STACKS enabled):
rx stack (real size 1024): unused 452	usage 572 / 1024 (55 %)
tx stack (real size 384):  unused 16	usage 368 / 384 (95 %)
Two outcomes:

TX stack needs increase.
Over time, the stack usage grows, plus variations in SPI
drivers should also be taken into account.

So, increase the stack size to 416 bytes, to leave some headroom
beyond the immediate values seen on 96b_carbon.
Jira: ZEP-2510
Signed-off-by: Paul Sokolovsky<EMAIL_ADDRESS>

A follow up of yesterday's IRC discussion, later captured as https://jira.zephyrproject.org/browse/ZEP-2510 . @mbolivar (as a maintainer of 96b_carbon) OKed this change in the Jira, bit mentioned he might be on vacation next few days, so hopefully this can be merged sooner than that.

It seems CI failed since the commit message contains tab characters (coming from a copy-paste of console output). I think it's a CI bug (it shouldn't be that strict), but it's your choice do you want to fix that in the commit message or wait for CI to be fixed (or for someone like @nashif to override and merge this anyway)

@jhedberg : Fixed tabs in the commit message, the build now passes. Thanks.


throw errors when there is no return

What is the feature you are proposing?
hono will throw a runtime error of Context is not finalized if there is no return c.xxx(), but there is no typescript check, some functions  return c.body(null, 204), which is easy to be forgotten.
So I think if we can add some type check or eslint rules to prevent no return expression

Hi @bingtsingw
I also want to have the feature!
Currently, it throws a TypeScript error when a handler is not async.

But if it is an async function, we can't make it throw an error because we have to treat the middleware handler as the same as the handler. For example, the code should not throw an error.
app.get('/', async (c, next) => {
  await next()
})

So an async handler does not throw an error.

Making it throw an error will be difficult or impossible, I think.


Add native librairies for the x86 architecture

I compiled native libraries of the openCV and Scanner modules for the x86 architecture. This way, the demo is working on x86 devices and emulators.

sir tell me how i used i has no idea about opencv

sir tell me how i used i has no idea about opencv

@waqasawan44 If you simply look at my commits, you will see that I just added new librairies in the  'ScanDemoExample/scanlibrary/src/main/libs/x86' folder. This way, native libraries are also available for the x86 architecture and will make this library work on any mobile device.

Hey, I'm trying to get this to work on my Nexus 5x, which runs on arm64. Is there a way to make the app run in a compatible mode, or would I have to compile a separate version of the libs?


Publish 0.2.4

Since net2 is broken in nightly, it'd be nice to have 0.2.4 released.
On the other hand, I tried to work around by pointing my Cargo.toml to this repository, but it doesn't seem to detect the nightly feature. Should this work?
-[dependencies]
-net2 = { version = "0.2.2", features = ["nightly"] }
+[dependencies.net2]
+net2 = { git = "https://github.com/alexcrichton/net2-rs", features = ["nightly"] }

The error I'm getting:
src/lib.rs:71:35: 71:62 error: no associated item named `set_keepalive` found for type `net2::ext::TcpStreamExt` in the current scope
src/lib.rs:71             Stream::Tcp(ref s) => TcpStreamExt::set_keepalive(s, duration),
                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~

Thanks

Done!

Just for curiosity, any idea what was I doing wrong with the Cargo.toml that didn't work?

I think you also need to drop dependencies.net2 and instead just have the key look like:
[dependencies]
net2 = { ... }

Aaaah. Thanks.


techer model link not working

Hi, I am trying to run your script on colab, but the error message shows that the URL for pulling teacher_ckpt is not working, is there a new link to the teacher model?

I am having the same problem, in prepro.sh, this code is failing:
wget https://storage.googleapis.com/noisystudent/ckpts/svhn/teacher_ckpt.tar.gz

I haven't been able to either find a correct link or another way to initialize the teacher.

anyone got the correct link to the teacher_ckpt?


Improve dark mode contrast

Not sure when but DartPad now seems to only allow dark mode, whereas before it had light mode.
This is making using DartPad very difficult as it is very difficult to see the code against a black background.
Bring back light mode or a least an option to change display themes.

Thanks for filing an issue. Are you referring to the full-screen UI, or the embedded layouts for use in iframes? If it's in the latter, they do support theming. For a demo, see https://dartpad.dev/example/embed.html.
For the fulls-screen UI, there's just the one theme. The font colors are intended to be pretty bright on the dark background, though:

Are you seeing anything different? If so, can you provide browser details, and let us know if there's any errors in the page load or JavaScript console?

HI @RedBrogdon
I have been using the full-screen version at https://dartpad.dev/.
Since it has moved to the dark theme I have stopped using it as it is just too hard to see the detail.
It's a real pity as dartpad was a quick and easy means of trying code out.

@RedBrogdon Scanning through a couple of recent issues makes me wonder if a small "Settings" menu would be helpful.
I feel like that would help with this issue, #1640, and #1598.
Maybe something similar to how Codepen does settings? We could also persist these into local storage so they remain the default settings across tabs/instances.

I am +1ing this issue and marking it as an accessibility issue. The overall contrast ratio for the dark theme is way too low and it's very difficult to see.

Changing the background color to #0e161f and the default foreground "white" to #fff alone makes a huge difference.

Switching the greys to white and bumping the lightness up the blue, green, and red colors further improves legibility:

A simple switch would probably suffice, like the one from docusaurus pages.


VLAZ: Watch pgslotweb.net

VLAZ requests the watch of the watch_keyword pgslotweb\.net. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

pgslotweb\.net has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ


No More Magic

Libmagic dependency is causing problems. See issue #4 .
Since there's a similar feature in python standart libraries, there's no need for this dependency.

LGTM, merging this.


gzip and  clean URL ext not working

1. What version of Caddy are you running (caddy -version)?
Caddy 0.8.3
2. What are you trying to do?
Serve .html files with clean URLs with custom gzip settings.
3. What is your entire Caddyfile?
localhost:2015

root ./dist

errors {
  400 exceptions/500.html # Bad Request
  400 exceptions/401.html # Unauthorized
  400 exceptions/403.html # Forbidden
  404 exceptions/404.html # Not Found
  500 exceptions/500.html # Internal Server Error
  log error.log {
    size 50 # Rotate after 50 MB
    age  30 # Keep rotated files for 30 days
    keep 5  # Keep at most 5 log files
  }
}

ext .html .htm

gzip {
    ext        .css .eot .html .js .svg .ttf .txt .xml
    not        /static/images
    level      9
    min_length 256
}

# https://report-uri.io/home/generate
#https://chloe.re/2016/06/23/hardening-content-security-policy/

header / {
  Access-Control-Allow-Methods "GET, POST"
  X-Frame-Options "DENY"
  X-XSS-Protection "1; mode=block"
  X-Content-Type-Options "nosniff"
  Server {host}
  Content-Type "text/html; charset=utf-8"
  #-Server
  Content-Security-Policy "Content-Security-Policy-Report-Only: default-src 'self' *//placehold.it; script-src 'self' https://cdnjs.cloudflare.com:443/ajax/libs/jquery/1.12.4/jquery.min.js https://maxcdn.bootstrapcdn.com:443/bootstrap/3.3.6/js/bootstrap.min.js https://cdnjs.cloudflare.com:443/ajax/libs/html5shiv/3.7.3/html5shiv.min.js https://cdnjs.cloudflare.com:443/ajax/libs/respond.js/1.4.2/respond.min.js"; style-src 'self' https://maxcdn.bootstrapcdn.com:443/bootswatch/3.3.6/paper/bootstrap.min.css; img-src 'self' *://placehold.it/; font-src 'self' https://fonts.gstatic.com:443/s/roboto/v15/ https://maxcdn.bootstrapcdn.com:443/bootswatch/3.3.6/fonts/; connect-src 'none' ; media-src 'none' ; object-src 'none' ; child-src https://www.google.com:443/maps/embed/v1/place; frame-ancestors 'none' ; form-action 'self' ; upgrade-insecure-requests; sandbox allow-same-origin allow-scripts; reflected-xss block; base-uri http://localhost:2015/; manifest-src 'none' ; referrer origin; report-uri https://mvance.report-uri.io:443/r/default/csp/reportOnly;"
}

mime {
	.css text/css
  .gz application/x-gzip
  .html text/html
  .htm text/html
  .ico image/x-icon
  .jpeg image/jpeg
  .js application/javascript
	.pdf application/pdf
}

#tls {
#    protocols 1.2 1.2
#    ciphers   ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-GCM-SHA256
#}

4.
I simply run caddy from Mac OS X terminal. Caddy is installed in /usr/local/bin/caddy.
5. What did you expect to see?
Caddy serving .html files via gzip since the .html as set as a one of the file types to be gzipped.
6. What did you see instead (give full error messages and/or log)?
The .html file was not gzipped.
7. How can someone who is starting from scratch reproduce this behavior as minimally as possible?

Add the following to a Caddy file:

ext .html .htm

gzip {
    ext        .css .eot .html .js .svg .ttf .txt .xml
}

Run Caddy and view a .html page (e.g., example.com/blog) in Google Chrome
Right-click and select "Inspect"
Go to "Audits" tab of Chrome developer tools, select "Reload Page and Audit on Load", and then click run (use default options)
View "Enable gzip compression" recommendation to determine if the clean URL extension of the page was gzipped or not.

I might have these directives out of order, I don't have my computer right now to check my notes but will look into it after the holiday! Thanks for the detailed report.

You're welcome. I was afraid it might be too much info, but I want to follow the issue template. Anyway, no rush on this as its a low priority issue. Enjoy the holiday!

On Jul 3, 2016, at 10:51 PM, Matt Holt<EMAIL_ADDRESS>wrote:
I might have these directives out of order, I don't have my computer right now to check my notes but will look into it after the holiday! Thanks for the detailed report.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Oops, indeed. This is because gzip is executed before ext in the middleware chain. So before the '.html' extension is added to a "clean URL" request, the gzip compression has already been decided.
I fixed it locally by re-arranging the order and putting ext before gzip. Carrying it further I am also moving rewrite before gzip too.
Now, this doesn't fix the case for index files, as they are not "rewritten" until in the file server at the very end of the middleware chain. So a request to "/" that loads index.html will not be compressed with your gzip rules. But you can add "" to the gzip ext list and then index pages will be compressed too.

👍

On Jul 6, 2016, at 1:05 AM, Matt Holt<EMAIL_ADDRESS>wrote:
Closed #914 via 065eeb4.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


add verbose output for osm install with -v flag

The verbose output should show what components we've installed and configured in the user's cluster. It should also show what the name of the mesh is that was installed and in what namespace it was installed.

So if I don't have osm installed, and I run osm install -v, should I expect the osm to be installed, or just output that I haven't install any components? Another way to ask this question is, does osm install -v actually install osm, or just output installation status?

So if I don't have osm installed, and I run osm install -v, should I expect the osm to be installed, or just output that I haven't install any components? Another way to ask this question is, does osm install -v actually install osm, or just output installation status?

@michelleN I want some guidance on how to get the installed components? My idea is, after installation, installClient.Run() returns a Release object. I checked it, and found all the deploments CRD in the manifest of the Release object. Probably this is a feasible way. But any other suggestion on how to do it?

Yes I think that's a great way to go about it @allenlsy

@allenlsy do you plan on working on this issue? If yes, I'll assign this to you.

@shashankram Sure, please go ahead an assign to me. I will take some time this week to work on it.

@shashankram Sure, please go ahead an assign to me. I will take some time this week to work on it.

Great, thanks!

@shashankram Although Helm can provide a list of installed manifest files after installation, I want to ask, how are we going to define what are components? Because not all k8s deployments or k8s services are considered components, thus we cannot simply list them all. We probably want to say, grafana is a component, osm-controller is a component. User's service is not a component.
So in this case, should we define a list of components (hard coded), and osm detects components according to this list? Or probably we can also determine the components using a specific annotation from Deployment manifest?

I think we need a clearer definition of what are components before moving now. I took a note of what's inside the Release object when reaching this line, extracted part of the data that might be useful:
{
  "name": "osm",
  "chart": {
    "metadata": {
      "name": "test-chart",
      "version": "0.1.0",
      "description": "A Helm chart for Kubernetes",
      "apiVersion": "v2",
      "appVersion": "1.0.0",
      "type": "application"
    },
    "files": [
      {
        "name": ".helmignore",
        "data": "IyBQYXR0ZXJucyB0byBpZ25vcmUgd2hlbiBidWlsZGluZyBwYWNrYWdlcy4KIyBUaGlzIHN1cHBvcnRzIHNoZWxsIGdsb2IgbWF0Y2hpbmcsIHJlbGF0aXZlIHBhdGggbWF0Y2hpbmcsIGFuZAojIG5lZ2F0aW9uIChwcmVmaXhlZCB3aXRoICEpLiBPbmx5IG9uZSBwYXR0ZXJuIHBlciBsaW5lLgouRFNfU3RvcmUKIyBDb21tb24gVkNTIGRpcnMKLmdpdC8KLmdpdGlnbm9yZQouYnpyLwouYnpyaWdub3JlCi5oZy8KLmhnaWdub3JlCi5zdm4vCiMgQ29tbW9uIGJhY2t1cCBmaWxlcwoqLnN3cAoqLmJhawoqLnRtcAoqLm9yaWcKKn4KIyBWYXJpb3VzIElERXMKLnByb2plY3QKLmlkZWEvCioudG1wcm9qCi52c2NvZGUvCg=="
      }
    ]
  },
  "config": {
    "OpenServiceMesh": {
    }
  },
  "manifest": "---\n# Source: test-chart/templates/deployment.yaml\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: test-deployment\n  labels:\n    testing: test\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      testing: test\n  template:\n    metadata:\n      labels:\n        testing: test\n    spec:\n      containers:\n        - name: test\n          image: \"openservicemesh/test:1.0.0\"\n          imagePullPolicy: IfNotPresent\n          ports:\n            - name: http\n              containerPort: 80\n              protocol: TCP\n",
  "version": 1,
  "namespace": "osm-system"
}

This is extracted from one of the test cases. All the Deployments should be stored in there "manifest" field. We can take advantage of it.

@shashankram Although Helm can provide a list of installed manifest files after installation, I want to ask, how are we going to define what are components? Because not all k8s deployments or k8s services are considered components, thus we cannot simply list them all. We probably want to say, grafana is a component, osm-controller is a component. User's service is not a component.
So in this case, should we define a list of components (hard coded), and osm detects components according to this list? Or probably we can also determine the components using a specific annotation from Deployment manifest?

Hey @allenlsy , I think the original issue meant to list all the components that the OSM Helm chart installs when using the verbose flag.
All the components deployed can be found in https://github.com/openservicemesh/osm/tree/main/charts/osm/templates

@shashankram Clarification:

does this command just print a static output(except the user's mesh name and namespace), which is a list of the components osm will install? In this case, it will be:

> osm install -v

Mesh name: my-mesh
OSM Namespace: osm-system
Components installed:

* grafana
* jaeger
* primetheus

or, does this command print the components that currently installed in the mesh? This means user can opt out some components during the installation, or remove components after installation.

@shashankram Clarification:

does this command just print a static output(except the user's mesh name and namespace), which is a list of the components osm will install? In this case, it will be:

> osm install -v

Mesh name: my-mesh
OSM Namespace: osm-system
Components installed:

* grafana
* jaeger
* primetheus

or, does this command print the components that currently installed in the mesh? This means user can opt out some components during the installation, or remove components after installation.

Hey @allenlsy that's an interesting question. I see why this could be a bit ambiguous.
If it were up to me, I would implement osm install -v such that it does the following:

Starts the install process and prints verbose messages during install
List the components that were installed from running osm install
If an installation already exists, list the components that were previously installed for that particular instance of osm install (for the given mesh-name)

@michelleN did you have a different expectation for this CLI command?

Is this still up for grabs?

I'm currently working on it @uds5501

This has been implemented by @nshankar13: https://github.com/openservicemesh/osm/pull/3994


Introduce Auto Checking of URLs

[x] This GitHub Action will auto check URLs present in the repository to check whether they are working or not.
[x] This will also make sure that the PR's URLs are also checked before merging into main
[x] And is scheduled to check if the existing URLs are working as expected. The cron is scheduled at 23:23 UTC

I appreciate the PR, but I think this will be more annoying than helpful. Websites sometimes go down for a little bit. There are just too many potential false positives. Users can run this tool themselves and submit a PR if anything goes down.


Update duckdb-version to 1.0.0 from 0.9.2

-- Could NOT find Python3 (missing: Python3_EXECUTABLE Interpreter)

[  2%] Building CXX object src/optimizer/CMakeFiles/duckdb_optimizer.dir/ub_duckdb_optimizer.cpp.o
In file included from /jenkins/workspace/Port-Build/duckdb/duckdb/src/optimizer/ub_duckdb_optimizer.cpp:15:
In file included from /jenkins/workspace/Port-Build/duckdb/duckdb/src/optimizer/regex_range_filter.cpp:14:
In file included from /jenkins/workspace/Port-Build/duckdb/duckdb/src/include/duckdb/function/scalar/regexp.hpp:12:
/jenkins/workspace/Port-Build/duckdb/duckdb/third_party/re2/re2/re2.h:1002:8: error: thread-local storage is not supported for the current target
extern thread_local const RE2* context;
       ^
1 error generated.

``` etc.


Bug: White gap on right side of screen

White gap appears on horizontal scroll; causing problems with story timeline

From http://stackoverflow.com/questions/16704893/twitter-bootstrap-white-gap-on-right-side-of-page:
Generally this happens because you have a div breaking the boundaries of your set container width,could be a div or sections padding, margin, positioning.. you can use the inspector arrow or overflow:hidden on the container tag to see what section you might have breaking the width.


Updating to sensio/framework-extra-bundle: ~3.0

Related to https://github.com/bestnetwork/ChillDevFileManagerBundle/compare/sensio-3.0

What's about sensio/framework-extra-bundle: ~3.0?
I want to try this bundle, but I don't, because I've using 3.0 version of sensio/framework-extra-bundle.

@lexxpavlov You mean you wait for stable tag release, or you need something more?

When stable release will be done?
My ask is about what you wrote above - create separate branch with 3.0
support. But as you want, of course.

@lexxpavlov To be honest this project is unmaintained at the moment... But if using dev-develop is fine for you, it should be possible to use it.

I think that many developers use latest symfony for new projects, and use sensio/framework-extra-bundle 3.0. (And I am too.) And they can't use your bundle in this projects.
I use FMElfinderBundle, but it isn't support mobile platforms (smartphones and tablets) and has some minor inconveniences, and I began to search other bundles for file management. Unfortunately, there are two bundles only - FMElfinderBundle and ChillDevFileManagerBundle. And I can't try your bundle in my project.
Of course, I can adapt it to modern symfony2 myself or try to use @bigfoot90's fork, but it will take a time. If you add support modern symfony2 in dev-develop branch, many developers will say thank to you.

Like I said, it should work on dev-develop.
Like I said, it's unmaintained right now, not even tested on CI with new Symfony releases.
Not sure what mobile compatibility you expect, but in case of HTML interface, when it comes to ChillDevFileManagerBundle, it has just plain, simple HTML, there is no rich frontend.

I installed dev-develop version successfully! Thanks!
Good idea is to add info about it to documentation. I can update doc and create pull request for you.

Any help is welcome ;).

Coverage remained the same at 100.0% when pulling d8043f5adf4e22eebc3ff7e69ad74acedf2ecf11 on bestnetwork:sensio-3.0 into 58d48ddccb73a0d967f8a9c66af1e160fc9eb5c5 on chilloutdevelopment:develop.


Migrate the implementation of the reflect module

Purpose
Migrate the module to a separate repository.
Related Issues
https://github.com/ballerina-platform/ballerina-lang/issues/25097
Test environment
SLP2

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.21 out of 26 committers have signed the CLA.:white_check_mark: pubudu91:white_check_mark: chamil321:white_check_mark: MaryamZi:white_check_mark: SupunS:white_check_mark: Kishanthan:white_check_mark: warunalakshitha:white_check_mark: gimantha:white_check_mark: manuranga:white_check_mark: hevayo:white_check_mark: hemikak:white_check_mark: hasithaa:white_check_mark: riyafa:white_check_mark: wggihan:white_check_mark: grainier:white_check_mark: aashikam:white_check_mark: ldclakmal:white_check_mark: daneshk:white_check_mark: kalaiyarasiganeshalingam:white_check_mark: rdhananjaya:white_check_mark: rasika:white_check_mark: BuddhiWathsala:x: Manuri:x: Anoukh:x: lankavitharana:x: arukshani:x: vinok88You have signed the CLA already but the status is still pending? Let us recheck it.


Support JsonWebKeys with the Elliptic Curve key type

Refactored JsonWebKeySet.GetSigningKeys() method and added support for JWKs with 'kty' = 'EC'.
Refactored OpenIdConnect E2E tests (Fact -> Theory).
Added E2E OpenIdConnect tests where jwks metadata contains EC JWKs with P-256, P-384, and P-521 curves.
Added test where EC JWKs obtained from the metadata is not valid (unsupported curve).
Added test where a token is signed using a key which is not part of the metadata.

Would love to see this merged in, more and more services are generating ECD keys.

Closing this pull request in favor of #1143
Reason: Too many conflicts. We want this change in 5.5.0 and this PR is based on our dev branch.


Update dapr devcontainer to v0.1.3 with Codespaces support

Description
Implement the devcontainer changes in proposal #3229, which include:

Version the dapr-dev container image to v0.1.3
Streamlined footprint of go tools and protoc install in daprdev container image.
Add support for GitHub codespaces
Change devcontainer default to use docker-in-docker configuration
Remove direct bind-mount of host socket to /var/run/docker.sock in devcontainer which can cause ownership issues on Linux.

Disable binding to host network by default, but requires running devcontainer as --privileged.
Add BIND_LOCALHOST_DOCKER option for user to restore redirect of /var/run/docker.sock to host socket as non-default setting.

Fix SYNC_LOCALHOST_KUBECONFIG cloning of minikube credentials for kubeconfig into devcontainer

Issue reference
Resolves #3229
Resolves #2483
Checklist
Please make sure you've  completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[ ] Created/updated tests
[ ] Unit tests passing
[ ] End-to-end tests passing
[x] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#1520
[ ] Specification has been updated / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Provided sample for the feature / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

Could you split pr? Seems it fixs too many issues.

There's not much to split out:

The bulk of it is making the devcontainer work in Codespaces, which introduces most of the changes.

The two GitHub issues the PR resolves result from the same change to support Codespaces. The default Codespaces support for Docker is docker-in-docker, so the switch to support Codespaces resolves the request for docker-in-docker as well.

The problem is that the existing devcontainer definition provides additional functionality for dealing with docker and kubectl when using local vscode devcontainers that is incompatible with Codespaces. 38cb75b addresses the regressions in that functionality by adding the support back in a way that is compatible with the Codespaces config. I would prefer not to split them apart because it would mean the first PR introduces functional regressions that a second PR is necessary to fix.
991a933 could be split out because it's really fixing an uncaught bug in the existing Devcontainer-dev definition, but because it's been refactored out into an entirely separate script introduced by the Codespaces work, I've included it so my testing of the scenario succeeds rather than resulting in an "expected" existing failure.

Does that make sense?

@artursouza Can I get a review for this PR? @AaronCrawfis already merged the docs changes for this ahead of the code change and it would be nice if they were not out of sync with the code for a long time.
A maintainer also needs to set the DOCKER_REGISTRY secret in GitHub for the dapr-dev-container workflow to succeed, and to publish the 0.1.3 version of the devcontainer to the daprio registry. A similar PR for components-contrib is blocked on that being available.

Please, set it as a regular env variable value in the workflow yaml, unless it really contains a secret. The workflow already has ID and Password as secrets, so I don't foresee this being another secret.

@artur I pushed the change you suggested, but there's a tradeoff. It looks like DAPR_REGISTRY is defined as a GitHub repo secret not because it requires encryption, but because it's being used as a portable runtime environment variable for GitHub Actions as described in https://github.com/dapr/dapr/blob/master/docs/development/setup-ci.md. Hardcoding it means that contributors who want to rely on the workflows to test changes in their fork prior to submission need to edit the workflows instead of just configuring the appropriate values in their forks as documented (i.e. this change breaks the docs).

Please, set it as a regular env variable value in the workflow yaml, unless it really contains a secret. The workflow already has ID and Password as secrets, so I don't foresee this being another secret.

@artursouza I pushed the change you suggested, but there's a tradeoff. It looks like DAPR_REGISTRY is defined as a GitHub repo secret not because it requires encryption, but because it's being used as a portable runtime environment variable for GitHub Actions as described in https://github.com/dapr/dapr/blob/master/docs/development/setup-ci.md. Hardcoding it means that contributors who want to rely on the workflows to test changes in their fork prior to submission need to edit the workflows instead of just configuring the appropriate values in their forks as documented (i.e. this change breaks the docs).

OK, so the secret for DOCKER_REGISTRY: ${{ secrets.DOCKER_REGISTRY }} already exists. The problem is that it cannot be used in a pull request workflow. Can you change the workflow not to use DOCKER_REGISTRY in a PR?

OK, so the secret for DOCKER_REGISTRY: ${{ secrets.DOCKER_REGISTRY }} already exists. The problem is that it cannot be used in a pull request workflow. Can you change the workflow not to use DOCKER_REGISTRY in a PR?

Yes, I've updated the docker.mk and workflow to support that, thanks for the explanation!


Support for setting entry expiry at renewal

Hello, I'm interested in adding FusionCache into one of my libraries as a replacement for LazyCache. However it's missing a feature I use from the base Microsoft cache abstractions, namely the ability to set the cache expiry dynamically at the time of entry renewal via the ICacheEntry interface like so:
 await _cache.GetOrAddAsync("key", async e =>
            {
                var response = await _client.GetRemoteItemAsync();

                e.SetAbsoluteExpiration(response.Expiry);

                return response.Item;
            });

This is super useful if you don't know the expiry of the item upfront. Are there any plans to support something like this?

Sounds good to me! Thanks.

Hi @Hawxy ! I've finally find some time to put down in words a couple of proposals for this here #24 !
I would be really interesed in knowing what you think.
Thanks!

Sweet! I'll take a look when I get a moment.

Closing as now there's a full fledged issue (#24) to track this development.


bower sinonjs#~1.7.3: ENORESTARGET No tag found that was able to satisfy ~1.7.3

I am not able to solve this issue since the dependency is missing as owner removed all old dependency and kept only two recently [https://github.com/blittle/sinon.js](sinonjs dependency).
I have removed it completely then also picking the same thing. Also, I have posted this on stackoverflow yet no help.
[https://stackoverflow.com/questions/60428781/bower-dependency-picking-wrong-link](stackoverflow question link)
Please tell me why bower is picking something which is not in bower.json and already deleted I have also cleared cache

You can point to repositories directly like described on https://bower.io/docs/creating-packages/


Updated openssl to 1.0.1k

OpenSSL 1.0.1k was just released, but the j version wasn't properly moved to the old releases repo as of this writing, making omnibus builds break with
(...)
[NetFetcher: openssl] I | Downloading from `http://www.openssl.org/source/openssl-1.0.1j.tar.gz'
[NetFetcher: openssl] E | Download failed - OpenURI::HTTPError!
/opt/rubies/ruby-2.1.5/lib/ruby/2.1.0/open-uri.rb:353:in `open_http': 404 Not Found (OpenURI::HTTPError)
(...)

Thanks!