Fixes #378: getattr has an off-by-one error in its quarter handling

Fixes issue https://github.com/crsmithdev/arrow/issues/378
I added test cases for quarter end dates to make sure they were being included in the correct quarter (as well as a fix).

Current coverage is 100% (diff: 100%)

Merging #379 into master will not change coverage

@@           master   #379   diff @@
====================================
  Files          14     14
  Lines        2902   2910     +8
  Methods         0      0
  Messages        0      0
  Branches      208    208
====================================
+ Hits         2902   2910     +8
  Misses          0      0
  Partials        0      0

Powered by Codecov. Last update 0254463...b1fcf1c

@andrewelkins Do you happen to know when the next release will be? Is there some sort of release schedule I could look at?

No release schedule. I've updated the version and should push version 0.10.0 today or tomorrow to pypi.


Black Theme for Website

Toggle Switch for Theme change

Hey @sainanda59 can I work on this issue? you just have to provide me with your desired colors for the dark theme.

@arpanaditya Sure, buddy. Go ahead, and there is no such bound. Let your creativity out.

Please assign this issue to me

Assigned you @arpanaditya. Good Luck


Fix potential deadlock when setting test.maxParallelForks > maxWorkers

maxParallelForks is capped to maxWorkers
a warning is logged if forced to maxWorkers

The fix is pretty obvious, but wdyt of the added logging statement?


low-priority - more robust, simpler, idempotent purge-cluster.yml

the first set of changes makes it safe to run purge-cluster twice, or to run it on a partially installed system.    For sysvinit-based service shutdowns, we first do a "service foo status bar" command and only proceed to the "service foo stop bar" command if the return status was 0 (success).  This ensures that we don't try to stop the service if the software isn't installed.   If the software is installed, it's harmless to stop a service that is already stopped.  We  can get rid of the when clause boolean expression:
systemd_unit_files.stdout == "0"
The 2nd set of changes tests for two things: is ceph-disk utility installed, and are there partitions that were created with ceph-disk?  Only if both conditions are true do we allow zap tasks to proceed.   These tests are implemented in such a way that they should not care what Linux distro they are on.  For example, the ceph-disk test just sees if ceph-disk is in one of the PATH directories.
Since we're not dealing with just disks I renamed zap_journal_disks to zap_block_devs and we use this var in the when clause for both zap tasks.
I use this in conjunction with osd_directory: true case - since I'm creating my own OSD filesystems for dm-cache testing, I omit "ceph data" or "ceph journal" from the partition labels for these devices, and now purge-cluster.yml won't touch them.

isn't it interesting that the log of the failed play shows the first failure to be "Problem opening /dev/vdb for reading! Error is 2.\nThe specified file does not exist!\nProblem opening '' for writing! Program will now terminate.\nWarning! MBR not overwritten! Error is 2!" .    So I don't think my script deleted /dev/vdb.  Furthermore, the only file that changes in this commit is purge-cluster.yml and this file is never used in the CI regression test, is it?  Will run the test again and see if it gets the same result.  Am investigating your other suggestion.

The issue on CI is not related to your changes.
Actually the CI doesn't use purge-cluster.yml.
Let me run it one more time and yes please have a look at my comments ;)

test this please

This is failing because the ceph-agent role has been enabled:
"msg": "No package matching 'calamari-server' is available"

It should get fixed with PR #705

thx much.  I've had to learn to think upstream as well.
----- Original Message -----

From: "Alfredo Deza"<EMAIL_ADDRESS>To: "ceph/ceph-ansible"<EMAIL_ADDRESS>Cc: "Ben England"<EMAIL_ADDRESS>Sent: Monday, April 11, 2016 6:14:56 PM
Subject: Re: [ceph/ceph-ansible] low-priority - more robust, simpler, idempotent purge-cluster.yml (#688)
This is failing because the ceph-agent role has been enabled:
"msg": "No package matching 'calamari-server' is available"

It should get fixed with PR #705

You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/ceph/ceph-ansible/pull/688#issuecomment-208589277


Update swf-tree to 0.5

This commit updates the swf-tree and swf-parser dependencies to their latest version. The main change is that ShapeRecord::StraightEdge and ShapeRecord::CurvedEdge were merged into a ShapeRecord::Edge with an optional control_deta for bezier curves.
See https://github.com/open-flash/swf-tree/issues/22

I updated my branch to address your comments. You can squash these commits before merging if you want to.

Lovely, thanks!


Automatic changelog update should not be run on forks

Github actions workflow for automatic changelog should not be running on forks. Leads to merge conflicts and a lot of merge commits on forks when doing a git pull upstream master before doing a git pull origin master.
Can add a condition on the github actions workflow job to run only on refs/heads/master and github.repository apache/camel-k

Yeah, much better


Dual pass check mandatory keys

if user has ommitted '_id' or  'doc_ID' in keys to return in query by setting query_result_return_keys attribute in Query class, then the dual pass query fails as dual pass uses them while matching results from text and semantic queries and providing final output

Nice catch. Not a problem I've come across yet, but I imagine as more people play around with query_result_return_keys they may run into this. I've tested locally and all seems good 👍

Nice job!


Fix a bug that piped was unable to send stage logs after restarting

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #657
Does this PR introduce a user-facing change?:

NONE

/cc @nakabonne

/approve


More "Kotlin Gotchas" with abstract classes

I have some trouble with the ShedLock 4.43.0 in combination with Kotlin 1.7.22 and SpringBoot 2.7.6 (all latest versions) and JRE 11. The description in "Kotlin gotchas" in the documentation says "If @Scheduled annotation is not present, you have to open the method by yourself." - In my case the annotation was present but I still had to open the methods manually. This was necessary because the methods were in an "abstract class" but the @Scheduled in the derived class.
Maybe it's worth mentioning in the Gotchas section.
My example is in https://github.com/lathspell/spring_kotlin_abstract_bug and roughly:
  class Foo(something: Something): AbstractFoo(something) {
    @Scheduled...
    @SchedulerLock...
    fun cronjob() {...}
  }

  class AbstractFoo(private val something: Something) {
     fun save() { // here "something" is NULL although defined as not-nullable!
  }

Originally I wanted to report this as a but to the "kotlin-spring" or Kotlin "all-open" plugin but then I noticed that the problem
only occurs when using the @SchedulerLock annotation.
Can you elaborate why this breaks the Spring CGI-proxy stuff? Is there maybe something that ShedLock could do better?
It's pretty nasty when you have a working project, then add ShedLock and suddenly NullPointerExceptions turn up!

Hi, thanks for feedback. The reason is simple. @Scheduled does not require AOP, Spring just needs to call the method. For @SchedulerLock to work, you need AOP and Spring either has to generate a subclass or generate a proxy. I will try to update the documentation.

For future reference

https://stackoverflow.com/questions/56537496/how-to-exclude-an-annotation-from-kotlin-allopen-plugin
https://github.com/JetBrains/kotlin/blob/cdbfa7fbbc6f31dbcb6264f456bfedee1a85c40b/plugins/allopen/allopen.common/src/org/jetbrains/kotlin/allopen/AllOpenPluginNames.kt#L10


Update overlay permission request message

Jira issue:
No Jira ticket
Additional info:
This change has been requested in https://salemove.slack.com/archives/CHN6UB7UH/p1679990824059459?thread_ts=1679562241.816179&cid=CHN6UB7UH
Screenshots:

!merge


Change genesis tools to create merged genesis by default

Updates Dockerfile to use protolambda's genesis-generator again
Changes TTD and Merge fork block to 0
Removes clique support as we do merged genesis
Adds timestamp to EL genesis
Modifies values.env to have more template values
Updates entrypoint.sh

Since ethereum has been merged already, this tool will start building the genesis state based on a PoS based network. This will facilitate testing for further ethereum forks.
If someone wants to test and generate testnets for pre-merge testnets and go through the merge again they'll have to use a previous version of the code.  I've tagged the code just in case someone wants to find the right commit: https://github.com/skylenet/ethereum-genesis-generator/releases/tag/pre-merge


Add function to eosio.token contract to add token to account with 0 balance

It would be useful to add an "open" function to the eosio.token contract. This would allow a user to add a token to their account with 0 balance. This is useful for "airgrabs"
Something similar to the "signup" function from here https://github.com/generEOS/poorman.token/blob/master/poorman.token.cpp

Resolved by #63. Already included in eosio.contracts release v1.3.0.

Thanks for adding the open function. However, shouldn't we first check that the symbol being added exists in the stats table (similar to the issue function).
With the current code, a user can add an unlimited amount of junk (tokens that don't exist) in their RAM.
We need something like:
auto sym_name = symbol.name();
stats statstable( _self, sym_name );
auto existing = statstable.find( sym_name );
eosio_assert( existing != statstable.end(), "token with symbol does not exist" );


Raw does not work as expected with escapeColumns is *

Summary of problem or feature request
cannot prevent escape column html if escapeColumns is set to '*'
further details to come.
Code snippet of problem

$appends=['full_link']
getFullLinkAttribute returns html link
$datatables->rawColumns(['full_link']); does NOT make with raw
\Yajra\DataTables\Processors\DataProcessor::escapeColumns does not check rawColumns when escapeColumns is '*' (default)

System details

Operating System CentOS / Apache
PHP Version 7.2
Laravel Version 5.6
Laravel-Datatables Version 8.*

pseudo code for my issue..

$model = (new thingy())->with('another:id,column',andAnother:id,column,html_link');
$datatables = \DataTables::eloquent($model);
$datatables->rawColumns(['html_link']);
/** @var \Illuminate\Http\JsonResponse $jsonResponse */
$jsonResponse = $datatables->make(false);

this does NOT escape html_link

it is due to the array_dot stuff in \Yajra\DataTables\Processors\DataProcessor::escapeRow
ends up being #.html_link

so you need $json = $datatables->make(true); to get the relations as associative array and allow for column definitions that will match the rawColumns definitions.
then you also need to have objectName.ColumnName as the definition ...
$model = (new thingy())->with('another:id,column','andAnother:id,column,html_link');
$datatables = \DataTables::eloquent($model);
$datatables->rawColumns(['andAnother.html_link']);
/** @var \Illuminate\Http\JsonResponse $jsonResponse */
$jsonResponse = $datatables->make(TRUE);


Ability to configure how to sanitize lint paths

The current implementation assumes danger is running in the same machine that generated the lint report for Android. However, it is common in CI implementations to run different stages in different hosts (eg: docker containers).
Imagine this scenario:

./gradlew lint is run in a Gitlab stage in a docker container
We then run danger in a next stage in a different docker container.
The root in the 2nd container will be different than in the first one, so no matches will be found when adding comments.

One possible solution would be to not rely on the root of the current directory to replace the location in Lint files. Instead, try to find the Lint locations using the current root.

Created a PR: https://github.com/damian-burke/danger-plugin-lint-report/pull/30


Make latitude and longitude numeric fields for correct comparisons

Improved: Make the latitude and longitude fields of GeoPoint numeric
Explanation:
Before this commit both are stored as strings in the database and at least PostgreSQL does not correctly compare numeric strings. They will be sorted lexicaly which was not correct with floats.
Thanks to Daniel for checking with his own Google API key

Hi fehnomenal,
Did you check the implications on the other locations in code  where latitude and longitude are used?
Thanks

I did a quick check and found the following:

Lat and lon are used in some places without problems (mainly inside calls to UtilMisc.toMap or simple outputs)
Services createPartyPostalAddress, createFacilityPostalAddress, updateFacilityPostalAddress are broken with or without this change (apparently it calls createGeoPoint which claims dataSourceId is missing)
Service cdyneReturnCityState fails because of missing parameter with no possibility to input it
All other services related to geopoints do the right thing

Thanks, I 'll have a look...

Hi fehnomenal,
From https://github.com/fehnomenal/ofbiz-framework/tree/numeric-latlon I guess you used trunk. I did the same locally and createPartyPostalAddress worked correctly. You can see the stack trace below, Look for
Sync service [webtools/createPartyPostalAddress] finished in [766] milliseconds

2020-08-10 18:42:11,946 |jsse-nio-8443-exec-4 |ControlServlet                |T| [[[webtools::runService (Domain:https://localhost)] Request Begun, encoding=[UTF-8]- total:0.0,since last(Begin):0.0]]
2020-08-10 18:42:11,989 |jsse-nio-8443-exec-4 |ConfigXMLReader               |I| controller loaded: 0.0s, 0 requests, 0 views in file:/C:/projectsASF/Git/ofbiz-framework/framework/common/webcommon/WEB-INF/handlers-controller.xml
2020-08-10 18:42:11,990 |jsse-nio-8443-exec-4 |ConfigXMLReader               |I| controller loaded: 0.019s, 51 requests, 21 views in file:/C:/projectsASF/Git/ofbiz-framework/framework/common/webcommon/WEB-INF/common-controller.xml
2020-08-10 18:42:12,000 |jsse-nio-8443-exec-4 |ConfigXMLReader               |I| controller loaded: 0.001s, 26 requests, 10 views in file:/C:/projectsASF/Git/ofbiz-framework/framework/common/webcommon/WEB-INF/portal-controller.xml
2020-08-10 18:42:12,010 |jsse-nio-8443-exec-4 |ConfigXMLReader               |I| controller loaded: 0.0s, 30 requests, 13 views in file:/C:/projectsASF/Git/ofbiz-framework/framework/common/webcommon/WEB-INF/security-controller.xml
2020-08-10 18:42:12,021 |jsse-nio-8443-exec-4 |ConfigXMLReader               |I| controller loaded: 0.001s, 5 requests, 0 views in file:/C:/projectsASF/Git/ofbiz-framework/framework/common/webcommon/WEB-INF/tempexpr-controller.xml
2020-08-10 18:42:12,022 |jsse-nio-8443-exec-4 |ConfigXMLReader               |I| controller loaded: 0.063s, 121 requests, 79 views in file:/C:/projectsASF/Git/ofbiz-framework/framework/webtools/webapp/webtools/WEB-INF/controller.xml
2020-08-10 18:42:12,025 |jsse-nio-8443-exec-4 |RequestHandler                |I| Rendering View [runService].  Hidden sessionId by default.
2020-08-10 18:42:12,026 |jsse-nio-8443-exec-4 |ServiceDispatcher             |T| Sync service [webtools/getUserPreferenceGroup] finished in [1] milliseconds
2020-08-10 18:42:12,035 |jsse-nio-8443-exec-4 |ScreenFactory                 |I| Got 12 screens in 0.007s from: file:/C:/projectsASF/Git/ofbiz-framework/framework/webtools/widget/ServiceScreens.xml
2020-08-10 18:42:12,270 |jsse-nio-8443-exec-4 |ScreenFactory                 |I| Got 11 screens in 0.006s from: file:/C:/projectsASF/Git/ofbiz-framework/framework/webtools/widget/CommonScreens.xml
2020-08-10 18:42:12,275 |jsse-nio-8443-exec-4 |ScreenFactory                 |I| Got 26 screens in 0.004s from: file:/C:/projectsASF/Git/ofbiz-framework/framework/common/widget/CommonScreens.xml
2020-08-10 18:42:12,392 |jsse-nio-8443-exec-4 |ScreenFactory                 |I| Got 25 screens in 0.006s from: file:/C:/projectsASF/Git/ofbiz-framework/themes/common-theme/widget/CommonScreens.xml
2020-08-10 18:42:12,438 |jsse-nio-8443-exec-4 |ModelService                  |I| Set default value [SECURITY] for parameter [primaryPermission]
2020-08-10 18:42:12,445 |jsse-nio-8443-exec-4 |Log                           |I| [CommonPermissionServices.xml#genericBasePermissionCheck line 59] This simple-method-call is deprecated! Please use a service-call of genericBasePermissionC
heck instead.
2020-08-10 18:42:12,516 |jsse-nio-8443-exec-4 |ServiceDispatcher             |T| Sync service [webtools/genericBasePermissionCheck] finished in [71] milliseconds
2020-08-10 18:42:12,517 |jsse-nio-8443-exec-4 |ServiceDispatcher             |T| Sync service [webtools/securityPermissionCheck] finished in [79] milliseconds
2020-08-10 18:42:12,545 |jsse-nio-8443-exec-4 |ServerHitBin                  |I| Visit delegatorName=default, ServerHitBin delegatorName=default
2020-08-10 18:42:12,546 |jsse-nio-8443-exec-4 |ControlServlet                |T| [[[webtools::runService (Domain:https://localhost)] Request Done- total:0.6,since last([webtools::runSer...):0.6]]
2020-08-10 18:42:16,899 |jsse-nio-8443-exec-6 |ControlServlet                |T| [[[webtools::setSyncServiceParameters (Domain:https://localhost)] Request Begun, encoding=[UTF-8]- total:0.0,since last(Begin):0.0]]
2020-08-10 18:42:16,903 |jsse-nio-8443-exec-6 |RequestHandler                |I| Rendering View [setSyncServiceParameters].  Hidden sessionId by default.
2020-08-10 18:42:16,904 |jsse-nio-8443-exec-6 |ServiceDispatcher             |T| Sync service [webtools/getUserPreferenceGroup] finished in [1] milliseconds
2020-08-10 18:42:16,932 |jsse-nio-8443-exec-6 |ModelService                  |I| Set default value [SECURITY] for parameter [primaryPermission]
2020-08-10 18:42:16,933 |jsse-nio-8443-exec-6 |Log                           |I| [CommonPermissionServices.xml#genericBasePermissionCheck line 59] This simple-method-call is deprecated! Please use a service-call of genericBasePermissionC
heck instead.
2020-08-10 18:42:16,934 |jsse-nio-8443-exec-6 |ServiceDispatcher             |T| Sync service [webtools/securityPermissionCheck] finished in [2] milliseconds
2020-08-10 18:42:16,948 |jsse-nio-8443-exec-6 |ServerHitBin                  |I| Visit delegatorName=default, ServerHitBin delegatorName=default
2020-08-10 18:42:16,951 |jsse-nio-8443-exec-6 |ControlServlet                |T| [[[webtools::setSyncServiceParameters (Domain:https://localhost)] Request Done- total:0.052,since last([webtools::setSyn...):0.052]]
2020-08-10 18:42:17,714 |jsse-nio-8443-exec-7 |ControlServlet                |T| [[[webtools::getJs (Domain:https://localhost)] Request Begun, encoding=[UTF-8]- total:0.0,since last(Begin):0.0]]
2020-08-10 18:42:17,716 |jsse-nio-8443-exec-7 |RequestHandler                |I| [RequestHandler.doRequest]: Response is a chained request. Hidden sessionId by default.
2020-08-10 18:42:17,717 |jsse-nio-8443-exec-7 |RequestHandler                |I| [RequestHandler]: Chain in place: requestUri=js overrideViewUri=null Hidden sessionId by default.
2020-08-10 18:42:17,717 |jsse-nio-8443-exec-7 |RequestHandler                |I| Ran Event [java:org.apache.ofbiz.common.CommonEvents#jsResponseFromRequest] from [request], result is [success]
2020-08-10 18:42:17,718 |jsse-nio-8443-exec-7 |ServerHitBin                  |I| Visit delegatorName=default, ServerHitBin delegatorName=default
2020-08-10 18:42:17,719 |jsse-nio-8443-exec-7 |ControlServlet                |T| [[[webtools::getJs (Domain:https://localhost)] Request Done- total:0.005,since last([webtools::getJs ...):0.005]]
2020-08-10 18:42:32,567 |sse-nio-8443-exec-10 |ControlServlet                |T| [[[webtools::runService (Domain:https://localhost)] Request Begun, encoding=[UTF-8]- total:0.0,since last(Begin):0.0]]
2020-08-10 18:42:32,597 |sse-nio-8443-exec-10 |ConfigXMLReader               |I| controller loaded: 0.0s, 0 requests, 0 views in file:/C:/projectsASF/Git/ofbiz-framework/framework/common/webcommon/WEB-INF/handlers-controller.xml
2020-08-10 18:42:32,597 |sse-nio-8443-exec-10 |ConfigXMLReader               |I| controller loaded: 0.01s, 51 requests, 21 views in file:/C:/projectsASF/Git/ofbiz-framework/framework/common/webcommon/WEB-INF/common-controller.xml
2020-08-10 18:42:32,608 |sse-nio-8443-exec-10 |ConfigXMLReader               |I| controller loaded: 0.0s, 26 requests, 10 views in file:/C:/projectsASF/Git/ofbiz-framework/framework/common/webcommon/WEB-INF/portal-controller.xml
2020-08-10 18:42:32,619 |sse-nio-8443-exec-10 |ConfigXMLReader               |I| controller loaded: 0.0s, 30 requests, 13 views in file:/C:/projectsASF/Git/ofbiz-framework/framework/common/webcommon/WEB-INF/security-controller.xml
2020-08-10 18:42:32,629 |sse-nio-8443-exec-10 |ConfigXMLReader               |I| controller loaded: 0.0s, 5 requests, 0 views in file:/C:/projectsASF/Git/ofbiz-framework/framework/common/webcommon/WEB-INF/tempexpr-controller.xml
2020-08-10 18:42:32,630 |sse-nio-8443-exec-10 |ConfigXMLReader               |I| controller loaded: 0.053s, 121 requests, 79 views in file:/C:/projectsASF/Git/ofbiz-framework/framework/webtools/webapp/webtools/WEB-INF/controller.xml
2020-08-10 18:42:32,633 |sse-nio-8443-exec-10 |RequestHandler                |I| Rendering View [runService].  Hidden sessionId by default.
2020-08-10 18:42:32,642 |sse-nio-8443-exec-10 |ScreenFactory                 |I| Got 12 screens in 0.005s from: file:/C:/projectsASF/Git/ofbiz-framework/framework/webtools/widget/ServiceScreens.xml
2020-08-10 18:42:32,871 |sse-nio-8443-exec-10 |ScreenFactory                 |I| Got 11 screens in 0.004s from: file:/C:/projectsASF/Git/ofbiz-framework/framework/webtools/widget/CommonScreens.xml
2020-08-10 18:42:32,876 |sse-nio-8443-exec-10 |ScreenFactory                 |I| Got 26 screens in 0.004s from: file:/C:/projectsASF/Git/ofbiz-framework/framework/common/widget/CommonScreens.xml
2020-08-10 18:42:33,007 |sse-nio-8443-exec-10 |ScreenFactory                 |I| Got 25 screens in 0.022s from: file:/C:/projectsASF/Git/ofbiz-framework/themes/common-theme/widget/CommonScreens.xml
2020-08-10 18:42:33,041 |sse-nio-8443-exec-10 |ModelService                  |I| Set default value [SECURITY] for parameter [primaryPermission]
2020-08-10 18:42:33,048 |sse-nio-8443-exec-10 |Log                           |I| [CommonPermissionServices.xml#genericBasePermissionCheck line 59] This simple-method-call is deprecated! Please use a service-call of genericBasePermissionC
heck instead.
2020-08-10 18:42:33,108 |sse-nio-8443-exec-10 |ServiceDispatcher             |T| Sync service [webtools/genericBasePermissionCheck] finished in [60] milliseconds
2020-08-10 18:42:33,108 |sse-nio-8443-exec-10 |ServiceDispatcher             |T| Sync service [webtools/securityPermissionCheck] finished in [67] milliseconds
2020-08-10 18:42:33,134 |sse-nio-8443-exec-10 |ServerHitBin                  |I| Visit delegatorName=default, ServerHitBin delegatorName=default
2020-08-10 18:42:33,136 |sse-nio-8443-exec-10 |ControlServlet                |T| [[[webtools::runService (Domain:https://localhost)] Request Done- total:0.569,since last([webtools::runSer...):0.569]]
2020-08-10 18:42:35,852 |jsse-nio-8443-exec-8 |ControlServlet                |T| [[[webtools::setSyncServiceParameters (Domain:https://localhost)] Request Begun, encoding=[UTF-8]- total:0.0,since last(Begin):0.0]]
2020-08-10 18:42:35,856 |jsse-nio-8443-exec-8 |RequestHandler                |I| Rendering View [setSyncServiceParameters].  Hidden sessionId by default.
2020-08-10 18:42:35,857 |jsse-nio-8443-exec-8 |ServiceDispatcher             |T| Sync service [webtools/getUserPreferenceGroup] finished in [1] milliseconds
2020-08-10 18:42:35,879 |jsse-nio-8443-exec-8 |ModelService                  |I| Set default value [SECURITY] for parameter [primaryPermission]
2020-08-10 18:42:35,880 |jsse-nio-8443-exec-8 |Log                           |I| [CommonPermissionServices.xml#genericBasePermissionCheck line 59] This simple-method-call is deprecated! Please use a service-call of genericBasePermissionC
heck instead.
2020-08-10 18:42:35,881 |jsse-nio-8443-exec-8 |ServiceDispatcher             |T| Sync service [webtools/genericBasePermissionCheck] finished in [1] milliseconds
2020-08-10 18:42:35,881 |jsse-nio-8443-exec-8 |ServiceDispatcher             |T| Sync service [webtools/securityPermissionCheck] finished in [2] milliseconds
2020-08-10 18:42:35,896 |jsse-nio-8443-exec-8 |ServerHitBin                  |I| Visit delegatorName=default, ServerHitBin delegatorName=default
2020-08-10 18:42:35,899 |jsse-nio-8443-exec-8 |ControlServlet                |T| [[[webtools::setSyncServiceParameters (Domain:https://localhost)] Request Done- total:0.047,since last([webtools::setSyn...):0.047]]
2020-08-10 18:42:36,634 |jsse-nio-8443-exec-9 |ControlServlet                |T| [[[webtools::getJs (Domain:https://localhost)] Request Begun, encoding=[UTF-8]- total:0.0,since last(Begin):0.0]]
2020-08-10 18:42:36,637 |jsse-nio-8443-exec-9 |RequestHandler                |I| [RequestHandler.doRequest]: Response is a chained request. Hidden sessionId by default.
2020-08-10 18:42:36,637 |jsse-nio-8443-exec-9 |RequestHandler                |I| [RequestHandler]: Chain in place: requestUri=js overrideViewUri=null Hidden sessionId by default.
2020-08-10 18:42:36,638 |jsse-nio-8443-exec-9 |RequestHandler                |I| Ran Event [java:org.apache.ofbiz.common.CommonEvents#jsResponseFromRequest] from [request], result is [success]
2020-08-10 18:42:36,639 |jsse-nio-8443-exec-9 |ServerHitBin                  |I| Visit delegatorName=default, ServerHitBin delegatorName=default
2020-08-10 18:42:36,640 |jsse-nio-8443-exec-9 |ControlServlet                |T| [[[webtools::getJs (Domain:https://localhost)] Request Done- total:0.006,since last([webtools::getJs ...):0.006]]
2020-08-10 18:42:55,949 |jsse-nio-8443-exec-1 |ControlServlet                |T| [[[webtools::scheduleServiceSync (Domain:https://localhost)] Request Begun, encoding=[UTF-8]- total:0.0,since last(Begin):0.0]]
2020-08-10 18:42:55,980 |jsse-nio-8443-exec-1 |ConfigXMLReader               |I| controller loaded: 0.0s, 0 requests, 0 views in file:/C:/projectsASF/Git/ofbiz-framework/framework/common/webcommon/WEB-INF/handlers-controller.xml
2020-08-10 18:42:55,981 |jsse-nio-8443-exec-1 |ConfigXMLReader               |I| controller loaded: 0.01s, 51 requests, 21 views in file:/C:/projectsASF/Git/ofbiz-framework/framework/common/webcommon/WEB-INF/common-controller.xml
2020-08-10 18:42:55,990 |jsse-nio-8443-exec-1 |ConfigXMLReader               |I| controller loaded: 0.0s, 26 requests, 10 views in file:/C:/projectsASF/Git/ofbiz-framework/framework/common/webcommon/WEB-INF/portal-controller.xml
2020-08-10 18:42:55,999 |jsse-nio-8443-exec-1 |ConfigXMLReader               |I| controller loaded: 0.0s, 30 requests, 13 views in file:/C:/projectsASF/Git/ofbiz-framework/framework/common/webcommon/WEB-INF/security-controller.xml
2020-08-10 18:42:56,008 |jsse-nio-8443-exec-1 |ConfigXMLReader               |I| controller loaded: 0.0s, 5 requests, 0 views in file:/C:/projectsASF/Git/ofbiz-framework/framework/common/webcommon/WEB-INF/tempexpr-controller.xml
2020-08-10 18:42:56,009 |jsse-nio-8443-exec-1 |ConfigXMLReader               |I| controller loaded: 0.048s, 121 requests, 79 views in file:/C:/projectsASF/Git/ofbiz-framework/framework/webtools/webapp/webtools/WEB-INF/controller.xml
2020-08-10 18:42:56,096 |jsse-nio-8443-exec-1 |ServiceDispatcher             |T| Sync service [webtools/partyContactMechPermissionCheck] finished in [83] milliseconds
2020-08-10 18:42:56,311 |jsse-nio-8443-exec-1 |UtilProperties                |I| ResourceBundle ServiceUiLabels (fr) created in 0.036s with 4 properties
2020-08-10 18:42:56,311 |jsse-nio-8443-exec-1 |ServiceDispatcher             |T| Sync service [webtools/createContactMech] finished in [52] milliseconds
2020-08-10 18:42:56,416 |jsse-nio-8443-exec-1 |ServiceDispatcher             |T| Sync service [webtools/createPostalAddress] finished in [310] milliseconds
2020-08-10 18:42:56,750 |jsse-nio-8443-exec-1 |UtilProperties                |I| ResourceBundle PartyEntityLabels (fr) created in 0.087s with 290 properties
2020-08-10 18:42:56,756 |jsse-nio-8443-exec-1 |Log                           |I| [PartyContactMechServices.xml#createPartyContactMech line 62] Creating a PartyContactMech with id: 111111
2020-08-10 18:42:56,778 |jsse-nio-8443-exec-1 |ServiceEcaCondition           |W| doRealCompare returned null, returning false
2020-08-10 18:42:56,778 |jsse-nio-8443-exec-1 |ServiceEcaRule                |I| For Service ECA [createPartyContactMech] on [commit] got false for condition: [contactMechPurposeTypeId][is-not-empty][true][String]
2020-08-10 18:42:56,778 |jsse-nio-8443-exec-1 |ServiceDispatcher             |T| Sync service [webtools/createPartyContactMech] finished in [362] milliseconds
2020-08-10 18:42:56,778 |jsse-nio-8443-exec-1 |ServiceEcaCondition           |W| doRealCompare returned null, returning false
2020-08-10 18:42:56,778 |jsse-nio-8443-exec-1 |ServiceEcaRule                |I| For Service ECA [createPartyPostalAddress] on [commit] got false for condition: [paymentMethodId][is-not-empty][true][String]
2020-08-10 18:42:56,779 |jsse-nio-8443-exec-1 |ServiceDispatcher             |T| Sync service [webtools/createPartyPostalAddress] finished in [766] milliseconds
2020-08-10 18:42:56,779 |jsse-nio-8443-exec-1 |RequestHandler                |I| Ran Event [java:org.apache.ofbiz.webapp.event.CoreEvents#scheduleService] from [request], result is [sync_success]
2020-08-10 18:42:56,779 |jsse-nio-8443-exec-1 |RequestHandler                |I| Rendering View [serviceResult].  Hidden sessionId by default.
2020-08-10 18:42:56,781 |jsse-nio-8443-exec-1 |ServiceDispatcher             |T| Sync service [webtools/getUserPreferenceGroup] finished in [1] milliseconds
2020-08-10 18:42:56,789 |jsse-nio-8443-exec-1 |ScreenFactory                 |I| Got 12 screens in 0.005s from: file:/C:/projectsASF/Git/ofbiz-framework/framework/webtools/widget/ServiceScreens.xml
2020-08-10 18:42:56,922 |jsse-nio-8443-exec-1 |ScreenFactory                 |I| Got 11 screens in 0.004s from: file:/C:/projectsASF/Git/ofbiz-framework/framework/webtools/widget/CommonScreens.xml
2020-08-10 18:42:56,927 |jsse-nio-8443-exec-1 |ScreenFactory                 |I| Got 26 screens in 0.004s from: file:/C:/projectsASF/Git/ofbiz-framework/framework/common/widget/CommonScreens.xml
2020-08-10 18:42:57,057 |jsse-nio-8443-exec-1 |ScreenFactory                 |I| Got 25 screens in 0.006s from: file:/C:/projectsASF/Git/ofbiz-framework/themes/common-theme/widget/CommonScreens.xml
2020-08-10 18:42:57,093 |jsse-nio-8443-exec-1 |ModelService                  |I| Set default value [SECURITY] for parameter [primaryPermission]
2020-08-10 18:42:57,099 |jsse-nio-8443-exec-1 |Log                           |I| [CommonPermissionServices.xml#genericBasePermissionCheck line 59] This simple-method-call is deprecated! Please use a service-call of genericBasePermissionC
heck instead.
2020-08-10 18:42:57,172 |jsse-nio-8443-exec-1 |ServiceDispatcher             |T| Sync service [webtools/genericBasePermissionCheck] finished in [73] milliseconds
2020-08-10 18:42:57,173 |jsse-nio-8443-exec-1 |ServiceDispatcher             |T| Sync service [webtools/securityPermissionCheck] finished in [80] milliseconds
2020-08-10 18:42:57,188 |jsse-nio-8443-exec-1 |ServerHitBin                  |I| Visit delegatorName=default, ServerHitBin delegatorName=default
2020-08-10 18:42:57,200 |jsse-nio-8443-exec-1 |ControlServlet                |T| [[[webtools::scheduleServiceSync (Domain:https://localhost)] Request Done- total:1.251,since last([webtools::schedu...):1.251]]
2020-08-10 18:42:57,951 |jsse-nio-8443-exec-2 |ControlServlet                |T| [[[webtools::getJs (Domain:https://localhost)] Request Begun, encoding=[UTF-8]- total:0.0,since last(Begin):0.0]]
2020-08-10 18:42:57,953 |jsse-nio-8443-exec-2 |RequestHandler                |I| [RequestHandler.doRequest]: Response is a chained request. Hidden sessionId by default.
2020-08-10 18:42:57,954 |jsse-nio-8443-exec-2 |RequestHandler                |I| [RequestHandler]: Chain in place: requestUri=js overrideViewUri=null Hidden sessionId by default.
2020-08-10 18:42:57,954 |jsse-nio-8443-exec-2 |RequestHandler                |I| Ran Event [java:org.apache.ofbiz.common.CommonEvents#jsResponseFromRequest] from [request], result is [success]
2020-08-10 18:42:57,954 |jsse-nio-8443-exec-2 |ServerHitBin                  |I| Visit delegatorName=default, ServerHitBin delegatorName=default
2020-08-10 18:42:57,955 |jsse-nio-8443-exec-2 |ControlServlet                |T| [[[webtools::getJs (Domain:https://localhost)] Request Done- total:0.004,since last([webtools::getJs ...):0.004]]
I did not test the other services.

@JacquesLeRoux:

[...] and createPartyPostalAddress worked correctly.

So does this mean the changes can / will be merged? Or are there any showstoppers that prevent a merge?

Hi hg-stolle,
Since  createPartyPostalAddress is OK, I assume createFacilityPostalAddress and  updateFacilityPostalAddress are OK too (did not check).
cdyneReturnCityState is indeed failing but this is an USA specific service and I'd not care about that if USA users are not.
I have still to check if appying this changes does not introduce issues and I'll do very soon...

@JacquesLeRoux: Thank you for the quick reply and for looking into it. 😃

Hi hg-stolle,
Could you do me a favour? Do you have a Google Maps account? If so, could you please check that
https://localhost:8443/partymgr/control/PartyGeoLocation?partyId=FrenchCustomer is rendering something accurate (it's my address), TIA

Hi Daniel,
Please test and confirm OFBIZ-12247 is OK with you, TIA

@JacquesLeRoux doe we have a Jira for this change?
IMO this is not complete because there is no documentation / changelog for the database changes. Users who use the geolocation fields might come into trouble when updgrading.

Hi Michael,
I thought about creating a Jira but did not.  I did not thought about the DB changes, too. You are right, I'll, thanks


Make test name optional

Turns out it isn't being used in the compiled code (that uses htmlId instead). So it is only there to allow the programmer to differentiate tests when there are several of them - and/or where you aren't putting the tests next to the function.

Have decided against this, even though simple to implement, because - it is a good habit to name the test, especially if you write many of them and you are in outline mode.

Implemented for now - subject to review


Could not start a Mill server process - unused worker folders on different java versions

Foreword
I don't expect this issue to be fixed - it could even be closed straight away. My goal is to have Google index some of the keywords so anyone searching for the error can see the problem and a workaround.
Logs
mill --version
Could not start a Mill server process.
This could be caused by too many already running Mill instances or by an unsupported platform.

Trying to run Mill in-process ...
WARNING: Starting a build REPL without --repl is deprecated

I've these logs for a while. I don't think it's causing problems, but it makes a bit of clutter and I found out the problem and a workaround.
Problem
in the /out subdirectory of a project, I see multiple worker folders:
mill-worker-4NgIq8oPOZ0Pt8mqxMVCbDtyWrA=-1
mill-worker-4NgIq8oPOZ0Pt8mqxMVCbDtyWrA=-2
mill-worker-4NgIq8oPOZ0Pt8mqxMVCbDtyWrA=-3
mill-worker-az+jTtPVXk241KvClsS4VnpVBIw=-1
mill-worker-az+jTtPVXk241KvClsS4VnpVBIw=-2

There is a mix of JVM versions used, hence the different names.
The max count is hard-coded, and I think mill can't reuse worker folders that have different JVM verisons. They still count towards the max count of parallel mill server instances however.
You could reproduce this by running 5 mill tasks simultaneously, changing to a different versions of JVM, and then running some more mill tasks.
Workaround
For each folder where the mill version doesn't match your current JVM version, delete the folder (or just delete them all, bit simpler). Mill will make new ones with the right versions and such.
Further notes
Maybe mill shouldn't count worker folders that use non-current JVM versions (or should remove them on clean?).
I thought it's worth getting this information indexed though, as it seems fairly probably people will upgrade mill whilst working on the same project(s) and thus might come across these logs.

Double checked, it's JVM changes that lead to the issue. Mill versions aren't the issue.
With JVM upgrades being more frequent now, this might be a bit more important.


[BUG] Bad token estimation in Prompty

Describe the bug
Token estimation is wrong, as it doesn't take into account the functions/tools definition as part of the prompt.
In cases with heavy use of tools this can make a big diference and make you take a wrong decision regarding the token limit of a request.
How To Reproduce the bug
Steps to reproduce the behavior, how frequent can you experience the bug:

Create a prompty file with a large tools definition
Make an estimation with a small question
compare with the actual token consumption reported by oai response

Expected behavior
A clear and concise description of what you expected to happen.

Add an additional function to also estimate the tools definition token consumption

Screenshots
If applicable, add screenshots to help explain your problem.
Running Information(please complete the following information):

Promptflow Package Version using pf -v: [e.g. 0.0.102309906]
Operating System: [e.g. Ubuntu 20.04, Windows 11]: Debian
Python Version using python --version: [e.g. python==3.10.12]: 3.11.5

Additional context
Add any other context about the problem here.

Additionally token from messages is also incorrect.
It doesn't take into account when an assistant's message has tool_calls


Updated Views

Updates the views and urls to reflect on what the library gets us

looks good for some reason all your pr's are missing some of the checks. Can you try to merge with main and push again?


CloudEvent Schema event grid subscription advanced filtering issue - eventtype

Advanced filtering on an EventGrid subscription for CloudEvents suggests that "eventtype" should be used instead of "type" to filter by event type.
This does not work as it will try to filter on a property in the event called "eventtype" instead of "type" but CloudEvents schema does not use "eventtype", it uses "type".
If an advanced filter is used on "type" with CloudEvents, it works as expected. The problem here is it can not be added via the Portal as there is validation on the UI that prevents any filters to be added unless their value is in [ventid, source, eventtype, eventtypeversion, data]. This problem should be resolved or at least documented on this page - something similar to:
"Currently, advanced filters for custom property names are not supported on the Portal while using CloudEvents schema. Use other methods of adding the filter.

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

ID: 1b572f63-312f-4567-5f06-d09bcccf303e
Version Independent ID: df817c5f-24e4-bdc7-511c-141d07a53d15
Content: Event filtering for Azure Event Grid - Azure Event Grid
Content Source: articles/event-grid/event-filtering.md
Service: event-grid
GitHub Login: @spelluru
Microsoft Alias: spelluru

Thanks for the feedback! We will review and get back to you shortly.

Thanks for the feedback! I have assigned the issue to the doc author to update appropriately.

@cristiteodorov - Thank you for reporting the issue. Our product team is aware of the issue and are working on fixing it. So, we are not going to update the documentation for now. Thanks!
#please-close


rm_lru_maintainer_initialized

The double-initializations of mutex lru_maintainer_lock was removed by commit 90306c5393. Then lru_maintainer_initialized is meaningless.

Out in 1.6.19


Unable to set CORS rules programatically

In order to push to a storage queue from another origin, i need to add the appropriate CORS rule.  At start up i try to set this programatically for the queue service....
  const properties = {
    Cors: {
      CorsRule: [{
        AllowedOrigins: ['*'],
        AllowedMethods: ['POST', 'GET', 'HEAD', 'PUT'],
        AllowedHeaders: ['*'],
        ExposedHeaders: ['*'],
        MaxAgeInSeconds: 3600
      }]
    }
  }

  qService.setServiceProperties(properties, function (error) {
    if (error) {
      throw error
    }
  })

This fails with the following error....
StorageError: Not Implemented yet.
    at Function.StorageServiceClient._normalizeError (~/dev/_spikes-poc/sas/server/node_modules/azure-storage/lib/common/services/storageserviceclient.js:1160:12)
    at QueueService.StorageServiceClient._processResponse (~/dev/_spikes-poc/sas/server/node_modules/azure-storage/lib/common/services/storageserviceclient.js:744:50)
    at Request.processResponseCallback [as _callback] (~/dev/_spikes-poc/sas/server/node_modules/azure-storage/lib/common/services/storageserviceclient.js:317:37)
    at Request.self.callback (~/dev/_spikes-poc/sas/server/node_modules/request/request.js:185:22)
    at emitTwo (events.js:126:13)
    at Request.emit (events.js:214:7)
    at Request.<anonymous> (~/dev/_spikes-poc/sas/server/node_modules/request/request.js:1157:10)
    at emitOne (events.js:116:13)
    at Request.emit (events.js:211:7)
    at IncomingMessage.<anonymous> (~/dev/_spikes-poc/sas/server/node_modules/request/request.js:1079:12)

I also tried hitting the associated rest endpoints, but get 501 not implemented...
GET /devstoreaccount1?restype=service&comp=properties HTTP/1.1
501: Not Implemented

PUT /devstoreaccount1?restype=service&comp=properties HTTP/1.1
501: Not Implemented

Is there another convention for setting CORS rules in Azurite?

Really missing CORS settings here as well. Difficult to test web implementations without it.

Hi Guys, CORS support in Azurite V3 is planned in the incoming roadmap before V3 GA.

@XiaoningLiu Is there any timeline on cors settings release?

@kuba-lilz Already released : ) Will close this issue.

i try to manually set CORS, still not success, got 400 error, any suggestion to use azurite? thanks

@swimhiking
You issue might not be same issue as before.
Would you please open a new issue by following the issue template (especially give the debug log of Azurite), and we can look deeper into it.


Put lower bound on numpy in tests.

        """
        # Note: We could have used distutils.version for this comparison,
        # but it seems like overkill to import distutils at runtime.
        requirement_met = False
        import_fail = ''
        try:
            import numpy
        except ImportError:
            import_fail = 'Numpy is not installed.'
        else:
            from .utils import minversion
            requirement_met = minversion(numpy, __minimum_numpy_version__)

        if not requirement_met:
            msg = (f"Numpy version {__minimum_numpy_version__} or later must "
                   f"be installed to use Astropy. {import_fail}")
>           raise ImportError(msg)
E           ImportError: Numpy version 1.16.0 or later must be installed to use Astropy.
../../../virtualenv/python3.7.1/lib/python3.7/site-packages/astropy/__init__.py:118: ImportError

Added two other fixes:

pyqt5 issued a bad release 15 hours ago: https://pypi.org/project/PyQt5/#history
The sqlite tests have long been flaky. I finally sorted out how to apply pytest.mark.flaky to a fixture (the sqlite broker) as opposed to applying it as a decorator to specific test.

The flaky designation doesn't help if the test blows up in the setup phase, as sometimes happens. But at least this should reduce the number of random failures.


Inserting an empty array into a JSONB column

Environment
Knex version: 0.95.3
Database + version: PostgreSQL 11.12
OS: Debain 10
Bug
Inserting an empty array (unstringified) into a Postgres JSONB column ends up being an empty object

Does it work correctly when using pg driver directly?

Using toString() on the query confirms that it's Knex's doing

Actually that doesn't prove anything, since knex is not using .toString() when executing queries. Most accurate result what is sent to DB driver can be get by calling .toSQL().toNative() which returns template SQL string + bindings.
Though when you are writing JSON to jsonb column you need first convert the input data to json. In this case: JSON.stringify([]) should do.

Regardless of the fact of whether toString is used, it's still a Knex-isolated method that's converting an empty array to an object which seemingly implies that the other methods do the same.
Also, how come Knex doesn't auto-stringify, if you don't mind me asking?

@exoRift @elhigu They way knex handles json fields is by simply calling toString() on them, and not JSON.stringify. I'm not sure why it's done that way and whether there are any downsides to doing stringifying on our end already. @elhigu Any thoughts? Existing behaviour doesn't seem very helpful, I can't imagine anyone depending on it. We might want to throw an error if we get an object there, to make behaviour less surprising.

Regardless of the fact of whether toString is used, it's still a Knex-isolated method that's converting an empty array to an object which seemingly implies that the other methods do the same.

@exoRift I have no idea what do you mean by that?
@kibertoad  I don't think that knex even calls .toString() in this case https://runkit.com/embed/s9zq3a5rblem
As I said, knex cannot possibly decide how array should be stringified in every case. Knex does not know to which kind of query the value is passed to. Historically postgres {} array format was used when outputting arrays in debug query.toString() calls.
I drafted helpers to allow to tell which kind of array format is passed to query around the same time, when I implemented ref/lit support to objection... I did find here some old discussions about the subject :
https://github.com/knex/knex/issues/791#issuecomment-384375606
https://github.com/knex/knex/issues/2229
https://github.com/knex/knex/issues/3805
Anyways basically at least JSON.stringify(), {}, () and [] formats should be supported with helpers I suppose.


otbr-agent restarting loop

Hi, I'm facing the following issue:
otbr-agent[26035]: 38d.04:53:31.367 [I] Platform------: Backbone interface is configured to eth0 (2)
otbr-agent[26035]: 38d.04:53:31.367 [C] Platform------: platformConfigureTunDevice() at netif.cpp:1803: No such file or directory
2023-11-25 20:01:36 [INFO] otbr-agent ended with exit code 5 (signal 0)...

After that otbr-agent restarts and goes in an infinite loop.
Is this related to wrong backbone?
If I run ifconfig in my host I get:
eth0      Link encap:Ethernet  HWaddr 5A:36:E9:DC:DD:5D
          inet addr:<IP_ADDRESS>  Bcast:<IP_ADDRESS>  Mask:<IP_ADDRESS>
          inet6 addr: fe80::5836:e9ff:fedc:dd5d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:12095 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8307 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2325833 (2.2 MiB)  TX bytes:27809828 (26.5 MiB)

And <IP_ADDRESS> is the correct ip.
If I run ip a I see:
2: eth0@if18: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 5a:36:e9:dc:dd:5d brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::5836:e9ff:fedc:dd5d/64 scope link
       valid_lft forever preferred_lft forever

But If I set BACKBONE_IF to eth0@if18 I got a different (worst I guess) error:
otbr-agent[390]: 38d.05:01:02.916 [D] Platform------: Wait response: tid=6 key=4619
otbr-agent[390]: 38d.05:01:02.917 [D] Platform------: Received spinel frame, flg:0x2, iid:2, tid:6, cmd:PROP_VALUE_IS, key:RADIO_CAPS, caps:255
otbr-agent[390]: 38d.05:01:02.929 [C] Platform------: platformBackboneInit() at backbone.cpp:62: Failure
2023-11-25 20:09:07 [INFO] otbr-agent ended with exit code 1 (signal 0)...

The host is a LXC on Proxmox.
Any idea to tackle the problem?
Thank you in advance.

Ok, I think I'm missing the firs requirement: working IPv6 in your LAN
I think I'm missing ipv6 on my Proxmox machine. I will investigate on this.
Thank you for your work

any news on this topic? :) same error here

I didn't investigate any more, but I think that you have to be sure that you have a valid IPv6 configuration on your host.

Closed as completed because it has been fixed? :D

There is nothing to fix.
Is your container running privileged or in the host network?

im able to reproduce this:
platformConfigureTunDevice() at netif.cpp:1803: No such file or directory

if i run the container without privileged:true
so im closing this right now.

Hi, I'm getting the same issue and I've enabled both IPV6 on my network and privileged in docker compose. This is my configuration:
  multipan:
    container_name: multipan
    image: ghcr.io/b2un0/silabs-multipan-docker:latest
    cap_add:
      - SYS_ADMIN
      - NET_ADMIN
    restart: always
    **privileged: true**
    network_mode: host
    devices:
      - /dev/ttyACM0
    volumes:
      - ./data/:/data
    environment:
      # OCPD environment variables
      DEVICE: "/dev/ttyACM0"
      BAUDRATE: "460800"
      CPCD_TRACE: "false"
      FLOW_CONTROL: "false"

      NETWORK_DEVICES: 0

      # OTBR-AGENT environment variables
      OTBR_ENABLE: 1
      BACKBONE_IF: "eth0@if6"
      OTBR_LOG_LEVEL: "debug"
      OTB_FIREWALL: 1
      OTBR_REST_LISTEN_PORT: "8081"

      # OTBR-WEB environment variables
      OTBR_WEB_PORT: "8186"

      # ZIGBEED environment variables
      EZSP_LISTEN_PORT: "20108"

      # UNIVERSAL FLASHER variables
      AUTOFLASH_FIRMWARE: 0
      FIRMWARE: "rcp-uart-802154-v4.3.1-zbdonglee-460800.gbl"
    ports:
      - "8081:8081"
      - "20108:20108"
      - "8186:8186"

im able to reproduce this:
platformConfigureTunDevice() at netif.cpp:1803: No such file or directory

if i run the container without privileged:true
so im closing this right now.

Hi, I'm getting the same issue and I've enabled both IPV6 on my network and privileged in docker compose. This is my configuration:
  multipan:
    container_name: multipan
    image: ghcr.io/b2un0/silabs-multipan-docker:latest
    cap_add:
      - SYS_ADMIN
      - NET_ADMIN
    restart: always
    **privileged: true**
    network_mode: host
    devices:
      - /dev/ttyACM0
    volumes:
      - ./data/:/data
    environment:
      # OCPD environment variables
      DEVICE: "/dev/ttyACM0"
      BAUDRATE: "460800"
      CPCD_TRACE: "false"
      FLOW_CONTROL: "false"

      NETWORK_DEVICES: 0

      # OTBR-AGENT environment variables
      OTBR_ENABLE: 1
      BACKBONE_IF: "eth0@if6"
      OTBR_LOG_LEVEL: "debug"
      OTB_FIREWALL: 1
      OTBR_REST_LISTEN_PORT: "8081"

      # OTBR-WEB environment variables
      OTBR_WEB_PORT: "8186"

      # ZIGBEED environment variables
      EZSP_LISTEN_PORT: "20108"

      # UNIVERSAL FLASHER variables
      AUTOFLASH_FIRMWARE: 0
      FIRMWARE: "rcp-uart-802154-v4.3.1-zbdonglee-460800.gbl"
    ports:
      - "8081:8081"
      - "20108:20108"
      - "8186:8186"

I had this issue as well, and managed to fix it. For reference, I was running it via Docker running on top of Proxmox LXC, and it needed me to add the following line to my conf file:
`lxc.mount.entry: /dev/net/tun       dev/net/tun       none bind,create=file
If you're running similar levels of virtualization you might want to have a look at passing through /dev/net/tun...

I had this issue as well, and managed to fix it. For reference, I was running it via Docker running on top of Proxmox LXC, and it needed me to add the following line to my conf file:
`lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file
If you're running similar levels of virtualization you might want to have a look at passing through /dev/net/tun...

Thank you very much!
It works perferctly!!!


Fix: in case of oauth token revoked, stop the connector instead of terminating the workflow

Description
This previous PR terminated a child workflow if the oauth token was revoked instead of cancelling it to prevent false positive in monitoring.
However, if a child workflow is terminated, the parent workflow is considered failed anyways so it didn't work as expected.
This new proposal uses stop() on the ConnectorManager to (hopefully) stop it properly.
Note that we could also call terminateAllWorkflowsForConnectorId() but it seems more appropriate to leverage the dedicated method. For example, the confluence one stop() method retrieve the parent workflow and terminate that one in particular.
Risk
None
Deploy Plan
Deploy connectors

Stopping will also stop the parent workflow. What's the difference?

Stopping will also stop the parent workflow. What's the difference?
So we went from cancel to terminate to stopping the connector which will have a custom implementation.

That's the thing. Each connector might have a slightly different implementation.
When exploring the "Terminating all workflows" option, I wondered if order would matter and trigger the alert in certains cases. stop() is the idiomatic way to express the intent which then rely on a properly implemented connector.

My only worry is if stop on the ConnectorManager removes the errorType for some reason in which case we end up with a stopped connector without errorType which is undesirable.

You are talking about the "syncFailed" errorType ? I'll take a look as well.


Enhancements for OpenAI Compatibility, Azure API Support, and More

Hello,
I've been utilizing this library for a project and have introduced several enhancements that could benefit others ☺ :

OpenAI 1.x.x Compatibility: Ensured compatibility with the latest OpenAI library versions. Please note, this update is incompatible with OpenAI versions 0.x.x.
Azure OpenAI API Support: Added support for utilizing the Azure OpenAI API, expanding the options for API backends.
Customizable Embeddings Path: Implemented the ability to specify custom paths for saving embeddings, enhancing flexibility.
Improved Empty String Handling: Refined the method for removing empty strings from lists within the fit function for better data preprocessing.
Type Hints Correction: Addressed warnings related to the return type of Tuple to improve code reliability and maintainability.
README Updates: Revised the README to reflect these changes, providing users with up-to-date information.
Version Bump: Incremented the version from 0.0.4 to 0.0.5 to mark the introduction of these enhancements.

I'm open to feedback and willing to make further adjustments if necessary. I plan to continue refining and expanding the library based on project needs.
Thank you for considering these changes for merge!

Hi, thanks a lot for your contribution, it seems certainly very valuable!


Added EventHandler and Storage utils to substreams-helper

NOTE: This PR is opened against the eth-supply branch because of some dependencies from it. I think it is easier to review this changes in isolation than if everything was mixed.

Summary
This PR adds a few utilities for dealing with events and storage changes.
Events
In subgraphs, handling an event is as simple as writing a function that takes the event as an argument. Here in substreams, so far what we've been doing is to reimplement over and over all the iterating over the logs in the block and matching their signature with our ABI event.
I've added a very simple class (can you call them classes in rust?) to handle all that. The usage is documented in the code, but it is something like:
let mut some_handler = |ev: SomeEvent, tx: &TransactionTrace, log: &Log| { /*...*/ };

let eh = EventHandler::new(&block);
eh.on::<SomeEvent, _>(some_handler);
eh.handle_events();

Storage Changes
On top of that, I've had to work with storage_changes. Working with them is also very raw at the moment, it involves abi_encoding types, hashing stuff and things like that. I started a very naive set of utilities to work with that. Its purpose, more than being usable, is to have us add to that instead of implementing our own logic on each individual substream every time.

Shamelessly merging without approval, to unblock other dependants. Can review "a posteriori".


Widget is here but invisible / "empty"

Hello, I followed getting started in the doc (I have a bare project) I can see the widget in the list, add it to my homescreen (with the dimensions I want) but then it just completely invisible.

Result is the same on a real device and in the emulator, I also did the preview (https://saleksovski.github.io/react-native-android-widget/docs/tutorial/widget-preview) to check and there I can see the widget correctly.
Versions :
"react-native": "0.73.2",
"react-native-android-widget": "^0.11.1",
Any Idea ?

Check your widgetTaskHandler, it should be called when you add the widget to the home screen.
Also it would helpful if you share some logs.

I have nothing in the logs, I tried that but nothing show :
switch (props.widgetAction) {
    case 'WIDGET_ADDED':
      console.log('WIDGET_ADDED');
      props.renderWidget(React.createElement(Widget));
      break;

    case 'WIDGET_UPDATE':
      console.log('WIDGET_UPDATE');
      // Not needed for now
      break;

    case 'WIDGET_RESIZED':
      console.log('WIDGET_RESIZED');
      // Not needed for now
      break;

    case 'WIDGET_DELETED':
      console.log('WIDGET_DELETED');
      // Not needed for now
      break;

    case 'WIDGET_CLICK':
      console.log('WIDGET_CLICK');
      // Not needed for now
      break;

    default:
      console.log('Unknown widget action');
      break;
  }

Even when I click the widget, I can click that invisible square it open the app but no log.

You don't even see 'WIDGET_ADDED' in the logs?
If so, the widgetTaskHandler is not registered correctly.
If you see it, then there is some problem in your widget.
Why are you using React.createElement?
Use
Also, check logcat logs, not just React Native logs.

I just followed the doc, is that what you mean ?
import React from 'react';
import {HelloWidget} from './HelloWidget';

const nameToWidget = {
  HelloWidget: HelloWidget,
};

export async function widgetTaskHandler(props) {
  const widgetInfo = props.widgetInfo;
  const Widget = nameToWidget[widgetInfo.widgetName];

  switch (props.widgetAction) {
    case 'WIDGET_ADDED':
      console.log('WIDGET_ADDED');
      props.renderWidget(<HelloWidget />);
      break;

    case 'WIDGET_UPDATE':
      console.log('WIDGET_UPDATE');
      // Not needed for now
      break;

    case 'WIDGET_RESIZED':
      console.log('WIDGET_RESIZED');
      // Not needed for now
      break;

    case 'WIDGET_DELETED':
      console.log('WIDGET_DELETED');
      // Not needed for now
      break;

    case 'WIDGET_CLICK':
      alert('WIDGET_CLICK');
      console.log('WIDGET_CLICK');
      // Not needed for now
      break;

    default:
      console.log('Unknown widget action');
      break;
  }
}

Do you see WIDGET_ADDED in the logs, since you have the console.log?
If not the widgetTaskHandler is not registered. See https://saleksovski.github.io/react-native-android-widget/docs/tutorial/register-task-handler#register-widget-task-handler
Also check logcat logs

+1 here, I have registered widgetTaskHandler in index.js.
It feels like widgetTaskHandler init is "slow", because widgetTaskHandler will run after a few minutes or seconds (depending on the device)
In my case, Logcat will show a lot of logs initialized for the app first, then widgetTaskHandler.

And another case i think OP meet it.
This is from Logcat when i try add widget
2024-03-01 11:06:33.788 31739-31994 TrafficStats            com.myapp.myapp                      D  tagSocket(115) with statsTag=0xffffffff, statsUid=-1
2024-03-01 11:06:33.833 31739-31822 WM-WorkerWrapper        com.myapp.myapp                      I  Work [ id=9f6a468c-730f-4c52-88d4-beed1d0d0d77, tags={ com.reactnativeandroidwidget.RNWidgetBackgroundTaskWorker } ] was cancelled
                                                                                java.util.concurrent.CancellationException: Task was cancelled.
                                                                                at androidx.work.impl.utils.futures.AbstractFuture.cancellationExceptionWithCause(AbstractFuture.java:1184)
                                                                                at androidx.work.impl.utils.futures.AbstractFuture.getDoneValue(AbstractFuture.java:514)
                                                                                at androidx.work.impl.utils.futures.AbstractFuture.get(AbstractFuture.java:475)
                                                                                at androidx.work.impl.WorkerWrapper$2.run(WorkerWrapper.java:317)
                                                                                at androidx.work.impl.utils.SerialExecutorImpl$Task.run(SerialExecutorImpl.java:96)
                                                                                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
                                                                                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
                                                                                at java.lang.Thread.run(Thread.java:1012)
2024-03-01 11:06:33.863 31739-31748 com.myapp.myapp         com.myapp.myapp                      I  This is non sticky GC, maxfree is 8388608 minfree is 2097152
2024-03-01 11:06:36.810 31739-32005 TrafficStats            com.myapp.myapp                      D  tagSocket(6) with statsTag=0xffffffff, statsUid=-1

Do you see this on production build?
How can I reproduce it?

Hi guys!
I had the same problem; the solution was adding the renderWidget method in "WIDGET_UPDATE".
In my case, the widget disappeared only the first time when I selected it.
switch (props.widgetAction) {
    case 'WIDGET_ADDED':
      console.log('WIDGET_ADDED');
      props.renderWidget(React.createElement(Widget));
      break;

    case 'WIDGET_UPDATE':
      console.log('WIDGET_UPDATE');
      props.renderWidget(React.createElement(Widget));
      // Not needed for now
      break;

    case 'WIDGET_RESIZED':
      console.log('WIDGET_RESIZED');
      // Not needed for now
      break;

    case 'WIDGET_DELETED':
      console.log('WIDGET_DELETED');
      // Not needed for now
      break;

    case 'WIDGET_CLICK':
      console.log('WIDGET_CLICK');
      // Not needed for now
      break;

    default:
      console.log('Unknown widget action');
      break;
}

Please give the same name inside app.config.js such as you have given here above const nameToWidget = {   HelloWidget: HelloWidget, };
give the key name HelloWidget
`  widgets: [
{
name: "HelloWidget", // This name will be the name with which we will reference our widget.
label: "Widget label",
minHeight: "120dp",
minWidth: "300dp",
description: "This is my first widget 1",
previewImage: "./assets/images/logo.png",
},`
@tahola and @leoguanco

@abdul-wajid-afridi isn't that for expo project ? I am on bare project.

yes its for expo project and i think you can work with bare too
On Sun, 10 Mar 2024, 8:14 am tahola, @.***> wrote:

@abdul-wajid-afridi https://github.com/abdul-wajid-afridi isn't that
for expo project ? I am on bare project.
—
Reply to this email directly, view it on GitHub
https://github.com/sAleksovski/react-native-android-widget/issues/65#issuecomment-1987053461,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APNJUSAJARNJR4J2ANTMCJLYXPFZZAVCNFSM6AAAAABDYB4IZ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBXGA2TGNBWGE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hello @sAleksovski, I'm encountering a similar problem with Expo. When I install the widget using an APK, it appears transparent. The same issue occurs when the app is running on the Metro bundler, but it eventually updates after some time. I've attached the log below for your review. As you can see, the "WIDGET_ADDED" action is initiated, but an error arises when attempting to fetch the image.
Worker result SUCCESS for Work [ id=c8dae032-0120-466a-8ab0-f3dbce9a43bb, tags={ com.reactnativeandroidwidget.RNWidgetBackgroundTaskWorker } ]
{"widgetInfo":{"height":214,"widgetName":"Widgets","screenInfo":{"screenWidthDp":393,"density":2.75,"screenHeightDp":737,"densityDpi":440},"widgetId":91,"width":351},"widgetAction":"WIDGET_ADDED","clickActionData":{}}
java.lang.ClassCastException: sun.net.www.protocol.file.FileURLConnection cannot be cast to java.net.HttpURLConnection
at com.reactnativeandroidwidget.builder.widget.utils.ResourceUtils.getInputStreamFromSource(ResourceUtils.java:102)
at com.reactnativeandroidwidget.builder.widget.utils.ResourceUtils.getBitmap(ResourceUtils.java:44)
at com.reactnativeandroidwidget.builder.widget.ImageWidget.getBitmapFromURL(ImageWidget.java:44)
at com.reactnativeandroidwidget.builder.widget.ImageWidget.applyProps(ImageWidget.java:27)
at com.reactnativeandroidwidget.builder.widget.BaseWidget.(BaseWidget.java:36)
at com.reactnativeandroidwidget.builder.widget.BaseWidget.(BaseWidget.java:40)
at com.reactnativeandroidwidget.builder.widget.ImageWidget.(ImageWidget.java:17)
at com.reactnativeandroidwidget.builder.WidgetFactory.getBaseWidget(WidgetFactory.java:104)
at com.reactnativeandroidwidget.builder.WidgetFactory.buildWidget(WidgetFactory.java:71)
at com.reactnativeandroidwidget.builder.WidgetFactory.buildChildren(WidgetFactory.java:125)
at com.reactnativeandroidwidget.builder.WidgetFactory.getBaseWidget(WidgetFactory.java:108)
at com.reactnativeandroidwidget.builder.WidgetFactory.buildWidget(WidgetFactory.java:71)
at com.reactnativeandroidwidget.builder.WidgetFactory.buildChildren(WidgetFactory.java:125)
at com.reactnativeandroidwidget.builder.WidgetFactory.getBaseWidget(WidgetFactory.java:108)
at com.reactnativeandroidwidget.builder.WidgetFactory.buildWidget(WidgetFactory.java:71)
at com.reactnativeandroidwidget.builder.WidgetFactory.buildChildren(WidgetFactory.java:125)
at com.reactnativeandroidwidget.builder.WidgetFactory.getBaseWidget(WidgetFactory.java:108)
at com.reactnativeandroidwidget.builder.WidgetFactory.buildWidget(WidgetFactory.java:71)
at com.reactnativeandroidwidget.builder.WidgetFactory.buildChildren(WidgetFactory.java:125)
at com.reactnativeandroidwidget.builder.WidgetFactory.getBaseWidget(WidgetFactory.java:108)
at com.reactnativeandroidwidget.builder.WidgetFactory.buildWidget(WidgetFactory.java:71)
at com.reactnativeandroidwidget.builder.WidgetFactory.buildChildren(WidgetFactory.java:125)
at com.reactnativeandroidwidget.builder.WidgetFactory.getBaseWidget(WidgetFactory.java:108)
at com.reactnativeandroidwidget.builder.WidgetFactory.buildWidget(WidgetFactory.java:71)
at com.reactnativeandroidwidget.builder.WidgetFactory.buildChildren(WidgetFactory.java:125)
at com.reactnativeandroidwidget.builder.WidgetFactory.getBaseWidget(WidgetFactory.java:114)
at com.reactnativeandroidwidget.builder.WidgetFactory.buildWidget(WidgetFactory.java:71)
at com.reactnativeandroidwidget.builder.WidgetFactory.buildWidgetFromRoot(WidgetFactory.java:41)
at com.reactnativeandroidwidget.RNWidget.drawWidget(RNWidget.java:62)
at com.reactnativeandroidwidget.AndroidWidgetModule.drawWidgetById(AndroidWidgetModule.java:41)
at java.lang.reflect.Method.invoke(Native Method)
at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:372)
at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:149)
at com.facebook.jni.NativeRunnable.run(Native Method)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
at android.os.Looper.loopOnce(Looper.java:205)
at android.os.Looper.loop(Looper.java:294)

Can you share how you are using the ImageWidget?

Sure @sAleksovski . Please find the code below.
<ImageWidget
    image={require('../../assets/scan.png')}
    imageWidth={30}
    imageHeight={30}
/>

I'm not sure if all the comments here point to the same issue.
Please share a a repo where I can reproduce the issue, along with steps how to reproduce it.
Without it I'm not sure I can help.

Based on my investigations, it appears that the issue arises from the way Expo handles assets during the build process. Expo stores the assets in the .expo-internal folder and bundles them with the app.
Line 36 in com/reactnativeandroidwidget/builder/widget/utils/ResourceUtils.java

The source argument is returned as a file path string. This bypasses the isResource and source.startsWith("data:") conditions, which leads to the execution of InputStream input = getInputStreamFromSource(source);. This method attempts to cast the file path to an HTTP URL.
  private static InputStream getInputStreamFromSource(String source) throws IOException {
      URL url = new URL(source);
      HttpURLConnection connection = (HttpURLConnection) url.openConnection();
      connection.setDoInput(true);
      connection.connect();
      return connection.getInputStream();
  }

The getInputStreamFromSource method tries to open a connection to the provided source URL and return an InputStream. However, if the source is a file path (as it is when Expo bundles the assets), this will fail because it's trying to treat a file path as a URL. This results in a java.io.FileNotFoundException.
Is there a way to generate the build while avoiding the expo eject command, as we aim to preserve the integrity of the native build?

I'm not sure if all the comments are related.
Above there is java.util.concurrent.CancellationException: Task was cancelled. exception, while you get java.io.FileNotFoundException.

Please share a a repo where I can reproduce the issue, along with steps how to reproduce it.
Without it I'm not sure I can help.

I'm not sure if all the comments are related.
Above there is java.util.concurrent.CancellationException: Task was cancelled. exception, while you get java.io.FileNotFoundException.

Please share a a repo where I can reproduce the issue, along with steps how to reproduce it.
Without it I'm not sure I can help.

Apology for copying the incorrect the error message. The error supposed to be java.lang.ClassCastException: sun.net.www.protocol.file.FileURLConnection cannot be cast to java.net.HttpURLConnection.

@ytl-RaymondLau thanks for creating the repo, I'll take a look.

The issue from @ytl-RaymondLau is solved, more details are present in his repo.
As for @tahola @longb1997 , I still don't know how to reproduce the problem, so I'll close this issue.
Please open another one with an example repo similar to the one from @ytl-RaymondLau , with clear steps how I can reproduce the issue.


Broken links on Readme

The Readme link docs references are broken.

@mosuem
this issue appears to be resolved.


Array support convert to collection

For example:
[1, 2, 3].toCollection().sum() // 6

Thanks @storyn26383
Can we add this for objects as well?

Do you mean Object.toCollection({ a: 1, b: 2, c: 3 }) ?
But I think use collect({ a: 1, b: 2, c: 3 }) is much better.

Thank you for this @storyn26383
I would like to keep it simple and clean, so I'm gonna stick with only collect().
Please contribute again. This just didn't fit the project.

Ok, so sad, thanks for reviewing.


Not working @x-tagGroups annotation

Describe the bug
I am trying to use x-tagGroups to group my APIs under specific categories.
but it is not working.
this is my code:
// @title MyAPI
// @version 0.0.1
// @description This is a api server
// @host localhost:9090
// @BasePath /api/v1
// @x-tagGroups [{"name": "Test", "tags": ["abc", "def"]}]
func main() {}

result:
$ swag init
2021/02/01 20:42:30 Generate swagger docs....
2021/02/01 20:42:30 Generate general API Info, search dir:./
2021/02/01 20:42:30 annotation @x-taggroups need a value

Your swag version
1.7.0
Your go version
1.15.2
Desktop (please complete the following information):

OS: macOS Catalina(10.15.7)

I believe the x- annotation is expecting a JSON object as documented here not an array.

thanks @ubogdan


Switch to GCM v3 API

Heapster currently uses v2beta2 API of GCM. This API has been officially deprecated. We need to switch to v3.

https://cloud.google.com/monitoring/api/ref_v3/rest/

@vishh Will this enable Heapter writing custom metrics from a kube cluster running outside GCE?

That will require some changes to how auth is handled.
On Fri, Jun 17, 2016 at 10:26 AM, activars<EMAIL_ADDRESS>wrote:

@vishh https://github.com/vishh Will this enable Heapter writing custom
metrics from a kube cluster running outside GCE?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/heapster/issues/1175#issuecomment-226830395,
or mute the thread
https://github.com/notifications/unsubscribe/AGvIKAhk9nx9UOV8zY812rJ1A6tUHuzVks5qMtjKgaJpZM4In1sr
.

@activars we don't plan to do it soon, but feel free to contribute or at least create an issue, so maybe someone else will do it.
cc @mwielgus

This is fixed.


Adds the ability to move the caret by tapping

Now the text input control knows how to move the caret when you tap
inside the string. There's still some rough edges to polish up, but this
patch is the first step.
Fixes #108

@Hixie
(Requires https://github.com/flutter/engine/pull/2327)

lgtm


Add fieldalignment make target

resolves #98

@djaglowski Thank you for checking this out.
This problem is actually something I noticed while doing testing. It runs fine in my IDE terminal, but in a zsh shell I needed to set the ENV vars GOPATH, GOROOT, and PATH.
I believe it should work if you run:
export PATH=$PATH:$GOPATH/bin

@chasekiefer Unfortunately, that does not appear to be the problem. $GOPATH/bin is in my PATH, and as I noted:

fieldalignment is not present in $GOPATH/bin after running make install-tools


Add newSubscribeRequest

Add function which sets values for struct SubscribeRequest

Coverage decreased (-0.3%) to 33.174% when pulling a4b291564cbc8077c2921c5c576dfd87a0995e97 on add-newSubscribeRequest into 529172cc713a263294c451fb35e17ef40261dc31 on master.


CF CLI RPM Installation package not available for SUSE Linux

Hello Members,
We are trying to install the CF CLI Package on our SUSE Linux Servers(SLES 15.1) and see that there are no direct RPM Packages available for SUSE Linux for CF CLI Installation.
We cannot make use of the compressed binaries option (https://github.com/cloudfoundry/cli/blob/master/doc/installation-instructions/installation-instructions-v7.md#installers-and-compressed-binaries) as this is not a standard and not permitted from a security standpoint.
Also since there are no other OS Flavors used, we cannot deploy other Linux flavors as well
Hence requesting you to provide the direct RPM Packages for CF CLI Installation similar to how it is made available for Debian/Ubuntu or fedora based Operating systems.
Could you kindly check this request and respond please ?
Thanks,
-Manju

Thank you for your submission. Since we have linux distribution for CLI available, closing this issue.


assets.ts, assetUtils.ts should be valid TypeScript in strict mode

If strict is activated, via "strict": true, at tsconfig.json, TypeScript throws many errors at utils/assetUtils.ts, but they're just a side effect of how assets.ts is constructed.
This kind of error:
ERROR in ./src/utils/assetUtils.ts
(10,48): error TS7017: Element implicitly has an 'any' type because type 'typeof Images' has no index signature.
. . .
ERROR in ./src/utils/assetUtils.ts
(22,48): error TS7017: Element implicitly has an 'any' type because type 'typeof Spritesheets' has no index signature.

thrown at code that accesses static methods through dynamic class definitions inside namespaces:
if (!this.game.cache.checkImageKey(Assets.Images[image].getName())) {

TypeScript cannot know what type Assets.Images[image] is, and me neither as each asset generates a class.
After some refactoring, I've found myself rewriting generateAssetsClass.js, and as I'd like to collaborate with this project, I don't want to diverge that much without further debate about options available.
Some relevant points:

Namespaces are not used as such and just as keys.
Classes are not created to be instantiated and just as containers.

The idea I'm studying is to create some classes:
export class AssetImage {
    constructor(public name: string) {
    }
    getName(): string {
        return this.name;
    }
}

export class AssetImagePNG extends AssetImage {
    constructor(name: string, public getPNG: () => string) {
        super(name);
    }
}

and then generate the code with instances like:
const Assets = {
    Images: {
        backgroundTemplate: new AssetImagePNG("background_template", () => require("assets/images/background_template.png"))
    }
};

The main advantage should be that TS can follow those types and it simplifies the generator and the generated assets.ts.
Issues? Options? Ideas?

I like it, nice and clean. I'd be happy to take a look at your complete solution and merge it in when it's ready.


[BugFix] fix projection error in file sink

Why I'm doing:
What I'm doing:
Fixes #38020
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

[ ] This is a backport pr

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.2
[x] 3.1
[x] 3.0
[x] 2.5

duplicated fix with #38045, only keep test case


helm repo update returns 0 error code even when it fails

Output of helm version: version.BuildInfo{Version:"v3.6.0", GitCommit:"7f2df6467771a75f5646b7f12afb408590ed1755", GitTreeState:"dirty", GoVersion:"go1.16.4"}
Output of kubectl version: Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.0", GitCommit:"c2b5237ccd9c0f1d600d3072634ca66cefdf272f", GitTreeState:"clean", BuildDate:"2021-08-04T17:56:19Z", GoVersion:"go1.16.6", Compiler:"gc", Platform:"darwin/amd64"}
Cloud Provider/Platform (AKS, GKE, Minikube etc.): AWS
Unexpected behaviour and repro:

Add a helm repo with valid credentials.
Invalidate credentials on repo side.
Attempt to do a help repo update.

Result (at least for me):
Hang tight while we grab the latest from your chart repositories...
...Unable to get an update from the "starburstdata" chart repository (https://harbor.starburstdata.net/chartrepo/starburstdata):
failed to fetch https://harbor.starburstdata.net/chartrepo/starburstdata/index.yaml : 401 Unauthorized
Update Complete. ⎈Happy Helming!⎈
Obviously the credentials are now invalid, so the update fails. However, the return code from this is 0:
~/git/bigbang % echo $?
0
Expected behaviour
Non-zero error code

@knurl Thank you for raising this. I can confirm that it return dan exit code of 0 regardless if errors updating repos.
This is because the code in https://github.com/helm/helm/blob/main/cmd/helm/repo_update.go#L117, just outputs any error messages and does not return an error in the the cobra command. Therefore, cobra will return 0 always.
I am unsure if this is as expected or not. I will therefore add it to the Helm  weekly meeting for discussion.

This behaviour has been the same since the command was first introduced to the Helm codebase, as can be viewed here:
https://github.com/helm/helm/commit/459338264e67bd2794580dd0b51cc556c8c35890
Helm 2.0.0 for reference:
https://github.com/helm/helm/blob/51bdad42756dfaf3234f53ef3d3cb6bcd94144c2/cmd/helm/repo_update.go#L88-L93
So yes I do believe it was intended behaviour that failing to fetch an index file does not cause helm repo update to error out.
I believe this is to consider cases where a user adds a repository to their repository list that is not part of the current chart's dependency tree. However this behaviour was introduced a long time ago so I may be missing some other key feature. But to answer your question @hickeyma

I am unsure if this is as expected or not

Yes, it does appear to be intentional.
Because of that, I have a feeling that changing the behaviour would constitute a breaking change. The current behaviour does appear to be intentional, and has retained this behaviour since it was introduced back in 2016.

In my case, the update isn’t working at all because of the broken credentials, so it seems incorrect to return a success code.
Best, Rob
Rob Anderson
@.***

On 12 Aug 2021, at 17:32, Matthew Fisher @.***> wrote:
This behaviour has been the same since the command was first introduced to the Helm codebase, as can be viewed here:
4593382 https://github.com/helm/helm/commit/459338264e67bd2794580dd0b51cc556c8c35890
Helm 2.0.0 for reference:
https://github.com/helm/helm/blob/51bdad42756dfaf3234f53ef3d3cb6bcd94144c2/cmd/helm/repo_update.go#L88-L93 https://github.com/helm/helm/blob/51bdad42756dfaf3234f53ef3d3cb6bcd94144c2/cmd/helm/repo_update.go#L88-L93
So yes I do believe it was intended behaviour that failing to fetch an index file does not cause helm repo update to error out.
I believe this is to consider cases where a user adds a repository to their repository list that is not part of the current chart's dependency tree. However this behaviour was introduced a long time ago so I may be missing some other key feature. But to answer your question @hickeyma https://github.com/hickeyma
I am unsure if this is as expected or not
Yes, it does appear to be intentional.
Because of that, I have a feeling that changing the behaviour would constitute a breaking change. The current behaviour does appear to be intentional, and has retained this behaviour since it was introduced back in 2016.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/helm/helm/issues/10016#issuecomment-897738411, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB7PAFSBD2T2KQ7WLXPLYM3T4PSRHANCNFSM5B4ROLJA.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email.

As discussed in the call, the best place to move this proposal forward would be to write a HIP.
For example, we need to re-define what we mean by "failure" - what if you have 18 repositories in your list and call help repo update. 17 succeed and one doesn't. Is that a successful update or not? Up until now that was considered a success with the caveat that a warning message was displayed on standard error. However if all 18 fail, we can all agree that the "repo update" failed.
The core maintainers did agree in the call that we should not surprise people by changing 5-year-old behaviour. So any changes to this behaviour would have to be introduced in Helm 4.
Please refer to CONTRIBUTING.md on how to move forward with the HIP process. Let us know if that's something you'd like to provide.
https://github.com/helm/helm/blob/main/CONTRIBUTING.md#proposing-an-idea.

If all you want to fix is the "if all repositories fail to update" case, we'd welcome a PR to do so. That might solve your current case (one repository), but it won't fix the case if you intend to add more than one repository to your list.

@knurl As @bacongobbler mentioned, this issue was discussed at the weekly call yesterday.
Just clarifying a few things:

The behaviour cannot be changed in Helm 3 as it would break backward compatibility (rightly or wrongly users expect it to work in a certain way). It needs to be queued for Helm 4.
The issue can be viewed as a bug or working as expected depending on the standpoint. We did agree that the behaviour needs to be re-examined especially in light of how Helm has evolved, and the deprecation of the Helm chart repository which now means a lot more repositories being accessed.  The suggestion at the meeting was about Proposing an Idea around handling repositories and including how other package managers like apt work.
@mattfarina showed interest in drafting a HIP and @scottrigby also mentioned about being involved

I am going to set this as a proposal and target it for Helm 4. Once the HIP is drafted, you can add your feedback there.
Hope this helps.

That’s fair, I agree that we don’t want to break expected behaviour. We could pass a command line switch to augment the behaviour (possibly waiting for Helm 4), so that we would get a success code only if the update of all repos were successful. If the switch isn’t passed, then there is no change to existing behaviour, and any failures are not transmitted to the return code.
I’m not a huge fan of the idea of adding new command line options to affect return codes, but there is form there in tools like Terraform. However, right now I’m having to parse the output of the helm command to see if it failed, which also strikes me as really ugly, and is definitely extremely brittle and likely to break in the future.
Best, Rob
Rob Anderson
@.***

On 13 Aug 2021, at 10:42, Martin Hickey @.***> wrote:
@knurl https://github.com/knurl As @bacongobbler https://github.com/bacongobbler mentioned, this issue was discussed at the weekly call yesterday.
Just clarifying a few things:
The behaviour cannot be changed in Helm 3 as it would break backward compatibility (rightly or wrongly users expect it to work in a certain way). It needs to be queued for Helm 4.
The issue can be viewed as a bug or working as expected depending on the standpoint. We did agree that the behaviour needs to be re-examined especially in light of how Helm has evolved, and the deprecation of the Helm chart repository https://helm.sh/blog/helm-2-becomes-unsupported/ which now means a lot more repositories being accessed. The suggestion at the meeting was about Proposing an Idea https://github.com/helm/helm/blob/main/CONTRIBUTING.md#proposing-an-idea around handling repositories and including how other package managers like apt work.
@mattfarina https://github.com/mattfarina showed interest in drafting a HIP https://github.com/helm/community/blob/main/hips/hip-0001.md and @scottrigby https://github.com/scottrigby also mentioned about being involved
I am going to set this as a proposal and target it for Helm 4. Once the HIP is drafted, you can add your feedback there.
Hope this helps.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/helm/helm/issues/10016#issuecomment-898290567, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB7PAFWTIMVDFMPWKTZYHNTT4TLH3ANCNFSM5B4ROLJA.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email.

@knurl Adding a flag to succeed only if all repos succeed would be an option for Helm 3. This flag could then be deprecated in Helm 4 depending on the outcome of the proposal. Let me push a PR for this.

Thanks Martin!
Best, Rob
Rob Anderson
@.***

On 13 Aug 2021, at 14:07, Martin Hickey @.***> wrote:
@knurl https://github.com/knurl Adding a flag to succeed only if all repos succeed would be an option for Helm 3. This flag could then be deprecated in Helm 4 depending on the outcome of the proposal. Let me push a PR for this.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/helm/helm/issues/10016#issuecomment-898412811, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB7PAFSPKH2UXSSPQ3ACWVDT4UDJ5ANCNFSM5B4ROLJA.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email.

Pushed PR #10024 to add flag for Helm 3.

Flag added in #10024 (as specified in https://github.com/helm/helm/issues/10016#issuecomment-898412811) is now merged and is targeted for 3.7.0 release.

Thank you so much Martin!!
—
Best / Cordialement,
Rob Anderson
@.***

On 23 Aug 2021, at 17:39, Martin Hickey @.***> wrote:

Flag added in #10024 (as specified in #10016 (comment)) is now merged and is targeted for 3.7.0 release.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.


The first click on "link login" is unresponsive

On IOS, the link login needs to click twice to have response.

Fix it by remove the button of link login: #18


Errors not bubbling into Tomcat

Env: JRuby 1.6.2, Tomcat 5.5 & Tomcat 7, Sinatra 1.3.1, Jruby-Rack 1.1.3, Warbler 1.3.2
I have a Sinatra application that is being wrapped into a war with warbler and deployed to Tomcat. When I type in a url that should have an error response, the response instead becomes a blank response with a 200 status.
If I change my jruby-rack version back to 1.0.10, this stops happening.
Also, if I run my app without wrapping it into a war, this stops happening.

Could you post a simple sinatra app and Gemfile that exhibit the bug?
Also, if you're using Tomcat 5.5, I'm surprised that things are working for you at all, since we dropped Servlet API 2.4 support in the 0.9.7 release. If you're going to be deploying to an older Tomcat, I'd suggest sticking with what version of JRuby-Rack works for you, whether it's <IP_ADDRESS> (which is version 1.0 with servlet 2.4 backports) or 1.0.10.

Sure thing, I just tested with Tomcat 5.5 to see if I was going crazy with my environment setups.
https://github.com/jlembeck/jruby-rack-testapp
Is a quick test app. If you run it outside of the war, it works, but once bundled into the war, it stops responding with errors.

I suspect this to be a duplicate of #84 there's a slight regression since 1.1.2 that is already fixed on master.
You could verify this by cloning and building the gem yourself, or simply download a dev snapshot from :
https://github.com/kares/jruby-rack/downloads
gem install jruby-rack-1.1.4.dev.gem and update your Gemfile to force using version 1.1.4.dev ...

1.1.4 is out, please try it. If the error persists, please re-open this issue.

Confirming that the issue is fixed. THANK YOU!

Great, thanks @jlembeck!


Add v1.1.0 schemas from optimade-python-tools v0.16.0

This PR is blocking #365. It updates the OpenAPI schemas to the latest version, ready for the v1.1.0 specification release.

I do not see any issue here.
I note again that I really think we should consider adjusting the specification so that the same schema applies for non-index and index endpoints. IMO the difference should just be whether you've decided to serve data through that end-point or not.

This would require an assimilation of the currently separate models for the /info endpoint (for the index and standard implementations, respectively) in OPTIMADE Python tools.
Just noting this here, as this would be the only thing necessary to make this change in the schema - in the server implementation of OPTIMADE Python tools a more rigorous testing for whether an implementation is an index meta-db or not must be implemented though.

We should hold off on this until #371 is merged, which updates some descriptions. Rather than going through the whole optimade-python-tools release process again, I'm happy to just patch the descriptions in this PR.


[FLINK-12607][rest] Introduce a REST API that returns the maxParallelism

What is the purpose of the change
Add max parallelism for reporting purposes to the REST api.
Brief change log
Add max-parallelism to:

JobVertexDetailsHandler puts maxaParallelism into JobVertexDetailsInfo from jobVertex

JobDetailsHandler pus:

maxParallelism into JobDetailsInfo from ExecutionGraph's archived execution config
maxParallelism into JobVertexDetailsInfo from AccessExecutionJobVertex

ArchivedExecutionConfig

JobDetailsInfo as "job-max-parallelism"

JobDetailsInfo.JobVertexDetailsInfo as "max-parallelism"

JobVertexDetailsInfo as "max-parallelism"

All have max parallelism added to equals and hash (except ArchivedExecutionConfig)
Resets ArchivedExecutionConfig's serialVersionUID
also adds to angular type definitions.
(For example: This pull request makes task deployment go through the blob server, rather than through RPC. That way we avoid re-transferring them on each deployment (during recovery).)
Verifying this change
This change is already covered by existing tests, such as JobDetailsInfoTest and JobVertexDetailsInfoTest. As I'm developing on windows linux subsystem, my maven build works but I am unable to run tests locally. Is there an automation that runs them to check this PR?
I did manually run the REST api against a local cluster from the bin/start-cluster.sh  of TopSpeedWindowing example with env.getConfig().setMaxParallelism(4) and .setMaxParallelism(2); on an operator
In both /jobsand /jobs/:id I saw that "job-max-parallelism" was set to 4 and "max-parallelism" was set to "2" for the specific vertex and "4" for others.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no but I feel like it should?
The serializers: yes the ArchivedExecutionConfig's java serializability
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? slightly
If yes, how is the feature documented? Needs a follow up for the REST api docs.

I'm still working on getting those doc generation and checkpoint commands going.

The generation can be a bit finicky; essentially you need to run these commands locally and commit the generated files.
mvn package -pl flink-runtime,flink-docs -Dfast -Dgenerate-rest-docs
mvn test -pl flink-runtime-web -Pskip-webui-build -Dfast -Dtest=RestAPIStabilityTest -Dgenerate-rest-snapshot

If you run into issues with these please ping me.

Thank you for your quick and attentive code review, @zentol! I also appreciate that you sent those commands.
I'm having a bit of trouble running tests and node builds under windows WSL linux. So, I ran
# From the link
mvn package -Dgenerate-rest-docs -pl flink-docs -am -nsu -DskipTests -Pskip-webui-build

And I wasn't able to get mvn package without -DskipTests or mvn test to work, but I was able to run that specific test in intellij for some reason.
I think I cleaned it up, rebased, and ran pretty much those commands? PTAL. I think I addressed all the comments you've made so far.


Mapper String parsing bug

MyBatis version
3.3.0
Database vendor and version
5.1.37 mysql
Test case or example project
the follow is the version that  has exception
    @Insert({"<script> ",
        "insert into promt_subject (subject_id, activity_id, `name`, ",
        "pri, venue_type, ",
        "child_subjects, goods_source, ",
        "cat_limit, cat1_interval, ",
        "cat2_interval, cat_interval, ",
        "refresh_decay_level, group_id)",
        "values ",
        "<foreach collection=\"records\" index=\"index\" item=\"record\" separator=\",\"> ",
        "(#{record.subjectId},#{record.activityId},#{record.name},#{record.pri},#{record.venueType},#{record",
        ".childSubjects},#{record.goodsSource},",
        "#{record.catLimit},#{record.cat1Interval},#{record.cat2Interval},#{record.catInterval},",
        "#{record.refreshDecayLevel},#{record.groupId})",
        "</foreach> ",
        "</script>"})
    int insertList(@Param("records") List<PromtSubject> records);

Exception status
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter '__frch_record_0 ' not found. Available parameters are [records, param1]

** the follow is the version that ok**
    @Insert({"<script> ",
        "insert into promt_subject (subject_id, activity_id, `name`, ",
        "pri, venue_type, ",
        "child_subjects, goods_source, ",
        "cat_limit, cat1_interval, ",
        "cat2_interval, cat_interval, ",
        "refresh_decay_level, group_id)",
        "values ",
        "<foreach collection=\"records\" index=\"index\" item=\"record\" separator=\",\"> ",
        "(#{record.subjectId},#{record.activityId},#{record.name},#{record.pri},#{record.venueType},",
        "#{record.childSubjects},#{record.goodsSource},",
        "#{record.catLimit},#{record.cat1Interval},#{record.cat2Interval},#{record.catInterval},",
        "#{record.refreshDecayLevel},#{record.groupId})",
        "</foreach> ",
        "</script>"})
    int insertList(@Param("records") List<PromtSubject> records);

is's just have the diff
 #{record",
        ".childSubjects}

"#{record.childSubjects}

Steps to reproduce
I encounter the problem, and I think maybe it's a string parsing problem.
Can you explain or fix it .thanks ! guys! :-)

Hi @chengsluo ,
This behavior is specification of annotation based mapper.
The MyBatis's reference document says as follow:
Each of these annotations represents the actual SQL that is to be executed.
They each take an array of strings (or a single string will do).
If an array of strings is passed, they are concatenated with a single space between each to separate them.