Run SAC in pyspark sql, and got "Cannot find active or default SparkSession in the current context"

I ran a sql query in pyspark, and got the following exception:
>>> spark.sql("create table test_db.tbl2 as select * from test_db.tbl1")
19/03/29 21:17:28 WARN SparkCatalogEventTracker:  Caught exception during parsing catalog event
java.lang.IllegalStateException: Cannot find active or default SparkSession in the current context
at com.hortonworks.spark.atlas.utils.SparkUtils$.sparkSession(SparkUtils.scala:35)
at com.hortonworks.spark.atlas.utils.SparkUtils$.getExternalCatalog(SparkUtils.scala:87)
at com.hortonworks.spark.atlas.sql.SparkCatalogEventTracker$$anonfun$eventProcess$2.apply(SparkCatalogEventTracker.scala:120)
at com.hortonworks.spark.atlas.sql.SparkCatalogEventTracker$$anonfun$eventProcess$2.apply(SparkCatalogEventTracker.scala:96)
at scala.Option.foreach(Option.scala:257)
at com.hortonworks.spark.atlas.sql.SparkCatalogEventTracker.eventProcess(SparkCatalogEventTracker.scala:96)
at com.hortonworks.spark.atlas.sql.AbstractService$$anon$1.run(AbstractService.scala:24)
DataFrame[]
The exception is from here. @dongjoon-hyun Could you please help to look at this issue? Thanks.

Can you get the solution for this?


the #include directives in the generated code do no use the folder structor of the support lib

currently, generated code has, for example in case of jni bindings, this include statement
#include "djinni_support.hpp"
but I think it should be
#include <djinni/jni/djinni_support.hpp>
so it is possible to not having to add various include directives, or just use standard include if the support lib is installed into the file system / root system
alternative opinions are welcome !

This seems to make sense. I wonder if we should introduce this as a breaking change or if it should be configurable as a parameter, so existing build setups won't fail.

I think this is a very good question, one that might pop up from time to time ....
one side of me says: add an option
an other side says: no options, it will become too many execution paths and more code to maintain, complexity will add up
let us thing a moment about that, and maybe collect more information

for the very subject, I am not sure that we break too much, because, basically what we would do is saying: please use default include path (to include) , the rest is picked up automatically , and instead of 3 you have just 1 include path to manage.

Hi,
I think the same thing. It need be a more specific path for djinni, because sometimes it has conflicts with other headers.
But it need be applied to all support lib.
And in my opinion you can use quotes:
#include "djinni/jni/djinni_support.hpp"

Because it is not in the compiler/system path, but custom/app path.
https://gcc.gnu.org/onlinedocs/cpp/Search-Path.html
Thanks.

Hi,
I think the same thing. It need be a more specific path for djinni, because sometimes it has conflicts with other headers.
But it need be applied to all support lib.
And in my opinion you can use quotes:
#include "djinni/jni/djinni_support.hpp"

Because it is not in the compiler/system path, but custom/app path.
https://gcc.gnu.org/onlinedocs/cpp/Search-Path.html
Thanks.

The compiler will find it anyway, its just a question of the search order,
If the support lib comes with a conan or hunter package, what it sooner or later will, or ist installed what it could be, its not a " path first.
But in general I do not have any strong preferences about <or", once we will have that implemented, doing the one or the other will be easy.

The compiler will find it anyway, its just a question of the search order,
If the support lib comes with a conan or hunter package, what it sooner or later will, or ist installed what it could be, its not a " path first.
But in general I do not have any strong preferences about <or", once we will have that implemented, doing the one or the other will be easy.

Sure.
With quotes will be compatible with generated code by djinni:

I think (again, in my opinion) that we can make it more similar.
What need for this? Can i make a PR for this?

Sure.
With quotes will be compatible with generated code by djinni:

I think (again, in my opinion) that we can make it more similar.
What need for this? Can i make a PR for this?

Sure Paulo!
Contributions are very welcome!
Please see https://djinni.xlcpp.dev/contributing/

Sure Paulo!
Contributions are very welcome!
Please see https://djinni.xlcpp.dev/contributing/

I just found out , this is already possible,
the --jni-base-lib-include-prefix can do that.
djinni .....   --jni-base-lib-include-prefix djinni/jni/ ....
will generate
#include "djinni/jni/djinni_support.hpp"
But the documentation of that option is not optimal, so that should be improved.
So I add the documentation label
however, since this plays together with
https://github.com/cross-language-cpp/djinni-support-lib/issues/3
a different default value would very likely be beneficial ...
therefore the enhancement label

I just found out , this is already possible,
the --jni-base-lib-include-prefix can do that.
djinni .....   --jni-base-lib-include-prefix djinni/jni/ ....
will generate
#include "djinni/jni/djinni_support.hpp"
But the documentation of that option is not optimal, so that should be improved.
So I add the documentation label
however, since this plays together with
https://github.com/cross-language-cpp/djinni-support-lib/issues/3
a different default value would very likely be beneficial ...
therefore the enhancement label

I created now a PR for this issue, since changing it should not break any existing setup, just an adoption of the include
and 2 different include paths go no into one, beside that, code details do not change.
Also, if the previous behaviour is wanted, it can easily be restored by setting --jni-base-lib-include-prefix
if there are any opinions on that please share them. Otherwise , when the tests are adopted, the change will go into main

I created now a PR for this issue, since changing it should not break any existing setup, just an adoption of the include
and 2 different include paths go no into one, beside that, code details do not change.
Also, if the previous behaviour is wanted, it can easily be restored by setting --jni-base-lib-include-prefix
if there are any opinions on that please share them. Otherwise , when the tests are adopted, the change will go into main


Sys.args() produces garbage

hl test.hl a b c
Test.hx:4: 1690
Test.hx:4: 1689
Test.hx:4: 1688
Test.hx:5: [abc䕎佋䅐䡔⼽汣慥⽮慨數癟牥楳湯⽳獵⽲楢n...

class Test {
  static function main(){
    for (x in Sys.args()) trace(x.length);
    trace(Sys.args());
  }
}

On which OS?
Le 25 oct. 2016 16:30, "ousado"<EMAIL_ADDRESS>a écrit :

hl test.hl a b c
Test.hx:4: 1690
Test.hx:4: 1689
Test.hx:4: 1688
Test.hx:5: [abc䕎佋䅐䡔⼽汣慥⽮慨數癟牥楳湯⽳獵⽲楢n...
class Test {
static function main(){
for (x in Sys.args()) trace(x.length);
trace(Sys.args());
}
}
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/HaxeFoundation/hl/issues/16, or mute the thread
https://github.com/notifications/unsubscribe-auth/AA-bwIgzTsgbPofAo8TK8_OAlrtHs7ERks5q3hKggaJpZM4KgDsz
.

HL runtime: HL JIT
System: Linux, Debian Jessie


Re-render feedstock and fix macOS build

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

Obviously we were to optimistic in staged-recipes: even with recent macOS SDK (I tried with 10.13, 10.14 and 10.15) some tests (it seems the one that use ogre) fail with error:
2021-03-21T17:32:25.5666090Z       Start  7: UNIT_Lidar_TEST
2021-03-21T17:32:26.9870450Z  7/32 Test  #7: UNIT_Lidar_TEST .............................Subprocess aborted***Exception:   1.42 sec
2021-03-21T17:32:26.9873850Z dyld: Library not loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
2021-03-21T17:32:26.9875360Z   Referenced from: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
2021-03-21T17:32:26.9876840Z   Reason: Incompatible library version: vecLib requires version 1.0.0 or later, but libBLAS.dylib provides version 0.0.0
2021-03-21T17:32:26.9877880Z
2021-03-21T17:32:26.9878840Z       Start  8: check_UNIT_Lidar_TEST
2021-03-21T17:32:27.0274680Z  8/32 Test  #8: check_UNIT_Lidar_TEST .......................   Passed    0.04 sec
2021-03-21T17:32:27.0277030Z       Start  9: UNIT_Camera_TEST
2021-03-21T17:32:27.1246830Z  9/32 Test  #9: UNIT_Camera_TEST ............................Subprocess aborted***Exception:   0.10 sec
2021-03-21T17:32:27.1247980Z dyld: Library not loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
2021-03-21T17:32:27.1249000Z   Referenced from: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
2021-03-21T17:32:27.1250280Z   Reason: Incompatible library version: vecLib requires version 1.0.0 or later, but libBLAS.dylib provides version 0.0.0
2021-03-21T17:32:27.1250760Z
2021-03-21T17:32:27.1629160Z       Start 10: check_UNIT_Camera_TEST
2021-03-21T17:32:27.2042900Z 10/32 Test #10: check_UNIT_Camera_TEST ......................   Passed    0.04 sec
2021-03-21T17:32:27.2044880Z       Start 11: UNIT_ImuSensor_TEST
2021-03-21T17:32:27.4684080Z 11/32 Test #11: UNIT_ImuSensor_TEST .........................   Passed    0.26 sec
2021-03-21T17:32:27.4685870Z       Start 12: check_UNIT_ImuSensor_TEST
2021-03-21T17:32:27.5079550Z 12/32 Test #12: check_UNIT_ImuSensor_TEST ...................   Passed    0.04 sec
2021-03-21T17:32:27.5082660Z       Start 13: INTEGRATION_camera_plugin
2021-03-21T17:32:27.5701250Z 13/32 Test #13: INTEGRATION_camera_plugin ...................Subprocess aborted***Exception:   0.06 sec
2021-03-21T17:32:27.5702390Z dyld: Library not loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
2021-03-21T17:32:27.5703270Z   Referenced from: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
2021-03-21T17:32:27.5704100Z   Reason: Incompatible library version: vecLib requires version 1.0.0 or later, but libBLAS.dylib provides version 0.0.0
2021-03-21T17:32:27.5704570Z
2021-03-21T17:32:27.6114660Z       Start 14: check_INTEGRATION_camera_plugin
2021-03-21T17:32:27.6507430Z 14/32 Test #14: check_INTEGRATION_camera_plugin .............   Passed    0.04 sec
2021-03-21T17:32:27.6509190Z       Start 15: INTEGRATION_depth_camera_plugin
2021-03-21T17:32:27.7507110Z 15/32 Test #15: INTEGRATION_depth_camera_plugin .............Subprocess aborted***Exception:   0.10 sec
2021-03-21T17:32:27.7508290Z dyld: Library not loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
2021-03-21T17:32:27.7509150Z   Referenced from: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
2021-03-21T17:32:27.7509980Z   Reason: Incompatible library version: vecLib requires version 1.0.0 or later, but libBLAS.dylib provides version 0.0.0
2021-03-21T17:32:27.7510430Z
2021-03-21T17:32:27.7920270Z       Start 16: check_INTEGRATION_depth_camera_plugin
2021-03-21T17:32:27.8317550Z 16/32 Test #16: check_INTEGRATION_depth_camera_plugin .......   Passed    0.04 sec
2021-03-21T17:32:27.8319460Z       Start 17: INTEGRATION_gpu_lidar_sensor_plugin
2021-03-21T17:32:27.9348280Z 17/32 Test #17: INTEGRATION_gpu_lidar_sensor_plugin .........Subprocess aborted***Exception:   0.10 sec
2021-03-21T17:32:27.9349400Z dyld: Library not loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
2021-03-21T17:32:27.9350290Z   Referenced from: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
2021-03-21T17:32:27.9351110Z   Reason: Incompatible library version: vecLib requires version 1.0.0 or later, but libBLAS.dylib provides version 0.0.0
2021-03-21T17:32:27.9351570Z
2021-03-21T17:32:27.9750710Z       Start 18: check_INTEGRATION_gpu_lidar_sensor_plugin
2021-03-21T17:32:28.0163460Z 18/32 Test #18: check_INTEGRATION_gpu_lidar_sensor_plugin ...   Passed    0.04 sec
2021-03-21T17:32:28.0169130Z       Start 19: INTEGRATION_rgbd_camera_plugin
2021-03-21T17:32:28.1193440Z 19/32 Test #19: INTEGRATION_rgbd_camera_plugin ..............Subprocess aborted***Exception:   0.10 sec
2021-03-21T17:32:28.1194580Z dyld: Library not loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
2021-03-21T17:32:28.1195530Z   Referenced from: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
2021-03-21T17:32:28.1196400Z   Reason: Incompatible library version: vecLib requires version 1.0.0 or later, but libBLAS.dylib provides version 0.0.0
2021-03-21T17:32:28.1197370Z
2021-03-21T17:32:28.1606420Z       Start 20: check_INTEGRATION_rgbd_camera_plugin
2021-03-21T17:32:28.1997670Z 20/32 Test #20: check_INTEGRATION_rgbd_camera_plugin ........   Passed    0.04 sec
2021-03-21T17:32:28.1999290Z       Start 21: INTEGRATION_thermal_camera_plugin
2021-03-21T17:32:28.3172150Z 21/32 Test #21: INTEGRATION_thermal_camera_plugin ...........Subprocess aborted***Exception:   0.12 sec
2021-03-21T17:32:28.3173300Z dyld: Library not loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
2021-03-21T17:32:28.3174230Z   Referenced from: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
2021-03-21T17:32:28.3175420Z   Reason: Incompatible library version: vecLib requires version 1.0.0 or later, but libBLAS.dylib provides version 0.0.0
2021-03-21T17:32:28.3175880Z

@Tobias-Fischer @wolfv do you have any idea regarding the macOS error:
2021-03-21T17:32:27.7508290Z dyld: Library not loaded: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
2021-03-21T17:32:27.7509150Z   Referenced from: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
2021-03-21T17:32:27.7509980Z   Reason: Incompatible library version: vecLib requires version 1.0.0 or later, but libBLAS.dylib provides version 0.0.0

hmm, that's weird. looks like we need to link to BLAS, and it currently decides to take the system BLAS (Accelerate framework). I don't know this part of OS X very well ... we could ask the conda-forge Gitter community, they might have run across this before.
It might be helpful to run the build with verbose flags to see what exactly is linked.
I can see that the conda-forge build system pulls in OpenBLAS, but apparently it's linking against Accelerate Blas? It might also be a mixup with headers vs. linked library?

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I was trying to look for recipes to lint for you, but it appears we have a merge conflict.
Please try to merge or rebase with the base branch to resolve this conflict.
Please ping the 'conda-forge/core' team (using the @ notation in a comment) if you believe this is a bug.


feat: allow linting specified variables

Lint variables
Description
In some cases, the developer might want to validate additional variables against proper class names. Let's say we want to create variants for our component.
const varianst = {
  primary: 'text-red-400 font-bold'
  secondary: 'text-blue-400'
}

The problem is that we can't be sure if provided classes are correct.  My idea is simple. User can enable this plugin against any variable by adding special comment:
// eslint-enable-next-line tailwindcss/no-custom-classname

For example:
// eslint-enable-next-line tailwindcss/no-custom-classname
const styles = "p-2 text-blue-500";

// eslint-enable-next-line tailwindcss/no-custom-classname
const styles = ["p-2",  "text-blue-500"];

// eslint-enable-next-line tailwindcss/no-custom-classname
const variants = {
  primary: "p-5",
  secondary: ["p-2",  "text-blue-500"],
  fancy: clsx(["px-10", "py-2"])
}

Type of change
New feature (non-breaking change which adds functionality)
How Has This Been Tested?
I've introduced new tests in tests\lib\rules\no-custom-classname.js
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules
[x] I have checked my code and corrected any misspellings

Hi @RafalFilipek  👋
I think this PR is not necessary because you can easily apply a workaround for your needs.
Quick example
When we use a library some classnames are passed via a props which are not class or className:
...
<Transition
  show={!isAuthenticated}
  enter={ctl('transition duration-100 ease-out')}
  enterFrom={ctl('opacity-0 transform scale-50')}
  enterTo={ctl('opacity-100 transform scale-100')}
  leave={ctl('transition duration-75 ease-in')}
  leaveFrom={ctl('opacity-100 transform scale-100')}
  leaveTo={ctl('opacity-0 transform scale-50')}
>
  <Icon iconName={'UserIcon'} className={'h-24 text-blue-900 dark:text-white'} ariaHidden={true} />
</Transition>
...

eslint-plugin-tailwindcss cannot guess that enter, enterFrom, enterTo, leave (...) props contains classnames to be linted. This can be done easily by using a function configured in the callee option. You can use ctl and/or others, see in documentation.
Not using classnames, clsx or ctl ?
If you don't to use such a library you can also use a dummy callee like:
// your src file
const lintThisValue = (val) => val;
...
const styles = {
  primary: lintThisValue('p-4 my-custom'),
  secondary: lintThisValue(['p-2', 'm-2']),
}

// eslintrc in eslint-plugin-tailwindcss settings section
...
  "callees": ["lintThisValue"],
...

Let me know if you need more help and if it meets your needs.


Change cases.json to have tprek_id

Previously was service_map_id

Failing format test is not within scope of this but I'll reformat the settings anyhow


Fix issue with k8s.io/docs/reference/kubectl/overview/

Closes #21570
This PR fixes the following problems:

At line 35~39, there are extra spaces(more than 4 spaces) in front of shell box.
At line 427~430, it should be a shell box. So, we need ```shell code.
At line 445~451, it should be a shell box. So, we need ```shell code.

Proposed Solution:
[1]

TYPE: Specifies the resource type. Resource types are case-insensitive and you can specify the singular, plural, or abbreviated forms. For example, the following commands produce the same output:
kubectl get pod pod1
kubectl get pods pod1
kubectl get po pod1

[2]
# we can "uninstall" a plugin, by simply removing it from our PATH
sudo rm /usr/local/bin/kubectl-hello

[3]
# this command can also warn us about plugins that are
# not executable, or that are overshadowed by other
# plugins, for example
sudo chmod -x /usr/local/bin/kubectl-foo
kubectl plugin list

Deploy preview: https://deploy-preview-21571--kubernetes-io-master-staging.netlify.app/docs/reference/kubectl/overview/

preview looks good to me.
/lgtm

/approve


Hello ! How does pixi.js lay out a picture

Your issue may already be reported! Please search existing issues before creating one.

Expected Behavior
Current Behavior
Possible Solution
Steps to Reproduce
Environment

pixi.js version: e.g. 4.7.1
Browser: e.g. Chrome 67
Device: e.g. Desktop

I want to repeat the same spirit with pixi.js. Is it only a copy spirite?

You need a new Sprite object for each instance to be renderered, yes. But Sprites are such light objects, for all intents and purposes on most scenarios they are 'free'.
Alternatively, for certain scenarios, https://pixijs.io/examples/#/basics/tiling-sprite.js may be useful

已经解决了 谢谢


Z80 instructions brokenly reordered in decompilation

the order of EI and DI instructions is important, and moving them exposes races that do not exist in the original code
the code:
                             **************************************************************
                             *                          FUNCTION                          *
                             **************************************************************
                             void _enable(void)
             void              <VOID>         <RETURN>
                             _enable
                0                   ram:6b27 af              XOR        A
                0                   ram:6b28 32 36 6b        LD         (dicount),A
                0                   ram:6b2b ed 46           IM
                0                   ram:6b2d fb              EI
                0                   ram:6b2e c9              RET

decompiles to:
void _enable(void)
{
  setInterruptMode(0);
  enableMaskableInterrupts();
  dicount = 0;
  return;
}

the original code uses dicount as a lock, and moving the clearing of the allows an interrupt handler to see a non-zero value.
ghidra version 9.2-DEV

Maybe it is the same as #1208?  Marking dicount as volatile might do the trick I guess...

how would I mark a variable as volatile?  as far as I know, this is only a
memory region thing.
On Tue, Sep 15, 2020 at 12:08 PM Alessandro Gatti<EMAIL_ADDRESS>wrote:

Maybe it is the same as #1208
https://github.com/NationalSecurityAgency/ghidra/issues/1208? Marking
dicount as volatile might do the trick I guess...
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/NationalSecurityAgency/ghidra/issues/2257#issuecomment-692919426,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJJUTKZJUDSK23BCR4VOQGDSF63TTANCNFSM4RCWCOEA
.

--
I refine, they debug, he/she patches, they kludge.

No idea, really.  Maybe you can create a region that's as big as that variable...  Still, this may or may be not a bug in the decompiler, I guess the Ghidra folks could take a look at that.

You can create a db or other data type at dicount, and change the data settings for mutability to volatile.
That does indeed re-order the "dicount=0" to before the Interrupt enable pcode userops.
You really shouldn't need to do this, and the order preserved, but it does work.
I'll check into why and really it should do this.

Is there any updates on this issue? I was wondering if it will possible to add generic IO memory marked as volatile for different devices (e.g. ZX Spectrum, Amstrad CPC, etc), in order to workaround this issue and also to offer better decompilation


fix http_send_raw_command parm error

Ack, somehow I missed this PR. Sorry about that! Merged now.

Think you for merging. This project is very useful.


Use vm (sandbox) to solve challenge

https://github.com/codemanki/cloudscraper/blob/633faba3a767ac341211c399aa7e8216a49d84a0/index.js#L192
Are the extra string replacements performed to avoid using vm? This is an insecure method of solving the challenge.
I'm also curious as to what the improvements mentioned in the README.md are exactly.

Setting a timeout on the vm is advised as well: https://github.com/Anorov/cloudflare-scrape/commit/c4606653f1a3bb1a4afc180ee66a9a9f270383f3


Wrong transfer

I just accidentally transferred my not coin to a wrong wallet.please send it back
The address that I accidentally transferred my coin
UQCRVIz6d1VF-vb_PVCy8yUh0Zf9sPZ0hx9qx81g3Pckleo6

This issue is not related to the repo and can be closed. @tolya-yanot

من به طور اشتباه ناتکویین های داخل تونکیپر را انتقال دادم به یک آدرس اشتباه خواهش میکنم بهم برگردونین

Hello @ssahal11  A support ticket has been opened for you. Kindly Talk to  Support on the Live support page so that your issue can be looked into. CLICK HERE

@ssahal11 you have a pending ticket opened with us.. kindly contact us so your ticket can be resolved and closed

The same thing happened to me, is there a solution?

The same thing happened to me, is there a solution?

Wrong transfer

لطفا کمک کنید هنگام انتقال ناتکوینهان کامنت را نزدم الان ناتکوینم گم شده

It sounds like your query would be best dealt with by the support team.
Please see the link below to our dedicated support line:
Support :Help Center
Note: Click on the live chat icon at the bottom corner of the page to start a conversation


Update ubuntu stemcell libpcre3

There is a vulnerability in libpcre3_1:8.31-2ubuntu2.1 and it should be updated to libpcre3_1:8.31-2ubuntu2.2.
Whats the best way of doing that?

Story: https://www.pivotaltracker.com/story/show/117646763 as requested.

Updated in stemcell 3215.4 - https://github.com/cloudfoundry/bosh/releases/tag/stable-3215.4


about M1 and M2

The M1 calculation is much different from what described here: http://srp.stanford.edu/design.html
And M2 calculation, I have seen other implementations use H(A|M1|S) rather than H(A|M1|K).
I guess it will be better to describe the formula in the reame page, so people can have an idea on the exact formula.

Regarding the M2 calculation, the RFC (https://www.ietf.org/rfc/rfc2945.txt, page 3) calls for H(A|M1|K), so that's what I use here.
As for the M1 calculation, it's the alternate formula described on the Wikipedia page. I initially chose it to be compatible with Mozilla's SRP implementation.
I agree, the README could be more clear about the formulas chosen.

with your information, now i know the stanford page should be updated to reflect the newest agreement.


Using Relative paths

relates to fog/fog#3430

Coverage remained the same at 92.77% when pulling 3eb21eaaa8237dd3b50cb67c4bada08aee7f401a on fix-loading-time into b41ea5e7d542fd29829e57061aa5521b228d159f on master.

Coverage remained the same at 92.77% when pulling feeff599b7d8479bd74f1b3335dd5d3c006436bd on fix-loading-time into b41ea5e7d542fd29829e57061aa5521b228d159f on master.


[BUG] Issue with scopes and known properties in latest alpha of Extensions.Logging library

ECS integration/library project(s) (e.g. Elastic.CommonSchema.Serilog): Elasticsearch.Extensions.Logging
ECS schema version (e.g. 1.4.0): 8.4.0
ECS .NET assembly version (e.g. 1.4.2): 8.4.0-alpha3
Elasticsearch version (if applicable): -
.NET framework / OS: .NET 6 / linux
Description of the problem, including expected versus actual behavior:
I've been using the 1.6.0-alpha release of the Elasticsearch.Extensions.Logging library for some time now. But when I wanted to try out the latest 8.4.0-alpha3 version I found a few issues/differences:

When you have a log message within a scope that uses a message format and args, the MessageTemplate parameter in the generated log document contains the template for the scope instead of the template of the log message

ILogger logger;

var x = "value";
using (var scope = logger.BeginScope("My Scope {Value}", x)
{
    logger.LogInformation("Log Message"); // The "message" property will contain "Log Message", but the "MessageTemplate" property contains "My Scope {Value}"
}

The value contained in the "Scopes" property no longer contains the ToString() representation of the scope message format + args. So when using logger.BeginScope("My Scope {Value}", x) in the previous example, in the 1.6.0-alpha version the generated log document contains "Scopes": ["My Scope value"], but in the latest version it contains "Scopes": ["[x, value], [{OriginalFormat}, My Scope {Value}]"]

In some cases I get a null reference exception originating from the AssignKnownHttpKeys method in the ElasticsearchLogger class, I believe this is because of the following part initializing the Http property if it is null but then assigning to a property on the Url property:
https://github.com/elastic/ecs-dotnet/blob/af53e3cdb8d00858b62f6d071b442163a9bfad9f/src/Elasticsearch.Extensions.Logging/ElasticsearchLogger.cs#L147-L148

If I have a log message which has a Timestamp placeholder with DateTimeOffset parameter it would convert the parameter to a string and then try to set the @timestamp property on the log event based on that parameter, which throws an exception because the expected format is different from the format that was used in the ToString. I would expect that it just set the labels.Timestamp field instead of trying to overwrite the @timestamp field.

logger.LogInformation("My Timestamp {Timestamp}", DateTimeOffset.Now.AddDays(-1));

Steps to reproduce:

Use the provided examples in the 8.4.0-alpha3 version and check the document that is indexed.

Thanks for the quick fixes!
re 4. If it's by design then that's fine for me, the only thing is then that if you try to set the timestamp currently it can't because the parameter is first serialized to a string with a format, and when trying to set it into the @timestamp field it is parsed with a different format so currently you can't use a DateTimeOffset to set the Timestamp field.
I've changed my code to use a different name than Timestamp as I wanted to have it as a label anyway so it's not a problem for me.
as far as I'm concerned this issue can be closed, unless you want to keep it open for the timestamp issue.


Version bump for 2.12.0 release

I think #349  warrants the minor version bump, as the hdp repo footprint is changing.
Includes:

Remove redundant HDP version attributes ( Issue: #344 )
Update HDP-UTILS repo to <IP_ADDRESS> ( Issues: #346 COOK-127 )
Use libsnappy1 from hdp-utils on Ubuntu 16 ( Issue: #347 )
Add Support for HDP <IP_ADDRESS> and HDP <IP_ADDRESS> ( Issue: #348 )
Fix CentOS7 support for HDP, configure only update or GA repo ( Issues: #349 COOK-129 )

One more PR included:

Drop support for RHEL 5 and derivatives ( Issues: #351 COOK-130 )


added regex

@Dachamelemon Can you please add the ticket number in the description, a label to the PR as well as a more descriptive title of the functional improvement more than the technical one ? Thanks !


⚠ ClamAV has degraded performance

In 1a0e9fb, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 77 ms

Resolved: ClamAV performance has improved in 98a141c.


Unexpected end of JSON input while parsing near '...4XhBOJ2f35/00dMh3W6oz'

When I install hydrogen with command apm install hydrogen or  Atom Install,  I got this error:
npm ERR! Unexpected end of JSON input while parsing near '...4XhBOJ2f35/00dMh3W6oz'

npm ERR!      /Users/xiligey/.atom/.apm/_logs/2018-10-08T08_48_08_251Z-debug.log

Cleaning the corrupted local npm cache may fix this error.
npm cache clean --force

Just run your npm command again after executing the above command in your terminal.

There could be few other reasons for the invalid JSON, as described in the official documentation here.
The official npm website has well documented most of the common errors. But unfortunately they don’t appear on the top results when you google the error.


[Samples] Fix samples' camera controllers

Release Type: Github
Version: commit onward
Platform(s): Any
Describe the bug
Most controllers do not handle inputs correctly and are written in an overly complex manner:
Here are some example issues that first person has:

this function should be simplified and or clarified.
Desired* and rotationAdaptation both are pointless, they cannot be modified from an outside source and don't impact the camera in a meaningful way.
Offset current entity rotation instead of relying on variables internal to the script, this would allow for multiple scripts to rotate the camera for cut-scenes and the likes.

Same for third person:

Inaccurate comment
Usage of physics delta time outside the physics loop.
Usage of a delta time on potential mouse input, as that delta is the physics one it's fine as long as it's constant but completely pointless, that receiver has to be split between offset(mouse and gestures) and direction based(stick and buttons) see the changes made to fix BasicCameraController for more information about this point.
Non linear usage of lerp(using the result of the operation as the start value + using a non delta time value for the 't' parameter) this will lead to vastly different results between differing frame-rate.
Make those variables configurable

Now Orbit / Sidescroller:

Shares a bunch of issues with the two above.
Escape should always unlock

There is a general lack of polish
Comments in all of those files aren't straightforward enough, it shouldn't just explain what the line does but also why we have to include it. If even the guy who wrote those files couldn't get them right there's a very big chance that most programmers won't, knowing that we might as well document thoroughly how camera controllers are implemented and what users should do when modifying or creating one to avoid those kind of issues. Again, check the changes that BasicCameraController as gone through for an idea of what we should strive for.
Additional context
PR #359

Thanks for the summary/write up!

And yes, lot of ugly/old/unpolished code as you noticed (not only for the camera code unfortunately).
It'll be good to gradually improve that.


Connectivity with Service Bus for Windows 1.1 under "workgroup"

Am using Service Bus Explorer (2.1) to connect to Service Bus for Windows 1.1 installed on a separate server. The connect seems to occur successfully but it doesn’t list any items under Queues/Topic tree. I keep getting the following error:
** The application is now connected to the sb://esbtestserver:9355/test1 service bus namespace.
** MessagingFactory successfully created
** Exception: The token provider was unable to provide a security token while accessing ‘https://esbtestserver:9355/test1/$STS/Windows/’. Token provider returned message: ”.. Method b__3c: retry 1 of 10.
** InnerException: The token provider was unable to provide a security token while accessing ‘https://esbtestserver:9355/test1 /$STS/Windows/’. Token provider returned message: ”.
I also keep getting similar error when trying to create a new queue.
Both my PC and the server is not part of domain. They are under workgroup.
However, things work just fine using a .NET test application I wrote which uses ServiceBus.v1_1 package (it includes Microsoft ServiceBus assembly version 2.1.60426.1) with the same connection string I use in the tool (which contains WindowsUsername=sbuser ;WindowsDomain=[NotUsed];WindowsPassword=123123).
What could be the issue?

It should work. try the following:
WindowsUsername=;WindowsDomain=;WindowsPassword=

When connecting to a Service Bus for Windows Server located in another workgroup, make sure you creating a user X with the same username and password on both the client machine and the workgroup machines hosting Service Bus. Add the user to ManageUsers  for the namespace using the https://msdn.microsoft.com/en-us/library/azure/jj248750(v=azure.10).aspx Set-SBNamespace PowerShell cmdlet. Finally, run your client application under the user X to connected to the Service Bus namespace. This should work thanks to a Windows Passthrough Authentication. For more information, see https://msdn.microsoft.com/en-us/library/cc237015.aspx.


# noqa: E702 # fmt: skip still formats the line of code

Input code:
print(); print() # noqa # fmt: skip

After formatting:
print()
print()  # noqa # fmt: skip

# fmt: on/off works fine though, but I want to have just one line of short boilerplate code.
I'm using the Ruff VS Code extension, which is said to ship with ruff==0.4.1

I think it's because there are two statements on the same line and fmt: skip is being applied only for the last statement. This can be seen by adding a single-quoted string (https://play.ruff.rs/edf37109-eb34-4b5c-9867-dd5587bef085), notice that the formatter only changes the quote for the first print call and not the second one. I don't think RUF028 will indicate here because the suppression comment is actually being used by the formatter.
I'm not exactly sure if this is the intended behavior, @konstin any thoughts here? @MichaReiser  will be able to provide more context here but he's currently on PTO until the end of next week. I can possibly look into it to confirm whether this is the intended behavior.

Oh, that's interesting and not something I have thought of when implementing suppression comments.

fmt: skip comments suppress formatting for a preceding statement, case header, decorator, function definition, or class definition:

Today's behavior matches our documentation. However, Black doesn't format simple statements that end with a fmt: skip comment. So it is at least a Black incompatibility (and possibly not flagged by the ruff lint rule).
I'm open to changing our implementation to support this use case if it doesn't add too much complexity. I otherwise recommend documenting the deviation because it's possible to suppress the example using fmt: off (although it is slightly more verbose).
# fmt: off
print(); print() # noqa
# fmt: on

print( )

Oh, that's interesting and not something I have thought of when implementing suppression comments.

# fmt: skip comments suppress formatting for a preceding statement, case header, decorator, function definition, or class definition:

Today's behavior matches our documentation. However, Black doesn't format simple statements that end with a fmt: skip comment. So it is at least a Black incompatibility (and possibly not flagged by the ruff lint rule).
I'm open to changing our implementation to support this use case if it doesn't add too much complexity. I otherwise recommend documenting the deviation because it's possible to suppress the example using fmt: off (although it is slightly more verbose).
# fmt: off
print(); print() # noqa
# fmt: on

print( )

yep. basically, I banged my head a few hours to figure this out.
And, I finally just changed to Black formatter again.
Black doesn't format the line which has more than one statement and tagged with "# fmt: skip"

@ngoctnq
thank you for writing this issue.

Related: #11216.


test(world-modules): improve SystemSwitch test coverage

As noted in https://github.com/latticexyz/mud/issues/2089, SystemSwitch the world incorrectly uses delegatecall when calling non-root systems from the root.
This was not picked up in the test suite, because it either checks the WorldContext, or calls a pure echo function (which doesn't rely on storage so returns the same result if using call or delegatecall).
This PR adds a test which calls a function to read the systems storage. It fails because the function is delegatecalled and the output is not what we expect.

moved to https://github.com/latticexyz/mud/pull/2205


Error message "Server down"

When trying to work with the fotos, there comes the Error:
POST Request api/v1/file/unlinked failed with status 500.
Error Message: { "message": "Server Error)
Steps to reproduce

open the database
open "Dateien"
choose unverknüpfte Dateien or alle Dateien
choose a file

Expected behaviour
Ther should come a list of the pictures with this filter
Actual behaviour
Instead, neither the picuters are visible with all pictures, nor with the filter. Only the Error message
Spacialist version:** v0.7.3-giza
(https://user-images.githubusercontent.com/79839740/199985626-91c96786-3aef-4c88-8c50-fc525a704ee6.JPG)

Fixed


Set order of tenant_template to the highest to avoid being overridden by custom templates

Signed-off-by: Chang Liu<EMAIL_ADDRESS>Description
The issue description of https://github.com/opensearch-project/security-dashboards-plugin/issues/1246 explains the issue to be resolved.
The PR title described the approach to fix the issue.
Category
Bug fix
Issues Resolved
https://github.com/opensearch-project/security-dashboards-plugin/issues/1246
Testing
UTs and ITs
Check List

[ ] New functionality includes testing
[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #1247 (2cd952d) into main (9dab522) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1247   +/-   ##
=======================================
  Coverage   71.78%   71.78%
=======================================
  Files          88       88
  Lines        2027     2027
  Branches      269      269
=======================================
  Hits         1455     1455
  Misses        509      509
  Partials       63       63

Impacted Files
Coverage Δ

public/apps/configuration/constants.tsx
85.71% <0.00%> (ø)

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

Can you create a global constant for the order? (too bad javascript doesn't have a built-in for Java's Integer.MAX_VALUE)

👍  Done

Can you add a test showing that tenant_template is not overridden in both scenarios where order is equal and is less than<PHONE_NUMBER>?

As I replied to the other comment, the template and order are parts of OpenSearch core. security-dashboards-plugin only calls the API to create template. So the definition of template and order, and how it gets overridden are defined by OpenSearch core. There's no need to test OpenSearch core functionality in plugins(would be duplicate effort).

Thanks for the work, @cliu123 !
@DarshitChanpura just double-checking that you had a chance to re-review after the latest change as the last commit addressed them, even though you didn't formally re-approve. Thanks!


.

[Enter feedback here]

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

ID: 34b2d8b0-56e5-bc15-de92-64949ab8a8cc
Version Independent ID: 34b2d8b0-56e5-bc15-de92-64949ab8a8cc
Content: Metadata scanning - Power BI
Content Source: powerbi-docs/enterprise/service-admin-metadata-scanning.md
Service: powerbi
Sub-service: powerbi-eim
GitHub Login: @paulinbar
Microsoft Alias: painbar

Thanks for your comment, @cjvuffelen. This issue has been assigned to the doc author for review.

Hi @cjvuffelen, are you saying that what you are missing are samples of actual code?
Thanks

Dear Paul, do you have any idea about the effort needed to get this data? First we spend a full day with the infrateam to get the rights in order with a working example with the bearer token etc. Then we found a we found a github repo with a version 1 and version 2 of gettings this data in. Version 2 we could not get to work. Version 1 has a bug as it would only get 100 workspaces. I spend to two days to fix this bug ended up with 15 files on a sharepoint. Then i got these 15 files of 100 workspaces, merged then and finaly created a model which took me another day.  This should be as simple as select * from all_tab_columns, with all this complexitiy hidden. Same goes for lineage (where is a field used) which also took me two days investigating and finaly wrote this code:
And this goes for every organisations that needs this kind of data.
from os import listdir
from os.path import isfile, join
import zipfile
import json
import pandas as pd
import glob, os

data_list = []

def json_extract(obj, key):
    """Recursively fetch values from nested JSON."""
    arr = []

    def extract(obj, arr, key):
        """Recursively search for values of key in JSON tree."""
        if isinstance(obj, dict):
            for k, v in obj.items():
                if k == key:
                    arr.append(v)
                elif isinstance(v, (dict, list)):
                    extract(v, arr, key)

        elif isinstance(obj, list):
            for item in obj:
                extract(item, arr, key)
        return arr

    values = extract(obj, arr, key)
    return values

def add(Report,Page,Type,Table,Column):
    data_list.append((Report.replace("Workspaces",""),Page,Type,Table,Column))

def loopJson(node, report, page, source):
    #print(node)

    if isinstance(node, dict) and "Expression" in node and "SourceRef" in node["Expression"]:
                filter_table = node["Expression"]["SourceRef"]["Entity"]
                if "Property" in node:
                    filter_field = node["Property"]
                elif "Hierarchy" in node:
                    filter_field = node["Hierarchy"]
                elif "Name" in node:
                    filter_field =  x[x.find(".")+1:x.find("\"",x.find(".")+1)].replace(")","")
                else:
                    filter_field = json.dumps["Node"]
                add(report,page,source,filter_table,filter_field)
    else:
        if isinstance(node, dict):
            for key,value in node.items():
                next_node = node[key]
                loopJson(next_node, report, page, source)

def loopJson2(node, report, page, source, name):
    #print(node)
    nodes = json_extract(node,name)
    for x in nodes:
        table = x[0:x.find(".")].replace("Sum(","").replace("Min(","").replace("Avg(","").replace("Max(","").replace("CountNonNull(","").replace("Count(","")
        if len(table) > 1:
            col =  x[x.find(".")+1:len(x)].replace(")","")
            add(report,page,"Visual",table,col)

def processFilter(filter, source, page):
    if "expression" in filter:
            x_node = filter["expression"]
            loopJson(x_node, report, page, source)

def processReport(json_report, report):
    if "filters" in json_report:
        for r_filter in json.loads(json_report["filters"]):
                processFilter(r_filter, "ReportFilter","Report")

    #loop sections
    if "sections" in json_report:
        for section in json_report["sections"]:

            page = section["displayName"]

            if "filters" in section:
                for p_filter in json.loads(section["filters"]):
                    processFilter(p_filter, "PageFilter", page)
                    processFilter(p_filter, "PageFilter", page)

            if "visualContainers" in section:
                for visual in section["visualContainers"]:

                    if "filters" in visual:
                        for v_filter in json.loads(visual["filters"]):
                            processFilter(v_filter, "VisualFilter", page)
                    x_node = json.loads(visual["config"])
                    loopJson2(x_node, report, page, "Visual","queryRef")
                    loopJson2(x_node, report, page, "Visual","Name")
#local dev path
#ws_path = "C:/Temp/PowerBI/Workspaces/"
ws_path = "Workspaces/"

for report in glob.glob(ws_path+ '**/*.pbix', recursive=True):
    print(report)
    archive = zipfile.ZipFile(report, 'r')
    raw_report = archive.read('Report/Layout')
    json_report = json.loads(raw_report)
    processReport(json_report, report)

df = pd.DataFrame (data_list, columns = ['Report','Page','Type','Table','ColumnMeasure'])
unique_df = df.drop_duplicates()
df.to_csv('PBILineage.csv', index=False)
print (unique_df)
unique_df.to_csv('output.csv', inde
```x=False)

Hi @cjvuffelen, thanks for taking the time to provide your feedback. I also sense your frustration... ;) In any event, I am part of the docs team that works with the people who developed the metadata scanning, and I will pass your feedback along to them.


TiFlash OOM with high throughput write

Bug Report
Please answer these questions before submitting your issue. Thanks!
1. Minimal reproduce step (Required)

A cluster with many TiKV and 4 TiFlash
A table with shard_row_id_bits
Each TiFlash instance has over 300GB
The GC interval is set to 5 days
Write throughput of each TiFlash is over 7MB/s

2. What did you expect to see? (Required)
TiFlash works normally.
3. What did you see instead (Required)
TiFlash OOM.

4. What is your TiFlash version? (Required)
v6.1.x

It is very likely caused by delta compact works slowly. And the root cause is that ~Snapshot of Storage V2 is slow in the case of many page entries.


Update aws-java-sdk-dynamodb to 1.12.400

Updates com.amazonaws:aws-java-sdk-dynamodb from 1.11.1034 to 1.12.400.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.amazonaws", artifactId = "aws-java-sdk-dynamodb" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.amazonaws", artifactId = "aws-java-sdk-dynamodb" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #404.


Canvas Support?

Bug report
I'm not positive I'm posting this in the right place, but I hope so.
I'm trying to run unit tests on custom web components with jest and the skatejs ssr test environment, which is working great - thank you. However, it's failing to instantiate a custom element that uses a canvas, saying canvas.getContext is not a function. Is this a mistake in my setup, or a bug?
I did notice that you referenced jsdom improving their support, and see that they mention canvas here: https://github.com/jsdom/jsdom/issues/1030. Would that solve my problem?
Is there anything I can do in the meantime?
Thanks for your help!
Micha

Skate version: 5.1.3
Affected browsers (and versions): all

Current behaviour
The tests fail because the execution crashes because the canvas function "getContext" is not known.
Expected behaviour
The tests should pass.
Use case(s)
We're trying to build a canvas-based tool using web components, and need to find a way to run unit tests.

I now realize that this is probably not a skatejs issue or even a web components issue, but an issue with jest/jsdom itself. After installing https://www.npmjs.com/package/jest-canvas-mock, this was mostly addressed. Thank you.

Hey, sorry for the late reply. The SSR env uses undom as a base implementation because it's so easy to extend. I've been thinking about trying to make it agnostic to the running environment, but have limited time to do so right now. The lack of canvas support would be because neither supports it, but stoked you got the canvas mock working (good to know for future reference, as well!).
Let us know if you have any more issues.

Good to know and to be aware of, thank you!


Missing documents for what senarios are being tested

[kind/Documentation]
What did you find missing in the documentation?
There is no document that provides a broad overview of what is being tested, and to what extent it is being tested. What i mean by this is a document that lists:

The test scenarios of odo that are being tested

Against which environments, are each of the scenarios tested in?

Against which versions of OpenShift are each of the scenarios tested against?

Under which category of testing does this happen (e2e/integration/etc)?

Note: I am talking actual scenarios and not just commands (although a scenario could be a single command). In fact some tests, may not even involve running commands
Already looked at https://github.com/redhat-developer/odo/issues/430 and while the table there says which commands are tested or not to an extent by e2e it does not give the extent.
What is the relevence of it?
Having a detailed view will help us know how far we are, from having a decently tested project, which we can vouch for without having to go look at actual code. It should also give us a biases to say go and talk to OpenShift team to get tests added to prow there, allowing us to coordinate better with OpenShift team.

There is no document that provides a broad overview of what is being tested, and to what extent it is being tested. What i mean by this is a document that lists:

The test scenarios of odo that are being tested

Yes, the test scenario are documented but not in that impressive way (Mixture of context and implementation in same file). Unlike other gherkin supported test frame work, GinkGo does not support in that way where we have doc file in one place (.feature file) and backend implementation in another file (.go file). Even there is no such plan for adding gherkin support [5] in GinkGo. So I have three suggestions atm.
[5] https://github.com/onsi/ginkgo/issues/535

Isolate the implementation code and Context as much as possible by keeping the implementation code in a separate file.
Create package for individual test and put doc file test-coverage.md along with its .go implementation file including changes mentioned in point 1

The third option is hard or near to impossible atm but I can still see this is a best option as part of test documentation is concerned

Switch to a BDD framework that supports BDD+gherkin

Against which environments, are each of the scenarios tested in?

Against which versions of OpenShift are each of the scenarios tested against?

Good to have these info in somewhere Odo doc (Could be a new doc file or in an existing doc file) if not yet documented.

Under which category of testing does this happen (e2e/integration/etc)?

Could not get it. Would you share what is your test expectation in the category of e2e and integration test.  An example would really be helpful

Already looked at #430 and while the table there says which commands are tested or not to an extent by e2e it does not give the extent.

Right, This is just a premature test doc file

we have tests running on 3 latest versions of openshift. ( v4.3,2.1 at the time of writing ) and have neatly defined spec and can run tests which are scoped into "component", "storage", "url" etc.
In my opinion, the scope of this issue has been implemented. Hence closing. If someone feels there is more need to close this issue then please re-open this issue.


Networking mirrored can't access to windows by <IP_ADDRESS>:port with WSL2

Windows Version
Microsoft Windows [版本 10.0.22631.3296]
WSL Version
<IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>-microsoft-standard-WSL2
Distro Version
ubuntu 20.04
Other Software
Docker desktop was uninstalled from the windows system.
Repro Steps
Information
My laptop's IP is <IP_ADDRESS> in WLAN.
Is was worked for me before. But after I reset my system, I can not make it work again.

Start a clash app with port 7890
Go into the wsl environment
Execute command telnet <IP_ADDRESS> 7890
Not connected

First
.wslconfig
[wsl2]
networkingMode=mirrored

commands and result

detail
msojocs@DESKTOP-1TV4OAG:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:50:56:c0:00:08 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::9c5b:a645:98b4:bfc2/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether da:80:83:b3:d6:cb brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:50:56:c0:00:01 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::de9f:1113:2891:d898/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
5: loopback0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:15:5d:e1:6c:93 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::3b9f:eb69:8d5e:9e71/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
6: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether d8:80:83:b3:d6:cb brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global noprefixroute eth3
       valid_lft forever preferred_lft forever
    inet6 fe80::7df1:6f90:3370:4cd1/64 scope link nodad noprefixroute
       valid_lft forever preferred_lft forever
7: eth4: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether fa:80:83:b3:d6:cb brd ff:ff:ff:ff:ff:ff
8: eth5: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether ea:80:83:b3:d6:cb brd ff:ff:ff:ff:ff:ff
msojocs@DESKTOP-1TV4OAG:~$ telnet <IP_ADDRESS> 7890
Trying <IP_ADDRESS>...
telnet: Unable to connect to remote host: Connection refused
msojocs@DESKTOP-1TV4OAG:~$ telnet <IP_ADDRESS> 7890
Trying <IP_ADDRESS>...
telnet: Unable to connect to remote host: Connection refused
msojocs@DESKTOP-1TV4OAG:~$

Second
.wslconfig
[wsl2]
networkingMode=mirrored
[experimental]
hostAddressLoopback=true

commands and result

detail
msojocs@DESKTOP-1TV4OAG:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:50:56:c0:00:08 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::9c5b:a645:98b4:bfc2/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether da:80:83:b3:d6:cb brd ff:ff:ff:ff:ff:ff
    inet6 fe80::bf84:bc17:2e88:c5c0/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:50:56:c0:00:01 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::de9f:1113:2891:d898/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
5: loopback0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:15:5d:e1:6c:93 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::3b9f:eb69:8d5e:9e71/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
6: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether d8:80:83:b3:d6:cb brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global noprefixroute eth3
       valid_lft forever preferred_lft forever
    inet6 fe80::7df1:6f90:3370:4cd1/64 scope link nodad noprefixroute
       valid_lft forever preferred_lft forever
7: eth4: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether fa:80:83:b3:d6:cb brd ff:ff:ff:ff:ff:ff
8: eth5: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether ea:80:83:b3:d6:cb brd ff:ff:ff:ff:ff:ff
msojocs@DESKTOP-1TV4OAG:~$ telnet <IP_ADDRESS> 7890
Trying <IP_ADDRESS>...
telnet: Unable to connect to remote host: Connection refused
msojocs@DESKTOP-1TV4OAG:~$ telnet <IP_ADDRESS> 7890
Trying <IP_ADDRESS>...
Connected to <IP_ADDRESS>.
Escape character is '^]'.

Expected Behavior
The command telnet <IP_ADDRESS> 7890 can success.
Actual Behavior
The command telnet <IP_ADDRESS> 7890 is failed.
Diagnostic Logs
Log
Collected log
Steps:

execute wsl --shutdown
execute .\collect-networking-logs.ps1
execute wsl
execute curl <IP_ADDRESS>:7890
execute telnet <IP_ADDRESS> 7890
execute telnet <IP_ADDRESS> 7890

WslNetworkingLogs-2024-03-16_15-43-33.zip
Other
cat /etc/resolv.conf
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateResolvConf = false
nameserver <IP_ADDRESS>
nameserver <IP_ADDRESS>

Afte view this issue (https://github.com/microsoft/WSL/issues/10632), I have checked the port binding in wsl:

execute python -m http.server --bind <IP_ADDRESS> with windows, success
execute python3 -m http.server --bind <IP_ADDRESS> with wsl, failed.

What do you get from netstat -an | findstr /c:"7890" | findstr /c:"LISTENING"?

What do you get from netstat -an | findstr /c:"7890" | findstr /c:"LISTENING"?

This is the result.

Similar issue.
If I kill all WSL processes and restart it, I can access Windows localhost:port again.
But if I leave it running for hours, I cannot access Windows localhost:port from WSL.

Similar issue. If I kill all WSL processes and restart it, I can access Windows localhost:port again. But if I leave it running for hours, I cannot access Windows localhost:port from WSL.

This method does not work for me.

If you want to connect to the host from the WSL container by the IP address assigned you'll need to connect to 127.0.01. If you want to connect to the assigned address, you need to set [experimental] hostAddressLoopback=true (see https://learn.microsoft.com/en-us/windows/wsl/wsl-config#experimental-configuration-settings).
But in the original repro, it was sent to <IP_ADDRESS>, so that's valid.
We see a RST immediately returned.
15:44:12.145100 IP <IP_ADDRESS>.60816 > <IP_ADDRESS>.7890: Flags [S], seq<PHONE_NUMBER>, win 65495, options [mss 65495,sackOK,TS val 260823200 ecr 0,nop,wscale 7], length 0
15:44:12.145107 IP <IP_ADDRESS>.7890 > <IP_ADDRESS>.60816: Flags [R.], seq 0, ack<PHONE_NUMBER>, win 0, length 0
Everything else looks setup correctly (Hyper-V Firewall is setup correctly).
This suggests one of 2 things that I can see:

the app wasn't bound & listening to that port at the time
Cisco's VMWare solution has filters that are causing issues
(I only bring up VMWare as we have observed many interop issues in the past).

If you want to connect to the host from the WSL container by the IP address assigned you'll need to connect to 127.0.01. If you want to connect to the assigned address, you need to set [experimental] hostAddressLoopback=true (see https://learn.microsoft.com/en-us/windows/wsl/wsl-config#experimental-configuration-settings).
But in the original repro, it was sent to <IP_ADDRESS>, so that's valid. We see a RST immediately returned.
15:44:12.145100 IP <IP_ADDRESS>.60816 > <IP_ADDRESS>.7890: Flags [S], seq<PHONE_NUMBER>, win 65495, options [mss 65495,sackOK,TS val 260823200 ecr 0,nop,wscale 7], length 0 15:44:12.145107 IP <IP_ADDRESS>.7890 > <IP_ADDRESS>.60816: Flags [R.], seq 0, ack<PHONE_NUMBER>, win 0, length 0
Everything else looks setup correctly (Hyper-V Firewall is setup correctly). This suggests one of 2 things that I can see:

the app wasn't bound & listening to that port at the time
Cisco's VMWare solution has filters that are causing issues
(I only bring up VMWare as we have observed many interop issues in the past).

I have uninstalled the VMWare just now and reboot the computer, but it still not work.
I think the app was bound the port at the time, because I can not access google without this proxy (google was blocked in my country).
And now I can access google(port is work in host), but telnet <IP_ADDRESS> 7890 still can not work with wsl.

If you want to connect to the host from the WSL container by the IP address assigned you'll need to connect to 127.0.01. If you want to connect to the assigned address, you need to set [experimental] hostAddressLoopback=true (see https://learn.microsoft.com/en-us/windows/wsl/wsl-config#experimental-configuration-settings).
But in the original repro, it was sent to <IP_ADDRESS>, so that's valid. We see a RST immediately returned.
15:44:12.145100 IP <IP_ADDRESS>.60816 > <IP_ADDRESS>.7890: Flags [S], seq<PHONE_NUMBER>, win 65495, options [mss 65495,sackOK,TS val 260823200 ecr 0,nop,wscale 7], length 0 15:44:12.145107 IP <IP_ADDRESS>.7890 > <IP_ADDRESS>.60816: Flags [R.], seq 0, ack<PHONE_NUMBER>, win 0, length 0
Everything else looks setup correctly (Hyper-V Firewall is setup correctly). This suggests one of 2 things that I can see:
1. the app wasn't bound & listening to that port at the time

2. Cisco's VMWare solution has filters that are causing issues
   (I only bring up VMWare as we have observed many interop issues in the past).

But I used mirrored mode and no VMWare.

I did not changed anything and a couple of days ago all worked well.

Try executing the command
sudo systemctl disable network-manager.service

followed by running wsl.exe --shutdown in PowerShell, and then restart WSL again.

Try executing the command
sudo systemctl disable network-manager.service

followed by running wsl.exe --shutdown in PowerShell, and then restart WSL again.

Ohhh!!!
It is working now. Thank you very much.

Try executing the command
sudo systemctl disable network-manager.service

followed by running wsl.exe --shutdown in PowerShell, and then restart WSL again.

Ohhh!!!
It is working now. Thank you very much.

I tried disabling every service until I reached network-manager.service, and finally, the mirrored functionality started working properly. It took me a significant amount of time to figure this out.

solved.

Try executing the command
sudo systemctl disable network-manager.service

followed by running wsl.exe --shutdown in PowerShell, and then restart WSL again.

Similar issue. It works for me. Thanks so much!

Try executing the command
sudo systemctl disable network-manager.service

followed by running wsl.exe --shutdown in PowerShell, and then restart WSL again.

Solved my problem, thanks

Try executing the command
sudo systemctl disable network-manager.service

followed by running wsl.exe --shutdown in PowerShell, and then restart WSL again.

Failed to disable unit: Unit file network-manager.service does not exist.😢

Try executing the command
sudo systemctl disable network-manager.service

followed by running wsl.exe --shutdown in PowerShell, and then restart WSL again.

Failed to disable unit: Unit file network-manager.service does not exist.😢

The NetworkManager service has been named NetworkManager. You can see https://askubuntu.com/questions/1371275/where-has-the-network-manager-service-in-21-10-gone for details.

Try executing the command
sudo systemctl disable network-manager.service

followed by running wsl.exe --shutdown in PowerShell, and then restart WSL again.

Failed to disable unit: Unit file network-manager.service does not exist.😢

The NetworkManager service has been named NetworkManager. You can see https://askubuntu.com/questions/1371275/where-has-the-network-manager-service-in-21-10-gone for details.

Unlucky😢😢, it also show: Failed to disable unit: Unit file NetworkManager.service does not exist.

Try executing the command
sudo systemctl disable network-manager.service

followed by running wsl.exe --shutdown in PowerShell, and then restart WSL again.

Failed to disable unit: Unit file network-manager.service does not exist.😢

The NetworkManager service has been named NetworkManager. You can see https://askubuntu.com/questions/1371275/where-has-the-network-manager-service-in-21-10-gone for details.

Unlucky😢😢, it also show: Failed to disable unit: Unit file NetworkManager.service does not exist.

same issue here

I have no idea what's happening here but I'm using XAMPP and it has the feature to check all open sockets and it's reporting here

that despite my ssh config being set to <IP_ADDRESS>, it only binds to localhost (aka <IP_ADDRESS>)


Traefik eats the questions mark "?" when the query string is empty

Do you want to request a feature or report a bug?
I want to report a bug.
What did you do?
I made a simple service with json-server and tried to reach the uri http://localhost:3000/posts/1?
What did you expect to see?
I expected the uri to not be changed/normalized and get http://localhost:3000/posts/1? in the server logs
What did you see instead?
I got the uri with no trailling question mark so the uri became http://localhost:3000/posts/1
the context
I had this issue in a bigger project where we used hapi and the Hawk authentification scheme. since the ressource is different between the server and the client the mac calculation was altered and produced a bad mac error on queries with empty query strings. we can fix this by normalzing our urls but we didn't not expect traefik to alter the ressource url.
also chrome devtools shows the uri before alteration when you check the headers which was misleading for us since hapi was showing a different one tthan in the devtools and got us question our nginx config.
related discussion
this discussion may be related to the issue here https://github.com/golang/go/issues/13488
Output of traefik version: (What version of Traefik are you using?)

{
 "LifeCycle": {
  "RequestAcceptGraceTimeout": 0,
  "GraceTimeOut": 0
 },
 "GraceTimeOut": 0,
 "Debug": false,
 "CheckNewVersion": true,
 "SendAnonymousUsage": false,
 "AccessLogsFile": "",
 "AccessLog": null,
 "TraefikLogsFile": "",
 "TraefikLog": null,
 "Tracing": null,
 "LogLevel": "",
 "EntryPoints": {},
 "Cluster": null,
 "Constraints": [],
 "ACME": null,
 "DefaultEntryPoints": [
  "http"
 ],
 "ProvidersThrottleDuration":<PHONE_NUMBER>,
 "MaxIdleConnsPerHost": 200,
 "IdleTimeout": 0,
 "InsecureSkipVerify": false,
 "RootCAs": null,
 "Retry": null,
 "HealthCheck": {
  "Interval":<PHONE_NUMBER>0
 },
 "RespondingTimeouts": null,
 "ForwardingTimeouts": null,
 "AllowMinWeightZero": false,
 "Web": null,
 "Docker": null,
 "File": null,
 "Marathon": null,
 "Consul": null,
 "ConsulCatalog": null,
 "Etcd": null,
 "Zookeeper": null,
 "Boltdb": null,
 "Kubernetes": null,
 "Mesos": null,
 "Eureka": null,
 "ECS": null,
 "Rancher": null,
 "DynamoDB": null,
 "ServiceFabric": null,
 "Rest": null,
 "API": null,
 "Metrics": null,
 "Ping": null,
 "HostResolver": null,
 "ConfigFile": ""
}

Any movement here? I ran into this same problem today.
Very similar to this: https://stackoverflow.com/questions/48545586/traefik-how-to-append-parameters-to-path
I think a simple AppendPath middleware could resolve this since chaining is available.

Looks to be the same as this
https://github.com/containous/traefik/issues/6994

+1


Version v1.2-4.2 not working due to version numbering

The version number "v1.2-4.2" is an invalid Alfresco module version - it must not have the dash in the version number. Alfresco 4.2 failes on startup with an error message. Changing the version to "1.2" works.
It would be good to know if the newer version also work with the older 4.2

No, the newer versions like 1.3 does not work with Alfresco 4.2. I will remove the old branch as Version 4.2 is not widely used anymore.


Ensure calling dispose on a popover will not set the title of the popover next time it is created

Fixes #26847
After doing some digging it looks like popover was previously checking for destroy, but this has been renamed to dispose in v4

I've addressed your requested changes

@Johann-S Review please!

good

在 2018年8月2日，下午5:48，Johann-S<EMAIL_ADDRESS>写道：
@Johann-S approved this pull request.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/twbs/bootstrap/pull/26848#pullrequestreview-142719473, or mute the thread https://github.com/notifications/unsubscribe-auth/AXGWn_vitCXDD-tRTGFHPgSZvehTODknks5uMssBgaJpZM4VJ93f.


add github live editor link

Adds a link to the left side drawer, inviting users to submit pull requests via GitHub's live editor.

🤔 not sure why it needed to "update branch" and added an empty merge commit.


[FEATURE] ARM64v8 support.

I would like to host this on my Raspberry PI4 4gb board.
It'll need to be arm64 since armhf performs extremely poorly on the PI4.
I would set it up manually by myself if I had the time.
The PI4 performs extremely well with arm64 (aarch64) and should be able to work within the requirements.

This shouldn't be impossible I think.

should be doable but I dont have a PI4 to mess with so I wont be able to do this myself

I have one that I can provide remote access to in the next few days.

Hey there @Xeddius
I recently got myself a rpi4 4gb, and with the help of @m1k1o  to package an ARM64 docker image of neko.
Whilst it technically works, performance is still awful.
There was a very small performance increase going from ARMv7 to ARM64v8
Feel free to give it a test yourself, but don't get your hopes up too much.
gigafyde/neko:firefox-arm64

Hi @GigaFyde and @Xeddius
I also made a working ARMv7 container.
Runs smooth on my rpi3 for normal websites.
YouTube kind of works/plays, but its not that smooth. But I think the rpi3 is here the limiting factor?
Perhaps one of you can give me feedback if it runs better on a rpi4.
Important the video played only on a windows system. I could not get any video on linux. (perhaps a missing codec, but I thought chrome has all important codecs preinstalled)
docker-compose.yml:
version: "3.4"
services:
  neko:
    image: "mbattista/neko:arm_firefox"
    restart: "unless-stopped"
    # increase on rpi's with more then 1gb ram
    shm_size: "740mb"
    ports:
      - "8084:8080"
      - "52000-52100:52000-52100/udp"
        #    volumes:
        #      - "./certs:/certs"
    # this is important since we need a GPU for hardware acceleration alternatively mount the devices into the docker
    privileged: true
    environment:
      NEKO_SCREEN: '1280x720@30'
      NEKO_PASSWORD: 'neko'
      NEKO_PASSWORD_ADMIN: 'admin'
      NEKO_EPR: 52000-52100
      NEKO_VP8: 'false'
      NEKO_VP9: 'false'
      NEKO_H264: 'true'
      # Change target bitrate and framerate on this parameter
      NEKO_VIDEO: ' ximagesrc display-name=%s use-damage=0 show-pointer=true use-damage=false ! video/x-raw,framerate=30/1 ! videoconvert ! queue ! omxh264enc target-bitrate=3500000 control-rate=2 ! video/x-h264,profile=baseline,stream-format=byte-stream '
      NEKO_MAX_FPS: 0
      NEKO_OPUS: 'true'
      #      NEKO_CERT: '/certs/cert.pem'
      #      NEKO_KEY: '/certs/key.pem'

@m1k1o should I make another pull request for the arm containers? They need to be cross-build in the pipeline

@mbattista this looks very good! It would be interesting to have arm Dockerfile. Is that affecting only base build or also browsers needs to be changed? We could habe base and arm_base, then use that as base image for browsers.

https://github.com/mbattista/neko/tree/arm-container
I forgot to post the branch which has the changes in them.

Ath the first sight, I do not see aby differences in browser Dockerfile, just the base image.
That could be generalized in all Docerfiles like this so we can avoid repetition:
ARG BASE_IMAGE=m1k1o/neko:base
FROM $BASE_IMAGE

And then when building, it could be replaced:
docker build -t m1k1o/neko:firefox_arm --build-arg BASE_IMAGE=m1k1o/neko:arm .

What do you say?

good idea.

I tried it with my Raspberry Pi 3 Model B+.

With Firefox I am not even able to connect to WebRTC. What makes sense, because it does not support H264.
On Edge (or any chromium) I am able to connect, but not getting any video, even when switching screen size (what sometimes helps).

When switching to old pipelines on Rpi3 it works, so sadly, GPU doesn't seem to be working properly for me.

oh, you are right :(
I did not look into it beforehand
codecId | RTCCodec_0_Inbound_102
[codec] | H264 (102, level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f)
decoderImplementation | ExternalDecoder

Ok, it seems to be related to the SPS bug in pion.
I updated the compose file. now it should work

After your latest change, I was able to get it working. This weird colored bar showed on top of my browser.

After redeploaying it vanished.

Pipeline is working good, pretty fast. But browser itself is really slow, but that is not a surprise.
Good job!

https://github.com/m1k1o/neko now has an Raspberry Docker image. via https://github.com/m1k1o/neko/pull/36

m1k1o/neko:arm-chromium is no longer on docker hub https://hub.docker.com/r/m1k1o/neko/tags?page=1&ordering=last_updated

I made a pull request that fixes some problems and will hopefully restore the build pipeline of the project.
in the meantime you can test mbattista:arm-chromium

For those interested,
gigafyde/neko:pi4-base
gigafyde/neko:pi4-firefox

For those interested,
gigafyde/neko:pi4-base
gigafyde/neko:pi4-firefox

How is the performance on an pi4? Is it acceptable?
Would the m1k1o/neko:arm-chromium (mbattista/neko:arm-chromium) run on the pi4?

Performance on the pi4, when using pi4 optimized images, was surprisingly good.
Only thing currently wrong with it is heavy video artifacting.
But I'd call it useable once those are eliminated

Could you try the following parameter on your pi4:
 NEKO_VIDEO: ' ximagesrc display-name=%s use-damage=0 show-pointer=true use-damage=false ! video/x-raw,framerate=30/1 ! videoconvert ! queue ! video/x-raw,framerate=30/1,format=NV12 ! v4l2h264enc extra-controls="controls,video_bitrate_mode=1,h264_profile=0,video_bitrate=2500000;" ! h264parse config-interval=3 ! video/x-h264,profile=baseline,stream-format=byte-stream '

I left the bitrate mode on the default VBR thinking it would be better. But perhaps CBR is better suited for this.
This also bumps the bitrate up a notch. I feared that the the amount of dropped frames will increase with further increases of the bitrate, but it seems that the fps on my rpi3 stays between 18 and 23 frames no matter which (sane) bitrate.
btw, these are the (documented) 'extra-controls' parameter on my rpi3. There are not many options to change the quality of the encoding. But perhaps you can find a good configuration.
pi@raspberrypi:~/neko $ v4l2-ctl -d /dev/video11 -L

Codec Controls

             video_bitrate_mode 0x009909ce (menu)   : min=0 max=1 default=0 value=0 flags=update
                                0: Variable Bitrate
                                1: Constant Bitrate
                  video_bitrate 0x009909cf (int)    : min=25000 max=25000000 step=25000 default=10000000 value=10000000
           sequence_header_mode 0x009909d8 (menu)   : min=0 max=1 default=1 value=1
                                0: Separate Buffer
                                1: Joined With 1st Frame
         repeat_sequence_header 0x009909e2 (bool)   : default=0 value=0
                force_key_frame 0x009909e5 (button) : flags=write-only, execute-on-write
            h264_i_frame_period 0x00990a66 (int)    : min=0 max=2147483647 step=1 default=60 value=60
                     h264_level 0x00990a67 (menu)   : min=0 max=13 default=11 value=11
                                0: 1
                                1: 1b
                                2: 1.1
                                3: 1.2
                                4: 1.3
                                5: 2
                                6: 2.1
                                7: 2.2
                                8: 3
                                9: 3.1
                                10: 3.2
                                11: 4
                                12: 4.1
                                13: 4.2
                   h264_profile 0x00990a6b (menu)   : min=0 max=4 default=4 value=4
                                0: Baseline
                                1: Constrained Baseline
                                2: Main
                                4: High

Gave that one a try, and its a major regression in performance.
With that one audio is no longer in sync, tho video didn't seem to have artifacts.

I try to keep mbattista/neko:arm-chromium, mbattista/neko:arm-firefox and mbattista/neko:arm-base via github actions up-to-date with m1kio/neko dev branch.

@mbattista please change those formats to reflect what arm / pi version they're build for

true.
I will tag them with armv7-xxxx later.


refactor: Addressing clippy lints

Hey @open-schnick noticed that the Pipeline was failing. Hope this helps 👍

Thanks for the library too 💯

Thank you very much, i added even some more lints. Thank you :)


Closing worker<PHONE_NUMBER>08848 with reason: worker recycled

wssh --fbidhttp=False --origin=* --debug
run behind nginx.
PC chrome connect normally,
[I 191119 09:35:55 web:2162] 200 POST / (<IP_ADDRESS>) 2024.68ms
[I 191119 09:36:07 handler:402] Connecting to <IP_ADDRESS>:22
[I 191119 09:36:07 transport:1819] Connected (version 2.0, client OpenSSH_7.4)
[I 191119 09:36:07 handler:86] Trying password authentication
[I 191119 09:36:07 transport:1819] Authentication (password) successful!
[I 191119 09:36:07 web:2162] 200 POST / (<IP_ADDRESS>) 281.19ms
[W 191119 09:36:07 web:2162] 400 GET /ws?id=140084172208848 (<IP_ADDRESS>) 0.85ms
[W 191119 09:36:10 worker:28] Recycling worker<PHONE_NUMBER>08848
[I 191119 09:36:10 worker:115] Closing worker<PHONE_NUMBER>08848 with reason: worker recycled
[I 191119 09:36:10 worker:122] Connection to <IP_ADDRESS>:22 lost

'''[W 191119 09:36:07 web:2162] 400 GET /ws?id=140084172208848 (<IP_ADDRESS>) 0.85ms'''
It seems the websocket is failed to connect as the URL path is not correct.

Can you show your Nginx configuration?

Hello, got the same problem. sorry for my English.
when i click on 'connect' nothing happen, and plenty of error pop up.
before this i was getting a error directly on the page ''cross origin operation not allowed" which not appeared anymore but nothing append now, i don't know what i change so i pip uninstall webssh and pip install webssh and still do the same things. thanks.
running behind nginx at example.com/ssh, all static file are served.
`location /ssh {
proxy_pass https://<IP_ADDRESS>:4433/;
}
location /static {
alias /home/pi/.local/lib/python2.7/site-packages/webssh/static/;
}
`
chrome 'inspect' page :
there also other variable on this page : Event {isTrusted: true, type: "error", target: WebSocket, currentTarget: WebSocket, eventPhase: 2, …}
main.js:351 WebSocket connection to 'wss://<IP_ADDRESS>/ssh/ws?id=3049008080' failed: Error during WebSocket handshake: Unexpected response code: 404 ajax_complete_callback @ main.js:351
wssh --keyfile='private.key' --certfile='certificate.crt' output :
[I 191205 15:05:21 web:2162] 200 GET / (<IP_ADDRESS>) 4.84ms [I 191205 15:05:28 handler:402] Connecting to localhost:22 [I 191205 15:05:28 transport:1819] Connected (version 2.0, client OpenSSH_7.9p1) [I 191205 15:05:29 handler:86] Trying password authentication [I 191205 15:05:29 transport:1819] Authentication (password) successful! [I 191205 15:05:29 web:2162] 200 POST / (<IP_ADDRESS>) 377.55ms [W 191205 15:05:29 web:2162] 404 GET //ws?id=3048744592 (<IP_ADDRESS>) 0.98ms [W 191205 15:05:32 worker:28] Recycling worker<PHONE_NUMBER> [I 191205 15:05:32 worker:115] Closing worker<PHONE_NUMBER> with reason: worker recycled [I 191205 15:05:32 worker:122] Connection to localhost:22 lost
thanks you.

i fixed the error i got, the same as op, but dont now what did it work.
i removed all the header in the nginx conf :
location /ssh { proxy_pass https://<IP_ADDRESS>:4433/; }
and i used <IP_ADDRESS> and not <IP_ADDRESS> for both http & https in settings.py
after that i don't remember if i have done anything else.
but now my problem is that i got Cross origin operation is not allowed.
can you help me to fix that ?

@mirsella
Your problem is different from the problem of bingart.

Closed it by mistake.

Try
location /ssh/ {
proxy_pass https://<IP_ADDRESS>:4433/;
}

See if it works or not.

i tried to add a / at the end of /ssh, now i dont have to change de static file location in index.html, but i still got cross origin operation not allowed.
i've tried with wssh and wssh --origin='' i don't know what i have to enter for the origin value, i tried with : example.com, example.com/ssh, example.com/ssh/, <IP_ADDRESS>, <IP_ADDRESS>:4433, <IP_ADDRESS>/ssh, <IP_ADDRESS>/ssh/ and still got the same error message, but i'm not sure what i have to enter for the --origin option, the hostname or because of proxy_pass <IP_ADDRESS> ?
i tried also modified the code to remove the raise ValueError ('cross origin etc') in handler.py and/or the function get_origin_setting(option) in settings.py to make it return '*' but i get the same error as when i tried --debug=true :
400 GET /ws?id=3048684816 (<IP_ADDRESS>) 1.32ms
Recycling worker<PHONE_NUMBER>
thanks

@mirsella
Can you tell me what browser do you use?
Also on what platform?

@huashengdun
webssh is on my raspberry pi 4 with raspbian. everythings is up to date. i don't know if a update broke a dependencies.
i have tried webssh on :
chromium Version 78.0.3904.97 (Official Build) Arch Linux (64-bit) on Linux manjaro 5.4.0-1-MANJARO #1 SMP PREEMPT Sun Nov 17 15:34:14 UTC 2019 x86_64 GNU/Linux
on my android phone with brave browser.
here i got "cross origin operation not allowed", that I connect to my raspberry locally (192.168.166/ssh) or by my 4G (example.com/ssh)
but I just realized that when trying with a "online free proxy" like for example https://hide.me/en/proxy i'm not getting cross origin operation not allowed, but
[W 191206 11:26:58 worker:28] Recycling worker<PHONE_NUMBER>
[I 191206 11:26:58 worker:115] Closing worker<PHONE_NUMBER> with reason: worker recycled
really weird. i'm lost lol.
can you explain briefly what is the technical reason for these to two error to pop up ? i known what is CORS but what is the value of origin etc ?
thanks

xterm.js doesn't support mobile. Please don't try on mobile platform.
"cross origin operation not allowed" means origin does not match or origin is not in the origin list on server side.
"Recycling worker" means  the worker is generated by the post request (form), but the worker has not been used after some time(3 seconds). This means the server does not receive the websocket connection request from you client (browser).

thanks, it's more clear now.
when i say "i have tried webssh on :" is on what platform i connected to example.com/ssh if I've misexpressed myself.
somehow when it was working fine, it worked on my phone without problem too. i'm speaking just by going on example.com/ssh on my phone and it was working, dunno who.
anyway thanks i think i'll will just redirect port 4433 on my box to my raspberry and connecting by entering the port :(
thanks for your time, have a great day

i made it work, i copy past the header list in your example, and now is good. thanks, this is the best browser ssh client out there, and it's open source. god bless you.
https://imgur.com/a/xhl5Dmj

@mirsella what header list did you copy-paste?
I have the same problem with websocket proxing.

@RyabykinIlya the one in the README :)
location / {
    proxy_pass http://<IP_ADDRESS>:8888;
    proxy_http_version 1.1;
    proxy_read_timeout 300;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Real-PORT $remote_port;
}