Delete Request not including request body

I am seeing that even though I create delete Request with body but the request received by server doesn't have the body. Is this not supported ? if so what is the rationale behind it?

CC @artemredkin

From RF 7231

A payload within a DELETE request message has no defined semantics;
sending a payload body on a DELETE request might cause some existing
implementations to reject the request.

That seems like we do actually comply to the spec because a payload on DELETE has no defined semantics. However, it might be better to pass the body on or to fail the request...
CC @Lukasa

"No defined semantics" doesn't mean "cannot have", just means that REST doesn't imply anything about what such a payload means. It's totally fine to have one, it's just up to the server and client to agree on what it means.
The actual bug here is in NIOHTTP1. I captured the TCP stream of such a request in Wireshark, and here's what we sent (I just picked a random body I had lying around in a sample project):
DELETE /delete HTTP/1.1
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Host: httpbin.org
Connection: close

grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&assertion=ddd

This occurs because NIOHTTP1's sanitizeTransportHeaders is stripping the content-length header that async-http-client set. The switch statement in HTTPMethod.hasRequestBody is overbroad: we should be only forbidding bodies in TRACE. HEAD and DELETE may have bodies, they just have no defined meaning, so they should go in .unlikely. That will fix this issue we see here.

@Lukasa my reading of “no defined semantics” was that server & client can do whatever they want. Therefore I was assuming that not sending it is spec compliant (and so is sending it).
I agree that the spec definitely doesn’t say it must not have a body.

Not sending it is spec compliant but not useful, as there are definitely use-cases that require sending it.

Agreed, hence suggesting to either sending it (more useful) or failing it (less useful). I’ll file a NIOHTTP1 bug.

So it had to do purely with swift-nio. This is awesome I really appreciate the fix, as there are scenarios/apis where we require body in delete
Assuming this will be fixed in next patch release of swift-nio And using it in my project will fix it for I will have to wait for async-http-client Release?

@prafsoni once nio is released a swift package update will be enough. You could also add a dependency on the to-be-released NIO version into your own package to force the new version even without swift package update

@weissi Thanks. My project already has NIO dependency so it’s good to know I can get fix sooner. But I think I can wait till nio is released.

@prafsoni should be fixed with NIO 2.12.0

@weissi it's working :)

Thanks so much, closing


Explain new functions in EmpaStatusDelegate

Hey,
thank you for the code sample!
I am switching from the old library empalink 2.2 to the new library E4link 1.0 and noticed the two new functions bluetoothStateChanged and didFailedScanning in the EmpaStatusDelegate. How should I use these new functions ?
This code sample is not using the functions and the java docs doesn't even list them.

Hi @olLenz this new function are just a propagation of the system callbacks about bluetooth state and bluetooth scanning.
You can check the open PR #3 where the function are used for debugging purposes


Document the Rust API.

A documentation site can now be automatically generated from the source-level docs using cargo doc. This can then be hosted using Github Pages.
Closes #13

I am a bit torn, should this describe methods in terms of EEI methods (and refer to their names) or duplicate the high level descriptions from the EEI spec?


At bottom of page, selectricAbove not being applied

We implemented the plugin and things we're going great. The only issue we cam across that that the select lists we're not expanding upward when at the bottom, or close to the bottom, of the page.
It doesn't look there is something special we should have to do to get this to work properly. Has there been issues with something interfering with this selectricAbove feature?

This bug can be closed.  List items must be displayed in order for the height and open direction calculations to work as intended.
For robustness, it could be useful to add the open class to the outer wrapper before calculating height so that any css styles that are dependent on the selectricOpen class will be applied.
eg:
            $outerWrapper.addClass(_this.classes.open);
            itemsHeight = $items.outerHeight();
            itemsInnerHeight = $items.height();


MultiDoge is not opening

Hi there, Can anyone help me with the following matter. When starting the MultiDoge 0.1.7, i hear and see (attachement) the program does something on the background but it is not opening the wallet.... Is there something to do about this?

You could backup your wallet.dat file and reinstall your multidoge client, perhaps that fixes it.
It is possible though, that it just needs more time to start.
Anyways, you should rather ask your question in the multidoge repo or on reddit

Wrong repo. There is a post on Reddit about how to fix it ;)


"nn" gets converted to "ん"

概要
"nn" gets converted to "ん"
再現方法
Steps to reproduce the behavior:
Convert "konnichiha". You get "こんいちは" instead of "こんにちは".
Of course it happens with all "nn", for example "kinniku"
期待する動作
You should get "こんにちは"
備考
Add any other context about the problem here.
Changing map 'nn': 'ん' to 'nn': 'んn' in romaji2hiragana.js fixes that.

this is needed for gennin and shinnyuu. I prefer support for gen'in though.
"n'": 'ん'
is what I ended up changing that line to.


Add translation coverage row to dashboard

Short description

This PR adds the translation coverage row to the dashboard. This branch is already quite old and needs a bit of an update, however I finally wanted to open up this PR to get some feedback in advance
Proposed changes

Calculate the number of outdated translations
Load the row via AJAX to increase loading time

Side effects

Uff... the calculation doesn't seem great. Is someone aware of a better way to do it?

Resolved issues

Fixes: #4

Pull Request Review Guidelines

Do you have a reason why you choose a different approach then translation_coverage_view.py?

Do you have a reason why you choose a different approach then translation_coverage_view.py?

Ah sorry, I overlooked the point about AJAX

@jarlhengstmengel I think this PR is ready for review again :)


In NonLinearClassifier file, you used BatchNorm2d after Linear layer in "Multilayer" settings, is this a bug?

There are many bugs in this projects! I'm wondering the author did not test the code when uploading it.

There are many bugs in this projects! I'm wondering the author did not test the code when uploading it.

Hi, do you plan to make a pull request for your debugged code version if you like? Thank you!

Has this been fixed?


Allowing updates to EnumDefs

EnumDefs define the allowed values for an Enum type.  EnumDefs are AttributeTypeDefs.  This means they can not be changed.  This issue proposes a new optional method on the OMRSMetadataCollection interface that allows an AttributeTypeDefPatch.  The default behaviour would be to ignore the patch.
Valid changes through this new mechanism allow

additional values to be added to an EnumDef and
existing values to be marked as deprecated.

This means that all entities/relationships/classifications that use this enum are still valid.
No changes will be allowed to PrimitiveDefs and CollectionDefs.  New types can be added if needed.

I have assigned this to me so it has an owner but if someone else wants to take this on, let me know ...

Still needed

I am going to close this since we have not requirement to do this and are using valid values to define Enums now


Create SJF.java

Codecov Report

Merging #18 (63bdc0f) into master (c047e1a) will increase coverage by 0.05%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master      #18      +/-   ##
============================================
+ Coverage     33.02%   33.07%   +0.05%
+ Complexity     1786     1784       -2
============================================
  Files           239      238       -1
  Lines         13939    13910      -29
  Branches       2635     2631       -4
============================================
- Hits           4603     4601       -2
+ Misses         9095     9066      -29
- Partials        241      243       +2

Impacted Files
Coverage Δ

...set/algorithms/strings/BoyerMooreStringSearch.java
77.77% <0.00%> (-3.71%)
:arrow_down:

...t/algorithms/datastructures/skiplist/SkipList.java
95.50% <0.00%> (-1.13%)
:arrow_down:

.../com/williamfiset/algorithms/sorting/CombSort.java

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


requires_dist specifies numpy version <1.17 for Python 3

https://pypi.org/pypi/nmslib/json returns requires_dist field that specifies numpy <1.17 (introduced in https://github.com/nmslib/nmslib/commit/be36b2be130789c04eddce3382cff72efdc4b676#diff-535bcc8311fdc34129ee96ab7738ba25, I think to reflect numpy >=1.17 not being supported under Python 2)
"requires_dist": [
      "pybind11 (>=2.2.3)",
      "psutil",
      "numpy (<1.17,>=1.10.0)"
    ],

This means that resolving versions forces numpy version <=1.16 , even for Python 3 where the restriction isn't needed - which causes incompatibility with another package I'm using (this is a problem because I'm using poetry where the dependency resolution is stricter than pip - if I install with pip it'll tell me about the incompatibility but work anyway).
I believe https://github.com/nmslib/nmslib/pull/443, raised ~2 weeks ago, should fix it - AppVeyor and Travis CI pipelines pass - thought I'd create an issue in case that hadn't been spotted.

Hi @searchivarius - this is still stopping nmslib from being installable with new numpy in projects that enforce dependency constraints properly. If there's likely to be much more work before develop is pulled into master, is there any chance of backporting the fix for this into master?
As said, this prevents me from installing nmslib at all.

@akdor1154 it's fixed in develop right?

I think so, because #446 got merged. However I can't really ensure this because the problem's only visible when trying to install a prebuilt wheel from pypi (and the latest wheel is 2.0.6 from April '20).

@akdor1154 ok, I am working on some test script (should be ready soon), then I will build binaries. sorry about the delay, I am trying to be more thorough with this (and future) release.

No worries, thanks - can work around by e.g. depending on github url directly for now. :)

Like many larger C/C++ projects containing optional Python bindings, the setup.py is in a subdirectory, so at least this poetry issue: https://github.com/python-poetry/poetry/issues/755 would need to be addressed before we can install from GitHub.

@akdor1154 and @jjjamie the fix should be in the latest release. Thank you! Do let me know if there's still a problem.

thanks for all your hard work!

sorry about delays, it should get faster this year :-)

I think some of the wheels in the latest release still have the incorrect metadata.
For example, this wheel contain:
Requires-Dist: numpy (<1.17,>=1.10.0) ; python_version == "2.7"
Requires-Dist: numpy (>=1.10.0) ; python_version >= "3.5"

While this other wheel contains:
Requires-Dist: numpy (<1.17,>=1.10.0)
Requires-Dist: numpy (>=1.10.0)


Compensate for clock skew

There may be clock skew among the different servers involved in processing a request. We can make the assumption that a span always happens after its parent, which means that we can adjust timestamps.
Because we receive spans in the reverse order, from the inside out, we cannot adjust the timestamps right away. Some possible solutions to this problem are:

In the server, buffer all spans of a trace until the root span is done, then adjust the timestamps and save a whole trace to the backend
Add an API to the Storer interface so that we can update the timestamp at a later point
Force each Storer implementation to adjust timestamps itself

Each of these solutions has some drawbacls:

Buffering in the server means that in-process traces cannot be inspected
Adding more functions to Storer makes implementing a backend more complex. Additionally, append-only backends would be hard to implement right.
Implementing the logic in each implementation of Storer duplicates a lot of logic.

At the moment, buffering in the server seems like the most favourable solution.

As an idea, what about maintaining a separate journal of adjustments which is written to with a delay.
Its use is optional, so when accessing spans, the journal is consulted and if there's nothing there, spans are returned as is. Otherwise, the journal entry time modification can be applied on top of the span's recorded time.
The journal can be either be kept indefinitely, or processed and integrated into the main timeline whenever possible (kinda like a queue).

@shurcooL Some issues that I see with the idea:

It adds a significant new bit to the data model, and in turn more to the API surface of a storage backend
A span is no-longer a self-contained unit
The adjustments really aren't that optional. Unadjusted timestamps can lead to paradoxical traces where events precede their cause. By the time a span's parent is in the trace and viewable by a user, the span should have timestamps adjusted in relation to its parent.

Agreed.


Exporting Mutants' Source Files

I exported Major's properties before "defects4j mutation" command.
export MAJOR_OPT="-J-Dmajor.export.mutants=true -J-Dmajor.export.directory=xyz"
However, I can't find any mutated version under the specified directory.

I first executed the command "defects4j mutation", then, export Major's properties and run the command again. (no mutated source files generated)
I deleted the project and checked out the fresh version again and export Major's properties before running "defects4j mutation". (Mutated source files generated under the specified directory)


Convert deprecated_feature_use to Gauge

We use the deprecated_feature_use counter to track deprecations,
however it doesn't properly get reset during hot restarts.
By making it a Gauge that is not imported during hot restart,
we get the right value to track and alert on.
Signed-off-by: Raul Gutierrez Segales<EMAIL_ADDRESS>

cc: @alyssawilk (who added the deprecation utilities via #5840)

Drive by: I don't think we can change this without breaking existing users, as some people are likely relying on this being a counter. I think it would be fine to have a gauge in parallel that tracks active deprecations or something like that? cc @jmarantz @alyssawilk

Drive by: I don't think we can change this without breaking existing users, as some people are likely relying on this being a counter. I think it would be fine to have a gauge in parallel that tracks active deprecations or something like that? cc @jmarantz @alyssawilk

shouldn't it be transparent to them, except for the fact that it gets reset (instead of doubled!) on hot restart?

Another option would be having a ResettableCounter, and resetting it on hot restart. That is, if a Gauge ends up being inconvenient.

shouldn't it be transparent to them, except for the fact that it gets reset (instead of doubled!) on hot restart?

This depends on the stats system. In some implementations the namespace/tags/name of the final stats will be different if it is a counter vs. a gauge.

Another option would be having a ResettableCounter, and resetting it on hot restart. That is, if a Gauge ends up being inconvenient.

If you can't use a counter (by looking at deltas during deploys) I think it would probably be OK to add a parallel gauge to track this information but I would want to hear from @alyssawilk and @jmarantz on this.

If you can't use a counter (by looking at deltas during deploys) I think it would probably be OK to add a parallel gauge to track this information but I would want to hear from @alyssawilk and @jmarantz on this.

Cool -- it's actually low priority. But it makes little sense to have this counter carried over across hot restarts, since a new binary will read fresh -- and possibly not deprecated -- configs. So would be nice to fix (in a non-breaking way, if possible).

Counters are typically ingested as deltas, so I don't think it makes much difference one way or the other, though I can see the benefit of treating it as a gauge.

Yeah, I don't think replacing the counter would work.  I don't have a strong opinion about resetting on restarts vs having a parallel gague (though I would think we'd want to eventually deprecate the counter and we should have some policy on stats removal - maybe also a multi-year process?).  I do wonder if all stats systems are resilient to counter resets - I recall internal folks being worried about counters going from 0 to nonexistant, but I assume going from positive to zero would be OK?

I recall internal folks being worried about counters going from 0 to nonexistant, but I assume going from positive to zero would be OK?

Unfortunately this is extremely dependent on the metrics backend implementation. Some work with deltas only so don't care about resets, some do care, etc. I think we really can't delete/change this counter at all. If we want to add a parallel gauge I'm fine with that given how important this case is.

OK, happy to have a parallel gauge if we think that's a win over the counter not increasing post-restart.
Flagged as waiting since we agreed replacing the counter with a gauge is not doable.

Actually taking a step back, @mattklein123 @htuch  didn't we discuss getting rid of the deprecated features framework given the version replacement work?  Given stats are permanent I'm leery about adding a new one if we're going to scrap the system.
That said if we can allow most users to surf by on config-latest, I think the deprecated annotation remains useful and we should land this.
@rgs1 this is on the agenda of tonight's call so hopefully we'll have the start of a plan but I also wouldn't expect to have closure after a 30m meeting :-/

Actually taking a step back, @mattklein123 @htuch didn't we discuss getting rid of the deprecated features framework given the version replacement work? Given stats are permanent I'm leery about adding a new one if we're going to scrap the system.

My personal feeling is it's going to take a pretty long time for us to agree on a different solution for deprecation. Given how important it is for folks to understand when they are using deprecated fields and realistically how long it will be to figure something out I would be OK adding this stat but I don't feel super strongly about it. Agreed though we can see what happens on the call later today.

Coming back to this after the (first round of) version discussion I agree with Matt - I'm cool with landing this now, modulo the outstanding naming it :-)

Yeah, agreed, we need the new design before changing support for the existing deprecation policy.

LGTM!
One last minor request - next PR mind filling out the template when you create the issue? It's just a bit easier when we merge.

Yup, yup -- will do. Sorry about that!


Deploy ka-lite data folders to another location outside of the .app.

Branch Develop
Target 0.14.x
Expected Behavior
Deploy ka-lite data folders to another location outside of the .app, as specified by user on preferences dialog to make upgrades easy.  Default to the user's home folder like ~/.kalite.

[ ] Database path
[ ] Data content like assessment items or language packs

Two things to watch-out here:
1. settings.USER_DATA_ROOT at https://github.com/learningequality/ka-lite/blob/develop/kalite/settings/base.py#L178
Defaults to ~/.kalite/ and will be the target for user contents like database, assessment items, videos, etc.
We can also set the KALITE_HOME environment variable if we want to customize the location.
2. settings.IS_SOURCE at https://github.com/learningequality/ka-lite/blob/develop/kalite/settings/base.py#L92
If True - this tells the ka-lite server that we are running from the git source which means in a development environment.  This will override the USER_DATA_ROOT setting above to be equal to settings.SOURCE_DIR.
We can make this return False by deleting the .KALITE_SOURCE_DIR file at https://github.com/learningequality/ka-lite/blob/develop/.KALITE_SOURCE_DIR when we build the ka-lite resources at setup.sh.


Black background when creating jpg with transparent background

Hello,
I'm trying to create a jpg screenshot of a page that has transparent background, using the simplest example, provided at http://phantomjs.org/screen-capture.html but it saves it with a black background. Saving it as a PNG (which supports transparency) seems to be working properly (as fixed in https://github.com/ariya/phantomjs/commit/1a25383307510161b8a80ab2d3032708adb7789b) but in our case the format is required to be JPG.
The browsers seem to display transparent backgrouns as white and even automatic exporting from transparent PNG to JPG saves it with a white background, so I guess that is the expected behaviour. Is the current situation a bug? Can someone suggest a workaround (except for using PNG, which is not an acceptable solution in our case)?
I'm attaching an example screenshot, generated by the example and the website that was used for that screenshot - http://www.phoenixx-handwerk.de)

I am using 2.0.0 and have same issue. Is this a known issue in version 2.0 as well?

Using the Windows builds from Bitbucket, 2.0.0 and 1.9.8, both have significant black background issues with JPG. Minor issues with PNG as well. PDF does not share this issue. If/when these issues are fixed, new builds would be appreciated.

Here's a partial workaround for the issue. This code injects a style element with a white background-color into the  section of the HTML content. This should be before any style information on the page is set, so it won't override any user-defined background color. Define expectedLocation.
This fix suggests that the rendering engine assumes black is the default background color if no background color is defined in the document.
expectedLocation = 'http://www.example.com';
idx = page.content.indexOf('<head>') + 6;
if (idx > 0) {
    page.setContent(page.content.slice(0, idx) + "<style> body { background-color: #ffffff; } </style>" + page.content.slice(idx), expectedLocation);
}
page.render(output);

I confirm this is still a problem in the latest development code, which makes it a regression from 1.x.
In principle, fixing this is not difficult, but (as I mentioned on #12977) the fix needs to be limited to JPEG (and any other format that doesn't support transparency).

Any updates about this?

I still have this problem with the latest version of PhantomJS in Windows 10.

I would be happy with a default white background since thats what Chrome and FF use as default


BindException in Guard.php line 80: Can't contact LDAP server

Laravel Version: 5.4
Adldap2-Laravel Version: 3.0.1
PHP Version: 7.0

Description:
Hello,
I am trying to load my own ldap credentials via Connections\Provider but when I try to connect Adldap still reads the config credentials in /config/adldap.php. I am using connect() for the provider is this correct? Here is my code:
 $Ldapconfig = [
            // Mandatory Configuration Options
            'domain_controllers'    =>  ...
             ....
]

      $provider = new \Adldap\Connections\Provider($Ldapconfig);

        $provider->connect();

        $user = Adldap::search()->users()->find('rpwang');
        dd($user);

BindException in Guard.php line 80: Can't contact LDAP server

    in Guard.php line 80
    at Guard->bind('username', 'password', '', '') in Guard.php line 93
    at Guard->bindAsAdministrator() in Provider.php line 210
    at Provider->connect() in AdldapServiceProvider.php line 95
    at AdldapServiceProvider->Adldap\Laravel\{closure}(array('auto_connect' => true, 'connection' => 'Adldap\\Connections\\Ldap', 'schema' => 'Adldap\\Schemas\\ActiveDirectory', 'connection_settings' => array('account_prefix' => '', 'account_suffix' => '', 'domain_controllers' => array('iam_in_config_adldap_corp-dc1.corp.acme.org', 'corp-dc2.corp.acme.org'), 'port' => 389, 'timeout' => 5, 'base_dn' => 'dc=corp,dc=acme,dc=org', 'admin_account_suffix' => '', 'admin_username' => 'username', 'admin_password' => 'password', 'follow_referrals' => false, 'use_ssl' => false, 'use_tls' => false)), 'default') in Collection.php line 244
    at Collection->each(object(Closure)) in AdldapServiceProvider.php line 100
    at AdldapServiceProvider->addProviders(object(Adldap), array('default' => array('auto_connect' => true, 'connection' => 'Adldap\\Connections\\Ldap', 'schema' => 'Adldap\\Schemas\\ActiveDirectory', 'connection_settings' => array('account_prefix' => '', 'account_suffix' => '', 'domain_controllers' => array('iam_in_config_adldap_corp-dc1.corp.acme.org', 'corp-dc2.corp.acme.org'), 'port' => 389, 'timeout' => 5, 'base_dn' => 'dc=corp,dc=acme,dc=org', 'admin_account_suffix' => '', 'admin_username' => 'username', 'admin_password' => 'password', 'follow_referrals' => false, 'use_ssl' => false, 'use_tls' => false)))) in AdldapServiceProvider.php line 54

Steps To Reproduce:

Hi @rpwang,
This is due to the auto_connect option being true in your config/adldap.php file. This is shown in your exception:
at AdldapServiceProvider->Adldap\Laravel\{closure}(array('auto_connect' => true

Set the option to false and you should be set.

Hi @stevebauman,
Indeed you are right! Adldap is now ignoring the default config. However I am getting a new exception. It seems my config array is invalid. If I add my ldap credentials in the default config then adldap can connect to our ldap server but using the config array with Provider it does not connect..
 $Ldapconfig = [
            // Mandatory Configuration Options
            'domain_controllers'    => ['zeus.company.local', 'iris.company.local'],
            'base_dn'               => 'dc=company,dc=local',
            'admin_username'        => 'bindusr',
            'admin_password'        => 'pasword1234',
            'account_prefix'        => '',
            'account_suffix'        =><EMAIL_ADDRESS>            'admin_account_suffix'  => '',
            'port'                  => 389,
            'follow_referrals'      => false,
            'use_ssl'               => false,
            'use_tls'               => false,
            'timeout'               => 5
        ];

BindException in Guard.php line 80: Can't contact LDAP server

    in Guard.php line 80
    at Guard->bind('username', 'password', '', '') in Guard.php line 93
    at Guard->bindAsAdministrator() in Provider.php line 210
    at Provider->connect() in Adldap.php line 126
    at Adldap->__call('search', array()) in Facade.php line 221
    at Facade::__callStatic('search', array()) in SessionsController.php line 110
    at SessionsController->store(object(Request))
    at call_user_func_array(array(object(SessionsController), 'store'), array(object(Request))) in Controller.php line 55
    at Controller->callAction('store', array(object(Request))) in ControllerDispatcher.php line 44
    at ControllerDispatcher->dispatch(object(Route), object(SessionsController), 'store') in Route.php line 203
    at Route->runController() in Route.php line 160
    at Route->run() in Router.php line 559
    at Router->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 30
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in SubstituteBindings.php line 41
    at SubstituteBindings->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in VerifyCsrfToken.php line 65
    at VerifyCsrfToken->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in ShareErrorsFromSession.php line 49
    at ShareErrorsFromSession->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in StartSession.php line 64
    at StartSession->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37
    at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in EncryptCookies.php line 59
    at EncryptCookies->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 102
    at Pipeline->then(object(Closure)) in Router.php line 561
    at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 520
    at Router->dispatchToRoute(object(Request)) in Router.php line 498
    at Router->dispatch(object(Request)) in Kernel.php line 174
    at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) in Pipeline.php line 30
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in TransformsRequest.php line 30
    at TransformsRequest->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in TransformsRequest.php line 30
    at TransformsRequest->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in ValidatePostSize.php line 27
    at ValidatePostSize->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 46
    at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 148
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 53
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 102
    at Pipeline->then(object(Closure)) in Kernel.php line 149
    at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 116
    at Kernel->handle(object(Request)) in index.php line 53

Manage to work it out using a different config template described here:
https://github.com/Adldap2/Adldap2/blob/master/docs/connecting.md

Glad you've resolved the issue! Thanks for following up.

I have to connect my ldap with an existing ldap system with the following conditions:
Domain used is <IP_ADDRESS>
Username 0000001 and password 123456.
I've opened this link , but I still don't understand how to use it. This is my adldap.php code
<?php

return [

    'connections' => [

        'default' => [

            'auto_connect' => true,

            'connection' => Adldap\Connections\Ldap::class,

            'schema' => Adldap\Schemas\ActiveDirectory::class,

            'connection_settings' => [

                'account_prefix' => env('ADLDAP_ACCOUNT_PREFIX', ''),

                'account_suffix' => env('ADLDAP_ACCOUNT_SUFFIX', ''),

                'domain_controllers' => explode(' ', env('ADLDAP_CONTROLLERS', '<IP_ADDRESS>')),

                'port' => env('ADLDAP_PORT', 389),

                'timeout' => env('ADLDAP_TIMEOUT', 5),

                'base_dn' => env('ADLDAP_BASEDN', 'dc=<IP_ADDRESS>'),

                'admin_account_suffix' => env('ADLDAP_ADMIN_ACCOUNT_SUFFIX', ''),

                'admin_username' => env('ADLDAP_ADMIN_USERNAME', '0000001'),
                'admin_password' => env('ADLDAP_ADMIN_PASSWORD', '123456'),

                'follow_referrals' => false,

                'use_ssl' => false,
                'use_tls' => false,

            ],

        ],

    ],

];

// Create a new Adldap Provider instance.
$provider = new \Adldap\Connections\Provider(connections);

$ad = new \Adldap\Adldap(connections);

try {
    // Connect to the provider you specified in your configuration.
    $provider = $ad->connect('default');

    // Connection was successful.

    // We can now perform operations on the connection.
    $user = $provider->search()->users()->find('0000001');

} catch (\Adldap\Auth\BindException $e) {
    die("Can't connect / bind to the LDAP server! Error: $e");
}

@stevebauman I am still getting the same error above BindException in Guard.php line 80: Can't contact LDAP server... but auto_connect is set to false. I am using Sentinel to manage the authorization and I would like to add Adldap for the authentication. Any idea would be very much appreciated

@riskinovitasari, that link is for the root Adldap2 repository.
It outlines creating and configuring an LDAP connection.
You do not need to do this in Adldap2-Laravel, as the connections are created automatically from your config/adldap.php file.
@nkalambert8, that is a generic LDAP connection exception simply stating it can't connect. Are you sure your machine and PHP instance can contact the LDAP server you've configured?

Thanks for the quick reply. I think the machine and PHP instance should be able to contact the LDAP. But I may have to double check. Well I am running the application in a docker image, ldap server is using ssl. From the host machine, I can contact LDAP. I have tested that. Do I have to add other configurations in the docker instance?

Well I am running the application in a docker image, ldap server is using ssl. From the host machine, I can contact LDAP. I have tested that. Do I have to add other configurations in the docker instance?

Unfortunately I'm not sure. I don't have much experience with docker.
I would try pinging your LDAP server from your docker VM if possible, and see if it returns a response.

@stevebauman I can ping the ldap server from the docker image, the docker vm uses the same network settings as the host, I believe. I will continue debugging to check why with sentinel I am not able authenticate ldap users.


Release notes for MSAL Angular 1.0.0-beta.4

Coverage decreased (-1.2%) to 72.856% when pulling 8a997cb9591ff639f58241d6fb13266fe65548f7 on 1.0.0-beta.4-angular into b60a788265ec5962371a44ab31070bdc4b5f2345 on dev.


Create a custom RegEx for the username

https://github.com/ID-JA/2tinylink/blob/475a4b4c2e37b3f722cca7d02126ba71e04dfa42/server/src/Application/Common/Helpers/Consts/AppRegEx.cs#L7


Another exception was thrown: PlatformException(error, No active stream to cancel, null, null)

[        ] Reloaded 31 of 2804 libraries in 1,298ms (compile: 607 ms, reload: 497 ms, reassemble: 103 ms).
[+3221 ms]
══╡ EXCEPTION CAUGHT BY SERVICES LIBRARY ╞══════════════════════════════════════════════════════════
The following PlatformException was thrown while de-activating platform stream on channel
dev.steenbakker.mobile_scanner/scanner/event:
PlatformException(error, No active stream to cancel, null, null)
                When the exception was thrown, this was the stack:
                #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:653:7)
                #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:296:18)
                <asynchronous suspension>
                #2      EventChannel.receiveBroadcastStream.<anonymous closure>

(package:flutter/src/services/platform_channel.dart:649:9)

════════════════════════════════════════════════════════════════════════════════════════════════════
[+4200 ms]
Another exception was thrown: PlatformException(error, No active stream to cancel, null, null)
Flutter version 3.3.9
moblie_scan 3.2.0

Any progress on this issue?

I am gearing the same issue. Any progress on this?

I am having the same issue.
flutter version: 3.10.5
mobile scanner: 3.2.0
firebase crash event
flutter_error_exception	PlatformException(error, No active stream to cancel, null, null)
flutter_error_reason	thrown while de-activating platform stream on channel dev.steenbakker.mobile_scanner/scanner/event

Stack trace
	Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'android.hardware.camera2.CaptureRequest android.hardware.camera2.impl.CameraDeviceImpl$CaptureCallbackHolder.getRequest(int)' on a null object reference
       at android.hardware.camera2.impl.CameraDeviceImpl$CameraDeviceCallbacks.onResultReceived(CameraDeviceImpl.java:2172)
       at android.hardware.camera2.legacy.CameraDeviceUserShim$CameraCallbackThread$CallbackHandler.handleMessage(CameraDeviceUserShim.java:327)
       at android.os.Handler.dispatchMessage(Handler.java:107)
       at android.os.Looper.loop(Looper.java:237)
       at android.os.HandlerThread.run(HandlerThread.java:67)

I'm seeing this issue as well. I'd like to also include some further research I did, that may help provide more context.
The exception that @emrahkenan posted:
Google Issue That Describes Same Exception
The google dev here specifically recommends:

When invoking SurfaceRequest.provideSurface(surface, executor,  Consumer) ,  the Consumer will get notified that the surface is safe to be released.

Could it be that we're not releasing the surface (or the underlying texture) at the right time?
Either way I think some additional logging within that callback may help further debug this issue, as there are several results that may be provided, which further describe any errors that occur when binding the surface to the request.
(provideSurface result constants)[https://developer.android.com/reference/androidx/camera/core/SurfaceRequest.Result#constants_1]

same issue....completely screws up repeat scans

Any news?
Having same issue with mobile_scanner: 3.5.5
Is this fixed with the latest version 5.0.0 ??


Write man page for "gps create-patch"

See https://github.com/uptech/git-ps-rs/blob/main/doc/gps-add.1 for an example


Fail to include clipboard as module when using requirejs's optimizer namespace rename

The requirejs optimizer has an option to namespace any require method calls (require, module, define) to protect against scenarios where you cannot control the possible presence of a second requirejs, which would collide.
What the namespace option does is essentially prefix all require and define calls. Although it does go through all included module's code to replace those, somehow the dist code of clipboard fails to pass through and clipboard ends up undefined.
Now, my guess is this has to do with how clipboard is transpiled, but to be perfectly honest this goes somewhat above my head. Of about 20 or so included libraries in my project this is the only that fails when the requirejs optimizer namespaces those calls. Any ideas where to look or what could cause it?

Hey @kontur, I've never seen this problem before as well, but I'm open for pull requests if needed. Thanks!


SceneComponent.js: module does not exist in the module map

I used native base & It works properly, today i updated npm, now a problem appears and i get this error:

I'm getting same error.
I trying to compile project using native base and typescript. But I getting some errors.
What's the native-base version are you using?

@flaviojunior @cyaxares latest version of NativeBase (v2.1.1) works for RN 43 and React 16.
For versions below that you need to use NativeBase v2.1.0

I downgrade native-base fixed
Thanks @shivrajkumar

Hey, if a release has breaking changes could you please release a new major version rather than a patch - this should be v3.0.0 to be in line with semantic versioning (and not break everyones builds, hah). Cheers 👍


MappedByteBufferIndexInputProvider can better throw UndeclaredThrowableException

Description
MappedByteBufferIndexInputProvider has the following code:
private static BufferCleaner newBufferCleaner(final MethodHandle unmapper) {
...
try {
unmapper.invokeExact(buffer);
} catch (Throwable t) {
throw new IOException("Unable to unmap the mapped buffer: " + resourceDescription, t);
}
}
This method rethrow IOException, when calling invokeExact fails. However, other methods throw UndeclaredThrowableException for the same errors. For example, SnowballProgram.find_among is as follows:
protected int find_among(Among v[]) {
..,
try {
res = (boolean) w.method.invokeExact(this);
} catch (Error | RuntimeException e) {
throw e;
} catch (Throwable e) {
throw new UndeclaredThrowableException(e);
}
}
Another example is AttributeFactory.createInstance
:
protected A createInstance() {
try {
// be explicit with casting, so javac compiles correct call to polymorphic signature:
final AttributeImpl impl = (AttributeImpl) constr.invokeExact();
// now cast to generic type:
return (A) impl;
} catch (Error | RuntimeException e) {
throw e;
} catch (Throwable e) {
throw new UndeclaredThrowableException(e);
}
}
UndeclaredThrowableException looks more reasonable.  Can this be fixed?
Version and environment details
No response

This is not a bug. In reality the throwable is never thrown here because the called method never throws any exception.
The same applies to the other two examples.

For mmapdirectory any error in the BufferClean must be treated as IOException, so the code is correct.


Firefox infinite loop

During refactoring something seems to have broken. When a chat window is opened, the first command now closes it and eventually Firefox gets into a loop of eating 100% cpu. I'm guessing I messed something up with the MutationObservers.

Turns out the 100% cpu usage was just the Firefox browser toolkit window. After doing some testing it looks like the difference on whether or not a window survives the response is if it has been clicked or not. Clicking on the main body of the chat window seems to prevent the automatic close of the window after a bot response.


DNN-6563 Enable Switch UI Language for all users, not just superusers

I'm going to replicate the check for UI culture selection when content enabled in the SwitchLanguage service framework method (so it matches the logic that determines if it's displayed) i.e. "if (PortalSettings.AllowUserUICulture && PortalSettings.ContentLocalizationEnabled)" - i'll manually merge the changes into development and cherrypick to release/7.4.2

working on manually merging this into the 7.4.2 release

manually merged as <IP_ADDRESS>

FYI we merged the change into 8.0.0 and the release/7.4.2 branch, however testing shows that this only extends access to the switch UI language to admin users (previously it was only available to superusers). I inspected the source code and this has been “broken” since at least aug 16 2013 (when the source moved to github)
We don’t want to make another change so late to the 7.4.2 release, and want to take time to ensure we don’t accidentally expose other control panel elements to non-admin/host users, so have elected to do the page editor part of the enhancement as part of 8.0.0 –you can track the jira @ https://dnntracker.atlassian.net/browse/DNN-7642


Workspace - Invited members can open import members page by navigating to ../members/import

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.51-1
Reproducible in staging?: Y
Reproducible in production?: Y
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause Internal Team
Action Performed:
Precondition:

User is invited to a workspace.

Go to staging.new.expensify.com
Go to workspace settings of the invited workspace.
Go to Members.
Add /import to the end of URL and navigate to it.

Expected Result:
Not here page will show up.
Actual Result:
Import member modal shows up.
Workaround:
Unknown
Platforms:

[ ] Android: Standalone
[ ] Android: HybridApp
[x] Android: mWeb Chrome
[ ] iOS: Standalone
[ ] iOS: HybridApp
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/b97cc1e6-9f45-4c78-8ec4-03abea418473

View all open jobs on GitHub

@twisterdotcom  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

Proposal
Please re-state the problem that we are trying to solve in this issue.
Workspace - Invited members can open import members page by navigating to ../members/import
What is the root cause of that problem?
We are not wrapping this component
https://github.com/Expensify/App/blob/66cf824036a51183d73dab2cc621901e43fe3196/src/pages/workspace/members/ImportMembersPage.tsx#L10-L19
with AccessOrNotFoundWrapper component. This allows users to view page with URL.
What changes do you think we should make in order to solve the problem?
We shall wrap the component ImportMembersPage with  AccessOrNotFoundWrapper  Like we have done here -
https://github.com/Expensify/App/blob/66cf824036a51183d73dab2cc621901e43fe3196/src/pages/workspace/WorkspaceInvitePage.tsx#L310-L314
This way we ensure only people who can invite can import members.
If business needs are other then we can change the accessVariants prop to manage role based permissions.
What alternative solutions did you explore? (Optional)

Proposal
Please re-state the problem that we are trying to solve in this issue.
invited workspace members can import members spreadsheet using url manipulation
What is the root cause of that problem?
we did not protect this page : ImportMembersPage
What changes do you think we should make in order to solve the problem?

in the ImportMembersPage page
add this:
return (
        <FullPageNotFoundView shouldShow={!isPolicyAdmin}>
        <ImportSpreedsheet
            backTo={ROUTES.WORKSPACE_MEMBERS.getRoute(policyID)}
            goTo={ROUTES.WORKSPACE_MEMBERS_IMPORTED.getRoute(policyID)}
        />
        </FullPageNotFoundView>
    );

Proposal
Please re-state the problem that we are trying to solve in this issue.
Invited members can open import members page using deeplink.
What is the root cause of that problem?
Invite members page is not wrapped with AccessOrNotFoundWrapper.
Additionally importedMembers page is also accessible using deeplink ( 'settings/workspaces/:policyID/members/imported')
Similar could be observed for ImportTagsPage, 'ImportedTagsPage, ImportCategoriesPageandImportedCategoriesPage`
What changes do you think we should make in order to solve the problem?
Wrap all of the following pages with AccessOrNotFoundWrapper.
ImportMembersPage
ImportedMembersPage
ImportCategoriesPage
ImportedCategoriesPage
ImportTagsPage
ImportedTagsPage
What alternative solutions did you explore? (Optional)
Alternatively ImportSpreadsheet could be wrapped with AccessOrNotFoundWrapper along with ImportedMembersPage, ImportedCategoriesPage and ImportedTagsPage
Reminder: Please use plain English, be brief and avoid jargon. Feel free to use images, charts or pseudo-code if necessary. Do not post large multi-line diffs or write walls of text. Do not create PRs unless you have been hired for this job.

@BhuvaneshPatil's proposal looks good to me which suggested wrapping ImportMembersPage and other required pages with AccessOrNotFoundWrapper.
🎀👀🎀 C+ reviewed

@deetergp 👀

@deetergp we need you to review and assign please.

Apologies for the late assignment, I just got back from being OOO.

How we doing @BhuvaneshPatil now?

By any chance if current assignee is unable to complete the assignment and internals decide to reassign, I could take it over and raise a quick PR.
My proposal is essentially the mostly matching with currently selected proposal, and contains additional pages we need to cover.

I will be raising the PR tonight. Thank you for your patience

Payment Summary:

@Pujan92 paid $250 via NewDot Manual Request
@BhuvaneshPatil paid $250 here (Contributor)

BugZero Checklist:

[X] [Contributor] Classify the bug:

Bug classification

Source of bug:

[ ] 1a. Result of the original design (eg. a case wasn't considered)
[X] 1b. Mistake during implementation
[ ] 1c. Backend bug
[ ] 1z. Other:

Where bug was reported:

[ ] 2a. Reported on production
[ ] 2b. Reported on staging (deploy blocker)
[X] 2c. Reported on both staging and production
[ ] 2d. Reported on a PR
[ ] 2z. Other:

Who reported the bug:

[ ] 3a. Expensify user
[ ] 3b. Expensify employee
[ ] 3c. Contributor
[X] 3d. QA
[ ] 3z. Other:

[X] [Contributor] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.
Link to comment: https://github.com/Expensify/App/pull/48876/files#r1869197328

[X] [Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner.
Link to discussion: N/A

[X] [Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.

[ ] [BugZero Assignee] Create a GH issue for creating/updating the regression test once above steps have been agreed upon.
Link to issue:

Regression Test Proposal

Try to access link https://staging.new.expensify.com/settings/workspaces/{workspaceId}/members/import in the URL directly by replacing the workspaceId where you are a member and not an owner
Verify the no access page will be shown

Do we agree 👍 or 👎

$250 approved for @Pujan92


[bug-654]: Zero quota should allow infinite usage

Description
This PR implements infinite capacity usage for PowerFlex and PowreMax if the quota is zero.
This also fixes a data race and cleans up unnecessary code around URL request paths and PowerScale handlers.
Infinite Quota
The volume create policy files are updated to permit roles with zero quota along with roles that have a non-zero allowable quota.
The Redis enforcer is also updated to not check the approved capacity and request capacity for the tenant if the quota is zero. We just approve the request, but still keep track of the approved capacity.
Data Race
The unit tests reported a data race regarding the storage pool cache and the token getter for PowerFlex. This occurs because these entities are using the same goscaleio client and getting/setting the client's login concurrently. The fix is to use different goscaleio clients.
Another solution would be to wrap the goscaleio client with a mutex but the above solution is simpler.
Code Removal
For URL path policy decisions, we want to allow all paths by default so querying OPA for a URL policy decision is unnecessary since we will always allow the request anyway. The URL policy files are removed and the proxy-server code for querying OPA for those policies is removed.
The PowerScale handler should only be a credential shield since PowerScale has its own RBAC. But, we have volumeCreate and volumeDelete handlers which intercept the requests and essentially do nothing except query OPA that the claims exist in the token. There is other middleware in the proxy-server which validates the access token. These handlers are removed so now the proxy-server only handles session authentication with the array and proxies everything else.
GitHub Issues
List the GitHub issues impacted by this PR:

GitHub Issue #

https://github.com/dell/csm/issues/654

Checklist:

[x] I have performed a self-review of my own code to ensure there are no formatting, vetting, linting, or security issues
[x] I have verified that new and existing unit tests pass locally with my changes
[ ] I have not allowed coverage numbers to degenerate
[ ] I have maintained at least 90% code coverage
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] Backward compatibility is not broken

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Please also list any relevant details for your test configuration
New unit tests in the proxy-server handlers and in the redis enforcer, manual testing, and e2e tests.

run e2e test

run e2e test

run e2e test

run e2e test


add_repository with commit hash

Is your feature request related to a problem? Please describe.
We have a private package repository that broke due to some mistake and blocked anyone from build our software if they updated their repository list (either automatically or with xmake repo -u).
To prevent this to happen again, I would like to be able to lock the repository to a specific commit. It is already possible to specify a branch, but that's not enough for my needs.
Describe the solution you'd like
add_repositories("myrepo (MYREPO_URL.git) [HASH]")

Describe alternatives you've considered
No response
Additional context
No response

try
set_policy("package.requires_lock", true)

https://xmake.io/#/guide/build_policies?id=packagerequires_lock
https://github.com/xmake-io/xmake/issues/1567#issuecomment-901914464

I can not try it since we have fixed our repo, but it looks like this would have helped, thanks.
Where is generated the xmake-requires.lock?

it's generated next to the xmake.lua
You can generate it by configuring your project and then edit it to change the repository commit hash


MusicController doesn't blend same tracks on web builds as of 4.3

This is only on the web exports / builds.
The track just starts from the beginning, instead of seeking to the last position. No meaningful errors show up in the console.

This is due to a bug with 4.3 web builds. It is expected to be fixed for 4.4 :disappointed:
https://github.com/godotengine/godot/issues/95128
https://github.com/godotengine/godot/pull/95197
I will think of a workaround in the meantime.

I've confirmed with the 4.4-dev1 build that the bug is fixed. These fixes should get backported to 4.3.1.
I'm not sure when exactly this fix will reach the general public. No one likes having to branch their logic for temporary edge cases, but I can manage the technical debt. I'll check back on this one over the next few weeks.

A fix has been cherry-picked for version 4.3.1.

https://github.com/godotengine/godot/pull/95197#issuecomment-2353122342


feat: enable TLS BDD test

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign rawlingsj
You can assign the PR to them by writing /assign @rawlingsj in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

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

@rawlingsj: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

tls
213785ade413119c5acf0bdedac294f4a2c5da2e
link
/test gsm

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@rawlingsj: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

tls
07e665cadc6a9e09c00ab6aa5799969c61b5898e
link
/test tls

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

/test tls

@rawlingsj: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

tls
07e665cadc6a9e09c00ab6aa5799969c61b5898e
link
/test tls

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@rawlingsj: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

tls
98f43f6dd39898bf56d30d7e5f9657e2a79cda7e
link
/test tls

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@rawlingsj: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

tls
98f43f6dd39898bf56d30d7e5f9657e2a79cda7e
link
/test tls

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@rawlingsj: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

tls
270f09dd8f039acdd80fb1e847838472257a634b
link
/test tls

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.


#1017, #1032, #1115: Neo4j 5.x experimental support

Removes deprecated exists() function with is not null. This is compatible with both Neo4j 4.x and 5.x.
Replaces CALL db.indexes() with SHOW INDEXES because it was also replaced per https://neo4j.com/docs/operations-manual/5/reference/procedures/#procedure_db_indexes.
Updates install docs.
Updates CI to test against both Neo4j 4.4 and 5.latest docker containers.

See

https://neo4j.com/docs/upgrade-migration-guide/current/version-5/migration/breaking-changes/#_removals.
#1115.

@kedarghule - ok! I think I got 'em all. Ran integration tests against a 5.x container and updated the install docs.

@kedarghule I finally was able to add a CI test suite for Neo4j 5! For some reason a manual install of that version kept failing on GitHub actions so I just gave up and used docker.

Let's do a follow up PR for a separate docker compose update


Feature/goodreads v2

Update to work on new version of goodreads book page (full release)
closes #1

todo update readme

Thank you!


Subscription : View subscription details

[ ] Add this at bottom of all the subscription level "View subscription details"
[ ] Subscription level CTA "Select"

Design screen

Resolved,

Unable to see the changes in keeper app v 1.1.6(251)

Completed verified on 1.1.6 (252)


Mapper long term direction

I'd like to talk about future directions of kepler-mapper and some work I'd like to do. Before I get too far ahead of myself, I want to make sure you (@MLWave) agree with the directions so a permanent fork won't be necessary.
Immediate steps are

I would like to get kepler-mapper into pypi.
I would like to decompose some of the main routines to allow for easier unit testing.

Do you have a vision or direction for kepler-mapper?  There is considerable new research on the method  and I think kepler-mapper would be a great platform to introduce some of these ideas.

Automatic parameter tuning
Multiscale mapper
Automatic feature extraction

I don't have a vision for this. Kepler-Mapper was created as just a personal learning project, but it kind of blew up in popularity.
I'd absolutely love to see the introduction of those 3 ideas. Especially multi-scale mapping (and generating barcodes) would have my interest.
Getting Kepler-mapper onto Pypi and better testing sounds really great. The project deserves a better programmer for this.
I'll give you full edit capabilities, so you can push and pull like you please.

I think the disclaimer is fine. I'll keep my eyes out for anything to change.
First off, I think the implementation is great and is a great platform to build off of.  Full disclaimer of myself, I am a graduate student studying Mapper currently. I'd rather not build a new competing tool and instead focus on strengthening the tools that are available. I'm also pretty new to this all though, so it will be a learning process for me.
Paper friendly output of the graph output? That sounds awesome! Have you used Jinja2 before? It might be helpful to use a template engine for the html.
I'm not sure if I'm following how the new ML algorithm would work. I'm interested in learning more. Is there a preliminary writeup?
My immediate goals are to cut up the main map method into a few extra helper objects that provide more customizability:

Cover: an abstraction of the covering scheme. This would implement a method find_entries that returns all entries that is in a particular element.  Currently, kepler-mapper only supports cubes. Multiscale mapper would require more nuanced control of the cover.
Nerve builder: an abstraction of building the nerve of the clusters. Currently, only edges are built. To implement multi-nerve mapper or include higher dimensional simplices, more control over this concept is necessary.

Would either of these objects help the ML algorithm you're thinking of? This is still a work in progress, hopefully in the next few weeks.  In the meantime, I have a growing test suite, some minor bug fixes, and some packaging work to incorporate.
I'm going to submit a new issue for my work on 'packagizing' kepler-mapper. A merge would force some cascading changes to documentation and examples, so feedback would be greatly appreciated!
Thank you,

I'll add the previous version of km.py to the depricated directory, because I forgot about a valuable use-case of KeplerMapper: Use for teaching. Very short, simple, well-documented code (without current concessions for speed/optimization/modularity) can help students understand the mapper algorithm better.


LogBox not in React Native < 0.62

Hello, I am trying to use it with React.Native 0.61.5, but LogBox is not implemented so I get an error.
What version can I download in order to be able to use it?
Thank you in advance.

It's deleted you can use it now.


PUBG 6+ static mesh fix.

The most recent PUBG update broke static meshes in UModel.
Samples here: pubg-static-mesh samples.zip
It hasn't been fully released yet (test server only right now) but it will likely release like this.

Sorry, there are many things which I don't like in this PR. I'll try to resolve them and merge code manually (but a bit later, when I'll have time for UModel again).
Also, as you mentioned - this is a "test version of the game", so things may change soon.

Hi @horsenit,
I'm bothered so much recently by PUBG "fans", they're asking me about download location of some mystical "umodel build 1224". Is that yours?

Ugh, yeah I suppose it is, sorry about people bothering you.
It's a very awkward edit to open PUBG mobile pak files
I did it and gave it to some people on discord who care about mobile. but I'm never going to attempt to update it if they change the pak format.
Especially since PUBGM recently did some weird watermarking thing with open beta versions of their game because people were doing memory editing things to view unreleased items. Apparently they actually banned some accounts so I just assume they'll change the pak format soon.
Occasionally people bother me about it on discord and I just ignore them now,
Sorry about it.

Ah, it's ok :) Just a few questions, if you don't mind.

So, game is still in "beta" stage and not a public version?
Why build number is 1224? Is it automatic, or hand-tuned? I'd suggest modifying UmodelTool/Verison.h to put some string for recognizing you, if you're planning to provide your custom build again. The constant in Version.h is used as a string.
Does this work only for Mobile version of the game, or for PC PUBG too?
Would you like me to point at you (or at this PR) next time I'll get asked about "build"?

Ah, it's ok :) Just a few questions, if you don't mind.

So, game is still in "beta" stage and not a public version?

Does this work only for Mobile version of the game, or for PC PUBG too?

Think he is referring to PUBG PC (Test Server), it's where they test new features before they go to the Live Server (Full Release Game), normally a week later (though been longer lately).

Tested on PUBG Mobile and doesn't work (pak format unknown still), only worked on PUBG PC.

The game is fully released, the watermarking thing was just in a beta version.
Thanks for the tip on the version number, it wasn't meant to be released or anything so sorry about stepping on toes with revision, I just changed it to use the git short hash with a prefix.
The build people are bothering with is just PUBG mobile, they use a different pak format with values rearranged and some simple XOR encryption. If you're interested I can detail it.
I'd rather forget it exists tbh.

@Blenux This pull request is a small fix for PUBG PC, but the 'build 1224' just allows umodel to open PUBGM paks. PUBG PC uses standard UE4 paks.
Oh also, the version of PUBG PC this pull targeted did release though.

Hi @horsenit bro if you dont have any problem can you please put here link of UMODEL 1224 I really want to decrypt pubg mobile pak and want to see how it works bro please give here link of that umodel

@horsenit
Can you share the link for you costume (umodel build 1224) here I'm also care about pubg mobile.
It will be a lot of helpful for us.
Or if you are selling it also no problem I'm ready to buy it at any cost.
Knowledge is valuable than money right.

I think you may peek executable file from his repository. I saw binaries there.

Bro how to change pubg mobile character and Gun Skins upcoming leaks

Comment was removed due to #113 rules.

We are Fortnite gamers who try to support Fortnite gamers. We are a community that helps streaming gamers to mint their memes and trade-in NFT format.
https://opensea.io/assets/0x495f947276749ce646f68ac8c248420045cb7b5e/52899886564551579100884236384586764071622650264794904494282437804536029511681/


(feat): Add ability to disable the language select from website top menu

Deprecated PR: Fixed by https://github.com/eea/volto-eea-website-theme/commit/31c96c528a5f86c0a106749ec117006121835ec6


[help wanted] REQ_WITHOUT_QUERY got rejected by envoy.config.listener: Not supported filed in StreamInfo: REQ_WITHOUT_QUERY(X-ENVOY-ORIGINAL-PATH?:PATH)

I have upgraded my Istio to v1.12.2 to use the %REQ_WITHOUT_QUERY(X?Y):Z% log operator to replace the %REQ(X?Y):Z% in the accessLogFormat under meshConfig inside features.yaml. However, I got the following error from ingress gateway pod:

2022-02-01T19:53:47.753500Z warning envoy config gRPC config for type.googleapis.com/envoy.config.listener.v3.Listener rejected: Error adding/updating listener(s) <IP_ADDRESS>_8443: Not supported field in StreamInfo: REQ_WITHOUT_QUERY(X-ENVOY-ORIGINAL-PATH?:PATH)

I also tried to create an EnvoyFilter to specify the envoy formatter extension for requestWithoutQuery(), but that does no effect at all (I don't even know if this is the right approach). Is there any prerequisite steps I need to do in order to use REQ_WITHOUT_QUERY without being reject by the envoy listener?
---
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: access-log-req-without-query
  namespace: istio-system
spec:
  configPatches:
    - applyTo: NETWORK_FILTER
      match:
        context: ANY
        listener:
          filterChain:
            filter:
              name: "envoy.filters.network.http_connection_manager"
      patch:
        operation: MERGE
        value:
          typed_config:
            "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager"
            access_log:
              - name: fileaccesslog
                path: /dev/stdout
                typed_config:
                  "@type": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog
                log_format:
                  textFormat: |
                    [%START_TIME%] "%REQ(:METHOD)% %REQ_WITHOUT_QUERY(X?Y):Z% %PROTOCOL%"
                  formatters:
                    - name: envoy.formatter.req_without_query
                      typed_config:
                        "@type": type.googleapis.com/envoy.extensions.formatter.req_without_query.v3.ReqWithoutQuery

@ramaraochavali Shouldn't we check presence of %REQ_WITHOUT_QUERY instead of %REQ_WITHOUT_QUERY% at https://github.com/istio/istio/blob/06f42d2b95f14c00e6a989370c7975c552da8643/pilot/pkg/networking/core/v1alpha3/accesslog.go#L72

@bianpengyuan Yes. Thanks for point that out. Fixed it https://github.com/istio/istio/pull/37147


updated docs with info about supporting host headers overrides

removed unused import
Before submitting pull request:

[ ] Check if the project compiles by running sbt compile
[ ] Verify docs compilation by running sbt compileDocs
[ ] Check if tests pass by running sbt test
[ ] Format code by running sbt scalafmt

Should I add it also to docs in previous versions?

Should I add it also to docs in previous versions?

No need, just latest is fine

Tests failed:
[info] - should not send the URL's hostname as the host header *** FAILED ***
421
[info]   "Timeout-Access-><function1>,Accept-Encoding->gzip, deflate,User-Agent->Java/11.0.10,Host->localhost:51823,Accept->text/html, image/gif, image/jpeg, */*;q=0.2, */*;q=0.2,Connection->keep-alive" did not include substring "Host->test.com" (HttpTest.scala:273)


feat(api): expose versions of connected micros

Implement the get_fw_version method of OT3API to return a stringified representation of all unique firmware versions for attached microcontrollers on the system.
This is a not-great way of exposing this data programmatically, but this element is only used for display purposes so I think it's ok. In all normal cases (i.e. except during update) this will only return a single version.
Closes RCORE-731
Testing

[x] Put on a robot and check that the app displays the correct firmware version
[ ] Attach a pipette that has the wrong firmware and check that the firmware version is displayed

when firmware is mismatched


[Vote] Should we switch to predictable digest tags

To pick a direction for #61 on whether we want to use predictable tags or use unique tags that require a tag listing to avoid race conditions, please vote on this issue. We'll leave this open for 1 week and move forward based on the results in the 2022-07-29 meeting. Vote by giving one of the below comments a thumbs up.

Yes, switch to predictable tags. This includes the possible option to include the artifact type in the tag name.

No, use unique tags.

My own personal pro/con list:

Predictable tags let you discover attached content without using the list API and making potentially many paginated requests.
Unique tags give you some protection against race conditions when updating.

Given those trade-offs, I'd prefer to push for better race condition handling in distribution-spec and in registry implementations, which leaves predictable tags as the better solution since discovering content doesn't require listing.

Does anyone get to vote?
I would say that race condition handling is worse than pagination, and that with pagination generally implemented using the last syntax, you can quite easily start at the right point (list from sha256-[digest].) so there isn't too much overhead.
So my vote would be a no, but I won't hit the button because I'm not a member of the WG :)

Does anyone get to vote?

Yep! Anyone can vote, go ahead and hit the button.

I agree with Jason. We've used the predictable tags method in cosign for a while now, and while the race condition is real I can't recall anyone ever hitting it. I'd lean toward fixing that in the distribution-spec.
I'd feel much differently if people were regularly running into the race condition.

Thanks, only no vote but you know, doing my part for democracy :)

while the race condition is real I can't recall anyone ever hitting it.

Dangerous way to think about race conditions, they're harmless until you hit them, then they're deadly (IMO). As artifacts get popular I can imagine many build processes will generate an image then spawn off multiple processes to sign etc which could easily start to race. By then we'd hopefully not be using the tags anymore though, so maybe it doesn't matter.

I'd lean toward fixing that in the distribution-spec.

I think that's worth doing regardless!

Is using the predictable tags dependent on fixing the race condition issue in the distribution spec?

Is using the predictable tags dependent on fixing the race condition issue in the distribution spec?

I wouldn't say "dependent" exactly (i.e., that we should block this decision on the outcome of https://github.com/opencontainers/distribution-spec/pull/251), but that we expect questions about handling race conditions to be solved by distribution-spec, and not build workarounds for that in this spec.

Is using the predictable tags dependent on fixing the race condition issue in the distribution spec?

I suspect the reality will be inversed. We may approve a spec with a known race condition for existing registries. And new registries may fix race conditions, but they'll also add the new API to query referrers, negating the need to fix race conditions in this spec (fixing race conditions in distribution-spec still has value outside of this spec).

Based on the vote alone, we are planning to go with the first option:

Yes, switch to predictable tags. This includes the possible option to include the artifact type in the tag name.

@sudo-bmitch to follow up with PR to clarify

Related PRs:

https://github.com/opencontainers/wg-reference-types/pull/68
https://github.com/opencontainers/wg-reference-types/pull/69
https://github.com/opencontainers/wg-reference-types/pull/70

From today's meeting, we've decided to go with a single predictable tag.


JSON mapping first parties to CNAME domains

Following up on https://github.com/AdguardTeam/cname-trackers/issues/4#issuecomment-793148173
Could you also provide (and maintain) a JSON that maps between first party domains and CNAME domains?
Something like:
{
  "abc.some-first-party.com": "xyz.potential-tracker.com",
   ...
}

In cases of multiple CNAME records, could you provide just the one entry for the domain at the end of the chain (https://github.com/AdguardTeam/cname-trackers/issues/4#issuecomment-796918623)?
The basic idea here is to enable canonical name lookups for a set of domains. The answers provided by the JSON should match answers provided by the dns.resolve() API.
For example:
browser.dns.resolve("alsgaj.chosun.com", ['canonical_name']).then(r=>{console.log(r.canonicalName)})
// prints gum.va1.vip.prod.criteo.com (not a.dnsdelegation.io)

Let me share some thought on this. @Somebodyisnobody is actually cooking on a "Domain list exchange format" at https://www.mypdns.org/T3776, which I think could be good to have a look at, before building a lot of new "sources" as the hole idea is we get a standard for sharing information's between lists maintainers/users/projects

Thank you!
Could you add (and maintain) a single combined JSON mappings list? I should have been more clear; sorry for the misunderstanding.

Yep, shouldn't be a problem.

@ghostwords check it out:
https://github.com/AdguardTeam/cname-trackers/blob/master/combined_disguised_trackers.json

I noticed a few discrepancies between your data and my own nslookups.
click.yahoosmallbusiness.net is mapped to forpci1.actonsoftware.com but nslookup comes back with  mkto-ab370049.com.
A few domains in your data like stats.geekzone.co.nz no longer resolve to anything.
I also get a different load balancer for a few thousand entries. For example, gum.am5.vip.prod.criteo.com vs. gum.va1.vip.prod.criteo.com.
Are these all expected as DNS records change while your data is a snapshot from a particular point in time?

Are these all expected as DNS records change while your data is a snapshot from a particular point in time?

Most likely it is, but we'd better double-check this. Let me reopen it just in case.

@ghostwords yeah, after all, that's okay that you're getting a different entry. We're seeing many of them, they may change randomly, so we just pick a random one.


My solution for challenge 3

From all of us on the Cloud Advocacy team at Microsoft, thank you @ckabates for creating this pull request!
Have a Happy Holiday season!


Add Gitter badge

Current coverage is 49.55%

Merging #10 into master will decrease coverage by -2.70% as of cf2bf43

Powered by Codecov

Current coverage is 52.45%

Merging topic/gitter into master will increase coverage by +0.20% as of 1831f73

Powered by Codecov


Calling UNION DISTINCT throws "StreamFailureError" or returns wrong answer

Describe the bug
Calling UNION DISTINCT throws StreamFailureError or returns wrong answer.
Example of StreamFailureError
Code:
import clickhouse_connect

client = clickhouse_connect.get_client(host='localhost', username='default', password='')
result = client.query("SELECT 1 as d, '[test]' as a UNION DISTINCT SELECT 1 as d, '[test]' as a")
print(result.result_rows)

clickhouse-connect logs
$ python3 tmp.py
Traceback (most recent call last):
  File "/home/qliu/workspace/mqdb/build/programs/tmp.py", line 4, in <module>
    result = client.query("SELECT 1 as d, '[test]' as a UNION DISTINCT SELECT 1 as d, '[test]' as a")
  File "/home/qliu/.local/lib/python3.10/site-packages/clickhouse_connect/driver/client.py", line 201, in query
    return self._query_with_context(query_context)
  File "/home/qliu/.local/lib/python3.10/site-packages/clickhouse_connect/driver/httpclient.py", line 223, in _query_with_context
    query_result = self._transform.parse_response(byte_source, context)
  File "/home/qliu/.local/lib/python3.10/site-packages/clickhouse_connect/driver/transform.py", line 68, in parse_response
    first_block = get_block()
  File "/home/qliu/.local/lib/python3.10/site-packages/clickhouse_connect/driver/transform.py", line 63, in get_block
    raise StreamFailureError(message) from None
clickhouse_connect.driver.exceptions.StreamFailureError: 1      [test]

Example of the wrong answer
Code:
import clickhouse_connect

client = clickhouse_connect.get_client(host='localhost', username='default', password='')
result = client.query("SELECT 1 as d, 'test' as a UNION DISTINCT SELECT 1 as d, 'test' as a")
print(result.result_rows)

clickhouse-connect logs
$ python3 tmp.py
[]

The answer returned by clickhouse-client is right:
:) SELECT 1 as d, 'test' as a UNION DISTINCT SELECT 1 as d, 'test' as a

SELECT
    1 AS d,
    'test' AS a
UNION DISTINCT
SELECT
    1 AS d,
    'test' AS a

Query id: c3311c46-18f5-4be8-91c8-0db3fccc60ba

┌─d─┬─a────┐
│ 1 │ test │
└───┴──────┘

1 row in set. Elapsed: 0.001 sec.

Configuration
Environment

clickhouse-connect version: 0.7.8
Python version: 3.10.12
Operating system: Ubuntu 22.04

ClickHouse server

ClickHouse Server version: v<IP_ADDRESS>-lts

Unfortunately this appears to be a bug in ClickHouse itself.  I can reproduce it on 23.3 and earlier versions -- the problem is that ClickHouse is sending an invalid column count using Native format over HTTP for that particular query.  It appears to be fixed in later versions, including 23.8.14, the earlier LTS version that is still supported.


[Question] What about repeatable Jobs?

Hi... Exist a way to configure repeatable jobs? Maybe like a cron job like bull does

Any update here? Would love to use a repeatable job with kue or a way to enqueue the same job with a timer based on a condition.
Newbee here, looking forward to any alternatives


Use full path to sysctl on FreeBSD

Calling get_os on FreeBSD without /sbin/ in your $PATH causes a panic:
thread 'main' panicked at /rust/deps/os_info-3.7.0/src/freebsd/mod.rs:37:18:
Failed to check if is hardened: Os { code: 2, kind: NotFound, message: "No such file or directory" }
stack backtrace:
   0: rust_begin_unwind
             at /rustc/e51e98dde6a60637b6a71b8105245b629ac3fe77/library/std/src/panicking.rs:645:5
   1: core::panicking::panic_fmt
             at /rustc/e51e98dde6a60637b6a71b8105245b629ac3fe77/library/core/src/panicking.rs:72:14
   2: core::result::unwrap_failed
             at /rustc/e51e98dde6a60637b6a71b8105245b629ac3fe77/library/core/src/result.rs:1649:5
   3: os_info::imp::current_platform
   4: os_info::get
...

Call the binary with a full path instead.

By the way, I don't think the library should panic in this case. I will fix this issue in a separate pull request.


Check running app

I have added a function to check if there are any apps currently running on the TV. Currently it works but only checks between plex netflix and youtube.

There must be some better way to do this then spamming the TV with requests.
The thing that worries me here is that if we add 20 such apps, the TV might block requests from our HA IP. I've seen TVs block network IPs before for DLNA discovery abuse, so it's not far fetched..
But we could still use this on a small scale of popular apps.. like Spotify, Youtube, Amazon Prime, Netflix, etc.

Regardless, I promise I'll test it and merge by tomorrow, it's a good feature, thanks for the PR!

I thought the same that is why i limited it to 3 apps, Thought it might be an idea to add a "fave_apps:" to configuration and only scan they pre-determined apps. There must be a way for the TV reporting back HDMI as well, The samsung app on the phone shows HDMI 1 or HDMI 2 depending which source i am on.

@pegatron89 I've thought about this more, I don't think we need a fave_apps: property, we can use the current app_list: property for this.
Presuming the value:
app_list: '{"Netflix": "11101200001", "YouTube": "111299001912", "Spotify": "3201606009684"}'

Would only check for Netflix, YouTube and Spotify.

Merging and adding a few changes

I've tested it on my 2 Samsung TVs, made a few minor changes and published a new release.

Tried this and getting an error:
019-12-24 12:51:55 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/helpers/entity.py", line 286, in async_update_ha_state
self._async_write_ha_state()
File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/helpers/entity.py", line 327, in _async_write_ha_state
attr.update(self.state_attributes or {})
File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/media_player/init.py", line 796, in state_attributes
for attr in ATTR_TO_PROPERTY
File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/media_player/init.py", line 797, in
if getattr(self, attr) is not None
File "/home/homeassistant/.homeassistant/custom_components/samsungtv_custom/media_player.py", line 319, in source_list
self._gen_installed_app_list()
File "/home/homeassistant/.homeassistant/custom_components/samsungtv_custom/media_player.py", line 229, in _gen_installed_app_list
app_list = self._remote.app_list()
TypeError: 'NoneType' object is not callable
No longer loads up either of my TV's either.
 It seems to work for my two TV sets, but I did notice some issues. With the newer TV model, when the TV is turned off, it never replies to the requests, hanging the entire process for a long time, it's why I set the 5 second timer.
And it made both TV sets change the on / off states a lot slower for some reason.

Still getting the same error with your latest version. Tried again just now, Reverted back to mine an all worked ok again.
The state takes 1 minute exactly to update on each TV. Just using the defaults

Do you set app_list? I think that might be the reason for the error.

I installed removed my version and re-installed yours, Added an app_list to my configuration copy and pasted from your readme and now get:

Traceback (most recent call last):
File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/helpers/entity_platform.py", line 408, in _async_add_entity
await entity.async_update_ha_state()
File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/helpers/entity.py", line 286, in async_update_ha_state
self._async_write_ha_state()
File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/helpers/entity.py", line 327, in _async_write_ha_state
attr.update(self.state_attributes or {})
File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/media_player/init.py", line 796, in state_attributes
for attr in ATTR_TO_PROPERTY
File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/media_player/init.py", line 797, in
if getattr(self, attr) is not None
File "/home/homeassistant/.homeassistant/custom_components/samsungtv_custom/media_player.py", line 336, in source
self._source = self._remote.get_running_app()
File "/home/homeassistant/.homeassistant/custom_components/samsungtv_custom/samsungtvws/remote.py", line 235, in get_running_app
appState = root[2].text
File "/usr/lib/python3.7/xml/etree/ElementTree.py", line 217, in getitem
return self._children[index]
IndexError: list index out of range

Is it using the app name "Plex" or using the number? If you browse to ip:8080/ws/app/{app_number} it wont work, It will only work with Plex, YouTube, Netflix etc

I've made a new release, please try it.

it should use the names, not the numbers

can you also please show me the config you're using with this component?
it might help reproduce the errors you're getting

Sorry but the new update doesnt give me the same error as before but also doesnt bring back the current app either. The only error i can see in the error log is:

2019-12-26 22:11:50 DEBUG (SyncWorker_9) [custom_components.samsungtv_custom.media_player] Error in send_command() -> OSError

My current configs are:
TV type:  UE55NU7100 (living Room) & Bedroom: UE49MU6400
`media_player:

platform: samsungtv_custom
host: <IP_ADDRESS>
app_list: '{"Netflix": "11101200001", "YouTube": "111299001912", "Spotify": "3201606009684"}'
mac: XXXXXXXX
port: 8002
name: Living Room TV
platform: samsungtv_custom
host: <IP_ADDRESS>
app_list: '{"Netflix": "11101200001", "YouTube": "111299001912", "Spotify": "3201606009684"}'
mac: XXXXXXXX
port: 8002
name: Bedroom TV
`

Did you "Allow" the HA connection on the TVs again after the update? This needs to be done (maybe numerous times) after the component update.

 Then tried deleting the pycache restarting HA again just now

I'm also thinking of using grequests, because that would make the requests async and reduce the update time. Currently the requests are synchronous so they are done one after the other, as opposed to all being done at the same time.

Updating state for media_player.living_room_tv (<class 'custom_components.samsungtv_custom.media_player.SamsungTVDevice'>) took 0.934 seconds. Please report platform to the developers at https://goo.gl/Nvioub
Same error on both TVs

Yeah, i get that too, but it should work anyway. It's a warning, not an error. That time can be reduced a lot if we use async requests.
Also, if you set an app in app_list that the TV does note have installed, it will make the requests for that app's data longer then normal.
You also won't see Plex as running, because you didn't set it in app_list.

Here is a list of Tizen App IDs (it includes Plex's):
https://github.com/tavicu/homebridge-samsung-tizen/issues/26#issuecomment-447424879

You can also do tests without setting app_list at all now, (and it should autogenerate the app list) as the bug that caused that initial error has been fixed now.

No errors after adding plex but still not getting back any source.
State attributes
volume_level: 0.13
is_volume_muted: false
source_list:
  - TV
  - HDMI
  - Netflix
  - YouTube
  - Plex
friendly_name: Living Room TV
supported_features: 20413
device_class: tv

If you add print('http://{host}:8080/ws/app/{app}'.format(host=self.host, app=app)) to this line:
https://github.com/jaruba/ha-samsungtv-custom/blob/master/custom_components/samsungtv_custom/samsungtvws/remote.py#L224
And set logger to info for this component:
https://www.home-assistant.io/integrations/logger/
You should be able to see exactly what request URLs are used in your logs.

Interesting thing I discovered is that if we do a GET request to http://{host}:8080/ws/app/{app}, then it gets the app data.
But if we do a POST request to the exact same URL, it starts that app, without needing any App ID, just the correct name of the app..

My code for the function is:
    def get_running_app(self):

        if self._app_list is not None:

            for app in self._app_list:

              r = None
              print('http://{host}:8080/ws/app/{app}'.format(host=self.host, app=app))
              try:
                r = requests.get('http://{host}:8080/ws/app/{app}'.format(host=self.host, app=app), timeout=2)
              except requests.exceptions.RequestException as e:
                pass

              if r is not None:
                  data = r.text
                  if data is not None:
                      root = ET.fromstring(data.encode('UTF-8'))
                      appName = root[0].text
                      appState = root[2].text
                      if appState == "running":
                        return app

and my config is:
logger:
  logs:
    custom_components.samsungtv_custom: info

Still not getting anything back or anything in the log either.
Tried the POST request using only the app name and it started the app as well.
If only there was a way of detecting which HDMI it was on, In the samsung app on my phone it can  tell if the TV is on HDMI1 or 2 so i think there must be something on the TV reporting it back somewhere

I keep poking in their API, i also found that:
http://{host}:8080/ws/app/{app}
and:
http://{host}:8080/ws/apps/{app}
both do the same thing (notice apps instead of app)
I also found this:
http://{host}:8001/api/v2/applications/{app_id}
Also gets similar app data info based on app id:
{"id":"11101200001","name":"Netflix","running":false,"version":"7.0.000","visible":true}

This last one (with the app id) actually seems to be the recommended way, because 2016+ TVs introduced this api on port 8001 and 8002, and this component is for 2016+ TVs.

Nice! That could maybe work a bit better then using port 8001 / 8002 , Thats what everything else runs on

I made a new release using the new api endpoint, it works better for me, you should try it.

Funny story, i found this issue thread:
https://github.com/Ape/samsungctl/issues/75
That seems to explain many possible endpoints for the various Tizen APIs, and you commented in this thread more then 1 yr and a half ago 🤣

Works for me this morning as well! Thanks again!
Just read through the thread there, I stopped using HA for a while and forgot all about that.

There are a few things I learned from that issue thread:

The App ID doesn't need to be a number, any of these IDs also work: https://github.com/Ape/samsungctl/issues/75#issuecomment-404941201

There is a list of supported methods for the WS API, one such method also gets app related data, I'm thinking it may be an ever better way of getting the running app

I still found nothing related to knowing what input source is being used (TV, HDMI1, etc), which is sad because I really want those to work too..

I made a new release that further reduces the request timeout to 0.5 seconds, which seems to make the state update much faster and I haven't seen it not work yet. I've also set the state to "TV/HDMI" when no app if found running.
Until I get some more relevant info from these hidden APIs, this will have to do..

Tried the latest version again, I am getting the state back only on TV/HDMI, Plex is running on the TV at the moment
 [custom_components.samsungtv_custom.media_player] Failed sending payload KEY command_type send_key
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.7/site-packages/websocket/_socket.py", line 102, in recv
    bytes_ = _recv()
  File "/srv/homeassistant/lib/python3.7/site-packages/websocket/_socket.py", line 84, in _recv
    return sock.recv(bufsize)
  File "/usr/lib/python3.7/ssl.py", line 1037, in recv
    return self.read(buflen)
  File "/usr/lib/python3.7/ssl.py", line 913, in read
    return self._sslobj.read(len)
socket.timeout: The read operation timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/homeassistant/.homeassistant/custom_components/samsungtv_custom/media_player.py", line 262, in send_command
    self._remote.send_key(payload)
  File "/home/homeassistant/.homeassistant/custom_components/samsungtv_custom/samsungtvws/remote.py", line 140, in send_key
    self._ws_send(payload)
  File "/home/homeassistant/.homeassistant/custom_components/samsungtv_custom/samsungtvws/remote.py", line 93, in _ws_send
    self.open()
  File "/home/homeassistant/.homeassistant/custom_components/samsungtv_custom/samsungtvws/remote.py", line 111, in open
    response = json.loads(self.connection.recv())
  File "/srv/homeassistant/lib/python3.7/site-packages/websocket/_core.py", line 313, in recv
    opcode, data = self.recv_data()
  File "/srv/homeassistant/lib/python3.7/site-packages/websocket/_core.py", line 330, in recv_data
    opcode, frame = self.recv_data_frame(control_frame)
  File "/srv/homeassistant/lib/python3.7/site-packages/websocket/_core.py", line 343, in recv_data_frame
    frame = self.recv_frame()
  File "/srv/homeassistant/lib/python3.7/site-packages/websocket/_core.py", line 377, in recv_frame
    return self.frame_buffer.recv_frame()
  File "/srv/homeassistant/lib/python3.7/site-packages/websocket/_abnf.py", line 361, in recv_frame
    self.recv_header()
  File "/srv/homeassistant/lib/python3.7/site-packages/websocket/_abnf.py", line 309, in recv_header
    header = self.recv_strict(2)
  File "/srv/homeassistant/lib/python3.7/site-packages/websocket/_abnf.py", line 396, in recv_strict
    bytes_ = self.recv(min(16384, shortage))
  File "/srv/homeassistant/lib/python3.7/site-packages/websocket/_core.py", line 452, in _recv
    return recv(self.sock, bufsize)
  File "/srv/homeassistant/lib/python3.7/site-packages/websocket/_socket.py", line 105, in recv
    raise WebSocketTimeoutException(message)

I am just getting a constant TV/HDMI now for the state. It can still change the source but just won't update the state. No errors in the logs either.

ignore that, I had the wrong commit. Latest one works perfect, and is a lot faster at updating the state as well!
Now hopefully find a way for current HDMi source lol or even be able to change direct to desired HDMI rather than toggle between them.
Thanks for this though!

Hey jaruba, sorry for hijacking this topic, but it was the closest I could find.
I just wanted to say thanks for your great home assistant plugin and share some more applist ids from a German QLED 2018 user.
{'Prime Video': '3201512006785', 'Spotify': '3201606009684', 'YouTube': '111299001912', 'Netflix': '11101200001', 'MagentaSport': '3201707014358', 'Joyn': '3201502001386', 'Steam Link': '3201702011851', 'ZDF mediathek': '3201705012365', 'Universal Guide': '3201710015067', 'ProSieben': '3201608010221', 'sixx': '3201608010224', 'ARD Mediathek': '3201412000679', 'Apple TV': '3201807016597', 'SmartThings': '3201710015016', 'TV DIGITAL': '3201602007987', 'Sky Q': '3201802015776', 'Sky Ticket': '3201411000562', 'Internet': 'org.tizen.browser', 'Google Play Filme': '3201601007250', 'Rakuten TV': '3201511006428', 'Gallery': '3201710015037', 'waipu.tv – Fernsehen wie noch nie': '3201804016033', 'PrivacyChoices': '3201909019271', 'Disney+': '3201901017640', 'DW for Smart TV': '3201511006303', 'SeeColors': '3201604009179', 'Eurosport Player': '3201703012079', 'e-Manual': '20182100010', 'maxdome': '3201803015887', 'Sportworld': '3201803015972', 'McAfee Security for TV': '3201612011418', 'CHILI': '3201505002690', 'DAZN': '3201607009920', 'Zattoo': '111299001432', 'Samsung SportWorld': '3201903018105', 'Red Bull TV': '3201602007756', 'Apple Music': '3201908019041', 'Couchplay SpieleCenter': '3201609010528', 'TVNOW PREMIUM': '3201908018988', 'Audi': '11111358501', 'MagentaTV': '3201907018746', 'ARTE': '3202011022316'}


TST noarch outputs

This PR tests if we can use the rendered info in smithy to record and resolve duplicate noarch outputs.
The output from azure is
BUILD START: ['libbrial-1.2.7-hf4f5a66_1.tar.bz2', 'brial-1.2.7-pyhc8dfbb8_1.tar.bz2', 'brial-1.2.7-pyh9f0ad1d_1.tar.bz2']

which matches the noarch builds from smithy
brial-1.2.7-pyh9f0ad1d_1:
  ci: azure
  subdir: linux-64
brial-1.2.7-pyhc8dfbb8_1:
  ci: azure
  subdir: linux-64

Checklist

[ ] Used a fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] 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.
I do have some suggestions for making it better though...
For recipe:

License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Wouldn't this require a rerender every time we do a version bump? It hasn't been a requirement until now.

What do you mean? For sure the autotick bot always rerenders and every PR template on conda-forge has a checkbox that says to rerender before merging.

Wouldn't this require a rerender every time we do a version bump? It hasn't been a requirement until now.

To answer your question directly, yes one would have to rerender for every version bump, change in the hash inputs or change in build number.

Another issue that is potentially problematic is that if the version of conda-build that gets pulled in differs between the rerender and the CI service, the names of the noarch outputs can change.


New function for Inflector helper: ordinal_format()

Added ordinal_format() which return the ordinal numeral for a given number.

It appears that your empty lines contain tabs ... please make sure they're completely empty in the future.