Windows build instructions yield error messages.

What version of gRPC and what language are you using?
C:\Users\Jeffrey Rennie\gitrepos\grpc.build>git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working tree clean
C:\Users\Jeffrey Rennie\gitrepos\grpc.build>git log -1
commit de93112a3f70afa39d3e9aa87da165f9f737fdef (HEAD -> master, origin/master, origin/HEAD)
Merge: 6fc02c6a2b 28661ea6e1
Author: Mehrdad Afshari<EMAIL_ADDRESS>Date:   Fri Nov 24 21:04:59 2017 -0800
Merge pull request #13493 from mehrdada/bump-protobuf-3.5.0

Bump third_party/protobuf submodule to v3.5.0

What operating system (Linux, Windows, …) and version?
Windows 10.
What runtime / compiler are you using (e.g. python version or version of gcc)
Visual Studio 2017
What did you do?
Followed the instructions exactly form the INSTALL.md.  Here:
https://github.com/grpc/grpc/blob/master/INSTALL.md#building-using-cmake-recommended
What did you expect to see?
A successful build.
What did you see instead?

Microsoft Windows [Version 10.0.15063]
(c) 2017 Microsoft Corporation. All rights reserved.

C:\Users\Jeffrey Rennie>cd gitrepos\grpc

C:\Users\Jeffrey Rennie\gitrepos\grpc>md .build

C:\Users\Jeffrey Rennie\gitrepos\grpc>cd .build

C:\Users\Jeffrey Rennie\gitrepos\grpc\.build>call vcvarsall.bat x64
**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.4.4
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'

C:\Users\Jeffrey Rennie\gitrepos\grpc\.build>cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release
-- The C compiler identification is MSVC 19.11.25547.0
-- The CXX compiler identification is MSVC 19.11.25547.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.11.25503/bin/Hostx64/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.11.25503/bin/Hostx64/x64/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.11.25503/bin/Hostx64/x64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.11.25503/bin/Hostx64/x64/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning at CMakeLists.txt:119 (message):
  gRPC_ZLIB_PROVIDER is "module" but ZLIB_ROOT_DIR is wrong

CMake Warning at CMakeLists.txt:122 (message):
  gRPC_INSTALL will be forced to FALSE because gRPC_ZLIB_PROVIDER is "module"

CMake Error at CMakeLists.txt:138 (add_subdirectory):
  The source directory

    C:/Users/Jeffrey Rennie/gitrepos/grpc/third_party/cares/cares

  does not contain a CMakeLists.txt file.

CMake Warning at CMakeLists.txt:184 (message):
  gRPC_PROTOBUF_PROVIDER is "module" but PROTOBUF_ROOT_DIR is wrong

CMake Warning at CMakeLists.txt:229 (message):
  gRPC_SSL_PROVIDER is "module" but BORINGSSL_ROOT_DIR is wrong

CMake Warning at CMakeLists.txt:251 (message):
  gRPC_GFLAGS_PROVIDER is "module" but GFLAGS_ROOT_DIR is wrong

CMake Warning at CMakeLists.txt:271 (message):
  gRPC_BENCHMARK_PROVIDER is "module" but BENCHMARK_ROOT_DIR is wrong

-- Configuring incomplete, errors occurred!
See also "C:/Users/Jeffrey Rennie/gitrepos/grpc/.build/CMakeFiles/CMakeOutput.log".

Here's CMakeOutput.log:
The system is: Windows - 10.0.15063 - AMD64
Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
Compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.11.25503/bin/Hostx64/x64/cl.exe
Build flags:
Id flags:

The output was:
0
Microsoft (R) C/C++ Optimizing Compiler Version 19.11.25547 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

CMakeCCompilerId.c
Microsoft (R) Incremental Linker Version 14.11.25547.0
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:CMakeCCompilerId.exe
CMakeCCompilerId.obj

Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "CMakeCCompilerId.exe"

Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "CMakeCCompilerId.obj"

The C compiler identification is MSVC, found in "C:/Users/Jeffrey Rennie/gitrepos/grpc/.build/CMakeFiles/3.10.0/CompilerIdC/CMakeCCompilerId.exe"

Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
Compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.11.25503/bin/Hostx64/x64/cl.exe
Build flags:
Id flags:

The output was:
0
Microsoft (R) C/C++ Optimizing Compiler Version 19.11.25547 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

CMakeCXXCompilerId.cpp
Microsoft (R) Incremental Linker Version 14.11.25547.0
Copyright (C) Microsoft Corporation.

I ran git submodule update --init, and that got me a little further, but the instructions still seem incomplete.  I find no build products:
C:\Users\Jeffrey Rennie\gitrepos\grpc\.build>git submodule update --init
Submodule 'third_party/abseil-cpp' (https://github.com/abseil/abseil-cpp) registered for path '../third_party/abseil-cpp'
Submodule 'third_party/benchmark' (https://github.com/google/benchmark) registered for path '../third_party/benchmark'
Submodule 'third_party/bloaty' (https://github.com/google/bloaty.git) registered for path '../third_party/bloaty'
Submodule 'third_party/boringssl' (https://github.com/google/boringssl.git) registered for path '../third_party/boringssl'
Submodule 'third_party/boringssl-with-bazel' (https://boringssl.googlesource.com/boringssl) registered for path '../third_party/boringssl-with-bazel'
Submodule 'third_party/cares/cares' (https://github.com/c-ares/c-ares.git) registered for path '../third_party/cares/cares'
Submodule 'third_party/gflags' (https://github.com/gflags/gflags.git) registered for path '../third_party/gflags'
Submodule 'third_party/googletest' (https://github.com/google/googletest.git) registered for path '../third_party/googletest'
Submodule 'third_party/protobuf' (https://github.com/google/protobuf.git) registered for path '../third_party/protobuf'
Submodule 'third_party/zlib' (https://github.com/madler/zlib) registered for path '../third_party/zlib'
Cloning into 'C:/Users/Jeffrey Rennie/gitrepos/grpc/third_party/abseil-cpp'...
Cloning into 'C:/Users/Jeffrey Rennie/gitrepos/grpc/third_party/benchmark'...
Cloning into 'C:/Users/Jeffrey Rennie/gitrepos/grpc/third_party/bloaty'...
Cloning into 'C:/Users/Jeffrey Rennie/gitrepos/grpc/third_party/boringssl'...
Cloning into 'C:/Users/Jeffrey Rennie/gitrepos/grpc/third_party/boringssl-with-bazel'...
Cloning into 'C:/Users/Jeffrey Rennie/gitrepos/grpc/third_party/cares/cares'...
Cloning into 'C:/Users/Jeffrey Rennie/gitrepos/grpc/third_party/gflags'...
Cloning into 'C:/Users/Jeffrey Rennie/gitrepos/grpc/third_party/googletest'...
Cloning into 'C:/Users/Jeffrey Rennie/gitrepos/grpc/third_party/protobuf'...
Cloning into 'C:/Users/Jeffrey Rennie/gitrepos/grpc/third_party/zlib'...
Submodule path '../third_party/abseil-cpp': checked out 'cc4bed2d74f7c8717e31f9579214ab52a9c9c610'
Submodule path '../third_party/benchmark': checked out '5b7683f49e1e9223cf9927b24f6fd3d6bd82e3f8'
Submodule path '../third_party/bloaty': checked out '73594cde8c9a52a102c4341c244c833aa61b9c06'
Submodule path '../third_party/boringssl': checked out 'be2ee342d3781ddb954f91f8a7e660c6f59e87e5'
Submodule path '../third_party/boringssl-with-bazel': checked out '886e7d75368e3f4fab3f4d0d3584e4abfc557755'
Submodule path '../third_party/cares/cares': checked out '3be1924221e1326df520f8498d704a5c4c8d0cce'
Submodule path '../third_party/gflags': checked out '30dbc81fb5ffdc98ea9b14b1918bfe4e8779b26e'
Submodule path '../third_party/googletest': checked out 'ec44c6c1675c25b9827aacd08c02433cccde7780'
Submodule path '../third_party/protobuf': checked out '2761122b810fe8861004ae785cc3ab39f384d342'
Submodule path '../third_party/zlib': checked out 'cacf7f1d4e3d44d871b605da3b647f07d718623f'

C:\Users\Jeffrey Rennie\gitrepos\grpc\.build>cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of off64_t
-- Check size of off64_t - failed
-- Looking for fseeko
-- Looking for fseeko - not found
-- Looking for unistd.h
-- Looking for unistd.h - not found
-- Renaming
--     C:/Users/Jeffrey Rennie/gitrepos/grpc/third_party/zlib/zconf.h
-- to 'zconf.h.included' because this file is included with zlib
-- but CMake generates it automatically in the build directory.
CMake Warning at CMakeLists.txt:122 (message):
  gRPC_INSTALL will be forced to FALSE because gRPC_ZLIB_PROVIDER is "module"

-- Looking for res_servicename in resolv
-- Looking for res_servicename in resolv - not found
-- Looking for gethostbyname in nsl
-- Looking for gethostbyname in nsl - not found
-- Looking for gethostbyname in socket
-- Looking for gethostbyname in socket - not found
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - not found
-- Looking for include file sys/socket.h
-- Looking for include file sys/socket.h - not found
-- Looking for include file arpa/inet.h
-- Looking for include file arpa/inet.h - not found
-- Looking for include file arpa/nameser_compat.h
-- Looking for include file arpa/nameser_compat.h - not found
-- Looking for include file arpa/nameser.h
-- Looking for include file arpa/nameser.h - not found
-- Looking for include file assert.h
-- Looking for include file assert.h - found
-- Looking for include file errno.h
-- Looking for include file errno.h - found
-- Looking for include file fcntl.h
-- Looking for include file fcntl.h - found
-- Looking for include file inttypes.h
-- Looking for include file inttypes.h - found
-- Looking for include file limits.h
-- Looking for include file limits.h - found
-- Looking for include file malloc.h
-- Looking for include file malloc.h - found
-- Looking for include file memory.h
-- Looking for include file memory.h - found
-- Looking for include file netdb.h
-- Looking for include file netdb.h - not found
-- Looking for include file netinet/in.h
-- Looking for include file netinet/in.h - not found
-- Looking for include file netinet/tcp.h
-- Looking for include file netinet/tcp.h - not found
-- Looking for include file net/if.h
-- Looking for include file net/if.h - not found
-- Looking for include file signal.h
-- Looking for include file signal.h - found
-- Looking for include file socket.h
-- Looking for include file socket.h - not found
-- Looking for include file stdbool.h
-- Looking for include file stdbool.h - found
-- Looking for include file stdlib.h
-- Looking for include file stdlib.h - found
-- Looking for include file strings.h
-- Looking for include file strings.h - not found
-- Looking for include file string.h
-- Looking for include file string.h - found
-- Looking for include file stropts.h
-- Looking for include file stropts.h - not found
-- Looking for include file sys/ioctl.h
-- Looking for include file sys/ioctl.h - not found
-- Looking for include file sys/param.h
-- Looking for include file sys/param.h - not found
-- Looking for include file sys/select.h
-- Looking for include file sys/select.h - not found
-- Looking for include file sys/stat.h
-- Looking for include file sys/stat.h - found
-- Looking for include file sys/time.h
-- Looking for include file sys/time.h - not found
-- Looking for include file sys/uio.h
-- Looking for include file sys/uio.h - not found
-- Looking for include file time.h
-- Looking for include file time.h - found
-- Looking for include file dlfcn.h
-- Looking for include file dlfcn.h - not found
-- Looking for include file unistd.h
-- Looking for include file unistd.h - not found
-- Looking for include files winsock2.h, windows.h
-- Looking for include files winsock2.h, windows.h - found
-- Looking for 3 include files winsock2.h, ..., windows.h
-- Looking for 3 include files winsock2.h, ..., windows.h - found
-- Looking for include files winsock.h, windows.h
-- Looking for include files winsock.h, windows.h - found
-- Looking for include file windows.h
-- Looking for include file windows.h - found
-- Performing Test HAVE_SOCKLEN_T
-- Performing Test HAVE_SOCKLEN_T - Success
-- Performing Test HAVE_TYPE_SOCKET
-- Performing Test HAVE_TYPE_SOCKET - Success
-- Performing Test HAVE_BOOL_T
-- Performing Test HAVE_BOOL_T - Success
-- Performing Test HAVE_SSIZE_T
-- Performing Test HAVE_SSIZE_T - Failed
-- Performing Test HAVE_LONGLONG
-- Performing Test HAVE_LONGLONG - Success
-- Performing Test HAVE_SIG_ATOMIC_T
-- Performing Test HAVE_SIG_ATOMIC_T - Success
-- Performing Test HAVE_STRUCT_ADDRINFO
-- Performing Test HAVE_STRUCT_ADDRINFO - Success
-- Performing Test HAVE_STRUCT_IN6_ADDR
-- Performing Test HAVE_STRUCT_IN6_ADDR - Success
-- Performing Test HAVE_STRUCT_SOCKADDR_IN6
-- Performing Test HAVE_STRUCT_SOCKADDR_IN6 - Success
-- Performing Test HAVE_STRUCT_SOCKADDR_STORAGE
-- Performing Test HAVE_STRUCT_SOCKADDR_STORAGE - Success
-- Performing Test HAVE_STRUCT_TIMEVAL
-- Performing Test HAVE_STRUCT_TIMEVAL - Success
-- Looking for AF_INET6
-- Looking for AF_INET6 - found
-- Looking for O_NONBLOCK
-- Looking for O_NONBLOCK - not found
-- Looking for FIONBIO
-- Looking for FIONBIO - found
-- Looking for SIOCGIFADDR
-- Looking for SIOCGIFADDR - not found
-- Looking for MSG_NOSIGNAL
-- Looking for MSG_NOSIGNAL - not found
-- Looking for PF_INET6
-- Looking for PF_INET6 - found
-- Looking for SO_NONBLOCK
-- Looking for SO_NONBLOCK - not found
-- Looking for CLOCK_MONOTONIC
-- Looking for CLOCK_MONOTONIC - not found
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID - Success
-- Performing Test HAVE_LL
-- Performing Test HAVE_LL - Success
-- Looking for bitncmp
-- Looking for bitncmp - not found
-- Looking for closesocket
-- Looking for closesocket - found
-- Looking for CloseSocket
-- Looking for CloseSocket - not found
-- Looking for connect
-- Looking for connect - found
-- Looking for fcntl
-- Looking for fcntl - not found
-- Looking for freeaddrinfo
-- Looking for freeaddrinfo - found
-- Looking for getaddrinfo
-- Looking for getaddrinfo - found
-- Looking for getenv
-- Looking for getenv - found
-- Looking for gethostbyaddr
-- Looking for gethostbyaddr - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for gethostname
-- Looking for gethostname - found
-- Looking for getnameinfo
-- Looking for getnameinfo - found
-- Looking for getservbyport_r
-- Looking for getservbyport_r - not found
-- Looking for gettimeofday
-- Looking for gettimeofday - not found
-- Looking for if_indextoname
-- Looking for if_indextoname - not found
-- Looking for inet_net_pton
-- Looking for inet_net_pton - not found
-- Looking for ioctl
-- Looking for ioctl - not found
-- Looking for ioctlsocket
-- Looking for ioctlsocket - found
-- Looking for IoctlSocket
-- Looking for IoctlSocket - not found
-- Looking for recv
-- Looking for recv - found
-- Looking for recvfrom
-- Looking for recvfrom - found
-- Looking for send
-- Looking for send - found
-- Looking for setsockopt
-- Looking for setsockopt - found
-- Looking for socket
-- Looking for socket - found
-- Looking for strcasecmp
-- Looking for strcasecmp - not found
-- Looking for strcmpi
-- Looking for strcmpi - found
-- Looking for strdup
-- Looking for strdup - found
-- Looking for stricmp
-- Looking for stricmp - found
-- Looking for strncasecmp
-- Looking for strncasecmp - not found
-- Looking for strncmpi
-- Looking for strncmpi - not found
-- Looking for strnicmp
-- Looking for strnicmp - found
-- Looking for writev
-- Looking for writev - not found
-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Found Threads: TRUE
-- Found Perl: C:/Perl64/bin/perl.exe (found version "5.24.2")
CMake Warning (dev) at third_party/boringssl/CMakeLists.txt:165 (elseif):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "AMD64" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
This warning is for project developers.  Use -Wno-dev to suppress it.

Using nasm
-- The ASM_NASM compiler identification is YASM
-- Found assembler: C:/ProgramData/chocolatey/bin/yasm.exe
-- Check size of __int32
-- Check size of __int32 - done
-- Found Git: C:/Program Files/Git/cmd/git.exe (found version "2.14.1.windows.1")
-- git Version: v1.3.5-de93112a-dirty
-- Version: 1.3.5
-- Performing Test HAVE_STD_REGEX
-- Performing Test HAVE_STD_REGEX -- success
-- Performing Test HAVE_GNU_POSIX_REGEX
-- Performing Test HAVE_GNU_POSIX_REGEX -- failed to compile
-- Performing Test HAVE_POSIX_REGEX
-- Performing Test HAVE_POSIX_REGEX -- failed to compile
-- Performing Test HAVE_STEADY_CLOCK
-- Performing Test HAVE_STEADY_CLOCK -- success
-- Performing Test BENCHMARK_HAS_O3_FLAG
-- Performing Test BENCHMARK_HAS_O3_FLAG - Failed
-- Performing Test BENCHMARK_HAS_CXX03_FLAG
-- Performing Test BENCHMARK_HAS_CXX03_FLAG - Failed
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/Jeffrey Rennie/gitrepos/grpc/.build

C:\Users\Jeffrey Rennie\gitrepos\grpc\.build>cmake -- build .
CMake Warning at CMakeLists.txt:122 (message):
  gRPC_INSTALL will be forced to FALSE because gRPC_ZLIB_PROVIDER is "module"

CMake Warning (dev) at third_party/boringssl/CMakeLists.txt:165 (elseif):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "AMD64" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
This warning is for project developers.  Use -Wno-dev to suppress it.

Using nasm
-- git Version: v1.3.5-de93112a-dirty
-- Version: 1.3.5
-- Performing Test HAVE_STD_REGEX
-- Performing Test HAVE_STD_REGEX -- success
-- Performing Test HAVE_GNU_POSIX_REGEX
-- Performing Test HAVE_GNU_POSIX_REGEX -- failed to compile
-- Performing Test HAVE_POSIX_REGEX
-- Performing Test HAVE_POSIX_REGEX -- failed to compile
-- Performing Test HAVE_STEADY_CLOCK
-- Performing Test HAVE_STEADY_CLOCK -- success
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/Jeffrey Rennie/gitrepos/grpc/.build

C:\Users\Jeffrey Rennie\gitrepos\grpc\.build>ls
'ls' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\Jeffrey Rennie\gitrepos\grpc\.build>dir
 Volume in drive C has no label.
 Volume Serial Number is EC94-5B91

 Directory of C:\Users\Jeffrey Rennie\gitrepos\grpc\.build

11/27/2017  03:37 PM    <DIR>          .
11/27/2017  03:37 PM    <DIR>          ..
11/27/2017  03:37 PM         2,433,013 build.ninja
11/27/2017  03:35 PM            33,801 CMakeCache.txt
11/27/2017  03:37 PM    <DIR>          CMakeFiles
11/27/2017  03:35 PM           399,412 cmake_install.cmake
11/27/2017  10:06 AM    <DIR>          gens
11/27/2017  10:06 AM                94 gRPCConfig.cmake
11/27/2017  10:06 AM               394 gRPCConfigVersion.cmake
11/27/2017  03:37 PM           117,503 rules.ninja
11/27/2017  03:35 PM    <DIR>          third_party
               6 File(s)      2,984,217 bytes
               5 Dir(s)  10,650,968,064 bytes free

C:\Users\Jeffrey Rennie\gitrepos\grpc\.build>dir gens
 Volume in drive C has no label.
 Volume Serial Number is EC94-5B91

 Directory of C:\Users\Jeffrey Rennie\gitrepos\grpc\.build\gens

11/27/2017  10:06 AM    <DIR>          .
11/27/2017  10:06 AM    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  10,650,755,072 bytes free

C:\Users\Jeffrey Rennie\gitrepos\grpc\.build>powershell -Command gci -Recurse *.a,*.lib,*.dll

C:\Users\Jeffrey Rennie\gitrepos\grpc\.build>


Remove Interaction.policy_area from model state

Issue number: n/a
Description of change
Still waiting for the front end to be released with multiple policy areas, but just getting this ready for then.
Removal of the column from the database will follow once this has been released and deployed.
Checklist

[x] Have any relevant search models been updated?
[x] Have any relevant fixtures (fixtures/test_data.yaml) been updated?
[x] Have any relevant select-/prefetch-related field lists in the views and search apps been updated?
[x] Has the admin site been updated (for new models, fields etc.)?
[x] Has the README been updated (if needed)?

Codecov Report

Merging #980 into develop will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop     #980   +/-   ##
========================================
  Coverage    96.72%   96.72%
========================================
  Files          193      193
  Lines         5433     5433
  Branches       513      513
========================================
  Hits          5255     5255
  Misses         116      116
  Partials        62       62

Impacted Files
Coverage Δ

datahub/interaction/queryset.py
100% <ø> (ø)
:arrow_up:

datahub/interaction/admin.py
100% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Question: Which primary key is efficient?

We are updating metrics in clickhouse table (engine MergeTree) with following fields
date Date,
dateTime DateTime,
accountId String,
appId String,
hostname String,
cpuUsed UInt32,
memoryUsed UInt32

We came with two primary keys, but not sure which is better
Primary Key 1:
    (accountId, appId,  hostname, dateTime), 8192)

Primary Key 2:
    (accountId, appId,  dateTime, hostname,), 8192)

We always filter with time range. Which primary key is efficient?

You should figure out which of those queries will be more frequent. For larger periods people usually use partitioning by date/week/month, so ClickHouse reads only partitions that are needed, and sort data inside partitions by something else that is in filters often. But partitioning by small periods of time might lead to way too many files in filesystem.
Anyway to know for sure you have to take exactly your data and intended queries and see how it plays out with different possible approaches.

Did you check that: https://clickhouse.yandex/docs/en/operations/table_engines/mergetree/#primary-keys-and-indexes-in-queries ?

(accountId, appId,  hostname, dateTime) that option will probably give a better compression ratio and would be effective if you mostly always use conditions for accountId, appId,  hostname on your selects
(accountId, appId,  dateTime, hostname) that probably will give worse compression and if you have less than few thousands of events for each second for each accountId, appId combination then it have not too many sense to add hostname at the end of PK. So probably (accountId, appId,  dateTime) would be enough.

@filimonov Thanks. That make sense.
@blinkov - you had mentioned For larger periods people usually use partitioning by date/week/month
How could we do that? I assumed that Clickhouse only allows partitioning by month

@blinkov - you had mentioned For larger periods people usually use partitioning by date/week/month
How could we do that? I assumed that Clickhouse only allows partitioning by month

@fizerkhan https://clickhouse.yandex/docs/en/operations/table_engines/custom_partitioning_key/

for e.g. when we have it grouped by month - and if we query without hostname then it would end up parsing the whole set of rows.. (if hostname is behind timestamp). Is this assumption correct?

if you have not too many hostnames, and each group defined by tuple (accountId, appId, hostname) will still have >100K (rather millions) rows - may be adding hostname to PK before time can have some sense. If those groups are quite small and most of selects will not have hostname - rather it have no sense.
Generally clickhouse it really good in scanning of big ranges linearly - it can scan few gigabytes per second on single mid-level server, and if it need to jump a lot then performance degrades.
Anyway it's always better to make some A/B tests, as it's hard to predict properties of real data.

you can also use something like toStartOfMinute(datetime) in primary key
CREATE TABLE IF NOT EXISTS thetable (
date Date,
dateTime DateTime,
accountId String,
appId String,
hostname String,
cpuUsed UInt32,
memoryUsed UInt32
)
ENGINE = MergeTree
PARTITION BY date
ORDER BY (accountId, appId, date, toStartOfMinute(datetime), hostname)
SETTINGS index_granularity = 8192

@filimonov Thanks. We have two databases:

In one database, we have approx 700,000 rows in a month per host. We might have around 5,000 hosts. so it will be 3500,000,000 rows in a month. And almost every select call will either have hostname in where statement or in the group by statemnet. So in this case, I assume your statement makes sense to add hostname before time. So the primary key will be (accountId, appId, hostname, eventDateTime). Is that what you meant? (Of course, we will run A/B testing before deciding)

In a second database, instead of hostname, we have TxnID. In total we have approx 5MM rows in a month per appId with around 100 TxnIDs for that app. In total we might have around 5 Billion rows per month for 1000 apps, with approx 500,000 unique TxnIDs. And we store queries for 3 months period. However, half of our select calls will not have TxnIDs in where or group by statements. The other half of our select calls with TxnID in it. In this case, what would you recommend. should we have TxnId before or after eventDateTime

     (accountId, appId, eventDateTime, txnId)
     ---or---
     (accountId, appId, txnId, eventDateTime)

@champtar - you have mentioned about toStartOfMinute(datetime) in primary key -> Is there an advantage in doing this? Does it play a role

@fizerkhan is this issue still relevant?


Export-XLSX -WorkSheetName "More Then 31 characters"

When exporting data to a worksheet with a name longer then 31 characters you get this throw error:
At C:\Program Files\WindowsPowerShell\Modules\psexcel\1.0.2\Add-Table.ps1:151 char:13

        Throw "Could not get worksheets to search: $_"

        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : OperationStopped: (Could not get w...th (parenthes
:String) [], RuntimeException
FullyQualifiedErrorId : Could not get worksheets to search: Yet another tab with (parenthesis) could not be foun
d. Valid worksheets:

Can be mitigated by adding
[ValidateLength(1,31)]
in line 206

Good find!  Feel free to submit a pull request, otherwise, will try to grab this over the weekend - cheers!


Add CombineLatest operator.

Add
func CombineLatest(o ...Observable,map func (is []interface{}) interface{}) Observable

@pocket7878 Why CombineLatest and not Combine?

I believe the strongest reason to go with CombineLatest over Combine would be that it follows the documentation on Rx operators - http://reactivex.io/documentation/operators.html

@psh thanks for the heads up. @pocket7878 would you like to work on this one?


Fix CircleCi style checker

It seems like we/I accidentally disabled the style target on CircleCi (style is not defined in the command switch). I take the full blame for this, but at least it's a good proof that the CI actually does catch quite a few things ;-)
I split up the fixes depending on their category.
There's only one line left about which DScanner is complaining (hence the "blocked" label):
public static immutable ctRegex(alias pattern, alias flags=[]) = ctRegexImpl!(pattern, flags).nr;

It warns with:
std/regex/package.d(421:32)[error]: Declaration expected
std/regex/package.d(421:62)[error]: Declaration expected
std/regex/package.d(421:64)[error]: Declaration expected
std/regex/package.d(421:97)[warn]: Empty declaration

@Hackerpilot is there a simple fix? Otherwise I will add this file to the Dscanner blacklist.

I'll have to figure out what kind of declaration that is and then update the parser.

This should help: https://github.com/Hackerpilot/Dscanner/releases/tag/v0.4.0-beta.1

Interesting. The compiler used by Travis can't find the mallocator module.

Why is it using dmd-2.068.2?

Because you're not specifying with which dmd to build dscanner. It just picks up whatever system-wide dmd installed. Please fix that, e.g. similarly to how we pin stable dmd versions for building dlang.org's ddocs or dmd's bootstrap compiler.

... and now we run into problem that currently our installer is broken for point releases :/
(See https://github.com/dlang/installer/pull/201 for more details)

Okay I once again updated this PR to include the changes that managed to sneak in over the last month.
I also had to disable Dscanner's new check for auto return functions which return void as it's commonly used like version(Stddoc) auto myfunction(){ assert(0)} or with mixin.
I hope that this version now passes our CI, s.t. we can finally enable the check again :)

I went through another round of catching up & thus rebased to the lastest changes. It would be quite nice if we can get this in rather sooner that later :)

Auto-merge toggled on

How come I don't see CircleCI in the CI services list on this PR?

Auto-merge toggled off

It's actually disappeared from all PRs, so probably not due to these changes.

Perhaps it's because of this setting?

Link goes to https://circleci.com/docs/fork-pr-builds/.
I don't know how CircleCI is configured (heck, I have no clue why we even need it at all considering there's Travis and AppVeyor), so I'm not sure if it's safe to enable or if it's relevant at all. @wilzbach ?

How come I don't see CircleCI in the CI services list on this PR?

Oh sorry - I was hoping that it was just a temporary outage and would start to build the PR.
-> I will have a look :(

I don't know how CircleCI is configured (heck, I have no clue why we even need it at all considering there's Travis and AppVeyor), so I'm not sure if it's safe to enable or if it's relevant at all. @wilzbach ?

The only reason for using CircleCi is because it's not Travis :P
With the free plan an organization (e.g. dlang) gets five concurrent slots and well with all it's parallel builds dmd uses all of them.

The only reason for using CircleCi is because it's not Travis :P

So, to clarify... CircleCI has more throughput than Travis, or using both gets us more throughput than using just one, or something else?

So, to clarify... CircleCI has more throughput than Travis, or using both gets us more throughput than using just one, or something else?

Yes it's solely about having more throughput. We tried to use Travis for Phobos before and the builds were stuck in the queue for days, hence the move to CircleCi.
The use of CircleCi for code coverage testing at dmd and druntime has a similar motivation.
I don't know the reason for the outage with CircleCi yet, but unfortunately it doesn't have anything to do with the "Permissive build setting").
Anyways thanks to @MartinNowak the CI logic is in this separate circleci.sh, so we are pretty agnostic about the CI provider.

Perhaps it's because of this setting?

Seems like you were right. As we don't have any sensitive information stored with CircleCi, I flipped "Permissive building of fork pull requests" to "on" and it seems to be building now :)
While I was looking at our config I also realized that a bug in Dscanner has been fixed and we can now re-enable the style checking for std/conv.d. Sorry for the noise :/

Auto-merge toggled on


Auxiliary block store now uses correct transition object

The auxiliary transition object was not used anywhere in the code. It is
now used wherever we need the auxiliary transition object. Mostly the
auxiliary block store.
In order to be able to calculate the transition object and hash at an
auxiliary checkpoint, we need to know the origin dynasty and latest
finalized block hash. Those two fields are now tracked on the auxiliary
block store per reponted block by calling on the origin block store. The
address of the origin block store was added to the constructor.
To decide whether a vote is valid, the auxiliary block store now
verifies the given transition hash against the hash that it calculates
itself based on the data that is available  at the source checkpoint. To
do that, isValidTransitionHash has been made internal on the
BlockStore and is overridden by the AuxiliaryBlockStore.
Added getHead() and getCurrentDynasty() to the BlockStoreInterface
and BlockStore and BlockStoreMock. The auxiliary block store uses
these functions to get the latest observations of the origin block store
when it stores a block report.
I updated the auxiliary block store tests to check for the corret
transition hash. Furthermore I added the accumulated values to the
shared data object.
I added solidity tests for the MetaBlock library.
All core identifier types were changed to bytes20 which is the current
implementation. Must be changed to bytes32 across the whole project
coordinated.
I tried caching only the transition hash per reported block in the
auxiliary block store instead of all the individual data points like
accumulated gas and accumulated transaction root. It turned out
impossible to do, as the dynasty of a block can change when an earlier
block gets finalized. Thus, the transition hash cannot be cached at the
time of a block report.
Fixes #336

Variableshead and currentDynasty are already public.
Now we have introduced getHead and getCurrentDynasty the variables can be private or internal.
Is there a "best practice" for this 🤔

Variableshead and currentDynasty are already public.
Now we have introduced getHead and getCurrentDynasty the variables can be private or internal.

Is there a "best practice" for this 🤔

The compiler automatically creates getter functions for all public state variables. We already have head and currentDynasty functions.  With getHead and getCurrentDynasty we have multiple functions for same task. I am not sure if its best practice, but we followed this practice in past https://github.com/OpenSTFoundation/openst-payments/blob/master/contracts/Pricer.sol

It potentially saves on the overall byte size of the compiled contract if it would actually add the public getters again even though they exist 🤔
Will make them private 👍


use hslogger for all stderr output

As done now in poseidon-http-server I suggest to switch all stderr output in the core poseidon-hs library to logging functions à la infoM or debugM and the like (https://hackage.haskell.org/package/hslogger-<IP_ADDRESS>/docs/System-Log-Logger.html).
This has the advantage that we can control the output from outside the library, using functions like updateGlobalLogger or trapLogging.
As a first step, we could simply replace all hPutStrLn stderr with infoM, and then add updateGlobalLogger rootLoggerName (setLevel INFO) to the beginning of the main functions in any clients. This would then literally keep behaviour exactly the same for the user. As a next step, we could use different levels, for example debugM for debug-messages, or warningM for warning messages, which would then mean we control the output with verbosity levels even from the commandline.
Using updateGlobalLogger we can even channel output into files or the syslog (could be interesting for the server).
Using traplogging we can control how uncaught exceptions are output. For example using the ALERT level.
Note that all this is a "nice-to-have", not a bug-fix.

To my minimal understanding hslogger operates fully in IO, right? Shouldn't we aspire to a more flexible and a bit more pure solution like the ReaderT pattern? I think it's sort of an industry standard. Maybe these could even be combined? But my googling revealed that for simple logging, hslogger is probably the most simple and clear solution out there.
About the ReaderT pattern: https://www.fpcomplete.com/blog/2017/06/readert-design-pattern
A simple example: https://stackoverflow.com/questions/61780295/readert-design-pattern-parametrize-the-environment

There are also other logging libraries. co-log looks promising: https://kowainik.github.io/posts/2018-09-25-co-log

Implemented now via co-log in #173


Convert both directions between 'simple' antenna positions and ITRF positions

It is possible that I have effectively addressed this in my pull request #155. I think that ENU (east, north, up) may well be what we meant by 'simple' antenna positions. I don't really remember the context for this issue, though, so I'm not sure. Can you comment @mkolopanis @aelanman?

I remember being interested in this issue because I wanted to use pyuvdata to pull antenna positions and make cal files, which store antenna positions in ENU coordinates relative to the array center. I think that's what we meant by 'simple.' I made some progress in rotating the ITRF to ENU coordinates, but consistently found the array shifted and rotated a little from where it should be (comparing mwa antenna positions from a cotter-generated uvfits file to a table on the mwa wiki). There are some lines in cotter which I suspect were storing the ITRF table incorrectly. If so, it wouldn't be noticeable because nothing else uses the ITRF antenna positions. From there, I decided instead to get antenna positions from the unphased uvw array, to more success.
It looks like pull request #155 does address this issue. I'm curious if you'll see the same shift/rotation that I saw when trying to rotate the ITRF positions to ENU.

That's interesting, I didn't realize that was the blocking problem for you. Do you still have the code to make those comparisons?

I can't find my original code for ITRF conversion... I may have deleted it. I was doing the conversion with a pair of rotation matrices, which I think were pretty close to what you have in your pull request. I'll write up something new to make the comparison.

@aelanman Is this issue resolved?

The utility functions you added for rotating coordinates should be enough to consider this issue resolved.


Update Composer dependencies (2021-10-23-00-04)

Visual regression test passed!
View the visual regression test report


Pin pycodestyle version to fix CI

View a preview at https://prompt.ws/r/Azure/azure-cli/6078
This is an experimental preview for @microsoft users.

Please merge once CI passes


Investigate porting 'pdk validate' to golang

Pick one external validator to POC using golang for validate

[x]  Execute rubocop check
[x] Hook up a PR showing validate of 2 example files demonstrating pass/fail

Pick one internal ruby validator to POC using golang for validate

[x] Execute JSON syntax check
[x] Hook up a PR showing validate of 2 example files demonstrating pass/fail

[ ] Research how much of the validate feature could be ported to golang

More detailed write up of PoC Phase I findings here: https://confluence.puppetlabs.com/display/ECO/PDK+Validate+PoC

There was a rough PoC generated here: https://github.com/sanfrancrisko/pdkgo/tree/pdk-validate
With thanks to @da-ar , a more tidied up version that has a better project structure and better unit test conventions is up here: https://github.com/sanfrancrisko/pdkgo/tree/pdk-validate-mocked
There is a 3rd branch which is hoping to combine an:

End to end pdk validate ruby command
An example of a structure that is conducive to writing better unit tests in Go that can act as a conversation catalyst.

This is unfortunately in still a partially complete state and had to be parked due to the PCT LA release we are aiming for.
There is probably only 1 more day worth of work required, which I will aim to try and complete before we resume this work, in future.


Difference between original Prettier

Is this normal that the original Prettier run transforms the code:
const a = "a"

to
const a = 'a';

, when precise-commit doesn't do it ? ("a" stays always "a" and not 'a').
What are another style differences from the original one?

Hi @defusioner, please can you provide a reproduction of Prettier doing that by default?
Here is my attempt using the official Prettier playground: https://prettier.io/playground/#N4Igxg9gdgLgprEAuc0DOMAEBDTBeTAHRG2JABoQIAHGAS3WVGwCcWIB3ABVYTWRIA3CHQAmFEhmQAzbABs0cSgCMW2MAGs4MAMrV1dKAHNkMFgFclIURDAz5iyocUsYXNUYC22ewqsArNAAPACE1TW0dbE84ABlDOF9HKnMYalSAJiSrfRYXAWVsZQBPOWgJahZDGAB1MRgAC2QADgAGSkqIRRq1agFKuBdBRMoWOABHczox92wvHyRZP0pFTzpTCys0QyM5OABFcwh4bMoYIrrRRuQMs7U6OR2AYQhPbwEoaBGQc0UAFSK-EWDjgAF9QUA
As you can see the input:
const a = "a"

Produces the output:
const a = "a";

precise-commits should not be affecting your prettier configuration, nor its defaults.

@JamesHenry well, what do I have:
[TAB][TAB]const a = 'a' -> const a = "a"; via playground.
https://prettier.io/playground/#N4Igxg9gdgLgprEAuEAdG7JQM4wAQCGeAvHgOQFkgA0IEADjAJbTbKgEBOnEA7gApcEbFAQBuEJgBMaIArmQAzAgBtscWgCNOBMAGs4MAMr1dTKAHNkMTgFcNIKRDBLV62ufWcY-HRYC2BK5qDgBW2AAeAEI6+oZGBP5wADLmcMHudLYw9NkATBkOppxeyCCaBJoAnirQsvSc5jAA6tIwABbIABwADLQNEOrNOvRlDXBeYum0nHAAjrZMs74EAUFIyiG06v5M1nYO2OYWKnAAirYQ8IW0MJWtUh3Iebc6TCrHAMIQ-oFlUNBpiBbOoACqVESbdQAX2hQA
Installed Prettier 1.10.1 (configured as external tool in my IDEA), gives:
[TAB][TAB]const a = "a" -> const a = 'a';
Precise commits during a commit gives me:
if (true){ [TAB][TAB] const a = "a" }
Transformed into:
if (true){ const a = "a"; }
So something seems not to be right.. I have just installed Prettier's 1.10.1 version globally.
I have same versions of prettier in my project and one installed globally.

I think you are confirming above that precise-commits is indeed behaving as expected with regards to applying prettier (and using its default behaviour). Your playground example and your example with precise-commits are identical.
It seems like you have potentially set some configuration within your IDE which is overriding prettier's default for the singleQuote option. It is false by default, but it seems like you must have set it to true somewhere.
Not knowing what IDE you are using I can't really help any further, but I would try and find where you have configured the prettier extension you are using as a next step.
As this is not related to precise-commits I am going to close the issue for now.


[Roadmap] Exporters

Hi all,
Just read the roadmap and saw the line related to Importers (Jekyll/Wp).
For WP I have tried successfully Wordpress to Hugo exporter by @SchumacherFM
What would be the requirements for such exporters ?

Closing as this is on the roadmap.


Grid sort doesn't handle unnamed columns properly

m <- matrix(1:9, 3, 3)
colnames(m) <- c(1, NA, 3)
View(m)

Then try to sort by the "NA" column. You will get this error:
Error in `[.data.frame`(x, "NA") : undefined columns selected

Also the fact that we actually show column name as "NA" is already wrong - it should just be a numbered column in that case.

Also, after this error happens, it puts REPL in an unusable state - an attempt to submit any other code for execution hangs it, and Reset doesn't help.


[Bug][config-ui] gitlab add connection can not set token

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
When we try to setting the token for gitlab . we can not input anything
And if we try to set it by chrome console, it will be clean after focus on it.
As follow gif

try to debug it and handle the focus.
At the second times to run the handleElementFocus, before setElementIsFocused, the value still have.

But after this code,We lost input value.

And also it skip the line of breakpoint.
What you expected to happen
We can set the token by input.
How to reproduce
1.Add gitlab connection
2.try to set token.
Anything else
No response
Version
main
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

@mappjzc This is not ideal and unfortunate, will get this GitLab token issue resolved.

@Startrekzky I'm actively working on my current PR #2534 and will flag as merge ready as soon as I've completed all my tasks.


Error installing plotly-extension on Windows

When I try to install plotly-extension to jupyterlab on Windows 10, I get the following error:
(Keras_learn) C:\Users\xxxxxxx>jupyter labextension install @jupyterlab/plotly-extension

npm.cmd pack @jupyterlab/plotly-extension
'npm.cmd' is not recognized as an internal or external command,
operable program or batch file.
Traceback (most recent call last):
File "C:\Users\xxxxxxx\AppData\Local\Continuum\anaconda3\envs\Keras_learn\Scripts\jupyter-labextension-script.py", line 10, in
sys.exit(main())
File "C:\Users\xxxxxxx\AppData\Local\Continuum\anaconda3\envs\Keras_learn\lib\site-packages\jupyter_core\application.py", line 267, in launch_instance
return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
File "C:\Users\xxxxxxx\AppData\Local\Continuum\anaconda3\envs\Keras_learn\lib\site-packages\traitlets\config\application.py", line 658, in launch_instance
app.start()
File "C:\Users\xxxxxxx\AppData\Local\Continuum\anaconda3\envs\Keras_learn\lib\site-packages\jupyterlab\labextensions.py", line 168, in start
super(LabExtensionApp, self).start()
File "C:\Users\xxxxxxx\AppData\Local\Continuum\anaconda3\envs\Keras_learn\lib\site-packages\jupyter_core\application.py", line 256, in start
self.subapp.start()
File "C:\Users\xxxxxxx\AppData\Local\Continuum\anaconda3\envs\Keras_learn\lib\site-packages\jupyterlab\labextensions.py", line 58, in start
for arg in self.extra_args]
File "C:\Users\xxxxxxx\AppData\Local\Continuum\anaconda3\envs\Keras_learn\lib\site-packages\jupyterlab\labextensions.py", line 58, in
for arg in self.extra_args]
File "C:\Users\xxxxxxx\AppData\Local\Continuum\anaconda3\envs\Keras_learn\lib\site-packages\jupyterlab\commands.py", line 100, in install_extension
return IOLoop.instance().run_sync(func)
File "C:\Users\xxxxxxx\AppData\Local\Continuum\anaconda3\envs\Keras_learn\lib\site-packages\tornado\ioloop.py", line 458, in run_sync
return future_cell[0].result()
File "C:\Users\xxxxxxx\AppData\Local\Continuum\anaconda3\envs\Keras_learn\lib\site-packages\tornado\concurrent.py", line 238, in result
raise_exc_info(self._exc_info)
File "", line 4, in raise_exc_info
File "C:\Users\xxxxxxx\AppData\Local\Continuum\anaconda3\envs\Keras_learn\lib\site-packages\tornado\gen.py", line 1069, in run
yielded = self.gen.send(value)
File "C:\Users\xxxxxxx\AppData\Local\Continuum\anaconda3\envs\Keras_learn\lib\site-packages\jupyterlab\commands.py", line 140, in install_extension_async
fname = os.path.basename(glob.glob(pjoin(target, '.'))[0])
IndexError: list index out of range

'npm.cmd' is not recognized as an internal or external command,

Do you have npm (node) installed? If not, it can be installed with:
conda install nodejs

That fixed it.  Thanks.

@robot-uprising - feel free to close this if your issue is fixed - saves the maintainers from having to do it themselves. I'd do it but t I don't have write access myself without which you can't close others' issues.


Add mdbook for better reading exprerience

Jumping between the content of the table and the snippets are quiet annoying for me when reading the README.md file. Because whenever I click the "Back to Top" anchor and navigate to the table of contents, I have to scroll to the title to find the last topic I read and sometimes I just forget what's the title or the number I just read.
Some github repos uses mdbook to write their tutorials, so I wrote a python script (write_to_files.py in the src directory) to generate a SUMMARY.md and the src files for mdbook. Now I can use the mdbook build or mdbook server command and to read this book more easily.
Mdbook has some useful shortcut and search function and It's much more comfortable compares to reading directly in the README.md.

@cgyinthehouse  Thanks for PR. Can you please resolve the conflicts?


AsyncAPI documentation generator

In order to document the external commands and events received by a microservice.
For reference, see this project.

Implemented


Build instructions are missing the "make" step

The build instructions include "cmake", but are missing "make":
$ mkdir build && cd build && cmake .. -DMAKE_LD_PRELOAD_LIBRARY=1
$ sudo bash -c "echo 100 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages"
$ numactl -N0 env LD_PRELOAD=./libelfremapper.so ./your-application

Fixed: 8e19b343deabe6c9e05d5882e173afa846d3832a


Invalid exports field in the package.json

This is a bug report.
Problem
We are using jest for running tests on the Status Web. The ecosystem is still in the early adoption of exports field, but Jest recently added supported to the jest-resolve.  The tests were failing on the error message Cannot find module 'js-waku' from <FILE_NAME>. It took me a while, but I found the culprit.
#621 introduced invalid exports field definition to the package.json. The main issue is that import condition is not pointing to a valid file that can be loaded via import or import() (because it is a CommonJS build).
Proposed Solutions
After reading Node.js Packages documentation and Webpack Package Exports article, I believe the correct configuration is the following:
{
  "exports": {
    "node": {
        "import": "./build/esm/index.js",
        "require": "./build/main/index.js",
     }
    "default": "./build/esm/index.js"
  },
}

import condition pointing to ESM build
require condition pointing to CommonJS build
default condition is a generic fallback that always matches and should be last

Unless you have environment-specific code, it is not necessary to use the node condition. However, it seems to be a good practice to be explicit about it.

Should be fixed once #802 is done

Fixed in 0.25.0


license issue with liccheck

liccheck doesn't seem to recognise the license
$ poetry run liccheck -s liccheck.ini -r requirements.txt
gathering licenses...
110 packages and dependencies.
check authorized packages...
109 packages.
check unknown packages...
1 package.
    dvclive (0.8.2): UNKNOWN
      dependency:
          dvclive << dvc

Thanks for bringing this up.
LICENSE is here https://github.com/iterative/dvclive/blob/main/LICENSE but we were not indicating the license type in setup.py

Any idea when you'll release this?


Starttls session erase old session instance, including proxy_arg details

Hi,
I noticed that when a StartTls connection is made over an existing connection, a entirely new Session object is created, which erase the previous one that contained the PROXY details (when used).
In order to avoid this issue, a simple solution could be to pass the previous session into the new one, such as:
    def _create_session(self):
        return Session(self.loop, self.session)

And the Session object:
@public
class Session:
    def __init__(self, loop, session: Optional[Session] = None):
        self.peer = None
        self.ssl = None
        self.host_name = session.host_name if session else None
        self.extended_smtp = session.extended_smtp if session else False
        self.loop = loop

        self.proxy_data: Optional[ProxyData] = session.proxy_data if session else None

@cnicodeme I think I may be facing the same issue, but I was not able to track where the Session is being recreated on the code. I only spot one _create_session call on the def connection_made(self, transport: asyncio.transports.BaseTransport) -> None: method.

In order to resolve this, I created a class that wraps the SMTP class, and added the function _create_session(self) to return a new Session with the the current one as a parameter:
    def _create_session(self):
        return Session(self.loop, self.session)

And in my Session.__init__ class, I either set the old value or None:
class Session:
    def __init__(self, loop, session=None):
        # Data from the original Session
        self.peer = None
        self.ssl = None
        self.host_name = session.host_name if session else None
        self.extended_smtp = session.extended_smtp if session else False
        self.loop = loop
        self._proxy_data = session._proxy_data if session else None

        # Auth data
        self.auth_data = None
        self.authenticated = False

        self.reset()

    def reset(self):
        self.started_at = int(timer() * 1000)
        self.received_at = int(datetime.datetime.utcnow().timestamp() * 1000)
        self.mail_from = None  # MAIL FROM SMTP command | List of name/email
        self.sender = None  # From header in the email content | List of name/email
        self.size = None  # Origina size
        self.subject = None
        self.message_id = None
        self.session_id = str(uuid.uuid4())

(Some are custom data)


[Feature idea/request] Delay all traffic

I was developing a PowerShell script earlier, that was using NVM, turns out that the nodejs servers where incredibly slow, probably overloaded.
That made me realize it's next to impossible to demonstrate/test how your app does under terrible network conditions, it can be done in the browser using devtools, and throttling, but being able to "slow down" requests to emulate a slow connection would be awesome!
Twitter discussion

This should offer the option to set the download data rate of incoming traffic, as well as "time to first bytes". And have both options vary chaotically.

Awesome suggestions! Thank you!

The response delay would be easy for us to implement.  And some tricky buffering or local device cache storage to stop runaway memory usage!

In fact, I like my idea of a local device cache.
When connection slowdown is enabled, storage the response on disk, then slowly feed it to the client, then delete the stored request.

Thanks for the suggestion @jimmywim!


Review financial elements of the strategy with IITB Finance

IITB Finance flagged some challenges with the strategy. Need to go over them in more details with them before continuing.

received high level comments 2020-10-15.
Need to update strategy doc and follow up.


Excel Export

I just want to confirm, last time i raised the option to export the grid into excel. Is it done yet?

Yes. This is done. Here is the example: http://gijgo.com/grid/methods/downloadCSV
You can also review http://gijgo.com/grid/methods/getCSV, that return the raw csv data.


Perform security group operations by groupId.

Priam attempts to look for security groups in the default VPC (or EC2 classic for older accounts). This update causes Priam to search the current VPC for security groups.

looks good to me 👍 . small nit just to keep consistent with their syntax style=


Wrong binaries in the Release page and read from disk question.

All the binaries in the Releases page are .exe. can't open or run the program on Mac.
Also. I see you need to pass a Magadex id to the program.
I don't want to do that since the site it's complete mess. with a lot of missing chapters.
I understand you don't want to support other sites, and there are plenty of applications out there the do that already, but the folder  structure might be different, in the sense that they might not include the Volume directory like Mangadex does or the cover in the root directory. Most alternatives have the root folder, chapters subfolders and the cover is the first image of chapter 1.
I would like to try your program by passing it a local directory and for it to output a book.
If you pass the Mangadex ID to it and the local folder will it make the book?
Most chapters and Volumen are missing in Mangadex anyways, I have all the chapters locally. I just want Mangadex to provide metadata.
Finally, what would be perfect, is for your mobi library to be a replacement for kindlegen, at least for generating manga books.
I don't know much about Go development but programing is programing at the end of the day.
Do you have documentation for the library, or an example if I wanted to make a manga with it specifically.
How would I pass basic data, and toc chapters with the corresponding images.
I'll be looking at how you do things with kojirou, but it seems complicated since it's intertwined with Mangadex.
If you can shed some light on the process that would be great.
Thank you.

All the binaries in the Releases page are .exe. can't open or run the program on Mac.

Good to know! I don't really know much about OSX and I do not have access to a device or VM running it at this time. The binaries are definitely built for Darwin/OSX though. Have you tried making the files executable (chmod u+x kojirou.exe) and running them (./kojirou.exe)? If so, please tell me how this process fails for you.

If you pass the Mangadex ID to it and the local folder will it make the book?

Yes, this will work, as long as you follow the folder structure as it is described in the README.  However, you will have to put the chapters in the correct volume subdirectories if you want them to be split up correctly. Also, bit of a hack, you can pass --groups=Filesystem to ensure no chapters from Mangadex are downloaded, even you do not have them locally.

Do you have documentation for the library, or an example if I wanted to make a manga with it specifically.

The API documentation for my mobi package is here. However, that alone is probably not enough, as it assumes familiarity with MOBI format internals. So, as most of the MOBI generation code in kojirou is contained in this file, please use that as an additional guide.
However, if you just want to use this library to build a manga-to-kindle converter without a dependency on MangaDex, that work has already been done by @tsopeh with his mapaki project. Maybe that works for you.

Thank you, I'll check those links out.
As for the binaries. for MacOS and Linux they don't have an extension.
Maybe it's because all the files end in .exe that threw me off.
I had to remove the .exe extension and make it executable.
I got a Security Alert from the OS and had to bypass.
It seems to be working now. I'll give it a try and see how it goes?
Looks like mapaki might be the solution I'm looking for.
Thank you.

I tried mapaki and it looks like it does what it want which is to read from a folder with some basic metadata and make a book.
However, I tried it with a 8GB Manga archive and it hung and died.
Processing the images was pretty fast, but at the time of creating the aw3 file which comes from the mobi library it hung and died after 15 minutes.
Any advice on that?
Does the library have a size limit I should stay under?
How does kojirou handle the One Piece if you wanted to process the whole thing into one book?

I am running the program on my m1 macbook and it works flawlessly. I clone the folder and run it using my terminal. Same syntax and the out put is a folder with all the manga nicely formatted. Can you be more specific on how you were using your mac to run the program?

@baobach This is not about installing through go install or cloning the project and running it.
It's about the binaries on the Releases page.
I can run the program and build the binaries myself, but I wanted to avoid doing that and noticed the issue with the current binary artifacts.

@yoanhg421 Ah!! Totally misunderstood your question. My apologies. I also would love to see kojirou updates to work with other websites.

@baobach
Leotaku mentioned this project [mapaki](https://github.com/tsopeh/mapaki which uses his mobi library for converting books.
You can use Hakuneko which downloads from over 1200 different sites.


Normalize assert*() calls in tests

Improvement
Currently assert*() calls are inconsistent between tests:

self::assert*() (preferred)
static::assert*() - good alternative for above, but tests should usually be final and overriding core methods is not expected
$this->assert*() - this one is invalid as assertion methods are usually static

This should be enforced by static analysis/code style.

I'll have a look at this 😉

@hunomina I've merged your PR up to 2.5.x branch - would you like to change all remaining calls there? We had few features added to 2.5.x that were not present on 2.4.x.

Oh! Sure, I can have a look 😉

@hunomina I think you missed a few hidden spots where we still call them non-statically:
https://github.com/doctrine/mongodb-odm/blob/5fcca6cc7e5e93bd6d2f3ee4a2f08ca9e1689939/tests/Doctrine/ODM/MongoDB/Tests/Events/PreUpdateEventArgsTest.php#L74-L110
and
https://github.com/doctrine/mongodb-odm/blob/5fcca6cc7e5e93bd6d2f3ee4a2f08ca9e1689939/tests/Doctrine/ODM/MongoDB/Tests/Events/LifecycleListenersTest.php#L240-L270
There are quite camouflaged so it's really hard to spot them but we will be able to remove the $phpunit property completely there.
Can you submit a PR fixing those for 2.4.x?

I searched for occurrences using \$this->.*assert this time.
I could only find two of them. PR coming right up 😄

There you go.
I'll create another PR to fix 2.5.x 😉

I think we can close it here


the ceritificate for mirror.tensorflow.org is invalid

Please make sure that this is a build/installation issue. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:build_template
System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): 20.04
TensorFlow installed from (source or binary): source
TensorFlow version: 2.0
Python version: 3.7
Installed using virtualenv? pip? conda?: conda
Bazel version (if compiling from source): 3.7.2
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version: 10.2/8.2
GPU model and memory:

Describe the problem
while building tensorflow the following link is used by bazel to download an extension for aws:
https://mirror.tensorflow.org/github.com/aws/aws-sdk-cpp/archive
The Certificate under that link isn't for mirror.tensorflow.org but for *.storage.googleapis.com
Provide the exact sequence of commands / steps that you executed before running into the problem
not applicable
Any other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.

#37284


unix: report errors for unpollable fds

Libuv would abort() when trying to watch a file descriptor that is
not compatible with epoll-style polling; file descriptors referring
to on-disk files fall into this category.
File descriptors that libuv creates itself are not an issue but
external ones that come in through the uv_poll_init() API are.
Starting with this commit, when the file descriptor is rejected by
the underlying system call, an error is propagated to the uv__io_cb
callback, and from there to the uv_poll_cb callback.
Fixes: https://github.com/libuv/libuv/issues/658
R=@saghul
I verified that the tests pass on Linux and OS X.  I speculate Windows is going to fail because uv_poll_init() seems to return an error directly when the file descriptor is incompatible.
We can perhaps emulate that on Unices by registering file descriptors early but that is probably a more invasive change.  Thoughts?
CI: https://ci.nodejs.org/job/libuv+any-pr+multi/217/

I verified that the tests pass on Linux and OS X. I speculate Windows is going to fail because uv_poll_init() seems to return an error directly when the file descriptor is incompatible.
We can perhaps emulate that on Unices by registering file descriptors early but that is probably a more invasive change. Thoughts?

The change seems to fail on FreeBSD, SmartOS and Windows. I guess we might need some more adjustments.
I'd be ok with Unix and Windows behaving a bit differently, one returning an error in init, the other in the callback if we document it right.
About registering fds early, can't we verify them early instead? IIRC I tested that with epoll at least, you can epoll_ctl a given fd and even if it's not registered it would give us EPERM. Maybe we can do the same for other backends and have some uv__io_verify_fd of some sort?

About registering fds early, can't we verify them early instead? IIRC I tested that with epoll at least, you can epoll_ctl a given fd and even if it's not registered it would give us EPERM.

I considered that approach but it struck me as inefficient, making system calls that are not strictly necessary, but maybe that doesn't matter so much.  I've added a commit that does early checking, PTAL.
CI: https://ci.nodejs.org/job/libuv+any-pr+multi/218/

FreeBSD and SunOS still complain. I guess regular files are pollable for them, which I guess it's ok, but we probably want to ifdef the test out for them.

Ping?

Sorry, forgot about this PR.  Updated and new CI run: https://ci.nodejs.org/job/libuv+any-pr+multi/238/

@bnoordhuis
`poll_bad_fdtype` failed: exit code 134
Output from process `poll_bad_fdtype`:
Assertion failed in test/test-poll.c on line 574: err != 0
=============================================================

`poll_bad_fdtype` failed: exit code 134
Output from process `poll_bad_fdtype`:
Assertion failed in test/test-poll.c on line 574: err != 0
=============================================================

FreeBSD and SunOS still complain. I guess regular files are pollable for them, which I guess it's ok, but we probably want to ifdef the test out for them.

Another one because Windows: https://ci.nodejs.org/job/libuv+any-pr+multi/239/
I'll see what I can do about freebsd.

And another one: https://ci.nodejs.org/job/libuv+any-pr+multi/240/

Christ, this is getting annoying.  Once more: https://ci.nodejs.org/job/libuv+any-pr+multi/241/

Almmost there!
`poll_bad_fdtype` failed: exit code 134
Output from process `poll_bad_fdtype`:
Assertion failed in test/test-poll.c on line 581: 0 != uv_poll_init(uv_default_loop(), &poll_handle, fd)
=============================================================

On SmartOS.

Guess the smartos machines are in pathological denial about their ancestry.  Last one: https://ci.nodejs.org/job/libuv+any-pr+multi/242/

FreeBSD fails now?!
`poll_duplex` failed: exit code 134
Output from process `poll_duplex`:
Assertion failed in test/test-poll.c on line 124: r == 0
=============================================================

I think that's an unrelated failure.

It wasn't failing before though, maybe trigger it again just in case?

Why not?  https://ci.nodejs.org/job/libuv+any-pr+multi/243/

Looks like the cosmic dust settled. CI is green (for certain definitions of green), LGTM.


stub should support "andThrow"

From<EMAIL_ADDRESS>on October 12, 2009 14:27:00
Stubbing a method should support throwing exceptions
Original issue: http://code.google.com/p/powermock/issues/detail?id=182

From<EMAIL_ADDRESS>on July 22, 2010 02:18:12
Labels: -Milestone-Release1.4 Milestone-Release1.5

From<EMAIL_ADDRESS>on August 07, 2010 23:04:15
Added "toThrow".
Status: Fixed


Update install-plugins.sh

This adds an ability to retry downloads of plugins when mirrors are incomplete/returning 404s
This doesn't unfortunately fix when a file only downloads 16mb of a 40mb plugin, but at least reduces some of the errors
This is in reference to #1446

/retest-required

/retest

/hold
The xmlstarlet package not being available is a known issue and we are working to resolve it, putting a hold on this pull request until it is fixed, no sense in consuming resources re-running tests that have to chance to pass.

/test all

/assign @akram
Can you please take a look at this and see if it looks O.K. to you?

/approve

/test all

/retest

/retest

/retest-required

/ok-to-test

/retest-required

/retest

/retest

/retest

/label docs-approved
/label px-approved
/label qe-approved
/lgtm
/approve

/hold cancel


Payload set through Form tab is always set to text/plain. Should be allowed to set the mediatype of each body part for a multipart/form-data post

Originally reported on Google Code with ID 162
What steps will reproduce the problem?
1.Create a multipart/form-data request
2.Upload a file and add xml data in the form tab
3.On the server side, payload is always treated as text/plain due to which it cannot
be parsed to JAXB object. Get an error "No available MessageBodyReader for class JAXBElement
and media type text/plain"

What is the expected output? What do you see instead?
On the server side, I process the post as MultiPart. I cannot parse the payload to
JAXB object. I was hoping it would parse

On what operating system, browser and browser version?
Windows 7, Chrome 25.0.1364.97 m

I was using REST client(https://code.google.com/p/rest-client/) where i can create
a multipart body and set mediatype for each body part.

Reported by barkha.keni on 2013-03-01 21:44:31

You need to put XML data into "Raw" tab. In any other tab it will not work.


Feature request: doing a search on any screen with key '/' or '?'

When browsing resources, it would be great to do a search as we can do on the web cockpit using the slash or interrogation tag character, it would improve usability a lot (which is currently a bit limited for our usage)
Thanks a lot

Yes, this was in our TODO list since some time.
I'm currently working on this issue, should be solve soon (I hope next week)


Flags not being displayed if using latest version of each library.

Hi there! Thanks for the work,
I just found that if you are using<EMAIL_ADDRESS>and<EMAIL_ADDRESS>the flags are not displayed (no error is reported in the console neither)
I tested it by using the example provided in the readme.
The modified example: https://jsbin.com/cinibug/edit?html,output
Hope this helps anyone who uses this library.

@JoseAntonioIdener Thanks for reporting this! I need to look into this!

I just spent 2.5 hours banging my head of the wall with this.

So glad I found this issue, before I spent the same amount of time as Chris!

Here is a jsbin running Bootstrap 4 and latest version of everything:
https://jsbin.com/nucaxugato/edit?html,output

I'm sorry but I currently have no time to fix this. But If anybody provides a pull-request IÄll try to review it as fast as possible!


Update VERSION

version bump, minor release moving to ubuntu jammy 20.04 LTS

closing as issues with version increments


Switching to ICU

Summary of the new feature / enhancement
We caught an amazing problem in #14513 - a test failed because of a difference in string sorting on different platforms.
I tested on different Windows systems and was very amazed to see different behavior on different Windows versions too.
After consulting with .Net team it turned out that although the latest versions of .Net work with ICU but Windows 10 older versions do not support ICU completely. This is the version used in PowerShell CI Windows.
See https://github.com/dotnet/runtime/issues/54472#issuecomment-867108314 and follow comments.
If we want to have full consistency across all platforms and versions we should include System.Globalization.AppLocalIcu package in our Windows distribution.
This probably makes sense since users may also encounter unpredictable string handling and sorting is just one of those scenarios.
Proposed technical implementation details (optional)
https://github.com/dotnet/runtime/issues/54472#issuecomment-867108314
<ItemGroup">
  <PackageReference Include="Microsoft.ICU.ICU4C.Runtime" Version="<IP_ADDRESS>" />
  <RuntimeHostConfigurationOption Include="System.Globalization.AppLocalIcu" Value="68.2" />
</ItemGroup>

@PowerShell/powershell-committee reviewed this, we are concerned about the additional size of the dlls being pulled in from the ICU package vs the benefit of this change due to a locale not being specified.   We do not approve to add a dependency on this package.

How big are these DLLs?

How big are these DLLs?

Up to 40 MB.
I closed the issue since users can manually install ICU on old Windows versions and manually configure PowerShell to use App-local ICU in runtimeconfig.json https://docs.microsoft.com/en-us/dotnet/standard/globalization-localization/globalization-icu


Make Armada consider the resource used by jobs on Cordoned nodes

Problem
If you cordon a node with jobs on it, Armada no longer considers those nodes as part of the total capacity of the cluster when requesting new resource.
This makes sense as the resource isn't available for use, however it can cause strange scheduling behaviour.
Such as when a single user is using the farm. If the amount of jobs the user has running on cordoned nodes > total resource available in the cluster. Armada won't schedule any more jobs onto the cluster, even when there are empty nodes.
Replication
Get a cluster with nodes 1, 2, 3, where each node is the same amount of resource
Cordoned node 1
Queue many jobs. These will fill nodes 2 + 3.
Cordon nodes 2 + 3
Uncordon node 1
Observe that Armada won't send any more jobs to the newly uncordoned (empty) node.
This is because the amount of resource the user has running > all resource available to Armada.
Solution
When reporting the amount of resource available in the cluster. include the resource allocated to jobs on cordoned nodes.
Total resource on cluster = sum (resource on uncordoned nodes) + sum (resource allocated to jobs running cordoned nodes)

I'm not fully convinced the problem is here. The report from executor to server ignores resource on cordoned nodes, but it also ignores all pods running on cordoned nodes. There must be more to this.


uiSliderInterval not precise enough

Hi, I have som problems using ModulatorValueExpression and ModulatorValueExpressionReverse.
 I'm using 14bit MIDI values 0-16383.
I think the problem is uiSliderInterval is not precise enought .
It's minimal value is 0.0001 .
Now if you need normalised values 0-1 so each step needs to be 0,00006103888176768602.
If you use 0.0001 you will get hudge error in each step.

WHy would you need floating point precision for midi messages ?


Build breakage on AVX2

The latest libsent from the master branch is broken because it uses AVX2 target without actually adding that target.

On my system (Ubuntu 14.04.4 LTS / gcc-4.8.4), the first test without "-mavx" actually produces error, and the second test with "-mavx" succeeds.  "-mavx" is not an option all the compiler should accept (although guess most of them will accept), so I want to try first to refine the first test to fail when the compiler does not support AVX instruction.  Changing the line
 ],[__m256 v;],
in configure.in to other test code like this
],[__m256 v = _mm256_setzero_ps()],
Does this works for you?

I tested on my cygwin and reproduced the error.  Checking with _mm256_setzero_ps worked for me, so updated the libsent/configure script.
Thanks for your report, this issue will be closed.

Ah, much better. The new test condition works for me, running on Arch Linux and using GCC.
Thanks for the quick fix!


tr, td not working in emblem templates

= each student in students
  tr
    td= student.fullName

The above template just renders the output "student.fullName". No tr or td tags. While this...
= each student in students
  p= student.fullName

renders the p tag just fine. Doing something wrong here?

This sounds like an Ember/DOM limitation, not an Emblem thing.


Not a single npm version after 2.9.19 works for me.

Checklist

Have you pulled and found the error with jc21/nginx-proxy-manager:latest docker image?

Yes

Are you sure you're not using someone else's docker image?

Yes

Have you searched for similar issues (both open and closed)?

Yes

Describe the bug

I am running npm behind pfsense / haproxy. I can access admin, issue/renew all certs, no problem.
I tried clean install (blank db) no luck, different db, no luck.
Nginx Proxy Manager Version

All / any version after 2.9.19 does not work anymore (all earlier versions work fine).
To Reproduce
Steps to reproduce the behavior:

image: 'jc21/nginx-proxy-manager:latest
can't access any webservers behind npm, admin panel works fine, I can request or renew certificates, add sites, etc.
image: 'jc21/nginx-proxy-manager:2.9.19'
all working fine, all web servers behind npm are accessable

Expected behavior

Access to all web-servers behind npm
Screenshots

image: 'jc21/nginx-proxy-manager:latest'

image: 'jc21/nginx-proxy-manager:2.9.19'

Operating System

ubuntu and/or arch
docker info
Client:
Version:    24.0.7
Context:    default
Debug Mode: false
Plugins:
compose: Docker Compose (Docker Inc.)
Version:  2.24.3
Path:     /usr/lib/docker/cli-plugins/docker-compose
Additional context

docker logs eba49551bbd7
❯ Configuring npm user ...
❯ Configuring npm group ...
❯ Checking paths ...
❯ Setting ownership ...
❯ Dynamic resolvers ...
❯ IPv6 ...
Enabling IPV6 in hosts in: /etc/nginx/conf.d

/etc/nginx/conf.d/default.conf
/etc/nginx/conf.d/include/assets.conf
/etc/nginx/conf.d/include/block-exploits.conf
/etc/nginx/conf.d/include/force-ssl.conf
/etc/nginx/conf.d/include/ip_ranges.conf
/etc/nginx/conf.d/include/letsencrypt-acme-challenge.conf
/etc/nginx/conf.d/include/proxy.conf
/etc/nginx/conf.d/include/ssl-ciphers.conf
/etc/nginx/conf.d/include/resolvers.conf
/etc/nginx/conf.d/production.conf
Enabling IPV6 in hosts in: /data/nginx
/data/nginx/proxy_host/1.conf
❯ Docker secrets ...

| \ | |  _ |  /  |
|  | | |) | |/| |
| |\  |  __/| |  | |
|| _||   ||  |_|
User:  npm PUID:1001 ID:1001 GROUP:999
Group: npm PGID:999 ID:999
❯ Starting backend ...
❯ Starting nginx ...
nginx: [warn] the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:4
[1/29/2024] [1:51:44 PM] [Global   ] › ℹ  info      Using MySQL configuration
[1/29/2024] [1:51:45 PM] [Migrate  ] › ℹ  info      Current database version:<PHONE_NUMBER>5214
[1/29/2024] [1:51:45 PM] [Global   ] › ⬤  debug     CMD: [ -f '/etc/letsencrypt/credentials/credentials-2' ] || { mkdir -p /etc/letsencrypt/credentials 2> /dev/null; echo '# Cloudflare API token
dns_cloudflare_api_token = wfqk1lBsIgV3skVGYR49qll6Ws9ntwMDVRpRyVn7' > '/etc/letsencrypt/credentials/credentials-2' && chmod 600 '/etc/letsencrypt/credentials/credentials-2'; }
[1/29/2024] [1:51:45 PM] [Certbot  ] › ▶  start     Installing cloudflare...
[1/29/2024] [1:51:45 PM] [Global   ] › ⬤  debug     CMD: . /opt/certbot/bin/activate && pip install --no-cache-dir cloudflare acme==$(certbot --version | grep -Eo '0-9+') certbot-dns-cloudflare==$(certbot --version | grep -Eo '0-9+')  && deactivate
[1/29/2024] [1:51:47 PM] [Certbot  ] › ☒  complete  Installed cloudflare
[1/29/2024] [1:51:47 PM] [Setup    ] › ℹ  info      Added Certbot plugins cloudflare
[1/29/2024] [1:51:47 PM] [Setup    ] › ℹ  info      Logrotate Timer initialized
[1/29/2024] [1:51:47 PM] [Global   ] › ⬤  debug     CMD: logrotate /etc/logrotate.d/nginx-proxy-manager
[1/29/2024] [1:51:47 PM] [Setup    ] › ℹ  info      Logrotate completed.
[1/29/2024] [1:51:47 PM] [IP Ranges] › ℹ  info      Fetching IP Ranges from online services...
[1/29/2024] [1:51:47 PM] [IP Ranges] › ℹ  info      Fetching https://ip-ranges.amazonaws.com/ip-ranges.json
[1/29/2024] [1:51:47 PM] [IP Ranges] › ℹ  info      Fetching https://www.cloudflare.com/ips-v4
[1/29/2024] [1:51:47 PM] [IP Ranges] › ℹ  info      Fetching https://www.cloudflare.com/ips-v6
[1/29/2024] [1:51:47 PM] [SSL      ] › ℹ  info      Let's Encrypt Renewal Timer initialized
[1/29/2024] [1:51:47 PM] [SSL      ] › ℹ  info      Renewing SSL certs expiring within 30 days ...
[1/29/2024] [1:51:47 PM] [IP Ranges] › ℹ  info      IP Ranges Renewal Timer initialized
[1/29/2024] [1:51:47 PM] [Global   ] › ℹ  info      Backend PID 163 listening on port 3000 ...
[1/29/2024] [1:51:47 PM] [SSL      ] › ℹ  info      Completed SSL cert renew process

I can confirm that 2.11.1 produced many unreachable host errors while everything looked in order. I have rolled back to 2.11.0 and for now it seems to work, but I'm not 100% sure because the outages were not constant, sometimes my cloudflare domains were up, sometimes not, so I'll have to wait and see. I'm on Orange Pi 3 LTS running Docker inside OMV6/Armbian.


Metadata for collections

Is there a safe way to add (and persist) collection metadata? I can of course add any property to the collection object, but I want to make sure I'm not scribbling over data that LokiJS needs.

So if you want to attach your meta onto the collection itself (and not objects within the collection), your choices are limited.
The only changes which will survive across persistence cycles (save/load) are the properties we explicity re-attach in our loki.loadJSONObject() method.
If it were me i would probably a specifically named collection transform to cover this such as :
coll.addTransform("my meta", [{
  type: 'my collection metadata',
  value : {
    someMetaProp1 : "stuff",
    someMetaProp2: "more stuff",
    someOtherMetaProp : "another"
  }
}]);

Then later, you might look that up with :
var tx = coll.getTransform("my meta");
if (tx) {
  var myMeta = tx[0].value;
  console.log(myMeta.someMetaProp1);
}

Collection Transforms can be similtaneously used for its original purpose by ensuring the 'type' is not an existing transform step type.... 'meta' should be fine.
You 'could' create multiple 'named' meta transforms if you wanted to, or you 'could' create multiple steps within a single meta transform, but like the example above shows, you only need 1 transform and 1 step, and your value object can hold everything.

Works perfectly -- thanks!


Controlling an oscillator with the AKSequencer?

I'm curious is there is a way to control an oscillator with the SKSequencer. I'm having difficulties finding examples that demonstrate this.
I've also asked on Stack Overflow

Howdy
You'll want to wrap the oscillator in an midi instrument and use that. Check out the mollyb demo for an example using an fm oscillator.

This isn't really an issue per se, but a discussion, which is probably best done on the Google group: https://groups.google.com/forum/#!forum/audiokit

thanks or the link, was looking for something like this.

Since StackOverflow discourages attaboy comments the best I could do was vote up your detailed response to your own question.  I'll cross link the blog all over the place if you let me know when you post it.


Migrate UnsafeMutableAudioBufferListPointer off _writeBackMutableSlice.

The current behavior is the default you get "for free" from MutableCollection so there's no good reason for accessing the std lib file directly, and it requires access to std lib internals to do so.
This is the first step in removing _writeBackMutableSlice entirely, since it seems like it's a hangover from the days before protocol extensions that got missed.

@swift-ci please test


fix: Show rule ID in list table

Fixes minor bug where rule ID is not being displayed in the list table

I already have this exact change in another pull request that also fixes looking up by index or id without a location id:
https://github.com/SmartThingsCommunity/smartthings-cli/pull/134/files
It's currently in draft because I'm pretty sure the update and delete commands have the same issue I found with the lookup one.

I already have this exact change in another pull request that also fixes looking up by index or id without a location id:
https://github.com/SmartThingsCommunity/smartthings-cli/pull/134/files
It's currently in draft because I'm pretty sure the update and delete commands have the same issue I found with the lookup one.

That's great! Let's just close this in favor of that change. Being able to reference with just an index will be nice.

That's great! Let's just close this in favor of that change. Being able to reference with just an index will be nice.

Closing since issue was fixed in #134

Closing since issue was fixed in #134


Basic example skeleton v2

Added an example folder for the creator. Put in an basic example for the skelton v2 with the use of a linear layer.

We should consider having the Firmware and the Skeleton in a different folder. Maybe we should move the elasticai/creator/vhdl/system_integration folder to elasticai/system_integration. This way it would be clear that it is not part of the creator but still belongs to the elasticai ecosystem.


We need to draw the whole non-client area ourselves

If we want to be able to fully theme the window, we'll probably need to draw the theme parts ourselves. Right now the close button, minimize button and maximize/restore buttons are drawn by DWM/uxtheme if we don't tell it not to.
We don't get much say in where they are displayed (which is why there's a border on the right side of the window), and if we attempt to draw behind them we get an additive blend when the DWM splats the title bar down on top of us.
We probably need to look at DrawThemeBackground, DrawThemeIcon and friends.

I'm guessing a UWP window with an acrylic brush and extended into title bar is not an option?

@mdtauk Alas, if only you knew. We went through a handful of different attempts at UI and toolkit and everything else before we hit upon the one that lets us achieve our goals. Suffice it to say, if we could host a CoreWindow (or anything else built on the Windows "managed window" infrastructure) from a standard "full-trust" application with the ability to launch unconstrained processes, we would have.
What we have isn't complicated and crazy because we're complicated and crazy, but because it needs to be.

@mdtauk Alas, if only you knew. We went through a handful of different attempts at UI and toolkit and everything else before we hit upon the one that lets us achieve our goals. Suffice it to say, if we could host a CoreWindow (or anything else built on the Windows "managed window" infrastructure) from a standard "full-trust" application with the ability to launch unconstrained processes, we would have.
What we have isn't complicated and crazy because we're complicated and crazy but because it needs to be.

You should "bang on" at the Windows Team, and get them to slip something into the Win32 framework to enable Acrylic and Opacity in the windows themselves.  Maybe a new window type?
You wouldn't be the first team to need to draw their own window frames.  Zune, Office, Visual Studio, VS Code, MFC Ribbon, etc.

Absolutely. We’re chasing a dependency there, but we also want to ship Terminal before the next version of Windows. 😄

Is there a baseline UI you are hoping to achieve for V1 this summer - which could be upgraded for 19H2 / 20H1 release time?
Is it possible to create a UWP window as a sub-window and use XAML Islands?
I am thinking for the settings window itself as a V1 thing?

Yes, there is a UI target we are aiming for in 19H1. I’ll leave it to @cinnamon-msft to share the details.
I’ll say that this issue needs to be resolved before we get there ;)

Yes, there is a UI target we are aiming for in 19H1. I’ll leave it to @cinnamon-msft to share the details.
I’ll say that this issue needs to be resolved before we get there ;)

I hope it happens soon.  The Taskbar flyouts are able to achieve Acrylic materials, but the way they do it is undocumented.
DwmSetWindowAttribute()
Rafael Rivera made a sample app
https://github.com/riverar/sample-win32-acrylicblur
internal enum AccentState {     ACCENT_DISABLED = 0,     ACCENT_ENABLE_GRADIENT = 1,     ACCENT_ENABLE_TRANSPARENTGRADIENT = 2,     ACCENT_ENABLE_BLURBEHIND = 3,     ACCENT_ENABLE_ACRYLICBLURBEHIND = 4,     ACCENT_INVALID_STATE = 5 }

I could be totally wrong here, but I was under the impression that Acrylic was one of the UWP APIs MSFT was allowing devs to call inside of a Win32 app--and this seems to be just a Win32 app packaged in the CascadiaApp APPX package. And I believe Win32 apps have full control over their title bars, or most web browsers wouldn't work right. Honestly it might just be better to rewrite the Win32 parts and then package it, rather than saving so much from before. I've learned the hard way that trying to reuse old code, especially old UI elements, often results in many errors when rebuilding for UWP.

@halorocker89 It's not about reusing old code. We literally can't spawn unconstrained processes (like cmd, and powershell, and wsl) in the environment where we can also use the full "UWP" UI toolkit.

@halorocker89 It's not about reusing old code. We literally can't spawn unconstrained processes (like cmd, and powershell, and wsl) in the environment where we can also use the full "UWP" UI toolkit.

Right. Forgot about that. I was recently building something that needed the Ping API, but apparently it's too much of a security violation for the AppContainer, and is therefore not supported. Sad, and tough for y'all, but understandable.

Can't you literally just rewrite AcrylicBrush and related stuff? I was pretty sure all that's public (some in blog posts about API updates, some in Docs, some retrievable from the SDK).

I feel your pain; the universal UI platform can be painful to work with from Win32, especially with the various APIs that are not white-listed [yet].  Just as a word of encouragement, the work you are all doing is awesome!
https://i.imgur.com/EPkcrdt.png

WinUI 3.0 will possibly solve all these problems

At the end of the day, we will still need a window in which to host XAML content (regardless of how it gets on the screen), and therefore we will still need to manage its non-client area, and we will still need to draw the caption buttons ourselves. WinUI 3 is going to be probably the coolest thing to have happened to XAML, but it’s not our nepenthe.

At the end of the day, we will still need a window in which to host XAML content (regardless of how it gets on the screen), and therefore we will still need to manage its non-client area, and we will still need to draw the caption buttons ourselves. WinUI 3 is going to be probably the coolest thing to have happened to XAML, but it’s not our nepenthe.

It will be a way to use XAML with full access to Win32's ABIs without the need to host XAML in those Xaml Islands.  If there are drawing needs you have, please let the WinUI team know so they can include them.

I'm also gonna take the time to link in #929 here - that PR is the start of a bunch of work in this area

It's totally possible to support full acrylic on the window if done right.
I had this made quickly when XAML islands where very new, however I haven't figured out how to add native (or native-looking) titlebar controls and a dragable area. It used DwmExtendFrameIntoClientArea and WM_NCCALCSIZE to extend the client area to the whole window, while still having native shadows working correctly.

Sidenote, I really wish SetWindowCompositionAttribute which allows apps today to add an acrylic or blur effect was documented (it's currently not). It's already used in some apps (AMD's Radeon Settings and Terminus are two that come to mind) and would probably allow this app to add acrylic to its frame with minimal effort.

@sylveon does that work without lag? For me Terminus lags hardcore with Acrylic background enabled.

It doesn't. This one uses AcrylicBrush, which isn't affected by the bug SetWindowCompositionAttribute has. That specific bug has been fixed in recent Insider builds, and could probably also be fixed on stable Windows with a Cumulative Update.

I haven't figured out how to add native (or native-looking) titlebar controls and a dragable area.

(emp. added)
This is mostly the reason we don't do this, because it turns out it's very hard to do the way we want when combined with XAML Islands.

Hey @DHowett-MSFT I'm going to mark #1898 as closing this issue, cool? At that point, I think most of the non-client area should be polished enough to count this as done.

Yup!

@sylveon If you don't mind telling me, how were you able to process the hit-test messages in your full XAML island window app? Won't the XAML Window cover the main window?

Yeah, normal hit test messages aren't working, I'm still looking for a solution to that. I could add some hitboxes in XAML and go off click events from that, but I'd rather decouple the hosting window and the XAML code.

I have tried extensively to get hit-test messages to pass though XAML island windows to the underlying windows in some of my own apps. Hooking the window procedure of the XAML islands window, or it's input window don't work, and neither does sending WM_SYSCOMMAND.

Terminal ran into both of these issues. The quickest solution for us was to use a GDI region to cut a hole in the island and paint in the hole so it looks seamless. It's really bad, but it lets us work within the platform's limitations.
There may be a slightly better story here with WinUI 3.0.

Ohh ok I see. I was wondering why GDI code was in TerminalApp. This helps me a lot too, thanks.
On the other hand, how does ApplicationFrameHost.exe do it for UWP apps? Because UWP apps don't have a window, I think they have some sort of IPC to make ApplicationFrameHost do the drawing.

That prevents using full body acrylic effects unfortunately
On Sat, Nov 2, 2019, 20:20 Dustin L. Howett (MSFT<EMAIL_ADDRESS>wrote:

Terminal ran into both of these issues. The quickest solution for us was
to use a GDI region to cut a hole in the island and paint in the hole
so it looks seamless. It's really bad, but it lets us work within the
platform's limitations.
There may be a slightly better story here with WinUI 3.0.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/terminal/issues/872?email_source=notifications&email_token=ABRELNUUG7W5YMXZLXR442LQRYKOTA5CNFSM4HNRTZCKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEC5H5LY#issuecomment-549093039,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABRELNTKOIY5AEP3JCB7DTDQRYKOTANCNFSM4HNRTZCA
.

@sylveon having spent multiple hours in meetings with the people who best understand the win32 stack and the XAML islands stack, I'm going to say that broadly speaking it's not going to be possible to have XI plus non-client drawing plus full acrylic.
Incidentally, the person who contributed the "cut a hole in it" solution was one of the XAML Islands engineers :wink:

Hopefully something that's considered for WinUI 3 😉
On Sat, Nov 2, 2019, 20:27 Dustin L. Howett (MSFT<EMAIL_ADDRESS>wrote:

@sylveon https://github.com/sylveon having spent multiple hours in
meetings with the people who best understand the win32 stack and the XAML
islands stack, I'm going to say that broadly speaking it's not going to be
possible to have XI plus non-client drawing plus full acrylic.
Incidentally, the person who contributed the "cut a hole in it" solution
was one of the XAML Islands engineers 😉
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/terminal/issues/872?email_source=notifications&email_token=ABRELNSM3Y4ZQXUH6CALY5LQRYLGTA5CNFSM4HNRTZCKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEC5H7XQ#issuecomment-549093342,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABRELNV6UIDKXSKB72SCC7LQRYLGTANCNFSM4HNRTZCA
.


User 3 handlers to implement starttls flow

Description

Current working flow.

If enableSsl is true, initialize connection with SslHandler and SslDetectHandler.
If SslDetectHandler works fine, add initializer handlers as normal. If SslDetectHandler catchesNotSslRecordException and starttls is enabled according to session config, close current channel and create a new one without ssl. Add PlainReconnectGreetingHandler to start the Starttls flow.
Starttls flow

PlainReconnectGreetingHandler - receives greeting from server after plain re-connection and send EHLO command. Replace itself by StarttlsEhloHandler.
StarttlsEhloHandler  - receives EHLO response and send STARTTLS. Replace itself by StarttlsEhloHandler.
StarttlsSessionHandler  - receives STARTLS response and add SslHandler. Session is done here.

Motivation and Context

STARTTLS is required for Outlook connection, since Outlook smtp server doesn't support general SSL/TLS connection.
How Has This Been Tested?

Prototype for review, no UTs added.
Screenshots (if appropriate):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Major release (change is NOT backward compatible with prior release)

Checklist:

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

Using multiple dynamical handlers to implement Starttls flow instead of putting everything into one connection handler. Please see updated description for details.

@fansu @jui8wang

please check the comments and start UT

use one handler version instead


Fix CloudInit resource Condition LastTransitionTime fields

Problem:
When the stat call fails due to the file having been removed, the CloudInit controller leaves a zero-value/zero seconds since the epoch timestamp for the transition time, instead of the time the controller first detected the issue.
Solution:

Two patches to do so:
The first patch factors out common logic for retaining the LastTransitionTime for all Conditions, not just the Applicable condition.
The second patch sets the createdAt and modifiedAt times to the current time if they are set to the zero-seconds-from the epoch time. If they are set to the epoch, then that means an error occurred during the Stat call for a normal and expected reason (file does not exist) or an unexpected reason (permission denied while calculating checksum).
We set it to the current time in this instance since that is the time we first detected the error.
Related Issue: https://github.com/harvester/harvester/issues/5245
Test plan:

Apply a CloudInit resource:

apiVersion: node.harvesterhci.io/v1beta1
kind: CloudInit
metadata:
  name: ssh-access
spec:
  matchSelector: {}
  filename: 99_ssh.yaml
  contents: |
    stages:
      network:
        - authorized_keys:
            rancher:
              - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPCUNsQEnKj0nl1GS07Qr5RDCCbCim4wu06hCzQZDmTk ckuehl@suselaptop

Set paused: true in the CloudInit resource
Remove the file from the node rm /oem/99_ssh.yaml

Expected behavior
The last transition times should either be the time the controller removed the file or the time that it first noticed that it was removed.

@mergify backport v0.2.x