Fix Cleanup

Fixes an issue within Cleanup where the Janitor wouldn't get marked as currently cleaning.

The current behavior is intentional. You can check this with the following code:
local Test = {}
Test.ThisSaysTrue = true
Test.__index = Test

function Test.new()
	return setmetatable({
		ThisSaysTrue = false;
	}, Test)
end

function Test:Delete()
	self.ThisSaysTrue = nil
end

function Test:Return()
	self.ThisSaysTrue = false
end

local Class = Test.new()
print(Class.ThisSaysTrue)
Class:Delete()
print(Class.ThisSaysTrue)
Class:Return()
print(Class.ThisSaysTrue)

As you can see, it prints true when the value is nil because of the fact that the static reference with the same name exists.

Oh, I see. In that case I'm closing this pull request.


selectively skip dumping at subscopes with no additional setup

Related to https://github.com/istio/istio/issues/33034
We dump duplicate debug info, which is quite large, at each scope. For deeply nested subtests this gets big quick. If we're confident the setup doesn't change, we can just rely on the larger/later dump that comes from parent scopes.

Added SkipDumping to TestContext to disable dumping at a scope.
Automatically call SkipDumping in echotest when none of the SetupX methods are called.

For now we only get benefit for echotest compliant tests. Other tests can either convert to echotest, or take the riskier approach of calling SkipDumping themselves in the right places.

@stevenctl: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
b725df0bdadc2b03f089083b562ea643cd0caad3
link
/test release-notes_istio

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

@stevenctl: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
57fc8ed34035f929bfbbb369581b02b80b1b27f0
link
/test release-notes_istio

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

/retest

@stevenctl: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-multicluster-tests_istio
57fc8ed34035f929bfbbb369581b02b80b1b27f0
link
/test integ-pilot-multicluster-tests_istio

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

@stevenctl: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-multicluster-tests_istio
57fc8ed34035f929bfbbb369581b02b80b1b27f0
link
/test integ-pilot-multicluster-tests_istio

integ-security-k8s-tests_istio
57fc8ed34035f929bfbbb369581b02b80b1b27f0
link
/test integ-security-k8s-tests_istio

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

@stevenctl: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-multicluster-tests_istio
57fc8ed34035f929bfbbb369581b02b80b1b27f0
link
/test integ-pilot-multicluster-tests_istio

integ-security-k8s-tests_istio
57fc8ed34035f929bfbbb369581b02b80b1b27f0
link
/test integ-security-k8s-tests_istio

integ-pilot-k8s-tests_istio
57fc8ed34035f929bfbbb369581b02b80b1b27f0
link
/test integ-pilot-k8s-tests_istio

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

@stevenctl: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-k8s-tests_istio
57fc8ed34035f929bfbbb369581b02b80b1b27f0
link
/test integ-pilot-k8s-tests_istio

integ-pilot-multicluster-tests_istio
eb199866e25b64cff2938d01ba1cec725e399084
link
/test integ-pilot-multicluster-tests_istio

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

@stevenctl: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-multicluster-tests_istio
eb199866e25b64cff2938d01ba1cec725e399084
link
/test integ-pilot-multicluster-tests_istio

integ-pilot-k8s-tests_istio
eb199866e25b64cff2938d01ba1cec725e399084
link
/test integ-pilot-k8s-tests_istio

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

/retest

@stevenctl: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-multicluster-tests_istio
eb199866e25b64cff2938d01ba1cec725e399084
link
/test integ-pilot-multicluster-tests_istio

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

/retest

@stevenctl: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-test_istio
eb199866e25b64cff2938d01ba1cec725e399084
link
/test release-test_istio

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

@stevenctl: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-test_istio
eb199866e25b64cff2938d01ba1cec725e399084
link
/test release-test_istio

integ-ipv6-k8s-tests_istio
eb199866e25b64cff2938d01ba1cec725e399084
link
/test integ-ipv6-k8s-tests_istio

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

@stevenctl: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-test_istio
eb199866e25b64cff2938d01ba1cec725e399084
link
/test release-test_istio

integ-ipv6-k8s-tests_istio
eb199866e25b64cff2938d01ba1cec725e399084
link
/test integ-ipv6-k8s-tests_istio

integ-security-k8s-tests_istio
eb199866e25b64cff2938d01ba1cec725e399084
link
/test integ-security-k8s-tests_istio

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

/retest


Upgrade to nom v5

Nom recently released v5 and nom-sql still uses v4. Just wondering if there is a plan to upgrade and what that plan might be.
One thing to note: nom v5's macros were rewritten to use the streaming version of the parsers. My assumption would be that nom-sql would only want to deal with complete parsers when upgrading to nom v5.
Nom has good documentation on upgrading to nom v5 here

Implemented in #53.  This issue can be closed @ms705.


DAWN-487 ⁃ Update Chainbase to Support Scoping

Currently chainbase makes some assumptions that are not valid for EOS.IO:

the set of tables is static
undo / redo applies to all tables which is not sustainable

Going forward we will require the following:

[ ] scoped tables
[ ] dynamic table creation
[ ] scoped undo history

[ ] dynamic addition of tables as they are modified

After reviewing the design of chainbase I have concluded the following usage pattern will be necessary going forward:

[ ] all create, modify, and remove commands must be triggered from the undo session

this is done to ensure that the impacted tables have the proper revision history, current
implementation can skip this because ALL tables have undo started at same time, but going
forward this will have to be sparse.

[ ] all child undo sessions must be created from the current undo session
[ ] in debugging mode we need to ensure that all access to create/modify/remove is through a single strand

When the last irreversible block comes along we discard old / unneeded undo states via the commit() call. We currently iterate over all tables (which are statically typed) and delete unnecessary undo state. This won't be possible going forward unless we include the undo sessions in the shared memory.

@bytemaster is this still relevant?

@wanderingbort or @heifner This looks like this is OBE because it was written so many designs ago.  If I hear nothing back from you I will close it.

Code has been refactored multiple times since this was written, so it is OBE


test: cypress pg admin fixes

Description
Changed the locator in one of the scripts which was causing failure.
Fixes #9290
Type of change

Please delete options that are not relevant.

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Tested locally
Checklist:

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

Test coverage results :test_tube:
:red_circle: Total coverage has decreased
// Code coverage diff between base branch:release and head branch: CypressPgAdminFixes

Status
File
% Stmts
% Branch
% Funcs
% Lines

:red_circle:
total
54.79 (0)
36.76 (0)
33.4 (0)
55.32 (-0.01)

:red_circle:
app/client/src/utils/autocomplete/TernServer.ts
52.04 (-0.22)
40.42 (-0.83)
34.48 (0)
55.96 (-0.26)

/ok-to-test sha=3636e1f

/ok-to-test sha=3636e1f


Figure out API

What props do we want to be able to pass to the component? What will returned data look like

This is basically done, just need to add to readme


Modernize test suite

@durack1 @gleckler1 these new tests have been run on crunchy with esmpy rather than esmp please check that the new values are reasonable.

@doutriaux1 what is the difference between the v1.0 and v2.0 jsons - are these the different formats related to the v1.1.1 release and our as yet updated provenance stuff?

@durack1 yes v1 were the very first one, v2 was our first tweaks, we are currently on v3 which includes the json_struct and sorts. The JSONs class is backward compatible and figures out which version of the json file is being passed to it.

@doutriaux1 with the provenance stuff in #403, can we add mesalib and maybe also the LAPACK/BLAS libraries as defined in https://github.com/numpy/numpy/issues/3912#issuecomment-26226437

I added the mesalib and esmpy to the provenance in this PR. Not sure we care about lapack becuase anyway they come from conda-forge like numpy

@doutriaux1 yes, but LAPACK/BLAS are what numpy uses, and could be a source of difference between linux and osx.. Maybe.. I would imagine these libraries are OS provided, so numpy just uses whatever is available..?

now i realize I didn't update the provenance in the jsons... Will upload a new one shortly.

@durack1 i will add them. nupmy actually does not use them! (see: https://github.com/conda-forge/numpy-feedstock/blob/master/recipe/meta.yaml) but we do for libcf I believe.

@doutriaux1 looks like both are in fact built: https://github.com/conda-forge/numpy-feedstock/blob/master/recipe/meta.yaml#L27-L28

@durack1 that's blas not lapack

@doutriaux1 looks like the test uses LAPACK https://github.com/conda-forge/numpy-feedstock/blob/master/recipe/meta.yaml#L41

that's numpy's own lapack. No dependencies on any conda lapack package.

@doutriaux1 numpy doesn't include LAPACK, it's an OS provided library isn't it? And if so, then the version of the library would differ across OSes.. Right, and could that then be a potential source of differences across osx vs linux, and between linux variants too? So Ubuntu is much more up-to-date that RHEL for e.g.

@durack1 not it's not necessarily os provided. conda-forge provides them. I doubt it's our mac vs linux issue, but it might. Anyhow I now record them in the provenance.

@doutriaux1 great, I hope this might provide the additional info we need to sort out the osx vs linux issue.. It'd be a huge jump forward if we can resolve that.. I think it's almost worthy of a 2.0 tag just for that!

@durack1 look at the mac resluts, while a bit off, the numbers are very close now.
https://travis-ci.org/PCMDI/pcmdi_metrics/jobs/241315892

@doutriaux1 great! The link above didn't show me a log, so not sure how close these are.. But convergence is a really good sign..

@durack1 the log is in the link just scroll down enough you'll see it, one of the two failing tests is at the very bottom.

@doutriaux1 I tried again and saw:
Comparing: /Users/travis/build/PCMDI/pcmdi_metrics/pcmdi_install_test_results/metrics_results/salinityTest/sos_2.5x2.5_esmf_linear_metrics.json /Users/travis/build/PCMDI/pcmdi_metrics/tests/pcmdi/salinityTest/sos_2.5x2.5_esmf_linear_metrics.json atol: 0.01
Error for: GFDL-CM3,  JPL-Aquarius-v2,  r1i1p1,  NHEX,  mean-obs_xy,  djf,  ( 0, 0, 0, 0, 3, 1, ). Test value 34.222 vs expected value: 34.236
Error for: GFDL-CM3,  JPL-Aquarius-v2,  r1i1p1,  NHEX,  rms_xy,  djf,  ( 0, 0, 0, 0, 6, 1, ). Test value 0.893 vs expected value: 0.874
Error for: GFDL-CM3,  JPL-Aquarius-v2,  r1i1p1,  NHEX,  rmsc_xy,  djf,  ( 0, 0, 0, 0, 9, 1, ). Test value 0.839 vs expected value: 0.822
Error for: GFDL-CM3,  JPL-Aquarius-v2,  r1i1p1,  NHEX,  std-obs_xy,  djf,  ( 0, 0, 0, 0, 10, 1, ). Test value 1.586 vs expected value: 1.567

So yes, this is all second decimal place, which is good.. Trying to figure out why is the next (and harder) question.. Is this the same OS comparing the results - or osx vs linux?

@durack1 json file have been generated on crunchy and the link is the results ran on osx, so it's osx vs linux. travis linux passes.

@doutriaux1 BLAS isn't something that you can get following the other packages, rather you have to use np.__config__ which spits out the identical values for osx and linux for me:
UV-CDAT 2.8.0 OSX:
In [2]: np.__config__.show()
lapack_opt_info:
    libraries = ['mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'iomp5', 'pthread']
    library_dirs = ['/Users/durack1/anaconda2/envs/uvcdat280/lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['/Users/durack1/anaconda2/envs/uvcdat280/include']
blas_opt_info:
    libraries = ['mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'iomp5', 'pthread']
    library_dirs = ['/Users/durack1/anaconda2/envs/uvcdat280/lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['/Users/durack1/anaconda2/envs/uvcdat280/include']
openblas_lapack_info:
  NOT AVAILABLE
lapack_mkl_info:
    libraries = ['mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'iomp5', 'pthread']
    library_dirs = ['/Users/durack1/anaconda2/envs/uvcdat280/lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['/Users/durack1/anaconda2/envs/uvcdat280/include']
blas_mkl_info:
    libraries = ['mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'iomp5', 'pthread']
    library_dirs = ['/Users/durack1/anaconda2/envs/uvcdat280/lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['/Users/durack1/anaconda2/envs/uvcdat280/include']

UV-CDAT 2.10.0 linux/RHEL6.9:
In [2]: np.__config__.show()
lapack_opt_info:
    libraries = ['mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'iomp5', 'pthread']
    library_dirs = ['/export/durack1/anaconda2/envs/uvcdat2100nox/lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['/export/durack1/anaconda2/envs/uvcdat2100nox/include']
blas_opt_info:
    libraries = ['mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'iomp5', 'pthread']
    library_dirs = ['/export/durack1/anaconda2/envs/uvcdat2100nox/lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['/export/durack1/anaconda2/envs/uvcdat2100nox/include']
lapack_mkl_info:
    libraries = ['mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'iomp5', 'pthread']
    library_dirs = ['/export/durack1/anaconda2/envs/uvcdat2100nox/lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['/export/durack1/anaconda2/envs/uvcdat2100nox/include']
blas_mkl_info:
    libraries = ['mkl_intel_lp64', 'mkl_intel_thread', 'mkl_core', 'iomp5', 'pthread']
    library_dirs = ['/export/durack1/anaconda2/envs/uvcdat2100nox/lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['/export/durack1/anaconda2/envs/uvcdat2100nox/include']

@durack1 it comes as a conda feature for numpy, so if you install it it automatically get you the matching numpy

@zshaheen @durack1 @gleckler1 looking at this mac vs Lniux thing
climo maps for gensftlf (one of the failing test)
relative error (mac-linux).linux are:
-5.70873499552e-16 6.25398454639e-16
So I don't think that's our issue.
I really don't know where the diff comes from.
@dnadeau4 could you spend some time on this with me and @zshaheen tomorrow? That would be awesome.

@doutriaux1 yep e-16 looks to me like a precision thing, so that's good news

@doutriaux1 @gleckler1 are you waiting for a review and merge here, or is there more work to be finalized?

@gleckler1 reviewed the new number we are 99.9% sure it's good to go but awaiting total confirmation (some work with GFDL) before merging in.

@doutriaux1 great, I don't want to hold anything as important as this up so let me know when to review and merge this final product..

Just to confirm with you guys, we want to tie v1.1.2 with a specific version of CDAT correct? So not something like >= 2.10, instead all packages in meta.yaml would be equal to 2.10.

@zshaheen exactly, there have been no patch fixes to any of the sub-packages (e.g. cdms2, cdutil, genutil), so locking to v2.10 would be ideal - if we find there is a standing issue with the cdutil.ANNUAL function, then it would be good to fix this in cdutil and releasing so that we're not knowingly distributing errored software

@zshaheen confirmed.   That gives us a "locked-down" version, rather than something in a state of flux.

@doutriaux1 @zshaheen @gleckler1 woo hoo!


Fatal error

Hello,
when I use the sdk I get the following issue:
Fatal error: Uncaught Error: Call to undefined function HCGCloud\Pterodactyl\array_add() in /var/www/XXXX/XXXXXX.de/XX.XXXXX.de/vendor/hcgcloud/pterodactyl-sdk/src/MakesHttpRequests.php:89 Stack trace: #0 /var/www/vhosts/XXXXXX.de/test.XXXXXX.de/vendor/hcgcloud/pterodactyl-sdk/src/MakesHttpRequests.php(21): HCGCloud\Pterodactyl\Pterodactyl->request('GET', 'api/application...') #1 /var/www/vhosts/XXXXXX.de/test.XXXXXX.de/vendor/hcgcloud/pterodactyl-sdk/src/Actions/ManagesUsers.php(18): HCGCloud\Pterodactyl\Pterodactyl->get('api/application...') #2 /var/www/vhosts/XXXXXX.de/test.XXXXXX.de/test.php(4): HCGCloud\Pterodactyl\Pterodactyl->users() #3 {main} thrown in /var/www/vhosts/XXXXXX.de/test.XXXXXX.de/vendor/hcgcloud/pterodactyl-sdk/src/MakesHttpRequests.php on line 89
Can you help?

Could you please provide the code that cause this error?

I've check the code, it seems that I forgot to add a package whch provides array_add function to composer.json.
Please check if your project have illuminate/support installed. If not, run composer require illuminate/support.
I will fix this issue later, thank you for your feedback.

Hello,
get users and servers are perfect.
CreateUser and CreateServer are the following issues:
Fatal error: Uncaught HCGCloud\Pterodactyl\Exceptions\ValidationException: The given data failed to pass validation. in /var/www/vhosts/XXXXXX.de/test.XXXXXX.de/vendor/hcgcloud/pterodactyl-sdk/src/MakesHttpRequests.php:110 Stack trace: #0 /var/www/vhosts/XXXXXX.de/test.XXXXXX.de/vendor/hcgcloud/pterodactyl-sdk/src/MakesHttpRequests.php(95): HCGCloud\Pterodactyl\Pterodactyl->handleRequestError(Object(GuzzleHttp\Psr7\Response)) #1 /var/www/vhosts/XXXXXX.de/test.XXXXXX.de/vendor/hcgcloud/pterodactyl-sdk/src/MakesHttpRequests.php(33): HCGCloud\Pterodactyl\Pterodactyl->request('POST', 'api/application...', Array) #2 /var/www/vhosts/XXXXXX.de/test.XXXXXX.de/vendor/hcgcloud/pterodactyl-sdk/src/Actions/ManagesUsers.php(52): HCGCloud\Pterodactyl\Pterodactyl->post('api/application...', Array) #3 /var/www/vhosts/XXXXXX.de/test.XXXXXX.de/test.php(5): HCGCloud\Pterodactyl\Pterodactyl->createUser(Array) #4 {main} thrown in /var/www/vhosts/XXXXXX.de/test.XXXXXX.de/vendor/hcgcloud/pterodactyl-sdk/src/MakesHttpRequests.php on line 110

I used this code:
$server = $pterodactyl->createServer([
"external_id" => "4",
"name" => "APITest",
"user" => 1,
"egg" => 15,
"pack" => 0,
"docker_image" => "hub.tencentyun.com/unihc/pterodactyl_images:vcmp",
"environment" => [
//Not confirmed
[
"server_id" => "",
"variable_id" => "",
"variable_value" => ""
]
],
"skip_scripts" => false,
"limits" => [
"memory" => 64,
"swap" => 0,
"disk" => 64,
"io" => 500,
"cpu" => 0
],
"feature_limits" => [
"databases" => 0,
"allocations" => 0
],
"startup" => "./mpsvrrel64 -port {{SERVER_PORT}}",
"description" => "test description",
"node_id" => 1,
"nest_id" => 5,
"allocation" => [
"default" => "16",
"additional" => [
"17",
"18"
]
]
]);
and
$user = $pterodactyl->createUser([
"external_id" => "2",
"email" =><EMAIL_ADDRESS>"username" => 'TestUser',
"first_name" => 'Test',
"last_name" => 'User',
"language" => 'zh-cn',
"password" => '123456'
]);

Make sure you have changed the example code correctly, and some parameters are optional. You can find out example from this unofficial document. https://deploys.io/docs/api/pterodactyl/v1/#create-user

For create a server, you should also replace those parameters to suit your panel, like 'user', 'egg', 'node_id', 'nest_id'. These id can be found in your panel.

Create Users are fine but when I create a server the error came again.

what parameters have you changed?

I have the following command:
$server = $pterodactyl->createServer([
"name" => "APITest",
"user" => 3,
"nest_id" => 2,
"node_id" => 1,
"egg" => 7,
"limits" => [
"memory" => 64,
"swap" => 0,
"disk" => 64,
"io" => 500,
"cpu" => 0
],
"feature_limits" => [
"databases" => 0,
"allocations" => 0
]
]);

"allocation" => [
"default" => "16",
"additional" => [
"17",
"18"
]
should be also provided, which is your node allocations. ID seems could not be got in frontend, you can check it in database or use API.

Hello,
can you send me an example which all parameters to create an minecraft server?
Thank you :)

@christian1432 you should replace those ids in sample code to yours. It's depend on your own panel.

Hello,
do you know which date it will be release

hey

I need help, I get an error when creating a server. This is the code I use:
$ server = $ pterodactyl-> createServer ([
     "external_id" => "4",
     "name" => "APITest",
     "user" => 1,
     "egg" => 3,
     "pack" => 0,
     "docker_image" => "quay.io/pterodactyl/core:java-glibc",
     "environment" => [
         [
             "server_id" => "",
             "variable_id" => "",
             "variable_value" => ""
         ]
     ],
     "skip_scripts" => false,
     "limits" => [
         "memory" => 64,
         "swap" => 0,
         "disk" => 64,
         "io" => 500,
         "cpu" => 0
     ],
     "feature_limits" => [
         "databases" => 0,
         "allocations" => 0
     ],
     "startup" => "java -Xms128M -Xmx {{SERVER_MEMORY}} M -jar {{SERVER_JARFILE}}",
     "description" => "test description",
     "deploy" => [
         "locations" => [1],
         "dedicated_ip" => false,
         "port_range" => []
     ],
     "start_on_completion" => true
]);

try this minfied one, which used in our production.
the $pack would be an array with validate rules below:
$rule = [
	'egg' => 'require|number',
	'nest' => 'require|number',
	'databases' => 'require|number',
	'allocations' => 'require|number',
	'memory' => 'require|number',
	'swap' => 'require|number',
	'disk' => 'require|number',
	'cpu' => 'require|number',
	'io' => 'require|number'
];

$egg = $pterodactyl->egg($pack['nest'], $pack['egg']);
$server = $pterodactyl->createServer([
	"external_id" => $external_id,
	"name" => $svr_name,
	"user" => $user['id'],
	"egg" => $pack['egg'],
	"pack" => 0,
	"docker_image" => $egg->dockerImage,
	"skip_scripts" => false,
	"environment" => [],
	"limits" => [
		"memory" => $pack['memory'],
		"swap" => $pack['swap'],
		"disk" => $pack['disk'],
		"io" => $pack['io'],
		"cpu" => $pack['cpu']
	],
	"feature_limits" => [
		"databases" => $pack['databases'],
		"allocations" => $pack['allocations']
	],
	"startup" => $egg->startup,
	"description" => "-",
	"deploy" => [
		"locations" => [$node_id],
		"dedicated_ip" => false,
		"port_range" => []
	],
	"start_on_completion" => true
]);

@christian1432
I am sorry that I saw your reply just now. Just like this sdk, The new version we are working on is also not yet integrated. We plan to consider releasing after everything has been completed.

Well, I didn't quite get it.

Can you help me, please?

Could you provide the error message you encountered?

https://cdn.discordapp.com/attachments/122900397965705216/597208684841533441/unknown.png

Are you using Spigot egg? Try to set the environment variables:
     "environment" => [
         [
             "id" => "SERVER_JARFILE",
             "value" => "server.jar"
         ],
         [
             "id" => "DL_VERSION",
             "value" => "latest"
         ],
         [
             "id" => "DL_PATH",
             "value" => ""
         ],
     ]

So to this:
$ server = $ pterodactyl-> createServer ([
"external_id" => "4",
"name" => "APITest",
"user" => 1,
"egg" => 3,
"pack" => 0,
"docker_image" => "quay.io/pterodactyl/core:java-glibc",
"environment" => [
[
"server_id" => "",
"variable_id" => "",
"variable_value" => ""
]
],
"skip_scripts" => false,
"limits" => [
"memory" => 64,
"swap" => 0,
"disk" => 64,
"io" => 500,
"cpu" => 0
],
"feature_limits" => [
"databases" => 0,
"allocations" => 0
],
"startup" => "java -Xms128M -Xmx {{SERVER_MEMORY}} M -jar {{SERVER_JARFILE}}",
"description" => "test description",
"deploy" => [
"locations" => [1],
"dedicated_ip" => false,
"port_range" => []
],
"start_on_completion" => true
]);
I'll add the code you passed me?

$server = $pterodactyl-> createServer ([
	"external_id" => "4",
	"name" => "APITest",
	"user" => 1,
	"egg" => 3,
	"pack" => 0,
	"docker_image" => "quay.io/pterodactyl/core:java-glibc",
	"environment" => [
		[
			"id" => "SERVER_JARFILE",
			"value" => "server.jar"
		],
		[
			"id" => "DL_VERSION",
			"value" => "latest"
		],
		[
			"id" => "DL_PATH",
			"value" => ""
		],
	]
	"skip_scripts" => false,
	"limits" => [
		"memory" => 64,
		"swap" => 0,
		"disk" => 64,
		"io" => 500,
		"cpu" => 0
	],
	"feature_limits" => [
		"databases" => 0,
		"allocations" => 0
	],
	"startup" => "java -Xms128M -Xmx {{SERVER_MEMORY}} M -jar {{SERVER_JARFILE}}",
	"description" => "test description",
	"deploy" => [
		"locations" => [1],
		"dedicated_ip" => false,
		"port_range" => []
	],
	"start_on_completion" => true
]);

This page doesn't work, that comes out

Where's the nest going?

The nest id of your eggs, check admin/nests.

I mean the api, where do I put the id of the nest?

It is not necessary, unless you use the $pterodactyl->egg(); to reuse some variables to create server.

So, why do not you let me create a server?

try this one, tested just now for Spigot eggs.
$egg = $pterodactyl->egg(1, 3);
$server = $pterodactyl->createServer([
	"name" => "test",
	"user" => 1,
	"egg" => 3,
	"pack" => 0,
	"docker_image" => $egg->dockerImage,
	"skip_scripts" => false,
	"environment" => [
		"SERVER_JARFILE" => "server.jar",
		"DL_VERSION" => "latest",
		"DL_PATH" => ""
	],
	"limits" => [
		"memory" => 2048,
		"swap" => 0,
		"disk" => 2048,
		"io" => 100,
		"cpu" => 0
	],
	"feature_limits" => [
		"databases" => 0,
		"allocations" => 0
	],
	"startup" => $egg->startup,
	"description" => "",
	"deploy" => [
		"locations" => [1],
		"dedicated_ip" => false,
		"port_range" => []
	],
	"start_on_completion" => true
]);

now he just tells me, "the page does not respond"

try $pterodactyl->servers(); And see if it can return servers correctly. I don't think it's a problem about the createServer function. Whether it succeeds or not, it should return some data, the server infomation just created, or The given data failed to pass validation.
Also try to check the log of your panel to see if the request has received by the panel.

the page is blank when you put $ pterodactyl-> servers (); means that if you received the data, and according to the api records when I put the $ server = $ pterodactyl-> createServer also receives it but the page says "this page does not work" so what happens?

that is the code that I am using

print_r($pterodactyl->servers());
also try to use
try{
	$pterodactyl = new \HCGCloud\Pterodactyl\Pterodactyl(config('panel.app_key'), config('panel.url'));
	$egg = $pterodactyl->egg($pack['nest'], $pack['egg']);
	$server = $pterodactyl->createServer([
		....
	]);
	print_r($server);
}catch(\Exception $e){
	echo $e->getMessage();
}

Remember to delete the above image or change your API_KEY as soon as possible. That image contains your API_KEY.

I know, look at me saying the same thing "This page does not work privatenodes.ml can not process this request at this time."

or just try to get server list first to seems if it's still can't process the request?
try{
	$pterodactyl = new \HCGCloud\Pterodactyl\Pterodactyl('LfCA1xH9K9Gnc5VUh9ZV8xwQun2odBY7zGEStvbRLMbf3Htu', 'http://panel.privatenodes.ml/');
	$servers = $pterodactyl->servers();
	print_r($servers);
}catch(\Exception $e){
	echo $e->getMessage();
}

I have just tried it, and it will return:
{
    "errors": [
        {
            "code": "AccessDeniedHttpException",
            "status": "403",
            "detail": "An error was encountered while processing this request."
        }
    ]
}

I just deleted that key api, this is the new "qAebqXk6Xv6eZkWoVBkMV5edpaVlqFADUfBOhgnqapZobPeY"

can I use it to try to create a server?

yes

I can get this message The given data failed to pass validation.

and because?

Location id: 1, Node id: 7

try to replace environment to the variables or your eggs, I can't test it properly as I can't login to your panel directly.
also you can read this document, https://deploys.io/docs/api/pterodactyl/v1/#create-server

http://<IP_ADDRESS>/
<EMAIL_ADDRESS>test123
Admin Panel

clearly works, just set the environment properly.
try{
	$pterodactyl = new \HCGCloud\Pterodactyl\Pterodactyl('KkFo2mtWJKKR6mccWKGeUnVhR1Ruk9zeEQzi0oOjpzmvlb0H', 'http://<IP_ADDRESS>');
	$egg = $pterodactyl->egg(1, 4);
	$server = $pterodactyl->createServer([
		"name" => "test",
		"user" => 1,
		"egg" => 4,
		"docker_image" => $egg->dockerImage,
		"skip_scripts" => false,
		"environment" => [
			"SERVER_JARFILE" => "server.jar",
			"SPONGE_VERSION" => "1.11.2-6.1.0-BETA-21"
		],
		"limits" => [
			"memory" => 256,
			"swap" => 0,
			"disk" => 512,
			"io" => 500,
			"cpu" => 0
		],
		"feature_limits" => [
			"databases" => 0,
			"allocations" => 0
		],
		"startup" => $egg->startup,
		"description" => "",
		"deploy" => [
			"locations" => [2],
			"dedicated_ip" => false,
			"port_range" => []
		],
		"start_on_completion" => true
	]);
	print_r($server);
}catch(\Exception $e){
	echo $e->getMessage();
}

I do not know what happens, but it does not work for me

keeps coming "this page does not work"

Have you enabled error reporting of your PHP? Try putting this code at the top of your file.
error_reporting(1);

just like
<?php
    error_reporting(1);
    ....
?>

Which version are you using?

PHP Version 7.2.8

PHP Version 7.2.19

so it won't be the version issues.

So, what could it be ...

Have you enabled error reporting?

yes

Also are you install this sdk by composer?

yes

I say, no, I took it out of a .rar file

try it on localhost with xampp and get this "Fatal error: Uncaught Error: Call to undefined method HCGCloud \ Pterodactyl \ Pterodactyl :: egg () in C: \ xampp \ htdocs \ dash \ index.php: 6 Stack trace: # 0 {main} thrown in C: \ xampp \ htdocs \ dash \ index.php on line 6 "

so you need to install it by composer, as there are some components required by this sdk.

well, and how can I make a query to know if the created user already exists ?, and apart from that how can I change the ram?

just use $pterodactyl->userex($id); and check if it return the user details.
function userExists($id){
	try{
		$pterodactyl = new \HCGCloud\Pterodactyl\Pterodactyl(config('panel.app_key'), config('panel.url'));
		$pterodactyl->userex($id);
		return true;
	}catch(\Exception $e){
		//or by http code
		if($e->getMessage() == 'The resource you are looking for could not be found.') return false;
		return false;
	}
}

userex means you should provide an external id, which should be the identity of your own sale system.

and apart from that how can I change the ram?

What do you mean by ram?

Can I change the server ram with this api?

Do you mean memory?

if memory, I got confused

		"limits" => [
			"memory" => 256, //here
			"swap" => 0,
			"disk" => 512,
			"io" => 500,
			"cpu" => 0
		],

I say, from an already created server, can I modify the memory?

Not now, it will be integrated later.

Oh, well it's fine, thank you very much I'll be waiting for that update!

Just added.
$server = $pterodactyl->server($YOUR_SERVER_ID);
$server->updateBuild([
  "allocation" => "1",
  "memory" => 256, //here
  "swap" => 0,
  "disk" => 512,
  "io" => 500,
  "cpu" => 0,
  "feature_limits" => [
    "databases" => 0,
    "allocations" => 0
  ]
]);

So, do I have to redownload the composer?

composer update hcgcloud/pterodactyl-sdk:dev-master

One more question, when creating the server or after, how could you get the server ID?

just check the reply of the createServer request.

hey, I have a doubt, because when I try to do the process of creating servers with bungeecord, I get "The given data failed to pass validation?
´´´
try{
$pterodactyl = new \HCGCloud\Pterodactyl\Pterodactyl('API', 'URL');
$egg = $pterodactyl->egg(1, 1);
$server = $pterodactyl->createServer([
"name" => "test",
"user" => 1,
"egg" => 1,
"docker_image" => $egg->dockerImage,
"skip_scripts" => false,
"environment" => [
"BUNGEECORD_JARFILE" => "bungeecord.jar",
"BUNGEECORD_VERSION" => "latest"
],
"limits" => [
"memory" => 256,
"swap" => 0,
"disk" => 512,
"io" => 500,
"cpu" => 0
],
"feature_limits" => [
"databases" => 0,
"allocations" => 0
],
"startup" => $egg->startup,
"description" => "",
"deploy" => [
"locations" => [1],
"dedicated_ip" => false,
"port_range" => []
],
"start_on_completion" => true
]);
echo('');
print_r($server);
echo('');
}catch(\Exception $e){
echo $e->getMessage();
}
´´´

hey, I have a doubt, because when I try to do the process of creating servers with bungeecord, I get "The given data failed to pass validation?
$egg = $pterodactyl->egg(1, 1);
$server = $pterodactyl->createServer([
	"name" => "test",
	"user" => 1,
	"egg" => 1,
	"docker_image" => $egg->dockerImage,
	"skip_scripts" => false,
	"environment" => [
		"BUNGEECORD_JARFILE" => "bungeecord.jar",
		"BUNGEECORD_VERSION" => "latest"
	],
	"limits" => [
		"memory" => 256,
		"swap" => 0,
		"disk" => 512,
		"io" => 500,
		"cpu" => 0
	],
	"feature_limits" => [
		"databases" => 0,
		"allocations" => 0
	],
	"startup" => $egg->startup,
	"description" => "",
	"deploy" => [
		"locations" => [1],
		"dedicated_ip" => false,
		"port_range" => []
	],
	"start_on_completion" => true
]);

Uhm?

check the parameters. especially ``limitsandenvironment```.

As?

Check your parameters that match your panel configuration.

Yes, excuse me already fixed it, now I want to know how I can get the user ID when registering it?

check the response.

uhm?

hello, well now I have two problems exactly ... I want to get the id of the server at the time of creating it to place it in database, but I do not know how I want to get the id of the user to store it in the database , you help me please?

Will you help me, please?

$server = $pterodactyl->createServer([
......
]);
print_r($server);
print_r($server["attributes"]["id"]);

So, I just put that in and it will give me the ID of the created server? What about the user? It helps me too, when registering a user I want to get their ID

same way.

Excuse me, but at the time i write that code, it sends me only the code of print_r($server) And not of print_r($server["attributes"]["id"]);

Help please

Hey, help me please

Help me please

$server->attributes->id

So, in itself put print_r($server["attributes"]["id"]); I put print_r($server->attributes->id)?

try it.

Notice:  Trying to get property 'id' of non-object in C:\xampp\htdocs\privatenodes\partials\dash\paper.php on line 42

This is the basic usage of PHP and not this sdk's issue, you should use print_r($server); to check what returned and them access sub-arrays of it.


Definitive Python import guide

Great guide! I enjoyed it and learned a lot. I have a question regarding relative imports. You mentioned that modules in parent directories couldn't be imported without messing with sys.path. I was wondering about unittest and if it's different? For example say I have a directory mod/ with module.py and a unit-test for that module, test_module.py, in mod/tests/, I should be able to import module in mod/tests/test_module.py and run python -m unittest tests/test_module.py even though it's importing from the parent directory, correct?

Great question! Here is the short answer to your specific question:

Assuming that your terminal's current path is at mod/, you can run python -m unittest tests/test_module.py.
If your terminal's current path is anywhere else, you will see errors. For example, if your terminal's current path is at mod/tests/, then running python -m unittest test_module.py will fail.

Here's the longer explanation. The directory structure you described is as follows:
mod/
    module.py
    tests/
        test_module.py (contains "import module")

The usage of the -m flag for the Python interpreter is something I did not really address in my guide, because it introduces some of its own complications. Below is a quick primer.
Suppose that the terminal is currently at some directory dir/. Then, the following command starts a Python interpreter with sys.path[0] set to the empty string "" which refers to the current path /path/to/dir/.
/path/to/dir/> python -m <module_name>

Therefore, in case 1 described above (/path/to/mod/> python -m unittest tests/test_module.py), the mod/ directory is in sys.path, so test_module.py is able to successfully call import module.
However, in case 2 (/path/to/mod/tests/> python -m unittest test_module.py), mod/ is not in sys.path, so the call to import module fails.

Thanks a lot @chrisyeh96 for the thorough response! Makes more sense now.


View Code Feature

Issue Type:

[x] Feature Request

Describe the feature
We should have code button which will redirect to the codebase of specific project/effect.
Possible solution
Add code button to the UI and pass the suitable link to redirect specific project.
Screenshots

ok cool


6 updates, + 10 links, + 2 icons

Description

Updated 6 icons, added 10 new links and added 2 new icons.
Icons addition information

Added

SkyCards (com.flightradar24.skycards)
ntodotxt (de.tnmgl.ntodotxt)
Linked

Arc Search x 8 (company.thebrowser.arc → arc_search.svg)
Wikipedia (org.wikipedia → wikipedia.svg)
Grit (com.shub39.grit → snaptick.svg)
Updated

TgMonet Theme (com.c3r5b8.telegram_monet) - Renamed and new icon - Closes #2464
AirNav Radar (com.airnav.radarbox) - Renamed
A101 (com.a101kapida.android) - Renamed and new icon - Closes #2476
BOM Weather (au.gov.bom.metview) - Improved icon
Image Toolbox (ru.tech.imageresizershrinker) - New icon - Closes #2463
InnerTune (Fork) (com.malopieds.innertune) - New icon - Closes #2461

SkyCards

Align icons to the visual center as much as possible within the guidelines. The visual center is where your icon looks and feels centered.

ntodotxt

We already have a check mark, it's better to link the app to it instead of a new icon.

TgMonet Theme

The idea of the issue was to update the paper plane in the TgMonet Theme icon. Therefore, your option doesn't close the issue. But now the app has an icon without the paper plane, so the update can be accepted.

BOM Weather (au.gov.bom.metview) - Improved icon

For the sake of quality, it's worth avoiding text in icons whenever possible. In this case, this is easy because the text duplicates the app label, and the sun allows you to keep the app recognizable for users who disable labels.

Image Toolbox

Avoid noticable black spots by reducing the stroke width or simplifying the icons.

InnerTune

The icon doesn't correspond to the Lawnicons guidelines for several reasons. This option would be suitable:

I do not see why it would not close the issue.

I would prefer to close this issue through discussion rather than through the PR, as it was solved differently.


Dark mode

Implement a simple dark mode that respects the user's system preferences.

Any updates on this?

I don't use tailwind but tailwind seems to have a built-in dark mode feature
https://tailwindcss.com/docs/dark-mode

No update on this. I don't know when I'll have the time to do anything about it, and then I need to decide if it's worth it, because it would increase the size of the final CSS file. For something so simple, the CSS file is already kind of large.
The main effort to implement dark mode is to add the classes to each element. For every: text-color-XXX I need to add dark:text-color-XXX to specify the color an element would have in dark mode.

Oh, thanks for the details, I may try to do this myself when I get time


teeny tiny footer

Doesn't seem like we need much of a footer at this point. Consider shrinking it down.

Do you still need help with this?

Probably not right now. We're still in the middle of a fast building period
and I think this is something we'd like to sit on just a bit longer while
we make sure that we've scoped the footer correctly.
Thanks for the question though!
On Sun, 15 Oct 2017 at 22:02 Katie<EMAIL_ADDRESS>wrote:

Do you still need help with this?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/sparcopen/doathon-dev/issues/27#issuecomment-336737435,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEuWZ_NQcXbSiNH_Z1XzWvKsOEhY78q8ks5ssmTrgaJpZM4P51Z7
.

--
Joseph McArthur
Assistant Director: Right to Research Coalition
http://righttoresearch.org/
Co-Lead/Founder: Open Access Button http://openaccessbutton.org/
Twitter: @Mcarthur_Joe https://twitter.com/Mcarthur_Joe
Skype: joseph_mcarthur

okay, we've kinda filled the footer now. Can't be tiny.


zsh-command-time: enable work with options customPkgs

Motivation for this change
Enable work plugin zsh-command-time with options
programs.zsh.ohMyZsh.customPkgs = with pkgs; [ zsh-command-time ];
Things done

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

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

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

Thanks


fix TypeScript typings exports

Hi,
So this one is pretty interesting - currently it seems like you expect people to import create-react-context this way (because declaration file specifies export default ...):
import createReactContext from 'create-react-context';

export const context = createReactContext(null);

The TypeScript compilation result is:
// my-app/context.js
var create_react_context_1 = require("create-react-context");
exports.context = create_react_context_1.default(null);

However, in create-react-context production (transpiled) version, we have:
// create-react-context/lib/index.js
exports.default = _react2.default.createContext || _implementation2.default;
// this is the problematic line
module.exports = exports['default'];

So obviously previous create_react_context_1.default is undefined.
Two possible solutions (1) dropping the module.exports line (happens due to this plugin), or (2) accept this PR, and then client would import this way:
import * as createReactContext from 'create-react-context';
// or:
import createReactContext = require('create-react-context');

Dropping module.exports means that clients who don't use es2015 modules would've to import this way:
const {default: createReactContext} = require('create-react-context');

... and maybe it's a breaking change (although it's not documented).
I suggest to accept this PR (and keep module.export - PR is based on having it), as typings are broken anyway - no idea how people use it in current state.
@jamiebuilds please.

Importing function as a namespace is the biggest failure of typescript. Key-value object just cannot be a function.
import * as createReactContext from 'create-react-context';

Some guys said me the problem can be solved with more flexible interop option.

Failure or not (yeah, it's a workaround that TypeScript upholds) - currently it just does not work:)

Workaround in every package is broken ecosystem.

Here to confirm the problem. The library can not be consumed by a Typescript project as of now.

Can't you play with some options to solve the problem on your side?

Example to support all options : https://github.com/DefinitelyTyped/DefinitelyTyped/blob/215cb1970b3c998bac688396c6cd9756b446055b/types/classnames/index.d.ts


(NO MERGE yet) Initial commit

Description

Create Helm chart for RasberryMatic to be installed into K8S
Related Issue

#1090
Types of changes

[ ] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Alternate Designs

Manually installing OCI into K8S
Possible Drawbacks

New branch is required. Use the following commands:

git checkout --orphan gh-pages
git rm -rf .
git commit -m "Initial commit" --allow-empty
git push --set-upstream origin gh-pages

Verification Process

After each succesfull build of master a matching Helm chart will be created.
For the first time please manually trigger using the Helm chart - workflow dispatch Workflow.
Release Notes

I will add the instructions to the wiki once the first chart is created. Test with my fork worked fine.
Basically instuctions are:

helm repo add raspberrymatic https://angelnu.github.io/RaspberryMatic/
create /tmp/ccu  folder in K8S server (if no default claim class is available)
helm install --set persistence.hostPath=/tmp/ccu my-ccu raspberrymatic/raspberrymatic

Contributing checklist

[x] My code follows the code style of this project.
[x] I have read the CONTRIBUTING and LICENSE document.
[x] I fully agree to distribute my changes under Apache 2.0 license.

The git is bad - need to check branch rebase

The git is bad - need to check branch rebase


Refer to coding standard in sniffs

Cheerio.
Some of the sniffs are just awkward. Like the WordPress_Sniffs_PHP_StrictComparisonsSniff as it forces everyone to use "===" instead of "==".
I were not able to find this or other things in the codex or some other WordPress documentation lately.
So please add a link in all your sniffs refering to a website showing this coding standard or common use.
Like @see https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#yoda-conditions. I really bothers me by now that WPCS is nagging about things I can't find anywhere.
This StrictComparison e.g. is written down in the WordPress-VIP ruleset. So I look up https://vip.wordpress.com/documentation/vip/best-practices/wordpress-coding-standards/ and can't find it. A link to the correct place would be great in every Sniff-DocComment.

@sourcerer-mike FYI: The strict comparisons sniff is not part of the WP core ruleset, but part of the extra ruleset which adds sniffs for a number of common (PHP) best practices. You can chose to just use the core sniffs when running PHPCS from the command line or could disable the extra sniffs (or just this particular sniff) through a custom ruleset.
For the VIP ruleset, this particular check is documented here: https://vip.wordpress.com/documentation/vip/code-review-what-we-look-for/#using-instead-of

Thanks for the helpful reply @jrfnl .
This is okay, but I am forced / payed to use the extra coding standards in one project.  Looking forward to have it a bit better documented :)

I've been thinking this over and I suggest closing this issue as won't fix.
Some rules are used by several rulesets (Core, Extra, VIP) and - at least for Core and VIP -, the links to documentation pages documenting/explaining the rules will be different.
I believe that the sniffs should be ruleset agnostic and should not necessarily contain links to documentation. However, the ruleset which includes the sniff should.
The Core ruleset is build up like this and contains links to (and quotes from) the handbook for every sniff included in it.
The VIP ruleset contains links for a number of the included sniffs (not all) and could be improved, but I believe that should be the responsibility of the VIP team.
As for the Extra ruleset, most of the sniffs included there are common best practices and should be self-explanatory.
If at all, I think links to the PRs/issues which introduced those sniffs into the Extra ruleset should be sufficient as those will give the reasoning of why those sniffs were included.

If at all, I think links to the PRs/issues which introduced those sniffs into the Extra ruleset should be sufficient as those will give the reasoning of why those sniffs were included.

If someone wants to open a an issue/PR for that, feel free.

Wow. Neither you document it for yourself, nor for others. This is really a "Close, because work" thing.
Please have that as an inner issue for yourself or ignore this opinion - feel free.

@sourcerer-mike Some politeness and respect for all the work we put into this wouldn't be amiss.
You seem to be misinterpreting the reason for closing this issue. What I was saying is that the reason for including a rule is documented with links in the ruleset (not the sniff), which is the correct place for it.
I suggest you have a look at the rulesets for your education.

@sourcerer-mike There are a number articles that explain strict comparisons that be found easily. This is not specific to WordPress but to programing in general.
http://www.phptherightway.com/pages/The-Basics.html
https://www.copterlabs.com/strict-vs-loose-comparisons-in-php/
If you don't agree then you can ignore the sniff by excluding it in your own custom ruleset.


[Darwin] simplify ilogb implementation in tgmath

What's in this pull request?
Simplify the implementation of ilogb in tgmath.
We can avoid the ambiguity by specifying expected return type CInt.
Resolved bug number: N/A

Before merging this pull request to apple/swift repository:

[ ] Test pull request on Swift continuous integration.

@rintaro Nice simplification!

@swift-ci Please test


Fastlane Swift: Lane with Match does not copy Provisioning Profiles to MobileDevices/Provisioning Profiles folder

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
I'm working with the Swift project of fastlane and I have configured match to download all the required certificates.
I want to download all the certificates at the same time so I have created a lane for that. This is how it looks like:
func certificatesLane() {
        developmentCertificates()
        adHocCertificates()
        productionCertificates()
}

private func developmentCertificates(readOnly: Bool = true) {
     match(type: "development", readonly: readOnly)
}

private func adHocCertificates(readOnly: Bool = true) {
     match(type: "adhoc", readonly: readOnly)
}

 private func productionCertificates(readOnly: Bool = true) {
     match(type: "appstore", readonly: readOnly)
}

I use the same functions to download/update the certificates from other lanes with 'readOnly = false'. This is working fine and is creating the provisioning profiles and uploading them to the specified repo.
When I try to run the 'certificates' lane from the command line match is executed successfully but it does not copy the downloaded profiles to ~/Library/MobileDevice/Provisioning Profiles/ so Xcode won't be able to find them on new machines. It also never updates the provisioning profiles with the ones contained in the certificates repo if executed from another lane.
This is the command I'm executing:
bundle exec fastlane certificates
And the output:

[✔] 🚀
+----------------------------+---------+-----------------------------------+
|                               Used plugins                               |
+----------------------------+---------+-----------------------------------+
| Plugin                     | Version | Action                            |
+----------------------------+---------+-----------------------------------+
| fastlane-plugin-versioning | 0.3.4   | get_version_number_from_git_bran  |
|                            |         | ch get_version_number_from_plist  |
|                            |         | get_build_number_from_plist       |
|                            |         | ci_build_number                   |
|                            |         | increment_version_number_in_plis  |
|                            |         | t get_app_store_version_number    |
|                            |         | get_info_plist_path               |
|                            |         | increment_build_number_in_plist   |
+----------------------------+---------+-----------------------------------+
[17:22:57]: loading manifest: /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/fastlane-2.96.1/fastlane/swift/upgrade_manifest.json
[17:22:57]: It looks like your FastlaneSwiftRunner project is not up-to-date
[17:22:57]: If you don't update it, fastlane could fail
[17:22:57]: We can try to automatically update it for you, usually this works 🎈 🐐
[17:22:57]: Should we try to upgrade just your FastlaneSwiftRunner project? (y/n)
n
[17:22:58]: Ok, if things break, you can try to run this lane again and you'll be prompted to upgrade another time
[17:22:58]: FastlaneSwiftRunner project is up-to-date
[17:22:58]: Successfully loaded '/Users/user/example/fastlane/Gymfile' 📄
[17:22:58]: No values defined in './fastlane/Gymfile'
[17:22:58]: $ xcodebuild -showBuildSettings -scheme FastlaneRunner -project ./fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj
2018-05-23 17:22:59.426 xcodebuild[80388:18852189] [MT] PluginLoading: Required plug-in compatibility UUID EE23884D-A5C0-4163-94CF-DBBF3A5ED8D6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/SwiftLintXcode.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2018-05-23 17:22:59.427 xcodebuild[80388:18852189] [MT] PluginLoading: Required plug-in compatibility UUID EE23884D-A5C0-4163-94CF-DBBF3A5ED8D6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/KZLinkedConsole.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2018-05-23 17:22:59.427 xcodebuild[80388:18852189] [MT] PluginLoading: Required plug-in compatibility UUID EE23884D-A5C0-4163-94CF-DBBF3A5ED8D6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/GitDiff.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2018-05-23 17:22:59.428 xcodebuild[80388:18852189] [MT] PluginLoading: Required plug-in compatibility UUID EE23884D-A5C0-4163-94CF-DBBF3A5ED8D6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/CocoaPodUI.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2018-05-23 17:22:59.428 xcodebuild[80388:18852189] [MT] PluginLoading: Required plug-in compatibility UUID EE23884D-A5C0-4163-94CF-DBBF3A5ED8D6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/AMMethod2Implement.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2018-05-23 17:22:59.429 xcodebuild[80388:18852189] [MT] PluginLoading: Required plug-in compatibility UUID EE23884D-A5C0-4163-94CF-DBBF3A5ED8D6 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcplugin' not present in DVTPlugInCompatibilityUUIDs
[17:23:00]: $ set -o pipefail && xcodebuild -scheme FastlaneRunner -project ./fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj -destination 'generic/platform=macOS' | tee /Users/user/Library/Logs/gym/App-FastlaneRunner.log | xcpretty
[17:23:04]: $ ./fastlane/FastlaneRunner lane certificates > /dev/null
[17:23:04]: -------------------
[17:23:04]: --- Step: match ---
[17:23:04]: -------------------
<EMAIL_ADDRESS>[17:23:04]: Successfully loaded '/Users/user/example/fastlane/Matchfile' 📄
+----------------+------------------------------------------------------+
|              Detected Values from './fastlane/Matchfile'              |
+----------------+------------------------------------------------------+
| git_url        | https://gitserver.com/ioscertificates.git            |
| type           | development                                          |
| app_identifier | ["com.example.Example"]                              |
| username       |<EMAIL_ADDRESS>                                   |
+----------------+------------------------------------------------------+
+-----------------------+------------------------------------------------------+
|                           Summary for match 2.96.1                           |
+-----------------------+------------------------------------------------------+
| git_url               | https://gitserver.com/ioscertificates.git            |
| git_branch            | project2                                             |
| type                  | development                                          |
| app_identifier        | []                                                   |
| username              |<EMAIL_ADDRESS>                                   |
| keychain_name         | login.keychain                                       |
| readonly              | true                                                 |
| team_name             | Company Ltd.                                         |
| verbose               | false                                                |
| force                 | false                                                |
| skip_confirmation     | false                                                |
| shallow_clone         | false                                                |
| clone_branch_directly | true                                                 |
| force_for_new_devices | false                                                |
| skip_docs             | false                                                |
| platform              | ios                                                  |
+-----------------------+------------------------------------------------------+
[17:23:04]: Cloning remote git repo...
[17:23:17]: Checking out branch project2...
[17:23:18]: 🔓  Successfully decrypted certificates repo
[17:23:18]: Installing certificate...
security: SecKeychainSearchCopyNext: The specified item could not be found in the keychain.
+-------------------+---------------------------------------------+
|                      Installed Certificate                      |
+-------------------+---------------------------------------------+
| User ID           | MTP6DJFSN8                                  |
| Common Name       | iPhone Developer: Test (FFP69HFUQ9)         |
| Organisation Unit | JS3GRDVQAF                                  |
| Organisation      | Company Ltd.                                |
| Country           | US                                          |
| Start Datetime    | 2018-04-16 16:51:04 UTC                     |
| End Datetime      | 2019-04-16 16:51:04 UTC                     |
+-------------------+---------------------------------------------+
[17:23:24]: All required keys, certificates and provisioning profiles are installed 🙌
[17:23:24]: Setting Provisioning Profile type to 'development'
[17:23:24]: -------------------
[17:23:24]: --- Step: match ---
[17:23:24]: -------------------
<EMAIL_ADDRESS>[17:23:24]: Successfully loaded '/Users/user/example/fastlane/Matchfile' 📄
+----------------+------------------------------------------------------+
|              Detected Values from './fastlane/Matchfile'              |
+----------------+------------------------------------------------------+
| git_url        | https://gitserver.com/ioscertificates.git            |
| type           | development                                          |
| app_identifier | ["com.example.Example"]                              |
| username       |<EMAIL_ADDRESS>                                   |
+----------------+------------------------------------------------------+
+-----------------------+------------------------------------------------------+
|                           Summary for match 2.96.1                           |
+-----------------------+------------------------------------------------------+
| git_url               | https://gitserver.com/ioscertificates.git            |
| git_branch            | project2                                             |
| type                  | adhoc                                                |
| app_identifier        | []                                                   |
| username              |<EMAIL_ADDRESS>                                   |
| keychain_name         | login.keychain                                       |
| readonly              | true                                                 |
| team_name             | Company Ltd.                                         |
| verbose               | false                                                |
| force                 | false                                                |
| skip_confirmation     | false                                                |
| shallow_clone         | false                                                |
| clone_branch_directly | true                                                 |
| force_for_new_devices | false                                                |
| skip_docs             | false                                                |
| platform              | ios                                                  |
+-----------------------+------------------------------------------------------+
[17:23:24]: Cloning remote git repo...
[17:23:25]: Checking out branch project2    ...
[17:23:26]: 🔓  Successfully decrypted certificates repo
[17:23:26]: Installing certificate...
security: SecKeychainSearchCopyNext: The specified item could not be found in the keychain.
+-------------------+-------------------------------------------------------+
|                           Installed Certificate                           |
+-------------------+-------------------------------------------------------+
| User ID           | JS3GRDVQAF                                            |
| Common Name       | iPhone Distribution: Company Ltd.        (JS3GRDVQAF) |
| Organisation Unit | JS3GRDVQAF                                            |
| Organisation      | Company Ltd.                                          |
| Country           | US                                                    |
| Start Datetime    | 2018-05-18 09:05:08 UTC                               |
| End Datetime      | 2019-05-18 09:05:08 UTC                               |
+-------------------+-------------------------------------------------------+
[17:23:28]: All required keys, certificates and provisioning profiles are installed 🙌
[17:23:28]: Setting Provisioning Profile type to 'ad-hoc'
[17:23:28]: -------------------
[17:23:28]: --- Step: match ---
[17:23:28]: -------------------
<EMAIL_ADDRESS>[17:23:28]: Successfully loaded '/Users/user/example/fastlane/Matchfile' 📄
+----------------+------------------------------------------------------+
|              Detected Values from './fastlane/Matchfile'              |
+----------------+------------------------------------------------------+
| git_url        | https://gitserver.com/ioscertificates.git            |
| type           | development                                          |
| app_identifier | ["com.example.Example"]                              |
| username       |<EMAIL_ADDRESS>                                   |
+----------------+------------------------------------------------------+
+-----------------------+------------------------------------------------------+
|                           Summary for match 2.96.1                           |
+-----------------------+------------------------------------------------------+
| git_url               | https://gitserver.com/ioscertificates.git            |
| git_branch            | project2                                             |
| type                  | appstore                                             |
| app_identifier        | []                                                   |
| username              |<EMAIL_ADDRESS>                                   |
| keychain_name         | login.keychain                                       |
| readonly              | true                                                 |
| team_name             | Company Ltd.                                         |
| verbose               | false                                                |
| force                 | false                                                |
| skip_docs             | false                                                |
| platform              | ios                                                  |
+-----------------------+------------------------------------------------------+
[17:23:28]: Cloning remote git repo...
[17:23:29]: Checking out branch project2    ...
[17:23:29]: 🔓  Successfully decrypted certificates repo
[17:23:29]: Installing certificate...
security: SecKeychainSearchCopyNext: The specified item could not be found in the keychain.
+-------------------+-------------------------------------------------------+
|                           Installed Certificate                           |
+-------------------+-------------------------------------------------------+
| User ID           | JS3GRDVQAF                                            |
| Common Name       | iPhone Distribution: Company Ltd.        (JS3GRDVQAF) |
| Organisation Unit | JS3GRDVQAF                                            |
| Organisation      | Company Ltd.                                          |
| Country           | US                                                    |
| Start Datetime    | 2018-05-18 09:05:08 UTC                               |
| End Datetime      | 2019-05-18 09:05:08 UTC                               |
+-------------------+-------------------------------------------------------+
[17:23:31]: All required keys, certificates and provisioning profiles are installed 🙌
[17:23:31]: Setting Provisioning Profile type to 'app-store'
+------+--------+-------------+
|      fastlane summary       |
+------+--------+-------------+
| Step | Action | Time (in s) |
+------+--------+-------------+
| 1    | match  | 20          |
| 2    | match  | 3           |
| 3    | match  | 3           |
+------+--------+-------------+
[17:23:31]: fastlane.tools finished successfully 🎉

If I manually execute bundle exec fastlane match development  it copies the certificate to Provisioning Profiles folder.
This is the output for the command above.

[✔] 🚀
[17:34:12]: Successfully loaded '/Users/user/iosapp-xsell/fastlane/Matchfile' 📄
+----------------+------------------------------------------------------+
|              Detected Values from './fastlane/Matchfile'              |
+----------------+------------------------------------------------------+
| git_url        | https://gitserver.com/ioscertificates.git            |
| type           | development                                          |
| app_identifier | ["com.example.Example"]                              |
| username       |<EMAIL_ADDRESS>                                   |
+----------------+------------------------------------------------------+
+-----------------------+------------------------------------------------------+
|                           Summary for match 2.96.1                           |
+-----------------------+------------------------------------------------------+
| readonly              | true                                                 |
| git_branch            | project2                                             |
| type                  | development                                          |
| git_url               | https://gitserver.com/ioscertificates.git            |
| app_identifier        | ["com.example.Example"]                              |
| username              |<EMAIL_ADDRESS>                                   |
| keychain_name         | login.keychain                                       |
| verbose               | false                                                |
| force                 | false                                                |
| skip_confirmation     | false                                                |
| shallow_clone         | false                                                |
| clone_branch_directly | false                                                |
| force_for_new_devices | false                                                |
| skip_docs             | false                                                |
| platform              | ios                                                  |
+-----------------------+------------------------------------------------------+
[17:34:12]: Cloning remote git repo...
[17:34:12]: If cloning the repo takes too long, you can use the clone_branch_directly option in match.
[17:34:13]: Checking out branch project2...
[17:34:14]: 🔓  Successfully decrypted certificates repo
|                      Installed Certificate                      |
+-------------------+---------------------------------------------+
| User ID           | MTP6DJFSN8                                  |
| Common Name       | iPhone Developer: Test (FFP69HFUQ9)         |
| Organisation Unit | JS3GRDVQAF                                  |
| Organisation      | Company Ltd.                                |
| Country           | US                                          |
| Start Datetime    | 2018-04-16 16:51:04 UTC                     |
| End Datetime      | 2019-04-16 16:51:04 UTC                     |
+-------------------+---------------------------------------------+
[17:34:15]: Installing provisioning profile...
+---------------------+-----------------------------------+-----------------------------------+
|                               Installed Provisioning Profile                                |
+---------------------+-----------------------------------+-----------------------------------+
| Parameter           | Environment Variable              | Value                             |
+---------------------+-----------------------------------+-----------------------------------+
| App Identifier      |                                   | com.example.Example               |
| Type                |                                   | development                       |
| Platform            |                                   | ios                               |
| Profile UUID        | sigh_com.example.                 | 19bec85d-e254-4f6f-851f-6b174848  |
|                     | Example_development               | a809                              |
| Profile Name        | sigh_com.example.                 | match Development                 |
|                     | Example_development_profile-name  | com.example.Example               |
|                     |                                   |                                   |
| Profile Path        | sigh_com.example.                 | /Users/user/Library/MobileDevice/ |
|                     | Example_development_profile-path  | Provisioning                      |
|                     |                                   | Profiles/19bec85d-e254-4f6f-851f  |
|                     |                                   | -6b174848a809.mobileprovision     |
| Development Team ID | sigh_com.example.                 | JS3GRDVQAF                        |
|                     | Example_development_team-id       |                                   |
+---------------------+-----------------------------------+-----------------------------------+
[17:34:15]: All required keys, certificates and provisioning profiles are installed 🙌

Shouldn't both methods work the same way?
Environment
✅ fastlane environment ✅
Stack

Key
Value

OS
10.13.3

Ruby
2.5.0

Bundler?
true

Git
git version 2.15.1 (Apple Git-101)

Installation Source
~/.rbenv/versions/2.5.0/bin/fastlane

Host
Mac OS X 10.13.3 (17D47)

Ruby Lib Dir
~/.rbenv/versions/2.5.0/lib

OpenSSL Version
OpenSSL 1.0.2n  7 Dec 2017

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
9.3

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL
en_US.UTF-8
✅

LANGUAGE

fastlane files:
`./fastlane/Fastfile.swift`
// This file contains the fastlane.tools configuration
// You can find the documentation at https://docs.fastlane.tools

import Foundation

class Fastfile: LaneFile {

    typealias Options = [String: Any]?
    // MARK: A
    struct Default {
        static let plistFile: String = "..."
        static let projectPath: String = gymfile.project!
    }

    // MARK: B

    var buildNumber: String {
        set { setInfoPlistValue(key: "CFBundleVersion", value: newValue, path: Default.plistFile) }
        get { return getInfoPlistValue(key: "CFBundleVersion", path: Default.plistFile)  }
    }
    var versionNumber: String {
        set { setInfoPlistValue(key: "CFBundleShortVersionString", value: newValue, path: Default.plistFile) }
        get { return getInfoPlistValue(key: "CFBundleShortVersionString", path: Default.plistFile) }
    }

    // MARK: Util enums

    enum Configuration: String {
        case debug = "Debug"
        case release = "Release"
        case production = "Production"
    }

    struct Environment {
        var configuration: Configuration
        var scheme: String
        var exportMethod: String

        static let development = Environment(configuration: .debug, scheme: "Example-Dev", exportMethod: "development")
        static let adHoc = Environment(configuration: .release, scheme: "Example", exportMethod: "ad-hoc")
        static let production = Environment(configuration: .production, scheme: "Example", exportMethod: "app-store")
    }

    // MARK: Fastlane methods

    func beforeAll() {
//        carthage(command: "update", platform: "iOS", projectDirectory: ".")
    }

    func testLane() {
        desc("Run all the test cases for the application")
        scan()
    }

    func coverageLane() {
        desc("Generate a coverage report for the application")
        slather(proj: Default.projectPath,
                scheme: scanfile.scheme,
                simpleOutput: true,
                html: true,
                ignore: "**/Pods, Frameworks, Carthage, Fastlane",
                useBundleExec: true)
    }

    func buildLane() {
        desc("Build the application")
        adHocCertificates(readOnly: false)
        build(environment: .adHoc)
    }

    func testflightLane() {
        desc("Build the application and upload it to Testflight")
        productionCertificates(readOnly: false)
        bumpBuildNumber()
        build(environment: .production)
        pilot(username: appleID, skipSubmission: !isCi())
    }

    // MARK: - Build methods

    func constructIpaName(fromEnvironment env: Environment) -> String {
        return "\(env.scheme)_v\(versionNumber).\(buildNumber).ipa"
    }

    private func build(environment: Environment = .development, ipaName: String? = .none, includeBitcode: Bool = false) {
        gym(outputName: ipaName ?? constructIpaName(fromEnvironment: environment),
            configuration: environment.configuration.rawValue,
            includeBitcode: includeBitcode,
            exportMethod: environment.exportMethod
        )
    }

    private func bumpBuildNumber(_ buildNumber: String? = nil) {

        let command = RubyCommand(commandID: "", methodName: "increment_build_number_in_plist",
                                  className: nil,
                                  args: [RubyCommand.Argument(name: "target", value: gymfile.scheme),
                                         RubyCommand.Argument(name: "build_number", value: buildNumber),
                                         RubyCommand.Argument(name: "xcodeproj", value: Default.projectPath)])
        _ = runner.executeCommand(command)
    }

    // MARK: - Codesigning

    func certificatesLane() {
        desc("Fetches the provisioning profiles so you can build locally and deploy to your device")
        developmentCertificates()
        adHocCertificates()
        productionCertificates()
    }

    private func developmentCertificates(readOnly: Bool = true) {
        downloadCertificates(type: "development", readOnly: readOnly)
    }

    private func adHocCertificates(readOnly: Bool = true) {
        downloadCertificates(type: "adhoc", readOnly: readOnly)
    }

    private func productionCertificates(readOnly: Bool = true) {
        downloadCertificates(type: "appstore", readOnly: readOnly)
    }

    private func downloadCertificates(type: String, readOnly: Bool = true) {
        match(type: type, readonly: readOnly)
    }
}

No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.96.1
✅ Up-To-Date

Loaded fastlane plugins:

Plugin
Version
Update-Status

fastlane-plugin-versioning
0.3.4
✅ Up-To-Date

Loaded gems

Gem
Version

did_you_mean
1.2.0

bundler
1.16.1

CFPropertyList
2.3.6

concurrent-ruby
1.0.5

i18n
0.9.5

minitest
5.10.3

thread_safe
0.3.6

tzinfo
1.2.5

activesupport
4.2.10

public_suffix
2.0.5

addressable
2.5.2

atomos
0.1.2

babosa
1.0.2

claide
1.0.2

clamp
0.6.5

colored
1.2

colored2
3.1.2

highline
1.7.10

commander-fastlane
4.4.6

declarative
0.0.10

declarative-option
0.1.0

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20180417

dotenv
2.4.0

emoji_regex
0.1.1

excon
0.62.0

multipart-post
2.0.0

faraday
0.15.1

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

faraday_middleware
0.12.2

fastimage
2.1.3

gh_inspector
1.1.3

jwt
2.1.0

little-plugger
1.1.4

multi_json
1.13.1

logging
2.2.2

memoist
0.16.0

os
0.9.6

signet
0.8.1

googleauth
0.6.2

httpclient
2.8.3

mime-types-data
3.2016.0521

mime-types
3.1

uber
0.1.0

representable
3.0.4

retriable
3.1.1

google-api-client
0.21.2

json
2.1.0

mini_magick
4.5.1

multi_xml
0.6.0

plist
3.4.0

rubyzip
1.2.1

security
0.1.3

naturally
2.1.0

simctl
1.6.4

slack-notifier
2.3.2

terminal-notifier
1.8.0

unicode-display_width
1.3.2

terminal-table
1.8.0

tty-screen
0.6.4

tty-cursor
0.5.0

tty-spinner
0.8.0

word_wrap
1.0.0

nanaimo
0.2.5

xcodeproj
1.5.9

rouge
2.0.7

xcpretty
0.2.8

xcpretty-travis-formatter
1.0.0

fastlane-plugin-versioning
0.3.4

mini_portile2
2.3.0

nokogiri
1.8.2

slather
2.4.5

generated on: 2018-05-26

I updated to the latest Fastlane version and the issue still persists.


Use 1.0.0 in all command lines, etc

Need to go through all 1.0 docs and update more references to 0.19.1 to be 1.0.0.  Most of these are in sample command lines but need to check them all.
Note that this is separate from https://github.com/keptn/keptn.github.io/issues/1483 , which is a final check when we publish the 1.0.0 docs.

Done


tokenizer test improvement

Improve tokenizer test by asserting outputs are unchanged under text malformation.

Looks like the pep8 verification failed. Will submit another request.


DiscoverAsync strange behaviour between Debug sessions

I am experiencing a strange behaviour in Visual Studio 2015.
If I use the DiscoveryAsync method, as presented in the samples (+ .ConfigureAwait(false) to avoid deadlocks), I get many  devices, the program obeys the interval settings - so it works well.
Then if I press stop, and then start again the Debugging session, from console output results I can see that only a few devices are found, and the method does not obey the interval setting.
I tested this behaviour with the non async version of the method, and this is not present there.
Could it be the case that I am doing something wrong, or can I use the Async version in a production code reliably?
Thanks in advance! 👍

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

You might check if there are changes in packets first,
http://docs.sharpsnmp.com/en/latest/tutorials/troubleshooting.html

I checked with Wireshark. I can clearly see the get-request from my computer to the broadcast address, and then 19 get-response from the local network devices - in both case.
In the first c# debug session in Visual Studio 2015 I can see the AgentFound event being triggered aroud 19 times.
But in the second debug session (no code change) the AgentFound event only happens 3-7 times, and also the breakpoint is being hit earlier than 16 seconds. (The 16 seconds I set is waited on the first run.)
If I restart the Viusal Studio, then the DiscoverAsync works as expected - 19 devices found, 16 sec wait etc.


Add support for scatter_add gradient

This PR adds support for scatter_add gradient.
Note: The value gradient is only defined when value.shape == index.shape.
See https://pytorch.org/docs/stable/generated/torch.Tensor.scatter_add_.html#torch.Tensor.scatter_add_

@t-vi @Borda Looks like this will require overriding the CI to merge


text speed controller

A web app text speed controller
Fixes #722

Type of change 📝
Please delete options that are not relevant.And in order to tick the check box just but x inside them for example [x] like this

[x] Add a new project

Domain of Contribution 📊
Please delete options that are not relevant.And in order to tick the check box just but x inside them for example [x] like this

[x] Project using HTML, CSS & JS

Checklist ✅
Please delete options that are not relevant.And in order to tick the check box just but x inside them for example [x] like this

[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GSSoC'22 contributor

Screenshots / Gif (Optional) 📸

@khushi-purwar please merge this PR, upon reviewing it.

@khushi-purwar please merge this PR, upon reviewing it.

@khushi-purwar Can you please review this PR and merge it upon finding it correct.

@gurjeetsinghvirdee when I was assigned this issue i was given a level label 3 as my other issues and PR, it seems that you have removed those to ass new, please understand that we worked on these issues considering the amount of points we were getting, so please restore my old level lables in all the PRs because I started working on them post the level label was addressed

Buddy things were changed from yesterday, so no one gives you level3 labels on small projects
For level3
Project works smoothly
Mobile responsive
UI look good
But in mini projects I can't give you more than level2
It's just a simple project
I know why you created 8PRs in just one day bcoz this pA don't look out codes don't even judge just put level3 without seeing, but now I'm mentor I will judge even check If I found copy paste I will male a list and gave to PM then whether you want to report you can do it

Buddy things were changed from yesterday, so no one gives you level3 labels on small projects
For level3 Project works smoothly Mobile responsive UI look good
I know why you created 8PRs in just one day bcoz this pA don't look out codes don't even judge just put level3 without seeing, but now I'm mentor I will judge even check If I found copy paste I will make a list and gave to PM or post publically like a poll something Like it was a level3 level project or not If you wanna complain it then do it, I don't have issues

The problem only being that this wasn't informed to us on the official GSSoC server, and the measures were taken directly.
So as a contributor I am ought to seek answers, please don't find it rude, but that's how we should roll i guess.


Icon request for Storage accounts and API Management

Hi,
Please add the icons for Storage accounts and API Management, such as:
Storage accounts

Containers
Blobs
Tables
Pages

API Management

APIs
Products

It would also be useful to have the icons.

@M4UTR0NI1C Can you share the document that you are referring to?

Hello @MayankBargali-MSFT, Thank you for your anwser, this request is for add few icons to Architecture pack. You can see the icons here, aditionally, i attah 2 files to this thread.

Regards.

Hi @M4UTR0NI1C I have these icons in my non official collection https://github.com/David-Summers/Azure-Design

Thank you for reporting this, @M4UTR0NI1C.
We've made several updates to the Azure Icons recently, and there are hundreds of new icons added.
The update is available for download here: https://learn.microsoft.com/en-us/azure/architecture/icons/
#please-close


New UI autotest fixes

This is the work done to get the autotests working on the new ui.
In order to actually run with the new UI tests on the build needs to run with tests.newui = true which you should be able to override at the build level, by passing in -Dtests.newui=true to the sbt jvm somehow

As can be seen, a concerted effort has now commenced to see this through to completion. Watch this space.

@PenghaiZhang @edalex-ian Before you continue on this branch, I spent a good chunk of last week working on this on my fork : https://github.com/doolse/Equella/commits/bugfix/autotest-newui
Some of which are fixed bugs which I intend to make issues/pull requests for. The latest list of failures is commited in the branch:
https://github.com/doolse/Equella/commit/9f58194a56be16d8a4c7224ed8e0754ba0001c08
Only 13 classes left, most of which are bugs in the product.
Perhaps we should set up a call to discuss?

Good stuff @doolse

Perhaps we should set up a call to discuss?

Sounds like a good idea. I wont join in, but sounds great if you, @SammyIsConfused and @PenghaiZhang have a chat and get on the same page to avoid overlap.

@SammyIsConfused @PenghaiZhang I'm free at 10:30 (or some other time if you like), send through a hangout link to<EMAIL_ADDRESS>

Hold on, that was auto closed due to the merge and delete of the release branch. Retargetting.

Or not... I suggest a new PR is needed, looks like you can't retarget after target branch gone. :'(


Fix repo links

This PR fixes the links to other repos in the README

Lol thanks, I must have written those links on low brain cells


Fix id generation

Refer to the existing code and see how ids of new blocks / questions and options are assigned.

The python ids get converted by the java, since the json produced by the python serves as input to the java program. The java program then converts the json ids into ids that are analogous to the csv ids. These are used for debugging and should be replaced, since they're overloaded with semantic importance.
I think what would be best for the json the web interface produces would be for it to just maintain a unique id. In addition to the provenance info needed for debugging, using cell data for ids allows us to know the ordering on answer options. I will update the json schema so that the options field takes a list of ids representing the total order on the options for a given question. If omitted or falsey, the question is unordered. I don't know if this change will affect the correctness of surveyman.js -- some time ago, the logic relied on the ids having meaning, but may have been replaced (in my cursory review, I don't see any of that old code, but I may have just missed it). In any case, if it's still present, it should go.
Long story short: just generate unique ids in the normal way.

Thanks for the update!
Here's a sample json generated from react-surveyman. Any specific preferences on the IDs or is this okay?
{
  "survey": [
    {
      "id": 0,
      "randomizable": true,
      "ordering": false,
      "questions": [
        {
          "id": 753,
          "qtext": "Which is your favorite color?",
          "options": [
            {
              "id": 655,
              "otext": "red"
            },
            {
              "id": 805,
              "otext": "green"
            },
            {
              "id": 617,
              "otext": "blue"
            },
            {
              "id": 684,
              "otext": "white"
            },
            {
              "id": 842,
              "otext": "black"
            }
          ],
          "ordering": false,
          "freetext": false,
          "exclusive": true
        },
        {
          "id": 30,
          "qtext": "Which color tshirt do you like to wear the most?",
          "options": [
            {
              "id": 285,
              "otext": "red"
            },
            {
              "id": 17,
              "otext": "green"
            },
            {
              "id": 807,
              "otext": "blue"
            }
          ],
          "ordering": false,
          "freetext": false,
          "exclusive": true
        }
      ],
      "subblocks": []
    },
    {
      "id": 328,
      "questions": [
        {
          "id": 526,
          "qtext": "what is the value of 4 + 5?",
          "options": [
            {
              "id": 32,
              "otext": "9"
            },
            {
              "id": 783,
              "otext": "10"
            },
            {
              "id": 934,
              "otext": "Dont know"
            },
            {
              "id": 937,
              "otext": "Dont care"
            }
          ],
          "ordering": false,
          "freetext": true,
          "exclusive": true
        }
      ],
      "subblocks": [],
      "randomizable": true,
      "ordering": false
    }
  ]
}

These look totally fine; in fact they don't even need to be universally unique, since the lookup is according to type. The previous conventions were about human readability. The only thing is, they will need to be strings if you're validating against the survey_input schema.


Check start of string not a whole string

@Sea-n notice me need check the string. It should check start of string not whole string.
Method: POST
/api/create
IP Address:  # Filtered
Current Time:  # Filtered
Link Create!
Code: # Filtered
Link: mailto:me@sean.taipei?subject=這樣不是 http:// 開頭也行喔owo

Follow here


function tooltip of any source don't work in chrome,safari and explorer

The only browser that work the tooltip is in firefox. I think it has to be something you relate to the event mouse wheel or another.  PD: The tag where the function is placed tooltip is a link.
If someone has already experienced I appreciate your comments.
Greetings.

Can you provide a demo code for your problem? It would be easier to debug that way.

Closing this due to inactivity, please reopen if anything new comes up.


This can be replicated by adding @inbounds in front of https://github.com/JuliaSIMD/LoopVectorization.jl/blob/28233d27eedd76d4433e35a4026eafba32455b34/test/miscellaneous.jl#L1177
A minimal fix could simply be an error telling the user to remove the extra @inbounds.

Here is another reproducer:
julia> function smoothdim_kernel_tile_avx!(out, z, src::AbstractArray, kernel::AbstractVector, Rpre::CartesianIndices, axout_tile, Rpost::CartesianIndices)
         axkernel = axes(kernel, 1)
         zout = convert(eltype(out), z)
         for Ipost in Rpost
           for i in axout_tile
             @turbo for Ipre in Rpre
               tmp = 0.0
               # tmp = convert(eltype(out), z)    # failing to hoist this leads to an "UndefVarError: tmp not defined"
               for j in axkernel
                 local val = (tmp += oftype(z, src[Ipre,i+j,Ipost])*kernel[j])
               end
               out[Ipre,i,Ipost] = tmp
             end
           end
         end
         out
       end
smoothdim_kernel_tile_avx! (generic function with 1 method)

LoopVectorization ignores the Expr(:inbounds, ...), but the local val = $ex is apparently causing an issue:
julia> @macroexpand @inbounds tmp += oftype(z, src[Ipre,i+j,Ipost])*kernel[j]
quote
    $(Expr(:inbounds, true))
    local var"#170#val" = (tmp += oftype(z, src[Ipre, i + j, Ipost]) * kernel[j])
    $(Expr(:inbounds, :pop))
    var"#170#val"
end

A minimal fix could simply be an error telling the user to remove the extra @inbounds.

As there are currently cases where @inbounds does work correctly, e.g.:
https://github.com/JuliaSIMD/LoopVectorization.jl/blob/28233d27eedd76d4433e35a4026eafba32455b34/test/copy.jl#L67-L71
That fix would unfortunately be breaking.
In hindsight, I wish I went with that instead of ignoring the Expr(:inbounds,...).

You have my sympathies for the challenges, and as always my thanks for the rapid fixes! I hope you understood that this one wasn't urgent, I just thought you'd rather have the issue report than not.

Figured it was probably easy enough to remove @inbounds, but it was basically a +/-1 fix:
-    if reordered ∈ loopdependencies(op)
+    if (reordered ∈ loopdependencies(op)) && !(iscompute(op) & iszero(length(children(op))))

(plus making sure a fill_children! call took place before this).


image picker

the header of the image picker has a different color then the rest of the popup in onboarding

fixed


Setting the value does not update the dial

Hi Anthony
When I set the value for my dial like so:
<script>
    $('.dial')
        .val(27)
        .trigger('change');
</script>

The input value gets updated correctly, but the dial doesn't get updated. Am I missing something?
Also, the change event doesn't get hit. But that's already been raised as another issue.
I have created a pen for the same.
http://codepen.io/anon/pen/yyeqVP
Regards,
Roy

Not a solution to the problem, but triggering 'blur' on the input after manually changing the value worked for me.

Hi dillonlucente,
Thanks. That worked.
@aterrien
I won't close the issue since, from what I understand, this is a workaround not a fix. Do correct me if that is not the case.
Thanks & Regards,
Roy

Interestingly, the original code (below)  also works now. Not sure what is different now as opposed to then.
$('.dial')
        .val(27)
        .trigger('change');

Closing this issue. Will open a new one if I face the issue again or have a better understand of why.
Thanks,
Roy

Hi @reallyroy and @dillonlucente,
I am also experiencing this bug of the dial not updating after triggering 'change'. The value updates, but the dial does not.
Could you please clarify what you meant by triggering 'blur' on input? I'm probably missing something, but there is no method named 'blur' that I can see.
Thanks!

Sure, so what I do when setting an updated value is:
$("#loading-ring").val(45).trigger("blur");

It's just triggering the js blur event on the knob's input tag.
This line shows the element is set to redraw on change and blur, so it just needed to be forced into that. Either change or blur should work, but I found it consistently worked with blur. As he mentioned, change magically started working again, even though the repo wasn't updated, so I'm inclined to think it was something in the browser that was either broken or fixed.
I hope that helps.

Thanks for your reply, triggering blur works for me too. I thought it might have been something browser related, but I had the same bug in Safari on an iPad as well as chrome on my machine... no such magical revival of functionality for me! But this works for now, thanks again

Sorry to bother you guys again, I realise this isn't a support forum! Feel free to redirect me somewhere else...
I've come back to my work machine, and even though the blur and change methods worked (updated the dial) in codepen at home, they do not work in my actual script.
I'm receiving a value in a xmlhttp response that I want to set a knob with.
When i have the value, I am calling:
' ' 'javascript
$("#wave_knob)
.trigger('configure', {"max":waveMax})
.val(midi_val)
.trigger('change');
' ' '
and my knob() fucntion is simply as follows for now (doesn't get called):
' ' ' javascript
$(".knob").knob({
'change' : function (value) {
console.log("Knob Change in xhr_poll");
}
});
' ' '
I would appreciate any thoughts!

Unfortunately, I don't think that change hook is wired to making manual changes. From a quick scan of the code, it looks like it's called on touch or mouse events. You're using jQuery, so you can probably just add a listener to the change event directly on your input. This should work:
$(".knob").knob();

$("#wave_knob").on("change", function(event) {
     console.log("Knob Change in xhr_poll " + $(this).val());
});

// Then set the value as above in your ajax request

Hope that helps.

Thanks again for your reply! It is unfortunate... Strange though, how in the above codepen sketch, the dial does indeed get updated from a 'manual' change (from the button).
It seems that using a listener on the change event does not work either, as the change event doesn't event get triggered, and therefore the callback does not either.

@aterrien
Is there a way to just trigger a redraw on the dial when a new val is set using val()? Aside from triggering 'change' which doesn't seem to work for me...