Adding header on soap request

SO this my code :

<?php

require_once __DIR__ . '/vendor/autoload.php';

$url = 'https://api-demo?wsdl';
$key = 'X-Key';
$code = 'sdf1sdfsdf4sd56f4ds3f1sd3f31sdNL';

use WsdlToPhp\PackageGenerator\ConfigurationReader\GeneratorOptions;
use WsdlToPhp\PackageGenerator\Generator\Generator;

$options = array(
    \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_URL => $url,
    \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_CLASSMAP => ClassMap::get(),
);
/**
 * Samples for Refund ServiceType
 */
$refund = new \ServiceType\Refund($options);
$requesterCredentials = new \StructType\CustomSecurityHeaderType(/*[...])*/);
$refund->setSoapHeaderRequesterCredentials($requesterCredentials);
$refund->setHttpHeader($key, $code);

/**
 * Sample call for RefundTransaction operation/method
 */
if ($refund->RefundTransaction(new \StructType\RefundTransactionReq()) !== false) {
    print_r($refund->getResult());
} else {
    print_r($refund->getLastError());
}

so when i lunch this i have :
PHP Fatal error:  Uncaught Error: Class 'ClassMap' not found ingenerateWSDSL2.php:19
Stack trace:
#0 {main}
  thrown ingenerateWSDSL2.php on line 19

why ?
what ç forget please ?
and my purpose is create requet with api key header how do that please ?
thanks

Please read carefully the section Usage and the corresponding links. Let me now then.

sorry,
i mnot understand, i can get my packtage with not header wsdl, but when i need to put header information, no way to get my generate code ??

Ok so i think i start to understand
first of all, i have to get my wsdl in file and generate a project wsdl with command line.
when i get my project i go to the tutorial.php and i try to use the header soap effect.
but for now it's a little difficult to understand how to add the header.

still not working, i can't pass the header on my request

Yes you can! Any header can be set, you have to take your time to fully understand how it can be done knowing it can be done eventually.
What are the headers you have to pass ?

Hello,
i get an webservice WSDL accesing by the url :
$url = "https://appi.gouv.com/Gdream_process?wsdl" //
to acess to this wsdl i need to add some header parametre :
$header = "X-Api-Key:LOKHFiifjhfhjOIHJFKOLQHDSM2545L";

So i start using u looking good project :
$ mkdir Project01
$ composer require wsdltophp/packagegenerator
$ wget https://phar.wsdltophp.com/wsdltophp-php7.phar
$ chmod +x wsdltophp-php7.phar

so i get this error for my first try :
$ ./wsdltophp-php7.phar generate:package --urlorpath="https://api-pp-test.sa-cim.fr/GED/wsImportDocGED.asmx?WSDL" --destination="./MySdk" --composer-name="myproject/mysdk"  --force
 Start at 2019-06-07 19:12:27
PHP Fatal error:  SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://appi.gouv.com/Gdream_process?wsdl"' : failed to load external entity "https://appi.gouv.com/Gdream_process?wsdl""
 in phar:///wsdltophp-php7.phar/vendor/wsdltophp/packagebase/src/AbstractSoapClientBase.php on line 82
PHP Fatal error:  SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://appi.gouv.com/Gdream_process?wsdl"' : failed to load external entity "https://appi.gouv.com/Gdream_process?wsdl""
 in phar:///wsdltophp-php7.phar/vendor/wsdltophp/packagebase/src/AbstractSoapClientBase.php on line 82

In GeneratorSoapClient.php line 33:

  Unable to load WSDL at "https://appi.gouv.com/Gdream_process?wsdl""!

In AbstractSoapClientBase.php line 82:

  SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://appi.gouv.com/Gdream_process?wsdl"' : fail
  ed to load external entity "https://appi.gouv.com/Gdream_process?wsdl""

generate:package [--force] [--urlorpath URLORPATH] [--destination DESTINATION] [--login [LOGIN]] [--password [PASSWORD]] [--proxy-host [PROXY-HOST]] [--proxy-port [PROXY-PORT]] [--proxy-login [PROXY-LOGIN]] [--proxy-password [PROXY-PASSWORD]] [--prefix PREFIX] [--suffix SUFFIX] [--namespace [NAMESPACE]] [--category [CATEGORY]] [--gathermethods [GATHERMETHODS]] [--gentutorial [GENTUTORIAL]] [--genericconstants [GENERICCONSTANTS]] [--addcomments [ADDCOMMENTS]] [--standalone [STANDALONE]] [--validation [VALIDATION]] [--struct [STRUCT]] [--structarray [STRUCTARRAY]] [--soapclient [SOAPCLIENT]] [--composer-name COMPOSER-NAME] [--composer-settings [COMPOSER-SETTINGS]] [--structs-folder [STRUCTS-FOLDER]] [--arrays-folder [ARRAYS-FOLDER]] [--enums-folder [ENUMS-FOLDER]] [--services-folder [SERVICES-FOLDER]] [--src-dirname [SRC-DIRNAME]] [--xsd-types-path [XSD-TYPES-PATH]] [--config [CONFIG]]

So i supose it's the missing header so i can't get my generation with the program wsdltophp-php7.phar
so i used Postman to download the WSDL files and i put it my project directory :
and i lunch again the script :
$ user [/] > nano fluxWSDL.WSDL
Adding some wsdl stuff found on postman working request
Lunch the program generation with a files wsdl :
$ user [/] > ./wsdltophp-php7.phar generate:package --urlorpath="fluxWSDL.WSDL" --destination="./MySdk" --composer-name="myproject/mysdk"  --force
 Start at 2019-06-07 19:16:38
Cannot create cache directory /home/user/.composer/cache/repo/https---repo.packagist.org/, or directory is not writable. Proceeding without cache
Cannot create cache directory /home/user/.composer/cache/files/, or directory is not writable. Proceeding without cache
Loading composer repositories with package information
Updating dependencies
Dependency resolution completed in 0.000 seconds
Analyzed 84 packages to resolve dependencies
Analyzed 73 rules to resolve dependencies
Package operations: 1 install, 0 updates, 0 removals
Installs: wsdltophp/packagebase:2.0.3
  - Installing wsdltophp/packagebase (2.0.3): Downloading (100%)
 Extracting archiveWriting lock file
Generating optimized autoload files
 End at 2019-06-07 19:16:46, duration: 00:00:08

so evrything looks good :)
and now i get my file project and my tutorial.php :)
in the tutorial.php i change this line with the good URL :

$options = array(
   \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_URL => 'fluxWSDL.WSDL',
   \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_CLASSMAP => ClassMap::get(),
);

by
$options = array(
    \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_URL => 'https://appi.gouv.com/Gdream_process?wsdl',
    \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_CLASSMAP => ClassMap::get(),
);

and i lunch the tutorial.php :
user [/MySdk] > php tutorial.php
PHP Fatal error:  SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://appi.gouv.com/Gdream_process?wsdl"' : failed to load external entity "https://appi.gouv.com/Gdream_process?wsdl""
 in /MySdk/vendor/wsdltophp/packagebase/src/AbstractSoapClientBase.php on line 82
PHP Fatal error:  Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://appi.gouv.com/Gdream_process?wsdl' : failed to load external entity "https://appi.gouv.com/Gdream_process?wsdl"
 in /MySdk/vendor/wsdltophp/packagebase/src/AbstractSoapClientBase.php:82
Stack trace:
#0 /MySdk/vendor/wsdltophp/packagebase/src/AbstractSoapClientBase.php(82): SoapClient->SoapClient('https://appi.go...', Array)
#1 /MySdk/vendor/wsdltophp/packagebase/src/AbstractSoapClientBase.php(35): WsdlToPhp\PackageBase\AbstractSoapClientBase->initSoapClient(Array)
#2 /MySdk/tutorial.php(27): WsdlToPhp\PackageBase\AbstractSoapClientBase->__construct(Array)
#3 {main}
  thrown in /MySdk/vendor/wsdltophp/packagebase/src/AbstractSoapClientBase.php on line 82

So again i think the header key is missing so i have to add it to make the request works.
now i m here.
thanks

ANd i try to add header stuff like u says in FAQ soap header here --
$options = array(
    \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_URL => 'https://appi.gouv.com/Gdream_process?wsdl',
    \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_CLASSMAP => ClassMap::get(),
);
/**
 * Samples for Ws ServiceType
 */
$ws = new \ServiceType\Ws($options);
$requesterCredentials = new \StructType\CustomSecurityHeaderType(/*[...])*/);
$ws->setSoapHeaderRequesterCredentials($requesterCredentials);
$ws->setHttpHeader('X-Api-Key', 'LOKHFiifjhfhjOIHJFKOLQHDSM2545L

and with this i got the same error :
¨PHP Fatal error:  SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://appi.gouv.com/Gdream_process?wsd' : failed to load external entity "https://appi.gouv.com/Gdream_process?wsd"
 in /MySdk/vendor/wsdltophp/packagebase/src/AbstractSoapClientBase.php on line 82
PHP Fatal error:  Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://appi.gouv.com/Gdream_process?wsd' : failed to load external entity "https://appi.gouv.com/Gdream_process?wsd"
 inMySdk/vendor/wsdltophp/packagebase/src/AbstractSoapClientBase.php:82
Stack trace:
#0MySdk/vendor/wsdltophp/packagebase/src/AbstractSoapClientBase.php(82): SoapClient->SoapClient('https://api-pp-...', Array)
#1 MySdk/vendor/wsdltophp/packagebase/src/AbstractSoapClientBase.php(35): WsdlToPhp\PackageBase\AbstractSoapClientBase->initSoapClient(Array)
#2 /MySdk/tutorial.php(27): WsdlToPhp\PackageBase\AbstractSoapClientBase->__construct(Array)
#3 {main}
 /MySdk/vendor/wsdltophp/packagebase/src/AbstractSoapClientBase.php on line 82

You have to create a context resource for http with the headers that you then pass in the $options array. I’m not able to put some code now, later possibly, I let you try in the meantime ;)

Hello there, so i try this
first still on my tutorial.php files :
$opts = array(
    'http'=>array(
      'method'=>"GET",
      'header'=>"X-Api-Key:LOKHFiifjhfhjOIHJFKOLQHDSM2545L\r\n"
    )
  );

  $context = stream_context_create($opts);

/**
 * Minimal options
 */
$options = array(
    \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_URL => 'https://appi.gouv.com/Gdream_process?wsdl',
    \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_CLASSMAP => ClassMap::get(),
    $context,

);

Not working
second try :
$ws = new \ServiceType\Ws($options);
$requesterCredentials = new \StructType\CustomSecurityHeaderType(/*[...])*/);
$ws->setSoapHeaderRequesterCredentials($requesterCredentials);
$ws->setHttpHeader('X-Api-Key', 'LOKHFiifjhfhjOIHJFKOLQHDSM2545L');
$ws->setSoapOptions([
    AbstractSoapClientBase::WSDL_STREAM_CONTEXT => stream_context_create([
        'https' => [
            'X-Api-Key' => 'LOKHFiifjhfhjOIHJFKOLQHDSM2545L',
        ],
    ]),
]);

third try  :
/**
 * Minimal options
 */
$options = array(
    \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_URL => 'https://appi.gouv.com/Gdream_process?wsd',
    \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_CLASSMAP => ClassMap::get(),
    \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_STREAM_CONTEXT => stream_context_create([
        'https' => [
            'X-Api-Key' => 'LOKHFiifjhfhjOIHJFKOLQHDSM2545L',
        ],
    ]),

ans still on error message
PHP Fatal error:  Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL:                                      Couldn't load from

In order to see the sent request and headers in addition to the received request and headers, you can call these methods :

$ws->getLastRequest()
$ws->getLastRequestheaders()
$ws->getLastResponse()
$ws->getLastResponseheaders()

Regarding the request, I think you're near to the truth and it should be:
$opts = [
    'http' => [
        'method' => "GET",
        'header' => "X-Api-Key:LOKHFiifjhfhjOIHJFKOLQHDSM2545L\r\n"
    ]
];
$context = stream_context_create($opts);

$options = [
    \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_URL => 'https://appi.gouv.com/Gdream_process?wsdl',
    \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_CLASSMAP => ClassMap::get(),
    \WsdlToPhp\PackageBase\AbstractSoapClientBase::WSDL_STREAM_CONTEXT => $context,
];

$ws = new \ServiceType\Ws($options);
$requesterCredentials = new \StructType\CustomSecurityHeaderType(/*[...])*/);
$ws->setSoapHeaderRequesterCredentials($requesterCredentials);

// call the operation method
$result = $ws->callOperationMerhod();

// debug
$xmlRequest = $ws->getLastRequest();
$requestHeaders = $ws->getLastRequestheaders();

// handle the result
if (false !== $result) {
} else {
}

no news, good news?


Update Role code to handle new schema change.

After this change:
https://github.com/cjcodeproj/vtmedia-schema/issues/69
The entire data structure between an actor and their character role has changed.  Ironically, the media.tools.movies.namelist tool still works because it doesn't dig too deep into the structure; but the castlist tool is broken.
The Role() class would still contain the name of an actor, and an portrays array, but the objects underneath would change.  The PortaysNarrator(), PortraysSelf(), PortraysBackground(), PortraysAdditionalVoices() classes would probably stay the same, but the CharacterTitle(), and the CharacterName() classes will probably be replaced by the CharacterReference() element which would be used for all references to characters.
In turn the CharacterReference() class would handle unnamed characters, named characters, variants, aspects, and self portrayals.
This work will be tied the other tickets:
https://github.com/cjcodeproj/medialibrary/issues/107

After reviewing the code, I'm trying to figure out the original purpose/intention of the formal attribute of the Portrays classes.  In almost all cases, they were identical to the name values.  I'm going to figure out if this can be eliminated.

Additional Note:
This work has changed to a degree.
The classes underneath the portrays array of the Role class are now going to be PortraysSelf, PortraysNarrator, PortraysBackground, PortraysAdditionalVoices, and PortraysCharacter.  The PortraysCharacter class will now handle all cases of named characters, unnamed characters, and self characters.

First commit:
https://github.com/cjcodeproj/medialibrary/commit/84e05b8bc1c6511d5665225c45b9c307fea65a84

Notes:
The class hierarchy of the crew.py file is as follows.

Cast
Role
AbstractActor
Actor
AbstractPortrays
PortraysNarrator
PortraysSelf
PortraysBackground
PortraysAdditionalVoices
AbstractPortraysCharacter
PortraysNamedCharacter
PortraysSelfCharacter
PortraysUnnamedCharacter

Notes:
The castlist POC tool did not require any code changes.  Output for characters with multiple names has changed to this:
Actor Name                     Title                          Portrays
============================== ============================== ==============================
Yahya Abdul-Mateen II          Ambulance                      Will Sharp
                               The Matrix Resurrections       Morpheus / Agent Smith
Riz Ahmed                      Rogue One: A Star Wars Story   Bohdi Rook
                               Venom                          Carlton Drake / Riot
Bruce Campbell                 Black Friday                   Jonathan
                               Bubba Ho-Tep                   Sebastian Haff / Elvis Presley
Jamie Foxx                     The Amazing Spider Man 2       Max Dillon / Electro
                               Collateral                     Max
                               Due Date                       Darryl
                               Spider-Man: No Way Home        Max Dillon / Electro

This issue should have been closed last month.


HADOOP-18199 Fix ZStandardCompressor bytesRead meta when using BlockC…

…ompressorStream

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 47s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
38m 44s

trunk passed

+1 :green_heart:
compile
22m 55s

trunk passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
compile
20m  6s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
checkstyle
1m 12s

trunk passed

+1 :green_heart:
mvnsite
1m 44s

trunk passed

+1 :green_heart:
javadoc
1m 21s

trunk passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javadoc
1m 48s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
spotbugs
2m 47s

trunk passed

+1 :green_heart:
shadedclient
22m 51s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
1m  0s

the patch passed

+1 :green_heart:
compile
22m 12s

the patch passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javac
22m 12s

the patch passed

+1 :green_heart:
compile
20m 14s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
javac
20m 14s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
1m  6s

the patch passed

+1 :green_heart:
mvnsite
1m 39s

the patch passed

+1 :green_heart:
javadoc
1m 11s

the patch passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javadoc
1m 44s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
spotbugs
2m 39s

the patch passed

+1 :green_heart:
shadedclient
22m 43s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

-1 :x:
unit
17m 52s
/patch-unit-hadoop-common-project_hadoop-common.txt
hadoop-common in the patch passed.

+1 :green_heart:
asflicense
1m  3s

The patch does not generate ASF License warnings.

207m 54s

Reason
Tests

Failed junit tests
hadoop.io.compress.zstd.TestZStandardCompressorDecompressor

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4163/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/4163

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell

uname
Linux 0d6c14703e59 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 6fcb6a235c0945929876c01f75693a7074c9c137

Default Java
Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4163/1/testReport/

Max. process+thread count
3149 (vs. ulimit of 5500)

modules
C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4163/1/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.


Create ausbildungswolken

Please ask for questions.
Uwe Bauermann

@Yuhbee Please provide us with a proof that:

The institution which has an official website https://www.albbw.de recognizes ausbildungswolken.de as an official domain for its students
Nobody except the students and teachers of Annedore-Leber-Berufsbildungswerk Berlin possess email with a patter<EMAIL_ADDRESS>It is not obvious from the materials on the website.
Thank you!

Hello @philipto
ok. i understand.
Since 2008 i'm a fulltime teacher/instructor/training supervisor at ALBBW
i have had made a request for https://www.albbw.de, also.
And now i see, i made a mistake, used a wrong branch :-(
https://github.com/leereilly/swot/pull/1879
I have to made new request? (on JetBrains/swot),
or can you "extract" my request from there?
sorry my english, its not my native language.
ausbildungswolken de, is our e-learning platform, i went happy if a can use both domains for registering.

<EMAIL_ADDRESS>and
<EMAIL_ADDRESS>(preferred if only one of them is possible)

i have testet many IDE's for programming in the past.
The JetBrains Suites are good or better as others.
I would use it for, and with my students, and for my lectures.
Im new at using "git", but practice it last 4 days. I'm goin in "love" with it. Its verry interesting and usefull, cool!
Thanks for your time and effort.
Greets from Berlin, sincerely
Uwe Bauermann

Hi @philipto
is this still alive?
sorry if it seems to being on the edge, but im on vacation this week.
I have mind to try this.
Thnx Uwe

@Yuhbee Yes, it's alive. I merged the request, corrected the filename and added albbw.de to the list. Please wait at least an hour after this message is sent, before start requesting the licenses at https://jetbrains.com/student. Thank you!


When user log out google game play service?

showachivemnet  --> crash

For Cocos2d-x C++ or Cocos2d-JS?

For cocos2d-x
public void onActivityResult(int requestCode, int responseCode,
Intent intent)
{
debugLog("onActivityResult: req="
+ (requestCode == RC_RESOLVE ? "RC_RESOLVE" : String
.valueOf(requestCode)) + ", resp="
+ GooglePlayServicesGameHelperUtils.activityResponseCodeToString(responseCode));
if (requestCode != RC_RESOLVE)
{
debugLog("onActivityResult: request code not meant for us. Ignoring.");
if (requestCode == your requst Code (ex 10001, 10002, 10003) && responseCode == GamesActivityResultCodes.RESULT_RECONNECT_REQUIRED)
{
onConnectionSuspended(requestCode);
}
return;
}


support typescript for suspense props

Is your feature request related to a problem? Please describe.
When integrated this plugin with project that use typescript. Type-Check will throw error type cause suspense props is unknown type definition
Describe the solution you'd like
We need to tell typescript compiler if this plugin enable
Describe alternatives you've considered
Manually extends React Type to support suspense props
suspense?: SuspensePropse["fallback"];

Additional context

Easy solution is

write the type definition with extends react namespace from @types/react.
update package.json and add field types.


addData and RemoveData results in x-axis oddity

Expected Behavior
The x-axis labels and the data should be removed and the updated data should be added
Current Behavior
the x-axis randomly is corrupted, see attached image or codepen
Possible Solution
Steps to Reproduce
Example https://codepen.io/flare04/pen/RwgBqQQ
Context
The data increases over the day, so I'm trying to update the chart data, this includes the labels as it's a time based graph.
Note the y-axis is unaffected.
If I use the destroy method, the users view is taken back to the graphs which have been created.
When I use the add/remove method this doesn't happen.
Environment

Chart.js version: 3.5.1
Browser name and version: Google Chrome
Framework: bootstrap 5

As you are sharing the labels array between the charts, you only need to update it once.
Your example is pushing the labels array in the labels array and the data array in the data array.
After fixing these errors, it works fine: https://codepen.io/kurkle/pen/VwWBqwx

Thanks for looking at the issue, I used the add/remove functions described https://www.chartjs.org/docs/3.5.1/developers/updates.html


Support Source Maps

Maybe inline them and not save them to a file?

Standard way is to add the sourcemap comment at the end of the file with file url. Should be something like this.
//@compiler-sourcemap "style.css.map"

@raeesiqbal Any particular reason to not have them inline? I personally like inline as it doesn't create a whole new file just for the source map.

Because it will not load the unneeded sourcemap if you don't have developer tools open.

//# sourceMappingURL=jquery.min.map at the end of the file can be removed pretty easily if one wants to.

You use sourcemaps in development, and in development you open your dev tools all the times, it's not recommended for production files.

Sourcemap should also be for production because if there is an error, one can easily track it down.

Now that's a good reason.

bump!

bump!

Fixed by v3


Add comment to it as argument

So like in rspec we could use comment for it:
it 'should fail' do
    expect(1).to eq 7
end

it('should fail') { expect(1).to eq 7 }

it('should pass', expect(1).to eq 1)

@sergio-fry @lain0, can I try to make this feature?

lets go!


[Feature Request]: implement function 'set_conf'

Is there an existing issue for the feature request?

[X] I have checked the existing issues.

Feature Description
Usage         : mo_ctl get_cid # print mo commit id from the path configured
root@VM-134-6-debian:/data/aron/dmt_001# mo_ctl set_conf help
Usage         : mo_ctl setconf [conf_list] # set configurations
 [conf_list]  : configuration list in key=value format, seperated by comma
  e.g.        : mo_ctl setconf MO_PATH=/data/mo/20230629/matrixone,MO_PW=M@trix0riginR0cks,MO_PORT=6101  # set multiple configurations
              : mo_ctl setconf MO_PATH=/data/mo/20230629/matrixone                                       # set single configuration

Feature Implementation

prepare a conf file conf/env.sh
configuration format is KEY=VALUE, such as MO_PATH=/data/mo/matrixone
check if input of set_conf is valid, including

in key=value format
value is not empty
key is listed in conf file

Additional information
none

feature implemented


Add support for composition

Adds API for composing elements programmatically.

Going to rethink this a bit and submit a new implementation.


Directive controllerAs and scope

When using multiple directives that use the controllerAs: 'vm' syntax and do not have scope, they will conflict and vm will get overwritten. For example, the following directives will not work as expected:
angular
    .module('app')
    .directive('myExampleOne', myExampleOne);

function myExampleOne() {
    var directive = {
        templateUrl: 'app/feature/example.directiveOne.html',
        controllerAs: 'vm',
        bindToController: true
    };
    return directive;
}

angular
    .module('app')
    .directive('myExampleTwo', myExampleTwo);

function myExampleTwo() {
    var directive = {
        templateUrl: 'app/feature/example.directiveTwo.html',
        controllerAs: 'vm',
        bindToController: true
    };
    return directive;
}

A few questions here:

Does it make sense to always use scope? scope: {} or even scope: true will fix this issue. In my experience this is good practice to avoid scope conflicts even sans controllerAs.
Should we not use bindToController in these examples?

Related style
https://github.com/johnpapa/angular-styleguide#style-y075

I'd say that it is a good practice to always create a new scope for directives.

using only isolated scopes, gives you more control over the dataflow of your application.
and yes since angular 1.4 you should always use bindToController with isolated scopes and controllerAs.

Any changes on angular 1.4 that makes this different than 1.3, @Jandalf?

@lunks yes bindToController supports now an object value to follow the angular 2 binding style
e.g.: scope: {}, bindToController {param1: '='}
see #543

Are isolated scopes not bad for composability (more directives on one element)? Since Angular 1.2 there is an error Multiple Directive Resource Contention when using multiple directives with isolated scopes. For instance:
<input my-directive maxlength="20" ng-model="title">

https://docs.angularjs.org/error/$compile/multidir?p0=myDirective&p1=maxlength&p2=new%2Fisolatedundefinedcope&p3=undefined

I've opened #608 for an answer to this.

For this reason I would like an alternative answer to this question though - without using isolated scope. One thing I can imagine is to rename controllerAs based on the directive name.
angular
    .module('app')
    .directive('myExampleOne', myExampleOne);

function myExampleOne() {
    var directive = {
        templateUrl: 'app/feature/example.directiveOne.html',
        controllerAs: 'myExampleOneVm',
        bindToController: true
    };
    return directive;
}

angular
    .module('app')
    .directive('myExampleTwo', myExampleTwo);

function myExampleTwo() {
    var directive = {
        templateUrl: 'app/feature/example.directiveTwo.html',
        controllerAs: 'myExampleTwoVm',
        bindToController: true
    };
    return directive;
}

This would still not solve nested directives of the same type though...


maintainers: remove jD91mZM2

Thank you for every single commit to NixOS and nixpkgs.
https://github.com/NixOS/nixpkgs/commits?author=jD91mZM2
https://www.redox-os.org/news/open-source-mental-health/

Motivation for this change
Things done

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

[ ] 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 nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Pretty sad, so young...


feat(version): add --independent-subpackages option, closes #491

Description
Add a new --independent-subpackages option to avoid shipping nested
Motivation and Context
Closes issue #491

As a developer using Lerna-Lite I would love to have the possibility to work with nested packages in a way that changes to a package B being a subpackage of package A directory-wise do not lead to a version-change of package A on lerna version purely due to git diff but only if package A actaully depends on package B. This example reflects our current development structure but produces many new, but unnecessary, versions.

How Has This Been Tested?

Types of changes

[ ] Chore (change that has absolutely no effect on users)
[ ] 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)

Checklist:

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

@dlueth I've done all the changes you mentioned including the new option name you provided, would you doing another quick review before I merge it? Also, once merged, did you wanted to try it on your side (with --dry-run) or should I simply run a new release later tonight?

@ghiscoding looks good to me + the actual change you did is exactly what I have in my fork (without flag) and already tested

awesome thanks, I'll merge then and expect a release later today (or the next day in your case 😉)

Released in v1.16.0


Ionchanneldata

@mwatts15 i made an attempt to add the ion channel data, as well as the cell to ion channel association. Would appreciate if you could review it , thanks

Please resolve the conflicts with dev. It looks like you grabbed some commits from my branch before I rebased onto dev. I only see one commit, so you can checkout the latest dev, and cherry-pick that one.
Assuming origin is openworm/PyOpenWorm:
git fetch origin
git checkout origin/dev
git cherry-pick 912f50690bae231f8daad5fec1cfcbd44371e22f

closing this PR , will make a cleaner PR


add the ability to add intervals to the timer picker

@troberts-28
i still have 2 issues
take a look at the video :)

it doesnt react the 60
when i scroll sometimes there is a weird jumping in the ui
any idea what causing this bugs ?

Hey @OmerToledo 👋
Thanks for the PR! The issues are related to this: https://github.com/troberts-28/react-native-timer-picker/issues/33.
Essentially, the infinite scroll works by auto-scrolling further up the list when you near the start/end of the list. There is a very slight flicker when it does that and I haven't been able to figure out a way of avoiding that completely. To avoid the flicker being noticeable to the user, the numbers are repeated a given number of times (so it does not have to auto-scroll as often). You'll find props on the TimerPicker component to modify the number of repetitions for each picker. The right approach would be to modify those defaults based on the interval (i.e. the length of the list).
Does that make sense?

Hey @OmerToledo
Sorry, have really slept on this! Will take a look at this this week and get it merged.

This has now been merged into v2.0.0. Thanks @OmerToledo!
Just a minor pointer for future work - use more descriptive commit messages to make it easier for a reviewer to understand your work.


Bitpim

Travis builds are failing with an error message about a Ruby Version. It's all beyond me. Can someone help me understand?

After making the changes, please don’t forget please to squash.

okay. Take 3. Thanks for your patience.
(I just learned how to rebase. Rewriting history is terrifying.)

Thank you for the fast changes. It looks good, now.
@ndr-qef Do you want to check something else before merging? This cask’s discussion started in #8958, and everything looks fine, now.

The Travis failure seems unrelated. I intended to offer to clean the branch myself, but only a minor tweak to the commit message is needed now.

Thanks, @johntrandall. I tested this PR locally, and merged it as e6573bc with an amended commit message; it is still credited to you, just without the prettier “merged” purple badge in the GitHub interface.


Names that contain '.0' are preserved

fixes #63
I saw the messages on the gopher slack and had a little time to investigate.

The regex searches now for occurences of :<somethings>.0 and replaces it with :<something>.1

Thanks for the PR!
I'm indifferent about the issue, personally -- I didn't introduce this feature -- so I will page the author of this line and see if he has any feedback: @relistan

Looks good. Looks like #63 is actually the possible issue with the original implementation that I described in #9. This fix looks good except that we need to take @mholt 's suggested change. Should validate with both pretty-printed input and non-pretty-printed.

Thanks for chiming in @relistan! Looks like we can wrap this up easily enough.

I updated the regex.


⚠ Bofrost.be has degraded performance

In a312060, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1358 ms

Resolved: Bofrost.be performance has improved in 9fdcf39 after 59 minutes.


Phobion tests

I am still going to rearragange the test files, the Phobion dir ist just there for convenience. Got a Vue warn, one in SequenceDisplayPreview ( Test 2) and a warning from Quill in ContentDisplayFactory ( Test 2). Test work fine tho.
After mulitple hours of trying to understand why my SlideOverviewContainer Test fails, i am still not sure, but it Vitest fails to mount the component and I dont know why, maybe someone can look into this.

I can look into it tomorrow.
Just as a short note, this PR is currently set to merge into main, but it should merge into tests, just something we need to look out for before merging.

I've looked into the SlideOverviewContainer tests a bit, and I think I narrowed the issues down to this point:

In Line 92, the SlideOverviewContainer does a call to the Rest-API to fetch the max number of slides. However, this call fails, and therefore the entire element cant be rendered, for some reason. To fix this, add something like vi.spyOn(ConfigRestInterface, 'getValue').mockResolvedValueOnce(-1); before mounting.
The SlideOverviewContainer has an asynchronous setup, but vue doesn't support them without wrapping them in a <Suspense> block. To fix this, use something similar to the approach done with the views, by defining a new component like

const SuspenseSlideOverviewContainer = defineComponent({
        components: { SlideOverviewContainer },
        props: ['slides', 'selectedSlideIndex'],
        emits: ['addSlide', 'deleteSlide', 'selectionChanged'],
        template: '<Suspense><SlideOverviewContainer :slides="slides" :selectedSlideIndex="selectedSlideIndex" @addSlide="$emit(\'addSlide\')" @deleteSlide="$emit(\'deleteSlide\')" @selectionChanged="$emit(\'selectionChanged\')"/></Suspense>'
});

and mounting that instead of the SlideOverviewContainer directly.

Triggering emits is done via .vm.$emit instead of .trigger, therefore e.g. await wrapper.findComponent(ButtonComponent).trigger('click'); has to be changed to await wrapper.findComponent(ButtonComponent).vm.$emit('click');

Also, as a bonus, I've noticed instead of using await wrapper.vm.$nextTick(() ..., await flushPromises() seems to work a bit better. So instead of using
await wrapper.vm.$nextTick(() => {
    expect(wrapper.emitted('selectionChanged')).toBeTruthy();
});

you can use something like
await flushPromises();
expect(wrapper.emitted('selectionChanged')).toBeTruthy();

I hope this fixes the issues you've had with the tests.
I've noticed that (at least for me locally), some other tests were failing aswell, lmk if you have any troubles with them aswell :)

The other test failing for you locally is probably the second test in dataSequencePopUpTab, because my localhost-port is different. I will try to not hardcode it


gradle plugin not resolving dependencies properly

# libs.versions.toml
dgs-codegen = { id = "com.netflix.dgs.codegen", version = "6.+" }

// build.gradle.kts
buildscript { dependencyLocking { lockAllConfigurations() } }

plugins {
  `java-library`
  alias(libs.plugins.dgs.codegen)
}

dependencyLocking {
  lockAllConfigurations()
}

tasks.withType<GenerateJavaTask>().configureEach {
  packageName = "com.xenoterracide.controller.registration"
  language = "java"
}

Configuration cache state could not be cached: field `classpath` of task `:controller-registration:compileJava` of type `org.gradle.api.tasks.compile.JavaCompile`: error writing value of type 'org.gradle.api.internal.artifacts.configurations.DefaultUnlockedConfiguration'
> Could not resolve all files for configuration ':controller-registration:compileClasspath'.
   > Resolved 'org.jetbrains:annotations:13.0' which is not part of the dependency lock state
   > Resolved 'org.jetbrains.kotlin:kotlin-stdlib:1.9.24' which is not part of the dependency lock state
   > Resolved 'com.netflix.graphql.dgs:graphql-dgs-platform:5.5.1' which is not part of the dependency lock state
   > Resolved 'com.netflix.graphql.dgs:graphql-dgs-platform-dependencies:5.5.1' which is not part of the dependency lock state

calling dependencies --write-locks (with some output filters
     +--- com.graphql-java:graphql-java:19.2 FAILED
|    +--- com.graphql-java:graphql-java:19.2 FAILED
|    +--- com.graphql-java:graphql-java:22.0 FAILED
|    +--- com.graphql-java:graphql-java:22.1 FAILED
|    +--- com.graphql-java:graphql-java:{prefer 18.3} FAILED
|    |    +--- com.graphql-java:graphql-java:{strictly [19.2, 20[; prefer 19.2; reject 18.2} FAILED
+--- com.netflix.graphql.dgs:graphql-dgs-platform FAILED

I tried adding things like com.netflix.graphql.dgs:graphql-dgs-platform:5.5.1 to implementation but that didn't fix it.

It would appear that I needed to add this, and that spring-boot-dependencies absolutely broke things
  implementation(platform(libs.dgs.platform.dependencies))
  implementation(libs.graphql.java)

note: those map to libs.versions.toml
dgs-platform-dependencies = { module = "com.netflix.graphql.dgs:graphql-dgs-platform-dependencies", version = "9.+" }
graphql-java = { module = "com.graphql-java:graphql-java" }

I think I tried using 5.+ first and had this problem... but I'm not certain.
could more about this please be added to the documentation? I'm fine with needing to add dependencies for the generated code but I'd like it to be documented. I'm not actually generally using DGS, was just going to use this plugin for spring-graphql.


Kata solutions

Since I couldn't attend the last meetup (sorry 'bout that) but still tried to solve the kata I'm curious how the things I came up with look like to s/o who has (more) experience. Also I'm interested in other solutions. Maybe there's something one just should not do ^^'
#1

defmodule Span do
    def sort list, predicate do
        {fulfilled, rejected} = Enum.reduce list, {[], []}, fn item, {fulfilled, rejected} ->
            if (predicate.(item)) do
                {[item|fulfilled], rejected}
            else
                {fulfilled, [item|rejected]}
            end
        end

        { Enum.reverse(fulfilled), Enum.reverse(rejected) }
    end
end

#2

defmodule Span do
    def sort(list, predicate), do: Enum.partition(list, &(predicate.(&1)))
end

Any feedback much appreciated :)

We had some great solutions show from @BjRo, @KlausTrainer and a couple of folks I don't know the github handle.
but basically you have both ways of doing it, you could even shorten your second version into a solution using defdelegate. There was also one w/o using the stdlib that was also a great approach.
Next time, we should encourage people to send PRs :)


Scraper Gets Stuck

Describe the Issue
The scraper using screenscraper gets stuck randomly.
I have an account for Sscraper and the website says my limit has not been reached, after restarting the scraping process it seems to work.
I have tried removing the gamelist and images and starting fresh, saying to scrape them all, not just the missing ones.
I do have some repeating roms, could this be the issue?
How can the issue be reproduced?
Start scraping a system
What device are you using?
RGB30
What version of ArkOS are you on?
2.0 01272024

I’ve scraped thousands of roms without issue.  The issue could be your network or sd card.  Nothing i can help with on this.


HookWebpackError when use @vue/cli-plugin-pwa and compress-webpack-plugin

Version
5.0.8
Environment info
System:
    OS: Windows 10 10.0.19042
    CPU: (8) x64 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz
  Binaries:
    Node: 14.18.0 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.19 - ~\AppData\Roaming\npm\yarn.CMD
    npm: 6.14.15 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Chrome: Not Found
    Edge: Spartan (44.19041.1023.0), Chromium (104.0.1293.47)

Steps to reproduce
vue add compression
yarn build

What is expected?
no error
What is actually happening?
 ERROR  HookWebpackError: this._obj.updateHash is not a function
HookWebpackError: this._obj.updateHash is not a function
    at D:\demo\compress-error-demo\node_modules\webpack\lib\HookWebpackError.js:65:13
    at eval (eval at create (D:\demo\compress-error-demo\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:38:1)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)

Potentially related:

https://github.com/webpack/webpack/issues/16057#issuecomment-1186290838


Cannot install virtualbox on macOS High Sierra

General troubleshooting steps

[x] I have checked the instructions for reporting bugs (or making requests) before opening the issue.

[x] None of the templates was appropriate for my issue, or I’m not sure.

[x] I ran brew update-reset && brew update and retried my command.
[x] I ran brew doctor, fixed as many issues as possible and retried my command.
[x] I understand that if I ignore these instructions, my issue may be closed without review.

Description of issue
Installation of virtualbox fails:
==> Failed command:
/usr/bin/sudo -E -- /usr/sbin/installer -pkg /usr/local/Caskroom/virtualbox/5.1.28-117968/VirtualBox.pkg -target /

==> Standard Output of failed command:
installer: Package name is Oracle VM VirtualBox
installer: Installing at base path /
installer: The install failed (The Installer encountered an error that caused the installation to fail. Contact the software manufacturer for assistance.)

==> Standard Error of failed command:
==> Exit status of failed command:
#<Process::Status: pid 46701 exit 1>

==> Exit status of failed command:
#<Process::Status: pid 45006 exit 1>
Output of your command with --verbose --debug
brew cask install virtualbox --verbose --debug
==> Hbc::Installer#install
==> Printing caveats
==> Hbc::Installer#fetch
==> Satisfying dependencies
==> Downloading
==> Downloading http://download.virtualbox.org/virtualbox/5.1.28/VirtualBox-5.1.28-117968-OSX.dmg
Already downloaded: /Users/brendan/Library/Caches/Homebrew/Cask/virtualbox--5.1.28-117968.dmg
==> Downloaded to -> /Users/brendan/Library/Caches/Homebrew/Cask/virtualbox--5.1.28-117968.dmg
==> Verifying download
==> Determining which verifications to run for Cask virtualbox
==> Checking for verification class Hbc::Verify::Checksum
==> 1 verifications defined
Hbc::Verify::Checksum
==> Running verification of class Hbc::Verify::Checksum
==> Verifying checksum for Cask virtualbox
==> SHA256 checksums match
==> Installing Cask virtualbox
==> Hbc::Installer#stage
==> Extracting primary container
==> Determining which containers to use based on filetype
==> Checking container class Hbc::Container::Pkg
==> Checking container class Hbc::Container::Ttf
==> Checking container class Hbc::Container::Otf
==> Checking container class Hbc::Container::Air
==> Checking container class Hbc::Container::Cab
==> Checking container class Hbc::Container::Dmg
==> Executing: ["/usr/bin/hdiutil", "imageinfo", "/Users/brendan/Library/Caches/Homebrew/Cask/virtualbox--5.1.28-117968.dmg"]
==> Using container class Hbc::Container::Dmg for /Users/brendan/Library/Caches/Homebrew/Cask/virtualbox--5.1.28-117968.dmg
==> Executing: ["/usr/bin/hdiutil", "attach", "-plist", "-nobrowse", "-readonly", "-noidme", "-mountrandom", "/var/folders/5n/nh5zvs2x069d9dgkp9zn1vpr0000gn/T/d20171006-46769-sdkadb", "/Users/brendan/Library/Caches/Homebrew/Cask/virtualbox--5.1.28-117968.dmg"]
==> Executing: ["/usr/bin/mkbom", "-s", "-i", "/var/folders/5n/nh5zvs2x069d9dgkp9zn1vpr0000gn/T/20171006-46769-18qia42.list", "--", "/var/folders/5n/nh5zvs2x069d9dgkp9zn1vpr0000gn/T/20171006-46769-1adlsha.bom"]
==> Executing: ["/usr/bin/ditto", "--bom", "/var/folders/5n/nh5zvs2x069d9dgkp9zn1vpr0000gn/T/20171006-46769-1adlsha.bom", "--", "/private/var/folders/5n/nh5zvs2x069d9dgkp9zn1vpr0000gn/T/d20171006-46769-sdkadb/dmg.VfUG9R", "/usr/local/Caskroom/virtualbox/5.1.28-117968"]
==> Executing: ["/usr/sbin/diskutil", "eject", "/private/var/folders/5n/nh5zvs2x069d9dgkp9zn1vpr0000gn/T/d20171006-46769-sdkadb/dmg.VfUG9R"]
==> Creating metadata directory /usr/local/Caskroom/virtualbox/.metadata/5.1.28-117968/20171006121617.383.
==> Creating metadata subdirectory /usr/local/Caskroom/virtualbox/.metadata/5.1.28-117968/20171006121617.383/Casks.
==> Installing artifacts
==> Determining which artifacts are present in Cask virtualbox
==> 4 artifact/s defined
uninstall_preflight (Preflight Block)
:script => [:executable, "VirtualBox_Uninstall.tool"], :script => [:args, ["--unattended"]], :script => [:sudo, true], :pkgutil => "org.virtualbox.pkg.*" (Uninstall)
VirtualBox.pkg (Pkg)
:delete => "/Library/Application Support/VirtualBox", :delete => "~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/org.virtualbox.app.virtualbox.sfl", :delete => "~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/org.virtualbox.app.virtualboxvm.sfl", :delete => "~/Library/VirtualBox", :delete => "~/Library/Preferences/org.virtualbox.app.VirtualBox.plist", :delete => "~/Library/Preferences/org.virtualbox.app.VirtualBoxVM.plist", :delete => "~/Library/Saved Application State/org.virtualbox.app.VirtualBox.savedState", :delete => "~/Library/Saved Application State/org.virtualbox.app.VirtualBoxVM.savedState", :rmdir => "~/VirtualBox VMs" (Zap)
==> Installing artifact of class Hbc::Artifact::PreflightBlock
==> Installing artifact of class Hbc::Artifact::Pkg
==> Running installer for virtualbox; your password may be necessary.
==> Package installers may write to any location; options such as --appdir are ignored.
==> Executing: ["/usr/bin/sudo", "-E", "--", "/usr/sbin/installer", "-pkg", "/usr/local/Caskroom/virtualbox/5.1.28-117968/VirtualBox.pkg", "-target", "/", "-verboseR"]
==> installer: Package name is Oracle VM VirtualBox
==> installer: Installing at base path /
==> installer:PHASE:Preparing for installation…
==> installer:PHASE:Preparing the disk…
==> installer:PHASE:Preparing Oracle VM VirtualBox…
==> installer:PHASE:Waiting for other installations to complete…
==> installer:PHASE:Configuring the installation…
==> installer:STATUS:
==> installer:%13.829789
==> installer:PHASE:Writing files…
==> installer:%64.681396
==> installer:PHASE:Moving items into place…
==> installer:%86.784895
==> installer:PHASE:Running package scripts…
==> installer:PHASE:Validating packages…
==> installer:%97.750000
==> installer: The install failed (The Installer encountered an error that caused the installation to fail. Contact the software manufacturer for assistance.)
==> Reverting installation of artifact of class Hbc::Artifact::PreflightBlock
==> Purging files for version 5.1.28-117968 of Cask virtualbox
Error: Command failed to execute!

==> Failed command:
/usr/bin/sudo -E -- /usr/sbin/installer -pkg /usr/local/Caskroom/virtualbox/5.1.28-117968/VirtualBox.pkg -target / -verboseR

==> Standard Output of failed command:
installer: Package name is Oracle VM VirtualBox
installer: Installing at base path /
installer:PHASE:Preparing for installation…
installer:PHASE:Preparing the disk…
installer:PHASE:Preparing Oracle VM VirtualBox…
installer:PHASE:Waiting for other installations to complete…
installer:PHASE:Configuring the installation…
installer:STATUS:
installer:%13.829789
installer:PHASE:Writing files…
installer:%64.681396
installer:PHASE:Moving items into place…
installer:%86.784895
installer:PHASE:Running package scripts…
installer:PHASE:Validating packages…
installer:%97.750000
installer: The install failed (The Installer encountered an error that caused the installation to fail. Contact the software manufacturer for assistance.)

==> Standard Error of failed command:

==> Exit status of failed command:
#<Process::Status: pid 46918 exit 1>

/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/system_command.rb:65:in `assert_success'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/system_command.rb:36:in `run!'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/system_command.rb:14:in `run'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/system_command.rb:18:in `run!'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/artifact/pkg.rb:53:in `block in run_installer'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/artifact/pkg.rb:59:in `with_choices_file'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/artifact/pkg.rb:51:in `run_installer'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/artifact/pkg.rb:32:in `install_phase'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/installer.rb:191:in `block in install_artifacts'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/installer.rb:183:in `each'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/installer.rb:183:in `install_artifacts'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/installer.rb:97:in `install'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli/install.rb:19:in `block in run'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli/install.rb:13:in `each'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli/install.rb:13:in `run'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli/abstract_command.rb:35:in `run'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli.rb:97:in `run_command'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli.rb:167:in `run'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli.rb:131:in `run'
/usr/local/Homebrew/Library/Homebrew/cmd/cask.rb:8:in `cask'
/usr/local/Homebrew/Library/Homebrew/brew.rb:99:in `<main>'
Error: Kernel.exit
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli.rb:172:in `exit'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli.rb:172:in `rescue in run'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli.rb:155:in `run'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli.rb:131:in `run'
/usr/local/Homebrew/Library/Homebrew/cmd/cask.rb:8:in `cask'
/usr/local/Homebrew/Library/Homebrew/brew.rb:99:in `<main>'

Output of brew cask doctor
brew doctor
Your system is ready to brew.

This is a macOS issue because of secure kext loading in High Sierra.
Follow the instructions here to enable the virtualbox kext and run:
brew cask install --force virtualbox

Thanks. That got me onto the right path. For some reason install didn't work as you have it above, but reinstall did:
brew cask reinstall --force virtualbox --verbose --debug

Thanks again.

Leaving this here for others - the solutions above do not work because there are a number of kexts to approve - you may have to do the cycle many times... or use this handy dandy script:
#!/bin/bash

unload() {
        if [ `ps -ef | grep -c VirtualBox$` -ne 0 ]
        then
                echo "VirtualBox still seems to be running. Please investigate!!"
                exit 1;
        elif [ `ps -ef | grep -c [V]ir` -gt 0 ]
        then
                echo "Stopping running processes before unloading Kernel Extensions"
                ps -ef | grep [V]ir | awk '{print $2}' | xargs kill
        fi
        echo "Unloading Kernel Extensions"
        kextstat | grep "org.virtualbox.kext.VBoxUSB" > /dev/null 2>&1 && sudo kextunload -b org.virtualbox.kext.VBoxUSB
        kextstat | grep "org.virtualbox.kext.VBoxNetFlt" > /dev/null 2>&1 && sudo kextunload -b org.virtualbox.kext.VBoxNetFlt
        kextstat | grep "org.virtualbox.kext.VBoxNetAdp" > /dev/null 2>&1 && sudo kextunload -b org.virtualbox.kext.VBoxNetAdp
        kextstat | grep "org.virtualbox.kext.VBoxDrv" > /dev/null 2>&1 && sudo kextunload -b org.virtualbox.kext.VBoxDrv
}

load() {
        echo "Loading Kernel Extentions"
        sudo kextload "/Library/Application Support/VirtualBox/VBoxDrv.kext" -r "/Library/Application Support/VirtualBox/"
        sudo kextload "/Library/Application Support/VirtualBox/VBoxNetAdp.kext" -r "/Library/Application Support/VirtualBox/"
        sudo kextload "/Library/Application Support/VirtualBox/VBoxNetFlt.kext" -r "/Library/Application Support/VirtualBox/"
        sudo kextload "/Library/Application Support/VirtualBox/VBoxUSB.kext" -r "/Library/Application Support/VirtualBox/"
}

case "$1" in
        unload|remove)
                unload
                ;;
        load)
                load
                ;;
        *|reload)
                unload
                load
                ;;
esac

@dstroot you sir, are a lifesaver. Thank you so much for this. I was able to finally install Virtualbox this way.

When I clicked "Allow", nothing would happen, even the notice in the panel would remain. If I tried to  let the alert timeout pass, then try again, I was no longer getting any notices to approve.
In case anyone arrives here while trying to find a fix for the same thing, this was my process.
First Method (Do it ALL from recovery)
You will have boot into recovery mode because the kext policy database is protected by System Integrity Protect.
In Recovery, open the terminal and do the following:
chroot to your system volume.
# May also need to unlock it first.
chroot /Volumes/Macintosh\ HD/ # or whatever your hard drive name is

# Get list of kexts that are NOT set currently to allowed
sqlite3 sqlite3 /var/db/SystemPolicyConfiguration/KextPolicy "SELECT team_id,bundle_id,allowed,developer_name,flags from kext_policy WHERE allowed = 0"

# Verify that VB5E2TV963 is still the right team_id and run this to update (change team_id if it differs)
sqlite3 /var/db/SystemPolicyConfiguration/KextPolicy "UPDATE kext_policy SET allowed = 1 WHERE team_id = 'VB5E2TV963'"

# reboot your comp
reboot

Once you reboot to normal land, then you should be able to run
brew cask reinstall --force virtualbox --verbose --debug

Second Method
You will have boot into recovery mode because the kext policy database is protected by System Integrity Protect. Luckily, you can disable just the filesystem part allowing you to change the database found at /private/var/db/SystemPolicyConfiguration/KextPolicy.
Once you are in recovery mode, open a terminal and run:
csrutil enable --without fs --no-internal
reboot

Once you are back to the regular world, open a terminal and run
# Get list of kexts that are NOT set currently to allowed
sudo sqlite3 sqlite3 /var/db/SystemPolicyConfiguration/KextPolicy "SELECT team_id,bundle_id,allowed,developer_name,flags from kext_policy WHERE allowed = 0"

# Verify that VB5E2TV963 is still the right team_id and run this to update (change team_id if it differs)
sudo sqlite3 /var/db/SystemPolicyConfiguration/KextPolicy "UPDATE kext_policy SET allowed = 1 WHERE team_id = 'VB5E2TV963'"

Then you should be able to run
brew cask reinstall --force virtualbox --verbose --debug

without any problems!
If you want to turn SIP back on for the filesystem, reboot to recovery again and open a terminal and run:
csrutil clear
reboot

Please don't post instructions for disabling SIP.


C#: Data flow through fields

Initial implementation of data flow through fields, using the algorithm of the shared data flow implementation. Fields (and field-like properties) are covered, and stores can be either

ordinary assignments, Foo = x,
object initializers, new C() { Foo = x }, or
field initializers, int Foo = x.

For field initializers, we need to synthesize calls (SynthesizedCall), callables (SynthesizedCallable), parameters (InstanceParameterNode), and arguments (SynthesizedThisArgumentNode), as the C# extractor does not (yet) extract such entities. For example, in
class C
{
    int Field1 = 1;
    int Field2 = 2;

    C() { }
}

there is a synthesized call from the constructor C, with a synthesized this argument, and the targets of that call are two synthesized callables with bodies this.Field1 = 1 and this.Field2 = 2, respectively.
A consequence of this is that DataFlowCallable is no longer an alias for DotNet::Callable, but instead an IPA type.

For review of the test FieldFlow.ql, I recommend running the query in QL4E and explore the data flow paths using the path explorer.
Future work includes:

Type pruning (as in the Java library).
Flow through arrays/collections.
Flow summaries for library types take access paths into account, for example a proper model for System.Tuples.
Model flow through captured variables as flow through fields.

@calumgrant (also ping @aschackmull)

I ran a dist-compare (internal link), which revealed a significant slow-down, particular on mono, where we timeout on InappropriateEncoding.ql. This is partly due to overlapping data flow configurations (addressed by 1e46509a2afff71b57065af088efd94dfa772390), partly due to bad join-orders related to field flow (addressed by a0c834c83d7b707451ef9ae22ac05fbb2653a3f9, ping @aschackmull ). I have started a new dist-compare run.

I'm struggling a little bit with the idea that member initializers are "callables", and that the initializers are invoked by calling them. There is a lot of additional machinery required to support this, and I wonder if this abstraction is temporary until we model initializers differently anyway. Therefore, I wonder whether the CFG of the constructor should instead create CFG nodes relating to the field initializers. Do you think this is an idea that is worth prototyping?

Therefore, I wonder whether the CFG of the constructor should instead create CFG nodes relating to the field initializers. Do you think this is an idea that is worth prototyping?

That might actually be a good idea; I will try it out. Thanks!

Consider
class A {
  int f1 = 1;
  int f2 = 2;
  A() { }
  A(int x) { }
}

If you insert CFG nodes for the field initializers in the constructors then you'll have multiple enclosing callables for them, which is slightly awkward.  In Java the extractor synthesizes a single callable called <obinit>, which contains all the field inits, so the above becomes:
class A {
  int f1;
  int f2;
  <obinit>(A this) {
    this.f1 = 1;
    this.f2 = 2;
  }
  A() {
    <obinit>(this);
  }
  A(int x) {
    <obinit>(this);
  }
}

If you insert CFG nodes for the field initializers in the constructors then you'll have multiple enclosing callables for them

My initial idea was to use splitting, i.e. have one copy of each assignment per constructor.

Here is the updated dist-compare report (internal link), up until 7ab9c8b90d6fd80c7b9c69f159445b1f8ee52cad. It shows that the performance optimizations have paid off, but mono is still considerably slower than without field flow.

@calumgrant : I have update this PR with the change that you suggested. I think that works much better, and it has the advantage that is works for all CFG-based analysis, not just data flow. I have started a new dist-compare run.

For completeness, here is the final dist-compare report.


add clarification in ADR overview page

The content in the ADR overview page now clarifies that ADRs are suitable for all audiences since they are clearly written and structured.

the CI is not going to pass because of the branch name 😬

This branch needs to go due to incorrect naming


feat: #619 iMapBC public link

ref: #619

update the text on the about page for the iMpasBC button
'''
View and analyze hundreds of map data layers compiled from across the B.C. Government, and other public sector agencies. This includes the FOM layers, which can be overlayed onto other layers, allowing the user to see FOM features from all published FOMs on one comprehensive map.
'''
add ghost-button that launches iMapsBC in a new tab (https://maps.gov.bc.ca/ess/hm/imap4m/) at public map details.

Thanks for the PR!
Any successful deployments (not always required) will be available below.

api
admin
public

Once merged, code will be promoted and handed off to following workflow run.

Main Merge Workflow

Thanks for the PR!
Any successful deployments (not always required) will be available below.

api
admin
public

Once merged, code will be promoted and handed off to following workflow run.

Main Merge Workflow

Looks good to me, maybe just let Olga review the UI styling, thanks Ian!!

Thanks for the quick review @MCatherine1994 !!
Hi @OlgaLiber2 , there is nothing change for the elements spacing this time, only the iMapBC link is added on top of the Map Details.
Since it looks ok and Julius would like this in this morning, I would just merge this isolated change this time so it will be available for him soon. We can collect other UI adjustments in other ticket together if there are others.
Thanks Olga.

@ianliuwk1019  sure, can you capture that UI change in a new ticket please? We can add other styling changes to that ticket as well in the future. Thanks for deploying it so promptly. I appreciate it.

For iMapBC you can add parameters to the url to add the FOM layers on startup.. I can provide the syntax if people want it.

@webgismd  yes please. Thank you!
@ianliuwk1019 we can create a new ticket to open FOM layers on startup

We had quick exploring on the iMapBC and its site help but didn't discover the parameters we had thought. If there is a reference doc for how to, that would be great. Thank you very much @webgismd .


feat(VariablePlugin): add computed fields to VariablePlugin

feat(VariablePlugin): add computed fields to VariablePlugin
This makes computed variables not editable and makes the background color lilac (for now).
Signed-off-by: Diana Lease<EMAIL_ADDRESS>FLAGS

When I link this to TSv2 and set wrapVariables to true on this line, I see the highlighted computed variable and it renders, but I get a parse error.
See image below.

What is the parse error?

@dselman in the screenshot:
invalid syntax at line 7 col 25: and monthly payments of 667.0 ^ Unexpected "6"

The 667.0 is not expected.

@dselman in the screenshot:
invalid syntax at line 7 col 25: and monthly payments of 667.0 ^ Unexpected "6"

The 667.0 is not expected.

Thanks. We've lost the {{ and }} around the computed. Those need to be added back in I think for the text to parse.

Thanks. We've lost the {{ and }} around the computed. Those need to be added back in I think for the text to parse.

That makes sense, but then again kind of doesn't because the other variables don't have {{ and }}, so why are those parsing fine while this one is not?

Thanks. We've lost the {{ and }} around the computed. Those need to be added back in I think for the text to parse.

That makes sense, but then again still confused because the other variables don't have {{ and }}, so why are those parsing fine while this one is not?

Long story short, we need the {{ and }} because we don't know what the contents of a computed could be (it could be anything) so we can't generate a parser for it. @jeromesimeon can provide more detail.

Thanks. We've lost the {{ and }} around the computed. Those need to be added back in I think for the text to parse.

That makes sense, but then again still confused because the other variables don't have {{ and }}, so why are those parsing fine while this one is not?

Long story short, we need the {{ and }} because we don't know what the contents of a computed could be (it could be anything) so we can't generate a parser for it. @jeromesimeon can provide more detail.

That's how it works at the moment. Parsing is difficult when the content could be anything, so {{ ... }} provides guidance to the parser. It could be any other escaping mechanism.
We do not have a way to parse based on <variable.../> or <computed .../> so I was imagining we would have a way to produce text which would strip those? If we do that on <variable .../>, we could do that for <computed ... /> in a way which encloses the content with {{ ... }}.

We do not have a way to parse based on <variable.../> or <computed .../> so I was imagining we would instead re-generate text which would strip those? If we do that on <variable .../>, we could do that for <computed ... /> in a way which encloses the content with {{ ... }}.

This might need to happen as part of markdown-transform. The fix might be needed here:
https://github.com/accordproject/markdown-transform/blob/3fe15d03210e2f315bfddd31d8e0ff24b2cb00df/packages/markdown-cicero/src/FromCiceroVisitor.js#L155

We do not have a way to parse based on <variable.../> or <computed .../> so I was imagining we would instead re-generate text which would strip those? If we do that on <variable .../>, we could do that for <computed ... /> in a way which encloses the content with {{ ... }}.

This might need to happen as part of markdown-transform. The fix might be needed here:
https://github.com/accordproject/markdown-transform/blob/3fe15d03210e2f315bfddd31d8e0ff24b2cb00df/packages/markdown-cicero/src/FromCiceroVisitor.js#L155

Published a fix in https://github.com/accordproject/markdown-transform/releases/tag/v0.8.2


Merge in mattmann master

@chrismattmann - There are 8 commits in here from PRs issued to this repository that aren't in your master branch.  Please fast-forward to this commit so we don't fall out of sync again.