[FEATURE REQUEST] ImageSource should allow WebGLTexture as input

Have I written custom code (as opposed to using a stock example script provided in MediaPipe)
No
OS Platform and Distribution
MacOS 13.6.3
MediaPipe Tasks SDK version
0.10.9
Task name (e.g. Image classification, Gesture recognition etc.)
Image classification
Programming Language and version (e.g. C++, Python, Java)
Javascript
Describe the actual behavior
ImageSource does not support WebGLTexture as input
Describe the expected behaviour
ImageSource should support WebGLTexture as input
Standalone code/steps you may have used to try to get what you need
ImageSource
does not support WebGLTexture as input. It looks like I have to convert it first using something like this https://stackoverflow.com/a/18804083/8509272 to be able to use mediapipe with webgl textures. Or am I missing something?
In addition, the ObjectDetectorOptions interface: https://developers.google.com/mediapipe/api/solutions/js/tasks-vision.objectdetectoroptions
is said to extend VisionTaskOptions and ClassifierOptions, but both are undocumented.
Other info / Complete Logs
No response

Is there an alternative way to deal WebGLTexture as input that doesn't require conversion?

Your best bet is to convert the WebGLTexture to an ImageBitmap for now.

Any particular reason for creating an imageBitmap if I can use an imageData? Is it more efficient? Seems like to use an imageBitmap I have to use an imageData first, so it's an extra step.

I have something like this
GLctx.bindTexture(GLctx.TEXTURE_2D, GL.textures[texturePtr]);
GLctx.texImage2D(GLctx.TEXTURE_2D, 0, GLctx.RGBA, GLctx.RGBA, GLctx.UNSIGNED_BYTE, source);

How can I use the transferToImageBitmap at this point? Thanks a lot!

Once you draw the texture to a canvas you should be able to use the transferToImageBitmap() function.

So I have to create a dummy canvas first? With
var canvas = document.createElement('canvas');
canvas.width = width;
canvas.height = height;
var context = canvas.getContext('2d');

And then I do
// Copy the pixels to a 2D canvas
var imageData = context.createImageData(width, height);
imageData.data.set(data);
context.putImageData(imageData, 0, 0);

After the above, I transfer to image bitmap ? Essentially, it's these steps.
Create dummy canvas -> put on image data -> transfer to image bitmap.
Thanks a lot for your help.

A WebGLTexture effectively only works for a specific canvas.  That's why it's not accepted as an input yet-- we would need to instead be given a pair like (WebGLTexture, canvas-or-webgl2-context), and some extra work would be needed to make that function.
If you are starting with a WebGLTexture, then your best options are to first draw the WebGL texture into your canvas and then either:

Just give us the canvas as input
Call transferToImageBitmap on the canvas and give the ImageBitmap to us.

You can do this drawing to canvas by using using WebGL calls to run a simple copy/passthrough shader.  Don't try to draw WebGL textures to your canvas using ImageData.  I'm not sure that will work at all, but if it does it will bring things back to CPU and be slow.
Also, the stack overflow post linked to does a lot more work (in order to create an HTMLImageElement), so you do not need/want to do all that.

Thanks for the clarification tyrmullen . Yes, the idea is to use media pipe with something like PlayCanvas. If would be very helpful to have this example implemented in PlayCanvas. The idea would be to use mediapipe to work on the PlayCanvas textures, which resides in the PlayCanvas' canvas like you said. Check this example project that I created, it has the same 2 images of the mediapipe example. Unfortunately, my knowledge with shaders and whatnot is non-existent, so I don't know how to make this work...
I'll leave this feature request then...to make the mediapipe functions accept [WebGLTexture, canvas-or-webgl2-context] pairs as input...

Hey @kuaashish , is this feature hard to add, or is there any ETA? I'd love to see this sooner rather than later.

I have webgl render working by transferring image bitmap from the mediapipe offline canvas. I am doing the webgl mix on the offline canvas then printing back to the display canvas For Safari however it needs a different slower method until it supports this, it has to be a cpu draw.
const maskImage = this.tasksCanvas.transferToImageBitmap();

      this.canvasCtx.transferFromImageBitmap(maskImage);

      results.confidenceMasks.forEach((mask) => {
        mask.close();
      });

const maskImage = await createImageBitmap(this.tasksCanvas),
      canvasCtx = this.canvasCtx;

      canvasCtx.save()
      canvasCtx.fillStyle = 'black'
      canvasCtx.clearRect(0, 0, video.videoWidth, video.videoHeight)

      canvasCtx.drawImage(
          maskImage,
          0,
          0,
          video.videoWidth,
          video.videoHeight
      )

      canvasCtx.restore()
      results.confidenceMasks.forEach((mask) => {
        mask.close();

In the mix section I get the texture from the results to use as a mix mask
 gl.clearColor(1.0, 1.0, 1.0, 1.0);
        gl.useProgram(this.prog);
        gl.clear( gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT );
        gl.viewport(0, 0, video.videoWidth, video.videoHeight);

        const texture = results.confidenceMasks[0].getAsWebGLTexture();

        this.bindBuffers(gl, this.positionLocation, this.texCoordLocation);

        gl.activeTexture(gl.TEXTURE0);
        gl.bindTexture(gl.TEXTURE_2D, this.bgTexture);

        gl.activeTexture(gl.TEXTURE2);
        gl.bindTexture(gl.TEXTURE_2D, texture);
        gl.uniform1i(this.uniformLocations.mask, 2);

        gl.activeTexture(gl.TEXTURE1);
        gl.bindTexture(gl.TEXTURE_2D, this.videoTexture);
        gl.uniform1i(this.uniformLocations.frame, 1);

        gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE, video);
        gl.drawArrays(gl.TRIANGLE_FAN, 0, 4);

In the shader
outColor = mix(bgTex, vec4(frameColor, 1.0), maskVal);

I'm curious if it can support WebGPU and be updated to WebGPU so I can do the same in WebGPU it's super efficient.

@danrossi Sorry I didn't understand. You already start with a canvas and use transferToImageBitmap. Do you know how to draw a WebGLTexture to another Canvas like @tyrmullen mentioned? Thanks!

You send mediapipe an offscreen canvas. Then do the video and background mixing from that webgl context which is the same context mediapipe is using, example showed above, then transferbitmap of the offline canvas back to the display canvas. Safari cant do transferbitmap so needs a cpu draw. Its the lowest resource rendering option I could come up with with no dropped frames.
const tasksCanvas = this.tasksCanvas = new OffscreenCanvas(1, 1);
const wasm = await FilesetResolver.forVisionTasks(
                'https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@latest/wasm'
            );

            this.segmenter = await ImageSegmenter.createFromOptions(wasm, {
                baseOptions: {
                    modelAssetPath:
                        //"https://storage.googleapis.com/mediapipe-models/image_segmenter/deeplab_v3/float32/1/deeplab_v3.tflite",
                        'https://storage.googleapis.com/mediapipe-models/image_segmenter/selfie_segmenter_landscape/float16/latest/selfie_segmenter_landscape.tflite',
                    delegate: "GPU"
                },
                canvas: this.tasksCanvas,
                runningMode: "VIDEO",
                outputConfidenceMasks: true
            });
     ```

     On the same gl context as mediapipe you change the program to the mixing program, to do the mixing on the offscreen canvas
     ```
      gl.useProgram(this.prog);
      ```

You can see I've integrated this into PlayCanvas which also supports chromakey. I migrated it from my webrtc features. It was complicated to get it up live sadly. the module option isnt bundling correct so need to look into it.
For PlayCanvas you can set it up with modules but can load as a script asset. Which needs an external mediapipe bundle included on the page as I thought it would be better an external reference. As far as iffe bundles go with mediapipe, the cdn one documented is broken still complaining about missing export. You have make a bundle yourself from the npm import/export.
You cant share textures across webgl contexts. So all the rendering work is done in the offscreen canvas sent to mediapipe. Once a mask is returned its mixed in shaders on the offscreen context. And the display canvas gets the bitmap from the offscreen canvas. The display canvas is added to PlayCanvas as a texture like a video.
I  have made a feature request to be able to reuse the video texture for mixing after with the mask texture. The video texture would be created inside mediapipe on the offscreen canvas webgl context.
https://electroteque.org/plugins/playcanvas/virtual-background/
https://electroteque.org/plugins/playcanvas/virtual-background/demos/chromakey/
https://electroteque.org/plugins/playcanvas/virtual-background/demos/webcam/


Change deployment target to iOS 11

This reverts commit e18e37ca9b7b94b0af6a2a8ffeb510d2ab71a6f8.

Context/Background
Project changes to update deployment target to iOS 11

Description of the Change
I mistakenly committed this code into master, then reverted it. This is a revert of the revert (so the original commit), in case we chose to support an older iOS version

Steps To Test

Testing

Possible Drawbacks

@dharmesh-bhatt can you give me context on why this change.

Closing this


Options to customize inlay hints

The prefix seems to be hard coded to =>. I normally prefer no prefix, would it be possible to make this configurable?
Also, is there a way to disable inlay hints by default? I thought autoSetHints = false would do this but it still seems to be added on save

Of course its possible, I'll push this after testing it a bit more
As for the autoSetHints, thats a my bad, i'm checking for opts.autoSetHints not opts.tools.autoSetHints as shown in the docs

local opts = {
tools = {
inlay_hints = {
-- prefix for parameter hints
-- default: "<-"
parameter_hints_prefix = "<-",
        -- prefix for all the other hints (type, chaining)
        -- default: "=>"
        other_hints_prefix  = "=>",
    },
},

let me know if it works fine so i can close the issue

Forgot to reply! This is perfect. Thanks!


lsb_release not installed by default.

LSB Release is not present by default on minimal OS installs (for example cloud-images). Script fails with a "command not found" error.
Checking if lsb_release is present BEFORE doing the test
Change os_VERSION to grab the major OS version instead of the distro codename
When installing EPEL, use $os_VERSION to grab the correct rpm instead of using hardcoded '7' package that would fail on other versions.
os_Version can also be use to deprecate old version on which ceph-ansible is not supported.

Closing, repushing elsewhere #827


Change default merge target to develop

Apparently GitHub defaults the merge target to the default branch of the whole project, do you think we should make develop the default branch? I'll check to see if I can block any merge request directly to master and check if that corrects the issue.

Some people say that there is no good reason to have a develop branch and that tags should be used to define stable branches.
Instead of striving to have master stable

Good point but I'm unsure about users being redirected to an in-dev version of the program when they load the repository for the first time. I'll think of it

So what do you think about deleting the current master branch and renaming develop to master? I am fine with that.


Addresses deprecation in redis

Most of this is the deprecation of Future.apply. Unfortunately, the
alternative is more boilerplate.

note there are many scala warnings.. this is just the deprecation side of things

:+1:


[SPIKE] Remove slimmer

This PR is a spike in removing slimmer dependency and replace it with a header and a footer component from the library.
While the overall outcome looks good, it reveals the dependency a lot of existing components have on external styling and resets (presumably coming from govuk_template via slimmer), which means they're not entirely isolated.
This results in some components looking slightly different than how they look when used in an application which contains govuk_template, but this is how they look if someone tries to use them in a new project (e.g. content-publisher) and makes it easier to correct these style leakages.
Also helps having a styled component guide for the the projects that don't use govuk_template.

Component guide for this PR:
👉https://govuk-publishing-compon-pr-524.herokuapp.com/component-guide/

D'oh I was experimenting with the same sort of spike as you! but looks like we want to achieve the same things :tada:
I actually had a chat with @tijmenb about this yesterday and he thought we'd need to keep slimmer because of the effects of the reset stylesheet for apps that use it.
The approach I took was to allow disabling slimmer and then had a conditional in the layout to change the view
Hopefully we can have a chat to work out a good way forward.

Closing this as I've picked it up in https://github.com/alphagov/govuk_publishing_components/pull/558


Fix JSON media type example (3.0.4)

Re-submit of PR #3434
Fix contributed by Florian Loitsch, ported to 3.0.4.md file.

I re-ran the failed check using the environment from main (see #3554) and it passed.  This is safe to merge.

Closing as a subset of #3549


Helping out guidelines

Hi @abuwalton
Great to see a Maptime Cambridge being started.
Can you add some guidance on contributing and helping out with the group to the README, or the website? I'm based in Cambridge and would be keen to help if you needed it!
Will definitely be at the first meeting if I can make it.
Louise

Hi @lo-ise
I'm working with Abi to set up the first session for maptimeCAM. It's going to be an introduction to QGIS and I think that would be right up your street. Drop an email to<EMAIL_ADDRESS>if you want to help out with the session.
Looking forward to meeting you.
Billy


Handle Vulkan ClipSpace in GLSL rather than C++.

Recall that Vulkan has a right-handed NDC system. Currently, our Vulkan
backend is not handling VERTEX_DOMAIN_DEVICE correctly, but we didn't
notice because the culling mode is not honored yet (a separate PR is on
the way for that).
To fix this, we considered adding a shader-based fixup only for the
device domain and keeping our Vulkanish projection matrix as-is.
However, this would cause the skybox shader to compute an incorrect
wrong eye vector due to in the inconsistent definition of clip space.
After discussion with Mathias and Ben, we decided that the most elegant
fix is for Filament to have only one canonical clip space, which for
now is the clip space that OpenGL requires.
Ben pointed out that spirv-cross has a flag for injecting shader-based
fixups. However we don't invoke spirv-cross for the Vulkan target, and
it's easy just to do this on our own.

Note that no fix-up is required for post_process.vs.  It doesn't enable backface culling and computes texture coordinates in a simple way that "just works".


Qcom gps: retry setup

Only found one failure in the teardown in last 30d, and it successfully recovered in that instance. Initially failed with:
Traceback (most recent call last):
  File "/data/openpilot/system/sensord/rawgps/rawgpsd.py", line 89, in try_setup_logs
    setup_logs(diag, log_types)
  File "/data/openpilot/system/sensord/rawgps/modemdiag.py", line 71, in setup_logs
    opcode, payload = send_recv(diag, DIAG_LOG_CONFIG_F, pack('<3xI', LOG_CONFIG_RETRIEVE_ID_RANGES_OP))
  File "/data/openpilot/system/sensord/rawgps/modemdiag.py", line 65, in send_recv
    opcode, payload = diag.recv()
  File "/data/openpilot/system/sensord/rawgps/modemdiag.py", line 48, in recv
    unframed_message = self.hdlc_decapsulate(raw_payload)
  File "/data/openpilot/system/sensord/rawgps/modemdiag.py", line 35, in hdlc_decapsulate
    assert payload[-2:] == pack('<H', ModemDiag.ccitt_crc16(payload[:-2]))
AssertionError
--


Please change the logo. There will be trouble with Ancestry.

https://www.ancestry.de/

Why? It does not even look remotely similar?


Slight GOTCHA

Due to the fact that they're local collections, we cannot test update queries that use the {multi: true} option. Maybe add to the readme?

Whoops nevermind, something else was going on!


Allow nodes to be replaced with animals for easy recognition.

Take advantage of the things people are good at noting/remembering and have the nodes in the network be displayable as some memorable widget, so that as the user explores they can build up a mental picture more quickly.
Attempt to find a way to have the mapping of a paper onto an animal+color be repeatable - so that if they return to the website, the same mapping remains.

I'm returning to a new literature survey using this software and I really want this again. I need to be able to know which seed paper was which, at least. Perhaps I could even choose the color/animal for each paper that I want to be allowed to have one.
Thanks!


Poetry export plugin should be installed by Poetry action

We are getting these now

Writing lock file
Warning: poetry-plugin-export will not be installed by default in a future version of Poetry.
In order to avoid a breaking change and make your automation forward-compatible, please install poetry-plugin-export explicitly. See https://python-poetry.org/docs/plugins/#using-plugins for details on how to install a plugin.

At some point this will cause our dependency exports to fail - I suggest we add the plugin to the action by default, or allow providing a list of plugins with export and dynamic versioning plugins as defaults.

Already implemented in actions v0.0.24. If something will fail, just update the version :)


try with mem

don't review this yet.
jenkins: perf this.

Current coverage is 87.50% (diff: 100%)

Merging #2637 into master will decrease coverage by 0.01%

@@             master      #2637   diff @@
==========================================
  Files           241        241
  Lines         18201      18201
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits          15928      15926     -2
- Misses         2010       2012     +2
  Partials        263        263

Powered by Codecov. Last update d9715db...74a1a9a


feat(StorageInsights): Adding samples

Fixes https://github.com/GoogleCloudPlatform/php-docs-samples/issues/1899
Depends on https://github.com/GoogleCloudPlatform/php-docs-samples/pull/1987
Tests pass on prod:
➜  storageinsights git:(storage_insights) ✗ ../testing/vendor/bin/phpunit -c phpunit.xml.dist
PHPUnit 9.6.18 by Sebastian Bergmann and contributors.

Warning:       XDEBUG_MODE=coverage or xdebug.mode=coverage has to be set

.....                                                               5 / 5 (100%)

Time: 00:19.591, Memory: 10.00 MB

OK (5 tests, 7 assertions)
➜  storageinsights git:(storage_insights) ✗

I managed to create an insights report: projects/the-book-club-337319/locations/us-west1/reportConfigs/02f2961c-0e8d-4339-937c-f0bda263447c

@saranshdhingra  seems the warning is due to missing extension pdo_srv which is not used in this library. I will try to fix that in a separate PR.

@saranshdhingra  I raised a PR to fix the missing PHP extension warning:
https://github.com/googleapis/testing-infra-docker/pull/373


opt fix non-null selectivity computing

Introduced by pr: https://github.com/apache/doris/pull/40762
which doesn't update numNulls and other related column stats when they needs to be normalized.
This pr adds the updating trigger condition and makes the related case healthy.

run buildall

run buildall

run buildall

run buildall

run buildall


Increase Xcode version to enable CircleCI testing for Ruby 3.1

Checklist

[ ] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[ ] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[ ] I see several green ci/circleci builds in the "All checks have passed" section of my PR (connect CircleCI to GitHub if not)
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context
The CircleCI macOS container holding xcode 13.0.0 does not hold the 3.1 version of Ruby with chruby.*1 Therefore, Ruby 3.1 has not been tested and is currently being tested with 2.7.4 Ruby.
https://app.circleci.com/pipelines/github/fastlane/fastlane/4899/workflows/634dc941-b190-47dd-af23-e5689286d442/jobs/85785/parallel-runs/0/steps/0-106:
#!/bin/bash --login -eo pipefail
ruby -v
chruby: unknown Ruby: ruby-3.1  # here
ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x86_64-darwin20]
CircleCI received exit code 0

The solution was to specify the minimum Xcode version 13.3.1, which allows the Ruby 3.1 version to be selected in chruby, so that the test works correctly.

Using the macOS execution environment - CircleCI: https://circleci.com/docs/using-macos/

Xcode 13.0.0 (current): https://circle-macos-docs.s3.amazonaws.com/image-manifest/v6052/index.html

Installed Rubies 2.6.8, 2.7.4, 3.0.2 (available to chruby)

Xcode 13.3.1: https://circle-macos-docs.s3.amazonaws.com/image-manifest/v7555/index.html

Installed Rubies 2.6.9, 2.7.5, 3.0.3, 3.1.1 (available to chruby)

Description

Testing Steps

Share current status
Summary
It's going to take a while to get the test working properly.
Description
The combination of Ruby 3.1 and Robocop 1.12.1 causes a lot of Layout/BlockAlignment errors when running bundle exec rubocop -a. This is a known bug and has been released in Robocop 1.22.3 with the following commit.
https://github.com/rubocop/rubocop/commit/1c9abe95132efc43661507521636c75166ea86fa
After updating to Robocop 1.22.3, bundle install fails when testing Ruby 2.6 because the dependency pry-byebug-3.10.1 requires Ruby 2.7 or higher. : CircleCI log
As a temporary workaround, we have decided to leave the Robocop version unchanged and specify Layout/BlockAlignment as unabled.　　I haven't run the rspec yet, and will do so in the future.
I will submit a review request when I make progress.
Thanks.

👋 Thank you for working on this. I've done a RuboCop update before. We've got .rubocop_todo.yml to postpone making fixes for new rules (though it's not ideal). So I'd like to add my two cents on updating RuboCop.
First of all, please try updating RuboCop to the latest. I think it's possible🤔

After updating to Robocop 1.22.3, bundle install fails when testing Ruby 2.6 because the dependency pry-byebug-3.10.1 requires Ruby 2.7 or higher

Regarding this problem, I assume you ran bundle update without specifying gem names you want to update? If you bump the hardcoded RuboCop version and run the below command, you shouldn't see the update on pry-byebug as far as I tested on my end🤔
% bundle update rubocop rubocop-ast rubocop-performance
``

And then after updating the RuboCop, please check this page and generate a new `.rubocop_todo.yml` based on the updated version of RuboCop so that you don't need to disable `Layout/BlockAlignment` in `.rubocop.yml`.

https://docs.rubocop.org/rubocop/configuration.html#automatically-generated-configuration

You can use the below options. With `--exclude-limit 0`, you disable all of the rules that that codebase violates in `.rubocop_todo.yml`😇 Not very good, but this at least allows us to keep RuboCop up-to-date without huge effort.

$ bundle exec rubocop --auto-gen-config --exclude-limit 0

See also: https://github.com/fastlane/fastlane/pull/18564

Finally please don't forget to migrate `rubocop.yml` based on warning messages like the below🙏

> Warning: obsolete parameter `IgnoredMethods` (for `Style/MethodCallWithArgsParentheses`) found in .rubocop.yml
`IgnoredMethods` has been renamed to `AllowedMethods` and/or `AllowedPatterns`.

I hope we get Circle CI jobs right🙏

Thanks for telling us about the Rubocop migration😀, @ainame.

After updating to Robocop 1.22.3, bundle install fails when testing Ruby 2.6 because the dependency pry-byebug-3.10.1 requires Ruby 2.7 or higher : CircleCI log

I was able to solve this problem by the method you showed me and finally bumped to the latest version (1.37.1) of Robocop.
However, as a whole, bundle exec fastlane execute_tests causes an error, so I will deal with it 😇

以下でrspecの終了ステータスが1になるがエラーの詳細が分からない。（もう少しこのエラーと戦います）
https://github.com/fastlane/fastlane/blob/7de28ca20ebbee386728ea8eb35838a67375a9ca/fastlane/spec/plugins_specs/plugin_generator_spec.rb#L295

@tokizuoh I guess it failed because the generated plugin didn't pass RuboCop's checks due to your update.
This line in the template file for a new plugin refers to the RubCop version the fastlane uses. You need to fix the templates to make a plugin generated in RSpec pass RuboCop rules.
https://github.com/fastlane/fastlane/blob/7de28ca20ebbee386728ea8eb35838a67375a9ca/fastlane/lib/fastlane/plugins/template/%25gem_name%25.gemspec.erb#L32
FYI: This is how you create a plugin. You can try it out for testing.
https://docs.fastlane.tools/plugins/create-plugin/

@ainame Thanks for the good advice.
The RuboCop test for the generated plugin now passed. All that remains is to get the following runs via Rspec to pass in Ruby 3.1 and all will be green. I'll work on it some more 🏃♀

Spaceship::SpaceauthRunner.new.run
Spaceship::SpaceauthRunner.new(username: 'spaceship@krausefx.com').run

It seems that the following return value is false and does not pass rspec, but the cause is not yet known.
https://github.com/fastlane/fastlane/blob/3fa026dcf1fd8ced839fb8703dea2505df6f9106/spaceship/lib/spaceship/client.rb#L414

Sorry for leaving it for so long. It was difficult for me.
I left it in the issue because it will not be resolved as is.

https://github.com/fastlane/fastlane/issues/20927


File Upload won't work

Running osticket with a subdomain "support.mydomain.com"
Unfortunately upload won't work.
This is the log message from osticket-error.log
2018/02/05 06:13:21 [crit] 20#0: *13 open() "/var/lib/nginx/tmp/client_body/0000000001" failed (13: Permission denied), client: <IP_ADDRESS>, server: localhost, request: "POST /ajax.php/form/upload/41 HTTP/1.1", host: "support.mydomain.com", referrer: "https://support.mydomain.com/open.php"
Please tell me what I must provide in order to analyze the problem.
I assume the referrer is the problem?
Thank you very much

Solved it:
You need to add this to the nginx.conf
``vi nginx.conf
http {
# ...
client_body_temp_path /tmp 1 2;
# ...
}``
Can you please add this to the config?

The issue should now be fixed in the base image. It was the permissions on /var/tmp/nginx that were preventing the process from reaching /var/tmp/nginx/client_body.


code formatting support of some template languages

VSCode Version: 111
OS Version: OSX current

Hello,
are there any reliable way to use auto format code on templates such as handlebars or ejs ?
I see that there is in user settings an indent setting support for handlebars, but this is not accessible in handlebars mode, only in html mode. This is inconsistent.
Also if I try a template language like EJS (for which there is an extension), in ejs mode there is no auto format, and in html mode every <% is considered as opening html tag which produce catastrophic auto format code. And we have no intellisense for js code in ejs templates (html or ejs mode).
All in all, unless I miss something, I find it hard to work with templates in vscode and I suggest an improvement on this.

@aeschli fyi

bumbing this , formatting handlebars is totally broken as of now.

Just wanted to give my 2 cents on this.
Using this config: https://medium.com/@alonbukai/how-to-format-handlebars-in-vscode-26144e9feec8
I am able to correctly format handlebars.
One problem that I found though is that formatting for {{unless}} doesn't work as expected.
Example:

    {{#unless site.is_template}}
        {{t 'site-data-description'}}
        {{else}}
            {{t 'template-data-description'}}
    {{/unless}}

Expected formatting:

    {{#unless site.is_template}}
        {{t 'site-data-description'}}
    {{else}}
        {{t 'template-data-description'}}
    {{/unless}}

If you think I should open a separate issue please tell me.

Thanks a lot , that is much better , only a few edge cases are unless / span  /small

I found another problem.
In an {{each}} loop an {{else}} isn't formatted correctly:
Input:
{{#each list as |item|}}
  {{item}}
    {{else}}
  No Items
{{/each}}

Expected:
{{#each list as |item|}}
  {{item}}
{{else}}
  No Items
{{/each}}

Actual:
{{#each list as |item|}}
  {{item}}
  {{else}}
    No Items
{{/each}}


Export Tool type and let user create more tools

export Tool and make it async. then we can replace Langchainjs, loooool

got it！ Great idea！I hope I can get your pull request 😻

are you kidding me? I just added this to the index.ts:
export { Tool } from './tools/tool';

btw, I feel so blessed when I can replace the dumb ugly langchainjs.

 I'm highly interested in enabling AI to automatically call any API. I noticed that you have already made great progress with the createAIPlugin. Is it complete? Having something similar to https://python.langchain.com/docs/modules/chains/additional/openapi_openai would make this project unbeatable.

@wizd   I implemented this feature a long time ago!😆
https://github.com/JohannLai/openai-function-calling-tools/blob/main/tools/aiplugin.test.ts

This is very interesting, I've debugged this open api feature before but it's not ideal. Need your help ！
But I implemented a feature like this later, which is similar! I could even use the open ai ChatGPT plugin!
https://github.com/JohannLai/openai-function-calling-tools/blob/main/tools/aiplugin.test.ts

Take a look at the message above when you have time.

Apologies, my mistake. I didn't think such a short code could handle such a heavy workload. I'll try to intergrate some 3rd party API to my work later.

Where is your project repo url? Let us study it. @wizd

I am currently working on a project that involves creating numerous Apps using the 0613 model and this repository. Unfortunately, it has not been published yet.
Have you had a chance to review the TypeChat project? I believe the combination of TypeChat with this repo would be interesting. You can find more information about it here.

Do you have any social media accounts that can be used to contact? would like to have some communication with you regarding the development of this project.
@wizd

Do you have any social media accounts that can be used to contact? would like to have some communication with you regarding the development of this project.
@wizd

sure! feel free to contact me wechat id wizardm


Uncaught Frame 2 has a different width

When adding width and height property to  then I can't download the video, it returns "uncaught Frame 2 has a different width"

If you change the size of the canvas at some point (by code, by opening DevTools and the canvas has 100% width, etc) the frames will have different dimensions and Whammy.js won't be able to encode the video.
Or may be you've pushed the first frame before actually resizing the canvas, and then the second pushed frame has the correct size, but it's already wrong from Whammy's perspective. Could this be the situation?

Actually, I changed the width using percentage value. Literally I don't do anything with the windows, but I think you're right, the canvas change slightly without being detected by my bare eyes.
The solution was setting a fixed width and height value. Thanks for the fast response. This tool is great!


change to return null once 13606 is fixed

false

https://github.com/project-chip/connectedhomeip/blob/0c94a8093a1ff601fc3301aef586fabb5ffc2d70/src/app/clusters/application-launcher-server/application-launcher-server.cpp#L126-L131

This issue was generated by todo-issue based on a TODO comment in 0c94a8093a1ff601fc3301aef586fabb5ffc2d70. It's been assigned to @chrisdecenzo because they committed the code.

Linking to referenced #13606

Passing EP as uint16_t, and properly applying nullable fields within a cluster looks like something that needs to be fixed for v1.
Removing tag v1_triage_split_4.


Is there a way to use this library on class with static methods?

I successfully use this library in my apps, but now I ran into this error:

Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
permissions.dispatcher.processor.exception.WrongClassException: Class 'PhoneUtils' can't be annotated with '@RuntimePermissions'

Obviously, in a static method I can't access 'this'.. I also tried to pass the Context in other ways but the error still remains and I can't compile

@HelLViS69 could you help me on this issue? https://github.com/hotchemi/PermissionsDispatcher/issues/183 i cant implementing that, and dont ask permission with me

@tux-world You have to call ActivityContactLists.syncByServerWithCheck() instead of syncByServer()

https://github.com/hotchemi/PermissionsDispatcher#1-attach-annotations
@RuntimePermissions Register an Activity or Fragment to handle permissions
Other that than, this library give you compile error.

So, it's quite impossible to use it in an utils/helper class..

@HelLViS69 Why do you need to annotate util class? I can't find appropriate reason to do that.

Hi @hotchemi , simply because I have a static method to execute a phone call and other stuff I use in various parts of the app, so it's more comfortable to have those methods in a dedicated util class instead of rely them in an activity. In this way I can call those methods from all the activities

@HelLViS69 I think you should handle permissions stuff on Activity/Fragment even if you declare these methods in util class. Because Android Framework just provides requestPermission method on Activity and Fragment. And we don't plan to make it being possible to annotate on Util class.
Anyway thx for your question!


Karma tracking.

I'd like to start an open discussion about a feature I've wanted to implement (the original idea was a standalone bot); karma tracking.
The purpose is to keep track of all those +1/+5 karma points that we "give" whenever someone says something smart, funny, etc. The purpose of that purpose is having fun and not building a well thought out system that cares about correctness or covering every single use case.
Here's what I thought of so far:

The bot can detect when karma is being given (regardless of how it's being detected: it could be message parsing looking for a specific pattern, it could be emoticon).

It will save that info in a format like: oday +5 ali on datetime. It could be anything really.

An optional parameter can be supplied; message_id. I believe it's important to know why someone got 100 karma. It could be a hilarious pun or an existential statement.

Example scenario:

Oday: Ali is a great guy

Ali: +5 oday

bosta added +5 to oday's karma. I could give bosta more info: @bosta add .

The bot can be queried to know the karma-o-meter for any user.
Let's kickstart the discussion with:

Do we care about this feature at all? I personally want to have it to keep track of karma points that I always give (yeah, it's important. Why? fun thing to do.) I believe some mena-devs would love to have this feature as well (judging by yesterday's response).

List of features (first release and beyond).

I'm all for this feature and you can start implementing it right away. The only thing I want to discuss are the details of the implementation:

Where will the data be stored, currently Bosta doesn't store information beyond basic strings in a plain text file.
Should this be shallowly or heavily integrated with tilde? i.e. How easy is it to create the API for this on tilde and have Bosta use it instead of Bosta having it's own database.

I think if we can have the scenario you mentioned up and running the soonest possible, we'll start adding features as we see necessary.

yeah, plain text file won't cut it unless we're extremely limited and cannot have a simple database setup: What we can do if we're extremely limited is to have a text file per user (user.txt) that has all the karma logs for that user. It's a massive headache (especially if there are concurrent read/writes). I think bosta is currently hosted on a 512mb droplet, I'll see what we can do (basically nagging @omaraboumrad).
For what concerns API integration: it can always be built when it's needed. tilde (or any other service) will be able to integrate.
I'll be working on ProperSpecs™ the following week, everyone is welcome to join.

I'm not recommending plain text and in my opinion, I don't think that Bosta should even have it's own database. I think tilde should act as central and Bosta simply integrates tilde's APIs. However, since tidle doesn't have this functionality yet, and so that we don't waste time waiting, what's the alternative? A Redis instance on the droplet?

if Redis is already setup we can use it and write to disc every x time. If not, we can have a database  (since either Redis or some dbms system) installed on the server as a temporary solution until tilde is ready for this functionality then we can easily migrate our data.

Redis isn't setup, so we gotta do that.. You got access to Bosta's instance?

I don't have access, no. Let's not install anything at this point, I believe there is a discussion to be made about persisting data in general for bosta which might affect this plugin.
There isn't a need at this stage to persist anything, I'll be busy doing the parsing and echoing who's giving karma to whom and the likes.

cool feature!
regarding the database how about you use a simple database system temporarily (e.g sqlite => https://www.npmjs.com/package/sqlite3)
and once tilde table(s) are ready it will be really easy to just move the table(s) data there, and from my side I can help implementing the tilde part

thanks @HassanKanj I completely forgot about SQLite.

adding a persistence layer such as a database or redis seems an overkill for such a feature.
The rudimentary storage we use is node-persist which should be enough. We can use a namespaced key:
bosta.karma.users.<uid>: 5
bosta.karma.users.<uid>: 100

I see what you mean Omar, but it all depends on the details of the implemented features, if it is simply get/set karma value then node-persist sounds like a reasonable solution, but IMO I think SQLite can provide the best of both worlds:
1- it is literally just 1 file
2- it provides the advantage of using SQL queries
3- we can migrate fast to tilde (export SQL => import SQL => Done!)
but the main reason is the features that can be easily added when using SQL e.g with a single query we can:

get user with top karma of the month
get top 5 users
all kind of fun reports that can be easily executed in one statement using SQL, and that can provide some interesting insights
etc..

If we consider the original purpose of this plugin by @phr34ck

The purpose is to keep track of all those +1/+5 karma points that we "give" whenever someone says something smart, funny, etc. The purpose of that purpose is having fun and not building a well thought out system that cares about correctness or covering every single use case.

Karma is a simple idea that doesn't have any real value, I don't believe there's any insight that merits considering reports. The data that available is so minuscule that it can be loaded fully into memory and computation can be done with very little effort.
While i don't particularly mind adding a persistence layer beyond what we currently have, we can at least start with what's available and later on improve if needed.

Regarding the technology, we can totally start somewhere for sure.
About the insights and the real value part, of course I don't mean by that an actual concrete and directly relevant value such as the one we deduce from doing surveys..
For example, I am very interested in human behavior and social groups dynamics, and karma points can be an indirect and important index to provide insights about that, especially when observing trends.. so we can experiment with the following:

checking whose karma is suddenly trending lately (an indicator that s/he is becoming more socially active in the group) and vice versa
checking whose karma suddenly dropped (and is it related to someone's else karma going up?)..
trying to see if we can deduce friendships between members based on karma sender/receiver,..
and many other stuff..

And we can add commands such as (bosta deduceFriends user and see how accurate this can be, etc..)
Would that be relevant in real life? not necessarily! but for me personally.. these are some cool/fun features to build..
And I know @phr34ck is actually trying to build a simple system just to set karma points, and many programmers may not necessarily be interested in the above details, but still the system can be extendable in the future with all kind of functionalities..

although I haven't decided what will be persisted exactly, I can tell you it's not going to be a simple integer attached to a user.
The idea of karma is a simple as it gets but I want to keep track of multiple things that makes it more interesting (to me at least):

When the karma was given: karma logs per user
Karma is per-user however there is an important information that should be there as well: the optional message that gave that user x karma.
total karma: could be either a single integer field that's incremented or it's calculated on demand (based on the logs).

thinking about loud: I was thinking yesterday that maybe we can add 3 extra emoticons: 0.5, 1, 2, 5 that users can respond to messages with instead of writing: +1. /thinking out loud
I haven't read about node-persist so everything that follows might be dead wrong.
I don't believe adding a persistent layer of any kind is going to increase complexity in any way (except adding an extra step when installing on a new dev machine). It will be there for whoever is building a plugin that requires persistence and plugins that don't need it won't have to use it. Everything will be same as it is now, the added layer will only give us the potential of leveraging it.
Instead of writing/appending to a textfile/nodepersist you write to sql (or whatever). The data is simple and the operation is simple and the load is well within the single machine that we have. It will require no extra cost, no extra maintenance time (no more than what we currently allocated).


Replication in specific Flow Nodes?

Prime example: Play Level Sequence node.

Projects should manage replication on their own. Especially that I provided a method to hide built-in plugin nodes from the Flow Palette. It's nice easy now to use your own Play Level Sequence node without confusing users.


Cleanup k8s jobs from test namespaces

What this PR does / why we need it:
Some tests create one-off jobs not directly with pods, but by really
starting a k8s jobs. Delete them in our cleanup paths.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

NONE

/cc @phoracek
This will clean the "killer" jobs which we have seen staying on the cluster.


Reduce malloc() and free() call when call dnode_peer_for_key_on_rack()

Overall it looks good. thanks a lot.


Geogebra source tarball is only available for a few weeks after release

Issue description
The Geogebra download server only serves the 5 most recent version of Geogebra. This means that after a few weeks nix will be unable to build Geogebra as the source tarball will not be available..
Possible solution
Is it possible for nix to host a copy of the Geogebra tarball?

My understanding is that packages that are part of a release will have their sources mirrored at tarballs.nixos.org (if permitted by their license).

Hmm, geogebra is partially non-free. I guess this is causing the problem. The license allows redistribution for non-commercial purposes which should not be a problem for nixpkgs. Is there any way to force tarballs.nixos.org to mirror the tarball?

However the restriction is on "The GeoGebra installers, web services and various copyright materials, graphics and resources . . ." I'm not sure what counts as an "installer."

I see now that the geogebra package is explicitly excluded from Hydra builds. The geogebra license is marked as unfree, which I expect would exclude it from the Hydra jobset anyway. I'm afraid this means the package won't be covered by the automatic tarball mirroring mechanism.
You could ask somebody with access to the S3 infrastructure to do a manual upload to the mirror, though I'm unsure if that's really a good use of their (very limited) time.
More realistically, you can 1) advocate for changes that would alllow the package to be included in the automatic mirroring set; 2) petition upstream to provide long-term urls; 3) be vigilant about updating the version in Nixpkgs.
I'm sure this isn't the answer you're looking for. When upstream refuses to host older versions and also decide to make mirroring difficult users suffer.


Strange reshaping in TimeDistributed

I am trying to implement sequence-to-sequence transduction using both characters of the sequence and feature vector standing for entire sequence. I want to append that vector to all the elements of the sequence. My strategy is:

create a Lambda layer with concatenate function where the second argument is fixed:
first = kl.Input(shape=(10, 5))
second = kl.Input(shape=(None,))
inputs = [first, second]
join_func = kl.Lambda(concat, arguments={'y': second}, output_shape=(6,))
use this Lambda layer inside TimeDistributed:
joint = kl.TimeDistributed(join_func)(first)
I do not want to apply RepeatVector since my sequences could be of different length and I want to use bucketing, not pad all the sequences to the same length.

However, even a toy example does not work.
The code is below:
import numpy as np
import keras.backend as kb
import keras.layers as kl
import keras.models as km
def concat(x, y):
return kb.concatenate([x, y])
if name == "main":
X1 = np.random.randint(0, 10, size=(200, 10, 5))
X2 = np.random.randint(2, 12, size=(200, 1))
y = (np.max(X1, axis=2) > X2).astype(int)
first = kl.Input(shape=(10, 5))
second = kl.Input(shape=(None,))
inputs = [first, second]
join_func = kl.Lambda(concat, arguments={'y': second}, output_shape=(6,))
joint = kl.TimeDistributed(join_func)(first)
hidden = kl.GRU(5, return_sequences=True)(joint)
outputs = kl.TimeDistributed(kl.Dense(1, activation="sigmoid"))(hidden)
outputs = kl.Flatten()(outputs)
model = km.Model(inputs, outputs)
model.compile(optimizer="sgd", loss="binary_crossentropy", metrics=["accuracy"])
print(model.summary())
model.fit([X1, X2], y, validation_split=0.2, epochs=50, verbose=1)
The runtime error is:
Traceback (most recent call last):
File "C:\Miniconda3\lib\site-packages\theano\compile\function_module.py", line 884, in call
self.fn() if output_subset is None else
File "pygpu\gpuarray.pyx", line 1501, in pygpu.gpuarray.pygpu_concatenate
File "pygpu\gpuarray.pyx", line 427, in pygpu.gpuarray.array_concatenate
ValueError: b'Dimension mismatch. as[1]->dimensions[0] = 32, as[0]->dimensions[0] = 320'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Programming/test/test_theano/test_concatenate.py", line 27, in
model.fit([X1, X2], y, validation_split=0.2, epochs=50, verbose=1)
File "C:\Miniconda3\lib\site-packages\keras\engine\training.py", line 1430, in fit
initial_epoch=initial_epoch)
File "C:\Miniconda3\lib\site-packages\keras\engine\training.py", line 1079, in _fit_loop
outs = f(ins_batch)
File "C:\Miniconda3\lib\site-packages\keras\backend\theano_backend.py", line 1197, in call
return self.function(*inputs)
File "C:\Miniconda3\lib\site-packages\theano\compile\function_module.py", line 898, in call
storage_map=getattr(self.fn, 'storage_map', None))
File "C:\Miniconda3\lib\site-packages\theano\gof\link.py", line 325, in raise_with_op
reraise(exc_type, exc_value, exc_trace)
File "C:\Miniconda3\lib\site-packages\six.py", line 685, in reraise
raise value.with_traceback(tb)
File "C:\Miniconda3\lib\site-packages\theano\compile\function_module.py", line 884, in call
self.fn() if output_subset is None else
File "pygpu\gpuarray.pyx", line 1501, in pygpu.gpuarray.pygpu_concatenate
File "pygpu\gpuarray.pyx", line 427, in pygpu.gpuarray.array_concatenate
ValueError: b'Dimension mismatch. as[1]->dimensions[0] = 32, as[0]->dimensions[0] = 320'
Apply node that caused the error: GpuJoin(TensorConstant{1}, GpuReshape{2}.0, GpuFromHost.0)
Toposort index: 58
Inputs types: [TensorType(int8, scalar), GpuArrayType(float32, (False, False)), GpuArrayType(float32, (False, False))]
Inputs shapes: [(), (320, 5), (32, 1)]
Inputs strides: [(), (20, 4), (4, 4)]
Inputs values: [array(1, dtype=int8), 'not shown', 'not shown']
Outputs clients: [[GpuReshape{2}(GpuJoin.0, TensorConstant{[-1  6]})]]
It seems that TimeDistributed reshapes a 3D tensor to 2D (320 is the multiple of sequence length and batch size), however, I cannot figure out for what reason it happens. Is it a bug or a feature and how to achieve the desired behaviour?

It is possible to do what I want by defining
def repeat_(x, k):
    return kb.repeat_elements(x[:,None,:], k, 1)

and replacing
join_func = kl.Lambda(concat, arguments={'y': second}, output_shape=(6,))
joint = kl.TimeDistributed(join_func)(first)

by
second_rep = kl.Lambda(repeat_, arguments={"k": first.shape[1]}, output_shape=(None, 1))(second)
joint = kl.Concatenate()([first, second_rep])


solc: 0.5.4 -> 0.5.5

Motivation for this change
CHANGELOG.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Closing, there's a bug.


add tests #171

Closes #171

Codecov Report

Merging #172 (06329b8) into main (224213d) will increase coverage by 3.21%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #172      +/-   ##
==========================================
+ Coverage   64.05%   67.26%   +3.21%
==========================================
  Files          49       49
  Lines        1619     1619
==========================================
+ Hits         1037     1089      +52
+ Misses        550      494      -56
- Partials       32       36       +4

Impacted Files
Coverage Δ

oauth1.go
87.95% <100.00%> (+62.65%)
:arrow_up:

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 224213d...06329b8. Read the comment docs.


Unable to pass data from one pipeline to another

Hello,
I am planning to separate a VAS pipeline into two or more parts with different server ports. I would like to have each pipeline handle different process stages instead of having one single process. I used the VAS image to create 2 separate docker containers with its custom pipelines. So in order to pass the data from one pipeline to another, I decided to use gstreamer elements, tcpclientsink for sending data and tcpserversrc for receiving data.
  }
}

I tried sending a POST request to Server A to see if the pipeline will work and transfer data over to Server B. But, I am met with this error:
{"levelname": "INFO", "asctime": "2021-03-12 08:06:19,926", "message": "Setting Pipeline 1 State to RUNNING", "module": "gstreamer_pipeline"}
{"levelname": "ERROR", "asctime": "2021-03-12 08:06:19,928", "message": "Error on Pipeline 1: gst-resource-error-quark: Error while sending data to \"localhost:80802\". (10): ../gst/tcp/gsttcpclientsink.c(218): gst_tcp_client_sink_render (): /GstPipeline:pipeline2/GstTCPClientSink:tcpclientsink1:\nOnly 234192 of 345600 bytes written: Error sending data: Connection reset by peer", "module": "gstreamer_pipeline"}

How can I resolve this? Thanks.

This is a very interesting use cases - but one we haven't had time to try.
Have you tried starting the listener first? I believe that is the order.
another option could be to make the first pipline a tcpserversink, something like:
gst-launch-1.0 filesrc location=/home/video-analytics-serving/samples/20200711_cat.mp4 ! decodebin name=decode decode. ! queue  ! tcpserversink host=<IP_ADDRESS> port=8000 sync=true

And then start the second one -
Either way - I suggest prototyping first with gst-launch, confirm the order (which side to start first), and then enable in va serving.
Do you have a basic example based on gst-launch?

@nnshah1 Regarding the first attempt at transferring data, both the server and listener were both running.  Here are methods I have tried out so far for transferring data from one pipeline to another with specified host and port.

Same port/ from tcpserversink => tcpclientsrc

Error from Server A logs:
{"levelname": "ERROR", "asctime": "2021-03-14 09:59:20,820", "message": "Error on Pipeline 1: gst-resource-error-quark: Could not open resource for reading. (5): ../gst/tcp/gsttcpserversink.c(404): gst_tcp_server_sink_init_send (): /GstPipeline:pipeline2/GstTCPServerSink:tcpserversink1:\nFailed to bind on host 'localhost:8080': Error binding to address: Cannot assign requested address", "module": "gstreamer_pipeline"}

Same port/ from tcpclientsink => tcpserversrc

Error from Server A logs:
{"levelname": "INFO", "asctime": "2021-03-14 10:50:47,401", "message": "Creating Instance of Pipeline object-preprocess/1", "module": "pipeline_manager"}
{"levelname": "INFO", "asctime": "2021-03-14 10:50:49,307", "message": "Setting Pipeline 1 State to RUNNING", "module": "gstreamer_pipeline"}
{"levelname": "ERROR", "asctime": "2021-03-14 10:50:49,312", "message": "Error on Pipeline 1: gst-resource-error-quark: Error while sending data to \"localhost:8080\". (10): ../gst/tcp/gsttcpclientsink.c(218): gst_tcp_client_sink_render (): /GstPipeline:pipeline2/GstTCPClientSink:tcpclientsink1:\nOnly 234192 of 345600 bytes written: Error sending data: Connection reset by peer", "module": "gstreamer_pipeline"}

Different ports(8080 to 8081)/ from tcpclientsink => tcpserversrc

Error from Server A logs:
{"levelname": "INFO", "asctime": "2021-03-14 11:16:07,772", "message": "Creating Instance of Pipeline object-inference/1", "module": "pipeline_manager"}
{"levelname": "ERROR", "asctime": "2021-03-14 11:16:07,780", "message": "Error on Pipeline 1: gst-resource-error-quark: Could not open resource for reading. (5): ../gst/tcp/gsttcpserversrc.c(488): gst_tcp_server_src_start (): /GstPipeline:pipeline2/GstTCPServerSrc:tcpserversrc1:\nFailed to bind on host 'localhost:8080': Error binding to address: Cannot assign requested address", "module": "gstreamer_pipeline"}

Different ports(8080 to 8081)/ from tcpserversink => tcpclientsrc

Error from Server A logs:
{"levelname": "INFO", "asctime": "2021-03-14 11:24:26,413", "message": "Creating Instance of Pipeline object-preprocess/1", "module": "pipeline_manager"}
{"levelname": "ERROR", "asctime": "2021-03-14 11:24:26,416", "message": "Error on Pipeline 1: gst-resource-error-quark: Could not open resource for reading. (5): ../gst/tcp/gsttcpserversink.c(404): gst_tcp_server_sink_init_send (): /GstPipeline:pipeline2/GstTCPServerSink:tcpserversink1:\nFailed to bind on host 'localhost:8081': Error binding to address: Cannot assign requested address", "module": "gstreamer_pipeline"}

Doesn't seem like any of methods or orders work. However, as I was looking up solutions on how to split up a pipeline, I came across this repo, where it talks about different methods for splitting and sharing up pipelines. It seems that to implement these methods, you have modify the python script to split and connect the pipelines. Is there a way to implement them within a pipeline template?

@amajai  One quick note: I believe you are trying to use 8080 - and that port is already used for the VA Serving rest interface.
Can you try 8081 (both server sink and client)?
To see how to capture the output of one pipeline and inject into another (in the same process) you can look at:
https://github.com/intel/video-analytics-serving/blob/master/samples/app_source_destination/app_source_destination.py
I still believe the best approach from a performance point of view would be to use native gstreamer interprocess channels - (shm / ipc ) - but in a pinch you can always create your own server / client pair by extending the app_source_destination sample

@nnshah1 Yes, I have both the elements connected to the same port from tcpserversink to tcpclientsrc. I finally managed to get pipeline running for Server A with no error. However, once the pipeline process ends, the data doesn't carry over to Server B. There wasn't any change within the Server B logs. Its like the data got lost after the tcpserversink process. Still haven't found a solution to resolve it or even a reason why it happens.
I might go with the option of following the link you provided, but it will take me some to understand how to utilize the process. Would much rather go with the template pipeline.
Do you know any good resource you could share on learning the native gstreamer interprocess channels?
Thanks.

Hello @nnshah1. Was wondering if its possible to use the elements appsink for sending data and appsrc for receiving data within the VAS pipelines. I have tried out using them by adding the docker container names of both VAS servers to the name parameter for the elements as a way to refer each other.  So I wanted to confirm if the issue was from the name parameters or not using the appsink and appsrc elements correctly.

@amajai Sorry for the delay - we've been busy putting together the 0.5 release. Let me take a chance to look at this with fresh eyes and try to give some guidance next week. Please let me know any impending deadlines / milestones you are working with. Also if you can share the larger vision for distributed pipelines - that may help.


Add MySQL tls-reloader to refresh TLS config on SVID updates

Validated the tls-reload functionality on the GKE cluster mysql deployment-
2023/10/25 20:10:04 Successfully written SVID/Bundle to disk
2023/10/25 20:10:04 Successfully reloaded MySQL TLS config

Should we consolidate all the code in this repo to cmd/?

I can take care of it in the next PR


[My Registrations][ENG-2542] [ENG-2584] [ENG-1686] Show project's draft reg tab for all and update draft reg card

Ticket: ENG-2542 ENG-2584 ENG-1686
Feature flag: n/a

Purpose

Show the Draft registrations tab for all contributors on the project
Update the Draft Registration Card component to show/hide the Edit, Remove, and Review buttons depending on the user's permissions on that draft
Update the Draft Registration Card to show the provider the draft is going to be submitted to

Summary of Changes
Project Draft Registrations tab

Check if the current user has at least read-permissions to view the drafts tab
Only show the option to add a create a new draft to admin-contributors

Draft Registration Card

Add a new line indicating the provider that the draft is being submitted to
Only show Remove button to admin contributors
Show Edit button to admins and read-write contributors
Show Review button to all contributors
Rearrange buttons so they are in a more predictable location
Use DeleteButton component for removing draft and update how icons are handled in this component
Update tests

Screenshots
Project Draft Registrations tab

Read-only or Read-write; No drafts

Admin; No drafts

Draft Registration Card

Side Effects

I don't think there will be any side-effects with this PR, but it is possible that a user that is an admin on the project is only a read-write, or read-only contributor for a draft (projects and drafts can have different contributors with different permissions)

QA Notes

Please verify that the language and permissions all make sense. As mentioned in the Side Effects, permissions between project and draft registrations can now deviate, so please keep that in mind when testing.

There's a failing test

In Yuhuai's PR for the node card the field labels are bolded. We should probably do the same thing for both those cards and these cards. I lean towards bolding the fields, because I think it looks better, but whichever way we want to go, the important thing is to make it consistent.

In Yuhuai's PR for the node card the field labels are bolded. We should probably do the same thing for both those cards and these cards. I lean towards bolding the fields, because I think it looks better, but whichever way we want to go, the important thing is to make it consistent. I made a comment on the Node card PR that we should also match the button styling. Basically, the styling between these cards should probably be a bit closer to each other for consistency. Should we check with Ash and Mark to see which they prefer for what and consolidate?

I'll match the field labels to match the other PR, I think that one looks better too. As for the button styling, I will defer to Mark and Ash


Food Restoring Health

Not a DnD 5e mechanic.

That ended up being an entire new mod, but here you go
https://github.com/ZerdBG3/DnDontStarve


Remove version: Icedrive.Desktop version 3.11

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://cdn.icedrive.net/static/apps/win/IcedriveSetup-v3.11.exe
Response Error: The remote server returned an error: (404) Not Found.
(Automated message - build 923)

Hi @Exorcism0666,
This manifest has the highest version number for this package. Is it available from another location? (This might be in error if the version is switching from semantic to string, or string to semantic.)
(Automated response - build 897.)


update dependency

hi,
can you please update your package.json to remove gulp-utils ?
gulp-utils is deprecated.
i can see that it is used to log. here is an alternative to the plugin: https://github.com/js-cli/fancy-log
here's some usefuls links:
https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5
we're using gulp-slang in our project and i want to remove all warnings that i have in the log.
thank you

i can see that there's already a pull request to fix this. so please proceed for a merge
https://github.com/OlsonDigital/gulp-slang/pull/12


Cannot parse selector error with dynamic state selector

When using a JS variable for a hover, active, focus selector the parser fails and throw the error Cannot parse selector.
Environment
System:

OS: macOS 10.14.3
CPU: (8) x64 Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz
Memory: 237.40 MB / 16.00 GB
Shell: 3.2.57 - /bin/bash

Binaries:

Node: 11.4.0 - /usr/local/bin/node
Yarn: 1.12.3 - /usr/local/bin/yarn
npm: 6.7.0 - /usr/local/bin/npm

npmPackages:

styled-components: ^4.1.3 => 4.1.3
stylelint: ^9.10.1 => 9.10.1
stylelint-config-recommended: ^2.1.0 => 2.1.0
stylelint-config-styled-components: ^0.1.1 => 0.1.1
stylelint-processor-styled-components: ^1.5.2 => 1.5.2

.stylelintrc:
{
    "processors": [
      "stylelint-processor-styled-components"
    ],
    "extends": [
      "stylelint-config-recommended",
      "stylelint-config-styled-components"
    ]
  }

Reproduction
With the following code
import {css} from 'styled-components';

const stateStyle = state => css`
  :${state} div,
    color: ${props => getStateColor(state)};
  }
`;

stylelint throws Cannot parse selector.
Expected Behavior
The code should be parsed properly.

The processor can not always parse interpolations with right things. But you can use interpolation-tagging to help it. If you have ideas to make it more intelligent, feel free to send a PR or share your solution by an new issue.
import {css} from 'styled-components';

// ps. I fixed your sample `div, ` to `div {`
const stateStyle = state => css`
  :${state /* sc-custom 'hover' */} div {
    color: ${props => getStateColor(state)};
  }
`;


Update meeting-policies-participants-and-guests.md

https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/issues/8520
Added info

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@CarolynRowe PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


Total crash of archlinux system

I run an updated archlinux system with pandoc-cli <IP_ADDRESS>-26 installed
After having chosen an docx file and export to  markdown the progress indicator shows. Then it goes on until all memory is consumed and the system is going down. Even thou I started obsidian in cli I see no errors. After having terminated obsidian with ctl+c the system still crash. so it seam to be pandoc that take it down. Maybe the problem is that it can't handle converting to markdown from docx with the settings your plugin provide. But it would be sweet if it could.
Also to be able to choose export to copy or export and remove original would be sweet.

please install latest pandoc.

I did install it and tried. The result is the same. It hangs and crash my system.
:) pandoc -v
pandoc 3.1.11
Features: +server +lua
Scripting engine: Lua 5.4
Should it be able to convert .docx files to markdown in your plugin?

No, it only supports converting from markdown.

O that's why it don't work. It would be very good to be able to convert to .md from .pdf, .html, .rtf, .odt and .docx.
Many people in our association use and share google and work in docx. Others edit on libreoffice and I like to use obsidian and markdown. And like to export also to grav(flat file cms).  I would love to be able to import to .md trough pandocs that have the capability. I then could edit and export as it is necessary. Would this be be hard for you to implement? I can alfa test for you if you do :)

I guess this don't help at all, but I found it a bit interesting. It could be cool with a obsidian plugin that converted different files that Were dropped in to a folder to obsidian markdown notes. https://nextpertise.net/posts/230509_word2obsidian/

Also i had to manually install texlive-latex and texlive-fontsrecommended to get pandoc to make pdf.
I find the pdfs to have a bit large marginals.


How to run Weave Scope on Kubernetes (behind a corporate proxy)?

This is a continuation of https://github.com/weaveworks/weave/issues/2804 as a new issue however.
I follow the instructions on https://www.weave.works/docs/scope/latest/installing/#k8s
and do:
kubectl apply -f 'https://cloud.weave.works/launch/k8s/weavescope.yaml?k8s-service-type=NodePort'
The daemonset and container are installed.
I open the webbrowser and navigate to the scope page; it shows the basic items bu no data.
When I look in the log of one of the agents I see:
2017-02-15T13:12:12.177498099Z time="2017-02-15T13:12:12Z" level=info msg="publishing to: <IP_ADDRESS>:80"
2017-02-15T13:12:12.177714107Z <probe> INFO: 2017/02/15 13:12:12.177674 command line args: --logtostderr=true --mode=probe --no-app=true --probe.docker=true --probe.docker.bridge=docker0 --probe.kubernetes=true <IP_ADDRESS>:80
2017-02-15T13:12:12.177803038Z <probe> INFO: 2017/02/15 13:12:12.177773 probe starting, version 1.2.0, ID 7c511ac3b53023ca
2017-02-15T13:12:12.199456237Z <probe> INFO: 2017/02/15 13:12:12.199353 kubernetes: targeting api server https://<IP_ADDRESS>:443
2017-02-15T13:12:12.209850912Z <probe> ERRO: 2017/02/15 13:12:12.209780 Error fetching app details: Get http://<IP_ADDRESS>:80/api: dial tcp <IP_ADDRESS>:80: getsockopt: connection refused
2017-02-15T13:12:12.247439185Z <probe> ERRO: 2017/02/15 13:12:12.247308 conntrack stderr:NOTICE: Netlink socket buffer size has been set to 425984 bytes.
2017-02-15T13:12:12.257853856Z <probe> ERRO: 2017/02/15 13:12:12.257743 conntrack stderr:NOTICE: Netlink socket buffer size has been set to 425984 bytes.
2017-02-15T13:12:12.355343405Z <probe> WARN: 2017/02/15 13:12:12.355267 Cannot resolve 'scope.weave.local.': dial tcp <IP_ADDRESS>:53: getsockopt: connection refused
2017-02-15T13:12:12.355510221Z <probe> INFO: 2017/02/15 13:12:12.355482 Success collecting weave plugin status
2017-02-15T13:12:12.355625095Z <probe> INFO: 2017/02/15 13:12:12.355590 Success collecting weave proxy status
2017-02-15T13:12:12.371019479Z <probe> INFO: 2017/02/15 13:12:12.370936 Success collecting weave status
2017-02-15T13:12:12.843703967Z <probe> INFO: 2017/02/15 13:12:12.843620 Success collecting weave ps
2017-02-15T13:12:13.212639686Z <probe> INFO: 2017/02/15 13:12:13.212323 Control connection to <IP_ADDRESS> starting
2017-02-15T13:12:15.399595651Z <probe> INFO: 2017/02/15 13:12:15.399478 Publish loop for <IP_ADDRESS> starting
2017-02-15T13:12:42.285432501Z <probe> ERRO: 2017/02/15 13:12:42.285229 Error checking version: Get https://checkpoint-api.weave.works/v1/check/scope-probe?arch=amd64&flag_kubernetes_enabled=true&os=linux&signature=FlfgmzYXPJv7Gu9f1zDk1HlfM5s4UoN6KkQblH1z0AQ%3D&version=1.2.0: dial tcp <IP_ADDRESS>:443: getsockopt: connection refused
2017-02-15T13:13:12.386132103Z <probe> ERRO: 2017/02/15 13:13:12.362332 Error checking version: Get https://checkpoint-api.weave.works/v1/check/scope-probe?arch=amd64&flag_kubernetes_enabled=true&os=linux&signature=FlfgmzYXPJv7Gu9f1zDk1HlfM5s4UoN6KkQblH1z0AQ%3D&version=1.2.0: dial tcp <IP_ADDRESS>:443: getsockopt: connection refused

In this environment the hosts are running behind corporate proxy. Do I need to specify HTTP_PROXY / HTTPS_PROXY per container in the scope yaml file ?
The script has $(WEAVE_SCOPE_APP_SERVICE_HOST):$(WEAVE_SCOPE_APP_SERVICE_PORT) in it.
Do these need to be set, and to what?

:+1:

The simplest way to avoid proxying/firewall issues and problems connecting to the app is to use Weave Cloud. When using Weave Cloud you only need to run the agents (probes), we run the app for you. See https://www.weave.works/docs/scope/latest/installing/#k8s
Now, if you specifically need to use the standalone version of Scope (i.e. running the app too), you need to make sure that the probes can talk to the apps.
The following line suggests that's not the case:
2017-02-15T13:12:12.209850912Z <probe> ERRO: 2017/02/15 13:12:12.209780 Error fetching app details: Get http://<IP_ADDRESS>:80/api: dial tcp <IP_ADDRESS>:80: getsockopt: connection refused

Can you get us the output of:
kubectl describe deployment weave-scope-app
kubectl describe svc weave-scope-app
kubectl describe ds weave-scope-agent

Can you please paste the logs of the app?
Are there any firewalling rules which could prevent the probes from talking to the app?
Another possibility is that the service was recreated (changing its IP) without restarting the agents afterwards.  $(WEAVE_SCOPE_APP_SERVICE_HOST):$(WEAVE_SCOPE_APP_SERVICE_PORT) is initialized when the probes start. So, if the service IP changes, the probes won't be able to catch the change.
Can you try to re-create the agents? The following should do the trick:
kubectl delete -f 'https://cloud.weave.works/launch/k8s/weavescope.yaml?k8s-service-type=NodePort'
kubectl apply -f 'https://cloud.weave.works/launch/k8s/weavescope.yaml?k8s-service-type=NodePort'

In this environment the hosts are running behind corporate proxy. Do I need to specify HTTP_PROXY / HTTPS_PROXY per container in the scope yaml file ?

I don't think you do. What seems to be failing is the communication between the Scope probes and apps and they are both running inside the cluster.

The script has $(WEAVE_SCOPE_APP_SERVICE_HOST):$(WEAVE_SCOPE_APP_SERVICE_PORT) in it. Do these need to be set, and to what?

They are set by automatically by Kubernetes, see https://kubernetes.io/docs/user-guide/services/#environment-variables

Sorry for the delay getting back (am (still) on travel).

I would double check that the app is accessible from your hosts. To confirm, you should be able to successfully the following two commands ...
curl  http://<IP_ADDRESS>/api
curl  http://<IP_ADDRESS>:4040/api

.... from each of your kubernetes nodes (i.e. directly from the host, executing a shell in the machine).
In case IPs change for whatever reason, note that  <IP_ADDRESS> is the Scope App service IP and that <IP_ADDRESS>: is the Scope App pod IP, taken from your listings above.

Hi @2opremio,
I have the same problem as @bergtwvd  but with a different output.
Below I link my outputted info.
The output of
kubectl describe deployment weave-scope-app
Namespace:		default
CreationTimestamp:	Wed, 22 Feb 2017 15:00:18 +0100
Labels:			app=weave-scope
			name=weave-scope-app
			weave-cloud-component=scope
			weave-scope-component=app
Selector:		app=weave-scope,name=weave-scope-app,weave-cloud-component=scope,weave-scope-component=app
Replicas:		1 updated | 1 total | 1 available | 0 unavailable
StrategyType:		RollingUpdate
MinReadySeconds:	0
RollingUpdateStrategy:	1 max unavailable, 1 max surge
Conditions:
  Type		Status	Reason
  ----		------	------
  Available 	True	MinimumReplicasAvailable
OldReplicaSets:	<none>
NewReplicaSet:	weave-scope-app-1469506144 (1/1 replicas created)
Events:
  FirstSeen	LastSeen	Count	From				SubObjectPath	Type		Reason			Message
  ---------	--------	-----	----				-------------	--------	------			-------
  4m		4m		1	{deployment-controller }			Normal		ScalingReplicaSet	Scaled up replica set weave-scope-app-1469506144 to 1

kubectl describe svc weave-scope-app
Name:			weave-scope-app
Namespace:		default
Labels:			app=weave-scope
			name=weave-scope-app
			weave-cloud-component=scope
			weave-scope-component=app
Selector:		app=weave-scope,name=weave-scope-app,weave-cloud-component=scope,weave-scope-component=app
Type:			NodePort
IP:			<IP_ADDRESS>
Port:			app	80/TCP
NodePort:		app	30477/TCP
Endpoints:		<IP_ADDRESS>:4040
Session Affinity:	None
No events.

kubectl describe ds weave-scope-agent
ctor:	app=weave-scope,name=weave-scope-agent,weave-cloud-component=scope,weave-scope-component=agent
Node-Selector:	<none>
Labels:		app=weave-scope
		name=weave-scope-agent
		weave-cloud-component=scope
		weave-scope-component=agent
Desired Number of Nodes Scheduled: 3
Current Number of Nodes Scheduled: 3
Number of Nodes Misscheduled: 0
Pods Status:	3 Running / 0 Waiting / 0 Succeeded / 0 Failed
Events:
  FirstSeen	LastSeen	Count	From		SubObjectPath	Type		Reason			Message
  ---------	--------	-----	----		-------------	--------	------			-------
  9m		9m		1	{daemon-set }			Normal		SuccessfulCreate	Created pod: weave-scope-agent-ddcmc
  9m		9m		1	{daemon-set }			Normal		SuccessfulCreate	Created pod: weave-scope-agent-dsb3t
  9m		9m		1	{daemon-set }			Normal		SuccessfulCreate	Created pod: weave-scope-agent-9cd3k

And my error message
2017-02-22T15:00:22.616221000Z time="2017-02-22T15:00:22Z" level=info msg="publishing to: <IP_ADDRESS>:80"
2017-02-22T15:00:22.617188000Z <probe> INFO: 2017/02/22 15:00:22.615961 command line args: --logtostderr=true --mode=probe --no-app=true --probe.docker=true --probe.docker.bridge=docker0 --probe.kubernetes=true <IP_ADDRESS>:80
2017-02-22T15:00:22.617383000Z <probe> INFO: 2017/02/22 15:00:22.616041 probe starting, version 1.2.1, ID 2efff3e553557328
2017-02-22T15:00:22.642025000Z <probe> INFO: 2017/02/22 15:00:22.641236 kubernetes: targeting api server https://<IP_ADDRESS>:443
2017-02-22T15:00:22.716307000Z <probe> INFO: 2017/02/22 15:00:22.714145 plugins: added plugin /var/run/scope/plugins/iowait/iowait.sock
2017-02-22T15:00:22.716622000Z <probe> INFO: 2017/02/22 15:00:22.714190 plugins: added plugin /var/run/scope/plugins/traffic-control/traffic-control.sock
2017-02-22T15:00:22.726106000Z <probe> WARN: 2017/02/22 15:00:22.725007 Cannot resolve 'scope.weave.local.': dial tcp <IP_ADDRESS>:53: getsockopt: connection refused
2017-02-22T15:00:22.738062000Z <probe> INFO: 2017/02/22 15:00:22.736752 Success collecting weave plugin status
2017-02-22T15:00:22.741101000Z <probe> INFO: 2017/02/22 15:00:22.737844 Success collecting weave proxy status
2017-02-22T15:00:22.743347000Z <probe> INFO: 2017/02/22 15:00:22.741824 Success collecting weave status
2017-02-22T15:00:23.041021000Z <probe> ERRO: 2017/02/22 15:00:23.040400 conntrack stderr:NOTICE: Netlink socket buffer size has been set to 425984 bytes.
2017-02-22T15:00:23.041486000Z <probe> ERRO: 2017/02/22 15:00:23.040903 conntrack stderr:NOTICE: Netlink socket buffer size has been set to 425984 bytes.
2017-02-22T15:00:23.626617000Z <probe> INFO: 2017/02/22 15:00:23.626138 Control connection to <IP_ADDRESS> starting
2017-02-22T15:00:24.336748000Z <probe> INFO: 2017/02/22 15:00:24.335534 Publish loop for <IP_ADDRESS> starting
2017-02-22T15:00:24.338558000Z <probe> INFO: 2017/02/22 15:00:24.338135 Success collecting weave ps
2017-02-22T15:00:37.720188000Z <probe> ERRO: 2017/02/22 15:00:37.719471 Error checking version: Get https://checkpoint-api.weave.works/v1/check/scope-probe?arch=amd64&flag_kernel-version=3.10.0-514.6.1.el7.x86_64&flag_kubernetes_enabled=true&flag_os=linux&os=linux&signature=gP4IpFj%2FdzTK8l4II80DOciK865AT%2FHgKVBYSbKQ0D4%3D&version=1.2.1: dial tcp <IP_ADDRESS>:443: i/o timeout

I have the same problem as @bergtwvd but with a different output.

What problem would that be? Is your UI unexpectedly empty?

And my error message

That's totally fine and harmless when running behind a firewall without direct internet access

What problem would that be? Is your UI unexpectedly empty?
Yes, it is!

And I would like to know if is there any way to fix that?

Are you sure there is something to see in the UI?
Can you please check that the app pod has IP <IP_ADDRESS>?

Can you please check that the app pod has IP <IP_ADDRESS>?

Yes, the app pod has the IP <IP_ADDRESS>.
The UI is trying continuously to reconnect but with no success.

The UI is trying continuously to reconnect but with no success.

Ah! This must be the culprit then. How are you connecting to the UI? Note that the UI uses Websockets to connect to the App, so whatever mechanism you use, it should support websockets.
Getting a screenshot of the client connections (Chrome networking tab on the inspector or similar) would be helpful.
@bergtwvd Are you also seeing reconnection problems in the UI?

@2opremio Thank you!

Note that the UI uses Websockets to connect to the App

As you said the problem was in websockets due to the proxy.
After adding some IPs  to the network $no_proxy configuration it worked for me.

@apetrovYa Did you realize about the reconnection problem from the beginning? Would https://github.com/weaveworks/scope/issues/2219 have helped?

@2opremio, Sorry for a late reply!

Did you realize about the connection problem from the beginning?

Nop, because the same connectivity issue revealed itself in my local environment on my laptop!
So, my focus was on troubles at agents connectivity level due to error logs in attachment above.
For clarity I link them below
1)
2017-02-22T15:00:22.726106000Z <probe> WARN: 2017/02/22 15:00:22.725007 Cannot resolve 'scope.weave.local.': dial tcp <IP_ADDRESS>:53: getsockopt: connection refused

2)
2017-02-22T15:00:37.720188000Z <probe> ERRO: 2017/02/22 15:00:37.719471 Error checking version: Get https://checkpoint-api.weave.works/v1/check/scope-probe?arch=amd64&flag_kernel-version=3.10.0-514.6.1.el7.x86_64&flag_kubernetes_enabled=true&flag_os=linux&os=linux&signature=gP4IpFj%2FdzTK8l4II80DOciK865AT%2FHgKVBYSbKQ0D4%3D&version=1.2.1: dial tcp <IP_ADDRESS>:443: i/o timeout

Would #2219 have helped?

What about #2219,  maybe it could have helped but I am not sure!
Maybe a better formalization off the UI states can bring to a more effective troubleshooting.

Maybe a better formalization of the UI states can bring to a more effective troubleshooting.

That's what #2219 is about :)

I believe #2219 covers what is left to do here. -> closing.


How to get printable debug information out of Debug(In|Out)boundEventsHandler?

Expected behavior
I'd like to print/log plain text conversations between client and server. Using the Debug(In|Out)boundEventsHandler, I'm only getting "NIOAny { ... }", which I don't understand how to convert to plain text.
After making this change the following change to the handler I'm able to print the conversation. However this cannot be done in the callback, as it doesn't have access to self.unwrapOutboundIn.
    public func write(context: ChannelHandlerContext, data: NIOAny, promise: EventLoopPromise<Void>?) {
+       let any = self.unwrapOutboundIn(data)
+       let io = any as! IOData
+       if case let IOData.byteBuffer(buffer) = io {
+           print(String(buffer: buffer))
+       }
        logger(.write(data: data), context)
        context.write(data, promise: promise)
    }

Actual behavior

Writing NIOAny { ByteBuffer { readerIndex: 0, writerIndex: 195, readableBytes: 195, capacity: 256, storageCapacity: 256, slice: _ByteBufferSlice { 0..<256 }, storage: 0x0000000102149370 (256 bytes) } } in handler1

SwiftNIO-Extras version
        .package(url: "https://github.com/apple/swift-nio.git", from: "2.25.1"),
        .package(url: "https://github.com/apple/swift-nio-extras.git", from: "1.7.0"),

Swift & OS version

Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1<IP_ADDRESS>)
Target: x86_64-apple-darwin20.2.0
Darwin MacBook-Pro.localdomain 20.2.0 Darwin Kernel Version 20.2.0: Wed Dec  2 20:39:59 PST 2020; root:xnu-7195.60.75~1/RELEASE_X86_64 x86_64

Unfortunately the debug event handlers aren't that helpful in this instance. NIOAny is an opaque type which isn't meant to -- and indeed can't -- be unwrapped manually with public API as it stands. The enum case for the read(data: NIOAny) event in the callback for these handlers should have been read(data: Any) which would have allowed you to cast the Any to the appropriate type (see also: https://github.com/apple/swift-nio-extras/pull/81).
Your best bet here is creating your own ChannelHandler which unwraps, logs, and then forward events.


changed classnames module with clsx

This PR changes classnames dependecy to clsx - smaller and newer alternative
https://github.com/lukeed/clsx

Thanks for the suggestion.
Personally, I'd leave this open and merge whenever we either launch v6 (probably a few months down the road), or make some other bigger changes which would make sense to include this one.
It probably wouldn't be that big of a deal overall, but it just feels weird to randomly switch out an entire package on a minor version just to save on 100-some bytes of bundlesize.

Might I suggest also changing the object style classes with the boolean comparison ones for a sligh performance boost clsx bench
E.g. change
clsx('react-tooltip-arrow',
coreStyles['arrow'],
styles['arrow'],
classNameArrow,
{ [coreStyles['noArrow']]: noArrow, }
)

To this:
clsx('react-tooltip-arrow',
coreStyles['arrow'],
styles['arrow'],
classNameArrow,
noArrow && coreStyles['noArrow'])

Hi guys,
We will start the development of V6 in our available time, so I created a new branch and I changed the target of this PR from master to V6.
Can you guys please fix the conflicts?
This should be merged soon.
Thanks!


TS-4248: allow metrics to change type on upgrade

New software versions can alter the type of metrics, but when that
happens, the metric from the previous software version has already
been restored from persistence. In this case, we can allow the type
of the metric to change to match the new registration.

+1

Merged a628dd4157338ade211e040b7bdf0e0b6dc73d6c.


Foxhound from Quark mod

The foxhound from quark mod gets wounded whe it dies, but the bandage won't work on it.

What version of forge are you using?

Forge is 39.0.10

I loaded forge 39.0.10, Save Your Pets <IP_ADDRESS>, Quark 3.0-334 and AutoRegLib 1.7-52
and created a new world. It seems to work for me. Maybe you have another mod that is interfering with this action. Does it work for a regular wolf?

Probably another mod then. It works fine on a regular wolf. Also, when I log back to my world, the foxhound is back to live. So maybe just another mod causing this to happen.

Hmm, strange the wolf works, I'll take another look at it.


Push panic to organizational repository

Gogs version (or commit ref): <IP_ADDRESS>8 193cc3ba9a831e677ee45d8c1e5c4fd6f29236a3
Git version: 2.9.3
Operating system: Fedora 25
Database (use [x]):

[ ] PostgreSQL
[x] MySQL
[ ] SQLite

Can you reproduce the bug at https://try.gogs.io:

[x] Yes (provide example URL): https://try.gogs.io/TestRBukovansky/TestREPO
[ ] No
[ ] Not relevant

Log gist (usually found in log/gogs.log):

Description
When I commit new changes to local repo and then push them to my personal repo on Gogs, it's OK, but when I try to push them to org repo I get this error:
remote: panic: runtime error: invalid memory address or nil pointer dereference
remote: [signal SIGSEGV: segmentation violation code=0x1 addr=0x50 pc=0x5bc5e8]
remote:
remote: goroutine 1 [running]:
remote: panic(0xd3e540, 0xc4200100a0)
remote: 	/home/git/local/go/src/runtime/panic.go:500 +0x1a1
remote: github.com/gogits/gogs/models.prepareHookTasks(0x1393400, 0xc420117900, 0xc4201bfa00, 0xe123be, 0x4, 0x1383b00, 0xc420228700, 0xc42019d2c0, 0x3, 0x5, ...)
remote: 	/home/git/go/src/github.com/gogits/gogs/models/webhook.go:492 +0x998
remote: github.com/gogits/gogs/models.prepareWebhooks(0x1393400, 0xc420117900, 0xc4201bfa00, 0xe123be, 0x4, 0x1383b00, 0xc420228700, 0xcf8301, 0xc420228700)
remote: 	/home/git/go/src/github.com/gogits/gogs/models/webhook.go:564 +0x26c
remote: github.com/gogits/gogs/models.PrepareWebhooks(0xc4201bfa00, 0xe123be, 0x4, 0x1383b00, 0xc420228700, 0x1, 0x82)
remote: 	/home/git/go/src/github.com/gogits/gogs/models/webhook.go:569 +0x6f
remote: github.com/gogits/gogs/models.CommitRepoAction(0xc420016034, 0xb, 0x3, 0xc4201fcde8, 0x8, 0xc420288d20, 0x11, 0xc420082f90, 0x28, 0xc420082fc0, ...)
remote: 	/home/git/go/src/github.com/gogits/gogs/models/action.go:557 +0x76c
remote: github.com/gogits/gogs/models.PushUpdate(0xc420082f90, 0x28, 0xc420082fc0, 0x28, 0xc420288d20, 0x11, 0x1, 0xc420016034, 0xb, 0xc420016015, ...)
remote: 	/home/git/go/src/github.com/gogits/gogs/models/update.go:134 +0x6b7
remote: github.com/gogits/gogs/cmd.runHookPostReceive(0xc42000e780, 0x0, 0xc42000e780)
remote: 	/home/git/go/src/github.com/gogits/gogs/cmd/hook.go:204 +0x4fd
remote: github.com/gogits/gogs/vendor/github.com/urfave/cli.HandleAction(0xd13260, 0xeb5f48, 0xc42000e780, 0xc420013100, 0x0)
remote: 	/home/git/go/src/github.com/gogits/gogs/vendor/github.com/urfave/cli/app.go:483 +0xb9
remote: github.com/gogits/gogs/vendor/github.com/urfave/cli.Command.Run(0xe1f57e, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe3751b, 0x1e, 0x0, ...)
remote: 	/home/git/go/src/github.com/gogits/gogs/vendor/github.com/urfave/cli/command.go:193 +0xb96
remote: github.com/gogits/gogs/vendor/github.com/urfave/cli.(*App).RunAsSubcommand(0xc4200b9ba0, 0xc42000e500, 0x0, 0x0)
remote: 	/home/git/go/src/github.com/gogits/gogs/vendor/github.com/urfave/cli/app.go:374 +0xb1a
remote: github.com/gogits/gogs/vendor/github.com/urfave/cli.Command.startApp(0xe1219e, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe441d3, 0x2c, 0x0, ...)
remote: 	/home/git/go/src/github.com/gogits/gogs/vendor/github.com/urfave/cli/command.go:280 +0x82c
remote: github.com/gogits/gogs/vendor/github.com/urfave/cli.Command.Run(0xe1219e, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe441d3, 0x2c, 0x0, ...)
remote: 	/home/git/go/src/github.com/gogits/gogs/vendor/github.com/urfave/cli/command.go:79 +0x16a5
remote: github.com/gogits/gogs/vendor/github.com/urfave/cli.(*App).Run(0xc4200b9a00, 0xc42000c200, 0x4, 0x4, 0x0, 0x0)
remote: 	/home/git/go/src/github.com/gogits/gogs/vendor/github.com/urfave/cli/app.go:250 +0x812
remote: main.main()
remote: 	/home/git/go/src/github.com/gogits/gogs/gogs.go:41 +0x3b5

If I try to edit a file online (as example the readme file), I get a white screen after saving the change as commit.
This does only happen in orgs.
I think it could be the same bug.
Tested on try.gogs.io with Firefox on windows and Safari on iPhone.

I can't reproduce locally... what is special about this repository?

OK, this is not a problem in master, or 0.10.1 release binary. But only happens in develop. So you just want to upgrade to 0.10.1/master, it is fine.

Well, I have always run develop version and it was always fine... Just not now...

@rbukovansky the code is merged from another unstable branch, like few hours ago.

It is now fixed in develop branch.

Yup, problem seems to be solved. Thanks for quick response!


⚠ Bofrost.com has degraded performance

In 8f2403b, Bofrost.com (https://www.bofrost.com) experienced degraded performance:

HTTP code: 200
Response time: 578 ms

Resolved: Bofrost.com performance has improved in ec7a8e3 after 28 minutes.


Todo/Priority Items

Read this before contributing:
docs/TODO.md

Link is broken.

we are moving all the todo lists to GitHub projects, it will all be there soon


Android support load sound from other directories

Android support load sound from other directories.

I didn't find a good solution to load android raw resource.Do you have any good idea?

I've merged PR #24 to add the same feature. Thank you for the contribution!


Add list of batch correction methods from all related profiling modalities

Let's use this issue to collect a list of batch correction methods from both, image-based profiling, as well as related profiling modalities.

Weinberger E, & Lee S-I. (2021). Transferable representations of single-cell transcriptomic data (p. 2<IP_ADDRESS>9707). doi: 10.1101/2<IP_ADDRESS>9707. https://twitter.com/efweinberger/status/1383094623241838593.


Symbol's value as variable is void: after-init-time at installation

When I was running make install I got Symbol's value as variable is void: after-init-time. Any ideas?

after-init-time is a C variable defined in Emacs. The only possibilities I can think of are a) you have the wrong (and/or old version of) emacs in your PATH or b) your build of Emacs is broken.

Yeah, sorry for asking again, but in OSX how could I point emacs to the newly installed emacs. I installed it with what I downloaded from GNU. But it seems that the terminal always point it to /usr/bin/emacs, even if I set alias, make install still fails.

@andyafter The best way to install emacs on osx is to use emacs-plus from https://github.com/d12frosted/homebrew-emacs-plus. Make sure you remove all previous emacs first. brew will set it up in the right path. You just need to link it to /Applications folder to see it as an application.

You can point to a specific Emacs binary when using bin/doom using the EMACS envvar:
EMACS=/usr/local/bin/emacs doom install

But you need a more permanent solution. I'd suggest installing Emacs through homebrew, as it sets everything up correctly.
That, or add the emacs executable of your currently installed Emacs to your PATH.


[WFCORE-6999] Upgrade commons-lang3 from 3.15.0 to 3.17.0

Jira issue: https://issues.redhat.com/browse/WFCORE-6999
Note: WildFly Core drives the commons-lang3 version used in WildFly Full.
The uses of this library are in Artemis, Elytron tool, and the WS stack (CXF and Apache Velocity used by CXF).

@fjuma @ehsavoie @jimma , this looks green, could you review and approve from your side? thanks!

@yersan  This looks good to me.

@fjuma @ehsavoie @jimma , thanks for reviewing this.


Saved Search

It would be great to add to the left hand side a listing of saved searches +"Steve" = "issues for Steve"

See #378


Fix controller collection collect in prefab mode

Fix controller collection component to skip added but not saved components without file id.

Create branch from main
issue-82-fix-controller-collection-collect-in-prefab-mode


Issue with timestamp over USB CLI stream

There appears to be an issue where buffer values can be received improperly over the USB CLI. This happens very periodically (every 60ms at 1KHz sample freq), and does not appear to depend on the data ready freq.
165613195
165614195
165613015
Invalid timestamp freq -847.457627118644
165614015
165615015
165616015
165617015
165677017
165678017
165676837
Invalid timestamp freq -847.457627118644
165677837
165678837
165679837
This issue does not appear to happen when buffered data is retrieved via the SPI port (plot below shows sample timestamp deltas)

Appears to just be an issue with the timestamp? The IMU data count associated with each sample increments as expected, even when the timestamp "jumps"
419
420
421
Invalid delta!
422
423
424

Doesnt happen for low data rates (400Hz). My guess is this is an issue with the ping-pong used for USB transmit

Data is coming out of the FIFO in firmware in the correct order. Added test code to the firmware which never tripped
	/* Check timestamp */
	counter++;
	timestamp = ReadReg(BUF_BASE_ADDR + 4) | (ReadReg(BUF_BASE_ADDR + 6) << 16);
	if(timestamp < lastTime)
		g_regs[USER_SCR_0_REG] = counter;
	lastTime = timestamp;
	g_regs[USER_SCR_0_REG + 1] = timestamp;

So issue has to be on USB transmit layer

Fixed. Was issue with the python library


Sims failing to work in full screen after minimizing and maximizing on Safari 13.01

Test device
Hooke
Operating System
Mac OS 10.15
Browser
Safari 13.01
Problem description
From
Happens on all sims. Easy to accidentally reproduce as in the normal courses of using a mac device this issue can occur. By minimizing and maximizing the screen then entering full screen mode, then repeating, on the second time full screen mode is entered the sim will no longer respond when in full screen mode. Nothing can be interacted with and full screen must be ended using ESC before sim returns to normal.
Steps to reproduce

Open sim
Minimize screen
Maximize screen
Activate full screen from PheT options menu
Deactivate full screen
Minimize screen
Maximize screen
Activate full screen

This might be specific to macOS 10.15. I can't reproduce immediately on macOS 10.14.6, Safari 13.0.1.

@loganbraywork thanks for the clear bug report and detective work.
Considering this series of events is unlikely to occur often, and it currently fairly platform specific, I don't think we have time to investigate. Marking as deferred

I was able to replicate.  It could be serious, even if it is a bit specific, so if we ever get time I think it should be addressed.  Also, clarification for what @loganbraywork means when he says "minimize" and "maximize" in his instructions; he means if the window is expanded or smaller using the green button in the upper left corner.  This may help with reproducing the issue.