iOS stable 2.0 branch build not able to connect to any Remote Desktop

Describe the bug
iOS build on stable-2.0 branch and master branch does not connect to any Remote Desktop. (Win 10, Win 8, Win 7 with any setting).
To Reproduce
Steps to reproduce the behavior:
Build iOS with openssl, run on iPhone, try to connect to a Remote Desktop.
The Remote Desktop will not connect and following Stack trace is thrown in debug output:
2020-11-17 06:43:20.429095+0530 iFreeRDP[3124:1103742] Cannot start load of Task .<0> since it does not conform to ATS policy
2020-11-17 06:43:20.429385+0530 iFreeRDP[3124:1103742] NSURLConnection finished with error - code -1022
2020-11-17 06:43:20.430215+0530 iFreeRDP[3124:1103269] Reachability Flag Status: -R t------ networkStatusForFlags
[06:43:20:025] [3124:04a138c0] [DEBUG][com.freerdp.client.common.cmdline] - windows: 0/1 posix: -1000/0 compat: -1000/0
[06:43:20:025] [3124:04a138c0] [DEBUG][com.freerdp.client.common] - This is Build configuration: BUILD_TESTING=OFF BUILTIN_CHANNELS=ON HAVE_AIO_H= HAVE_FCNTL_H=1 HAVE_FLAG_SEARCH_PATHS_FIRST=0 HAVE_GETLOGIN_R= HAVE_INTTYPES_H=1 HAVE_MATH_C99_LONG_DOUBLE= HAVE_POLL_H= HAVE_PTHREAD_MUTEX_TIMEDLOCK_LIB= HAVE_PTHREAD_MUTEX_TIMEDLOCK_LIBS= HAVE_PTHREAD_MUTEX_TIMEDLOCK_SYMBOL= HAVE_SYS_EVENTFD_H= HAVE_SYS_FILIO_H=1 HAVE_SYS_TIMERFD_H= HAVE_TM_GMTOFF=1 HAVE_UNISTD_H=1 WITH_CAIRO=OFF WITH_CCACHE=ON WITH_CHANNELS=ON WITH_CLANG_FORMAT=ON WITH_CLIENT=ON WITH_CLIENT_AVAILABLE=1 WITH_CLIENT_CHANNELS=ON WITH_CLIENT_CHANNELS_AVAILABLE=1 WITH_CLIENT_COMMON=ON WITH_CLIENT_INTERFACE=OFF WITH_DEBUG_ALL=OFF WITH_DEBUG_CAPABILITIES=OFF WITH_DEBUG_CERTIFICATE=OFF WITH_DEBUG_CHANNELS=OFF WITH_DEBUG_CLIPRDR=OFF WITH_DEBUG_DVC=OFF WITH_DEBUG_KBD=OFF WITH_DEBUG_LICENSE=OFF WITH_DEBUG_MUTEX=OFF WITH_DEBUG_NEGO=OFF WITH_DEBUG_NLA=OFF WITH_DEBUG_NTLM=OFF WITH_DEBUG_RAIL=OFF WITH_DEBUG_RDP=OFF WITH_DEBUG_RDPDR=OFF WITH_DEBUG_RDPEI=OFF WITH_DEBUG_RDPGFX=OFF WITH_DEBUG_REDIR=OFF WITH_DEBUG_RFX=OFF WITH_DEBUG_RINGBUFFER=OFF WITH_DEBUG_SCARD=OFF WITH_DEBUG_SND=OFF WITH_DEBUG_SVC=OFF WITH_DEBUG_SYMBOLS=OFF WITH_DEBUG_THREADS=OFF WITH_DEBUG_TIMEZONE=OFF WITH_DEBUG_TRANSPORT=OFF WITH_DEBUG_TSG=OFF WITH_DEBUG_TSMF=OFF WITH_DEBUG_TSMF=OFF WITH_DEBUG_TSMF_AVAILABLE=0 WITH_DEBUG_WND=OFF WITH_DEBUG_X11=OFF WITH_DEBUG_X11_CLIPRDR=OFF WITH_DEBUG_X11_LOCAL_MOVESIZE=OFF WITH_DEBUG_XV=OFF WITH_DSP_EXPERIMENTAL=OFF WITH_FAAC=OFF WITH_FAAD2=OFF WITH_FFMPEG=OFF WITH_GFX_H264=OFF WITH_GPROF=OFF WITH_GSM=OFF WITH_GSSAPI=OFF WITH_ICU=OFF WITH_JPEG=OFF WITH_LAME=OFF WITH_LIBRARY_VERSIONING=ON WITH_LIBSYSTEMD=OFF WITH_MACAUDIO=OFF WITH_MACAUDIO=OFF WITH_MACAUDIO_AVAILABLE=0 WITH_MANPAGES=ON WITH_MBEDTLS=OFF WITH_NEON=ON WITH_OPENCL=OFF WITH_OPENH264=OFF WITH_OPENSSL=ON WITH_PROFILER=OFF WITH_SAMPLE=OFF WITH_SANITIZE_ADDRESS=OFF WITH_SANITIZE_ADDRESS_AVAILABLE=1 WITH_SANITIZE_MEMORY=OFF WITH_SANITIZE_MEMORY_AVAILABLE=1 WITH_SANITIZE_THREAD=OFF WITH_SANITIZE_THREAD_AVAILABLE=1 WITH_SERVER=OFF WITH_SERVER_INTERFACE=ON WITH_SMARTCARD_INSPECT=OFF WITH_SOXR=OFF WITH_SSE2=OFF WITH_SWSCALE=OFF WITH_THIRD_PARTY=OFF WITH_VALGRIND_MEMCHECK=OFF WITH_VALGRIND_MEMCHECK_AVAILABLE=1 WITH_WINPR_TOOLS=ON WITH_X264=OFF WITH_ZLIB=ON
Build type:          Release
CFLAGS:               -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.1.sdk -g
Compiler:            Apple,
Target architecture: ARM
[06:43:20:571] [3124:6bbcf000] [INFO][com.freerdp.core] - freerdp_connect:freerdp_set_last_error_ex resetting error state
[06:43:20:571] [3124:6bbcf000] [INFO][com.freerdp.client.common.cmdline] - loading channelEx rdpdr
[06:43:20:571] [3124:6bbcf000] [INFO][com.freerdp.client.common.cmdline] - loading channelEx rdpsnd
[06:43:20:571] [3124:6bbcf000] [DEBUG][com.freerdp.channels.cliprdr.client] - VirtualChannelEntryEx
[06:43:20:571] [3124:6bbcf000] [INFO][com.freerdp.client.common.cmdline] - loading channelEx cliprdr
[06:43:20:573] [3124:6bbcf000] [DEBUG][com.freerdp.core.nego] - Enabling security layer negotiation: TRUE
[06:43:20:573] [3124:6bbcf000] [DEBUG][com.freerdp.core.nego] - Enabling restricted admin mode: FALSE
[06:43:20:573] [3124:6bbcf000] [DEBUG][com.freerdp.core.nego] - Enabling RDP security: TRUE
[06:43:20:573] [3124:6bbcf000] [DEBUG][com.freerdp.core.nego] - Enabling TLS security: TRUE
[06:43:20:573] [3124:6bbcf000] [DEBUG][com.freerdp.core.nego] - Enabling NLA security: TRUE
[06:43:20:573] [3124:6bbcf000] [DEBUG][com.freerdp.core.nego] - Enabling NLA extended security: FALSE
[06:43:20:573] [3124:6bbcf000] [DEBUG][com.freerdp.core.nego] - state: NEGO_STATE_NLA
[06:43:20:573] [3124:6bbcf000] [DEBUG][com.freerdp.core.nego] - Attempting NLA security
[06:43:20:574] [3124:6bbcf000] [INFO][com.freerdp.core] - freerdp_tcp_is_hostname_resolvable:freerdp_set_last_error_ex resetting error state
[06:43:20:574] [3124:6bbcf000] [INFO][com.freerdp.core] - freerdp_tcp_connect:freerdp_set_last_error_ex resetting error state
[06:43:20:574] [3124:6bbcf000] [DEBUG][com.freerdp.core] - connecting to peer <IP_ADDRESS>
[06:43:21:600] [3124:6bbcf000] [DEBUG][com.freerdp.core.nego] - RequestedProtocols: 3
[06:43:21:626] [3124:6bbcf000] [DEBUG][com.freerdp.core.nego] - RDP_NEG_FAILURE
[06:43:21:626] [3124:6bbcf000] [WARN][com.freerdp.core.nego] - Error: SSL_NOT_ALLOWED_BY_SERVER
[06:43:21:626] [3124:6bbcf000] [DEBUG][com.freerdp.core.nego] - state: NEGO_STATE_FAIL
[06:43:21:626] [3124:6bbcf000] [DEBUG][com.freerdp.core.nego] - state: NEGO_STATE_TLS
[06:43:21:626] [3124:6bbcf000] [DEBUG][com.freerdp.core.nego] - Attempting TLS security
[06:43:21:627] [3124:6bbcf000] [INFO][com.freerdp.core] - freerdp_tcp_is_hostname_resolvable:freerdp_set_last_error_ex resetting error state
[06:43:21:628] [3124:6bbcf000] [INFO][com.freerdp.core] - freerdp_tcp_connect:freerdp_set_last_error_ex resetting error state
[06:43:21:628] [3124:6bbcf000] [DEBUG][com.freerdp.core] - connecting to peer <IP_ADDRESS>
[06:43:21:644] [3124:6bbcf000] [DEBUG][com.freerdp.core.nego] - RequestedProtocols: 1
[06:43:21:668] [3124:6bbcf000] [DEBUG][com.freerdp.core.nego] - RDP_NEG_FAILURE
[06:43:21:668] [3124:6bbcf000] [WARN][com.freerdp.core.nego] - Error: SSL_NOT_ALLOWED_BY_SERVER
[06:43:21:669] [3124:6bbcf000] [DEBUG][com.freerdp.core.nego] - state: NEGO_STATE_RDP
[06:43:21:669] [3124:6bbcf000] [DEBUG][com.freerdp.core.nego] - Attempting RDP security
[06:43:21:670] [3124:6bbcf000] [INFO][com.freerdp.core] - freerdp_tcp_is_hostname_resolvable:freerdp_set_last_error_ex resetting error state
[06:43:21:670] [3124:6bbcf000] [INFO][com.freerdp.core] - freerdp_tcp_connect:freerdp_set_last_error_ex resetting error state
[06:43:21:670] [3124:6bbcf000] [DEBUG][com.freerdp.core] - connecting to peer <IP_ADDRESS>
[06:43:21:686] [3124:6bbcf000] [DEBUG][com.freerdp.core.nego] - RequestedProtocols: 0
[06:43:21:722] [3124:6bbcf000] [DEBUG][com.freerdp.core.nego] - RDP_NEG_RSP
[06:43:21:722] [3124:6bbcf000] [DEBUG][com.freerdp.core.nego] - selected_protocol: 0
[06:43:21:722] [3124:6bbcf000] [DEBUG][com.freerdp.core.nego] - Negotiated RDP security
[06:43:21:722] [3124:6bbcf000] [DEBUG][com.freerdp.core.nego] - nego_security_connect with PROTOCOL_RDP
[06:43:21:870] [3124:6bbcf000] [DEBUG][com.freerdp.core.gcc] - Server rdp encryption method: 128BIT
[06:43:22:093] [3124:6bbcf000] [DEBUG][com.freerdp.core.info] - Client Info Packet Flags = INFO_MOUSE|INFO_DISABLECTRLALTDEL|INFO_UNICODE|INFO_MAXIMIZESHELL|INFO_LOGONNOTIFY|INFO_COMPRESSION|INFO_ENABLEWINDOWSKEY|INFO_FORCE_ENCRYPTED_CS_PDU|INFO_LOGONERRORS|INFO_MOUSE_HAS_WHEEL|INFO_NOAUDIOPLAYBACK
[06:43:22:093] [3124:6bbcf000] [DEBUG][com.winpr.timezone] - tz not found, using computed bias -330.
[06:43:22:219] [3124:6bbcf000] [DEBUG][com.freerdp.core.rdp] - rdp_send_data_pdu: sending data (type=0x1f size=49 channelId=1008)
[06:43:22:220] [3124:6bbcf000] [DEBUG][com.freerdp.core.rdp] - rdp_send_data_pdu: sending data (type=0x14 size=53 channelId=1008)
[06:43:22:220] [3124:6bbcf000] [DEBUG][com.freerdp.core.rdp] - rdp_send_data_pdu: sending data (type=0x14 size=53 channelId=1008)
[06:43:22:221] [3124:6bbcf000] [DEBUG][com.freerdp.core.rdp] - rdp_send_data_pdu: sending data (type=0x2b size=69 channelId=1008)
[06:43:22:222] [3124:6bbcf000] [DEBUG][com.freerdp.core.rdp] - rdp_send_data_pdu: sending data (type=0x27 size=53 channelId=1008)
[06:43:22:397] [3124:6bbcf000] [DEBUG][com.freerdp.core.rdp] - recv Synchronize Data PDU (0x1F), length: 22
[06:43:22:397] [3124:6bbcf000] [DEBUG][com.freerdp.core.rdp] - recv Control Data PDU (0x14), length: 26
[06:43:22:397] [3124:6bbcf000] [DEBUG][com.freerdp.core.rdp] - recv Control Data PDU (0x14), length: 26
[06:43:22:398] [3124:6bbcf000] [DEBUG][com.freerdp.core.rdp] - recv Font Map Data PDU (0x28), length: 26
[06:43:22:398] [3124:6bbcf000] [INFO][com.freerdp.gdi] - Local framebuffer format  PIXEL_FORMAT_BGRA32
[06:43:22:398] [3124:6bbcf000] [INFO][com.freerdp.gdi] - Remote framebuffer format PIXEL_FORMAT_BGRA32
[06:43:22:428] [3124:6bbcf000] [INFO][com.freerdp.channels.rdpsnd.client] - [static] Loaded fake backend for rdpsnd
[06:43:22:429] [3124:6bbcf000] [DEBUG][com.freerdp.core.heartbeat] - received Heartbeat PDU -> period=1, count1=8, count2=8
[06:43:22:429] [3124:6bbcf000] [DEBUG][com.freerdp.core.update] - Alternate Secondary Drawing Order [0x0d] Frame Marker
[06:43:22:429] [3124:6bbcf000] [DEBUG][com.freerdp.core.update] - Alternate Secondary Drawing Order [0x0d] Frame Marker
[06:43:23:785] [3124:6bbcf000] [DEBUG][com.freerdp.core.rdp] - recv Set Error Info Data PDU (0x2F), length: 22
[06:43:23:785] [3124:6bbcf000] [INFO][com.freerdp.core] - ERRINFO_GRAPHICS_SUBSYSTEM_FAILED (0x0000112F):The server-side graphics subsystem is in an error state and unable to continue graphics encoding.
[06:43:23:785] [3124:6bbcf000] [ERROR][com.freerdp.core] - rdp_set_error_info:freerdp_set_last_error_ex ERRINFO_GRAPHICS_SUBSYSTEM_FAILED [0x0001112F]
[06:43:23:800] [3124:6bbcf000] [ERROR][com.freerdp.core.transport] - BIO_read returned a system error 54: Connection reset by peer
[06:43:23:800] [3124:6bbcf000] [DEBUG][com.freerdp.core.transport] - transport_check_fds: transport_read_pdu() - -1
[06:43:23:800] [3124:6bbcf000] [DEBUG][com.freerdp.core.rdp] - transport_check_fds() - -1
[06:43:23:801] [3124:6bbcf000] [DEBUG][com.freerdp.core] - rdp_check_fds() - -1
2020-11-17 06:43:23.209158+0530 iFreeRDP[3124:1103744] ios_run_freerdp: inst->rdp_check_fds failed.
As can be the seen the most important error is this:
ERRINFO_GRAPHICS_SUBSYSTEM_FAILED (0x0000112F):The server-side graphics subsystem is in an error state and unable to continue graphics encoding.
[06:43:23:785] [3124:6bbcf000] [ERROR][com.freerdp.core] - rdp_set_error_info:freerdp_set_last_error_ex ERRINFO_GRAPHICS_SUBSYSTEM_FAILED [0x0001112F]
[06:43:23:800] [3124:6bbcf000] [ERROR][com.freerdp.core.transport] - BIO_read returned a system error 54: Connection reset by peer
Expected behavior
It should connect to RDP and show screen in iPhone.
Screenshots
NA.
Application details

FreeRDP version 2.2.0 (branch stable 2.0)
OS version connecting to (server side) : (Windows 10, Windows 8, Windows 7)
Branch: stable 2.0  , build command : cmake -DCMAKE_TOOLCHAIN_FILE=cmake/iOSToolchain.cmake -GXcode, Run in Xcode.

Environment (please complete the following information):

OS:iOS
Version/Distribution: iOS 14
Architecture: [amd64, arm]: arm64

Please let us know if we are making a mistake in building , or if additional libraries need to be used for building iOS client. Also for any more information please email me at<EMAIL_ADDRESS>

Hi, this reads a lot like openssl issues. Which version are you using?
As for the last message ERRINFO_GRAPHICS_SUBSYSTEM_FAILED this reads like a configuration issue server side (there are some cases I´ve seen this before)

Thanks for the quick reply @akallabeth . We tried with openssl 1.0.2q and openssl 1.1.1d. Both were throwing the same error. As can be seen in the trace, the negotation is successful, the next step when trying to transfer data is the one failing. Which version of openssl do you recommend we use for compiling iOS? We will try it with that version.

@shailendrapspundhir

best try the most recent version of openssl
Check connection settings (color depth, ...) it might be some setting that the server does not like. The message more or less tells that the server does not like the graphics configuration (color depth, rfx, gfx, ...)

@akallabeth , Thanks. Will try with latest stable openssl release and let you know. Please keep this issue until then.

I have similar issue where I am compiling v2.2.0 of FreeRDP and when doing a connect to Windows 8 and Windows 10 it starts giving me SSL_FAILURE issue, however for Windows 7 I was able to override by forcing /sec:TLS
My SSL version is openssl-1.0.2q which I had downloaded using ./scripts/OpenSSL-DownloadAndBuild.command in external folder.
Is it related to any more libraries the might be failing? I am trying on MacOS 10.15.7 and XCode Version 12.2 (12B45b)

[DEBUG][com.freerdp.core.nego] - RDP_NEG_FAILURE
[WARN][com.freerdp.core.nego] - Error: SSL_NOT_ALLOWED_BY_SERVER
[DEBUG][com.freerdp.core.nego] - state: NEGO_STATE_FAIL
[DEBUG][com.freerdp.core.nego] - state: NEGO_STATE_TLS
[DEBUG][com.freerdp.core.nego] - Attempting TLS security
[INFO][com.freerdp.core] - freerdp_tcp_is_hostname_resolvable:freerdp_set_last_error_ex resetting error state
[INFO][com.freerdp.core] - freerdp_tcp_default_connect:freerdp_set_last_error_ex resetting error state

@vijaydogra did you try, as suggested, also with a recent version of openssl?

Yes @akallabeth , I did, I downloaded the latest SSL version and compiled it for iOS.

@vijaydogra OpenSSL 1.1.1? are the connection parameters correct? (NLA security is nowadays required by nearly all rdp servers)

It is OpenSSL 1.1.1 and the connection parameters are the same as we used for the previous FreeRDP version (1.1.0)

I´d start with a simpler setup to check out what is going on here.

Try with a fresh setup (clean windows install, vm, ...)
Try which authentication mode works (nego should be default and use the best available, if the server is configured correctly, nla the one required by most and tls the one for connections where you login without a username or do that on the windows login screen)
Also check your openssl configuration, it might be too strict (or too lazy) encryption requirements.

From the (vew) data points it could be everything (from a client bug to a server configuration issue)

Thank you for the suggestion. I will try them out and let you know the findings.


download command

The download command will allow users to bring blocks from an "available" level (vendor or a remote url) to the active workspace's local path. Blocks are downloaded to be further developed.

Download's core functionality is implemented. A block will be downloaded from its remote repository (if exists) or copy its main INSTL folder to the configurable path within the active workspace.
Bonus work includes allowing user's to download a block directly from a repository given on command-line.


Support customize StartToClose timeout for StateStart & StartDecide API in StateStartOption

It's hardcoded to 10s today. Maybe we should use 30s as default.

Need to add a new field in https://github.com/indeedeng/iwf-idl/blob/main/iwf.yaml#L281


include segmentation post processing

Currently we skip post-processing because it causes slicer to crash.
The crash may be due to some use of itk python, possibly related to #5

Snippet to help look into the crash:
(after loading images and running segmentation on 0th image, which currently skips post processing step because of crash)
import itk
import numpy as np

seg_tensor = slicer.modules.HomeWidget.logic.xrays[0].seg_mask_tensor
seg_itk = itk.image_from_array(seg_tensor.numpy().astype(np.uint8))
seg_connected = itk.ConnectedComponentImageFilter(seg_itk) # crash here

confirmed that this crash occurs in vanilla slicer as well, after pip-installing itk python 5.2.1 and using the connected component image filter in a similar way

Some options for this issue:

resolve #11
resolve itk python crash (seen here and in #5)
modify post processing to use SimpleITK
rework post processing to use MONAI built in algorithms; similar things should be achievable using monai.transforms.KeepLargestConnectedComponent and monai.transforms.FillHoles. it will be hacky to achieve the same thing, so this is less preferred


Cursor doesn't move on right mouse down

The cursor doesn't move, so the context for the context menu isn't updated or so to speak, which is a problem when pasting or correcting spelling.
Fixing this breaks (at least) the workflow of right-clicking outside of the selection to perform actions on it.

Any updates on this? For me, it's completely obvious that when I right click somewhere in the editor, the cursor follows. Anything else is bad UX, and this has annoyed me for a while.
What am I actually interacting with?

This also applies to context menu interaction in the tree view sidebar: I have absolutely no idea what I'm actually interacting with when right clicking anything but the active selection.

FWIW, Sublime and TextMate work the same way; Brackets selects the nearest word when you right-click. VS Code does work this way, however. I would personally be :+1: for this.

To clarify, option 3. should be "Move the mouse on RMD unless clicking on a selection" (because otherwise you wouldn't be able to copy anything from the context menu)

I would love this too. I'm trying to develop a package right now that has a context-menu that has different options based on data derived from the line right-clicked and it's near impossible with the Shadow DOM right now. If the cursor moved with the right-click, it would be trivial. :+1:

@carlosdp Yeah, packages definitely should not have to work around the lack of context associated with context menus.

I would echo @carlosdp and @1j01. Not having contextual information associated with a right-click event/context menu makes certain designs very difficult to implement and it would be a really welcome improvement. :+1:


Hello Cosmos

I think it must be to do something interesting ..

I promise you that it must be instristing.

I'll release Cosmos.Logging 0.1.0 in early March. 😜


feat!: v8.0.0

BREAKING Changes

Removed cyclonedx.mode.ThisTool, utilize cyclonedx.builder.this.this_tool() instead.
Moved cyclonedx.model.Tool to cyclonedx.model.tool.Tool.
Property cyclonedx.mode.bom.BomMetaData.tools is of type cyclonedx.model.tool.ToolsRepository now, was SortedSet[cyclonedx.model.Tool].
The getter will act accordingly; the setter might act in a backwards-compatible way.
Property cyclonedx.mode.vulnerability.Vulnerability.tools is of type cyclonedx.model.tool.ToolsRepository now, was SortedSet[cyclonedx.model.Tool].
The getter will act accordingly; the setter might act in a backwards-compatible way.
cyclonedx.model.license.LicenseExpression() accepts optional argument acknowledgement only as key-word argument, no longer as positional argument.

Changes

Constructor of cyclonedx.model.bom.BomMetaData also accepts an instance of cyclonedx.model.tool.ToolsRepository
Constructor of cyclonedx.model.bom.BomMetaData no longer adds this very library as a tool. Downstream users may do so by utilizing cyclonedx.builder.this.this_tool().

Fixes

Deserialization of CycloneDX that do not include tools in the metadata are no longer unexpectedly modified/altered.

Added
Enabled Metadata Tools representation and serialization in accordance with CycloneDX 1.5

New class cyclonedx.model.tool.ToolsRepository.
New function cyclonedx.builder.this.this_component() -- representation of this very python library as a Component.
New function cyclonedx.builder.this.this_tool() -- representation of this very python library as a Tool.
New function cyclonedx.model.tool.Tool.from_component().

Dependencies

Raised runtime dependency py-serializable>=1.1.1,<2, was >=1.1.0,<2.

Docs & Migration Paths
rendered docs preview: https://cyclonedx-python-library.readthedocs.io/en/8.0.0-dev/

fixes #561
fixes #594
fixes #673
fixes #681
includes #595
includes #635
includes #649
includes #674
includes #682
includes #684

@jkugler,
A preview release has been published: https://pypi.org/project/cyclonedx-python-lib/8.0.0a1/
Here is the migration path: https://cyclonedx-python-library.readthedocs.io/en/8.0.0-dev/upgrading.html

downstream integration succeeded, as of https://github.com/CycloneDX/cyclonedx-python/pull/796
will publish a release candidate, soon

Release candidate 1 is available as of https://pypi.org/project/cyclonedx-python-lib/8.0.0rc1/
Here is the migration path: https://cyclonedx-python-library.readthedocs.io/en/8.0.0-dev/upgrading.html

Release candidate 2 is available as of https://pypi.org/project/cyclonedx-python-lib/8.0.0rc2/
Here is the migration path: https://cyclonedx-python-library.readthedocs.io/en/8.0.0-dev/upgrading.html

release: was released via https://github.com/CycloneDX/cyclonedx-python-lib/releases/tag/v8.0.0


[ja] fix spelling mistake

[ja] fix spelling mistake in content/ja/docs/setup/production-environment/windows/user-guide-windows-containers.md

/retest

Why’s the CI failed? 🤔

/retest

/approve


mmatch over types doesn't work as expected

The following example doesn't work as expected:
Definition g {T} (x : T) :=
  mmatch T with
  | [? T1 T2] (forall (x : T1), T2 x) => print "a"
  end.

Definition f :=
  let x := @eq_refl in
  g x.

Goal unit.
MProof.
  f.
Qed.

g is supposed to match eq_refl (of type: forall (A : Type) (x : A), x = x) but it is not.
Do you understand why ?

There's an issue with universes I can't understand yet. I'll get back to you when I know how to solve this.

Here is a simpler test case using only the munify primitive:
Definition g (T : Prop) (T1 : Prop) (T2 : T1 -> Prop) : M (T = (forall (x : T1), T2 x)) :=
  munify T (forall (x : T1), T2 x).

Goal
  forall (T1 : Prop) (T2 : T1 -> Prop),
    ((forall (A : Prop) (x : A), x = x) = (forall (x : T1), T2 x)).
MProof.
  intro T1.
  intro T2.
  idtac.
  g (forall (A : Prop) (x : A), x = x) T1 T2.

The compiler fails with:
Error: Uncaught exception: NotUnifiableException (forall (A : Prop) (x : A), x = x) (forall x : T1, T2 x)
with the following goal and hypothesis:
T1 : Prop
T2 : T1 -> Prop
______________________________________(1/1)
(forall (A : Prop) (x : A), x = x) = (forall x : T1, T2 x)

Is this supposed to work or not ?

No, in this case it isn't supposed to work. x has type T1, which in turn has type Prop, while on the left A has type Prop. And forall x : A, x = x can never be equal to T2 x. What is going on here is that T1 and T2 should be evars (meta-variables), not context variables.

Mmmh ok. I'm just trying to understand. Is it supposed to work like this, then ?
Definition g (T : Prop) : M (T = (forall (T1 : Prop) (T2 : T1 -> Prop) (A : T1), T2 A)) :=
  munify T (forall (T1 : Prop) (T2 : T1 -> Prop) (A : T1), T2 A).

Goal
  (forall (A : Prop) (x : A), x = x) = (forall (T1 : Prop) (T2 : T1 -> Prop) (A : T1), T2 A).
MProof.
  T1 <- evar Prop;
  T2 <- evar (T1 -> Prop);
  g (forall (A : Prop) (x : A), x = x).

You want the evars to replace T1 and T2 above. Here's what you want:
  munify T (forall (x : T1), T2 x).

Goal True.
MProof.
  T1 <- evar Prop;
  T2 <- evar (T1 -> Prop);
  T <- g (forall (A : Prop) (x : A), x = x) T1 T2;
  ret I.```

Ok thanks. Thus the error message is:
Error: Uncaught exception: NotUnifiableException (forall (A : Prop) (x : A), x = x) (forall x : ?X15, ?X16 x)

Found the problem. It's a matter of universes as I said before.  This works now (note the Prop):
Definition g (T : Prop) (T1 : Type) (T2 : T1 -> Prop) : M (T = (forall (x : T1), T2 x)) :=
  munify T (forall (x : T1), T2 x).

Goal True.
MProof.
  T1 <- evar Type;
  T2 <- evar (T1 -> Prop);
  T <- g (forall (A : Prop) (x : A), x = x) T1 T2;
  ret I.
Qed.

The original problem works if everything is set to Prop:
Definition g {T : Prop} (x : T) :=
  mmatch T with
  | [? T1 (T2 : T1 -> Prop)] (forall (x : T1), T2 x) => print "a"
  end.

Definition f :=
  let x := @eq_refl in
  g x.

Goal unit.
MProof.
  f.
Qed.

I need to check if this is the right behavior, or if I'm missing a subtyping somewhere.

Right, so if we reverse the order of the arguments in munify it works in Type:
Definition g (T : Type) (T1 : Type) (T2 : T1 -> Type) : M ((forall (x : T1), T2 x) = T) :=
  munify (forall (x : T1), T2 x) T.

Set Printing All.
Goal True.
MProof.
  T1 <- evar Type;
  T2 <- evar (T1 -> Type);
  T <- g (forall (A : Prop) (x : A), x = x) T1 T2;
  ret I.
Qed.

By the way, is this behaviour intended ? (the ordering of unify)

Now we are calling Unicoq's algorithm with cumulativity.


Korean Language Input Functionality

Allow users to input Korean words and grammar points into a personal dictionary or database

Users can currently input vocab words into sets, but we still need the option for grammar


Update custom reports using the following answer templates

https://myapnea.org/surveys/my-sleep-apnea/baseline/report -- the "How long do you think you had sleep apnea before you were diagnosed?" portion needs to be updated to new answer template.
Check Questions:

[x] apnea-before-diagnosis
[x] risk-symptoms
[x] symptoms-before-diagnosis
[x] treatment-outcomes-components

Hi @mrueschman, I'll see if I can get this fixed in 10.3.0. Is it simply not pulling any values currently? Thanks

It says 0%, which cannot be true.

The answer options were changed for this question and I'm guessing the logic to do this proportion/percentage was not updated correctly.

I'm not sure why the other questions were listed here.. there now seem to be data flowing into them, though it couldn't hurt to confirm the correct set of values are being tallied so that the reported percentages actually match the text on the page.

@mrueschman, I looked at the other questions, and they are set up correctly. The problem for "How long do you think you had sleep apnea before you were diagnosed?" was caused by the question having an archived answer template which was being used by the custom report as opposed to the new answer template. I fixed the method to only search for existing unarchived answer templates.


some suggestions for the 'Karok' page

Are you submitting a comment in regards to more than 10 data-points? If so, please complete this form and attach a spreadsheet with columns for feature ID number, language name/glottocode and a comment field. You can find a blank Grambank coding sheet here. Please fill in Feature and Language ID for the relevant datapoints.  The file needs to be zipped in order to be attached to an issue.*

I have exactly 10 comments, so I guess I won't use the spreadsheet.

Have you read the Grambank wiki article for the features that you want to suggest a change for? If not, please visit our wiki .

yes

What features do you want to suggest a change for? (If more than 10 data-points, please just refer to the spreadsheet.)*

The standard modern spelling for the language's name is 'Karuk'. See e.g. Bright and Gehr's (2005) 'Karuk dictionary' and recent UC Berkeley dissertations by Sandy (2017) and Maier (2022), a.m.o.

GB024: What is the order of numeral and noun in the NP? I think the value should be changed from ? to 1. For instance, see here for examples with 'two' (it seems to me that in the few examples where the numeral does not precede the noun, the numeral is not in fact contained in the NP): https://linguistics.berkeley.edu/~karuk/karuk-dictionary.php?display-mode=g&lx=axak&text-examples=yes&ge=&sd=&pos=&audio=&index-position=&lxGroup-id=864&index-order=&include-derivatives=&display-derivatives=

GB084: Is there overt morphological marking on the verb dedicated to future tense? I think the value should be changed from 1 to 0. The suffix that Bright decribes as a future marker is actually a prospective aspect marker. Source: Begay [Carpenter], Kayla. 2014. Aspectual Future in Karuk. Ms., UC Berkeley.

GB086: Is a morphological distinction between perfective and imperfective aspect available on verbs? I think the value should be changed from 0 to 1. See Bright 1957:139 (specifically case 3)).

GB089, GB091, and GB093. I think the values should be changed from 0 to 1. I think the optional plural suffix -naa qualifies as an index (Bright 1957:112).

GB109: Is there verb suppletion for participant number? I think the value should be changed from 0 to 1. See Bright 1957:88. More examples with strong suppletion for PL can be found in Bright's dictionary section, e.g. 'run' (Bright 1957:436), 'swim' (Bright 1957:443). I should note, though, that these verb alternations don't seem to be strictly speaking conditioned by morphosyntactic number features. See Garrett and Maier (2022; 'How to do things with birds', UC Berkeley handout): "We suggest that suppletive “dual” and “plural” verbs do not index argument number per se. Roughly, “dual” verbs indicate paired entities or the like; “plural” verbs indicate collective entities or the like." But in this respect, Karuk is not much different, as I understand it, than e.g. Choctaw, which is nonetheless coded as 1 for this feature.

GB139: Is there a difference between imperative (prohibitive) and declarative negation constructions? I think the value should be changed from 0 to 1. Prohibition is expressed using a preverbal marker xay(faat) and 'positive indicative' agreement morphology ('personal morphemes') (Bright 1957:61, see also 139), whereas declarative negation uses the negative proclitic pu= and 'negative indicative' agreement morphology (Bright 1957:61).

GB304: Can the agent be expressed overtly in a passive clause? I think this should be changed from 1 to 0 (or ?). Karuk doesn't have a passive, as far as I know. (There is a construction which Bright refers to as the 'special passive', but this construction does not qualify as a passive for our purposes here, since the P argument is not promoted to S status.) Other features related to the passive are coded as ? with the comment 'No clear examples'. I don't know why this feature is coded differently.

GB409: Is there any ergative alignment of flagging? I think the value should be changed from 0 to 1. The obviative postposition 'îin can flag A but not S or P. Source: Macaulay, Monica. 2000. Obviative Marking in Ergative Contexts: The Case of Karuk 'îin. International Journal of American Linguistics 66.4.

GB522: Can the S or A argument be omitted from a pragmatically unmarked clause when the referent is inferrable from context ("pro-drop" or "null anaphora")? The value should be changed from ? to 1. See e.g. Bright 1957:119.

What language or dialect would you like to suggest a change in coding for? Please give the Name and/or glottocode. (If more than 10 data-points, please just refer to the spreadsheet.)*

Karok

Are there particular languages or dialects of concern? Please give the name(s) and/or glottocode(s). (If more than 10 data-points, please just refer to the spreadsheet.)*

Karok

What is the reason behind this change?*

improvement

What is your expertise in regards to this feature/language(s)?*

I'm just an interested linguistics grad student. I don't have any first-hand knowledge of the language.

What sources do you have in regards to this change in coding?*

see above

Thank you @elangokumaran ! We will assign someone to look this over.
Regarding the language name, we use the name as found over at glottolog. Please submit an issue about the name here: https://github.com/glottolog/glottolog/issues and the editors there will get on it :)

ok thanks!

@JacobMenschel has been assigned!

Dear @elangokumaran,
I have looked at your proposals, and I conclude that basically all of them align with what I would code for these features. Here are some comments:

GB024: I agree that this is clearly a 1.
GB084: Sounds right.
GB086: Yes.
GB089, GB091, GB093: This is a 1 for those three features too, since as you said the morpheme indexes the number of an argument. However, this would also mean that GB090, GB092 and GB094 are 1 since there seems to be a prefixal allomorph of that plural index. Cf. Bright (1957: 113).
GB109: Could you provide Garrett and Maier (2022)? I will check with the others how they have coded this feature in these cases. If Choctaw is coded as 1 for this feature, that's already a good hint. But I would understand the reasoning behind either 0 or 1, so I will discuss this with other coders.
GB139: Agreed.
GB304: I would assume this is coded 1 due to the example given in Bright (1957: 59), where 'by-his-mother he-is-seen' suggests a passive construction. Nevertheless, I agree that since there is no typical promotion of O, and while there are passive translations, this should be a 0.
GB409: Yes, this should be a 1. While only used when both arguments are animate, the feature only asks whether there is any ergative flagging at all — hence this should be a 1.
GB522: Generally, I agree that this should be a 1. It would be useful to see whether there are restrictions on this phenomenon in Karuk: can only 3rd person S/A arguments be dropped? Is it restricted to certain verbs? This is definitely a 1, but if there are any restrictions, I would include them in a comment.

All the best,
Jacob

Thanks for looking this over!

I agree that GB090, GB092, GB094 are 1, but they're already coded as 1, so there's no issue

Here's Garrett and Maier 2022: garrett-maier_how-to-do-things-with-birds.pdf

There are no restrictions on argument omission, as far as I know. See e.g. sentences 4. and 5. here: https://linguistics.berkeley.edu/~karuk/karuk-dictionary.php?display-mode=g&lx=&text-examples=yes&ge=give&sd=&pos=&audio=&index-position=&lxGroup-id=249&index-order=&include-derivatives=&display-derivatives=

Oops, my bad then! Thank you for the paper. I will include your proposals in the coding of Karuk tomorrow then. Thank you again!

Hi @JacobMenschel and @elangokumaran . Is all resolved here now?

As for my part, yes, I have changed the coding accordingly.

@elangokumaran you satisfied?

Yes, thank you!
On Wednesday, November 15, 2023, Hedvig Skirgård @.***>
wrote:

@elangokumaran
https://urldefense.com/v3/__https://github.com/elangokumaran__;!!LIr3w8kk_Xxm!uNvij19wLfP-Bm6gQscJgkr-EG-mhJx-YP6sjqYAPfenDpDcsio3Nw-QvQGm7v3ATuvvOzuQg9ZQ0WVhJ0eKEus$
you satisfied?
—
Reply to this email directly, view it on GitHub
https://urldefense.com/v3/__https://github.com/grambank/grambank/issues/43*issuecomment-1812251922__;Iw!!LIr3w8kk_Xxm!uNvij19wLfP-Bm6gQscJgkr-EG-mhJx-YP6sjqYAPfenDpDcsio3Nw-QvQGm7v3ATuvvOzuQg9ZQ0WVhbDo4cGY$,
or unsubscribe
https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/BASD7HQPRCQ7XIGVFKHIYYLYESNDTAVCNFSM6AAAAAAZGHGD4SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMJSGI2TCOJSGI__;!!LIr3w8kk_Xxm!uNvij19wLfP-Bm6gQscJgkr-EG-mhJx-YP6sjqYAPfenDpDcsio3Nw-QvQGm7v3ATuvvOzuQg9ZQ0WVh-boz6sk$
.
You are receiving this because you were mentioned.Message ID:
@.***>

lovely, thanks everyone!


Integrate the Materialdesign into standard iobroker repros and infrastructure

It would be great if the materialdesign could be installed via the standard iobroker mechanism and not via Github and some url.

it can be installed through latest repo. So there is a standard iobroker mechanism.
It's still beta


Build using latest stable release of The Haskell Tool Stack (stack)

Closes #12, #13

Thanks! I just created #15 to verify that this passes on CI (sorry I had that misconfigured when you opened this). Note that this change may never actually be released, since hopefully the "from official sources" engine goes out soon, but I'm happy to merge anyway.


Finish Realizability for PER

Resolves #35

There should also be some clean up PRs. For example, per_nat_then_per_top should be placed elsewhere. If you feel that you are on fire, you could also swallow Antoine's cake if you want to @Ailrun .

@HuStmpHrrr Why do you think so? They are all in the similar spirit, aren't they?

at least this lemma and var_per_bot should live in the same file.

per_..._then_per_... things are about the lattice structure of PERs given here, and var_per_bot is a different from them, at least from my point of view.


Proj changelog update

Related Issue(s): #746
Proposed Changes:
Updated the changelog to reflect the changes done in #746
PR Checklist:

[x] This PR has no breaking changes.
[x] I have added my changes to the CHANGELOG or a CHANGELOG entry is not required.
[ ] API only: I have run npm run generate-all to update the generated OpenAPI files.

Changed from master to dev.


Asset Store Package: Includes Project Settings, sets scripting to 3.5

This is on Unity 2019.1 and probably doesn't come up as badly in previous Unity versions: The Asset Store Package comes with the project settings which are then overridden on import. Given that the mod.io UnityPlugin will usually be added to existing projects that have their own project settings already, this can cause trouble. If the mod.io UnityPlugin requires specific project settings, it would probably be preferable to document those and have developers apply them as needed.
When adding the Asset Store Package to an empty Unity 2019.1 project, this also causes compilation errors because it sets the Scripting Runtime Version to 3.5, which is deprecated. The compilation errors show up in the TextMesh Pro package which requires Scripting Runtime Version to be set to 4.0.

They should remove the Project Settings from the asset, they are pretty much useless and overwrite settings you already had on your project. And it works as it is without those settings.

Hi, I've just tested this on the latest release of the plugin [https://github.com/modio/modio-unity/releases/tag/v2.3.0] on Unity 2017.3, 2018.4, and 2020.2 and it appears to leave the settings intact.
Could you test this and confirm @lazydevyo? Thanks!


Game ended without saying Game Over or something else

Duplicate Issues

[X] There are no existing posts relating to my problem
[ ] There are existing posts relating to my problem, but the solution given, doesn't work for me.

What happened?
Well, I was trying to not become a wizard but then game ended

Release version
I am running it locally.
Steps to reproduce

while taking right
talking to stranger
not becoming the wizard
Game Ended

What platform are you seeing this problem on?
Linux (can also be ChromeOS)
Relevant console log (if any)
No response

@SahilSinghTomar There was a small error in the code it should be fixed now.
Also, please run pip install -r requirements.txt to get colors for text, get music etc.

Or just run git pull and run the project again, it will automatically download the modules you don't have installed from v0.8.0

ok thank u

Issue is still not fixed

I can fix it
I have sent a PR. Please review and tell me it is correct or not.

@SahilSinghTomar You deleted the message where you said issue was not fixed? I think you hadn't git pulled so it wasn't updated for you locally, right?

@KendallDoesCoding I pulled already.
it is already up to date
def chapter_stranger():
    answer = input(Fore.GREEN +
        "You cross the bridge and meet a stranger, do you talk to them? (y/n) " + Fore.LIGHTMAGENTA_EX).lower()
    if answer == "n":
        game_over(Fore.RED + "The stranger was not pleased by you and murdered you. \U0001F480")
    elif answer == "y":
        answer = input(Fore.GREEN +
            "You talk a wizard and they ask you,"
            "do you want to be a wizard? (y/n) " + Fore.LIGHTMAGENTA_EX).lower()
        if answer == "y":
            game_over(Fore.RED + "You are a wizard and you WIN the game! \U0001f3c6", win=True)

we have to add another elif statement after last if statement for answer == "n"
to become a wizard or not question should also have a elif statement
for correct functioning.

You have to add another elif statement after last statement
elif answer == "n":
        game_over(Fore.RED + "The stranger was not pleased by you and murdered you. \U0001F480")

So, that game will be over if user asked not to become wizard.
Am i Right??

If you wish i can add these changes and a random feature in my next PR.

Well, when it's elif the message doesn't display for me, if it's if answer ==n then the message displays for me?
Does the message display for you or no after pulling? coz it displays for me.
Which OS do you use?

I think maybe coz your using Linux it doesn't work?

@KendallDoesCoding can u send yours screen shot.

After adding elif
def chapter_stranger():
    answer = input(Fore.GREEN +
        "You cross the bridge and meet a stranger, do you talk to them? (y/n) " + Fore.LIGHTMAGENTA_EX).lower()
    if answer == "n":
        game_over(Fore.RED + "The stranger was not pleased by you and murdered you. \U0001F480")
    elif answer == "y":
        answer = input(Fore.GREEN +
            "You talk a wizard and they ask you,"
            "do you want to be a wizard? (y/n) " + Fore.LIGHTMAGENTA_EX).lower()
        if answer == "y":
            game_over(Fore.RED + "You are a wizard and you WIN the game! \U0001f3c6", win=True)
        elif answer == "n":
            game_over(Fore.RED + "The stranger was not pleased by you and murdered you. \U0001F480")

It works just Fine

Oh, it works. Please make a Pull-request. Thanks!
The way it is right now, works for me but not for you.


python37Packages.mypy: 0.670 -> 0.700

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/python3.7-mypy/versions.
meta.description for python37Packages.mypy is: '"Optional static typing for Python"'.

Checks done (click to expand)

built on NixOS
/bin/sh passed the binary check.
1 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 0.700 with grep in /nix/store/q30gzscpai54i136i0y7wj0vabkmijgl-python3.7-mypy-0.700
directory tree listing: https://gist.github.com/4f940b7f16c0d15829b74a063ac2e4ed
du listing: https://gist.github.com/d52c6323e056d2be351948e5e7c2e51d

Rebuild report (if merged into master) (click to expand)

23 total rebuild path(s)
6 package rebuild(s)
6 x86_64-linux rebuild(s)
6 i686-linux rebuild(s)
5 x86_64-darwin rebuild(s)
6 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
mypy
nix-pin
python37Packages.mypy
python37Packages.pyls-mypy
python37Packages.pytest-mypy
thonny

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/q30gzscpai54i136i0y7wj0vabkmijgl-python3.7-mypy-0.700 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A python37Packages.mypy https://github.com/r-ryantm/nixpkgs/archive/1b81f3f94799d32dbbf3967a51c6d473271a98c1.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/q30gzscpai54i136i0y7wj0vabkmijgl-python3.7-mypy-0.700
ls -la /nix/store/q30gzscpai54i136i0y7wj0vabkmijgl-python3.7-mypy-0.700/bin

cc @martingms @lnl7 for testing.

@GrahamcOfBorg eval

@GrahamcOfBorg build mypy

@GrahamcOfBorg build mypy

I think the failure before was caused by the recent python37 issue.


Layout for structs with a single field

We already special-case the layout for a struct type with no fields, so that they don't affect layout at all (they are treated as consuming zero bytes, with one-byte alignment). This isn't a match for standard HLSL rules, but empty struct types are uncommon in HLSL, but can become common in Slang once users use struct types to encapsulate shading features (which might have resource parameters, but no uniform/ordinary data).
An additional special case we might want to consider is when a struct type has a single field:
struct MyData { int val; }
cbuffer C { int x; MyData y; }

It is a bit silly that C.y.val gets an offset of 16 bytes, instead of 4, just because it is wrapped in a struct. If we added an IR pass that rewrites all single-field structs into their field type, then we could emit code that gives a more compact layout in cases like this.
One benefit of handling single-field struct types this way is that we could emit IR for enum types as struct types with a single field for their "tag." This would scale more naturally to eventually allowing enum types to be used for tagged unions as in Rust and Swift.

Is this still the case on the current compiler?
I would like to be able to define a generic MyBuffer<T> type, which internally just contains a uint handle; member which is used to index into a RWByteAddressBuffer bufs[]; bindless buffer heap.
If the alignment of that struct is 16 and not 4, that would mean I can't neatly have a push_constants struct that uses the type directly in the fields like:
struct PushConstants {
    MyBuffer<float> buffer0;
    MyBuffer<float2> buffer1;
};

With an associated [[vk::push_constant]] PushConstants constants;

So it looks like this is the case on the current compiler, and is causing these push constants to be laid out incorrectly. Instead I have to assign them to int and manually construct the user-type in the shader which is not very ergonomic. Is there an annotation I can user on the user side to force this alignment to be correct?

Language cleanup, Q3

@cshenton I think you can use -fvk-use-scalar-layout to get rid of the additional alignment.


[Enhancement] [BackPort] Support materialzied view rewrite tracer (#26957)

Fixes #issue
What type of PR is this:

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.1
[ ] 3.0
[ ] 2.5
[ ] 2.4

[FE PR Coverage Check]
:disappointed: fail : 322 / 411 (78.35%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/connector/hudi/HudiMetadata.java
0
2
00.00%
[167, 168]

:large_blue_circle:
com/starrocks/http/rest/QueryDumpAction.java
0
1
00.00%
[92]

:large_blue_circle:
com/starrocks/sql/optimizer/statistics/StatisticsCalculator.java
0
2
00.00%
[492, 493]

:large_blue_circle:
com/starrocks/sql/optimizer/validate/MVRewriteValidator.java
6
37
16.22%
[41, 42, 44, 45, 46, 47, 48, 50, 51, 52, 55, 58, 59, 61, 64, 65, 66, 70, 71, 73, 75, 76, 77, 78, 81, 82, 84, 85, 86, 87, 90]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/MvUtils.java
1
5
20.00%
[328, 872, 873, 874]

:large_blue_circle:
com/starrocks/sql/PlannerProfile.java
10
34
29.41%
[126, 128, 129, 130, 133, 137, 138, 140, 141, 144, 148, 149, 150, 151, 301, 306, 310, 327, 328, 332, 333, 334, 335, 336]

:large_blue_circle:
com/starrocks/connector/hive/HiveMetadata.java
4
6
66.67%
[178, 179]

:large_blue_circle:
com/starrocks/qe/ConnectContext.java
6
9
66.67%
[557, 558, 561]

:large_blue_circle:
com/starrocks/qe/SessionVariable.java
8
11
72.73%
[1977, 1988, 1989]

:large_blue_circle:
com/starrocks/qe/StmtExecutor.java
10
13
76.92%
[400, 401, 402]

:large_blue_circle:
com/starrocks/sql/optimizer/OptimizerTraceUtil.java
23
26
88.46%
[149, 168, 169]

:large_blue_circle:
com/starrocks/sql/analyzer/QueryAnalyzer.java
10
11
90.91%
[611]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/EquationRewriter.java
29
32
90.62%
[170, 171, 174]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/AggregatedMaterializedViewRewriter.java
59
63
93.65%
[151, 209, 597, 626]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/MaterializedViewRewriter.java
54
57
94.74%
[709, 1027, 1028]

:large_blue_circle:
com/starrocks/catalog/MaterializedView.java
9
9
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/Optimizer.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/MvRewritePreprocessor.java
31
31
100.00%
[]

:large_blue_circle:
com/starrocks/sql/parser/AstBuilder.java
4
4
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/operator/scalar/ScalarOperatorUtil.java
10
10
100.00%
[]

:large_blue_circle:
com/starrocks/sql/analyzer/InsertAnalyzer.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/validate/PlanValidator.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/rewrite/OptExternalPartitionPruner.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/server/CatalogMgr.java
5
5
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/AggregateFunctionRewriter.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/statistics/StatisticsCalcUtils.java
3
3
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/dump/QueryDumpInfo.java
20
20
100.00%
[]

:large_blue_circle:
com/starrocks/http/HttpServerHandler.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/server/GlobalStateMgr.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/MaterializedViewOptimizer.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/MvRewriteContext.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/catalog/Function.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/ast/StatementBase.java
5
5
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/rule/BaseMaterializedViewRewriteRule.java
2
2
100.00%
[]

[FE PR Coverage Check]
:disappointed: fail : 378 / 500 (75.60%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/connector/hudi/HudiMetadata.java
0
4
00.00%
[167, 168, 169, 170]

:large_blue_circle:
com/starrocks/http/rest/QueryDumpAction.java
0
1
00.00%
[92]

:large_blue_circle:
com/starrocks/http/HttpServerHandler.java
0
2
00.00%
[119, 120]

:large_blue_circle:
com/starrocks/sql/optimizer/validate/MVRewriteValidator.java
6
37
16.22%
[41, 42, 44, 45, 46, 47, 48, 50, 51, 52, 55, 58, 59, 61, 64, 65, 66, 70, 71, 73, 75, 76, 77, 78, 81, 82, 84, 85, 86, 87, 90]

:large_blue_circle:
com/starrocks/sql/PlannerProfile.java
11
35
31.43%
[125, 127, 128, 129, 132, 136, 137, 139, 140, 143, 147, 148, 149, 150, 304, 308, 325, 326, 330, 331, 332, 333, 334, 335]

:large_blue_circle:
com/starrocks/qe/StmtExecutor.java
7
14
50.00%
[399, 400, 402, 404, 682, 1252, 1254]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/rule/BaseMaterializedViewRewriteRule.java
1
2
50.00%
[94]

:large_blue_circle:
com/starrocks/qe/ConnectContext.java
6
10
60.00%
[250, 554, 555, 558]

:large_blue_circle:
com/starrocks/sql/optimizer/OptimizerTraceUtil.java
16
25
64.00%
[153, 172, 173, 179, 181, 182, 183, 184, 186]

:large_blue_circle:
com/starrocks/server/CatalogMgr.java
4
6
66.67%
[158, 159]

:large_blue_circle:
com/starrocks/sql/ast/StatementBase.java
2
3
66.67%
[73]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/MvUtils.java
4
5
80.00%
[328]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/MaterializedViewRewriter.java
50
61
81.97%
[169, 206, 260, 507, 512, 636, 707, 1082, 1323, 1850, 1851]

:large_blue_circle:
com/starrocks/qe/SessionVariable.java
10
12
83.33%
[1990, 1991]

:large_blue_circle:
com/starrocks/catalog/MaterializedView.java
11
13
84.62%
[600, 859]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/AggregatedMaterializedViewRewriter.java
77
91
84.62%
[204, 205, 213, 214, 215, 432, 452, 561, 597, 598, 618, 619, 625, 626]

:large_blue_circle:
com/starrocks/sql/optimizer/MvRewritePreprocessor.java
31
36
86.11%
[114, 128, 148, 185, 186]

:large_blue_circle:
com/starrocks/sql/analyzer/MaterializedViewAnalyzer.java
23
24
95.83%
[444]

:large_blue_circle:
com/starrocks/sql/optimizer/Optimizer.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/connector/hive/HiveMetadata.java
7
7
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/operator/scalar/ScalarOperatorUtil.java
10
10
100.00%
[]

:large_blue_circle:
com/starrocks/sql/analyzer/InsertAnalyzer.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/validate/PlanValidator.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/Binder.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/ast/CreateMaterializedViewStatement.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/rewrite/OptExternalPartitionPruner.java
3
3
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/statistics/StatisticsCalculator.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/sql/analyzer/AlterTableStatementAnalyzer.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/AggregateFunctionRewriter.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/sql/analyzer/QueryAnalyzer.java
17
17
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/rule/transformation/materialization/EquationRewriter.java
33
33
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/statistics/StatisticsCalcUtils.java
3
3
100.00%
[]

:large_blue_circle:
com/starrocks/sql/analyzer/AnalyzerUtils.java
7
7
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/dump/QueryDumpInfo.java
20
20
100.00%
[]

:large_blue_circle:
com/starrocks/server/GlobalStateMgr.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/ast/ColWithComment.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/MaterializedViewOptimizer.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/optimizer/MvRewriteContext.java
3
3
100.00%
[]


basic example fails on osx

when toying around with the basic example from the main README document I observe HTTP URI resolution problems:
roapi-http --version
roapi-http 0.5.3
roapi-http --table "uk_cities=https://raw.githubusercontent.com/roapi/roapi/main/test_data/uk_cities_with_headers.csv"
Error: failed to lookup address information: nodename nor servname provided, or not known

# strangely - this fails with the same error when running locally:
wget https://raw.githubusercontent.com/roapi/roapi/main/test_data/uk_cities_with_headers.csv
roapi-http --table "uk_cities=uk_cities_with_headers.csv"
Error: failed to lookup address information: nodename nor servname provided, or not known

when running natively on a Catalina OsX.
However, when executed inside your docker container - it works just fine.

looks like it might have something to do with your local dns? Are you able to load https://raw.githubusercontent.com/roapi/roapi/main/test_data/uk_cities_with_headers.csv in your browser? What do you get from running nslookup raw.githubusercontent.com?

Yes that works fine (loading https://raw.githubusercontent.com/roapi/roapi/main/test_data/uk_cities_with_headers.csv in the browser - and also via wget (as outlined above) even when manually downloading like:
wget https://raw.githubusercontent.com/roapi/roapi/main/test_data/uk_cities_with_headers.csv
and then later:
roapi-http --table "uk_cities=uk_cities_with_headers.csv"
Error: failed to lookup address information: nodename nor servname provided, or not known

I still get the error
here the output for the DNS query:

 nslookup raw.githubusercontent.com
Server:		<IP_ADDRESS>
Address:	<IP_ADDRESS>#53

Non-authoritative answer:
Name:	raw.githubusercontent.com
Address: <IP_ADDRESS>
Name:	raw.githubusercontent.com
Address: <IP_ADDRESS>
Name:	raw.githubusercontent.com
Address: <IP_ADDRESS>
Name:	raw.githubusercontent.com
Address: <IP_ADDRESS>

Could you give the workaround in https://github.com/instructure/canvas-data-loader/issues/3#issuecomment-352920399 a try to see if we can isolate the issue to local dns resolution?

Strangely, adding the following entry to the /etc/hosts file:
 14 <IP_ADDRESS> raw.githubusercontent.com

does not solve the problem (in fact when enabled also prevents wget of downloading the CSV file).
But I also do not fully understand why it should/would help: as written above the problem also occurs when manually executing wget, downloading the CSV so it no longer resides on github but is local.  But:
roapi-http --table "uk_cities=uk_cities_with_headers.csv"
Error: failed to lookup address information: nodename nor servname provided, or not known

it would still fail nonetheless.

Hi @geoHeil. Have you tried this more recently? Wondering if this has been resolved for you or if this remains an open issue for you. I'm trying to clean up and prioritize open issues here. Thanks.

CLI always fails on osx (for me) but if you feed roapi the configuration file then it usually works fine.
Furthermore, also due to the database issues I would recommend most to use roapi in the docker container

Okay, thanks for feedback. I am inclined to close this issue for now given that you do indeed have a workaround and this cannot be reproduced. We can reopen if this emerges as an issue for more people Sound good to you, @geoHeil ? Thanks again!

ok


Version Packages

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to master, this PR will be updated.
Releases
<EMAIL_ADDRESS>Minor Changes

**JobCategoryLookup:** Add JobCategoryLookup component (#772)

Patch Changes

deps: use-debounce ^8.0.0 (#771)

This can wait for LocationLookup component

Should be ready after https://github.com/seek-oss/wingman/pull/776


sap.m.Carousel - mobile - swipe animation doesn't finish on frequent swiping

OpenUI5 version: 1.68.0, 1.70.0, 1.71.0 (probably more)
Browser/version (+device/version):
Win 7 - Chrome 76.0.3809.132 and Win 10 - Chrome 77.0.3865.90
Any other tested browsers/devices(OK/FAIL):
Issue reproduceable on all tested devices
URL (minimal example if possible):
https://sapui5.hana.ondemand.com/#/entity/sap.m.Carousel/sample/sap.m.sample.Carousel
Steps to reproduce the problem:

Swipe to the side to change Carousel content
do it again while animation's not complete

What is the expected result?
pages schould be flicking through
What happens instead?
page is not changing and content out of sight
Any other information? (attach screenshot if possible)
Our customers seem to be flicking through some pages quite fast and feel like their workflow suffers from this issue.

Ah, I though I was having this issue with my laptop only: https://github.com/SAP/openui5/issues/2652. I guess I keep that issue closed in favor of this one.

Our customers seem to be flicking through some pages quite fast and feel like their workflow suffers (...)

Related enhancement requests to improve UX of the Carousel:

sap.m.Carousel: doesn't respond to arrow keys during slide animation
sap.m.Carousel: doesn't respond to arrow button clicks during slide animation

Hi ninjaCANdo,
thank you for the detailed description of this issue. I could reproduce the issue and forwarded it to the responsible development team. Please refer to the following ticket number for details:
1970495824
The status of this GitHub issue will be updated by the responsible processor.
Regards Sebastian

Hello @ninjaCANdo the issue is reproducible with 1.70, but it is fixed in version 1.71 you can check it here:
https://sapui5nightly.int.sap.hana.ondemand.com/#/entity/sap.m.Carousel/sample/sap.m.sample.Carousel
Regards,
Konstantin

Hello @kskondov ,
unfortunately it's not fixed. Try to swipe rapidly and you'll see it.
regards
Sven

Hello,
this ticket is still closed. Does anyone recognize then that some work ist still to do?
regards
Sven

Hi supernevi/ninjaCANdo,
after some additional testing, the described issue cannot be reproduced anymore. Nevertheless there is still an issue that the control gets stuck after frequent swiping. I will close this incident because I cannot reproduced the described behavior.
Regards Sebastian


Add ZFS support on FreeBSD

@mizzy Feel free to let me know if this branch needs any additional code to merge.

@mizzy Can we merge and release this please?

Thanks.

Released as v2.67.9.


response.extensions() is always null

Summary
response.extensions() is always null
Description
I was trying to get the extension fields in the errors block. Every field seems ok... response.data(), response.hasErrors()... However, response.extensions() is always null. It's useful when chekcing the exception type.
Here is the okHttp body:
---->D/OkHttp: {"errors":[{"message":"The provided authorization grant (e.g., authorization code, resource owner credentials) or refresh token is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client.","extensions":{"guards":[],"category":"authentication"},"locations":[{"line":1,"column":46}],"path":["login"],...
But when I checked the logs by using the followings: Log.d(TAG,"extensions are:"+ response.extensions().toString())  / Log.d(TAG,"errors are:"+ response.errors().toString()),
The extension field is always null.  It even disappeard in the customAttributes block...
----> extensions are:null
D/AuthDataModel: errors are:[Error{message='The provided authorization grant (e.g., authorization code, resource owner credentials) or refresh token is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client.', locations=[Location{line=1, column=46}], customAttributes={path=[login], trace=[{file=C:\wamp\laravel\vendor\joselfonseca\lighthouse-graphql-passport-auth\src\GraphQL\Mutations\Login.php...
Here is the complete errors in json format: errors_json.txt

Version
Apollo-android v1.3.0
Kotlin / Android Studio 3.5.3

From your response I see that extensions is a part of error, means you should probably check com.apollographql.apollo.api.Error#customAttributes instead.

Thank you very much for your kind help.


cannot convert from 'int' to 'System.TimeSpan

Hi when I try to run this in my appliction by simply adding this line of code: CrossVibrate.Current.Vibration(500);
I get this error:
Error CS1503: Argument 1: cannot convert from 'int' to 'System.TimeSpan?' (CS1503)
Do you know what that might be?
Best Regards
/magnus

It is n ow a timespan, change your code

Update docs

Hey,
maybe this one can help
TimeSpan.FromSeconds(10), 50 );
OR
FromMinutes
...


Add code --enable-extension  CLI option

to enable scripting vscode dev profiles setup for different dev sessions.
Currently, code cli has an option to --disable-extension  which is useful for scripting vscode profile for some dev sessions.
However, there is no command line option to re-enable extensions via CLI.

I developed an extension to solve this problem, For more information, please see the Disable Extensions.
If it can help you, please give a star to the github repository.


sbt 1.4.0 incorrectly warns about the shellPrompt key not being used

steps
I have the following in my ~/.sbt/1.0/prompt.sbt which has always worked well:
// Based on http://www.whiteboardcoder.com/2016/03/sbt-customize-shell-prompt-in-sbt.html
shellPrompt := { state =>
  def textColor(color: Int)      = s"\033[38;5;${color}m"
  def backgroundColor(color:Int) = s"\033[48;5;${color}m"
  val reset                      = s"\033[0m"
  def bold(x: String)            = s"\033[1m${x}${reset}"

  def formatText(str: String)(txtColor: Int) =
    s"${textColor(txtColor)}${str}${reset}"

  // https://upload.wikimedia.org/wikipedia/en/1/15/Xterm_256color_chart.svg
  val red    = 1
  val lightred = 9
  val goodred = 160
  val green  = 2
  val lightgreen = 10
  val cyan = 6
  val lightcyan = 14
  val blue = 27
  val lightblue = 39
  val yellow = 11
  val white  = 15
  val black  = 16
  val orange = 166
  val lightorange = 202

  def gitBranch =
    try {
      scala.sys.process.Process("git rev-parse --abbrev-ref HEAD").lines.head
    } catch {
      case _: Exception =>
        ""
    }

  bold(formatText(s"[")(blue/*goodred*/)) +
  formatText(s"${name.value}@")(blue) +
  bold(formatText(s"${gitBranch}")(lightblue)) +
  bold(formatText(s"]")(blue/*goodred*/)) +
  bold(formatText(s">")(blue+6)) +
  " "
}

problem
When I start a project with sbt 1.4.0 I see:
[warn] there's a key that's not used by any other settings/tasks:
[warn]
[warn] * root / shellPrompt
[warn]   +- /home/smarter/.sbt/1.0/prompt.sbt:3
[warn]
[warn] note: a setting might still be used by a command; to exclude a key from this `lintUnused` check
[warn] either append it to `Global / excludeLintKeys` or call .withRank(KeyRanks.Invisible) on the key

expectation
No warning, since this actually does set the prompt as expected.

This was fixed by @xirc in https://github.com/sbt/sbt/pull/5983


mwc-textfield: Remove the need to call layout()

After using mwc-textfield in a number of productions applications I find that our code-base is littered with input.layout() in order to fix the empty floating label bug.
In my opinion, this should not be the responsibility of the consumer to patch up the internals of the input, under very particular conditions, in order to prevent it from improperly drawing it self.   Our teams have used a number of material themed components with floating labels, including paper-input, and this was never an issue.
Additionally in larger applications, you do not always immediately know if your page will be removed from the DOM or just hidden as that might be handled by routing a few layers above you.  This adds to the developer confusion and increases the chances of broken inputs.
I realize this might be an upstream issue but if there is anyway to eventually have the label do proper calcs (or no calcs just use flow) regardless if it has a width or not yet it would be very helpful.
Thanks for all the hard work on these inputs!

This may be what I was just seeing which I came to raise an issue for ...
An mwc-textfield that is inside some hidden element doesn't render correctly when the other element is unhidden - the label is empty.
We're not seriously meant to track what may or may not be changed and go calling methods on the child elements to have them render correctly are we?

This may be what I was just seeing which I came to raise an issue for ...
An mwc-textfield that is inside some hidden element doesn't render correctly when the other element is unhidden - the label is empty.
We're not seriously meant to track what may or may not be changed and go calling methods on the child elements to have them render correctly are we?

This sounds similar.  Are you changing the label from something to empty while hidden?

This sounds similar. Are you changing the label from something to empty while hidden?

No, the label is completely static text, the component is just inside a container that is initially hidden - when the container is shown the label is missing.

This sounds similar. Are you changing the label from something to empty while hidden?

No, the label is completely static text, the component is just inside a container that is initially hidden - when the container is shown the label is missing.

Yep, this is the issue.  Unfortunately you have to call layout after the input has a width (unhidden)...at least for now.  Hopefully this can be engineered out.

yeah, if it's not an immediate child it's not really usable as it is now

Fixed in M3


[President] State-by-state results table

https://github.com/BostonGlobe/elections-2016/pull/89

Finished in https://github.com/BostonGlobe/elections-2016/pull/92


Add Fetch to Osmosis frontend

Signed-off-by: David Pierret<EMAIL_ADDRESS>

Pending initial liquidity + adding pool to trade router

Replaced with #376


refactor: replace jsonparser with gjson

Codecov Report

Merging #63 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #63   +/-   ##
=======================================
  Coverage   98.77%   98.77%
=======================================
  Files           7        7
  Lines         163      163
=======================================
  Hits          161      161
  Misses          1        1
  Partials        1        1

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 890e533...8bc71a3. Read the comment docs.


[FLINK-35291] Improve the ROW data deserialization performance of DebeziumEventDeserializationScheme

#flink-35291

@ruanhang1993 Would you help have a look at this?

@lzshlzsh What's the performance gain (or throughput improve) with this patch?

@ruanhang1993 @leonardBang  CC.

@lzshlzsh What's the performance gain (or throughput improve) with this patch?
Sorry for the late reply. According to my testing, there is approximately a 40% performance improvement (3.5w/s ->5w/s).
see flink-35291


Broken syntax highlighting

The syntax highlighting from this package is broken. For example, if I do a header like this:
## An example header

....Then only An example header is getting highlighted, not the ##  too. Similarly, if I do
<!--
This is a comment
-->

... Then only This is a comment gets styled, and not the <!-- and --> - though interestingly the start and end blocks in this case get italicised, just not coloured.
In addition, I was shocked to learn that Atom does not provide it's own syntax highlighting for Markdown and there are no alternatives to this package - so this package is essential.

Thank you for reporting your issue.
Actually, what you've encountered is the fact that your syntax-theme doesn't work well together with this package. All scopes that you mentioned are actually recognized by this package. Your syntax-theme however doesn't apply any styling to them. You can ask the author of your theme to make the necessary changes, or you can do it yourself. Good luck!

The syntax highlighting from this package is broken. For example, if I do a header like this:
## An example header

....Then only An example header is getting highlighted, not the ##  too. Similarly, if I do
<!--
This is a comment
-->

... Then only This is a comment gets styled, and not the <!-- and --> - though interestingly the start and end blocks in this case get italicised, just not coloured.
In addition, I was shocked to learn that Atom does not provide it's own syntax highlighting for Markdown and there are no alternatives to this package - so this package is essential.

I'm having the same issue. Which theme are you using @sbrl ? I'm using One Light. Maybe we could ask the One Light author to implement what is necessary to support correct markdown highlighting?

I would actually advise to disable language-markdown and start using (the default) language-gfm again. This package is no longer (actively) maintained.

ah okay, thanks for the info!

@paul-grassl I'm using One Dark. That's really odd that the default theme isn't providing styling there - I am sure it was before.

Ah, I see @burodepeper. The odd thing though that I''m trying to get at is that it's not just that package that now has issues - comments in Javascript don't highlight properly either - and there are many other examples I'm now seeing. I now think this has something to do with the latest version of Atom, rather than this package in particular.


Recent commit "Added tests and fix for singleton array outputs" breaks higher order derivatives

Hi,
This commit from earlier today, breaks some code I have. Unfortunately I am having a really hard time debugging and finding the location of the error, but here are some clues:

It only happens when I take a second-order derivative -- the first-order derivative of my function works fine.

The error occurs in numpy_extra.py, inside the inner lambda function defined in

untake.defgrad(lambda ans, x, idx, template : lambda g : take(g, idx))

Specifically, the error occurs because g is a 0-d array, array(float), and idx=0, and I get
IndexError: 0-d arrays can't be indexed

For now I am going to switch back to the previous commit, but will work on debugging it a bit more over the next couple days.
Also, are there any good strategies for debugging? I find it really difficult to trace errors once autograd goes into the backward_pass() function.

Ack, sorry.  I just reverted that commit.  It was trying to fix an issue relating to singleton array outputs, but since no one seems to have run into that issue on their own, I'll leave it until I have a more satisfactory solution.
I too have difficulties debugging on the backwards pass.  Usually we just add a ton of print statements to get an idea of what was going on, but we should probably learn to use conditional breakpoints or something more sophisticated.
If you send me the code that failed, I'll turn it into a test so that this won't happen again.

Thanks very much!
So, my code is large & messy right now. Hence the difficulty in tracing the error. I'm willing to share with you but, honestly, you probably don't want to go through the trouble of setting up and running it yet.
I'm in the process of cleaning up the project, to release it on github over the next week or two (hopefully). At that point it should be much easier to isolate the problem and create a minimal example test case. I'll stay in touch about that.
Thanks again for all the great work, I've found autograd to be a really useful tool.


No Interpreter output about Intent/confidence/entities when using Agent

Rasa Core version : 0.7.1
Operating system (windows, osx, ...): no matter
Issue: For the development of chatbots, it is essential to follow the interpretation of the chatbot. Now NLU interpreter (ex: rasa-NLU) works inside an Agent of rasa-core. Currently, in addition to the response texts (list), no method of Agent can report Intent/confidence/entities of rasa_NLU.
I also wonder if it is possible to report actions to be taken and their probabilities.
In summary, I suggest an enhancement for Agent class (maybe as well as Processor class) to have verbose-mode methods to report NLU's Intent/confidence/entities and Core's actions/confidence.

@fakesecret
You can get the state from the tracker.
tracker = agent.tracker_store.get_or_create_tracker("sender_id")
# get current tracker state to log
tracker.current_state()

@rabberbock Thanks for your advice. The tracker can provide interpreter's parse data (Intent/confidence/entities), if we set correctly "sender_id" for agent.handle_message method.
Do you have an idea that whether we can get core's action name and confidence?

We can most certainly include the action confidence somewhere, that is already logged in another issue though. For the other part, you are basically looking for something like:
r = agent.interprete(message)

where r now contains the result of running the NLU that has been setup on the message?

@tmbo At my initial discussion with you a week a go, we decided to make this issue for improvement for reporting NLU's Intent/confidence/entities and Core's Action/confidence.
Now, the first part can be solved as below (thanks to @rabberbock ):
sender_id = "user"
lst_out_msg = agent.handle_message(text_message=my_sent,
                              sender=sender_id) # keyword "sender" need to be changed
tracker = agent.tracker_store.retrieve(sender_id=sender_id)
if tracker:
    print (tracker.current_state()) # or do other things

The tracker.current_state() contains NLU's interpretation. It might be good to add this into docs and examples.
For the 2nd part, Action/confidence info can be put into tracker in the same manner in the future.

@tmbo The main question is solved. You can close this issue.


Setting Polling interval on Deploy Task lower than default (10) causes failure

User reduced Polling interval on Deploy Task to 2, which caused a failure because it created a state that is not accounted for in deploytask.py code - the taskStates get skipped (DONE, EXECUTED, FAILED, STOPPED) and it jumps to sys.exit(1). Restoring polling to 10 gets us around the issue.

Hi,
Sorry for the late reply. The task states that are being tracked are defined in the XLDeployClient.py. What is the task state you get back?
Regards,
Joris

Closing because inactivity. Feel free to open another issue if this is still an issue.


Add journal events into the logbook

Background
I added an input_text entity to allow me to capture notes about events that are happening within my home through natural language. An example might be Kitchen fan automation didn't trigger as expected. The idea of this was to use this when studying the data in Grafana and add these notes as annotations to relevant dashboards.
Objective
Leverage the logbook integration and it's service service: logbook.log to record things into the logbook.
 - service: logbook.log
   data:
     name: Kitchen
     message: is being used
     entity_id: light.kitchen
     domain: light

Lovelace card

Logbook

Alexa, log a bug
Using the alexa_media custom component I created a routine to trigger an automation that reports a bug in the room Alexa, report a bug is used in.


Can't build any package - cmake fails with error - Windows 10

I've been trying to use vcpkg without any luck for a long time. On my two main workstations, nothing works. However when I tried on a third computer it all works as expected, doing exactly the same thing.
Here's what I do:

Install Visual Studio Community (tested both 2019 and 2017)
Download vcpkg (clone via git).
Run bootstrap-vcpkg.bat (successfully)

When I try to install a package (any package) I get the same error. I have access to the C: drive, I have admin priviliges etc.
PS C:\Users\Simon> cd .\vcpkg\
PS C:\Users\Simon\vcpkg> .\vcpkg.exe install gainput:x64-windows
Your feedback is important to improve Vcpkg! Please take 3 minutes to complete our survey by running: vcpkg contact --survey
The following packages will be built and installed:
    gainput[core]:x64-windows
Starting package 1/1: gainput:x64-windows
Building package gainput[core]:x64-windows...
-- Using cached C:/Users/Simon/vcpkg/downloads/jkuhlmann-gainput-v1.0.0.tar.gz
-- Using source at C:/Users/Simon/vcpkg/buildtrees/gainput/src/v1.0.0-33934e6da4
-- Configuring x64-windows
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:72 (message):
    Command failed: ninja -v
    Working Directory: C:/Users/Simon/vcpkg/buildtrees/gainput/x64-windows-rel/vcpkg-parallel-configure
    Error code: 1
    See logs for more information:
      C:\Users\Simon\vcpkg\buildtrees\gainput\config-x64-windows-out.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_configure_cmake.cmake:293 (vcpkg_execute_required_process)
  ports/gainput/portfile.cmake:11 (vcpkg_configure_cmake)
  scripts/ports.cmake:94 (include)

Error: Building package gainput:x64-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: gainput:x64-windows
  Vcpkg version: 2019.09.12-nohash

Additionally, attach any relevant sections from the log files above.
PS C:\Users\Simon\vcpkg>

Attaced is the error log.
config-x64-windows-out.log

@simonbjork, I can't repro this issue, it looks not related to vcpkg, it seems something wrong in your vs setting up.
Something you could try:

Install the English language pack if it doesn't installed. (reference https://github.com/microsoft/vcpkg/issues/1939#issuecomment-354644869)
Reinstall/repair VS
Remove 'PREFER_NINJA' in line#13 in ports\gainput\portfile.cmake, and try to build again

The failure:
Call Stack (most recent call first):
../../../../downloads/tools/cmake-3.14.0-windows/cmake-3.14.0-win32-x86/share/cmake-3.14/Modules/CMakeDetermineSystem.cmake:93 (include)
-- The C compiler identification is MSVC 19.16.27034.0
-- The CXX compiler identification is MSVC 19.16.27034.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe -- broken
CMake Error at ../../../../downloads/tools/cmake-3.14.0-windows/cmake-3.14.0-win32-x86/share/cmake-3.14/Modules/CMakeTestCCompiler.cmake:60 (message):
The C compiler
"C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe"

is not able to compile a simple test program.

Thanks for the reply, turns out it was a permission error on Windows. Not sure why cmake tries to create all its temp files in the root of the C drive though.

@simonbjork, it seems you solved the issue, feel free reopen this issue if it still be a problem for you.


small grammar corrections

In readme file

"whenever possible" is perfectly valid http://www.macmillandictionary.com/dictionary/british/whenever


Feature: Comment cleanup

Code has a lot of comments in it.  A lot of this is valuable information.  A lot of it are snippets of old/unused code, or works in progress (sometimes hard to tell).
I'd like to work through it and:

Move the valuable information to documentation pages.
Remove unused code.  It will be preserved in the repo if it's needed later.
Rewrite/move/loosely-standardize the rest.

This should be done before https://github.com/bazmonk/digigurdy-baz/issues/5 I think.

I'm calling this complete.  The rewrite took over and this is happening organically in the process.


WIP: Remove mac from xml network def

What does this PR?
In this Pr when when we create a new network interface  we don't assign a random generate MAC address anymore on the xml-definition.
Instead we delegate it to libvirt which autogenerate it randomly.

remove of code for mac adress generation.
adapt to wait_for_lease

addition:

this pr  additionaly fix wait_for_lease in doc and in test which was wait_for_lease = 1 but we need a boolean wait_for_lease = true

Previous behaviour:
In past we were assigning a random mac adress to the XML definition.
This doesn"t play well with IPV6 see (Fix #396)
Libvirt upstream doc

from https://avdv.github.io/libvirt/formatnetwork.html

mac
The address attribute defines a MAC (hardware) address formatted as 6 groups of 2-digit hexadecimal numbers, the groups separated by colons (eg, "52:54:00:1C:DA:2F"). This MAC address is assigned to the bridge device when it is created. Generally it is best to not specify a MAC address when creating a network - in this case, if a defined MAC address is needed for proper operation, libvirt will automatically generate a random MAC address and save it in the config. Allowing libvirt to generate the MAC address will assure that it is compatible with the idiosyncrasies of the platform where libvirt is running.
What is left todo:

[x] check other removal needed

[x] tests network setups

[x] finish check wait_for_lease mechanism.

libvirt will autogenerate a proper one.

special thx to @lgaggini

for this PR special thx for this to @lgaggini which helped a lot :cupid:  thx.
So all the testacc are running fine.
I have tested the 2 main.tf from example issue, and other network configuration  and everything seems working.
I cannot see why we need to inject/create a mac

ok the tests are fine. feel free to have a look @inercia @dmacvicar . i will do more tests on this but looks good to me now

@dmacvicar ok thx for feedback, i will rearrange it.
at moment i need to fix the wait_for_lease  mechanism.

Currently with patch:
this works:
provider "libvirt" {
  uri = "qemu:///system"
}

resource "libvirt_domain" "domain" {
  name = "domain-${count.index}"
  network_interface {
    network_name = "default"
    wait_for_lease = true
  }

  count = 1
}

We get the IP after waiting for lease correctly.
this won't work ( previous behaviour was working)
provider "libvirt" {
    uri = "qemu:///system"
}

resource "libvirt_network" "public4"{
  name = "public4"
  mode = "route"
  bridge = "br-public4"
  addresses = ["<IP_ADDRESS>/24"]
  dhcp {
    enabled = "false"
  }
  autostart = "true"
}

resource "libvirt_domain" "tf_test4" {
  # init
  name = "tf_test"
  metadata = "tf_test"
  vcpu = 2
  memory = 512
  running = false
  autostart = false

  network_interface {
    network_id = "${libvirt_network.public4.id}"
    addresses = ["<IP_ADDRESS>"]
    wait_for_lease = true
  }
}

we cannot get the DomainInterface infos and we loop until the 5min go over.
2018-09-20T12:59:42.885+0200 [DEBUG] plugin.terraform-provider-libvirt: 2018/09/20 12:59:42 [DEBUG] qemu-agent is not used
2018-09-20T12:59:42.885+0200 [DEBUG] plugin.terraform-provider-libvirt: 2018/09/20 12:59:42 [DEBUG] getting domain addresses from networks
2018-09-20T12:59:42.886+0200 [DEBUG] plugin.terraform-provider-libvirt: 2018/09/20 12:59:42 [DEBUG] Interfaces: ([]libvirt.DomainInterface) <nil>
2018-09-20T12:59:42.886+0200 [DEBUG] plugin.terraform-provider-libvirt: 2018/09/20 12:59:42 [DEBUG] no interfaces could be obtained with qemu-agent: falling back to the libvirt API
2018-09-20T12:59:42.887+0200 [DEBUG] plugin.terraform-provider-libvirt: 2018/09/20 12:59:42 [DEBUG] Interfaces info obtained with libvirt API:
2018-09-20T12:59:42.887+0200 [DEBUG] plugin.terraform-provider-libvirt: ([]libvirt.DomainInterface) {
2018-09-20T12:59:42.887+0200 [DEBUG] plugin.terraform-provider-libvirt: }
2018-09-20T12:59:42.887+0200 [DEBUG] plugin.terraform-provider-libvirt:
2018-09-20T12:59:42.887+0200 [DEBUG] plugin.terraform-provider-libvirt: 2018/09/20 12:59:42 [DEBUG] ifaces with addresses: []
2018-09-20T12:59:42.887+0200 [DEBUG] plugin.terraform-provider-libvirt: 2018/09/20 12:59:42 [DEBUG] doesn't have IP address(es) yet...
2018-09-20T12:59:42.887+0200 [DEBUG] plugin.terraform-provider-libvirt: 2018/09/20 12:59:42 [DEBUG] IP address not found for interface  &{XMLName:{Space: Local:} Managed: TrustGuestRXFilters: MAC:0xc420215090 Source:0xc420204540 Boot:<nil> VLan:<nil> VirtualPort:<nil> IP:[] Route:[] Script:<nil> Target:<nil> Guest:<nil> Model:0xc420215000 Driver:<nil> Backend:<nil> FilterRef:<nil> Tune:<nil> Link:<nil> MTU:<nil> Bandwidth:<nil> Coalesce:<nil> ROM:<nil> Alias:<nil> Address:<nil>}  will try in a while
2018-09-20T12:59:42.887+0200 [DEBUG] plugin.terraform-provider-libvirt: 2018/09/20 12:59:42 [TRACE] Waiting 10s before next try

I think i am missing something :thinking:  but i cannot figure find out.. any hints welcome :+1:

You have DHCP disabled, which means you want to get an address from the DHCP behind the bridge.

I don't think adding addresses = ["<IP_ADDRESS>"] has any effect, as you don't control that DHCP server host table, and you can't choose what address it should give to you.
wait_for_lease loops over the function that retrieves domain ip addresses. This is done primarily by virDomainInterfaceAddresses using the leases file, which only works if you manage the network inside libvirt and libvirt has access to the leases file.
This may work if we enable ARP as source, as I suggested in PR #427
This may work with the current qemu agent code, if the agent is running in the image (and also if we refactor to use virDomainInterfaceAddresses using AGENT as src)

i will return to work on this soon.
@dmacvicar  yop this is also what i was thinking, and i think this is true.
I have some concern of some part of the code like the partialNetIface retrieval.
I will need to test and check some small part of code let see the findings.
Thx :+1: :heart:

@dmacvicar  feel free to review it. I double checked it more and i think we did it wrong even with the past.
I did a test with master and this branch. ( from the above tf. files)
for example  with the master branch a virsh dumpxml domaintest give
  <interface type='network'>
      <mac address='ee:6f:4e:b9:65:47'/>
      <source network='public4'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>

and with the new branch gives :
      <interface type='network'>
        <mac address='52:54:00:1b:71:d5'/>
        <source network='public4' bridge='br-public4'/>
        <target dev='vnet0'/>
        <model type='virtio'/>
        <alias name='net0'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
      </interface>

So we have a bridge network tag in the nomac tag is correct. I dunno why in the master we don't have it.
Anyway i think the PR add the correct behaviour, even if the wait_for_lease variable is somehow not easy to understand a first glance ( and also is not 100% right for QEMU-agent..)
So just double check it : tia :love_hotel:

@dmacvicar :

I don't think adding addresses = ["<IP_ADDRESS>"] has any effect  (without DHCP)

It has. It sets the address on the bridge.
The whole point of recent PRs was precisely to decouple these addresses and DHCP.

@Bischoff feel free to check this out, i will turn back on this once i got the qemu-agent PR merged ( should be done also soon).

Closing I will reopen properly in future. Parkinh prs aren't fun imho🦄


command mode may not get repainted, causing CursorLineNr to not update

Whether the redraw is necessary likely depends on if something else is forcing a redraw statuscolumn already or not.
For example, this is my config with cmp doing cmdline completion. Apparently, it's not repainting the statuscolumn when I press : but does when I type the next character:

And this is my config using no cmdline completion (cmp disabled). It doesn't repaint the statuscolumn ever so the wrong highlight for CursorLineNr is displayed the whole time:

It may work for some config/themes that are already repainting but it won't work for configs that aren't repainting the statuscolumn.
Adding the redraw for mode == 'c' back in fixes it so I think that redraw is still necessary to make command mode work in all cases, particularly in configs that aren't already repainting the statuscolumn.

I am just wondering why this is breaking for you but not for me?

Also curious if this is specific to your setup?  Have you tried a clean install?

I am just wondering why this is breaking for you but not for me?

I looked at your config files. It's working for you because you're using noice. If you disable it, you'll see the problem in your config as well.

@cameronr Thanks!  I merged the fix.


Improve incarnations search

@umer4ik slightly unrelated, but maybe a quick win in here:
Could we sort the table alphabetically by incarnation repo and target directory?


Discussion on the split of documentation and code

The current approach is to separate documentation from code in the future. Using the OpenStack Image Manager as an example:

osism/openstack-image-manager repository for the code
osism/openstack-image-manager-docs repository for the documentation

In my experience so far from the tools in the OpenStack cosmos, this works for a while and then diverges greatly. Therefore, for smaller tools that are self-contained, I would prefer to maintain code and documentation in the same place. For everything else, I would suggest a central documentation repository per organisation.
Due to the approach with submodules and the use of a docs subdirectory, I don't see any technical reason for separating into two different repositories.
Also, this approach does not work for e.g. Ansible Collections. There, the documentation for each role is maintained in a README.md which is located in the repository of the collection. If you don't do this, you don't have documentation on Ansible Galaxy (where the roles are published). However, the documentation is also expected there.
With the approach of two different repositories, the documentation for Ansible Collections would have to be maintained twice in the future, which in my opinion offers no added value.

Many thanks for your thoughts! I can totally relate to your concerns. The reason in my proposal for splitting docs and code into two repositories – but only when the docs repository is pulled into the code repository  too(either via git submodule or git subtree) – is to have a clean docs directory in the scs docs collection repository containing all different documentations. With having subdirectories within docusaurus (or any other static page generator) e.g.
├── docs    // the folder where all individual docs reside as subtree modules
│   └── @osism/openstack-image-manager-docs
│       ├── overiew.md
│       ├── usage.md
│       ├── requirements.md
│   └── @scs/Docs
│       ├── overview.md
│       ├── usage.md
│       ├── requirements.md
│   └── @abc/xyz
│       ├── overview.md
│       ├── usage.md
│       ├── requirements.md

it is very nice to structure the individual docs together as a well understandable scs documentation, considering order and metadata. Then in the example of the openstack-image-manager has to implement the docs repository in the same manner as the main documentation.
@osism/openstack-image-manager
├── src
├── docs
│   └── @osism/openstack-image-manager-docs // git submodule or git subtree
│       ├── overiew.md
│       ├── usage.md
│       ├── requirements.md

Wouldn't this workout with the Ansible Collections then?
Otherwise I only see two possibilities for having all docs in one place. Either to implement the individual repositories as they are, with all its code and individual structure (which might differ from the others but might be okay) or to copy the /docs folder from the individual repos to the big collection manually, which also could end with the same problem of diverging greatly over time, if not being maintained well enough. Another technical solution would be if it would be possible to get only a subdirectory within a submodule or subtree repository. But as far as i know this is not possible.
My current approach is a proposal which I think could work out as a good compromise, which includes some overhead within the code repo. But I currently don't see a perfect solution here. I'm happy about further thoughts to this discussion to bring up a solution that best contributes to the common goal.

Unless you generate your documentation out of your code, there's always a certain danger to diverge after some time (maybe more, when docs and source live in separate repos).
For tools: I just wanted to add Material for MkDocs - and their "Alternatives" page: https://squidfunk.github.io/mkdocs-material/alternatives/

We have found a slightly different but far better solution, which @ra-beer, @tibeer and myself have developed at the scs hackathon in cologne:
https://github.com/SovereignCloudStack/minutes/blob/main/hackathons/2022-11-22-scs-hackathon-cologne/table-documentation.md#alternative-1
PR will come soon.


docs | tasks | configure-pod-container | assign pods to nodes

Assign pods to nodes
Add Two files in examples/pods/ for includes.

/assign @oussemos @smana

/approve
/lgtm


Update libsass to 3.2.0

They just released the 3.2.0 version:
https://github.com/sass/libsass/releases/tag/3.2.0
There is ton of nice things on this release, so it would be great to see node-sass updated too.

We are following libsass very closely, so please expect node-sass to be upgraded soon. If you would like to try libsass 3.2.0 yourself, you can compile the library yourself and just tell node_sass to use it by setting LIBSASS_EXT environment variable. For more details please see https://github.com/sass/node-sass/pull/763#issuecomment-81253363.

Can't wait!

This will land in<EMAIL_ADDRESS>You can track the progress in the milstone.
Ideally we'll have this out within the week.

Fixed in 3.0.0.


No module named 'distutils.cmd'

Testing #21100
cwebster@LAPTOP-V0R69RQJ:/mnt/c/Users/cowebster/PythonProject$ /mnt/c/Users/cowebster/PythonProject/.venv/bin/python /mnt/c/Users/c
owebster/PythonProject/.venv/pip.pyz install pip
Traceback (most recent call last):
  File "/usr/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/mnt/c/Users/cowebster/PythonProject/.venv/pip.pyz/__main__.py", line 26, in <module>
  File "/usr/lib/python3.9/runpy.py", line 213, in run_module
    return _run_code(code, {}, init_globals, run_name, mod_spec)
  File "/usr/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/mnt/c/Users/cowebster/PythonProject/.venv/pip.pyz/pip/__main__.py", line 29, in <module>
  File "<frozen zipimport>", line 259, in load_module
  File "/mnt/c/Users/cowebster/PythonProject/.venv/pip.pyz/pip/_internal/cli/main.py", line 9, in <module>
  File "<frozen zipimport>", line 259, in load_module
  File "/mnt/c/Users/cowebster/PythonProject/.venv/pip.pyz/pip/_internal/cli/autocompletion.py", line 10, in <module>
  File "<frozen zipimport>", line 259, in load_module
  File "/mnt/c/Users/cowebster/PythonProject/.venv/pip.pyz/pip/_internal/cli/main_parser.py", line 9, in <module>
  File "<frozen zipimport>", line 259, in load_module
  File "/mnt/c/Users/cowebster/PythonProject/.venv/pip.pyz/pip/_internal/build_env.py", line 19, in <module>
  File "<frozen zipimport>", line 259, in load_module
  File "/mnt/c/Users/cowebster/PythonProject/.venv/pip.pyz/pip/_internal/cli/spinners.py", line 9, in <module>
  File "<frozen zipimport>", line 259, in load_module
  File "/mnt/c/Users/cowebster/PythonProject/.venv/pip.pyz/pip/_internal/utils/logging.py", line 29, in <module>
  File "<frozen zipimport>", line 259, in load_module
  File "/mnt/c/Users/cowebster/PythonProject/.venv/pip.pyz/pip/_internal/utils/misc.py", line 44, in <module>
  File "<frozen zipimport>", line 259, in load_module
  File "/mnt/c/Users/cowebster/PythonProject/.venv/pip.pyz/pip/_internal/locations/__init__.py", line 66, in <module>
  File "<frozen zipimport>", line 259, in load_module
  File "/mnt/c/Users/cowebster/PythonProject/.venv/pip.pyz/pip/_internal/locations/_distutils.py", line 20, in <module>
ModuleNotFoundError: No module named 'distutils.cmd'

@brettcannon Not really sure what we can do about this? this was on Debian.

Basically, Debian decided to drop distutils https://askubuntu.com/a/1260519


Undefined token errors with user token manager

If USER_TOKEN_MANAGER=true option is used, i.e. if tokens are not defined in the jj file, then all tokens are highlighted in red and the corresponding Undefined lexical token name "..." problems are generated. It'd be nice if it instead highlighted all <FOO> instances as valid tokens. Even better if there was a way to define the list of valid tokens, but I don't see how it can be done in javacc grammar.

I'm not familiar with how Javacc handles external tokens. Don't you still have to declare their names in the file? Does it just allow any name with the syntax <TOK>?
If so, maybe this could be done via a comment... Like
// JAVACC_TOKENS A, B, C

with the valid token names


Mockito as Java and Kotlin only feature.

When merged we can remove
            appFeatures.remove("mockito");
        }```
from DefaultGuideProjectGenerator