For PHP7,Giving error while performing MAKE command

/home/xyz/YACassandraPDO/cassandra_driver.cpp:803:57: error: macro "ZVAL_STRING" passed 3 arguments, but takes just 2
/home/xyz/YACassandraPDO/cassandra_driver.cpp:808:66: error: macro "ZVAL_STRING" passed 3 arguments, but takes just 2
/home/xyz/YACassandraPDO/cassandra_driver.cpp:64: error: invalid conversion from ‘int ()(pdo_dbh_t, const char*, long int, pdo_stmt_t*, zval*)’ to ‘int ()(pdo_dbh_t, const char*, size_t, pdo_stmt_t*, zval*)’
/home/xyz/YACassandraPDO/cassandra_driver.cpp:64: error: invalid conversion from ‘long int ()(pdo_dbh_t, const char*, long int)’ to ‘zend_long ()(pdo_dbh_t, const char*, size_t)’
/home/xyz/YACassandraPDO/cassandra_driver.cpp:64: error: invalid conversion from ‘int ()(pdo_dbh_t, const char*, int, char**, int*, pdo_param_type)’ to ‘int ()(pdo_dbh_t, const char*, size_t, char**, size_t*, pdo_param_type)’
/usr/include/php/Zend/zend_API.h: In function ‘int pdo_cassandra_get_error(pdo_dbh_t*, pdo_stmt_t*, zval*)’:
/usr/include/php/Zend/zend_API.h:432: error: too many arguments to function ‘int add_next_index_string(zval*, const char*)’
/home/xyz/YACassandraPDO/cassandra_driver.cpp:87: error: at this point in file
/home/xyz/YACassandraPDO/cassandra_driver.cpp: In function ‘std::string pdo_cassandra_get_first_sub_pattern(const std::string&, const std::string&)’:
/home/xyz/YACassandraPDO/cassandra_driver.cpp:389: error: cannot convert ‘char*’ to ‘zend_string*’ for argument ‘1’ to ‘pcre_cache_entry* pcre_get_compiled_regex_cache(zend_string*)’
/home/xyz/YACassandraPDO/cassandra_driver.cpp:393: error: ‘MAKE_STD_ZVAL’ was not declared in this scope
/home/xyz/YACassandraPDO/cassandra_driver.cpp:394: error: ‘ALLOC_INIT_ZVAL’ was not declared in this scope
/usr/include/php/Zend/zend_hash.h:156: error: too many arguments to function ‘zval* zend_hash_index_find(const HashTable*, zend_ulong)’
/home/xyz/YACassandraPDO/cassandra_driver.cpp:402: error: at this point in file
/home/xyz/YACassandraPDO/cassandra_driver.cpp:402: error: no match for ‘operator==’ in ‘zend_hash_index_find(((const HashTable*)sub_patterns->_zval_struct::value._zend_value::arr), 1u) == (ZEND_RESULT_CODE)0’
/home/xyz/YACassandraPDO/cassandra_driver.cpp:403: error: ‘Z_TYPE_PP’ was not declared in this scope
/home/xyz/YACassandraPDO/cassandra_driver.cpp:404: error: ‘Z_ARRVAL_PP’ was not declared in this scope
/home/xyz/YACassandraPDO/cassandra_driver.cpp:407: error: ‘Z_STRVAL_PP’ was not declared in this scope
/home/xyz/YACassandraPDO/cassandra_driver.cpp:414: error: cannot convert ‘zval**’ to ‘zval*’ for argument ‘1’ to ‘void _zval_ptr_dtor(zval*)’
/home/xyz/YACassandraPDO/cassandra_driver.cpp:415: error: cannot convert ‘zval**’ to ‘zval*’ for argument ‘1’ to ‘void _zval_ptr_dtor(zval*)’
/home/xyz/YACassandraPDO/cassandra_driver.cpp: In function ‘int pdo_cassandra_handle_set_attribute(pdo_dbh_t*, long int, zval*)’:
/home/xyz/YACassandraPDO/cassandra_driver.cpp:659: error: ‘Z_BVAL_P’ was not declared in this scope
/home/xyz/YACassandraPDO/cassandra_driver.cpp: In function ‘int pdo_cassandra_handle_get_attribute(pdo_dbh_t*, long int, zval*)’:
/home/xyz/YACassandraPDO/cassandra_driver.cpp:803: error: ‘ZVAL_STRING’ was not declared in this scope
/home/xyz/YACassandraPDO/cassandra_driver.cpp:808: error: ‘ZVAL_STRING’ was not declared in this scope
make: *** [cassandra_driver.lo] Error 1

Hello,
PHP7 is not supported by YACassandraPDO.
Check the new datastax driver:
https://github.com/datastax/php-driver

Hello YACassandraPDO,
Can you please provide a support for PHP7 and Cassandra Latest Version. I know that Datastax is providing PHP-Driver, But it has issue for adaptive swamping  Process of PHP-FPM.

I too would like YACassandraPDO to support PHP7 because I also cannot use the Datastax software for various reasons... any chance of adding support?

I do not work at Orange anymore but I will have a look at it this week. If the differences with php6 are not too big, I should be able to find some time to make the fix

Thanks!
AFAIK YACassandraPDO relies on thrift and late last year a Facebook dev called 'dsp' added a PHP 7 version of php_thrift_protocol [1] which was pulled into the Apache Thrift project on github. I tried building the head of Apache Thrift but their are C++ errors where Googling does not seem to help. So I tried building 'dsp's branch [2] and that builds but mysteriously although ./configure says it will build the PHP library, it does not get built and there are no errors either :-( I'm still looking into this...
[1] https://github.com/dsp/thrift/commit/bc24cb7cf8aa8512dcbe085ef976dffe90b76eed
[2] https://github.com/dsp/thrift/tree/php7

Scratch that last message. Why? I tried rebuilding YACassandraPDO for PHP 5.6 with a Thrift built --without-php, i.e. just the C/C++ library. YACassandraPDO built and tested just fine... so it obviously just uses the Thrift C/C++ library and not the Thrift PHP interface. So I think Apache Thrift 0.9.2 should work just fine without using the PHP 7 version of Thrift mentioned in the above message.

So trying to compile [1] against PHP 7 results in many errors because PHP 7 has changed things up a little bit. Trying to figure out if I can hack it to work...
$ time make
/bin/sh /home/dev/share/20160418-php7/YACassandraPDO-master/libtool --mode=compile g++ -Wall -Wno-write-strings -I/usr/include/php/ext -I. -I/home/dev/share/20160418-php7/YACassandraPDO-master -DPHP_ATOM_INC -I/home/dev/share/20160418-php7/YACassandraPDO-master/include -I/home/dev/share/20160418-php7/YACassandraPDO-master/main -I/home/dev/share/20160418-php7/YACassandraPDO-master -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/usr/local/include  -DHAVE_CONFIG_H  -g -O2   -c /home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp -o cassandra_driver.lo
libtool: compile:  g++ -Wall -Wno-write-strings -I/usr/include/php/ext -I. -I/home/dev/share/20160418-php7/YACassandraPDO-master -DPHP_ATOM_INC -I/home/dev/share/20160418-php7/YACassandraPDO-master/include -I/home/dev/share/20160418-php7/YACassandraPDO-master/main -I/home/dev/share/20160418-php7/YACassandraPDO-master -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/usr/local/include -DHAVE_CONFIG_H -g -O2 -c /home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp  -fPIC -DPIC -o .libs/cassandra_driver.o
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:803:57: error: macro "ZVAL_STRING" passed 3 arguments, but takes just 2
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:808:66: error: macro "ZVAL_STRING" passed 3 arguments, but takes just 2
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:64: error: invalid conversion from 'int (*)(pdo_dbh_t*, const char*, long int, pdo_stmt_t*, zval*)' to 'int (*)(pdo_dbh_t*, const char*, size_t, pdo_stmt_t*, zval*)'
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:64: error: invalid conversion from 'long int (*)(pdo_dbh_t*, const char*, long int)' to 'zend_long (*)(pdo_dbh_t*, const char*, size_t)'
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:64: error: invalid conversion from 'int (*)(pdo_dbh_t*, const char*, int, char**, int*, pdo_param_type)' to 'int (*)(pdo_dbh_t*, const char*, size_t, char**, size_t*, pdo_param_type)'
/usr/include/php/Zend/zend_API.h: In function 'int pdo_cassandra_get_error(pdo_dbh_t*, pdo_stmt_t*, zval*)':
/usr/include/php/Zend/zend_API.h:432: error: too many arguments to function 'int add_next_index_string(zval*, const char*)'
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:87: error: at this point in file
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp: In function 'std::string pdo_cassandra_get_first_sub_pattern(const std::string&, const std::string&)':
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:389: error: cannot convert 'char*' to 'zend_string*' for argument '1' to 'pcre_cache_entry* pcre_get_compiled_regex_cache(zend_string*)'
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:393: error: 'MAKE_STD_ZVAL' was not declared in this scope
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:394: error: 'ALLOC_INIT_ZVAL' was not declared in this scope
/usr/include/php/Zend/zend_hash.h:156: error: too many arguments to function 'zval* zend_hash_index_find(const HashTable*, zend_ulong)'
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:402: error: at this point in file
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:402: error: no match for 'operator==' in 'zend_hash_index_find(((const HashTable*)sub_patterns->_zval_struct::value._zend_value::arr), 1u) == (ZEND_RESULT_CODE)0'
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:403: error: 'Z_TYPE_PP' was not declared in this scope
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:404: error: 'Z_ARRVAL_PP' was not declared in this scope
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:407: error: 'Z_STRVAL_PP' was not declared in this scope
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:414: error: cannot convert 'zval**' to 'zval*' for argument '1' to 'void _zval_ptr_dtor(zval*)'
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:415: error: cannot convert 'zval**' to 'zval*' for argument '1' to 'void _zval_ptr_dtor(zval*)'
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp: In function 'int pdo_cassandra_handle_set_attribute(pdo_dbh_t*, long int, zval*)':
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:659: error: 'Z_BVAL_P' was not declared in this scope
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp: In function 'int pdo_cassandra_handle_get_attribute(pdo_dbh_t*, long int, zval*)':
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:803: error: 'ZVAL_STRING' was not declared in this scope
/home/dev/share/20160418-php7/YACassandraPDO-master/cassandra_driver.cpp:808: error: 'ZVAL_STRING' was not declared in this scope
make: *** [cassandra_driver.lo] Error 1

real    0m1.697s

[1] https://github.com/Orange-OpenSource/YACassandraPDO/archive/master.zip

PHP7 internal API has changed a lot.
The implementation is not complete yet, decimal support and NULL values are not handled properly.
If you want to give it a try, you can find the source code on my GitHub.
https://github.com/mathieu-lornac/YACassandraPDO
Though I was the maintainer of the project when I worked at Orange I no longer have access to the original repository.
If you experience any issues, please give me detailed information on the problem you encontered.

FYI there is another PHP 7 port here [1] which has all existing functionality ported, a bug fixed in the old decimal support code, and all tests passing :-)
[1] https://github.com/bixuehujin/YACassandraPDO/tree/php7

I wish I knew that a few days ago ^^
Sandro, could you add this link to the README page of the project?

Done.
Thanks guys!

I actually have issues with bixuehujin's fork. I can insert into a set but when I try to get the set with a select command it returns a empty array. Other variable types seem to work with reads & writes (string, int, float).

IIWY I'd code up a new failing test which works with the pre-fork code, but fails with the fork code. This would be a good starting place to get the code fixed.

pre-fork code gives the correct output and the post fork code gives an empty array (wrong output).

I create a row with some value ( google.com )
I insert an additional item to the same set on the same row ( yahoo.com )
I print out the results

Pre-fork:
Array (     [0] => google.com     [1] => yahoo.com )
post fork
Array ( )
Both of them seem to insert the value to the database without any issues because I verified it using cqlsh, but post-fork can't seem to handle the result of the select statement.

Are you sure this isn't covered by the existing unit tests which incidentally all work with the post fork code? It seems like a very basic issue, or? Can you post minimal code which reproduces the issues?

This is the code that I used. CASSANDRA_IP needs to be replaced with your Cassandra cluster IP(s).
`<?php
//
//with cqlsh, create the following keyspace & table
// CREATE KEYSPACE testkeyspace WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };
// create table settest ( ip inet primary key, value set ) WITH compression = { 'sstable_compression' : 'LZ4Compressor', 'chunk_length_kb' : 64 };
$dsn = "cassandra:host=CASSANDRA_IP;port=9160";
$db = new PDO($dsn);
$db->exec("USE testkeyspace");
$ipaddr = "<IP_ADDRESS>";
$value= "google.com";
//create the initial row
$stmt = $db->prepare("INSERT into settest (ip, value) values (:ipval, { :val } ) ;");
$stmt->bindValue(':ipval', $ipaddr, PDO::PARAM_STR);
$stmt->bindValue(':val', strval($value), PDO::PARAM_STR);
$stmt->bindValue(':val', strval($value), PDO::PARAM_STR);
$stmt->execute();
//append another value to the same row
$value="yahoo.com";
$stmt = $db->prepare("UPDATE settest SET value = value + { :val } WHERE ip = :ipval ;");
$stmt->bindValue(':ipval', $ipaddr, PDO::PARAM_STR);
$stmt->bindValue(':val', strval($value), PDO::PARAM_STR);
$stmt->execute();
//print out the results
$checkIP= "<IP_ADDRESS>";
$stmt = $db->prepare("SELECT value from settest where ip = :ipval");
$stmt->bindValue(':ipval', $checkIP, PDO::PARAM_STR);
$stmt->execute();
$result=$stmt->fetchAll()[0]['value'];
print_r($result);
?>
`
I appreciate the help.

bixuehujin added a test case [1] using the above code and unfortunately he was unable to reproduce the bug because the test passes on travis [2] for both PHP 5.6 and PHP 7. I suggest you look very carefully at what is different between the build and test run on travis, and the build and test run on your system. Good luck!
[1] https://github.com/bixuehujin/YACassandraPDO/commit/5ffb518635ba47a0dd7fdbb66c85d8a9230b4fc4
[2] https://travis-ci.org/bixuehujin/YACassandraPDO/builds/144470131

Thanks Simon. I'll see what I did wrong.

Please keep me in the loop.

I started with a clean Debian 8 install on a dev machine. Installed Cassandra and the following packages for dotdeb repo. php7.0 php7.0-fpm php-pear php7.0-common php7.0-cli php7.0-gd nginx-full php7.0-curl
Downloaded https://github.com/bixuehujin/YACassandraPDO/archive/php7.zip and proceeded to install.
Besides the instructions that were already outlined in [1], here's what I did differently to get everything to build
Error on ./configure:
checking for PDO includes... configure: error: Cannot find php_pdo_driver.h
fixed by doing ln -s /usr/include/php/20151012/ext ext
YACassandraPDO/gen-cpp/Cassandra.h:10:39: fatal error: thrift/TDispatchProcessor.h: No such file or directory
fixed by doing apt-get install thrift-compiler=0.6.0-2~riptano1 so an older version of thrift is used instead of version 0.9
Once complete, I run run-tests.php and received the following output
=====================================================================
FAILED TEST SUMMARY
---------------------------------------------------------------------
Test setting/getting attributes [tests/005-attributes.phpt]
Test very large integers [tests/026-bigint.phpt]
Test collection types [tests/034-collections.phpt]
Boolean related tests [tests/040-set-additions.phpt]
=====================================================================

=====================================================================
TEST RESULT SUMMARY
---------------------------------------------------------------------
Exts skipped    :    0
Exts tested     :   46
---------------------------------------------------------------------

Number of tests :   36                36
Tests skipped   :    0 (  0.0%) --------
Tests warned    :    0 (  0.0%) (  0.0%)
Tests failed    :    4 ( 11.1%) ( 11.1%)
Expected fail   :    0 (  0.0%) (  0.0%)
Tests passed    :   32 ( 88.9%) ( 88.9%)
---------------------------------------------------------------------
Time taken      :   26 seconds
=====================================================================

=====================================================================
FAILED TEST SUMMARY
---------------------------------------------------------------------
Test setting/getting attributes [tests/005-attributes.phpt]
Test very large integers [tests/026-bigint.phpt]
Test collection types [tests/034-collections.phpt]
Boolean related tests [tests/040-set-additions.phpt]
=====================================================================

================================================================================
/root/bixuehujin/YACassandraPDO/tests/005-attributes.phpt
================================================================================
string(6) "20.1.0"
bool(true)
bool(true)
OK
================================================================================
001+ string(6) "20.1.0"
001- string(7) "%d.%d.%d"
================================================================================

================================================================================
/root/bixuehujin/YACassandraPDO/tests/026-bigint.phpt
================================================================================
skip The test requires gmp extension
================================================================================
001+ skip The test requires gmp extension
001-<PHONE_NUMBER>0000000000000
002- OK
================================================================================

================================================================================
/root/bixuehujin/YACassandraPDO/tests/034-collections.phpt
================================================================================
stdClass Object
(
    [map_test_vc_int] => Array
        (
        )

)
stdClass Object
(
    [map_test_int_float] => Array
        (
        )

)
stdClass Object
(
    [set_test_vc] => Array
        (
        )

)
stdClass Object
(
    [set_test_int] => Array
        (
        )

)
Array
(
)
stdClass Object
(
    [set_test_int] => Array
        (
        )

)
================================================================================
005-             [key_1] => 1
006-             [key_2] => 2
007-             [looong_key_here] => 3
015-             [12] => 24.239999771118
016-             [15] => 30.299999237061
017-             [32] => 64.639999389648
025-             [0] => key1
026-             [1] => llowo
027-             [2] => madafuck
028-             [3] => yukulele
036-             [0] => 21
037-             [1] => 42
038-             [2] => 45
039-             [3] => 84
040-             [4] => 456
051-             [0] => 123
052-             [1] => 321
053-             [2] => 2456
================================================================================

================================================================================
/root/bixuehujin/YACassandraPDO/tests/040-set-additions.phpt
================================================================================
Array
(
)
================================================================================
003-     [0] => google.com
004-     [1] => yahoo.com
================================================================================

================================================================================
BUILD ENVIRONMENT
================================================================================
OS:
Linux - Linux dev 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2+deb8u3 (2016-07-02) x86_64

Autoconf:
autoconf (GNU Autoconf) 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+/Autoconf: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by David J. MacKenzie and Akim Demaille.

Bundled Libtool:
libtool (GNU libtool) 2.4.2
Written by Gordon Matzigkeit<EMAIL_ADDRESS>1996

Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

System Libtool:
N/A
Compiler:
N/A
Bison:

Libraries:
	linux-vdso.so.1 (0x00007ffc2dfe7000)
	libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f5ad4270000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f5ad4055000)
	libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f5ad3de7000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f5ad3ae6000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f5ad38e2000)
	libxml2.so.2 => /usr/lib/x86_64-linux-gnu/libxml2.so.2 (0x00007f5ad357b000)
	libssl.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007f5ad331a000)
	libcrypto.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007f5ad2f1e000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5ad2b73000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f5ad2956000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f5ad4b8e000)
	liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f5ad2733000)

================================================================================
PHPINFO
================================================================================
phpinfo()
PHP Version => 7.0.8-1~dotdeb+8.1

System => Linux dev 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2+deb8u3 (2016-07-02) x86_64
Server API => Command Line Interface
Virtual Directory Support => disabled
Configuration File (php.ini) Path => /etc/php/7.0/cli
Loaded Configuration File => /etc/php/7.0/cli/php.ini
Scan this dir for additional .ini files => /etc/php/7.0/cli/conf.d
Additional .ini files parsed => /etc/php/7.0/cli/conf.d/10-mysqlnd.ini,
/etc/php/7.0/cli/conf.d/10-opcache.ini,
/etc/php/7.0/cli/conf.d/10-pdo.ini,
/etc/php/7.0/cli/conf.d/15-xml.ini,
/etc/php/7.0/cli/conf.d/20-calendar.ini,
/etc/php/7.0/cli/conf.d/20-ctype.ini,
/etc/php/7.0/cli/conf.d/20-curl.ini,
/etc/php/7.0/cli/conf.d/20-dom.ini,
/etc/php/7.0/cli/conf.d/20-exif.ini,
/etc/php/7.0/cli/conf.d/20-fileinfo.ini,
/etc/php/7.0/cli/conf.d/20-ftp.ini,
/etc/php/7.0/cli/conf.d/20-gd.ini,
/etc/php/7.0/cli/conf.d/20-gettext.ini,
/etc/php/7.0/cli/conf.d/20-iconv.ini,
/etc/php/7.0/cli/conf.d/20-json.ini,
/etc/php/7.0/cli/conf.d/20-mcrypt.ini,
/etc/php/7.0/cli/conf.d/20-mysqli.ini,
/etc/php/7.0/cli/conf.d/20-pdo_mysql.ini,
/etc/php/7.0/cli/conf.d/20-phar.ini,
/etc/php/7.0/cli/conf.d/20-posix.ini,
/etc/php/7.0/cli/conf.d/20-readline.ini,
/etc/php/7.0/cli/conf.d/20-shmop.ini,
/etc/php/7.0/cli/conf.d/20-simplexml.ini,
/etc/php/7.0/cli/conf.d/20-sockets.ini,
/etc/php/7.0/cli/conf.d/20-sysvmsg.ini,
/etc/php/7.0/cli/conf.d/20-sysvsem.ini,
/etc/php/7.0/cli/conf.d/20-sysvshm.ini,
/etc/php/7.0/cli/conf.d/20-tokenizer.ini,
/etc/php/7.0/cli/conf.d/20-wddx.ini,
/etc/php/7.0/cli/conf.d/20-xmlreader.ini,
/etc/php/7.0/cli/conf.d/20-xmlwriter.ini,
/etc/php/7.0/cli/conf.d/20-xsl.ini

PHP API => 20151012
PHP Extension => 20151012
Zend Extension => 320151012
Zend Extension Build => API320151012,NTS
PHP Extension Build => API20151012,NTS
Debug Build => no
Thread Safety => disabled
Zend Signal Handling => disabled
Zend Memory Manager => enabled
Zend Multibyte Support => disabled
IPv6 Support => enabled
DTrace Support => enabled

Registered PHP Streams => https, ftps, compress.zlib, php, file, glob, data, http, ftp, phar
Registered Stream Socket Transports => tcp, udp, unix, udg, ssl, tls, tlsv1.0, tlsv1.1, tlsv1.2
Registered Stream Filters => zlib.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, convert.iconv.*, mcrypt.*, mdecrypt.*

This program makes use of the Zend Scripting Language Engine:
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.8-1~dotdeb+8.1, Copyright (c) 1999-2016, by Zend Technologies

 _______________________________________________________________________

Configuration

calendar

Calendar support => enabled

Core

PHP Version => 7.0.8-1~dotdeb+8.1

Directive => Local Value => Master Value
allow_url_fopen => On => On
allow_url_include => Off => Off
arg_separator.input => & => &
arg_separator.output => & => &
auto_append_file => no value => no value
auto_globals_jit => On => On
auto_prepend_file => no value => no value
browscap => no value => no value
default_charset => UTF-8 => UTF-8
default_mimetype => text/html => text/html
disable_classes => no value => no value
disable_functions => no value => no value
display_errors => STDERR => STDERR
display_startup_errors => Off => Off
doc_root => no value => no value
docref_ext => no value => no value
docref_root => no value => no value
enable_dl => Off => Off
enable_post_data_reading => On => On
error_append_string => no value => no value
error_log => no value => no value
error_prepend_string => no value => no value
error_reporting => 22527 => 22527
exit_on_timeout => Off => Off
expose_php => On => On
extension_dir => /usr/lib/php/20151012 => /usr/lib/php/20151012
file_uploads => On => On
highlight.comment => <font style="color: #FF8000">#FF8000</font> => <font style="color: #FF8000">#FF8000</font>
highlight.default => <font style="color: #0000BB">#0000BB</font> => <font style="color: #0000BB">#0000BB</font>
highlight.html => <font style="color: #000000">#000000</font> => <font style="color: #000000">#000000</font>
highlight.keyword => <font style="color: #007700">#007700</font> => <font style="color: #007700">#007700</font>
highlight.string => <font style="color: #DD0000">#DD0000</font> => <font style="color: #DD0000">#DD0000</font>
html_errors => Off => Off
ignore_repeated_errors => Off => Off
ignore_repeated_source => Off => Off
ignore_user_abort => Off => Off
implicit_flush => On => On
include_path => .:/usr/share/php => .:/usr/share/php
input_encoding => no value => no value
internal_encoding => no value => no value
log_errors => On => On
log_errors_max_len => 1024 => 1024
mail.add_x_header => On => On
mail.force_extra_parameters => no value => no value
mail.log => no value => no value
max_execution_time => 0 => 0
max_file_uploads => 20 => 20
max_input_nesting_level => 64 => 64
max_input_time => -1 => -1
max_input_vars => 1000 => 1000
memory_limit => -1 => -1
open_basedir => no value => no value
output_buffering => 0 => 0
output_encoding => no value => no value
output_handler => no value => no value
post_max_size => 8M => 8M
precision => 14 => 14
realpath_cache_size => 16K => 16K
realpath_cache_ttl => 120 => 120
register_argc_argv => On => On
report_memleaks => On => On
report_zend_debug => Off => Off
request_order => GP => GP
sendmail_from => no value => no value
sendmail_path => /usr/sbin/sendmail -t -i  => /usr/sbin/sendmail -t -i
serialize_precision => 17 => 17
short_open_tag => Off => Off
SMTP => localhost => localhost
smtp_port => 25 => 25
sql.safe_mode => Off => Off
sys_temp_dir => no value => no value
track_errors => Off => Off
unserialize_callback_func => no value => no value
upload_max_filesize => 2M => 2M
upload_tmp_dir => no value => no value
user_dir => no value => no value
user_ini.cache_ttl => 300 => 300
user_ini.filename => .user.ini => .user.ini
variables_order => GPCS => GPCS
xmlrpc_error_number => 0 => 0
xmlrpc_errors => Off => Off
zend.assertions => -1 => -1
zend.detect_unicode => On => On
zend.enable_gc => On => On
zend.multibyte => Off => Off
zend.script_encoding => no value => no value

ctype

ctype functions => enabled

curl

cURL support => enabled
cURL Information => 7.38.0
Age => 3
Features
AsynchDNS => Yes
CharConv => No
Debug => No
GSS-Negotiate => No
IDN => Yes
IPv6 => Yes
krb4 => No
Largefile => Yes
libz => Yes
NTLM => Yes
NTLMWB => Yes
SPNEGO => Yes
SSL => Yes
SSPI => No
TLS-SRP => Yes
HTTP2 => No
GSSAPI => Yes
Protocols => dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtmp, rtsp, scp, sftp, smtp, smtps, telnet, tftp
Host => x86_64-pc-linux-gnu
SSL Version => OpenSSL/1.0.1t
ZLib Version => 1.2.8
libSSH Version => libssh2/1.4.3

date

date/time support => enabled
"Olson" Timezone Database Version => 2016.3
Timezone Database => internal
Default timezone => UTC

Directive => Local Value => Master Value
date.default_latitude => 31.7667 => 31.7667
date.default_longitude => 35.2333 => 35.2333
date.sunrise_zenith => 90.583333 => 90.583333
date.sunset_zenith => 90.583333 => 90.583333
date.timezone => no value => no value

dom

DOM/XML => enabled
DOM/XML API Version => 20031129
libxml Version => 2.9.1
HTML Support => enabled
XPath Support => enabled
XPointer Support => enabled
Schema Support => enabled
RelaxNG Support => enabled

exif

EXIF Support => enabled
EXIF Version => 1.4 $Id: 8bdc0c8f27c2c9dd1f7551f1f9fe3ab57a06a4b1 $
Supported EXIF Version => 0220
Supported filetypes => JPEG,TIFF

Directive => Local Value => Master Value
exif.decode_jis_intel => JIS => JIS
exif.decode_jis_motorola => JIS => JIS
exif.decode_unicode_intel => UCS-2LE => UCS-2LE
exif.decode_unicode_motorola => UCS-2BE => UCS-2BE
exif.encode_jis => no value => no value
exif.encode_unicode => ISO-8859-15 => ISO-8859-15

fileinfo

fileinfo support => enabled
version => 1.0.5
libmagic => 522

filter

Input Validation and Filtering => enabled
Revision => $Id: 2c8dde9d49ae877877eccaf496c8f5a733b4f1c2 $

Directive => Local Value => Master Value
filter.default => unsafe_raw => unsafe_raw
filter.default_flags => no value => no value

ftp

FTP support => enabled
FTPS support => enabled

gd

GD Support => enabled
GD Version => bundled (2.1.0 compatible)
FreeType Support => enabled
FreeType Linkage => with freetype
FreeType Version => 2.5.2
GIF Read Support => enabled
GIF Create Support => enabled
JPEG Support => enabled
libJPEG Version => 6b
PNG Support => enabled
libPNG Version => 1.2.50
WBMP Support => enabled
XPM Support => enabled
libXpm Version => 30411
XBM Support => enabled
WebP Support => enabled

Directive => Local Value => Master Value
gd.jpeg_ignore_warning => 0 => 0

gettext

GetText Support => enabled

hash

hash support => enabled
Hashing Engines => md2 md4 md5 sha1 sha224 sha256 sha384 sha512 ripemd128 ripemd160 ripemd256 ripemd320 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru snefru256 gost gost-crypto adler32 crc32 crc32b fnv132 fnv1a32 fnv164 fnv1a64 joaat haval128,3 haval160,3 haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5

MHASH support => Enabled
MHASH API Version => Emulated Support

iconv

iconv support => enabled
iconv implementation => glibc
iconv library version => 2.19

Directive => Local Value => Master Value
iconv.input_encoding => no value => no value
iconv.internal_encoding => no value => no value
iconv.output_encoding => no value => no value

json

json support => enabled
json version => 1.4.0

libxml

libXML support => active
libXML Compiled Version => 2.9.1
libXML Loaded Version => 20901
libXML streams => enabled

mcrypt

mcrypt support => enabled
mcrypt_filter support => enabled
Version => 2.5.8
Api No => 20021217
Supported ciphers => cast-128 gost rijndael-128 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 tripledes
Supported modes => cbc cfb ctr ecb ncfb nofb ofb stream

Directive => Local Value => Master Value
mcrypt.algorithms_dir => no value => no value
mcrypt.modes_dir => no value => no value

mysqli

MysqlI Support => enabled
Client API library version => mysqlnd 5.0.12-dev - 20150407 - $Id: 241ae00989d1995ffcbbf63d579943635faf9972 $
Active Persistent Links => 0
Inactive Persistent Links => 0
Active Links => 0

Directive => Local Value => Master Value
mysqli.allow_local_infile => On => On
mysqli.allow_persistent => On => On
mysqli.default_host => no value => no value
mysqli.default_port => 3306 => 3306
mysqli.default_pw => no value => no value
mysqli.default_socket => no value => no value
mysqli.default_user => no value => no value
mysqli.max_links => Unlimited => Unlimited
mysqli.max_persistent => Unlimited => Unlimited
mysqli.reconnect => Off => Off
mysqli.rollback_on_cached_plink => Off => Off

mysqlnd

mysqlnd => enabled
Version => mysqlnd 5.0.12-dev - 20150407 - $Id: 241ae00989d1995ffcbbf63d579943635faf9972 $
Compression => supported
core SSL => supported
extended SSL => supported
Command buffer size => 4096
Read buffer size => 32768
Read timeout => 31536000
Collecting statistics => Yes
Collecting memory statistics => No
Tracing => n/a
Loaded plugins => mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password,auth_plugin_sha256_password
API Extensions => mysqli,pdo_mysql

mysqlnd statistics =>
bytes_sent => 0
bytes_received => 0
packets_sent => 0
packets_received => 0
protocol_overhead_in => 0
protocol_overhead_out => 0
bytes_received_ok_packet => 0
bytes_received_eof_packet => 0
bytes_received_rset_header_packet => 0
bytes_received_rset_field_meta_packet => 0
bytes_received_rset_row_packet => 0
bytes_received_prepare_response_packet => 0
bytes_received_change_user_packet => 0
packets_sent_command => 0
packets_received_ok => 0
packets_received_eof => 0
packets_received_rset_header => 0
packets_received_rset_field_meta => 0
packets_received_rset_row => 0
packets_received_prepare_response => 0
packets_received_change_user => 0
result_set_queries => 0
non_result_set_queries => 0
no_index_used => 0
bad_index_used => 0
slow_queries => 0
buffered_sets => 0
unbuffered_sets => 0
ps_buffered_sets => 0
ps_unbuffered_sets => 0
flushed_normal_sets => 0
flushed_ps_sets => 0
ps_prepared_never_executed => 0
ps_prepared_once_executed => 0
rows_fetched_from_server_normal => 0
rows_fetched_from_server_ps => 0
rows_buffered_from_client_normal => 0
rows_buffered_from_client_ps => 0
rows_fetched_from_client_normal_buffered => 0
rows_fetched_from_client_normal_unbuffered => 0
rows_fetched_from_client_ps_buffered => 0
rows_fetched_from_client_ps_unbuffered => 0
rows_fetched_from_client_ps_cursor => 0
rows_affected_normal => 0
rows_affected_ps => 0
rows_skipped_normal => 0
rows_skipped_ps => 0
copy_on_write_saved => 0
copy_on_write_performed => 0
command_buffer_too_small => 0
connect_success => 0
connect_failure => 0
connection_reused => 0
reconnect => 0
pconnect_success => 0
active_connections => 0
active_persistent_connections => 0
explicit_close => 0
implicit_close => 0
disconnect_close => 0
in_middle_of_command_close => 0
explicit_free_result => 0
implicit_free_result => 0
explicit_stmt_close => 0
implicit_stmt_close => 0
mem_emalloc_count => 0
mem_emalloc_amount => 0
mem_ecalloc_count => 0
mem_ecalloc_amount => 0
mem_erealloc_count => 0
mem_erealloc_amount => 0
mem_efree_count => 0
mem_efree_amount => 0
mem_malloc_count => 0
mem_malloc_amount => 0
mem_calloc_count => 0
mem_calloc_amount => 0
mem_realloc_count => 0
mem_realloc_amount => 0
mem_free_count => 0
mem_free_amount => 0
mem_estrndup_count => 0
mem_strndup_count => 0
mem_estndup_count => 0
mem_strdup_count => 0
proto_text_fetched_null => 0
proto_text_fetched_bit => 0
proto_text_fetched_tinyint => 0
proto_text_fetched_short => 0
proto_text_fetched_int24 => 0
proto_text_fetched_int => 0
proto_text_fetched_bigint => 0
proto_text_fetched_decimal => 0
proto_text_fetched_float => 0
proto_text_fetched_double => 0
proto_text_fetched_date => 0
proto_text_fetched_year => 0
proto_text_fetched_time => 0
proto_text_fetched_datetime => 0
proto_text_fetched_timestamp => 0
proto_text_fetched_string => 0
proto_text_fetched_blob => 0
proto_text_fetched_enum => 0
proto_text_fetched_set => 0
proto_text_fetched_geometry => 0
proto_text_fetched_other => 0
proto_binary_fetched_null => 0
proto_binary_fetched_bit => 0
proto_binary_fetched_tinyint => 0
proto_binary_fetched_short => 0
proto_binary_fetched_int24 => 0
proto_binary_fetched_int => 0
proto_binary_fetched_bigint => 0
proto_binary_fetched_decimal => 0
proto_binary_fetched_float => 0
proto_binary_fetched_double => 0
proto_binary_fetched_date => 0
proto_binary_fetched_year => 0
proto_binary_fetched_time => 0
proto_binary_fetched_datetime => 0
proto_binary_fetched_timestamp => 0
proto_binary_fetched_string => 0
proto_binary_fetched_json => 0
proto_binary_fetched_blob => 0
proto_binary_fetched_enum => 0
proto_binary_fetched_set => 0
proto_binary_fetched_geometry => 0
proto_binary_fetched_other => 0
init_command_executed_count => 0
init_command_failed_count => 0
com_quit => 0
com_init_db => 0
com_query => 0
com_field_list => 0
com_create_db => 0
com_drop_db => 0
com_refresh => 0
com_shutdown => 0
com_statistics => 0
com_process_info => 0
com_connect => 0
com_process_kill => 0
com_debug => 0
com_ping => 0
com_time => 0
com_delayed_insert => 0
com_change_user => 0
com_binlog_dump => 0
com_table_dump => 0
com_connect_out => 0
com_register_slave => 0
com_stmt_prepare => 0
com_stmt_execute => 0
com_stmt_send_long_data => 0
com_stmt_close => 0
com_stmt_reset => 0
com_stmt_set_option => 0
com_stmt_fetch => 0
com_deamon => 0
bytes_received_real_data_normal => 0
bytes_received_real_data_ps => 0

openssl

OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 1.0.1t  3 May 2016
OpenSSL Header Version => OpenSSL 1.0.1t  3 May 2016
Openssl default config => /usr/lib/ssl/openssl.cnf

Directive => Local Value => Master Value
openssl.cafile => no value => no value
openssl.capath => no value => no value

pcntl

pcntl support => enabled

pcre

PCRE (Perl Compatible Regular Expressions) Support => enabled
PCRE Library Version => 8.35 2014-04-04
PCRE JIT Support => enabled

Directive => Local Value => Master Value
pcre.backtrack_limit => 1000000 => 1000000
pcre.jit => 1 => 1
pcre.recursion_limit => 100000 => 100000

PDO

PDO support => enabled
PDO drivers => cassandra, mysql

pdo_cassandra

PDO Driver for Cassandra => enabled
PDO Driver for Cassandra version => 0.6.0

pdo_mysql

PDO Driver for MySQL => enabled
Client API version => mysqlnd 5.0.12-dev - 20150407 - $Id: 241ae00989d1995ffcbbf63d579943635faf9972 $

Directive => Local Value => Master Value
pdo_mysql.default_socket => /var/run/mysqld/mysqld.sock => /var/run/mysqld/mysqld.sock

Phar

Phar: PHP Archive support => enabled
Phar EXT version => 2.0.2
Phar API version => 1.1.1
SVN revision => $Id: 860f5132d446a7b24c2bbf050ce6949381ea8db5 $
Phar-based phar archives => enabled
Tar-based phar archives => enabled
ZIP-based phar archives => enabled
gzip compression => enabled
bzip2 compression => disabled (install pecl/bz2)
Native OpenSSL support => enabled

Phar based on pear/PHP_Archive, original concept by Davey Shafik.
Phar fully realized by Gregory Beaver and Marcus Boerger.
Portions of tar implementation Copyright (c) 2003-2009 Tim Kientzle.
Directive => Local Value => Master Value
phar.cache_list => no value => no value
phar.readonly => On => On
phar.require_hash => On => On

posix

Revision => $Id: 771e31632526e20243748d73c150d8977fff1781 $

readline

Readline Support => enabled
Readline library => EditLine wrapper

Directive => Local Value => Master Value
cli.pager => no value => no value
cli.prompt => \b \>  => \b \>

Reflection

Reflection => enabled
Version => $Id: 4c3f6240f4111de768fd771f35e2291d27631432 $

session

Session Support => enabled
Registered save handlers => files user
Registered serializer handlers => php_serialize php php_binary wddx

Directive => Local Value => Master Value
session.auto_start => Off => Off
session.cache_expire => 180 => 180
session.cache_limiter => nocache => nocache
session.cookie_domain => no value => no value
session.cookie_httponly => Off => Off
session.cookie_lifetime => 0 => 0
session.cookie_path => / => /
session.cookie_secure => Off => Off
session.entropy_file => /dev/urandom => /dev/urandom
session.entropy_length => 32 => 32
session.gc_divisor => 1000 => 1000
session.gc_maxlifetime => 1440 => 1440
session.gc_probability => 0 => 0
session.hash_bits_per_character => 5 => 5
session.hash_function => 0 => 0
session.lazy_write => On => On
session.name => PHPSESSID => PHPSESSID
session.referer_check => no value => no value
session.save_handler => files => files
session.save_path => /var/lib/php/sessions => /var/lib/php/sessions
session.serialize_handler => php => php
session.upload_progress.cleanup => On => On
session.upload_progress.enabled => On => On
session.upload_progress.freq => 1% => 1%
session.upload_progress.min_freq => 1 => 1
session.upload_progress.name => PHP_SESSION_UPLOAD_PROGRESS => PHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefix => upload_progress_ => upload_progress_
session.use_cookies => On => On
session.use_only_cookies => On => On
session.use_strict_mode => Off => Off
session.use_trans_sid => 0 => 0

shmop

shmop support => enabled

SimpleXML

Simplexml support => enabled
Revision => $Id: 8a1ef4915f2024925ab80334b809c691c2cc0196 $
Schema support => enabled

sockets

Sockets Support => enabled

SPL

SPL support => enabled
Interfaces => Countable, OuterIterator, RecursiveIterator, SeekableIterator, SplObserver, SplSubject
Classes => AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, CallbackFilterIterator, DirectoryIterator, DomainException, EmptyIterator, FilesystemIterator, FilterIterator, GlobIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, MultipleIterator, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveCallbackFilterIterator, RecursiveDirectoryIterator, RecursiveFilterIterator, RecursiveIteratorIterator, RecursiveRegexIterator, RecursiveTreeIterator, RegexIterator, RuntimeException, SplDoublyLinkedList, SplFileInfo, SplFileObject, SplFixedArray, SplHeap, SplMinHeap, SplMaxHeap, SplObjectStorage, SplPriorityQueue, SplQueue, SplStack, SplTempFileObject, UnderflowException, UnexpectedValueException

standard

Dynamic Library Support => enabled
Path to sendmail => /usr/sbin/sendmail -t -i

Directive => Local Value => Master Value
assert.active => 1 => 1
assert.bail => 0 => 0
assert.callback => no value => no value
assert.exception => 0 => 0
assert.quiet_eval => 0 => 0
assert.warning => 1 => 1
auto_detect_line_endings => 0 => 0
default_socket_timeout => 60 => 60
from => no value => no value
url_rewriter.tags => a=href,area=href,frame=src,input=src,form=fakeentry => a=href,area=href,frame=src,input=src,form=fakeentry
user_agent => no value => no value

sysvmsg

sysvmsg support => enabled
Revision => $Id: b291daed03ee2339361df6b8cd4d9f5eb4c76387 $

sysvsem

Version => 7.0.8-1~dotdeb+8.1

sysvshm

Version => 7.0.8-1~dotdeb+8.1

tokenizer

Tokenizer Support => enabled

wddx

WDDX Support => enabled
WDDX Session Serializer => enabled

xml

XML Support => active
XML Namespace Support => active
libxml2 Version => 2.9.1

xmlreader

XMLReader => enabled

xmlwriter

XMLWriter => enabled

xsl

XSL => enabled
libxslt Version => 1.1.28
libxslt compiled against libxml Version => 2.9.1
EXSLT => enabled
libexslt Version => 1.1.28

Zend OPcache

Opcode Caching => Disabled
Optimization => Disabled
SHM Cache => Enabled
File Cache => Disabled
Startup Failed => Opcode Caching is disabled for CLI

Directive => Local Value => Master Value
opcache.blacklist_filename => no value => no value
opcache.consistency_checks => 0 => 0
opcache.dups_fix => Off => Off
opcache.enable => On => On
opcache.enable_cli => Off => Off
opcache.enable_file_override => Off => Off
opcache.error_log => no value => no value
opcache.fast_shutdown => 0 => 0
opcache.file_cache => no value => no value
opcache.file_cache_consistency_checks => 1 => 1
opcache.file_cache_only => 0 => 0
opcache.file_update_protection => 2 => 2
opcache.force_restart_timeout => 180 => 180
opcache.huge_code_pages => Off => Off
opcache.inherited_hack => On => On
opcache.interned_strings_buffer => 4 => 4
opcache.lockfile_path => /tmp => /tmp
opcache.log_verbosity_level => 1 => 1
opcache.max_accelerated_files => 2000 => 2000
opcache.max_file_size => 0 => 0
opcache.max_wasted_percentage => 5 => 5
opcache.memory_consumption => 64 => 64
opcache.optimization_level => 0x7FFFBFFF => 0x7FFFBFFF
opcache.preferred_memory_model => no value => no value
opcache.protect_memory => 0 => 0
opcache.restrict_api => no value => no value
opcache.revalidate_freq => 2 => 2
opcache.revalidate_path => Off => Off
opcache.save_comments => 1 => 1
opcache.use_cwd => On => On
opcache.validate_timestamps => On => On

zlib

ZLib Support => enabled
Stream Wrapper => compress.zlib://
Stream Filter => zlib.inflate, zlib.deflate
Compiled Version => 1.2.8
Linked Version => 1.2.8

Directive => Local Value => Master Value
zlib.output_compression => Off => Off
zlib.output_compression_level => -1 => -1
zlib.output_handler => no value => no value

Additional Modules

Module Name

Environment

Variable => Value
TMUX => /tmp/tmux-0/default,3344,0
MAIL => /var/mail/root
SSH_CLIENT => deleted
USER => root
SHLVL => 2
OLDPWD => /root/bixuehujin/YACassandraPDO/modules
HOME => /root
SSH_TTY => deleted
LOGNAME => root
TEST_PHP_EXECUTABLE => /usr/bin/php
_ => /usr/bin/php
TERM => screen
PATH => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
LANG => en_US
SSH_AUTH_SOCK => deleted
SHELL => /bin/bash
PWD => /root/bixuehujin/YACassandraPDO
SSH_CONNECTION => deleted
TMUX_PANE => %3

PHP Variables

Variable => Value
$_SERVER['TMUX'] => /tmp/tmux-0/default,3344,0
$_SERVER['MAIL'] => /var/mail/root
$_SERVER['SSH_CLIENT'] => deleted
$_SERVER['USER'] => root
$_SERVER['SHLVL'] => 2
$_SERVER['OLDPWD'] => /root/bixuehujin/YACassandraPDO/modules
$_SERVER['HOME'] => /root
$_SERVER['SSH_TTY'] => deleted
$_SERVER['LOGNAME'] => root
$_SERVER['TEST_PHP_EXECUTABLE'] => /usr/bin/php
$_SERVER['_'] => /usr/bin/php
$_SERVER['TERM'] => screen
$_SERVER['PATH'] => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$_SERVER['LANG'] => en_US
$_SERVER['SSH_AUTH_SOCK'] => deleted
$_SERVER['SHELL'] => /bin/bash
$_SERVER['PWD'] => /root/bixuehujin/YACassandraPDO
$_SERVER['SSH_CONNECTION'] => deleted
$_SERVER['TMUX_PANE'] => %3
$_SERVER['PHP_SELF'] =>
$_SERVER['SCRIPT_NAME'] =>
$_SERVER['SCRIPT_FILENAME'] =>
$_SERVER['PATH_TRANSLATED'] =>
$_SERVER['DOCUMENT_ROOT'] =>
$_SERVER['REQUEST_TIME_FLOAT'] =><PHONE_NUMBER>.8167
$_SERVER['REQUEST_TIME'] =><PHONE_NUMBER>
$_SERVER['argv'] => Array
(
)

$_SERVER['argc'] => 0

PHP License
This program is free software; you can redistribute it and/or modify
it under the terms of the PHP License as published by the PHP Group
and included in the distribution in the file:  LICENSE

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

If you did not receive a copy of the PHP license, or have any
questions about PHP licensing, please contact<EMAIL_ADDRESS>

I see that on travis, the build was done on Ubuntu 16.04 LTS. I will spin up a VM or just reformat my dev system and see if it makes any difference. At this point, I think I did something wrong with php pdo (by doing a soft link on ./configure ?) or dotdeb's php 7 is drastically different from Ubuntu 16.04's. It's very strange to have a partially working driver with 4 failed tests and 32 passed tests.
[1] https://code.google.com/archive/a/apache-extras.org/p/cassandra-pdo

Thanks for the detailed info. I'm not sure what the problem is but my money would be on the thrift stuff causing the problem. And IMO that could be something that affects some tests but not others? Try to use exactly the same version of thrift that travis is using. And after changing the thrift version, recompile all the source code from scratch.

Simon,
Your comment prompted me to look at all the version differences of every piece of software involved  between my dev server and the travis build, which led me to the issue: I downloaded the latest version of Cassandra version 3.x instead of using the older 2.xx. I use 2.xx on my production servers and on the dev server, I  just upgraded everything to the latest version. Downgrading or starting with Cassandra version 2.xx passes all tests.
The following workarounds for the errors during build time still work for me
Error on ./configure:
checking for PDO includes... configure: error: Cannot find php_pdo_driver.h
fixed by doing ln -s /usr/include/php/20151012/ext ext
YACassandraPDO/gen-cpp/Cassandra.h:10:39: fatal error: thrift/TDispatchProcessor.h: No such file or directory
fixed by doing apt-get install thrift-compiler=0.6.0-2~riptano1 so an older version of thrift is used instead of version 0.9
Hopefully someone will find this information useful :)
Thanks.

Glad to be able to prompt you in the right direction and good to know what the issue is!

BTW the old SSL patch has been merged into [1] with all the tests passing BUT hasn't been properly tested yet with production code... so try it and report back here? :-)
https://github.com/bixuehujin/YACassandraPDO/tree/php7


Github releases and git tags not in sync with published npm releases.

The latest release published on npm is marked 13 days ago at 0.21.17: https://www.npmjs.com/package/knex.
The latest release on github and on the website is tagged 0.21.15 on 12/26/2020.
When checking out the code, there is no git tag marking 0.21.17.

Thanks for noticing! Published a new tag.
For curiosity sake, what are you using tags for?

Was going to checkout code locally based on some version.

Got it!


fit: save dashboard metadata

SUMMARY

this is just a quick fix and more improvement will be done.

force refresh when save button was clicked

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

AFTER:
https://www.loom.com/share/cc346f40c828448f9d5f63c8a7dea4ad
TEST PLAN

ADDITIONAL INFORMATION

[x] Has associated issue: Fixes #10655
[x] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

I think the solution is to take <PropertiesModal /> and break it into 2 components:

one that is stateless, receive the dashboard object and returns a modified one on "Ok"
a wrapper for it <PropertiesModalWrapper /> that does the data fetch and saving

The first one is used in the dashboard edit mode, and affects the redux store. The second is used in the list view for dashboards.

closing this as we will be addressing this in a followup PR


⚡

WIP: pushing one commit at a time to test on CI

Rebased on main!
TODO:

[ ] test again locally with actual sim-ln
[ ] cover warcli export command in test (followup)
[ ] add CLN (followup)

Wow nice one. Will review

added a commit that fixes warcli network export and covers with test. I also ran sim-ln successfully using the exported data from warnet! last step here is to write docs and hand the branch over to sim-ln team to see if the docs and code is sufficient.

added docs!

🥳


Duplicate instafeed!

I'm having a super weird issue with instafeed where the posts are duplicating and I have no idea why.
Here's my javascript control:

aaaand the CSS:
`#instafeed {
width: 100%;
max-width: 1648px;
padding: 0 24px;
margin: 0 auto;
font-size: 0;
display: -webkit-box;
display: -moz-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-direction: normal;
-webkit-box-orient: horizontal;
-moz-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
#instafeed a {
width: auto;
}
.instagram_container {
display: inline-block;
-webkit-box-flex: 0;
-moz-flex: 0 1 33.3333%;
-ms-flex: 0 1 33.3333%;
flex: 0 1 33.3333%;
padding: 0 16px;
margin: 0 0 32px;
}
.owner_profile_picture {
display: none;
}
.instagram_image_meta {
top: 50%;
-webkit-transform: translateY(-50%);
-moz-transform: translateY(-50%);
-ms-transform: translateY(-50%);
-o-transform: translateY(-50%);
transform: translateY(-50%);
position: absolute;
width: 100%;
color: black;
opacity: 0;
pointer-events: none;
letter-spacing: 2px;
}
.caption a {
font-size: 13px;}
.instagram_container:hover .instagram_image_meta {
opacity: 1;
}
.caption {
padding:20px;
}
.instagram_image_meta a {
color: black;
}
`
check it out here: https://www.bearbuttteam.com/pages/instagram
I'm probably doing something wrong, but the issue is not CSS or the script so I don't know what it could be. Any help is greatly appreciated

There is no duplicate feed on that page anymore, so could you close this issue?

Sure thing Steve
From: Ryan Halliday<EMAIL_ADDRESS>Reply-To: "stevenschobert/instafeed.js"<EMAIL_ADDRESS>Date: Friday, February 24, 2017 at 5:37 PM
To: "stevenschobert/instafeed.js"<EMAIL_ADDRESS>Cc: "Vangoey, Connor John"<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [stevenschobert/instafeed.js] Duplicate instafeed! (#478)
There is no duplicate feed on that page anymore, so could you close this issue?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/stevenschobert/instafeed.js/issues/478#issuecomment-282449203, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AV4lKMrnxW_sBvry4RyQfR744cxPWhHUks5rf4XPgaJpZM4Ls8Ek.

Issue is still not closed. @connorv can you close it?

Closing this issue.

how do i close it
From: Steven Schobert<EMAIL_ADDRESS>Reply-To: "stevenschobert/instafeed.js"<EMAIL_ADDRESS>Date: Thursday, March 23, 2017 at 12:05 PM
To: "stevenschobert/instafeed.js"<EMAIL_ADDRESS>Cc: "Vangoey, Connor John"<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [stevenschobert/instafeed.js] Duplicate instafeed! (#478)
Closing this issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/stevenschobert/instafeed.js/issues/478#issuecomment-288828199, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AV4lKD5v8rTaYFhcs-k-BFHgxK4yJlJ5ks5rosJmgaJpZM4Ls8Ek.


Return "Statistical Rating" for !lol counter command

Currently the command returns results based on win rate. However, I believe champion.gg's statistical rating is much more useful as it takes into account other things like damage dealt and game length.
Another command that I think would be useful is !lol bans  to return the most frequently banned champions.

Both are great idea. Thanks!


Adds Prefix Header and Xcode Project

Prefix header includes Foundation and UIKit frameworks.
Xcode project defines one target to build static library.
Adds headers to Copy Files build phase.

Please check whether I'm missing any frameworks or libraries that need to be linked with the targets. I think the prefix header is a good thing, but it's also kind of duplicating some of the work done by Mixpanel.h. I would be inclined to pull that out into the prefix header, but that may be inconvenient for other users.
Fixes #142

We have opted to remove PCH files in favor of CocoaPods.


Jenkins Collector - Only Fetch Success Builds

Jenkins collector only fetches success builds. Is there any property available to enable fetching of all types of builds?

@mdinuth  - It should fetch failed builds as well. Can you see failed build collected to Mongo builds collection.

@mdinuth  - Update to latest code base and try again.


Add functionality to make use of Config Classes in the container.

I'm just wondering what it is you are trying to do here, since I'm not familiar with Aura.DI. I don't see how this would "make things faster" since all it does is adding more complexity. Some explanation would be helpful.
Reading the link from the comments, this sounds like something to load configuration for modules or composer packages. And it is missing some essential parts like placing configuration in a Config class and adding modifications to composer.json to the extra->aura section.

Hi @xtreamwayz ,
Aura.Di provide a way to build it from config classes.  http://auraphp.com/packages/Aura.Di/config.html#1.8
Eg of a Config class :
namespace Vendor\Package;

use Aura\Di\Container;
use Aura\Di\ContainerConfig;

class Config extends ContainerConfig
{
    public function define(Container $di)
    {
        $di->set('log_service', $di->lazyNew('Logger'));
        $di->params['Logger']['dir'] = '/path/to/logs';
    }

    public function modify(Container $di)
    {
        $log = $di->get('log_service');
        $log->debug('Finished config.');
    }
}

and you can build the container as
use Aura\Di\ContainerBuilder;

$container_builder = new ContainerBuilder();

// use the builder to create and configure a container
// using an array of ContainerConfig classes
$di = $container_builder->newConfiguredInstance([
    'Aura\Cli\_Config\Common',
    'Aura\Router\_Config\Common',
    'Aura\Web\_Config\Common',
]);

The problem here is the $di container will be locked and no more edit or adding settings is possible.
So these lines https://github.com/zendframework/zend-expressive-skeleton/blob/master/src/Composer/Resources/config/container-aura-di.php#L16-L24
// Inject config
$container->set('config', $config);
// Inject factories
foreach ($config['dependencies']['factories'] as $name => $object) {
    $container->set($object, $container->lazyNew($object));
    $container->set($name, $container->lazyGetCall($object, '__invoke', $container));
}
// Inject invokables
foreach ($config['dependencies']['invokables'] as $name => $object) {
    $container->set($name, $container->lazyNew($object));
}

will not work.
And also if you look more closely what the Config builder is doing, you can see it need to set the values first.
And later it will try to get the values. In the current case as the configurations are not set https://github.com/zendframework/zend-expressive-skeleton/blob/master/src/Composer/Resources/config/container-aura-di.php#L16-L24  and it will break everything.
The code I have send in PR is exactly the same as from the newConfiguredInstance with moving this https://github.com/zendframework/zend-expressive-skeleton/blob/master/src/Composer/Resources/config/container-aura-di.php#L16-L24 piece of code inside it.
Let me know if I have explained it clearly. If you still have questions feel free to ask, so I can expand the particular portion.
Thank you.

By the way what I mean faster is creating the Config classes easier. I will edit the title.

I have tried this in relation to zend-expressive/issues#180. I begin to understand this now but I still don't see why someone would need this. I think it is easier to use proper Factories to inject dependencies. IMO it's also less overhead and faster in stead of trying to guess what to inject based on reflection. Besides that, the config in arrays can be cached and these Config classes can't be cached.
From their blog:

With this two-stage configuration mechanism, using classes instead of includes, and using Composer to map the config modes the to the config classes, we have the benefits of both a define-only config system and a programmatic modification system. This gives us the best of both worlds, and helps us avoid resorting to static methods for configuration.

So basically this 2-step configuration is only there to prevent static configuration methods, which is something you wouldn't need anyway.
For the example you gave in zend-expressive/issues#180 you would get something like this:
class HomePageFactory
{
    public function __invoke(ContainerInterface $container)
    {
        $template = $container->get(TemplateRendererInterface::class);
        $db = $container->get('database');

        return new HomePageAction($db, $template);
    }
}

@xtreamwayz when using Aura.Di I don't use factories. It is just another class which is not really needed when using Aura.Di .

@xtreamwayz by the way you can disregard the composer related functionalities. It was just to make things easier without adding classes to the configuration array ( https://github.com/zendframework/zend-expressive-skeleton/pull/14#discussion-diff-43838322R14 ) .
Thank you.

@harikt — While I "get" the idea behind the Aura.Di config classes, I see some fundamental issues that are hard to resolve with both current and proposed changes when used in the default Expressive configuration setup:

Where should these classes exist? (i.e., should they be in the source tree? or the config tree? or somewhere entirely else?)
Why the _Config convention? (I haven't seen anywhere in the Aura.Di docs indicating why, only that it's used, and I can't figure out how the autoloading should be defined.)
How will it play with configuration caching?
How will it play with configuration merging? (which is how all of the other containers allow for substitutions currently)

Can you provide some feedback towards these points?

Hi @weierophinney ,

Where should these classes exist? (i.e., should they be in the source tree? or the config tree? or somewhere entirely else?)

These are just classes. It can exists any where and only thing is it need to be auto-loadable.

Why the _Config convention? (I haven't seen anywhere in the Aura.Di docs indicating why, only that it's used, and I can't figure out how the autoloading should be defined.)

My assumption is you were looking at the examples
'Aura\Cli\_Config\Common',
'Aura\Router\_Config\Common',
'Aura\Web\_Config\Common'

I have provided. It was a convention used in aura, but no one need to follow the same. Some examples are already provided in the docs http://auraphp.com/packages/Aura.Di/config.html#1.8 . Taking one  https://github.com/auraphp/Aura.Cli/blob/2.0.0/config/Common.php . The autoload is defined in composer.json .

How will it play with configuration caching?

If you are not using any closures the configuration can be cached. But it is not currently documented. ( https://github.com/auraphp/Aura.Di/blob/3.x/docs/serializing.md ) . I am not sure more on the caching of di and what are the plans in 3.0 . I think we should ping @pmjones to know more on this.

How will it play with configuration merging? (which is how all of the other containers allow for substitutions currently)

I am not sure I get you here. Can you point me to the configuration merging? In my assumption the one thing containers were doing was looking whether a particular service is defined. If so get it and use it. Aura.Di provides the service and it depends on how the configurations are used.

Closing. We currently pin to Aura.Di 3.0, and I'm not satisfied that this will be immediately understood by developers.


Character select missing

Allyn, really appreciate all the hard work you've put into this!
For me, the character select box is always empty white, like the following:

Perhaps because /auth/get/get_characters is returning a 500.
Hopefully I'm not wasting your time with a spurious, temporal issue, but I figured I'd report it anyway.

Hi @rtroberts
I've been looking through the gunicorn log files and it seems Bungie were returning some strange errors.
I checked out Bungie Help on Twitter and saw they were doing some maintenance at the time. Bungie's servers do some strange stuff in maintenance mode and there are no real standard errors.
So I'm hoping this is all related to the maintenance mode but I've added an additional check in the auth flow for this error. Code pushed, it'll be deployed shortly.
Bungie help Tweet:
https://twitter.com/bungiehelp/status/1523709380859936771?s=21&t=Dtvuh5JkI4alA0o5mF9coA
Can you check back shortly and see if it's resolved?
Maintenance is still running for about 30 minutes.

Code commit:
https://github.com/AllynH/destiny_focus/commit/0520d94a66cf74240a602cc4f21bf08e135662a3

I can successfully make a request like https://www.bungie.net/Platform/Destiny2/2/Profile/4611686018436793293/?components=102%2C103%2C200%2C201%2C205%2C300%2C305%2C310, which if I am reading the code correctly, /get/get_characters is using. However, that endpoint is still throwing a 500 error for me, so perhaps it's something else.

Can you check your privacy settings here:
https://www.bungie.net/7/en/User/Account/Privacy

Of course, here it is!

I could also upload the results of the Profile call in a file (it's rather large) if it could be a parsing issue.

Of course, here it is!

You'll need to enable "show my non-equipped inventory".
I make a call to get your profile information, which is the same API endpoint as your inventory.
Essentially all character information, including your inventory, is accessed via that endpoint.

Interesting. I did try turning that on, logging out, hard refreshing, and logging back in - to no effect.

I could also upload the results of the Profile call in a file (it's rather large) if it could be a parsing issue.

Can you try to post this to a private gist and I'll have a look?
https://docs.github.com/en/get-started/writing-on-github/editing-and-sharing-content-with-gists/creating-gists#creating-a-gist

It's not private but it's only Destiny, I don't mind sharing :)
https://gist.github.com/rtroberts/603931bf2ce518a7b6961d0415b5ed47

I'm having the same issue. Is there anything I can contribute to see what may be consistent with our profiles?

It seems there was a strange issue in the Risen title DestinyRecordDefinition where it doesn't include an icon (displayProperties["icon"]) for that title.
This was causing a 500 error in my code, as the value is returned to the user.
https://data.destinysets.com/i/Record:1710217127
This has been fixed now, please try again.
Cc @jtwee

Commit:
https://github.com/AllynH/destiny_focus/commit/9c30c8713ad09fde9576353f78bb57cf18479177

Wow, weird. This commit has resolved the issue for me. Thanks for the help, @AllynH!

Delighted to hear that, thanks for logging the issue. @jtwee  also messaged me to say it's working for them.
Hope you enjoy the app, let me know if there's anything else that needs fixing.


[QUESTION] How can I change the content-type along with the response model?

Exemple:
from fastapi import FastAPI
from fastapi.responses import Response, JSONResponse
from pydantic import BaseModel

app = FastAPI(
    default_response_class=Response,
)

class Circle(BaseModel):
    radius: float

class Square(BaseModel):
    base: float
    heigth: float

@app.get('/{format}')
def main(format: str):
    return {
        'square': lambda: JSONResponse(
            content=Square(base=1.0, heigth=1.0).dict(),
            headers={'content-type': 'application/square+json'}
        ),
        'circle': lambda: JSONResponse(
            content=Circle(radius=1.0).dict(),
            headers={'content-type': 'application/circle+json'}
        ),
    }[format]()

Description
How can I document these different response headers in the redoc and make each point to their respective model?

Refer to the documentation for extra responses: https://fastapi.tiangolo.com/advanced/additional-responses/#combining-information

I already read, but it isn't cleary how can I refer the model inside the content-type
responses = {
    200: {
        'content': {
            'application/com.iupay.circle+json': {
                # Where do I refer the model?
            },
            'application/com.iupay.square+json': {
                # Where do I refer the model?
            },
        },
    }
}

Ok, I figured it out by reading the BaseModel class source code.
responses = {
    200: {
        'content': {
            'application/circle+json': {
                'schema': Circle.schema(),
            },
            'application/square+json': {
                'schema': Square.schema(),
            },
        },
    }
}

It would be good if this were made explicit in the documentation, I believe that other people may have this question too.

Thanks for the help here @Mause ! :clap: :bow:
Thanks for reporting back and closing the issue @GabrielBG99  :+1:


fix abstract

fix abstract bug in quintic_spiral_curve

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.zhenya.liu seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Add unused variable support

Using VSCode you can tag a Diagnostic as DiagnosticTag.Unnecessary as per https://github.com/Microsoft/vscode/blob/83625fa9cbbdec3eab4a635c62f88aab0929aa80/src/vs/vscode.d.ts#L3945 to have them rendered in a faded out manner. I suggest that ghcide should always enable the unused import, unused definition and unused variable warnings, and then map them through as Hint diagnostics (which I guess don't show up in the Problems page?) with Unnecessary as their tag (or higher priority if the user had turned them on too). While I'm not a fan of some of these warnings (unused variables mostly), having the distinction visible in the IDE would be very useful as a feedback sign.
As a note of caution, this tagging is only available in the next version of the LSP spec, so because of how new it is, will require adding to the underlying LSP libraries too.

There are a couple of somewhat orthogonal changes here:

Adding the Unnecessary tag to diagnostics for unused warnings if the client announces support for diagnostic tags. This seems uncontroversial to me and we should do it imho.
Turn on unused warnings by default. As mentioned in #62, I feel fairly strongly that my editor should not show different warnings than running my build tool so I want this to be configurable. But I’d be fine with this being on by default.
Change the severity of unused warnings to Hint. There are two options here: Either we always mark them as a hint or we only mark them as a hint if they are not turned on explicitly. The latter seems to make more sense to me since I would expect that if a user turns them on explicitly, they do see them as something to fix. They will still be tagged which iiuc will result in them having a different color in VSCode which is useful during development since ime even if you do care about those warnings they are usually the ones you fix just before commiting and not while you are writing code.

So to summarize, I’m proposing to

Always tag them as Unnecessary if the client supports this.
Add a CLI flag to turn them on by default.
Change the severity of unused warnings to Hints if the user has not enabled them explicitly.

I was proposing 1 and 3, but not 2. To my mind, the ability to enable additional warnings for the IDE only should be controlled in .hie.yaml, and ghcide should just respect that.

So you aren’t proposing to turn them on by default? As I mentioned, I really want to be able to turn this off and I don’t see how hie.yaml lets me do this.

I think by default its reasonable to gray out the unused variables. I believe in VS Code you can achieve that by making them very low-level diagnostics, which are so low level they don't get onto the problems page. So if the user hasn't explicitly turned them on, we turn them on and reduce their severity until you are only left with the gray text (which I think everyone should want).

I still really dislike the idea of turning on warnings by default with no way to disable them. That reminds me of static analysis tools with a ton of false positives that people just stop using at some point because the signal to noise ratio is too low. Given that I actually like this particular warnings, I’m fine with turning them on by default but I want to at least have a CLI flag to disable that which shouldn’t add much complexity in the implementation given that we already need to differentiate between the warning being enabled explicitly in which case we don’t want to demote it to a hint and the warning being part of the defaults.

You mean you don't want to see the variables in gray? Because that's the only proposed effect I am suggesting from "turning on the warning". Note that in most other IDE's you get the gray by default, and in VS Code, you can set the "unused variable color" for a particular language, and setting it to no effect is equivalent to turning off this warning.

My issue is with “turning on the warning” not making them gray. I don’t want to see warnings that I don’t care about even if they are only displayed in gray and if I do care about them then I want them to be shown when I run my build tool in a terminal as well.

I propose that we:

Don't display the diagnostic to the user at all in any form.
When syntax coloring the text the user has written, in the editor, put the variable that is unused in gray.

This is how TypeScript and similar work in VS Code.

We don’t have control over how the client displays hint diagnostics and I don’t want to rely on how VSCode handles this. From the server side all we can do is mark them as hints and add the unnecessary tag.
I think we are mostly in agreement here. All I’m saying is that I want to have something like a --vanilla-ghc flag (happy to hear suggestions for a better name) that makes ghcide not emit any diagnostics that the user hasn’t turned on explicitly and thereby makes it act like your regular build tool does.

Sure, no objection to that - I would rather the way of emitting unused variables wasn't the same as a diagnostic, or we could have a Fake tag on the diagnostic so all clients knew it wasn't real.

It isn’t clear to me from the spec that clients are supposed to handle an unknown tag gracefully so I’m a bit hesitant to use a fake tag. I think marking it as a hint should probably give us a reasonably sane behavior in most clients which makes it hard to justify trying to come up with something other than diagnostics which would require custom support in every client.

Sorry, I meant what we want is some predefined tag like Fake which has a semantic guarantee we are looking for. I wasn't suggesting we invent a new tag - agree that Hint is fine.
I wonder if vanilla flag should also disable the deferred type errors treatment too, as that differs from what normal tools give.

The deferred type errors remap the warning to an error in ghcide so the only difference is that it continues processing other files which seems small enough that I’d be fine with not having that be part of the vanilla flag but if there’s a demand for it I’d definitely be open to changing that or to having a separate flag to turn that off.

I think that once #232 lands, we can reuse the same infrastructure for "unused" warnings. In fact, I volunteer to implement this feature once the other PR is merged.

Unfortunately, it seems like haskell-lsp-types version 0.19 does not expose that field :(

@serras just in case, haskell-lsp-0.22 already exposes the field: http://hackage.haskell.org/package/haskell-lsp-types-<IP_ADDRESS>/docs/Language-Haskell-LSP-Types.html#t:Diagnostic :smiley:

@jneira thanks for the pointer! now I have homework for the weekend :)

I could not wait until the weekend! #815 is in

Closed by #815, thanks @serras!


README

closes #4

PR-Codex overview
This PR replaces the content of the README with a new description of the project and its usage, along with updated badges and links. It also adds new examples of how to use the project and how to contribute.
Detailed summary

Replaces the old project description with a new one.
Adds new badges and links to the README.
Provides new examples of how to use the project.
Includes a new section on how to contribute to the project.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@rultor merge

@rultor merge

@h1alexbel OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@h1alexbel Done! FYI, the full log is here (took me 2min)


Feat scrolls

Please make sure these boxes are checked before submitting your PR, thank you!

[x] Make sure you follow DiDi's contributing guide.
[x] Make sure you are merging your commits to dev branch.
[x] Add some descriptions and refer relative issues for you PR.

support nest scroll scene

Codecov Report

Merging #245 into dev will decrease coverage by 0.23%.
The diff coverage is 63.63%.

@@            Coverage Diff             @@
##              dev     #245      +/-   ##
==========================================
- Coverage   93.02%   92.79%   -0.24%
==========================================
  Files         132      132
  Lines        2782     2804      +22
  Branches      416      420       +4
==========================================
+ Hits         2588     2602      +14
- Misses         97      105       +8
  Partials       97       97

Impacted Files
Coverage Δ

src/components/scroll/scroll.vue
90.25% <63.63%> (-4.44%)
:arrow_down:

Continue to review full report at Codecov.

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

Travis tests have failed
Hey @tank0317,
Please read the following log in order to understand the failure reason.
It'll be awesome if you fix what's wrong and commit the changes.
Node.js: 6

     npm test

><EMAIL_ADDRESS>test /home/travis/build/didi/cube-ui
> npm run unit && npm run codecov

><EMAIL_ADDRESS>unit /home/travis/build/didi/cube-ui
> cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run

(node:3529) DeprecationWarning: loaderUtils.parseQuery() received a non-string value which can be problematic, see https://github.com/webpack/loader-utils/issues/56
parseQuery() will be replaced with getOptions() in the next major version of loader-utils.
13 09 2018 08:13:09.411:INFO [karma]: Karma v1.7.1 server started at http://<IP_ADDRESS>:9876/
13 09 2018 08:13:09.413:INFO [launcher]: Launching browser PhantomJS_mobile with unlimited concurrency
13 09 2018 08:13:09.469:INFO [launcher]: Starting browser PhantomJS
13 09 2018 08:13:10.227:INFO [PhantomJS 2.1.1 (Linux 0.0.0)]: Connected on socket 17htN0YyUGgIXyThAAAA with id 64285544
PhantomJS 2.1.1 (Linux 0.0.0) INFO LOG: 'You are running Vue in development mode.
Make sure to turn on production mode when deploying for production.
See more tips at https://vuejs.org/guide/deployment.html'

  ActionSheet
    ActionSheet.vue
      ✓ use
      ✓ should render correct contents
      ✓ should render correct contents - no data
      ✓ should render correct contents - picker style
      ✓ should trigger events
    ActionSheet API
      ✓ $createActionSheet API

  Button.vue
    ✓ use
    ✓ should render correct contents
    ✓ props
    ✓ events-called
    ✓ events-no-called

  CascadePicker
    ✓ use
    ✓ should render correct contents
    ✓ should render correct contents when use alias
    ✓ should trigger events
    ✓ should call methods
    ✓ should support async cascade
    ✓ $updateProps
    ✓ should add warn log when single is true

  CheckboxGroup.vue
    ✓ use
    ✓ should render correct contents (horizontal=false)
    ✓ should render correct contents (horizontal=true)
    ✓ should change v-model value

  Checkbox.vue
    ✓ use
    ✓ should render correct contents
    ✓ should toggle v-model value

  DatePicker
    ✓ use
    ✓ should render correct contents
    ✓ should render correct contents when configured startColumn and columnCount
    ✓ should render correct contents when configured format
    ✓ should trigger events
    ✓ should call methods
    ✓ should add warn log when single is true
    ✓ $updateProps: {"value":"2012-10-01T00:00:00.000Z"}
    ✓ $updateProps: {"min":"2012-04-05T00:00:00.000Z"}
    ✓ $updateProps: {"min":"2010-04-05T00:00:00.000Z"}
    ✓ $updateProps: {"max":"2025-10-20T00:00:00.000Z"}

  Dialog
    Dialog.vue
      ✓ use
      ✓ should render correct contents - icon
      ✓ should render correct contents - title
      ✓ should render correct contents - alert
      ✓ should render correct contents - confirm
      ✓ should render correct contents - confirmBtn/cancelBtn
      ✓ should trigger events
      ✓ should not trigger events when btn is disabled
    Dialog API
      ✓ $createDialog API

  Drawer
    ✓ use
    ✓ should render correct contents
    ✓ should trigger events

  Form.vue
    ✓ use
    ✓ should render correct contents
    ✓ should validate & reset correctly
    ✓ should validate & reset correctly - async validate
    ✓ should validate correctly - trigger blur
    ✓ should validate correctly - debounce
    ✓ should trigger events

  ImagePreview
    ImagePreview.vue
      ✓ use
      ✓ should render correct contents
      ✓ should trigger events
      ✓ should work correctly when slide & zoom
    ImagePreview API
      ✓ $createImagePreview API

  IndexList
    IndexList.vue
      ✓ use
      ✓ should render correct contents
      ✓ should trigger events
WARN LOG: '[Cube tip]: <cube-index-list> The property "pull-up-load" is deprecated, please use the recommended property "options" to replace it. Details could be found in https://didi.github.io/cube-ui/#/en-US/docs/index-list#cube-Propsconfiguration-anchor'
      ✓ should trigger pulling-up
WARN LOG: '[Cube tip]: <cube-index-list> The property "pull-down-refresh" is deprecated, please use the recommended property "options" to replace it. Details could be found in https://didi.github.io/cube-ui/#/en-US/docs/index-list#cube-Propsconfiguration-anchor'
      ✓ should trigger pulling-down
      ✓ should fixed title
      ✓ should not have navbar when navbar prop is false
      ✓ run normal when group or item undefined
      ✓ should handle condition of unexpected param

  Input.vue
    ✓ use
    ✓ should render correct contents
    ✓ should not show clear button when no text
    ✓ should show clear button when has text
    ✓ value should be empty when clear button clicked
    ✓ should support more native props
    ✓ should show password eye and work correctly
    ✓ should trigger events

  Loading.vue
    ✓ use
    ✓ should render correct contents - no size
    ✓ should render correct contents - with size

  Picker
    ✓ use
    ✓ should render correct contents
    ✓ should render correct contents when use alias
    ✓ should toggle by change v-model visible
    ✓ should trigger events
    ✓ should refill correct
    ✓ should add warn log when single is true
    ✓ setData when picker is invisible
    ✓ setData when picker is visible

  Popup
    Popup.vue
      ✓ use
      ✓ should render correct contents - no type
      ✓ should render correct contents
      ✓ should toggle by change v-model visible
      ✓ events
    Popup API
      ✓ $createPopup API

  Radio.vue
    ✓ use
    ✓ should render correct contents
    ✓ should render correct contents - horizontal
    ✓ should toggle v-model value
    ✓ v-model should be a number value

  Rate.vue
    ✓ use
    ✓ should render correct contents
    ✓ should trigger change event
    ✓ should trigger change event with click

  ScrollNavBar
    ✓ use
    ✓ should render correct contents
    ✓ should render correct contents - vertical
    ✓ should trigger events

  ScrollNav
    ✓ use
    ✓ should render correct contents
    ✗ should render correct contents - side
	AssertionError: expected '★热门城市' to equal 'A' (/home/travis/build/didi/cube-ui/node_modules/chai/chai.js:210)

    ✓ should sticky & nav correctly
    ✓ should trigger events

  Scroll
    ✓ use
    ✓ should correct by default
    ✓ should render correct contents
    ✓ should trigger pullingDown
    ✓ should not trigger pullingDown
    ✓ should trigger pullingUp
    ✓ should not trigger pullingUp
    ✓ should trigger click
    ✓ should not trigger scroll events
    ✗ should trigger scroll events - with scroll-events
	Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.

WARN LOG: '[Cube tip]: <cube-scroll> The property "listen-scroll" is deprecated, please use the recommended property "scroll-events" to replace it. Details could be found in https://didi.github.io/cube-ui/#/en-US/docs/scroll#cube-Propsconfiguration-anchor'
WARN LOG: '[Cube tip]: <cube-scroll> The property "listen-before-scroll" is deprecated, please use the recommended property "scroll-events" to replace it. Details could be found in https://didi.github.io/cube-ui/#/en-US/docs/scroll#cube-Propsconfiguration-anchor'
    ✓ should trigger scroll events - with listen-scroll
    ✓ should call correct method
    Nest Scrolls
      ✓ should render scrolls correct
      ✓ should disable outer scroll when touch the inner one and not reach boundary
      ✓ should disable inner scroll when touch the inner one and reach boundary
ERROR LOG: '[Vue warn]: Error in event handler for "scroll": "AssertionError: expected true to be false"

found in

---> <CubeScroll> at /home/travis/build/didi/cube-ui/src/components/scroll/scroll.vue
       <Root>'
ERROR LOG: AssertionError{message: 'expected true to be false', showDiff: false, actual: true, expected: false, stack: undefined, line: 210, sourceURL: 'http://localhost:9876/absolute/home/travis/build/didi/cube-ui/node_modules/chai/chai.js?ab7cf506d9d77c111c878b1e10b7f25348630760'}

  SegmentPicker
    ✓ use
    ✓ should render correct contents
    ✓ should correct by default
    ✓ should trigger events
    ✓ $updateProps
    ✓ should add warn log when single is true

  Select.vue
    ✓ use
    ✓ should render correct contents
    ✓ should render correct contents - update txt
    ✓ should trigger events

  Slide.vue
    ✓ use
    ✓ should render correct contents
    ✓ should clone nodes if loop is true
    ✓ should trigger events
    ✓ should trigger scroll-end but without change
    ✓ should trigger scroll when changed
    ✓ should not trigger scroll when option.probeType !== 3
    ✓ should go to right pageIndex if set initialIndex
    ✓ should not reset current when set refreshResetCurrent=false

  Sticky
    ✓ use
    ✓ should render correct contents
    ✓ should fixed ele
    ✓ should fixed ele - checkTop
    ✓ should trigger events

  Swipe
    ✓ use
    ✓ should render correct contents
    ✓ should shrink if the swipe width not enough
    ✓ should shrink if the last moving direction is right
    ✓ should shrink and not moved if the duration is more than momentumLimitTime and moving distance is less than momentumLimitDistance
    ✓ should shrink and not moved if y-axis distance is more than x-axis distance
    ✓ should grow if the swipe width enough
    ✓ should grow if the duration is less than momentumLimitTime and moving distance is more than momentumLimitDistance
    ✓ should not swipe out of the boundaries when swiping left
    ✓ should not swipe out of the boundaries when swiping right
    ✓ should trigger events
    ✓ should shrink if another swipe item active
    ✓ should do nothing if active the same swipe item
    ✓ should call refresh if the btns prop has changed
    ✓ should use default props if do not pass any prop

  Switch
    ✓ use
    ✓ should render correct contents
    ✓ should toggle v-model value

  TabBar
    ✓ use
    ✓ props
    ✓ should render correct content when pass data prop
    ✓ should toggle v-model value
    ✓ should trigger click and change event
    ✓ should remove child dom when child component destroyed

  Textarea.vue
    ✓ use
    ✓ should render correct contents
    ✓ should render correct contents - no indicator
    ✓ should not expand when blur
    ✓ should expand when focus, fold when blur
    ✓ should has remain when focus
    ✓ should change value
    ✓ should support more native props

  TimePicker
    ✓ use
    ✓ should render correct contents
    ✓ should render correct contents - no showNow
    ✓ should render correct contents - showNow text
    ✓ should trigger events
    ✓ should have correct args when select normal time
    ✓ should have correct selectText when config format
    ✓ should add warn log when single is true
    ✓ should init minutes correct when minute step is undefined
    ✓ should init minutes correct when minute step is 15
    ✓ should init minutes correct when minute step is [object Object]
    ✓ should init minutes correct when minute step is [object Object]
    ✓ should init minutes correct when minute step is [object Object]
    ✓ should init minutes correct when minute step is [object Object]
    ✓ should init minutes correct when minute step is [object Object]

  Tip.vue
    ✓ use
    ✓ should render correct contents
    ✓ should render correct contents with offset[X]
    ✓ should be hidden after clicked content
    ✓ should be hidden after clicked close button

  Toast
    Toast.vue
      ✓ use
      ✓ should render correct contents - no type
      ✓ should render correct contents - time 0
      ✓ should render correct contents - with type
    Toast API
      ✓ $createToast API
      ✓ should trigger correct event

  Toolbar.vue
    ✓ use
    ✓ should render correct contents
    ✓ should render correct contents - more actions
    ✓ should trigger events

  Upload.vue
    ✓ use
    ✓ should render correct contents
    ✓ should add files & upload
    ✓ should remove file
    ✓ should start & pause upload
    ✓ should retry upload
    ✓ should trigger events

  Validator
    Validator.vue
      ✓ use
      ✓ should render correct contents - invalid
      ✓ should reset correctly
      ✓ should not validate when disabled
      ✓ should trigger events
    rules
      ✓ should be valid - no rule
      ✓ should be valid - unstated rule
      ✓ should be invalid - require: array
      ✓ should be invalid - type: string
      ✓ should be valid - type: string
      ✓ should be invalid - type: number
      ✓ should be valid - type: number
      ✓ should be invalid - type: array
      ✓ should be valid - type: array
      ✓ should be invalid - type: date
      ✓ should be valid - type: date
      ✓ should be invalid - type: email
      ✓ should be valid - type: email
      ✓ should be invalid - type: tel
      ✓ should be valid - type: tel
      ✓ should be invalid - type: url
      ✓ should be valid - type: url
      ✓ should be invalid - min: string
      ✓ should be valid - min: number
      ✓ should be valid - max: string
      ✓ should be invalid - max: number
      ✓ should be valid - len: string
      ✓ should be invalid - len: number
      ✓ should be invalid - notWhitespace
      ✓ should be invalid - pattern
      ✓ should be invalid - custom
    methods
      ✓ should add customized rule and message
      ✓ should rewrite raw type
      ✓ should change the language of default message

PhantomJS 2.1.1 (Linux 0.0.0): Executed 256 of 256 (2 FAILED) (1 min 20.649 secs / NaN secs)
TOTAL: 2 FAILED, 254 SUCCESS

1) should render correct contents - side
     ScrollNav
     AssertionError: expected '★热门城市' to equal 'A' (/home/travis/build/didi/cube-ui/node_modules/chai/chai.js:210)

2) should trigger scroll events - with scroll-events
     Scroll
     Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.

=============================== Coverage summary ===============================
Statements   : 96.27% ( 2738/2844 )
Branches     : 84.69% ( 1123/1326 )
Functions    : 95.67% ( 265/277 )
Lines        : 96.32% ( 2724/2828 )
================================================================================

npm ERR! Linux 4.4.0-112-generic
npm ERR! argv "/home/travis/.nvm/versions/node/v6.14.4/bin/node" "/home/travis/.nvm/versions/node/v6.14.4/bin/npm" "run" "unit"
npm ERR! node v6.14.4
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>unit: `cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>unit script 'cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the cube-ui package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs cube-ui
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls cube-ui
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/travis/build/didi/cube-ui/npm-debug.log
npm ERR! Test failed.  See above for more details.


Cannot replicate example in Advanced User Guide

Hi,
I cannot complete the example in Advanced User Guide (events project)
After I imported the project and dataset, then clicked  "recreate knowledge graph". But there is no change after waiting for 15 mins.

I pulled mydig project today so I wonder if it's because of reverting version?

What's in you PROJECT_FOLDER/<project_name>/working_dir/etk_stdout_*.txt?

There are etk_stdout_0.txt and etk_stdout_1.txt, but both are empty file.

After clicking recreate button, have you seen any error in alert box? Have you given enough memory?
Any errors in Kafka docker logs dig_kafka_1?
Try to increase the heap size of Kafka in docker-compose: e.g., locate to kafka section, increase heap size from 256m to 1g.

Please also paste your docker ps -a result here

No I didn't see any alert. I gave 6G memory to docker.
I see a WARN: Unable to reconnect to ZooKeeper service, session 0x160199d7c7f0005 has expired (org.apache.zookeeper.ClientCnxn) in Kafka logs.
logs.txt
As for docker ps -a:

Hi,
I just removed all the containers and images, then restart from scratch. It seems it works now and completes building the knowledge graph.

But I also tracked an error, I'm not sure if it's important.

This problem comes when session timeout max time is not enough for current environment which includes the size of (batched) doc, not enough memory for Zookeeper / Kafka, etc.
You may need to fine tune Kafka configs in section of Kafka in docker-compose.yml and PROJECT_DIR/<project_name>/working_dir/etl_config.json. We currently don't have document for it. But you can ignore it right now, it will just take long time to process.

Closing, please reopen it if the issue is still there.


in a web app with the beamer example, the web browser back button does not work correctly

in a web app with beamer, the web browser back button does not work correctly.
When I run the beamer version for the web and google chrome, I can switch between the details screens A and B and the counters that they display are independent and are not lost when I switch between the two details screens using the bottom navigation buttons.  Each time I switch, the URL in the browser address bar changes between a and b
http://localhost:64367/#/a/details
http://localhost:64367/#/b/details
but when I look in the browser back button history it shows "Details B" a lot instead of alternating. If I select the first one in the list, the URL changes from B to A but the screen itself stays on "details B".  Sometimes when I click the browser back button the details screen does change from B to A (along with the URL) but the counter on screen A gets reset to zero.

@graemep-nz @bizz84 I saw the same issue. Can this be resolved? Is a Flutter problem, package problem or app problem?
I add a demo I recorded to show the issue with a different perspective.
https://github.com/bizz84/nested_navigation_examples/assets/1505545/a69e6455-eefb-4b80-93c7-d331bda62840


Return functionality that was removed from modern Chromium-based browsers

I suggest you return in future versions of the Thorium browser (x86 and x64) the functionality that was removed from modern Chromium-based browsers (Google Chrome, Opera Blink, Microsoft Edge, Yandex.Browser, Vivaldi, etc.) under pressure from Google marketers. Including:
Adobe Flash Player
NPAPI and PPAPI plugins
chrome://plugins (plugins management page)
FTP protocol

Why Flash? Flash is dead. It's actually impossible to use Flash anymore.

Last time I used flash for were some old games and movies but there's no way to put them back to browser... I got the standalone player if nostalgia cramps too much.

Ruffle is pretty good, you should try that.


Need help in converting custom block into html

Hi Team,
I have been trying to convert the sanity webhook event data (which is portable text into html). However, i have a custom code block and would like to add it to the serializer. What would be the proper way to do it ? any example is really helpful, this is the last part of the webhook data that i stuck with and i am processing it on the server side.
      {
         "_key":"cae3d7fa8a0d",
         "_type":"codeBlock",
         "code":"<PortableText\n  className='prose mx-auto mt-8'\n  content={content}\n  projectId={process.env.PROJECT_ID}\n  dataset={process.env.DATASET}\n  serializers={{\n    code: props => {\n      // console.log('Testing', props)\n      return <pre>{props.children}</pre>\n    },\n    codeBlock: props => {\n      return <CodeBlock code={props.code} language={props.language} />\n    },\n  }}\n/>",
         "language":"html"
      },

From the Sanity Blog Article
Create a Custom portableTextToHtml Serializer
You can learn more about the @portabletext/to-html package here
import { portableTextToHtml } from 'astro-sanity';
import { urlForImage } from './urlForImage';
const customComponents = {
/* your custom components here */
};
export function sanityPortableText(portabletext) {
return portableTextToHtml(portabletext, customComponents);
}

I second this. I am trying to port custom blocks to html I get all these warnings in the console:
✔ Nitro Server built in 478 ms                                                                                nitro 10:49:55 AM
Unknown block type "header", specify a component for it in the `components.types` option
Unknown block type "richtext", specify a component for it in the `components.types` option
Unknown block type "richtext", specify a component for it in the `components.types` option
Unknown block type "navElement", specify a component for it in the `components.types` option
Unknown block type "richtext", specify a component for it in the `components.types` option
Unknown block type "header", specify a component for it in the `components.types` option
Unknown block type "richtext", specify a component for it in the `components.types` option
Unknown block type "media", specify a component for it in the `components.types` option
Unknown block type "header", specify a component for it in the `components.types` option
Unknown block type "media", specify a component for it in the `components.types` option

But jhave no idea where I can add these ...