error: #error This file was generated by an older version of protoc which is

Hi , could anyone help me?
when i do last step on linux:
$ git clone https://github.com/davechurchill/commandcenter.git && cd commandcenter
$ cmake .
$ make
it throws me error:
[  2%] Building CXX object src/CMakeFiles/CommandCenter.dir/BaseLocation.cpp.o
In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5:0,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.cpp:1:
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
#error This file was generated by an older version of protoc which is
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
#error incompatible with your Protocol Buffer headers.  Please
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
#error regenerate this file with a newer version of protoc.
^
In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:31:0,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.cpp:1:
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/common.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
#error This file was generated by an older version of protoc which is
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/common.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
#error incompatible with your Protocol Buffer headers.  Please
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/common.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
#error regenerate this file with a newer version of protoc.
^
In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:32:0,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.cpp:1:
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/data.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
#error This file was generated by an older version of protoc which is
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/data.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
#error incompatible with your Protocol Buffer headers.  Please
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/data.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
#error regenerate this file with a newer version of protoc.
^
In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:33:0,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.cpp:1:
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/debug.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
#error This file was generated by an older version of protoc which is
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/debug.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
#error incompatible with your Protocol Buffer headers.  Please
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/debug.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
#error regenerate this file with a newer version of protoc.

Hi, @slimak2
That means that you have libprotobuf installed somewhere in your system and this version is incompatible with the SC2 API.

you mean the one that i move from build/bin/libprotobuf.a    to    /opt/local/lib/sc2api   ?

Nope. I mean the package that was installed using your package manager (yum, dnf, apt-get).

and what version is compatible?

I don't know. You should ask Blizzard about it or look into the libprotobuf submodule in the s2client-api sources for version number.
Usually the simplest way to avoid such errors is to uninstall libprotobuf especially because it could be different even if it has the same version. The other way probably would be usage of various workarounds like LD_LIBRARY_PATH.

I don't have root permission on the server i am installing it, all the programs i am installing on my local folder and then i am changing paths. i just completely removed libprotobuf from lib folder in my local directory and i completely changed LD_LIBRARY_PATH variable, but it had no effect on the result, i still got the exactly same error.

i completely changed LD_LIBRARY_PATH variable
What do you mean?

first i added there path to my local directory, when i found out it had no effect, i set the way my directory was the only path in LD_LIBRARY_PATH and when it had no effect, i set it to nonexistent path and it still had no efect

It seems that you have problem during compilation stage while LD_LIBRARY_PATH works during linking stage.
Could you show several lines before error after execution of 'VERBOSE=1 make' ?

[  2%] Building CXX object src/CMakeFiles/CommandCenter.dir/BaseLocation.cpp.o
cd /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src && /usr/bin/c++   -DSC2API -isystem /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include  -Wall -Wextra   -std=gnu++14 -o CMakeFiles/CommandCenter.dir/BaseLocation.cpp.o -c /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.cpp
In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5:0,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.cpp:1:
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
#error This file was generated by an older version of protoc which is
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
#error incompatible with your Protocol Buffer headers.  Please
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
#error regenerate this file with a newer version of protoc.
^
In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:31:0,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.cpp:1:
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/common.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
#error This file was generated by an older version of protoc which is
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/common.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
#error incompatible with your Protocol Buffer headers.  Please
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/common.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
#error regenerate this file with a newer version of protoc.
^
In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:32:0,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.cpp:1:
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/data.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
#error This file was generated by an older version of protoc which is
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/data.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
#error incompatible with your Protocol Buffer headers.  Please
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/data.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
#error regenerate this file with a newer version of protoc.
^
In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:33:0,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.cpp:1:
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/debug.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
#error This file was generated by an older version of protoc which is
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/debug.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
#error incompatible with your Protocol Buffer headers.  Please
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/debug.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
#error regenerate this file with a newer version of protoc.
^
In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:34:0,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.cpp:1:
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/error.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
#error This file was generated by an older version of protoc which is
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/error.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
#error incompatible with your Protocol Buffer headers.  Please
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/error.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
#error regenerate this file with a newer version of protoc.
^
In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:35:0,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.cpp:1:
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/query.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
#error This file was generated by an older version of protoc which is
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/query.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
#error incompatible with your Protocol Buffer headers.  Please
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/query.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
#error regenerate this file with a newer version of protoc.
^
In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:36:0,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.cpp:1:
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/raw.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
#error This file was generated by an older version of protoc which is
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/raw.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
#error incompatible with your Protocol Buffer headers.  Please
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/raw.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
#error regenerate this file with a newer version of protoc.
^
In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:37:0,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.cpp:1:
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/score.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
#error This file was generated by an older version of protoc which is
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/score.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
#error incompatible with your Protocol Buffer headers.  Please
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/score.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
#error regenerate this file with a newer version of protoc.
^
In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:38:0,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.cpp:1:
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/spatial.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
#error This file was generated by an older version of protoc which is
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/spatial.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
#error incompatible with your Protocol Buffer headers.  Please
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/spatial.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
#error regenerate this file with a newer version of protoc.
^
In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:39:0,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.cpp:1:
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/ui.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
#error This file was generated by an older version of protoc which is
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/ui.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
#error incompatible with your Protocol Buffer headers.  Please
^
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/ui.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
#error regenerate this file with a newer version of protoc.
^
In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/google/protobuf/arenastring.h:40:0,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:23,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.cpp:1:
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/google/protobuf/generated_message_util.h:121:67: error: expected initializer before âGOOGLE_ATTRIBUTE_NORETURNâ
LIBPROTOBUF_EXPORT void MergeFromFail(const char* file, int line) GOOGLE_ATTRIBUTE_NORETURN;
^
In file included from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.cpp:1:0:
/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.h: In constructor âBaseLocation::BaseLocation(CCBot&, int, const std::vector&)â:
/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.h:32:33: warning: âBaseLocation::m_isStartLocationâ will be initialized after [-Wreorder]
bool                        m_isStartLocation;
^
/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.h:28:33: warning:   âCCPositionType BaseLocation::m_leftâ [-Wreorder]
CCPositionType              m_left;
^
/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.cpp:9:1: warning:   when initialized here [-Wreorder]
BaseLocation::BaseLocation(CCBot & bot, int baseID, const std::vector & resources)
^
/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.cpp:93:21: warning: unused variable âtileâ [-Wunused-variable]
for (auto & tile : getClosestTiles())
^
/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.cpp:59:12: warning: unused variable ânumResourcesâ [-Wunused-variable]
size_t numResources = m_minerals.size() + m_geysers.size();
^
src/CMakeFiles/CommandCenter.dir/build.make:62: nĂĄvod pro cĂl âsrc/CMakeFiles/CommandCenter.dir/BaseLocation.cpp.oâ selhal
make[2]: *** [src/CMakeFiles/CommandCenter.dir/BaseLocation.cpp.o] Chyba 1
make[2]: OpouĹĄtĂ se adresĂĄĹ â/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenterâ
CMakeFiles/Makefile2:85: nĂĄvod pro cĂl âsrc/CMakeFiles/CommandCenter.dir/allâ selhal
make[1]: *** [src/CMakeFiles/CommandCenter.dir/all] Chyba 2
make[1]: OpouĹĄtĂ se adresĂĄĹ â/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenterâ
Makefile:83: nĂĄvod pro cĂl âallâ selhal
make: *** [all] Chyba 2

Ok. And what the content of:
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h (strings 11 - 17)?

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: s2clientprotocol/sc2api.proto
#ifndef PROTOBUF_s2clientprotocol_2fsc2api_2eproto__INCLUDED
#define PROTOBUF_s2clientprotocol_2fsc2api_2eproto__INCLUDED
#include
#include <google/protobuf/stubs/common.h>
#if GOOGLE_PROTOBUF_VERSION < 2007000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please update
#error your headers.
#endif
#if 2007000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please
#error regenerate this file with a newer version of protoc.
#endif

So you need to find who sets GOOGLE_PROTOBUF_MIN_PROTOC_VERSION variable because it represents currently installed libprotobuf.

Another option could be to ask Blizzard about this issue since it is s2client-api headers that cause this error.

the file of opt/local/include/s2clientprotocol/sc2api.pb.h is instaled by s2client-api why they expect me to have protoc and protobuf version 2.7.0 ? there is no such version for c++ only for python. i have installed 3.4.0 of protoc and protobuf. Looks like i don't understand how it works then.
Could you please tell me what i should install to make it compatible?
Why it says here that i must have 2.7.0 version of protobuf?

Blizzard forked libprotobuf and included it as a submodule into the API. Probably it has been done long time ago, e.g. when version 2.7 was the upstream. This is a common way to freeze dependency on some supported version.

You are not supposed to install libprotobuf from any other source. During the compilation of the API the libprotobuf submodule is built and used in it’s turn to generate internal SC2 protocol headers. Then required libraries installed manually to /opt.

During the compilation of CommandCenter your currently installed libprotobuf tools/headers/libs are used by some reason and this is wrong cause the API uses different version. So there are too options: either remove libprotobuf completely from your system or try to figure out why newer version of libprotobuf is used by the compiler.

Installation of proper libprotobuf version doesn’t guarantees that everything will work because the API can contain local modifications to the submodule.

Could you please give me advice on what could be most probable reason why newer version of libprotobuf is used by the compiler? Could it be LD_LIBRARY_PATH variable? I tried to set this variable but it had no effect. What i could look into?

The error comes in compile time so LD_LIBRARY_PATH will not help.
I don’t know, you need to find out how GOOGLE_PROTOBUF_VERSION is determined. Probably some tools are executed, e.g. protoc —version.

when i write protoc --version. it says that for running protoc install protobuf-compiler . should i install it?and which one?

i also did install protobuf before by using:
git clone https://github.com/google/protobuf.git
cd protobuf/
./autogen.sh
./configure --prefix=/home/you/usr
make
make install
because i don't have root permition

Unfortunately I don't know, I am not an expert in this protobuf things. But I strongly recommend you to take a close look at the compilation procedure, not just guessing.

okey, wich compilation procedure? of protobuf or of commandcenter or s2client-api ?

CommandCenter. The rest are compiled already when the error occures.

the makefile in CommandCenter contain:
CMAKE generated file: DO NOT EDIT!
Generated by "Unix Makefiles" Generator, CMake Version 3.5
Default target executed when no arguments are given to make.
default_target: all
.PHONY : default_target
Allow only one "make -f Makefile2" at a time, but pass parallelism.
.NOTPARALLEL:
#=============================================================================
Special targets provided by cmake.
Disable implicit rules so canonical targets will work.
.SUFFIXES:
Remove some rules from gmake that .SUFFIXES does not remove.
SUFFIXES =
.SUFFIXES: .hpux_make_needs_suffix_list
Suppress display of executed commands.
$(VERBOSE).SILENT:
A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
Set environment variables for the build.
The shell in which to execute make rules.
SHELL = /bin/sh
The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
The command to remove a file.
RM = /usr/bin/cmake -E remove -f
Escaping for special characters.
EQUALS = =
The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter
The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter
#=============================================================================
Targets provided globally by CMake.
Special rule for the target edit_cache
edit_cache:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
/usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
.PHONY : edit_cache
Special rule for the target edit_cache
edit_cache/fast: edit_cache
.PHONY : edit_cache/fast
Special rule for the target rebuild_cache
rebuild_cache:
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
/usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
.PHONY : rebuild_cache
Special rule for the target rebuild_cache
rebuild_cache/fast: rebuild_cache
.PHONY : rebuild_cache/fast
The main all target
all: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/CMakeFiles /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/CMakeFiles/progress.marks
$(MAKE) -f CMakeFiles/Makefile2 all
$(CMAKE_COMMAND) -E cmake_progress_start /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/CMakeFiles 0
.PHONY : all
The main clean target
clean:
$(MAKE) -f CMakeFiles/Makefile2 clean
.PHONY : clean
The main clean target
clean/fast: clean
.PHONY : clean/fast
Prepare targets for installation.
preinstall: all
$(MAKE) -f CMakeFiles/Makefile2 preinstall
.PHONY : preinstall
Prepare targets for installation.
preinstall/fast:
$(MAKE) -f CMakeFiles/Makefile2 preinstall
.PHONY : preinstall/fast
clear depends
depend:
$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
.PHONY : depend
#=============================================================================
Target rules for targets named CommandCenter
Build rule for target.
CommandCenter: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 CommandCenter
.PHONY : CommandCenter
fast build rule for target.
CommandCenter/fast:
$(MAKE) -f src/CMakeFiles/CommandCenter.dir/build.make src/CMakeFiles/CommandCenter.dir/build
.PHONY : CommandCenter/fast
Help Target
help:
@echo "The following are some of the valid targets for this Makefile:"
@echo "... all (the default if no target is provided)"
@echo "... clean"
@echo "... depend"
@echo "... edit_cache"
@echo "... rebuild_cache"
@echo "... CommandCenter"
.PHONY : help
#=============================================================================
Special targets to cleanup operation of make.
Special rule to run CMake to check the build system integrity.
No rule that depends on this can have commands that come from listfiles
because they might be regenerated.
cmake_check_build_system:
$(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
.PHONY : cmake_check_build_system


Add email notification feature

Currently the project don't have support for email notifications, we need to add that support to send notification one day before task is due

Good work. closing the issue


Fix live reload on emulator - change emulate ipAddress to publicIp

Server settings ipAddress undefined in emulate command, changed to be same as run command.

Fixes #2058


Remove upcoming events when they're over

Currently, we manually remove events from the community page. It would be nice if they disappeared from the UI when their date passed. Is it possible to do this?

Hey @bilgeyucel sure I've opened a PR for it: https://github.com/deepset-ai/haystack-home/pull/122 just need to change the format of the date when the event is added

solved with #122


lib: add a short alias for cartesianProductOfSets

Description of changes
This function can be very handy, but it's a mouthful to type. Not sure if we have an official policy on function aliasing in nixpkgs, but I thought I'd at least suggest it.
The X is in lieu of ⨯

i don't think this is something we want to do


Feature request: Changing video modes should preserver colour scheme

Today, whenever we change the video mode, the foreground and background colors will also change to white / black, respectively.
The FG/BG colours should be preserved across screen mode changes.

the VDU system is written to be similar to Acorn's VDU system.  on an Acorn system when you changed screen mode, the colours get reset to their default values, i.e. black and white
preserving fg/bg colours would differ from this behaviour
you can clear the graphics area whilst preserving graphics FG and BG colours using VDU 16 (CLG in BASIC)

Ok, fair enough. I'll close this issue.


removing the GIFM bundle banner

Deploy preview processing.
Built with commit 017e5e11b0371a22ca894b61a9a600ec650a2f48
https://app.netlify.com/sites/goin5minutes/deploys/5802accaa7e2d2199ab206eb


Update crawler-user-agents.json

added "centurybot9"

information from https://udger.com/resources/ua-list/bot-detail?bot=centurybot9

closes #266

Thanks a lot @sokai , see failing checks in CI.

Hey @monperrus , I didn't understand your comment, forgot this PR and now it's closed … – I'm sorry!
Can you shortly explain me what I missed and how I can contribute the above (simple ) addition?
Thanks a lot and KR!

@sokai I fixed the problem and merged


coloctapp returned HTML has changed again

The fix implemented here https://github.com/freelawproject/juriscraper/pull/1170 no longer works; breaking the scraper since the expected HTML tags are not there

Merging the fix may cause duplicates: since the HTML has changed, the content hash has changed too


review release script and hot fix process to ensure its smooth for next production bug that needs a hotfix against main

During a recent production issue their was not confidence in the ability and process to make a hot fix against main to avoid pushing the differences between develop and main.
We should add this functionality in the script and everyone's comfortability with it to ensure during the next prod issue we can make use of it.
we should also document this process a bit better so any engineer feels comfortable in the midst of a prod issue

Will take a look at this since I'm precisely in this context with the robots work currently


[docs] microTVM model training tutorial with Colab support

This PR adds a new tutorial to the microTVM how_to gallery, showing how a MobileNet V1 model can be trained with transfer learning and modified to fit on embedded devices (in this case, the Arduino Nano 33 BLE). This tutorial also addresses #10706 by showing what it would take to allow tutorials to be opened using Google Colab. See the below screenshot, or view the HTML page at the link below:

Alternatively, to make it easier I've also copied the output HTML file, and hosted it at the following link:
https://guberti.github.io/tvm-docs-proof-of-concept/

How does "Open in Colab" work?
Google Colab has a feature where using a URL, .ipynb files can be loaded from GitHub links. It just so happens that TVM's doc files are already held at https://github.com/apache/tvm-site/tree/asf-site, so we only need to point Google Colab to that. Since this tutorial is not yet merged, all the "Open in Colab" button is is a link to the following address:
https://colab.research.google.com/github/guberti/tvm-site/blob/asf-site/docs/_downloads/a7c7ea4b5017ae70db1f51dd8e6dcd82/micro_train.ipynb
What had to be changed to get this working?
In theory, nothing about Sphinx Gallery would have to be changed to make this work. However, in practice the generation of .ipynb files is extremely buggy, so the output Python notebooks do not work anyway. I made two pull requests to add features to Sphinx Gallery to make this possible:

https://github.com/sphinx-gallery/sphinx-gallery/pull/940
https://github.com/sphinx-gallery/sphinx-gallery/pull/941

If these features are merged into sphinx-gallery, then we only need to update the version of sphinx-gallery to make opening tutorials in Colab possible.

This is fantastic! Colab will be great to have in the docs. If the sphinx-gallery PRs don’t get merged in a timely manner we can apply your patches and build it from source in the Docker images so we don’t need to wait

retriggered now that https://github.com/apache/tvm/pull/11164 has landed

@guberti could you try pushing an empty commit? i think retriggering somehow didn't pick up the right Jenkinsfile changes.

thanks @guberti, few questions

Thanks for taking a look! Addressed your comments and merged main into this branch to fix the tests.


mocha?

All other generator choose mocha over nodeunit, and it seems like a way more popular solution than nodeunit. Is switching a possibility? Nodeunit development slowed down not to say it's effectively dead.

Yes, that'd be great.

:+1: I'll submit a PR this evening.

@arthurvr I think you should hold on until generator-node is done. We can reuse almost everything we're doing over there with this generator.

I think you should hold on until generator-node is done. We can reuse almost everything we're doing over there with this generator.

Oh, that's fine for me as well :dancer:


Make ghp-import work on Windows

Changed setup.py to use console-scripts to declare the ghp-import script. Now the ghp-import script works on Windows as well as Mac. On Windows, setuptools creates Scripts\ghp-import.exe; on other platforms, it continues to create bin/ghp-import.
This required moving the code into a Python package.

I'm closing this, since #25 does a slightly better job and doesn't have merge errors. Also, I stupidly created this on my master branch and there's no way to change the source branch of a pull request at GitHub.
It would be really nice if took less than 8 months to merge a simple pull request.


Fix relative to absolute url conversion

This PR removes the custom path joining for path relative URLs and relies on the url.ResolveReference() method to convert a path relative URL to an absolute URL.
In the current main branch, all images from this page are broken after parsing.
With a root URL of https://martinfowler.com/articles/patterns-of-distributed-systems/paxos.html, the image <img src="mfpaxos-initial-requests.png"> is currently converted to:
https://martinfowler.com/articles/patterns-of-distributed-systems/paxos.html/mfpaxos-initial-requests.png

when it should be converted to:
https://martinfowler.com/articles/patterns-of-distributed-systems/mfpaxos-initial-requests.png

Nice catch, thanks!


Refactored ClusterAwarenessHealthIT class to add liscence information

Signed-off-by: Nishchay Malhotra<EMAIL_ADDRESS>
Description
Refactoring the IT class
Issues Resolved
Refactoring the IT class
Check List

[X] New functionality includes testing.

[X] All tests pass

[X] New functionality has been documented.

[X] New functionality has javadoc added

[X] Commits are signed per the DCO using --signoff
[X] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Is this code coming from Elasticsearch?

Looks like the class name is correct in 2.x - https://github.com/opensearch-project/OpenSearch/blob/2.x/server/src/internalClusterTest/java/org/opensearch/cluster/ClusterAwarenessHealthIT.java#L48
No backport necessary


DEVUI Temp Disable until 3.0.0.BETA2

@melloware I prefer deleting the class completely and reverting it later on


Display error when using zsh on a server

When using zsh on a server (connected to the server by ssh on iterm2), I always encounter this display error. I have tried oh-my-zsh on different servers and different client macs, the problem is still here. (the server is ubuntu 16.04.)

No concrete evidence on this, just a hunch, but do you have something like zsh-autosuggestions on both the local and the remote machine? It looks like it could be having clashing issues (if it would even work that way) or that network latency might be causing that, or something similar. Either way, I wouldn't put something like zsh-autosuggestions on a remote server.

Can you post your full zshrc file and the value of $TERM in the server?

export TERM="xterm-256color"
If you come from bash you might have to change your $PATH.
export PATH=$HOME/bin:/usr/local/bin:$PATH
Path to your oh-my-zsh installation.
export ZSH=/home/zoulixin/.oh-my-zsh
Set name of the theme to load. Optionally, if you set this to "random"
it'll load a random theme each time that oh-my-zsh is loaded.
See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
ZSH_THEME="robbyrussell"
#ZSH_THEME="powerlevel9k/powerlevel9k"
ZSH_THEME="alanpeabody"
Uncomment the following line to use case-sensitive completion.
CASE_SENSITIVE="true"
Uncomment the following line to use hyphen-insensitive completion. Case
sensitive completion must be off. _ and - will be interchangeable.
HYPHEN_INSENSITIVE="true"
Uncomment the following line to disable bi-weekly auto-update checks.
DISABLE_AUTO_UPDATE="true"
Uncomment the following line to change how often to auto-update (in days).
export UPDATE_ZSH_DAYS=13
Uncomment the following line to disable colors in ls.
DISABLE_LS_COLORS="true"
Uncomment the following line to disable auto-setting terminal title.
DISABLE_AUTO_TITLE="true"
Uncomment the following line to enable command auto-correction.
ENABLE_CORRECTION="true"
Uncomment the following line to display red dots whilst waiting for completion.
COMPLETION_WAITING_DOTS="true"
Uncomment the following line if you want to disable marking untracked files
under VCS as dirty. This makes repository status check for large repositories
much, much faster.
DISABLE_UNTRACKED_FILES_DIRTY="true"
Uncomment the following line if you want to change the command execution time
stamp shown in the history command output.
The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
HIST_STAMPS="mm/dd/yyyy"
Would you like to use another custom folder than $ZSH/custom?
ZSH_CUSTOM=/path/to/new-custom-folder
Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
Example format: plugins=(rails git textmate ruby lighthouse)
Add wisely, as too many plugins slow down shell startup.
plugins=(git)
source $ZSH/oh-my-zsh.sh
User configuration
export MANPATH="/usr/local/man:$MANPATH"
You may need to manually set your language environment
export LANG=en_US.UTF-8
Preferred editor for local and remote sessions
if [[ -n $SSH_CONNECTION ]]; then
export EDITOR='vim'
else
export EDITOR='mvim'
fi
Compilation flags
export ARCHFLAGS="-arch x86_64"
ssh
export SSH_KEY_PATH="~/.ssh/rsa_id"
Set personal aliases, overriding those provided by oh-my-zsh libs,
plugins, and themes. Aliases can be placed here, though oh-my-zsh
users are encouraged to define aliases within the ZSH_CUSTOM folder.
For a full list of active aliases, run alias.

Example aliases
alias zshconfig="mate ~/.zshrc"
extract:  Extract most know archives with one command
---------------------------------------------------------
extract () {
    if [ -f $1 ] ; then
      case $1 in
        *.tar.bz2)   tar xjf $1     ;;
        *.tar.gz)    tar xzf $1     ;;
        *.bz2)       bunzip2 $1     ;;
        *.rar)       unrar e $1     ;;
        *.gz)        gunzip $1      ;;
        *.tar)       tar xf $1      ;;
        *.tbz2)      tar xjf $1     ;;
        *.tgz)       tar xzf $1     ;;
        *.zip)       unzip $1       ;;
        *.Z)         uncompress $1  ;;
        *.7z)        7z x $1        ;;
        *)     echo "'$1' cannot be extracted via extract()" ;;
         esac
     else
         echo "'$1' is not a valid file"
     fi
}

track_gpu()
{
    while 1;
    do
        sleep 5;
        nvidia-smi;
    done
}

#alias ohmyzsh="mate ~/.oh-my-zsh"
source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
#export PATH=/home/zoulixin/miniconda2/bin:$PATH
export PATH="/usr/local/opt/openssl/bin:$PATH"
[ -f /usr/local/etc/profile.d/autojump.sh ] && . /usr/local/etc/profile.d/autojump.sh
export PATH="/home/zoulixin/.linuxbrew/bin:$PATH"
export PATH="/home/zoulixin/pyenv3/bin:$PATH"
export MANPATH="/home/zoulixin/.linuxbrew/share/man:$MANPATH"
export INFOPATH="/home/zoulixin/.linuxbrew/share/info:$INFOPATH"
export CUDA_HOME=/usr/local/cuda
export LC_ALL=C
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/zoulixin/.mujoco/mujoco200/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia-384
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/zoulixin/.mujoco/mjpro150/bin
[[ -s /home/zoulixin/.autojump/etc/profile.d/autojump.sh ]] && source /home/zoulixin/.autojump/etc/profile.d/autojump.sh
[[ -s "$HOME/.local/share/marker/marker.sh"  ]] && source "$HOME/.local/share/marker/marker.sh"
export LC_ALL=C.UTF-8
export LANG=C.UTF-8
test -e "${HOME}/.iterm2_shell_integration.zsh" && source "${HOME}/.iterm2_shell_integration.zsh"

Yes.
export TERM="xterm-256color"
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH

# Path to your oh-my-zsh installation.
export ZSH=/home/zoulixin/.oh-my-zsh

# Set name of the theme to load. Optionally, if you set this to "random"
# it'll load a random theme each time that oh-my-zsh is loaded.
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
# ZSH_THEME="robbyrussell"
#ZSH_THEME="powerlevel9k/powerlevel9k"
ZSH_THEME="alanpeabody"
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"

# Uncomment the following line to use hyphen-insensitive completion. Case
# sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"

# Uncomment the following line to disable bi-weekly auto-update checks.
# DISABLE_AUTO_UPDATE="true"

# Uncomment the following line to change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13

# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"

# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"

# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"

# Uncomment the following line to display red dots whilst waiting for completion.
# COMPLETION_WAITING_DOTS="true"

# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"

# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# HIST_STAMPS="mm/dd/yyyy"

# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder

# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git)

source $ZSH/oh-my-zsh.sh

# User configuration

# export MANPATH="/usr/local/man:$MANPATH"

# You may need to manually set your language environment
# export LANG=en_US.UTF-8

# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
#   export EDITOR='vim'
# else
#   export EDITOR='mvim'
# fi

# Compilation flags
# export ARCHFLAGS="-arch x86_64"

# ssh
# export SSH_KEY_PATH="~/.ssh/rsa_id"

# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"

#   extract:  Extract most know archives with one command
#   ---------------------------------------------------------
    extract () {
        if [ -f $1 ] ; then
          case $1 in
            *.tar.bz2)   tar xjf $1     ;;
            *.tar.gz)    tar xzf $1     ;;
            *.bz2)       bunzip2 $1     ;;
            *.rar)       unrar e $1     ;;
            *.gz)        gunzip $1      ;;
            *.tar)       tar xf $1      ;;
            *.tbz2)      tar xjf $1     ;;
            *.tgz)       tar xzf $1     ;;
            *.zip)       unzip $1       ;;
            *.Z)         uncompress $1  ;;
            *.7z)        7z x $1        ;;
            *)     echo "'$1' cannot be extracted via extract()" ;;
             esac
         else
             echo "'$1' is not a valid file"
         fi
    }

    track_gpu()
    {
        while 1;
        do
            sleep 5;
            nvidia-smi;
        done
    }

#
#alias ohmyzsh="mate ~/.oh-my-zsh"
source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
#export PATH=/home/zoulixin/miniconda2/bin:$PATH
alias cp2='rsync -aPWh'
alias cp="rsync --progress"
alias rm='trash-put'
export PATH="/usr/local/opt/openssl/bin:$PATH"
[ -f /usr/local/etc/profile.d/autojump.sh ] && . /usr/local/etc/profile.d/autojump.sh
export PATH="/home/zoulixin/.linuxbrew/bin:$PATH"
export PATH="/home/zoulixin/pyenv3/bin:$PATH"
export MANPATH="/home/zoulixin/.linuxbrew/share/man:$MANPATH"
export INFOPATH="/home/zoulixin/.linuxbrew/share/info:$INFOPATH"
export CUDA_HOME=/usr/local/cuda
export LC_ALL=C
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/zoulixin/.mujoco/mujoco200/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia-384
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/zoulixin/.mujoco/mjpro150/bin
[[ -s /home/zoulixin/.autojump/etc/profile.d/autojump.sh ]] && source /home/zoulixin/.autojump/etc/profile.d/autojump.sh
[[ -s "$HOME/.local/share/marker/marker.sh"  ]] && source "$HOME/.local/share/marker/marker.sh"
export LC_ALL=C.UTF-8
export LANG=C.UTF-8

test -e "${HOME}/.iterm2_shell_integration.zsh" && source "${HOME}/.iterm2_shell_integration.zsh"

You can try to comment out some of these zshrc lines, starting with the zsh-autosuggestions one and then marker.sh and iterm2_shell_integration.zsh, see if these are the problem.


Allow for creation of Spoke without RouteTable

Is there an existing issue for this?

[X] I have searched the existing issues

Description
The Workload spoke has a switch to turn on Force Tunnelling. This is done by adding a route to a route table attached to the subnets.  The route table is always created and associated with the subnets regardless of forced tunnelling being enabled or not.
I propose that if Forced Tunnelling is not enabled then the route table should not be created. This will allow for other configurations or separate route tables for each subnet if needed.  This behavior is needed for the Encrypted Transport DMZ deployment.
In the user wants to mix forced tunnelling and additional routes into separate route tables for each subnet, then they can create their own route tables and routes (including forced tunnelling) and associate them with the subnets created.
The implementation for this behavior can be done without breaking existing functionality by adding the count function to all of the Route Table resources instead of just the forced tunnel route resource.
New or Affected Resource(s)/Data Source(s)
route table, routes, route table association
Potential Terraform Configuration
enable_forced_tunneling_on_route_table = false

References
No response

Discussed with @jrspinella and we concluded that the Encrypted Transport needs to have it's own DMZ Spoke module rather than continuing to change the Workload Spoke.
Closing


pgp purge command

Added keybase pgp purge command.
Every time it runs, it exports any pgp keys in lksec to saltpack encrypted files in $HOME.
If run with -p flag, it will also remove the pgp keys from lksec.
Idea was that they would run keybase pgp purge, make sure they could store the keys somewhere else, then run keybase pgp purge -p to actually remove them.
r? @maxtaco

ok, made a pass through the code!

@maxtaco exports/purges all blocks as we discussed

One question, otherwise, LGTM!

local tests pass, merging.


getT on API route on Vercel (serverless)

First: Thanks for this great lib!
I'm using next-translate @ 1.0.1 and next @ 10.0.5, and I have trouble to use getT on my API route.
The following error occurred in production on Vercel, when calling the API:
ERROR	TypeError: Cannot read property 'loadLocaleFrom' of undefined
The API is called serverless on Vercel which mean the NodeJS global didn't contain the i18nConfig, which leads to this error message.
I tried to set the config to global inside the API route:
import getT from 'next-translate/getT'

import i18n from '../../i18n.json'

const handler = async (
  req,
  res,
) => {
  global.i18nConfig = i18n
  const t = await getT(req.query.__nextLocale, 'api')

  const error = t('error')

  res.statusCode = 200
  res.setHeader('Content-Type', 'application/json')
  res.end(JSON.stringify({ error }))
}

export default handler

The error disappears, but I get only the translation key instead of the translated text.
You can reproduce this on your local machine:
Build and start Next and call the API directly without any page load, because the page load will add the config to global.
Any ideas how to resolve this?

Can confirm that this bug exists, it virtually makes next-translate impossible to use on an API.
Here's a stacktrace I'm getting in Vercel (just trying to be helpful):
2021-02-07T09:11:37.129Z	6aba0774-c6e7-487b-9f6c-3d20f2172049	ERROR	TypeError: Cannot read property 'loadLocaleFrom' of undefined
    at /var/task/node_modules/next-translate/lib/cjs/getT.js:60:37
    at step (/var/task/node_modules/next-translate/lib/cjs/getT.js:33:23)
    at Object.next (/var/task/node_modules/next-translate/lib/cjs/getT.js:14:53)
    at /var/task/node_modules/next-translate/lib/cjs/getT.js:8:71
    at new Promise (<anonymous>)
    at __awaiter (/var/task/node_modules/next-translate/lib/cjs/getT.js:4:12)
    at getT (/var/task/node_modules/next-translate/lib/cjs/getT.js:48:12)
    at handler (/var/task/.next/serverless/pages/api/tools.js:345:77)
    at apiResolver (/var/task/node_modules/next/dist/next-server/server/api-utils.js:8:7)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
2021-02-07T09:11:37.130Z	6aba0774-c6e7-487b-9f6c-3d20f2172049	ERROR	TypeError: Cannot read property 'loadLocaleFrom' of undefined
    at /var/task/node_modules/next-translate/lib/cjs/getT.js:60:37
    at step (/var/task/node_modules/next-translate/lib/cjs/getT.js:33:23)
    at Object.next (/var/task/node_modules/next-translate/lib/cjs/getT.js:14:53)
    at /var/task/node_modules/next-translate/lib/cjs/getT.js:8:71
    at new Promise (<anonymous>)
    at __awaiter (/var/task/node_modules/next-translate/lib/cjs/getT.js:4:12)
    at getT (/var/task/node_modules/next-translate/lib/cjs/getT.js:48:12)
    at handler (/var/task/.next/serverless/pages/api/tools.js:345:77)
    at apiResolver (/var/task/node_modules/next/dist/next-server/server/api-utils.js:8:7)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
2021-02-07T09:11:37.130Z	6aba0774-c6e7-487b-9f6c-3d20f2172049	ERROR	Unhandled Promise Rejection 	{"errorType":"Runtime.UnhandledPromiseRejection"
,"errorMessage":"TypeError: Cannot read property 'loadLocaleFrom' of undefined"
,"reason":{"errorType":"TypeError"
,"errorMessage":"Cannot read property 'loadLocaleFrom' of undefined"
,"stack":["TypeError: Cannot read property 'loadLocaleFrom' of undefined"
,"    at /var/task/node_modules/next-translate/lib/cjs/getT.js:60:37"
,"    at step (/var/task/node_modules/next-translate/lib/cjs/getT.js:33:23)"
,"    at Object.next (/var/task/node_modules/next-translate/lib/cjs/getT.js:14:53)"
,"    at /var/task/node_modules/next-translate/lib/cjs/getT.js:8:71"
,"    at new Promise (<anonymous>)"
,"    at __awaiter (/var/task/node_modules/next-translate/lib/cjs/getT.js:4:12)"
,"    at getT (/var/task/node_modules/next-translate/lib/cjs/getT.js:48:12)"
,"    at handler (/var/task/.next/serverless/pages/api/tools.js:345:77)"
,"    at apiResolver (/var/task/node_modules/next/dist/next-server/server/api-utils.js:8:7)"
,"    at processTicksAndRejections (internal/process/task_queues.js:97:5)"]}
,"promise":{}
,"stack":["Runtime.UnhandledPromiseRejection: TypeError: Cannot read property 'loadLocaleFrom' of undefined"
,"    at process.<anonymous> (/var/runtime/index.js:35:15)"
,"    at process.emit (events.js:326:22)"
,"    at processPromiseRejections (internal/process/promises.js:209:33)"
,"    at processTicksAndRejections (internal/process/task_queues.js:98:32)"]}

Thanks to @aralroca and @Fivedark :)
I was having the exact same issue and after applying the solution above from @Fivedark, everything is working as expected now. For the locale, I'm passing the value to my api function. Here's my code in case it could help anyone else:
// I18N
import getT from 'next-translate/getT'
import i18n from '../i18n'

const SENDGRID_API = 'https://api.sendgrid.com/v3/mail/send'

const sendEmail = async ({ name, email, message, locale }) => {
  // I18N
  global.i18nConfig = i18n
  const t = await getT(locale, 'contact')

  /* Send to client */
  await fetch(SENDGRID_API, {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        Authorization: `Bearer ${process.env.SENDGRID_API_KEY}`,
        'Accept-Language': `${locale}`
      },
      body: JSON.stringify({
        personalizations: [
          {
            to: [
              {
                email: email
              }
            ],
            subject: t('EmailSubject')
          }
        ],
        from: {
          email<EMAIL_ADDRESS>          name: 'Guy Dumais'
        },
        content: [
          {
            type: 'text/html',
            value: `${t('Thank You')} <b><a href='mailto:${email}'>${name}</a></b>,<br/><br/>${t('EmailConfirmation')}<br/><br/>Message:<br/>${message}`
          }
        ]
      })
  })

}

export default sendEmail

any idea how make it work guys ?
i wont re edit my all backend work to front end :S

It is also happening on localhost, not only Vercel.I have the same issue on localhost when the first call I make on my application is an api call.
I mean that, when I start the server, if I load a page in the browser, the subsequent api calls work fine, and global.i18nConfig is correctly loaded.
But, if the first call made to the server is an API call, then global.i18nConfig is undefined and I have this error Cannot read property 'loadLocaleFrom' of undefined.

A simple workaround would be to load it manually:
import i18n from '../i18n'

global.i18nConfig = i18n

Before solving it, I would like to rethink the way of consuming the configuration...

@aralroca with the workaround I only get the keys and not the values returned.
And can the workaround be added once in the next.js project or do we have to add this on every api route?

@goellner No, the workaround will need to be added in every api route where you use getT.
The following patch works for me until this issue is resolved:
// monkey-patches.ts
import getT from "next-translate/getT";
import i18n from "../i18n";

export const ensureAvailabilityOfGetT = () => {
  global.i18nConfig = i18n;
  return getT;
};

and then:
// some-api-route.ts

import { ensureAvailabilityOfGetT } from "../../../utils/api/utils/monkey-patches";

const parsedLocale = "...";

const getT = ensureAvailabilityOfGetT();
const errorsT = await getT(parsedLocale, "errors");
const feedbackT = await getT(parsedLocale, "feedback");

// do your thing

Once getT from next-translate works properly, refactoring will be a piece of cake.

@goellner I had the same problem than you, only keys where return and not the values, it was because my i18n.js file didn't contain loadLocaleFrom which is needed by getT, I had to add it.
At first I had only locales, defaultLocale and pages, when I added  loadLocaleFrom it worked :
{
  locales: [ 'en' ],
  defaultLocale: 'en',
  pages: { '*': [ 'common' ] },
  loadLocaleFrom: (lang, ns) =>
    import(`./locales/${lang}/${ns}.json`).then((m) => m.default),
}

It's a shame that this bug/feature isn't implemented in a timely manner. Can you think about it again?

@Marc-Hoch the project is open-source, feel free to implemented and do a PR

My application uses the default location suggested by the docs for storing the locales. I tried those mentioned above to manually load the i18n config inside my serverless APIs but unfortunately, none of them worked. I dug inside the source code and realized that if loadLocaleFrom is not provided the default function resolves with an empty object.
So I ended up adding the following to the serverless APIs in case someone else still has the same issue.
 import i18n from "../../../i18n.json";
 import getT from "next-translate/getT";

  if (!global.i18nConfig) {
    global.i18nConfig = {
      ...i18n,
      loadLocaleFrom: (lang, ns) =>
        import(`../../../locales/${lang}/${ns}.json`).then((m) => m.default),
    };
  }
  const t = await getT(locale, "api");

@aralroca
This is what I ended up doing:
import getT_ from "next-translate/getT";

import i18n from "path/to/i18n_config";

export const getT = (locale?: string, namespace?: string | string[]) => {
  global.i18nConfig = i18n;

  // This part in particular fixes a problem that happens only when
  // I start the next server, and before any other navigation, I send a request to an API route
  // that is supposed to return some localised text.
  if (global?.__NEXT_TRANSLATE__?.config) {
    if (!global.__NEXT_TRANSLATE__.config.loadLocaleFrom) {
      global.__NEXT_TRANSLATE__.config.loadLocaleFrom = i18n.loadLocaleFrom;
    }
  }

  return getT_(locale, namespace);
};


How to check which version is running?

I tried both imagine version and imagine --version. I'm pretty sure I don't have the latest version running and I don't know how to upgrade. Any help would be appreciated.
I also tried pip install imaginairy, but that just printed that I already have 6.0.0a0 installed:
Requirement already satisfied: imaginairy in /usr/local/lib/python3.8/site-packages (6.0.0a0)

Seem like pip install --upgrade imaginairy upgrades to latest. Perhaps this could be added to readme?


[5.6] Add missing functions in Dispatcher contract

see #22951

This has introduced an error :warning:
PHP Fatal error:  Class Illuminate\Support\Testing\Fakes\BusFake contains 3 abstract methods and must therefore be declared abstract or implement the remaining methods (Illuminate\Contracts\Bus\Dispatcher::hasCommandHandler, Illuminate\Contracts\Bus\Dispatcher::getCommandHandler, Illuminate\Contracts\Bus\Dispatcher::map) in /var/www/framework/src/Illuminate/Support/Testing/Fakes/BusFake.php on line 8

Can you point out which test is giving the error. I have a commit ready fixing it but I want to check it is correctly fixing it.


Toast-Swift not working in Xcode15, swift 5.9

Hi,
I use this library in the past and it worked perfectly in Xcode 12.
Now when I upgrade to Xcode15, toast is show up but is not dismissed automatically even in case of calling hideAllToasts()
Is there anyone meet such bug?
Thanks for any help

To resolve the issue, you need to modify the data type of ToastKeys and change it to Int.
    private struct ToastKeys {
        static var timer        = "com.toast-swift.timer".hash
        static var duration     = "com.toast-swift.duration".hash
        static var point        = "com.toast-swift.point".hash
        static var completion   = "com.toast-swift.completion".hash
        static var activeToasts = "com.toast-swift.activeToasts".hash
        static var activityView = "com.toast-swift.activityView".hash
        static var queue        = "com.toast-swift.queue".hash
    }

Fixed in 5.1.0.


Class property expecting null becomes any on init when strictNullChecks isn't enabled

Bug Report
🕗 Version & Regression Information
ts stable & nightly
⏯ Playground Link
"strictNullChecks" : false
Playground Link
💻 Code

interface A {
	value: null;
}
class A {
	value = null; // Property 'value' must be of type 'null', but here has type 'any'.(2717)
}

🙁 Actual behavior
null becomes any, which throws an error if noImplicitAny is enabled
🙂 Expected behavior
Type of A.value to stay null regardless of strictNullChecks

When you disable strictNullChecks you essentially disable the null and undefined types. They do not exist, they get filtered by the type system.
This is working as intended.


Convert fused ops to value-based constructors

Separate PR -- need the constructor side of all ops done first.


Gracefully handle when HOME is not set by making consolr bypass those config files

@tumblr/collins

:bullettrain_front: LGTM

:+1: LGTM

:+1:


Use log_async in whylabs writier

Description

General Checklist

[ ] Tests added for this feature/bug
if it was a bug, test must cover it.
[ ] Conform by the style guides, by using formatter
[ ] Documentation updated
[ ] (optional) Please add a label to your PR

Another minor thing, your commit message has a typo:
"whylabs writier" should be Whylabs writer or use the class name WhylabsWriter

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 8 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.1%) to 79.869%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/whylogs/whylabs_client/wrapper.py
0
8
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.1%

Covered Lines:
3661

Relevant Lines:
4451

💛  - Coveralls


Nothing to do with zoom at 100%.
Next time before assuming it's a bug, please consider asking for help in the official help chat room
Happy coding 👍

@Xantherr you got typo in code.
Thanks for reporting this. But your code is incorrect.
GitHub Issues are for reporting bugs on the website only.
Please use the Help chat room for getting challenge related help.
Happy Coding.


ISR vectors not linked when NOTHING from zinc crate is used.

If an application uses nothing from the zinc crate, then the ISR vectors will not be linked, despite the KEEP directive in the linker script.

For app that uncovered this, see app_empty from mcoffin@b9a9d4fdfdd7df09ffa0513ea54784acca283dd0

I'd prefer to move ISR vectors to PT and zinc_main macros. We currently
simplify things by saying all k20 have the same ISRs, but they really
don't. Even in the same speed grade the peripherals change.
I'll do up a JSON device and board definition for a Teensy and see how that
feels. The makefile or build.rs would ideally also use that info when
creating the linker script, as we again just simplify and overestimate the
number of vendor ISRs (for the size of vector flash).
For app that uncovered this, see app_empty from mcoffin@b9a9d4f
https://github.com/mcoffin/zinc/commit/b9a9d4fdfdd7df09ffa0513ea54784acca283dd0
—
Reply to this email directly or view it on GitHub
https://github.com/hackndev/zinc/issues/295#issuecomment-107338127.

I'd prefer to move ISR vectors to PT and zinc_main macros
:+1:

@bharrisau Actually, neither of those macros are a good fit. platformtree can't be used in non-platformtree examples and the zinc_main annotation cannot be used from within platformtree as it's entire purpose is to define a dummy #[start] implementation for those who aren't using platformtree.
If we're going to take the macro-based approach instead of the linker-based approach, then what we really want is a new crate level attribute, zinc_board added to macro_zinc once #288 gets reviewed and lands. For example, non-platformtree examples could have #![zinc_board="some_board"] and then platformtree examples could just emit that exact same attribute as an item from the platformtree! macro. That way there's no repetition of code.

One way we could solve that problem is by doing something like the following hack...
quote_item!(cx, include!("path/to/platform/board_isr.rs"));

We can also make a little dedicated macro to just build the isr table.

Well, that's what zinc_board would be. Maybe a better name would be zinc_isr.

I saw this as well, in both the empty and blink_stm32f4 examples.  After a while banging my head against the linker script trying to figure out why the heck KEEP wasn't keeping it, I finally thought to look at the linker input (zinc's rlib) and found that ISRVectors was being put in .rodata rather than .isr_vector.  Turns out this was a known issue (https://github.com/rust-lang/rust/issues/27467) in rustc, resolved a few days ago.  Pulled a new rustc nightly, and it was magically fixed.


[Feature Request] Swap two waymarks in preset editor

I'd like to be able to use the preset editor to change the labels (ABCD1234) of the waymarks while preserving their positions. Currently to swap two waymarks, I would have to copy the coordinates of a waymark to an external notepad, edit that waymark to match a second waymark, then edit the second waymark using the coordinates saved to the external notepad.
This operation would be a lot easier if I could instead be able to select one of the waymarks in the preset editor to assign it a different label. When a waymark is given a new label, the coordinates of the selected waymark and the waymark that originally had the chosen label would be swapped.

you can just drag and drop, this has been the case since endwalker mate.


Set AmbientCapabilities=CAP_NET_RAW outside of the systemd_version conditional

This PR solves issue https://github.com/cloudalchemy/ansible-blackbox-exporter/issues/64

Guys, when you plan to release the role? Need this fix.


Server not listening after todays ARK update

Image Setup Details
see my last issue: https://github.com/thmhoag/arkserver/issues/6
Description of Issue

Description of issue
Hey there again - my server stopped listening after the recent update. After about 30 minutes, the server seems to restart itself:
2020-06-25 18:51:05: Server PID: 363 arkserver | [S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed. arkserver | Setting breakpad minidump AppID = 346110 arkserver | Running command 'broadcast' for instance 'main' arkserver | Error connecting to server: Connection refused at -e line 33. arkserver | ########################################################################### arkserver | # Ark Server -  Thu Jun 25 19:07:32 UTC 2020 arkserver | ########################################################################### arkserver | Ensuring correct permissions... arkserver | Cleaning up any leftover arkmanager files... arkserver | Creating arkmanager.cfg from environment variables... arkserver | Starting cron service... arkserver |  * Starting periodic command scheduler cron arkserver |    ...done. arkserver | Loading crontab... arkserver | Save file validation is not enabled. arkserver | Backup on start is not enabled. arkserver | Running command 'start' for instance 'main' arkserver | Checking for updates before starting arkserver | Checking for update; PID: 150 arkserver | Your server is already up to date! The most recent version is 5212451. arkserver | The server is starting... arkserver |  arkserver | 2020-06-25 19:08:26: start arkserver | 2020-06-25 19:08:26: Running /ark/server/ShooterGame/Binaries/Linux/ShooterGameServer TheIsland\?RCONPort=32338\?SessionName=OdElmServer\?GameModIds=731604991\,655261420\,761535755\,510590313\,566887000\,693416678\,538827119\,516096294\,751991809\?MaxPlayers=70\?AllowAnyoneBabyImprintCuddle=true\?QueryPort=27023\?AltSaveDirectoryName=island\?ServerPassword=******\?ServerAdminPassword=******\?arkMaxBackupSizeGB=1\?OverrideStructurePlatformPrevention=true\?bAllowPlatformSaddleMultiFloors=true\?RCONEnabled=True\?AllowFlyingStaminaRecovery=true\?OverrideOfficialDifficulty=5\?Port=7786\?listen -NoTransferFromFiltering -clusterid=cluster-test -NoTransferFromFiltering -log arkserver | 2020-06-25 19:08:26: Server PID: 378 arkserver | [S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed. arkserver | Setting breakpad minidump AppID = 346110 arkserver | Signal 11 caught. arkserver | /usr/local/bin/arkmanager: line 1189:   378 Segmentation fault      (core dumped) "$arkserverroot/$arkserverexec" "$arkserveropts" "${arkextraopts[@]}" arkserver | 2020-06-25 19:56:46: Bad PID ''; expected '378' arkserver | 2020-06-25 19:56:46: exited with status 0 arkserver | ########################################################################### arkserver | # Ark Server -  Thu Jun 25 19:56:53 UTC 2020 arkserver | ########################################################################### arkserver | Ensuring correct permissions... arkserver | Cleaning up any leftover arkmanager files... arkserver | Creating arkmanager.cfg from environment variables... arkserver | Starting cron service... arkserver |  * Starting periodic command scheduler cron arkserver |    ...done. arkserver | Loading crontab... arkserver | Save file validation is not enabled. arkserver | Backup on start is not enabled. arkserver | Running command 'start' for instance 'main' arkserver | Checking for updates before starting arkserver | Checking for update; PID: 463 arkserver | Your server is already up to date! The most recent version is 5212451. arkserver | The server is starting... arkserver |  arkserver | 2020-06-25 20:00:30: start arkserver | 2020-06-25 20:00:30: Running /ark/server/ShooterGame/Binaries/Linux/ShooterGameServer TheIsland\?RCONPort=32338\?SessionName=OdElmServer\?GameModIds=731604991\,655261420\,761535755\,510590313\,566887000\,693416678\,538827119\,516096294\,751991809\?MaxPlayers=70\?AllowAnyoneBabyImprintCuddle=true\?QueryPort=27023\?AltSaveDirectoryName=island\?ServerPassword=******\?ServerAdminPassword=******\?arkMaxBackupSizeGB=1\?OverrideStructurePlatformPrevention=true\?bAllowPlatformSaddleMultiFloors=true\?RCONEnabled=True\?AllowFlyingStaminaRecovery=true\?OverrideOfficialDifficulty=5\?Port=7786\?listen -NoTransferFromFiltering -clusterid=cluster-test -NoTransferFromFiltering -log arkserver | 2020-06-25 20:00:30: Server PID: 677 arkserver | [S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed. arkserver | Setting breakpad minidump AppID = 346110
My container updates itself via cronjob. As I can see here, my server configuration is still running at your server ;-).
It was also offline for some time - did you change anything?

nevermind - it just took very long, until the server was finally back up (after I restartet it).


Jackknife+-after-Bootstrap for ensemble models

In the original article on the Jackknife+-after-Bootstrap, one of the selling points is that ensemble models such as Random Forest already consist of a set of bootstrapped models that can be recycled to give the prediction interval with the Jackknife+. Therefore, the prediction intervals are "free" in the same sense as the out-of-bag score is free in relation to cross-validation and bootstrapping for the prediction error.
Is there some way to leverage this approach in MAPIE? Currently, it seems like MapieRegressor with SubSample would always retrain the given estimator, and in the case of Random Forest, give an ensemble of ensembles.

Hello @vincentblot28. First of all, thanks for putting this amazing library together. I understand the general idea, but as you anyway expect a scikit-learn estimator, you could possibly do isinstance checks for RandomForestRegressor or hasattr checks for estimators_. I think this would not reduce the agnosticticity of your library.

Hello @kjelljorner,
Yes I think that a check in isinstance should do it ! For now we try to develop methods that can be applied to any models, but we keep this idea in mind for future developments !
Thanks !


Gradle script

Script for equivalent gradle build

@adamarla awesome! many thx for providing this basic gradle build support. ran it locally and seems to be fine. question is does it build a JAR with dependencies as well? I thought it should but couldn't find one after wiping out the target folder with mvn clean first and then running gradle build. also the integration test is skipped by default and the flag needs to be explicitly set to true in the build.gradle file, right? I assume this is because it locally fails for you have to check myself what's going on there.

Hi @hpgrahsl -

question is does it build a JAR with dependencies as well?

It does build an "uberjar" with dependencies. But for that you have to use the task gradle shadowJar which uses the excellent shadow jar project.

Integration test is skipped by default and the flag needs to be explicitly set to true in the build.gradle file, right? I assume this is because it locally fails for you

Yes, this is correct. Unfortunately I have not been able to get to the bottom of this. Everything works correctly till here. But after the subsequent delay, I see no records in the mongo collection and no error either. If it works for you locally, you should change it to default true for integration tests.

I see. Looks good to me. Will check later what might be wrong with the integration tests for gradle. About to merge it. Many THX again!

@adamarla just found the issue. wasn't too hard to find. the problem seems to be that for the gradle build the 'uberjar' doesn't land in the target folder. then mounting this volume in the docker compose file doesn't provide the needed build artifact to the kafka connect service which then of course fails.
however, if the target/ folder is pre-created manually and I run gradle copyJarToTarget followed by gradle test it works for me.
should be an easy fix!

@hpgrahsl - I think this can be handled as a documentation fix. The simplest (and most appropriate i think) solution would be to rename copyJarToTarget task to something like distribute (or something similar) and then document gradle distribute as the default action to take. This will guarantee that all the prior steps including creation of target folder are handled automatically.
What do you think?


Adds write operation to /releaseAttributes

Adds WriteOperation to /releaseAttributes to allow credentials to passed through a POST operation.  Only returns a map of attributes for serialization to be displayed in the /dashboard endpoint of the management application.

Looks good. Update the docs please to note the new endpoint behavior.


Why not recommend training from randomweights

Why not recommend training from randomweights，I need to train objects that don't belong to the 80 classification

@HeroKern this is a common operation. The higher level features are useful even though the final layers are not as relevant for new classes. I am sure there are cases where that is not true, but is something people often do.

if you are using any human recognizable images, darknet pre-training and transfer learning will greatly benefit the training process. It's almost impossible to get good convergence by training the entire yolo network all at once from random weights.


Local filenames with colon should be parsed correctly

Summary:
On RN Desktop, images can be copy/pasted into text inputs.
When copy/pasting local files w/ semi-colons in the filename (/downloads/devices:pre-call-IMG_346C38284B2B-1.jpeg), RN would throw this error.

This was due to not having the correct asset loader because the local file path being parsed incorrectly.
To parse the url, we convert the string URI to a NSURL using a custom convertor fn.
The conversion was matching any : and assuming it was a network url scheme:
https://github.com/facebook/react-native/blob/main/React/Base/RCTConvert.m#L93-L107
When an image path with : in the name was passed to this, it was assuming it was a valid network url and not file path.
Because this is a local filepath, the image path needs to be a filesystem url. Since this was parsed as network url, it did not have the file:// prefix and would not pass this check, causing the loader to throw.
https://github.com/facebook/react-native/blob/main/Libraries/Image/RCTImageLoader.mm#L220-L231
Changelog
[iOS] [Added] -  Add support for parsing local files w/ : in filename
Reviewed By: christophpurrer
Differential Revision: D40729963

@shwanton I believe this change has broken<EMAIL_ADDRESS>links on iOS. For example doing<EMAIL_ADDRESS>is no longer working on iOS devices.

@jamesthomp I just confirmed w/ RNTester that mailto url scheme works correctly with this fix.
If it's a valid mailto URL scheme, it won't hit the regex this PR fixed.
https://github.com/facebook/react-native/blob/9ee0e1c78e422a83de01d045657c10454f66980a/React/Base/RCTConvert.m#L88-L91
If you are seeing "unresolved promises" when Linking a mailto url, you probably need to add the mailto scheme to your Info.plist
https://stackoverflow.com/questions/64580354/mailto-scheme-and-custom-mail-client-in-ios-14


EIP can conflict between 2 clusters in same project due to tag naming

ccm uses EM EIP tags to determine which service an EIP is attached to (or intended for). That way it can stop, start, etc. and the affiliation will be appropriate. You even can pre-assign an EIP (which @c0dyhi11 wants to do with Anthos).
The logic when syncing services inside ccm is roughly (ignoring removal, etc.):

Find all services of type=LoadBalancer
Filter out any that already have Spec.LoadBalancerIP set
Create two tags:

usage=packet-ccm-auto
service=<service-identifier> (see below)

Find any EIP that have the above tags set

if found, use it
if not, create one, add the tags

Assign the EIP by setting Spec.LoadBalancerIP=<eip>

The <service-identifier> is created as follows (pseudo-code):
identifier = sha256( serviceNamespace + "/" +serviceName )

We use sha256 instead of just the clear text, because some customers did not want the names of their services exposed on the project configuration; it should remain internal to the cluster only.
The problem arises when you have 2 or more clusters in the same project. If both have a Service with the same name, they will conflict. It will try to assign the EIP to both of them, which is not what you want.

The solution is to have the EIP tagged not just by service and namespace, but by cluster as well.
I had thought about adding cluster identifier as part of the tag, i.e.:
identifier = sha256( clusterIdentiifier +"/" + serviceNamespace + "/" +serviceName )

but that makes that thing even more opaque, and makes it hard to separate resources (like EIPs) by cluster.
So I think we should have a separate cluster tag:
cluster=<clusterIdentifier>
service=<serviceIdentifier>

where the serviceIdentifier is the same as above.
As for clusterIdentifier, I do not know of any official unique cluster ID item, but it seems to be common practice to use the kube-system UID, e.g. on a kind cluster I just spun up:
apiVersion: v1
kind: Namespace
metadata:
  creationTimestamp: "2020-12-04T11:43:25Z"
  managedFields:
  - apiVersion: v1
    fieldsType: FieldsV1
    fieldsV1:
      f:status:
        f:phase: {}
    manager: kube-apiserver
    operation: Update
    time: "2020-12-04T11:43:25Z"
  name: kube-system
  resourceVersion: "13"
  selfLink: /api/v1/namespaces/kube-system
  uid: fd23d60c-9bd5-4b00-8756-97a74cf232d8
spec:
  finalizers:
  - kubernetes
status:
  phase: Active

So it would be fd23d60c-9bd5-4b00-8756-97a74cf232d8

@detiber is the above correct? Can we use that UID as a "unique cluster ID"?

@detiber is the above correct? Can we use that UID as a "unique cluster ID"?

Apologies for the delay. One thing to keep in mind about using a k8s resource UID is that if for some reason you need to restore a cluster from backup the UID for the resource will be different.

Fair enough. I think we can live with it for now.


feat(napi/parser): add MagicString

Hold magic string instance on the Rust side for utf8 string manipulation.

I like this - having this would actually allow Vue's compiler-sfc to replace @babel/parser and MagicString with just oxc-parser.

Performance-wise, instead of making napi calls on every op, we should probably buffer the operations on the JS side and lazy-apply them only when toString is actually called.

With the buffering, in Rolldown we can also expose this API (maybe with the AST already available via hook arguments) and allow plugin transform hooks to return an oxc ParserBuilder instance instead of strings so we don't even need to pass the finalized string to JS ever.

I believe the API this PR provides is:
const code = 'const s: String = "测试"';
const oxc = new ParserBuilder(code);
const {program} = oxc.parseSync({ sourceFilename: 'test.ts' });
const stringLiteral = program.body[0].declarations[0].init;
// Magic string manipulation
oxc.remove(stringLiteral.start + 1, stringLiteral.end - 1);
// Get altered code
const alteredCode = oxc.toString();

How about returning the magic string from parseSync instead of passing in a ParserBuilder?
const code = 'const s: String = "测试"';
const {program, magicString} = parseSync(code, { sourceFilename: 'test.ts', magicString: true });
const stringLiteral = program.body[0].declarations[0].init;
// Magic string manipulation
magicString.remove(stringLiteral.start + 1, stringLiteral.end - 1);
// Get altered code
const alteredCode = magicString.toString();

Builder patterns are quite rusty, but personally I think this is more idiomatic in JS.

I believe the API this PR provides is:
const code = 'const s: String = "测试"';
const oxc = new ParserBuilder(code);
const {program} = oxc.parseSync({ sourceFilename: 'test.ts' });
const stringLiteral = program.body[0].declarations[0].init;
// Magic string manipulation
oxc.remove(stringLiteral.start + 1, stringLiteral.end - 1);
// Get altered code
const alteredCode = oxc.toString();

How about returning the magic string from parseSync instead of passing in a ParserBuilder?
const code = 'const s: String = "测试"';
const {program, magicString} = parseSync(code, { sourceFilename: 'test.ts', magicString: true });
const stringLiteral = program.body[0].declarations[0].init;
// Magic string manipulation
magicString.remove(stringLiteral.start + 1, stringLiteral.end - 1);
// Get altered code
const alteredCode = magicString.toString();

i.e. You choose whether you want a MagicString to be returned from parseSync or not with an option, following same pattern as how you choose if you want a source map or not.
Builder patterns are quite rusty, but personally I think this is more idiomatic for a JS API.

I can't make your suggestion work without cloning the string
#[napi]
pub struct ParserBuilder {
    cell: ParserBuilderImpl,
}

self_cell!(
    struct ParserBuilderImpl {
        owner: String,

        #[covariant]
        dependent: MagicString,
    }
);

Ah OK. I don't know the internals. If we could make my suggestion work, would you prefer it as an API?


adding DJANGO_SETTINGS_MODULE to os.environ now that we don't rely on dj...

...ango.core.management.setup_environ() anymore

landed https://github.com/mozilla/funfactory/commit/3bd6b1fd8d4f170197ccf27a9d4cfa576ebd32ba


The Sign button is not enabled when you scroll to the bottom of the signature request in Metamask

When listing an item, the signature request pops up in Metamask as expected. The thing is, when scrolling to the bottom, the "Sign" button is still disabled. The only way to enable the "Sign" button is to click the arrow.

Seems like not related to Seaport, closing the ticket.


nixos installer relies on /dev/disk/by-partlabel but does not generate unique id

Issue description
Issue accured when 2 partitions with the same partlabel were available during the installation of nixos.
Because nixos tries to mount its filesystem via /dev/disk/by-partlabel , the system crashed, beause the path to the kernel does not exist.
Steps to reproduce

Create another partition with the nixos installation part label on the harddisk
Try to boot nixos from usb stick

Resolution

Create a hash/uuid for the partlabel when generating the nixos installer image. That way, the issue would not occur.

Technical details

Not relevant for this issue.

Still relevant I think.


bug: just-scripts 1.x is missing ../lib/cli thus cannot be run

version<EMAIL_ADDRESS>error:

I have this same issue.  I tried decreasing the version number to 1.2.6 and the issue remains but adds another required stack.

I have this same issue.  I tried decreasing the version number to 1.2.6 and the issue remains but adds another required stack.

Cleaning up old issues--not sure what happened, but it's fixed now, in v1 and v2.


bug in football_runner.py

Line 135: "rnn_states=rnn_states"
Class FootballRunner inherits from class Runner and Runner inherits from class SharedReplayBuffer.
The func "insert()" with parameter "rnn_states_actor"(line 79 in shared_buffer.py) is inconsistent with football_runner.py "rnn_states=rnn_states", which may incur an error: "got an unexpected keyword argument "rnn_states".

Thank you for reporting the bug. A new PR has been raised.


Add explicit bareRepository configuration when pushing bare mirror

Why:
Was following the instructions outlined in Detaching a fork and noticed that step 5 was failing for me.
What's being changed (if available, include any code snippets, screenshots, or gifs):
If a user has configured bareRepository=explicit in their configuration, the push operation in this example will fail with the message:
fatal: cannot use bare repository '<path>.git' (safe.bareRepository is 'explicit')

By adding -c "safe.bareRepository=all" to the default instruction set, this should prevent issues for users who have bareRepository configured.
Check off the following:

[ ] I have reviewed my changes in staging, available via the View deployment link in this PR's timeline (this link will be available after opening the PR).

For content changes, you will also see an automatically generated comment with links directly to pages you've modified. The comment won't appear if your PR only edits files in the data directory.

[ ] For content changes, I have completed the self-review checklist.

@jdknight Thank you for your patience while our SME team reviewed! 💛 Our SMEs reviewed and responded with the following:

The problem they're trying to fix sounds real to me, but I think their solution is a bit complicated. The git-config(1) manual page has this to say about safe.bareRepository setting's explicit value:

explicit: Git only works with bare repositories specified via the top-level --git-dir command-line option, or the GIT_DIR environment variable (see git(1)).

So, instead of:
git -c "safe.bareRepository=all" push --mirror https://github.com/EXAMPLE-USER/FORK-NAME.git
I think the correct answer would be something more like:
git --git-dir https://github.com/EXAMPLE-USER/FORK-NAME.git push --mirror
Those will both do the same thing in practice, but this version is getting there without needing to override a setting.

If you are able to update your PR to match what our SME provided, we will be happy to get this merged ✨ thank you!

Tweaked the command to use --git-dir <bare> over moving (cd) into the bare before trying to push up the mirror.
This drops the requirements of cding in and out of the bare repository.
Tweaked FORK-NAME to just FORK to minimize the longer command length in an attempt to fit the command on a single line.

@jdknight Apologies on behalf of our bot! Your latest updates are being reviewed by our SME team, and I'll ping you here as soon as I have a response from them 💛

@wiseemily88 Thank you very much for the review! ✨
@jdknight Thank you again for opening this PR! I'll update the branch and get this merged once tests are passing 💛


List of Contributors to be present in the Readme

Thanks to contributors could be added to the readme file. Willing to do it.

sure, thanks.

Hi @bluebill1049 can you please confirm this pull request?


Messaging placeholder throwing console error

Hi @jwu910, could you please explain more about the issue and how reproduce it?

@jwu910 your welcome.


use structsy and nom crates, non-string types in your structs, less string back and forth while number crunching

Hello there Mr. Syms,
I really appreciate your effort and work to parse all this data and your efforts to find a pipeline that parallelizes everything.
Your parallelizing is good, but I believe you could get better results if you used the rayon crate wherever possible.
Your parsing ability is good, but I believe you would be best served to preserve the original data in a type that best represents the data.  Let me explain.  Lots of parsing is going from some file line to a string, then converted to a specific numeral type like u32 or f32 or f64.  Then later on you're converting that to a string again within your structures.  All this back and forth from string type to XXX type is definitely hurting your performance goals.
In fact that nmea crate you are using is also doing the same.  I can appreciate that it was all in the efforts of documenting what's getting parsed and being human readable, but the bottom line is always converting the data to string everywhere is killing your performance and the nmea is perhaps where you got the inspiration to convert to string all over the place.  IMHO it doesn't serve your performance goals. IMHO rather than relying on the nmea crate to parse, I would recommend you use the nom crate and parse exactly what you need without converting it to a string, then placing it into the native u32/f32/f64 within your PositionReport structure that better serves your number-crunching goals.
After your number crunching, yes by all means display your types in human readable output, however along the way throughout your number crunching, don't display any human-readable stuff and as a last resort for debugging, you may, but take the debug log stuff out when doing a release build.
Lastly, you are using json for storing everything.  Sure it is human readable, but it destroys performance as well.  Please try something like structsy instead for storing/persisting your data for your tools.
https://gist.github.com/omac777/dc8dbd9b4fe574e7e01ad6bf9a8ee9d7#file-tide_hello_structsy-rs-L10
My example isn't using any non-strings within the structure, but my intention here is your PositionReport structure could replace the  MyUser structure and the result would be a better performance when reading/writing your data to a file while preserving it within specific non-string types that better represent your data.
Rewriting nmea to use nom, rewriting the other layers above that within your main would take some effort, but it wouldn't be that complex and the performance payback would definitely be worth it.

I also noticed you haven't been using async file io apis.   Try replacing all your open/close/read calls with their async/io_uring-based equivalents and you'll also see some io improvements there as well.

This is awesome- thanks for the feedback!


Is it possible to run lss within a web page?

I have just stumbled across this project, and I think it is great. What I would really like to do is to have a version of lss as a chrome extension which I can inject into any web page. This would then allow me to scrape the page, or do whatever I want, but in Smalltalk.  Is this possible, or does the design fundamentally require Node running?

@andyburnett you may consider looking at amber smalltalk ( http://amber-lang.net/ ).  I've seen them embed it into a webpage.   This may require some Chrome Developer Tools expertise.

@andyburnett have you seen https://bertfreudenberg.github.io/SqueakJS/ ?

Hi Sebastian,
Thanks for the suggestion. I looked at Bert's work a while ago. It is
amazingly impressive!
I didn't follow up on it, last year, because it still seemed too
experimental. However, I have just looked at it again, and it has made big
progress. I can see how I might be able to use it the way I want.
Basically, I would like inject it into any webpage, so that I could do data
manipulation via smalltalk.
Time for some experiments.
Cheers
Andy
On 15 February 2016 at 06:39, Sebastian Sastre<EMAIL_ADDRESS>wrote:

@andyburnett https://github.com/andyburnett have you seen
https://bertfreudenberg.github.io/SqueakJS/ ?
—
Reply to this email directly or view it on GitHub
https://github.com/ympbyc/LittleSmallscript/issues/35#issuecomment-184176953
.

@andyburnett Craig have done it, look http://blackpagedigital.com
Maybe you can have a call with him to know more or get into the SqueakJS channel in Slack

Hi guys. I'm sorry for a terribly late reply. I haven't been checking into github for a past couple of years.  I think it's a good idea to have lss as a browser extensions.  Feel free to fork, publish and send PR!


correct typos

I correct typos in ROADMAP.md.

Thanks for the PR, but the Roadmap will be going away once we cut 8.1