SAML Metadata XML not usable

Attempted Debugging

[X] I have read the debugging page

Searched GitHub Issues

[X] I have searched GitHub for the issue.

Describe the Scenario
We are not able to import the bookstack metadata xml (/saml2/metadata) into our IdP.
The IdP reports that the xml file is invalid.
With APP_DEBUG enabled the bookstack error message:
openssl_sign(): Supplied key param cannot be coerced into a private key
It's a installation via the installation script on a clean Ubuntu 22.04 LTS
Exact BookStack Version
v22.11.1
Log Content

#0 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleError()
#1 /var/www/bookstack/vendor/robrichards/xmlseclibs/src/XMLSecurityKey.php(563): openssl_sign()
#2 /var/www/bookstack/vendor/robrichards/xmlseclibs/src/XMLSecurityKey.php(644): RobRichards\XMLSecLibs\XMLSecurityKey->signOpenSSL()
#3 /var/www/bookstack/vendor/onelogin/php-saml/src/Saml2/Auth.php(756): RobRichards\XMLSecLibs\XMLSecurityKey->signData()
#4 /var/www/bookstack/vendor/onelogin/php-saml/src/Saml2/Auth.php(693): OneLogin\Saml2\Auth->buildMessageSignature()
#5 /var/www/bookstack/vendor/onelogin/php-saml/src/Saml2/Auth.php(559): OneLogin\Saml2\Auth->buildRequestSignature()
#6 /var/www/bookstack/app/Auth/Access/Saml2Service.php(50): OneLogin\Saml2\Auth->login()
#7 /var/www/bookstack/app/Http/Controllers/Auth/Saml2Controller.php(28): BookStack\Auth\Access\Saml2Service->login()
#8 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): BookStack\Http\Controllers\Auth\Saml2Controller->login()
#9 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\Routing\Controller->callAction()
#10 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Route.php(262): Illuminate\Routing\ControllerDispatcher->dispatch()
#11 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\Routing\Route->runController()
#12 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(721): Illuminate\Routing\Route->run()
#13 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\Routing\Router->Illuminate\Routing\{closure}()
#14 /var/www/bookstack/app/Http/Middleware/CheckGuard.php(27): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#15 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\Http\Middleware\CheckGuard->handle()
#16 /var/www/bookstack/app/Http/Middleware/Localization.php(45): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#17 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\Http\Middleware\Localization->handle()
#18 /var/www/bookstack/app/Http/Middleware/RunThemeActions.php(26): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#19 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\Http\Middleware\RunThemeActions->handle()
#20 /var/www/bookstack/app/Http/Middleware/CheckEmailConfirmed.php(47): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#21 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\Http\Middleware\CheckEmailConfirmed->handle()
#22 /var/www/bookstack/app/Http/Middleware/PreventAuthenticatedResponseCaching.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#23 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\Http\Middleware\PreventAuthenticatedResponseCaching->handle()
#24 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#25 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle()
#26 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#27 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\View\Middleware\ShareErrorsFromSession->handle()
#28 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#29 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\Session\Middleware\StartSession->handleStatefulRequest()
#30 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Session\Middleware\StartSession->handle()
#31 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#32 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle()
#33 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#34 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Cookie\Middleware\EncryptCookies->handle()
#35 /var/www/bookstack/app/Http/Middleware/ApplyCspRules.php(33): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#36 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\Http\Middleware\ApplyCspRules->handle()
#37 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#38 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(723): Illuminate\Pipeline\Pipeline->then()
#39 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(698): Illuminate\Routing\Router->runRouteWithinStack()
#40 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(662): Illuminate\Routing\Router->runRoute()
#41 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(651): Illuminate\Routing\Router->dispatchToRoute()
#42 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(167): Illuminate\Routing\Router->dispatch()
#43 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}()
#44 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#45 /var/www/bookstack/app/Http/Middleware/TrustProxies.php(41): Illuminate\Http\Middleware\TrustProxies->handle()
#46 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): BookStack\Http\Middleware\TrustProxies->handle()
#47 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#48 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()
#49 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Foundation\Http\Middleware\TrimStrings->handle()
#50 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#51 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle()
#52 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#53 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle()
#54 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#55 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(142): Illuminate\Pipeline\Pipeline->then()
#56 /var/www/bookstack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(111): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter()
#57 /var/www/bookstack/public/index.php(53): Illuminate\Foundation\Http\Kernel->handle()
#58 {main}

PHP Version
8.1.2
Hosting Environment
Ubuntu 22.04 LTS, via Installation Script

Hi @ChatGPTLover,
The error log provided looks to be specific to a long request, rather than metadata request, in which case a login error may be expected if things are not set-up yet.
In regards to the metadata:

Do you see valid XML when visiting the /saml2/metadata endpoint of your BookStack instance?
Does your IdP provide any detail apart from it just being "invalid".
Are you able to confirm the IdP system being used?

Hi @ssddanbrown
Yes i see a valid XML when visiting the /saml2/metadata
The IdP (Microsoft ADFS) provides:
There was an error deserializing the security key identifier clause XML
The IdP works for all other SP except BookStack.

@ssddanbrown

SAML2_IDP_ENTITYID=https://adfs url/federationmetadata/2007-06/federationmetadata.xml

SAML2_AUTOLOAD_METADATA -> yes | no (tested both)

SAML2_IDP_SSO -> https://adfs url/adfs/ls

SAML2_IDP_SLO -> outcommented

SAML2_IDP_x509 -> ADFS Token cert data

SAML2_IDP_AUTHNCONTEXT -> true

SAML2_SP_x509 -> empty

SAML2_SP_x509_KEY ->empty

Okay, Let's focus on using autoloading since the errors you've reports seem certificate related, let's work around that for now.
Are you able to access the SAML2_IDP_ENTITYID value in your browser and see valid XML?
If so, can you comment-out or remove the SAML2_IDP_SSO, SAML2_IDP_SLO, SAML2_IDP_x509, SAML2_SP_x509andSAML2_SP_x509_KEY` options in your config.
Then, attempt to import the metadata again and confirm if you still get the openssl_sign(): Supplied key param cannot be coerced into a private key error or if you get a different error.

Since there's been no follow-up I'm going to close this. If the issue remains and is something you still require to be fixed respond to my previous comment and this can then be re-opened.


Custom Functions are not yet supported on ipad

fixing doc as to avoid customer confusion. It is on the backlog though :)

Docs Build status updates of commit 941ffd2:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/overview/office-add-in-availability.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit f13f14e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/overview/office-add-in-availability.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Investigate pinning sub dependencies

On ims-api and ldap-jwt-auth we don't pin sub-dependencies. There are cases where this could cause issues e.g. docker builds installing different dependencies when tags are pushed, or depndabot failing to notify us of security issues. However using a requirments.txt also has issues e.g. when sub dependencies are added/removed in new versions leading to an invalid requirements.txt. Equally where others suggest using poetry, we are not very keen on it complicating setup.
In #2 I am adding a requirements.txt to test it out, but we should re-evaluate this later and decide whether to revert the change, find a different solution or apply it to ims-api and ldap-jwt-auth.

https://github.com/ral-facilities/object-storage-api/pull/71 worked successfully without having to recreate the pip env to ensure all versions were compatible with each other like alot of the others due to pydantic having a newer version that fastapi didn't support.


Fix #164 - Enable run/debug on local server

This feels a bit hacky:

explicitly specify timezone=UTC to avoid for the NoSuchMethodException on Java8
copy over module publishing from GPE; run gcloud from the published locations
run debug launch with quiet=y to avoid spurious messages on stdout, which interferes with dev_appserver's communication with the running web server
add support for launching multiple wars (App Engine services): have to have same App Engine Application/Project ID, and distinct <service> names

PTAL @elharo — I might have a chance to look at this further tonight.

some tests are failing

PTAL @elharo.

I moved the Java8 timezone hack into the launch delegate so that the tests pass (and avoid putting in workarounds into tests).
I discovered that we can only debug a single module at a time, but we can launch multiple modules in non-debug mode.
I added support to the LaunchDelegate, which actually performs the launch, to add any flags specified on the Launch Configuration dialog's Server Flags tab.  Unfortunately the launch configuration's defaults aren't set until the user actually opens the Launch Configuration dialog as it might otherwise be a great place to put the timezone workaround flag.

a few minor nits, but otherwise LGTM


Non premium users

Most Spotify SDK/API endpoints have been premium only.
Any chance this SDK could also support non premium users? It's a hassle to write an alternate implementation with hacky intents and notification listeners for non premium users...
There's no need for additional methods to check if an user is a premium user or non premium user exceptions, I don't mind checking the subscription of an user with the web API. I just would like to be able to keep track of the playback state and start shuffle playback of a certain playback context. Obviously there are some edge cases like tablets though.

Hi @seahorsepip -
I'm happy to tell you that this SDK supports all Spotify users, with restrictions for users (such as not being able to play on demand) being handled by the Spotify app. You can use the UserApi to get the on demand capabilities of a user. 😄


Floating Point Exception in mxnet.contrib.ndarray.interleaved_matmul_selfatt_qk with invalid input

Description
Floating Point Exception in mxnet.contrib.ndarray.interleaved_matmul_selfatt_qk
Error Message
In mxnet1.6:
Floating point exception (core dumped)

In mxnet 2.0.0, floating point exception when exit.
To reproduce: https://colab.research.google.com/drive/1SVK_U1VKWX0sKj2nHr9P8pL5eLyLIBaw?usp=sharing
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/mxnet/base.py", line 529, in _notify_shutdown
    check_call(_LIB.MXNotifyShutdown())
  File "/usr/local/lib/python3.6/dist-packages/mxnet/base.py", line 246, in check_call
    raise get_last_ffi_error()
FloatingPointError: Traceback (most recent call last):
  File "../src/initialize.cc", line 379
FloatingPointError: Floating point exception

Reproduce
mxnet.contrib.ndarray.interleaved_matmul_selfatt_qk(heads=0, queries_keys_values=mxnet.nd.array ([[[1,1,0,1]]]))

Environment
OS: ubuntu 18.04
Python: 3.7.6
pip: 20.0.2
numpy: 1.18.5
mxnet: 1.6.0

the input must be a single tensor of interleaved projections
    of queries, keys and values following the layout:
    (seq_length, batch_size, num_heads * head_dim * 3)

you are using a 0 shape tensor as num_heads=0. It's not supported in mx.nd interface..
We can track improving the error message

@leezu  Thanks! An exception message sounds better than crash.

@leezu  Thanks! An exception message sounds better than crash.


Add recomb_prob input and output

Let AlphaPeel take an input file of the recombination rate for each locus (possibly with sex information) which is stored as a numpy vector, and generate the corresponding output file.

I believe we already have output for recombination rate / probs per locus - or maybe we wanted to add one, but did not yet implement it?

@gregorgorjanc Yes, the output is not implemented. I will do that later.

@gregorgorjanc What are you thoughts about the update

@XingerTang I think the above update of the tasks makes sense!
I am now blanking on the connection between rec_prob and rec_length since I am not fully on board with the implementation. Let's see, rec_length is given in Morgans for the whole chromosome representing the expected number of recombinations per chromosome. Say we have a 2 Morgan (=200 cM) long chromosome split into 4 segments delineated by 3 markers:

Seg 1: [0-50) cM
Marker 1
Seg 2: [50-100) cM
Marker 2
Seg 3: [100-150) cM
Marker 3
Seg 4: [150-200) cM

In the above case we need 4 values for rec_prob, but is rec_prob then 0.5 for each segment so that we get the expected number of recombinations equal to 2?
How does the current code go from rec_length input to marker-to-marker rec_prob?

@gregorgorjanc
The current code is calling the recombination rate transmissionRate, and the real transmission rate is calculated as a part of the calculation of the update of segregation but is not explicitly named. The following is the part that calculates the transmissionRate:
def setupTransmission(length, peelingInfo):
    if peelingInfo.positions is None:
        localMap = np.linspace(0, 1, num=peelingInfo.nLoci, dtype=np.float32)
    else:
        localMap = (
            peelingInfo.positions / peelingInfo.positions[-1]
        )  # This should be sorted. Need to add in code to check.
    for i in range(peelingInfo.nLoci - 1):
        distance = localMap[i + 1] - localMap[i]
        distance = distance * length
        peelingInfo.transmissionRate[i] = distance

Here, length refers to the recombination length input, transmissionRate is the recombination rate. So we can provide the markers positions by using the peelingInfo.positions, even though it is currently not being used and has no input option associated with it. And with this code, the transmissionRate would indeed becomes [0.5, 0.5, 0.5, 0.5] which sums up to 2.
Maybe we need to rename some of the variables and add an input option for PeelingInfo.positions before proceeding to the next step?

Transmission rate is indeed an odd name:(
Aren't positions read from the map file (if provided)?

@gregorgorjanc
Currently, the map file would be read only when we are doing hybrid peeling and a segregation file is provided as an input, then the information of the markers would be extracted while reading the map file, and passed as function arguments instead of being assigned to the PeelingInfo.positions. So we cannot use it elsewhere.
So, maybe we can first make the map file input option always available and then read the information into the PeelingInfo.positions to use the data at different places. Also, we can rename some variables such as transmissionRate to improve the readability of the code.

OK, then please open an issue to provide map file for non-hybrid mode too. Thanks!
Do you see any reason why transmissionRate term was used instead of rec...Rate?

@gregorgorjanc
Sure, I will open the issue.
I read the old code on the recomb branch, and there were both transmissionRate and recomb as the attributes of PeelingInfo. From where the transmissionRate is being used in the calculation of segregation (CollapsePointSeg in Peeling.py) I am sure it is just the recombination rate, whilerecomb is used to store the value of the estimated recombination rate, but I didn't find anywhere in the code that recomb is being used as a part of the calculation of segregation or any value relevant to the peeling. Since the old code is broken so I think maybe it is just an inconsistency in the naming.

Great that you are studying the code so much. Will email AW!


Most types shown as unknown in MonoDevelop

I wanted to have a look at the code and I noted that most of the types related to MonoDevelop DLLs are shown as unknown in the editor. This is because there are no references to the DLLs in the project and while it still builds fine (thanks to the custom msbuild tasks, I suppose) it is a bit annoying. What about referencing the DLLs also from the project?

In theory this shouldn't be a problem because MD uses MSBuild/xbuild to resolve assemblies for code completion. Are there any errors in your logs?

I just run the addin on MD from master and the problem isn't there anymore. I guess you can close this issue.


refactoring: remove un-used code, add go doc

Refactoring, consisting of

remove unused method isAuxiliaryLanguage and FileCountList
in order to reduce public API surfaces (go/java)
add GoDoc to public APIs
improves CI Java UnitTest job
It actually uses latest go code now + does not depend on GH org name (by mimicking
go_import_path)

TEST PLAN:

make test

Java UnitTest CI fixed in 8ffdf51, PR description updated.


Language markings support

Closes #251

Codecov Report

Merging #259 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #259      +/-   ##
==========================================
+ Coverage    98.6%   98.61%   +<.01%
==========================================
  Files         117      117
  Lines       12555    12624      +69
==========================================
+ Hits        12380    12449      +69
  Misses        175      175

Impacted Files
Coverage Δ

stix2/test/v21/test_markings.py
100% <100%> (ø)
:arrow_up:

stix2/properties.py
100% <100%> (ø)
:arrow_up:

stix2/test/v21/constants.py
100% <100%> (ø)
:arrow_up:

stix2/test/v21/test_properties.py
100% <100%> (ø)
:arrow_up:

stix2/markings/__init__.py
100% <100%> (ø)
:arrow_up:

stix2/markings/utils.py
100% <100%> (ø)
:arrow_up:

stix2/test/v21/test_granular_markings.py
100% <100%> (ø)
:arrow_up:

stix2/markings/granular_markings.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Looks good! Can we double check that the documentation at https://stix2.readthedocs.io/en/latest/guide/markings.html is still correct and add the information from this comment for users who only need one type of marking?

@clenk, added examples on the user-guide on how to use the new parameters for the marking API


Rewrite property names and method names

C# does not allow property names which are identical to the class name. As this is a C# restriction, it does not apply to the runtime in general as other languages could not enforce this rule.
To fix this issue we can just rewrite the DLL and update the property names. See this Sample
During generation we can just add an attribute to all properties which should be given a different name. The attribute parameter could be the new name.
After the generation is done we can add another step to rewrite the generated assemblies and update property names.
This depends on #414

Verify if we can rewrite methods to be named like properties.

Perhaps it is possible to mix il and c#? See https://gunnarpeipman.com/il-visual-studio/


SpringCloudStream latest version 3.1.4 StreamBridge autowiring is failing

Describe the issue
I have upgraded the latest spring cloud stream from 3.1.3 to 3.1.4, but getting autowire failed error for StreamBridge.
2021-09-25 13:20:15.567 ERROR 2528 --- [ restartedMain] o.s.b.d.LoggingFailureAnalysisReporter :
APPLICATION FAILED TO START
Description:
Field streamBridge in com.solace.samples.spring.scs.AtomicProcessor required a bean of type 'org.springframework.cloud.stream.function.StreamBridge' that could not be found.
The injection point has the following annotations: - @org.springframework.beans.factory.annotation.Autowired(required=true)
Action:
2021-09-25 13:20:15.567 ERROR 2528 --- [ restartedMain] o.s.b.d.LoggingFailureAnalysisReporter :
APPLICATION FAILED TO START
Description:
Field streamBridge in com.solace.samples.spring.scs.AtomicProcessor required a bean of type 'org.springframework.cloud.stream.function.StreamBridge' that could not be found.
The injection point has the following annotations: - @org.springframework.beans.factory.annotation.Autowired(required=true)
Action:
Consider defining a bean of type 'org.springframework.cloud.stream.function.StreamBridge' in your configuration.
Version of the framework
<spring-cloud.version>2020.0.4</spring-cloud.version>
<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-stream</artifactId>
		</dependency>

Expected behavior
Same autowiring is working in 3.1.3(2020.0.3)
   @Autowired
    StreamBridge streamBridge;

Additional context
any additional configuration is required to use StreamBridge in the latest version? as same code is working fine in previous version

@jaiananth Can you provide more context? Maybe you can share a small reproducible app? I just tried the version combinations you have with a custom app and StreamBridge gets autowired fine.

@jaiananth There is almost certainly some type of misconfiguration on our end given that we have no control over autowiring and if the above was true there would be a lot of broken code/tests out there. As Soby said, please provide a way to reproduce it.

functiontype.zip
Hi Team, I removed the solace dependencies, but still getting the same issue.
I don't have other binder details to test.

I did the following:

created a cloud-based PubSub+ messaging service (option 1).
took the uploaded sample app (the one w/ Solace dependencies) and replaced the application.yml in its entirety for the following simple binder def:

spring:
  cloud:
    stream:
      binders:
        local-solace:
          type: solace
          environment:
            solace:
              java:
                host: tcps://mr8oats*******.solace.cloud:55443
                msgVpn: <redacted>
                clientUsername: <redacted>
                clientPassword: <redacted>

and it started up fine:
/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/bin/java -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -javaagent:/Users/cbono/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/201.8743.12/IntelliJ IDEA 2020.1 EAP.app/Contents/lib/idea_rt.jar=60766:/Users/cbono/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/201.8743.12/IntelliJ IDEA 2020.1 EAP.app/Contents/bin -Dfile.encoding=UTF-8 -classpath /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/jaccess.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/jfxswt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/plugin.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/lib/ant-javafx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/lib/dt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/lib/javafx-mx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/lib/jconsole.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/lib/packager.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/lib/sa-jdi.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/lib/tools.jar:/Users/cbono/indeed/spring.io/functiontype/target/classes:/Users/cbono/.m2/repository/org/springframework/cloud/spring-cloud-stream/3.1.4/spring-cloud-stream-3.1.4.jar:/Users/cbono/.m2/repository/org/springframework/boot/spring-boot-starter-validation/2.5.5/spring-boot-starter-validation-2.5.5.jar:/Users/cbono/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/9.0.53/tomcat-embed-el-9.0.53.jar:/Users/cbono/.m2/repository/org/hibernate/validator/hibernate-validator/6.2.0.Final/hibernate-validator-6.2.0.Final.jar:/Users/cbono/.m2/repository/jakarta/validation/jakarta.validation-api/2.0.2/jakarta.validation-api-2.0.2.jar:/Users/cbono/.m2/repository/org/jboss/logging/jboss-logging/3.4.2.Final/jboss-logging-3.4.2.Final.jar:/Users/cbono/.m2/repository/com/fasterxml/classmate/1.5.1/classmate-1.5.1.jar:/Users/cbono/.m2/repository/org/springframework/spring-messaging/5.3.10/spring-messaging-5.3.10.jar:/Users/cbono/.m2/repository/org/springframework/spring-beans/5.3.10/spring-beans-5.3.10.jar:/Users/cbono/.m2/repository/org/springframework/spring-core/5.3.10/spring-core-5.3.10.jar:/Users/cbono/.m2/repository/org/springframework/spring-jcl/5.3.10/spring-jcl-5.3.10.jar:/Users/cbono/.m2/repository/org/springframework/integration/spring-integration-core/5.5.4/spring-integration-core-5.5.4.jar:/Users/cbono/.m2/repository/org/springframework/spring-aop/5.3.10/spring-aop-5.3.10.jar:/Users/cbono/.m2/repository/org/springframework/spring-context/5.3.10/spring-context-5.3.10.jar:/Users/cbono/.m2/repository/org/springframework/spring-tx/5.3.10/spring-tx-5.3.10.jar:/Users/cbono/.m2/repository/io/projectreactor/reactor-core/3.4.10/reactor-core-3.4.10.jar:/Users/cbono/.m2/repository/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3.jar:/Users/cbono/.m2/repository/org/springframework/integration/spring-integration-jmx/5.5.4/spring-integration-jmx-5.5.4.jar:/Users/cbono/.m2/repository/org/springframework/retry/spring-retry/1.3.1/spring-retry-1.3.1.jar:/Users/cbono/.m2/repository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar:/Users/cbono/.m2/repository/org/springframework/cloud/spring-cloud-function-context/3.1.4/spring-cloud-function-context-3.1.4.jar:/Users/cbono/.m2/repository/net/jodah/typetools/0.6.2/typetools-0.6.2.jar:/Users/cbono/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.5.5/spring-boot-autoconfigure-2.5.5.jar:/Users/cbono/.m2/repository/org/springframework/cloud/spring-cloud-function-core/3.1.4/spring-cloud-function-core-3.1.4.jar:/Users/cbono/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.12.5/jackson-databind-2.12.5.jar:/Users/cbono/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.12.5/jackson-annotations-2.12.5.jar:/Users/cbono/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.12.5/jackson-core-2.12.5.jar:/Users/cbono/.m2/repository/org/springframework/boot/spring-boot-starter-web/2.5.5/spring-boot-starter-web-2.5.5.jar:/Users/cbono/.m2/repository/org/springframework/boot/spring-boot-starter/2.5.5/spring-boot-starter-2.5.5.jar:/Users/cbono/.m2/repository/org/springframework/boot/spring-boot/2.5.5/spring-boot-2.5.5.jar:/Users/cbono/.m2/repository/org/springframework/boot/spring-boot-starter-logging/2.5.5/spring-boot-starter-logging-2.5.5.jar:/Users/cbono/.m2/repository/ch/qos/logback/logback-classic/1.2.6/logback-classic-1.2.6.jar:/Users/cbono/.m2/repository/ch/qos/logback/logback-core/1.2.6/logback-core-1.2.6.jar:/Users/cbono/.m2/repository/org/slf4j/slf4j-api/1.7.32/slf4j-api-1.7.32.jar:/Users/cbono/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.14.1/log4j-to-slf4j-2.14.1.jar:/Users/cbono/.m2/repository/org/apache/logging/log4j/log4j-api/2.14.1/log4j-api-2.14.1.jar:/Users/cbono/.m2/repository/org/slf4j/jul-to-slf4j/1.7.32/jul-to-slf4j-1.7.32.jar:/Users/cbono/.m2/repository/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5.jar:/Users/cbono/.m2/repository/org/yaml/snakeyaml/1.28/snakeyaml-1.28.jar:/Users/cbono/.m2/repository/org/springframework/boot/spring-boot-starter-json/2.5.5/spring-boot-starter-json-2.5.5.jar:/Users/cbono/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.12.5/jackson-datatype-jdk8-2.12.5.jar:/Users/cbono/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.12.5/jackson-datatype-jsr310-2.12.5.jar:/Users/cbono/.m2/repository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.12.5/jackson-module-parameter-names-2.12.5.jar:/Users/cbono/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/2.5.5/spring-boot-starter-tomcat-2.5.5.jar:/Users/cbono/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.53/tomcat-embed-core-9.0.53.jar:/Users/cbono/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.53/tomcat-embed-websocket-9.0.53.jar:/Users/cbono/.m2/repository/org/springframework/spring-web/5.3.10/spring-web-5.3.10.jar:/Users/cbono/.m2/repository/org/springframework/spring-webmvc/5.3.10/spring-webmvc-5.3.10.jar:/Users/cbono/.m2/repository/org/springframework/spring-expression/5.3.10/spring-expression-5.3.10.jar:/Users/cbono/.m2/repository/com/solace/spring/cloud/spring-cloud-starter-stream-solace/3.1.0/spring-cloud-starter-stream-solace-3.1.0.jar:/Users/cbono/.m2/repository/com/solace/spring/cloud/spring-cloud-stream-binder-solace/3.1.0/spring-cloud-stream-binder-solace-3.1.0.jar:/Users/cbono/.m2/repository/com/solace/spring/cloud/spring-cloud-stream-binder-solace-core/3.1.0/spring-cloud-stream-binder-solace-core-3.1.0.jar:/Users/cbono/.m2/repository/org/springframework/boot/spring-boot-starter-cloud-connectors/2.2.13.RELEASE/spring-boot-starter-cloud-connectors-2.2.13.RELEASE.jar:/Users/cbono/.m2/repository/org/springframework/cloud/spring-cloud-spring-service-connector/2.0.7.RELEASE/spring-cloud-spring-service-connector-2.0.7.RELEASE.jar:/Users/cbono/.m2/repository/org/springframework/cloud/spring-cloud-connectors-core/2.0.7.RELEASE/spring-cloud-connectors-core-2.0.7.RELEASE.jar:/Users/cbono/.m2/repository/org/springframework/cloud/spring-cloud-cloudfoundry-connector/2.0.7.RELEASE/spring-cloud-cloudfoundry-connector-2.0.7.RELEASE.jar:/Users/cbono/.m2/repository/org/springframework/cloud/spring-cloud-heroku-connector/2.0.7.RELEASE/spring-cloud-heroku-connector-2.0.7.RELEASE.jar:/Users/cbono/.m2/repository/org/springframework/cloud/spring-cloud-localconfig-connector/2.0.7.RELEASE/spring-cloud-localconfig-connector-2.0.7.RELEASE.jar:/Users/cbono/.m2/repository/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar:/Users/cbono/.m2/repository/com/solacesystems/sol-jcsmp/10.10.0/sol-jcsmp-10.10.0.jar:/Users/cbono/.m2/repository/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar:/Users/cbono/.m2/repository/commons-lang/commons-lang/2.6/commons-lang-2.6.jar:/Users/cbono/.m2/repository/org/osgi/org.osgi.annotation/6.0.0/org.osgi.annotation-6.0.0.jar:/Users/cbono/.m2/repository/org/apache/servicemix/bundles/org.apache.servicemix.bundles.jzlib/1.0.7_2/org.apache.servicemix.bundles.jzlib-1.0.7_2.jar:/Users/cbono/.m2/repository/com/solace/spring/boot/solace-java-spring-boot-starter/4.1.0/solace-java-spring-boot-starter-4.1.0.jar:/Users/cbono/.m2/repository/com/solace/spring/boot/solace-java-spring-boot-autoconfigure/4.1.0/solace-java-spring-boot-autoconfigure-4.1.0.jar:/Users/cbono/.m2/repository/com/solace/cloud/core/solace-services-info/0.4.0/solace-services-info-0.4.0.jar:/Users/cbono/.m2/repository/org/apache/logging/log4j/log4j-core/2.14.1/log4j-core-2.14.1.jar:/Users/cbono/.m2/repository/com/solace/cloud/cloudfoundry/solace-java-cfenv/1.1.0/solace-java-cfenv-1.1.0.jar:/Users/cbono/.m2/repository/io/pivotal/cfenv/java-cfenv-boot/2.1.2.RELEASE/java-cfenv-boot-2.1.2.RELEASE.jar:/Users/cbono/.m2/repository/io/pivotal/cfenv/java-cfenv-jdbc/2.1.2.RELEASE/java-cfenv-jdbc-2.1.2.RELEASE.jar:/Users/cbono/.m2/repository/io/pivotal/cfenv/java-cfenv/2.1.2.RELEASE/java-cfenv-2.1.2.RELEASE.jar:/Users/cbono/.m2/repository/com/google/code/gson/gson/2.8.8/gson-2.8.8.jar com.example.demo.DemoApplication

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.5.5)

2021-10-09 21:47:59.502  INFO 91538 --- [           main] com.example.demo.DemoApplication         : Starting DemoApplication using Java 1.8.0_202 on IT-USA-B00159 with PID 91538 (/Users/cbono/indeed/spring.io/functiontype/target/classes started by cbono in /Users/cbono/indeed/spring.io/functiontype)
2021-10-09 21:47:59.504  INFO 91538 --- [           main] com.example.demo.DemoApplication         : No active profile set, falling back to default profiles: default
2021-10-09 21:48:00.052  INFO 91538 --- [           main] faultConfiguringBeanFactoryPostProcessor : No bean named 'errorChannel' has been explicitly defined. Therefore, a default PublishSubscribeChannel will be created.
2021-10-09 21:48:00.059  INFO 91538 --- [           main] faultConfiguringBeanFactoryPostProcessor : No bean named 'integrationHeaderChannelRegistry' has been explicitly defined. Therefore, a default DefaultHeaderChannelRegistry will be created.
2021-10-09 21:48:00.093  INFO 91538 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.integration.config.IntegrationManagementConfiguration' of type [org.springframework.integration.config.IntegrationManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2021-10-09 21:48:00.095  INFO 91538 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration$IntegrationJmxConfiguration' of type [org.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration$IntegrationJmxConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2021-10-09 21:48:00.101  INFO 91538 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration' of type [org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2021-10-09 21:48:00.103  INFO 91538 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'mbeanServer' of type [com.sun.jmx.mbeanserver.JmxMBeanServer] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2021-10-09 21:48:00.111  INFO 91538 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'integrationChannelResolver' of type [org.springframework.integration.support.channel.BeanFactoryChannelResolver] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2021-10-09 21:48:00.112  INFO 91538 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'integrationDisposableAutoCreatedBeans' of type [org.springframework.integration.config.annotation.Disposables] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2021-10-09 21:48:00.257  INFO 91538 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2021-10-09 21:48:00.263  INFO 91538 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2021-10-09 21:48:00.263  INFO 91538 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.53]
2021-10-09 21:48:00.321  INFO 91538 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2021-10-09 21:48:00.321  INFO 91538 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 785 ms
2021-10-09 21:48:00.795  INFO 91538 --- [           main] o.s.c.s.binder.DefaultBinderFactory      : Creating binder: local-solace
2021-10-09 21:48:00.945  INFO 91538 --- [           main] .SolaceMessageChannelBinderConfiguration : Connecting JCSMP session JCSMPSession
2021-10-09 21:48:01.005  INFO 91538 --- [           main] c.s.j.protocol.impl.TcpClientChannel     : Connecting to host 'orig=tcps://mr8oatsp73mga.messaging.solace.cloud:55443, scheme=tcps://, host=mr8oatsp73mga.messaging.solace.cloud, port=55443' (host 1 of 1, smfclient 1, attempt 1 of 1, this_host_attempt: 1 of 21)
2021-10-09 21:48:01.019  INFO 91538 --- [           main] c.s.jcsmp.protocol.smf.SNIUtil           : Server Name Indication (SNI) automatically applied by using provided hostname
2021-10-09 21:48:01.020  INFO 91538 --- [           main] c.s.jcsmp.protocol.smf.SSLSmfClient      : SSLEngine Supported Protocols: [SSLV3, TLSV1, TLSV1.1, TLSV1.2]
2021-10-09 21:48:01.020  INFO 91538 --- [           main] c.s.jcsmp.protocol.smf.SSLSmfClient      : Application Specified Protocols: [SSLv3, TLSv1, TLSv1.1, TLSv1.2]
2021-10-09 21:48:01.020  INFO 91538 --- [           main] c.s.jcsmp.protocol.smf.SSLSmfClient      : Enabled Protocols: [SSLv3, TLSv1, TLSv1.1, TLSv1.2]
2021-10-09 21:48:01.020  INFO 91538 --- [           main] c.s.jcsmp.protocol.smf.SSLSmfClient      : The following specified cipher suites are not supported: [TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_RC4_128_MD5]
2021-10-09 21:48:01.020  INFO 91538 --- [           main] c.s.jcsmp.protocol.smf.SSLSmfClient      : SSLEngine Supported Cipher Suites: [TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384]
2021-10-09 21:48:01.020  INFO 91538 --- [           main] c.s.jcsmp.protocol.smf.SSLSmfClient      : Application Specified Cipher Suites: [TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_RC4_128_MD5, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384]
2021-10-09 21:48:01.020  INFO 91538 --- [           main] c.s.jcsmp.protocol.smf.SSLSmfClient      : Enabled Cipher Suites: [TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384]
2021-10-09 21:48:01.270  INFO 91538 --- [           main] c.s.j.protocol.impl.TcpClientChannel     : Connected to host 'orig=tcps://mr8oatsp73mga.messaging.solace.cloud:55443, scheme=tcps://, host=mr8oatsp73mga.messaging.solace.cloud, port=55443' (smfclient 1)
2021-10-09 21:48:01.344  INFO 91538 --- [           main] o.s.c.s.binder.DefaultBinderFactory      : Caching the binder: local-solace
2021-10-09 21:48:01.344  INFO 91538 --- [           main] o.s.c.s.binder.DefaultBinderFactory      : Retrieving cached binder: local-solace
2021-10-09 21:48:01.347  INFO 91538 --- [           main] o.s.c.s.m.DirectWithAttributesChannel    : Channel 'application.uppercase-in-0' has 1 subscriber(s).
2021-10-09 21:48:01.418  INFO 91538 --- [           main] o.s.i.monitor.IntegrationMBeanExporter   : Registering MessageChannel uppercase-in-0
2021-10-09 21:48:01.445  INFO 91538 --- [           main] o.s.i.monitor.IntegrationMBeanExporter   : Registering MessageChannel errorChannel
2021-10-09 21:48:01.461  INFO 91538 --- [           main] o.s.i.monitor.IntegrationMBeanExporter   : Registering MessageChannel uppercase-out-0
2021-10-09 21:48:01.463  INFO 91538 --- [           main] o.s.i.monitor.IntegrationMBeanExporter   : Registering MessageChannel nullChannel
2021-10-09 21:48:01.469  INFO 91538 --- [           main] o.s.i.monitor.IntegrationMBeanExporter   : Registering MessageHandler _org.springframework.integration.errorLogger
2021-10-09 21:48:01.486  INFO 91538 --- [           main] o.s.i.endpoint.EventDrivenConsumer       : Adding {logging-channel-adapter:_org.springframework.integration.errorLogger} as a subscriber to the 'errorChannel' channel
2021-10-09 21:48:01.487  INFO 91538 --- [           main] o.s.i.channel.PublishSubscribeChannel    : Channel 'application.errorChannel' has 1 subscriber(s).
2021-10-09 21:48:01.487  INFO 91538 --- [           main] o.s.i.endpoint.EventDrivenConsumer       : started bean '_org.springframework.integration.errorLogger'
2021-10-09 21:48:01.488  INFO 91538 --- [           main] o.s.c.s.binder.DefaultBinderFactory      : Retrieving cached binder: local-solace
2021-10-09 21:48:01.535  INFO 91538 --- [           main] .s.s.c.s.b.o.JCSMPOutboundMessageHandler : Creating producer to topic uppercase-out-0 <message handler ID: 5b68a2bd-ffb9-49e4-aa36-fe9a4db113e1>
2021-10-09 21:48:01.536  INFO 91538 --- [           main] c.s.s.c.s.b.util.SharedResourceManager   : No producer exists, a new one will be created
2021-10-09 21:48:01.612  INFO 91538 --- [           main] o.s.c.s.m.DirectWithAttributesChannel    : Channel 'application.uppercase-out-0' has 1 subscriber(s).
2021-10-09 21:48:01.614  INFO 91538 --- [           main] o.s.c.s.binder.DefaultBinderFactory      : Retrieving cached binder: local-solace
2021-10-09 21:48:01.632  INFO 91538 --- [           main] c.s.s.c.s.b.p.SolaceQueueProvisioner     : Creating anonymous (temporary) queue scst/an/1ebc0e48-1329-45db-98f5-9ede6f8edf54/plain/uppercase-in-0
2021-10-09 21:48:01.633  INFO 91538 --- [           main] c.s.s.c.s.b.p.SolaceQueueProvisioner     : Testing consumer flow connection to queue scst/an/1ebc0e48-1329-45db-98f5-9ede6f8edf54/plain/uppercase-in-0 (will not start it)
2021-10-09 21:48:01.745  INFO 91538 --- [           main] c.s.s.c.s.b.p.SolaceQueueProvisioner     : Connected test consumer flow to queue scst/an/1ebc0e48-1329-45db-98f5-9ede6f8edf54/plain/uppercase-in-0, closing it
2021-10-09 21:48:01.749  INFO 91538 --- [           main] o.s.c.stream.binder.BinderErrorChannel   : Channel 'uppercase-in-0.anon.1ebc0e48-1329-45db-98f5-9ede6f8edf54.errors' has 1 subscriber(s).
2021-10-09 21:48:01.749  INFO 91538 --- [           main] o.s.c.stream.binder.BinderErrorChannel   : Channel 'uppercase-in-0.anon.1ebc0e48-1329-45db-98f5-9ede6f8edf54.errors' has 2 subscriber(s).
2021-10-09 21:48:01.752  INFO 91538 --- [           main] c.s.s.c.s.b.i.JCSMPInboundChannelAdapter : Creating 1 consumer flows for queue #P2P/QTMP/v:single-aws-us-west-1a-8oatsp73mga/scst/an/1ebc0e48-1329-45db-98f5-9ede6f8edf54/plain/uppercase-in-0 <inbound adapter c0eb51db-b272-4b5d-8526-c74faf41e512>
2021-10-09 21:48:01.752  INFO 91538 --- [           main] c.s.s.c.s.b.i.JCSMPInboundChannelAdapter : Creating consumer 1 of 1 for inbound adapter c0eb51db-b272-4b5d-8526-c74faf41e512
2021-10-09 21:48:01.753  INFO 91538 --- [           main] c.s.s.c.s.b.util.FlowReceiverContainer   : Binding flow receiver container a3d04e53-c4f5-477e-8918-105c5d261a04
2021-10-09 21:48:01.799  INFO 91538 --- [           main] c.s.s.c.s.b.p.SolaceQueueProvisioner     : Subscribing queue #P2P/QTMP/v:single-aws-us-west-1a-8oatsp73mga/scst/an/1ebc0e48-1329-45db-98f5-9ede6f8edf54/plain/uppercase-in-0 to topic uppercase-in-0
2021-10-09 21:48:01.841  INFO 91538 --- [           main] c.s.s.c.s.b.i.JCSMPInboundChannelAdapter : started com.solace.spring.cloud.stream.binder.inbound.JCSMPInboundChannelAdapter@57c00115
2021-10-09 21:48:01.849  INFO 91538 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2021-10-09 21:48:01.855  INFO 91538 --- [           main] com.example.demo.DemoApplication         : Started DemoApplication in 2.624 seconds (JVM running for 2.999)

I then modified the application.yml in the provided app (simplifying a bit) using my PubSub+ cloud config and it also starts up fine.
spring:
  cloud:
    stream:
      binders:
        atomic:
          type: solace
          environment:
            solace:
              java:
                host: tcps://mr8oats*******.solace.cloud:55443
                msgVpn: <redacted>
                clientUsername: <redacted>
                clientPassword: <redacted>
      default-binder: atomic

It appears that the provided application.yaml is for the actual app but the repro app is very simple using default binder and autowiring StreamBridge.  Its possible some other config/code in the actual app is surfacing an issue. However, the sample apps provided do not repro the issue (for me anyways).
I do see something that always raises the eyebrow in the provided application.yml:
spring:
  main:
    allow-bean-definition-overriding: true

Is it possible that a bean is being overridden that could be causing this? This option has bitten me in the past on several occasions.

Thanks, @bono007 for looking into this issue. @jaiananth Did you get a chance to sort this issue out? It looks like we are unable to reproduce the issue.

No problem @sobychacko .
Also, @jalananth if you want to do some self-debugging you can set debug: true in your config file and then inspect the Spring Boot auto-config report. The source of the StreamBridge bean is FunctionConfiguration. The report may lend some insight as to why its not being created.

Hello, I created an example, it does not autowired, only when StreamBridge is passed as a parameter in the constructor. The output on the console is this:
demo2.zip
Autowired: null
Constructor param: org.springframework.cloud.stream.function.StreamBridge@4bd51d3e


docs: link is invailed.

https://github.com/spring-projects/spring-ai/blob/main/models/spring-ai-azure-openai/README.md:

Thank you for reporting this @yuluo-yx
It should be resoled now.


user_card_popover: Focus on menu options first when opened with keyboard.

When the user card is opened via the keyboard shortcut U, the initial focus should be on the first popover menu option, rather than the copy buttons or the custom profile field links which can be distracting due to the presence of tooltips on them.
This also adds the LONG_HOVER_DELAY delay to the user card tooltips to further reduce the distraction from the tooltips.
Fixes part of #31027.

Screenshots and screen captures:

Before
After

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

Works for me in manual testing!
I'm wondering if we should make the mouse opening behavior be that pressing the down arrow focuses the first menu option, similarly to the keyboard opening behavior. I think that would probably be better if not too tricky, but can be discussed on CZO, and done as a follow-up if folks agree.

Merged, thanks @sayamsamal!


Add theme info to Frontend guidelines in README

I have added quite a bit to the theme.js and it would be good if devs knew about the theme so it can start being used. However, we don't have a ThemeProvider handling the theme and are just importing the theme file at the moment, so I'm not sure if it's worth having this info here now or add it later when ThemeProvider is in use. @anniegiang,  @MohamedEl1, @neemiasjnr  would you mind reviewing this please. :pray:

lgtm thanks for adding this!


Pagination

I am getting always Pagination.NextMaxId=null and Pagination.NextUrl=null
I think it is due to new update from instagram as:
"pagination": {"next_min_id": "", "min_tag_id": "", "deprecation_warning": "next_max_id and min_id are deprecated for this endpoint; use min_tag_id and max_tag_id instead"}

@rahulmaurya-kiwi  Can you share some more information about your issue? While the next_max_id and min_id are deprecated, they still work.
You can see one of my examples in the documentation for further information:
http://social.skybrud.dk/instagram/endpoints/tags/getting-recent-media-from-a-tag/
Even though it uses the deprecated properties, it still works.


optional calico_ip_auto_method variable with IP_AUTODETECTION_METHOD

can be set to one of
first-found
can-reach
interface

calico_ip_auto_method must be set in defaults file and docs updated

@woopstar, added in defaults with documentation, but as comment because its alternative to default behavior to use node ip address.
For calico node you either set IP address either set IP_AUTODETECTION_METHOD to determine ip address. So by default it will use node ip address when calico_ip_auto_method is not defined.

ci check this


adding notes to installation instructions page

adding a separate installation instructions section - splits package installations by meaning

Nick! our paths cross again!

Added you as a collaborator Nick ;)
El lun., 2 dic. 2019 a las 22:52, Tamar Cohen<EMAIL_ADDRESS>escribió:

Merged #7 https://github.com/norheim/pextant/pull/7 into master.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/norheim/pextant/pull/7?email_source=notifications&email_token=AA2MTSRSS5ETPPRO25E2ULDQWXJY5A5CNFSM4JUQ3ICKYY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOVHD2AUQ#event-2848432210,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA2MTST2HNDWFPZPRHRCWMLQWXJY5ANCNFSM4JUQ3ICA
.

--
Johannes J. Norheim
PhD Candidate
MIT Dept of Aeronautics and Astronautics
+1<PHONE_NUMBER>


Bug in launcher

🔍 Before submitting the issue

[X] I have searched among the existing issues
[X] I am using a Python virtual environment

🐞 Description of the bug
I am trying to launch Fluent from Python while using the journal_filepath keyword, but it seems like the use of that keyword is not implemented internally.
I will read the journal in a separate command for now.
Traceback (most recent call last):
File "/home/srn/.conda/envs/PyFluent/lib/python3.8/site-packages/ansys/fluent/core/launcher/launcher.py", line 677, in launch_fluent
session.file.read_journal(journal_filepath)
TypeError: call() takes 1 positional argument but 2 were given
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "../fluent_schleife.py", line 102, in
run_fluent(kerne,f"/CFD_NAS/Ablage_Werkzeuge/Entwicklung/PyQueue/2_Laeuft/{FALL_AKTUELL}")
File "../fluent_schleife.py", line 41, in run_fluent
solver=pyfluent.launch_fluent(
File "/home/srn/.conda/envs/PyFluent/lib/python3.8/site-packages/ansys/fluent/core/launcher/launcher.py", line 690, in launch_fluent
raise LaunchFluentError(launch_string) from ex
ansys.fluent.core.launcher.launcher.LaunchFluentError:
Fluent Launch string: /ansys_inc/v232/fluent/bin/fluent 3ddp -t36 -mpi=intel -platform=intel -nm -ssh -pshmem -sifile="/tmp/serverinfo-tb61h_ld.txt" -nm
📝 Steps to reproduce
solver=pyfluent.launch_fluent(
precision="double",
version="3d",
processor_count=kerne,
mode="solver",
show_gui=True,
additional_arguments="-mpi=intel -platform=intel -nm -ssh -pshmem",
journal_filepath=journal
💻 Which operating system are you using?
 For a settings API call, named argument is needed.


System Interrupts after waking from sleep/hibernation

Upin waking the computer from sleep or hibernation, Aurora fails to properly intialise. The desktop profile does not start, just the LGS default. Windows task manager shows high system interrupts. In games this causes catastrophic frame drop and input lag.
First noticed some months ago.
I don't think I have any saved system logs from the interupts. Restarting fixes the issue. If Aurora is not running when the PC falls asleep, the issue does not happen.
Log attached. Woke PC from sleep. Aurora not currently initialised into my desktop profile.
2020-09-13 15.14.58.log

Please test if the Problem still exists when you use the dev version. Also please backup your profiles.
https://ci.appveyor.com/project/antonpup/aurora/branch/dev/artifacts

@gitmacer can confirm this fixed my issue with Aurora not coming back after sleep.
Thanks!

@gitmacer can confirm this fixed my issue with Aurora not coming back after sleep.
Thanks!


SSL Error

Describe the bug
Hi, I am having the same issue even with the new version of the Ai render. I have been trying the above solutions but none of them worked.
To reproduce
I entered the prompt, clicked on the rending option, and the image was the same as the model. I checked on the 'compositing node' window and found out the Ai render was muted. I unmuted it but the rending result was still black.
Error log

Environment

Blender version (upper right corner of splash screen):
AI Render version (find in Preferences > Add-ons):
Operating system (Windows/Mac/Linux):

Screenshots/video

Additional information
No response

From that error log, it looks like it's an SSL error happening on your end. See this issue: https://github.com/benrugg/AI-Render/issues/40
And specifically what helped a previous user: https://www.ssl2buy.com/wiki/how-to-fix-err-ssl-protocol-error
I'm going to close this issue, but let me know if you can't get it working!

Hi Benrugg/Ai-Render
Thank you for the help. I tried to solve it and it worked out! thank you
and your team for this amazing tool.
Le sam. 24 déc. 2022 à 02:44, Ben Rugg @.***> a écrit :

Closed #64 https://github.com/benrugg/AI-Render/issues/64 as completed.
—
Reply to this email directly, view it on GitHub
https://github.com/benrugg/AI-Render/issues/64#event-8105174505, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/A45RCOZZ7A5EA4RQVA55K43WOXXH7ANCNFSM6AAAAAATH6ZYMQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Great, really glad you got it working


[bug]: when plugin is enabled, text becomes lighter

https://user-images.githubusercontent.com/38974541/168637424-009c3e31-eb12-4dbb-8360-e36c58581222.mov

Which theme are you using?

shimmering focus, but it happens with default theme as well.

I've tested that on Windows with above theme, as well as with the default one and unfortunately I'm unable to reproduce that bug, probably it's Mac-specific...

yeah, I'm using mac


question: Use formatting without workbook

Question
I have a number, like "40,000.123", and I want to format it with a formatting string, like "YYYY-MM-DD hh:mm AM/PM". How do I do that in xlsx_writer? I don't need a full workbook instance.
Just converting an array of numbers to text, no need to write a workbook.
Not sure where to ask this, also did on SO.

Okay. Let's deal with this on Stack Overflow: https://stackoverflow.com/questions/77826803/use-write-with-format-in-isolation


[BEAM-10189] Add ReadModifyWriteState user state to python sdk

Please add a meaningful description for your change here

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

R: @angoenka @robertwb

Last time someone started adding this feature, we decided to call it ReadModifyWrite state.

Last time someone started adding this feature, we decided to call it ReadModifyWrite state.

Java SDK still calls this ValueState, ReadModifyWriteState is only used in beam_runner_api, wondering if we should change Java SDK as well if we want to call it ReadModifyWriteState in python?

Yes, the plan was to consider changing Java too, though that's harder due to backwards compatibility issues.

Yes, the plan was to consider changing Java too, though that's harder due to backwards compatibility issues.

Renamed to ReadModifyWriteState.

Retest this please

@committer This is approved. Could someone commit this please?

retest this please

Run Python2_PVR_Flink PreCommit

@mxm Seems like flink runner is sending cache token per state, instead of one user state token per bundle. This will cause python sdk to fail https://github.com/apache/beam/blob/d5c3391119061581b13d8b647b5c1f423a39d4b2/sdks/python/apache_beam/runners/worker/sdk_worker.py#L893, is this a known issue and being worked on?

@mxm Seems like flink runner is sending cache token per state, instead of one user state token per bundle. This will cause python sdk to fail
https://github.com/apache/beam/blob/d5c3391119061581b13d8b647b5c1f423a39d4b2/sdks/python/apache_beam/runners/worker/sdk_worker.py#L893
is this a known issue and being worked on?

The Flink Runner only sends one cache token per worker and application attempt. Please see https://github.com/apache/beam/blob/f3d5fc4b9fdbfdf943bb4d57d16a4dcb022923dc/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/ExecutableStageDoFnOperator.java#L400

@mxm Seems like flink runner is sending cache token per state, instead of one user state token per bundle. This will cause python sdk to fail
https://github.com/apache/beam/blob/d5c3391119061581b13d8b647b5c1f423a39d4b2/sdks/python/apache_beam/runners/worker/sdk_worker.py#L893
is this a known issue and being worked on?

The Flink Runner only sends one cache token per worker and application attempt. Please see
https://github.com/apache/beam/blob/f3d5fc4b9fdbfdf943bb4d57d16a4dcb022923dc/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/ExecutableStageDoFnOperator.java#L400

@mxm Seems like flink runner is sending cache token per state, instead of one user state token per bundle. This will cause python sdk to fail
https://github.com/apache/beam/blob/d5c3391119061581b13d8b647b5c1f423a39d4b2/sdks/python/apache_beam/runners/worker/sdk_worker.py#L893
is this a known issue and being worked on?

The Flink Runner only sends one cache token per worker and application attempt. Please see
https://github.com/apache/beam/blob/f3d5fc4b9fdbfdf943bb4d57d16a4dcb022923dc/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/ExecutableStageDoFnOperator.java#L400

it looks like the fn-execution core module is trying to add a cache token for each state key?
https://github.com/apache/beam/blob/2fd785dedb979a248e63c6385f978fd18fd2fbc4/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/state/StateRequestHandlers.java#L272

It is true that the fn protocol supports one cache token per handler (e.g. user state or side input handler). Those handler do not change for the lifetime of the application. I'm still trying to understand what the problem is. Cache tokens have been working fine so far. Could you provide some logs or test cases which show that there is a problem?

It is true that the fn protocol supports one cache token per handler (e.g. user state or side input handler). Those handler do not change for the lifetime of the application. I'm still trying to understand what the problem is. Cache tokens have been working fine so far. Could you provide some logs or test cases which show that there is a problem?

Last time I checked with @lukecwik he mentioned the SDK is expecting one global cache token per-bundle for all user states, and one cache token per side-input.
The problem is that it seems we can't declare more than one user state in Stateful Dofn, otherwise the SDK fails. Such as the test_pardo_state_only_test I'm trying to update in this PR.
09:13:30 [flink-runner-job-invoker] ERROR org.apache.beam.runners.jobsubmission.JobInvocation - Error during job invocation test_pardo_state_only_1592842407.43_aafef3e7-73a3-4a63-be4c-4be6c6fc7b7d.
09:13:30 java.util.concurrent.ExecutionException: org.apache.flink.runtime.client.JobExecutionException: Job execution failed.
09:13:30 	at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
09:13:30 	at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1908)
09:13:30 	at org.apache.flink.api.java.ExecutionEnvironment.execute(ExecutionEnvironment.java:864)
09:13:30 	at org.apache.beam.runners.flink.FlinkBatchPortablePipelineTranslator$BatchTranslationContext.execute(FlinkBatchPortablePipelineTranslator.java:194)
09:13:30 	at org.apache.beam.runners.flink.FlinkPipelineRunner.runPipelineWithTranslator(FlinkPipelineRunner.java:116)
09:13:30 	at org.apache.beam.runners.flink.FlinkPipelineRunner.run(FlinkPipelineRunner.java:83)
09:13:30 	at org.apache.beam.runners.jobsubmission.JobInvocation.runPipeline(JobInvocation.java:83)
09:13:30 	at org.apache.beam.vendor.guava.v26_0_jre.com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
09:13:30 	at org.apache.beam.vendor.guava.v26_0_jre.com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:57)
09:13:30 	at org.apache.beam.vendor.guava.v26_0_jre.com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
09:13:30 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
09:13:30 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
09:13:30 	at java.lang.Thread.run(Thread.java:748)
09:13:30 Caused by: org.apache.flink.runtime.client.JobExecutionException: Job execution failed.
09:13:30 	at org.apache.flink.runtime.jobmaster.JobResult.toJobExecutionResult(JobResult.java:147)
09:13:30 	at org.apache.flink.client.program.PerJobMiniClusterFactory$PerJobMiniClusterJobClient.lambda$getJobExecutionResult$2(PerJobMiniClusterFactory.java:175)
09:13:30 	at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:616)
09:13:30 	at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:591)
09:13:30 	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488)
09:13:30 	at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1975)
09:13:30 	at org.apache.flink.runtime.concurrent.FutureUtils$1.onComplete(FutureUtils.java:874)
09:13:30 	at akka.dispatch.OnComplete.internal(Future.scala:264)
09:13:30 	at akka.dispatch.OnComplete.internal(Future.scala:261)
09:13:30 	at akka.dispatch.japi$CallbackBridge.apply(Future.scala:191)
09:13:30 	at akka.dispatch.japi$CallbackBridge.apply(Future.scala:188)
09:13:30 	at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:36)
09:13:30 	at org.apache.flink.runtime.concurrent.Executors$DirectExecutionContext.execute(Executors.java:74)
09:13:30 	at scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:44)
09:13:30 	at scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:252)
09:13:30 	at akka.pattern.PromiseActorRef.$bang(AskSupport.scala:572)
09:13:30 	at akka.pattern.PipeToSupport$PipeableFuture$$anonfun$pipeTo$1.applyOrElse(PipeToSupport.scala:22)
09:13:30 	at akka.pattern.PipeToSupport$PipeableFuture$$anonfun$pipeTo$1.applyOrElse(PipeToSupport.scala:21)
09:13:30 	at scala.concurrent.Future$$anonfun$andThen$1.apply(Future.scala:436)
09:13:30 	at scala.concurrent.Future$$anonfun$andThen$1.apply(Future.scala:435)
09:13:30 	at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:36)
09:13:30 	at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
09:13:30 	at akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply$mcV$sp(BatchingExecutor.scala:91)
09:13:30 	at akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:91)
09:13:30 	at akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:91)
09:13:30 	at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72)
09:13:30 	at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:90)
09:13:30 	at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:40)
09:13:30 	at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:44)
09:13:30 	at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
09:13:30 	at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
09:13:30 	at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
09:13:30 	at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
09:13:30 Caused by: org.apache.flink.runtime.JobException: Recovery is suppressed by NoRestartBackoffTimeStrategy
09:13:30 	at org.apache.flink.runtime.executiongraph.failover.flip1.ExecutionFailureHandler.handleFailure(ExecutionFailureHandler.java:110)
09:13:30 	at org.apache.flink.runtime.executiongraph.failover.flip1.ExecutionFailureHandler.getFailureHandlingResult(ExecutionFailureHandler.java:76)
09:13:30 	at org.apache.flink.runtime.scheduler.DefaultScheduler.handleTaskFailure(DefaultScheduler.java:192)
09:13:30 	at org.apache.flink.runtime.scheduler.DefaultScheduler.maybeHandleTaskFailure(DefaultScheduler.java:186)
09:13:30 	at org.apache.flink.runtime.scheduler.DefaultScheduler.updateTaskExecutionStateInternal(DefaultScheduler.java:180)
09:13:30 	at org.apache.flink.runtime.scheduler.SchedulerBase.updateTaskExecutionState(SchedulerBase.java:496)
09:13:30 	at org.apache.flink.runtime.jobmaster.JobMaster.updateTaskExecutionState(JobMaster.java:380)
09:13:30 	at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
09:13:30 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
09:13:30 	at java.lang.reflect.Method.invoke(Method.java:498)
09:13:30 	at org.apache.flink.runtime.rpc.akka.AkkaRpcActor.handleRpcInvocation(AkkaRpcActor.java:284)
09:13:30 	at org.apache.flink.runtime.rpc.akka.AkkaRpcActor.handleRpcMessage(AkkaRpcActor.java:199)
09:13:30 	at org.apache.flink.runtime.rpc.akka.FencedAkkaRpcActor.handleRpcMessage(FencedAkkaRpcActor.java:74)
09:13:30 	at org.apache.flink.runtime.rpc.akka.AkkaRpcActor.handleMessage(AkkaRpcActor.java:152)
09:13:30 	at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:26)
09:13:30 	at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:21)
09:13:30 	at scala.PartialFunction$class.applyOrElse(PartialFunction.scala:123)
09:13:30 	at akka.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:21)
09:13:30 	at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:170)
09:13:30 	at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:171)
09:13:30 	at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:171)
09:13:30 	at akka.actor.Actor$class.aroundReceive(Actor.scala:517)
09:13:30 	at akka.actor.AbstractActor.aroundReceive(AbstractActor.scala:225)
09:13:30 	at akka.actor.ActorCell.receiveMessage(ActorCell.scala:592)
09:13:30 	at akka.actor.ActorCell.invoke(ActorCell.scala:561)
09:13:30 	at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:258)
09:13:30 	at akka.dispatch.Mailbox.run(Mailbox.scala:225)
09:13:30 	at akka.dispatch.Mailbox.exec(Mailbox.scala:235)
09:13:30 	... 4 more
09:13:30 Caused by: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Error received from SDK harness for instruction 2: Traceback (most recent call last):
09:13:30   File "apache_beam/runners/worker/sdk_worker.py", line 247, in _execute
09:13:30     response = task()
09:13:30   File "apache_beam/runners/worker/sdk_worker.py", line 304, in <lambda>
09:13:30     lambda: self.create_worker().do_instruction(request), request)
09:13:30   File "apache_beam/runners/worker/sdk_worker.py", line 473, in do_instruction
09:13:30     getattr(request, request_type), request.instruction_id)
09:13:30   File "apache_beam/runners/worker/sdk_worker.py", line 505, in process_bundle
09:13:30     instruction_id, request.cache_tokens):
09:13:30   File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
09:13:30     return self.gen.next()
09:13:30   File "apache_beam/runners/worker/sdk_worker.py", line 894, in process_instruction_id
09:13:30     assert not user_state_cache_token
09:13:30 AssertionError

Thanks for the stacktrace, that helped to figure out what's going on here. The issue is only present in batch mode where Flink does not use its own memory backend but uses Beam's InMemoryBagUserStateFactory.
We have to adapt the implementation to return the same cache token for all InMemorySingleKeyBagState, see: https://github.com/apache/beam/blob/63d51f5c4f89a4c881243d9d43be2ac138b1254b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/state/InMemoryBagUserStateFactory.java#L60
https://github.com/apache/beam/blob/63d51f5c4f89a4c881243d9d43be2ac138b1254b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/state/InMemoryBagUserStateFactory.java#L116

I've created a PR which fixes the problem: https://github.com/apache/beam/pull/12062

Run Python2_PVR_Flink PreCommit

Run Python PreCommit

Glad to see we were able to unblock the changes here!

Glad to see we were able to unblock the changes here!

Thanks for the fix!

My pleasure!


tf.keras.backend.arange crash (abort) when start is large

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux Ubuntu 18.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: N/A
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below):2.1.0
Python version:3.7.6
Bazel version (if compiling from source):N/A
GCC/Compiler version (if compiling from source):N/A
CUDA/cuDNN version:N/A
GPU model and memory:N/A

Describe the current behavior
tf.keras.backend.arange crash (abort) when start is large
Describe the expected behavior
expect no crash
Standalone code to reproduce the issue
import tensorflow as tf
tf.keras.backend.arange(start=1e+38)

Output:
2021-02-03 16:53:49.181545: F tensorflow/core/framework/tensor_shape.cc:187] Non-OK-status: InitDims(dim_sizes) status: Internal: Expected shape dimensions to be non-negative, got -9223372036854775808
Aborted (core dumped)

I have tried in colab with TF version 2.4, nightly version(2.5.0-dev20210203) and was able to reproduce the issue. Please, find the gist here. Thanks!

Was able to reproduce the issue in TF 2.6.0-dev20210528,please find the gist here..Thanks !

The issue will be fixed by PR #51711.


File Uploads

Hi, I'm trying to test form submissions with file uploads. Is there an easy way to select file(s) on input[type="file"]?

input.files gets you the list of files selected on an input. https://developer.mozilla.org/en-US/docs/Web/API/FileList.
Not sure this will serialize correctly, so you may need to read the files as arraybuffers or strings and return that:
page.$eval('input[type="file"]', input => console.log(input.files));

Sorry, wasn't very clear: I know I can select input.files and get the FileList, but it's an empty FileList! Is there a way to populate it with some files? Currently I'm faking it by creating something like quacks like a FileList (an array of Files that also passes instanceof FileList).
PS. Just wanted to say this project is absolutely amazing 👌. Thanks for all you work :)

I see. Hmm, yea. You can't set files programmatically on an input type=file due to security restrictions. What you're doing is probably the best approach. If this is part of an existing form submission, you could use FormData, attach Blobs, and submit the form to the same endpoint.

@pemrouz There's a elementHandle.uploadFile method to populate input of type "file".

I don’t manage to get this working…
There is no error message but it’s not uploading either.
I tried both, with an absolute path and also with a relative path as in your example.
:(

Maybe related to #1957?

@ThibaultJanBeyer  I had just the same situation as you had, but I later realized the problem. It was because I was not targeting the input tag correctly, so it couldn't locate the input tag.
I had something like this initially:
const fileInput = await page.$('input[type=file]');
then I changed it to:
const fileInput = await page.$('.messsage-container .messsage-form__upload-attachment input[type=file]');
And it then worked :)

Also elementHandle.uploadFile's filePaths are resolved relative to current working directory (cwd)
So if you have:
ui-tests/
├── assets/
│   └── file-to-upload.txt
├── xyz.test.js

From xyz.test.js you should do:
const filePath = path.relative(process.cwd(), __dirname + '/assets/file-to-upload.txt');
const input = await page.$('input[name=something]');
await input.uploadFile(filePath);

Thank you so much for this! Just in case someone else stumbles, I had to concatenate the paths using path.join() instead of the + operator.

Is there also a way to close the file picker dialog afterwards?

@ceyhun What happens if i have a folder photos and I have 200 photos in it but I only want to upload 3 is there a way to specify three paths in the input.uploadFile() params?

Did no one fix it ? I'm trying to upload an image to facebook
html:
and i can't figure it out a way to upload an image to this, i'm so sad


Mouse driver doesn't work

I haven't found a way of doing this which works. My results vary from breaking the keyboard IRQ to routing all of the keyboard interrupts to the mouse interrupts to doing nothing at all. The call to ps2_port_read blocks indefinitely, which is odd. Also, when putting the mouse device initialisation before  the keyboard initialisation yields different results. Not sure how to continue, I'll just leave out mouse input for now.

Finally got it to work. My biggest mistake was I was trying to read data manually whereas I actually needed to read it through the interrupt.


PHP 8.4 support added

Q
A

Documentation
yes/no

Bugfix
yes/no

BC Break
yes/no

New Feature
yes/no

RFC
yes/no

QA
yes/no

@gsteel Can you please review and let us know if anything else is required in this ?

@gsteel Can you please review and let us know if anything else is required in this ?


prefix

Description
Hi, I'm Ratio and I want to report a problem, when I put / lp group God meta setprefix 1 and my display, it tells me that it is already there, but when I set the range and put something in the chat, it only put {PREFIX} Ratio
Reproduction Steps
That the {PREFIX} disappears and just put the range and name
Expected Behaviour
I thought I would put my range
Server Details
MultiCraft Aternos MC:1.17.1
LuckPerms Version
5.3.86
Logs and Configs
No response
Extra Details
No response

Hi,
Luckperms does not handle displaying anything in chat or any other place. If the player displays correctly in /lp user <name> info than luckperms is doing it's job and it's upto your chat plugin to correctly display the prefix.


Optional Properties should be return nil

I have a protocol
protocol MyServicing {
var name: String?
var age: Int
}
when i use Mockable on it.
func testAge() {
given(mockMyServicing).age.willReturn(20)
}
if the implementation uses "name" , i will get the error
Fatal error: No return value found for member name.
I think it should be defaulted to nil if i don't provide it . in case of huge protocols. it would be tedious to provide all optional if they don't really relate to the testing objective.. WDYT?

I would also love to have this strict behavior. This could be made configurable. For example mockK has a relaxed mode (strict, meaning all calls have to be mocked, even when returning null) is their default.
See https://mockk.io/#relaxed-mock
I would love if the following would be possible:
@Mockable
protocol MyServicing {
var name: String?
var age: Int
func voidFunc()
}

func testName() {
let mockMyServicing = MockMyServicing(strict: true) // Would have a default value of false so the current constructor and behavior stays valid and consistent!
given(mockMyServicing).name.willReturn(nil)
// This would also should make method calls with void return strict:
given(mockMyServicing).name.willReturn(()) // or as a shorthand .justRuns()
}

This could hopefully be implemented by a relatively small change to the macro generation and Mocker.
I might take a look at this when I have time and try to do a PR, if this is something that @Kolos65 finds acceptable...

I have created a PR, that implements both the strict mode and the lenient behavior for optional properties.

@xmanu Fully strict behaviour is now available in 0.0.4

This ticket should probably not be completed though, as relaxed mode is still open...

ok. sorry i mis read your comment above :) good job man :)

@emadhegab I already have some ideas regarding your issue, it will be addressed shortly 😊

I think it will be better if the user can choose between strict and lenient modes. I personally feel that the non-throwing void method shouldn't need explicit mocking.
I guess if the strict will be a default behavior, better to keep the lenient modes configurable, so many users like me can skip mocking the non-throwing void method that did nothing:
// for strict mode
let strictService = MockMyService(mode: .strict)

// for full relaxed mode
let relaxedService = MockMyService(mode: .relaxed)

// for custom lenient mode
let lenientService = MockMyService(mode: . lenient(for: [.nonThrowingVoid]))

or maybe we can add it as attribute parameters:
@Mockable(defaultMode: .relaxed)
protocol MyService { ... }

Relaxed mode (WIP): #34

That looks really flexible and well thought through.
One could argue about some of the defaults, I for example would expect false, 0, and 0.0 to be defaults respectively, but I couldn't argue for or against that...
So LGTM!

I was leaning towards 1 to prevent zero division errors, but it might be worth making those configurable too.
Also I will add a global configuration option so the default policy can be changed for every mock.

That's a good argument!

would be great to add to the PR a read me to that new behaviours as well. what is default and how to change it .

@emadhegab @xmanu @hainayanda
Relaxed Mode is now available in 0.0.5


re Custom Sklearn Transforms with Dask Apply inside

I've created some custom Sklearn transforms that I'm putting into a pipeline. These custom transforms take a pandas object and apply some function over it like this example to extract text from html strings to pass into a CountVectorizer.
class GetText(BaseEstimator, TransformerMixin):

    def get_text(self, html_string):
        return lxml.html.document_fromstring(html_string).text_content()

    def fit(self, x, y=None):
        return self

    def transform(self, X):
        return X.apply(self.get_text)

I realize that dask.apply can be generically swapped in for pandas apply, especially if I convert the data to dask dataframes. But since these are in sklearn pipeline, I wasn't sure how much parallelism I'd get.

I don't think that dask.dataframe has anything to do with the dask.learn project.  Dask-learn strictly handles model parallelism on objects that satisfy the sklearn API.  Does this answer your question @data-steve ?

Sorry for the lack of response here. You can pass any dask object (e.g. array/dataframe/delayed object) to the *SearchCV.fit method, but the enclosed estimator methods will only receive the "computed" version of that object. So if you pass in a dask.dataframe.DataFrame, your fit/transform methods will get a pandas dataframe. In general this library is for fitting many many models on small-medium data, so this isn't seen as a problem, as the benefit of using dask for data-parallelism in these cases is small.

what constitutes small to medium data for dask? In terms of rows or cols or both?
~ Steve
Sent via telepathy

On Apr 5, 2017, at 5:43 PM, Jim Crist<EMAIL_ADDRESS>wrote:
Sorry for the lack of response here. You can pass any dask object (e.g. array/dataframe/delayed object) to the *SearchCV.fit method, but the enclosed estimator methods will only receive the "computed" version of that object. So if you pass in a dask.dataframe.DataFrame, your fit/transform methods will get a pandas dataframe. In general this library is for fitting many many models on small-medium data, so this isn't seen as a problem, as the benefit of using dask for data-parallelism in these cases is small.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

I guess what I mean here is "anything you'd use scikit-learn in memory with". We don't do anything to parallelize across data or do anything out-of-core, we just parallelize across fitting multiple estimators. What that means is computation dependent.


Rest-api

[ ] closes #xxxx
[ ] tests added / passed
[ ] passes git diff upstream/master -u -- "*.py" | flake8 --diff
[ ] added entry to docs/whatsnew latest version

https://www.codeproject.com/Articles/1227765/Parsing-XBRL-with-Python


Add ZMW ticker

Please add support for Zambian Kwacha, ZMW. Thanks.

Unfortunately, at this time the currencies we can add support for are limited by the coingecko API
https://api.coingecko.com/api/v3/simple/supported_vs_currencies

Not sure anything we can do besides switching providers so not doing this for now.


Bump Framework version

$subject

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.9 out of 11 committers have signed the CLA.:white_check_mark: lashinijay:white_check_mark: nipunsampath:white_check_mark: hwupathum:white_check_mark: ashensw:white_check_mark: ImalshaG:white_check_mark: amanda-ariyaratne:white_check_mark: chamathns:white_check_mark: sandushi:white_check_mark: Yoshani:x: jenkins-is-staging:x: wso2-jenkins-botjenkins-is-staging seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/5207019109

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/5207019109
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/5207019109

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/5207019109
Status: success


Fix models_config.json file issue

Ignore registering models if API key is not present, and put out a war…ning. Also create a config.json file at runtime, helpful for template deployments

We cannot merge this PR - we are just delaying the failure instead of asking the user to fix the issue. We should make the code independent of the model and power all the models via the gateway.

The above changes were mostly done to allow the code to be executed on the platform too! One way I can see is, raise errors if models are not defined, and for TFY deployment purposes, generate the config.json at runtime. Does that work?

We cannot merge this PR - we are just delaying the failure instead of asking the user to fix the issue. We should make the code independent of the model and power all the models via the gateway.

@innoavator  I have now changed the config. User cannot proceed without setting up the config file correctly. Also fixed the config file generation issue while deployment. Please check some unresolved comments wrt to variable naming.


Python indentation only with 8 spaces

Environment data

VS Code version: 1.51
Extension version (available under the Extensions sidebar): v2020.12.424452561
OS and version: Windows10
Python version (& distribution if applicable, e.g. Anaconda): python3.8
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): Anaconda
Relevant/affected Python packages and their versions: XXX
Relevant/affected Python-related VS Code extensions and their versions: XXX
Value of the python.languageServer setting: XXX

[NOTE: If you suspect that your issue is related to the Microsoft Python Language Server (python.languageServer: 'Microsoft'), please download our new language server Pylance from the VS Code marketplace to see if that fixes your issue]
Expected behaviour
Indentation with tabs is 4 spaces. I can set up the indentation on python extension settings
Actual behaviour
Indentation is 8 spaces, I cannot set up indetation back to 4 sapces
Steps to reproduce:
[NOTE: Self-contained, minimal reproducing code samples are extremely helpful and will expedite addressing your issue]

XXX

Logs

Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)

XXX

Sorry this was a Vscode issue not python extension


Old resource types can still be created through the REST API

It's still possible to create old resource types like Generic and TimeSeries through the REST API.  This Python code will generate a Timeseries resource (not Timeseries content type).
import requests
from requests_toolbelt import MultipartEncoder

auth = requests.auth.HTTPBasicAuth(user, pass)

rest_url = "https://www.hydroshare.org/hsapi/resource/"

params = MultipartEncoder({
    "resource_type": "TimeSeriesResource",
    "title": "Total Bed Load Transport Rate at Big Wood River near Ketchum"
})

headers = {
    "content-type": params.content_type
}

response = requests.post(rest_url, data=params, headers=headers, auth=auth)

print response
print response.content

This is important once we have migrated content to composite resources.  However there are Jupyter notebooks that may use this that need to be changed before this is done.

@sblack-usu does this belong in https://github.com/hydroshare/hs_restclient

No, this belongs here.  We're still discussing when to turn off the ability to create other resource types via the api.

@sblack-usu has this functionality been "turned off"?

@sblack-usu has this functionality been "turned off"?

Sort of.  If you attempt to create a deprecated resource type, it will create a Composite.  The justification for this is is that the resource types have been migrated to aggregations and you can get the same functionality from the type as an aggregation within a composite resource.

Sort of.  If you attempt to create a deprecated resource type, it will create a Composite.  The justification for this is is that the resource types have been migrated to aggregations and you can get the same functionality from the type as an aggregation within a composite resource.


Chrf bug fixes

Fix several problems in the implementation of CHRF metric.
Missing check for division by zero
When nothing matches between the reference and hypothesis, unhandled ZeroDivisionError was raised.
Unsafe type conversion
Lists of tokens were automatically converted to strings but type checking was only done on the hypothesis. Consequently, when there was a type mismatch between the hypothesis and reference, the results were incorrect.
Differences from the original implementation
The papers do not specify all details needed to fully implement the metric. However, now there is code available from the original author:
https://github.com/m-popovic/chrF
It differs from the NLTK implementation in several aspects:

Micro vs. macro average over n-gram orders. M. Popovic uses macro average over n-gram orders.
Micro vs. macro average over sentences. Again, M. Popovic uses macro average here.
Treatment of white space. By default, white spaces are ignored in CHRF++.

I changed the implementation, now it outputs identical results for all the test examples in the source file.
This can be verified by creating files with hypotheses and references and running the script with the following parameters (sets beta=3 and disables word-level F-score):
python chrF++.py -R tests.references.txt -H tests.hypotheses.txt -nw 0 -b 3

(Tested with commit ID: 6d3c384c8327a35c937ae231437cdb33ad4cd42d)
This PR deliberately does not include support for multiple references as that would change the interface of the functions.

This is tricky, the implementation from https://github.com/m-popovic/chrF/blob/master/chrF%2B%2B.py#L151 is totally different from the paper http://www.statmt.org/wmt15/pdf/WMT49.pdf
It included token n-gram scores on top of character ngram scores. That makes the interface quite different.

The replication misses gets darker, it looks like there's some default epsilon smoothing on https://github.com/m-popovic/chrF/blob/master/chrF%2B%2B.py#L98 that's not documented anywhere too =(

Just to clarify, Maja Popovic's code is the implementation of her latest version of the metric, called chrf++:
http://www.statmt.org/wmt17/pdf/WMT70.pdf
I tried to replicate its outputs in the setting where word (token) matches are disabled (-nw 0). I assume that the "character part" of the metric is the same as in the original chrf(3).

It sounds crazy but if you don't mind lets write the code such that we can replicate the chrf across the years .
I think I've an idea for an elegant API design for that since everything is dependent of precision, recall and fscore and the macro/micro average. Let me sleep on it and think through again and if it's a good idea, I'll try to incorporate the design into the existing code you've written =)

If you don't mind, let me try to add to your code step-by-step.
First we take out the ngram precision, recall, fscore computation and make it a function since, we would have to repeat the code if we do character and token ngrams.

Okay in addition to the code/algorithm changes, I think now Maja explicitly uses GPL
https://github.com/m-popovic/chrF/blob/master/chrF%2B%2B.py#L7
Let me ask if Maja is fine with relicensing her work. @stevenbird should we just drop this metric if she's sticking with GPL.

[CI: retest]

[CI: retest]

[CI: retest]


Ontology Mapping to Human-Readable IDs in Frontend

instead of SBO:113232133 (this doesn't exist), display a useful string like "promoter". Should probably look into Tyto for this.

Bryan Bartley's comment:
There's no quick and easy silver bullet, but one possibility is you could port SBH to use a back-end Python flask server (I assume you are using Node client-side).  I don't have any experience making flask--react apps but a quick Google seems to suggest it is possible.  Then you could simply use the tyto module directly.
On a totally different approach, I have plans and have done some preliminary work at implementing tyto in js but it still have a long way to go.  However, as you are probably aware there is a js rdflib module.  You could try implementing simple tyto functions using that.  (You can copy the sparql queries from the Python codebase).   If I remember correctly, however, one challenge here is that I think you have to configure cross-origin resource sharing in order to access external API endpoints using a client-side javascript app.

Fixed with #588.
Used the sequence-ontology, systems-biology-ontology and edam ontology dictionaries. If we want to add terms outside these dictionaries, then it would need to added separately like above with tyto.

Reopening to create a web service to reduce memory usage and extend number of ontologies supported


Fork comrades unite!

I got the changes from two forks and merged here, they are mostly simple bug fixes and few feature additions.

https://github.com/anamba/liquid.cr
https://github.com/ambercommunity/liquid.cr

Just one patch from anamba fork isn't here since the author wasn't sure if the fix was the right thing to do.
To accomplish this I reviewed/merged master branch from amber fork then cherry picked some patches from anamba fork, after this I just applied the crystal format tool to let CI happy in case of https://github.com/TechMagister/liquid.cr/pull/52 gets accepted.
Fix #45

So, what's the next steps to get this and https://github.com/TechMagister/liquid.cr/pull/52 merged after approved?

Yes, with great power comes great responsabilities

Yes, with great power comes great responsabilities

:rofl: ok, so I'll assume that after a PR gets approved by you I can merge things.

So, what's the next steps to get this and #52 merged after approved?

ups, I have only read the last words, but you got the thing


Implement OAuth support for Polar Flow

This is useless for past activities, but might be useful for future ones.

Might be covered by #36, however there's little use because access to past activities is still not possible.