fix: fixed the contact page position

Description

fixed the contact page position of the case study section.

Related issue(s)
Resolves #1504

@sambhavgupta0705 kindly discuss the issue first on how you will approach to resolve the issue. Please don't make the PR before clarifying the plan from the maintainers.

hey @akshatnema we discussed it in slack channel : https://asyncapi.slack.com/archives/C02FK3YDPCL/p1681211453653909
Here I have implemented the 2nd solution provided by @derberg ,just there is no box and only the simple name of the author

can you remove the initial hardcode?
@derberg I have already removed the intial hardcoded contact

for now I have added some testing data in yml file.I will remove it before merging this one

shouldn't it actually be a comma separated list of names instead of one under each other?

I think it looks good
@akshatnema ?

if all things look good then I am reverting the changes I made in adeo.yml file

@sambhavgupta0705 resolve the Netlify errors first.

@akshatnema resolved the errors
PTAl

@sambhavgupta0705 kindly remove the test contacts you added.

/rtm


refactor: rename transactionId to internalId

Description:
Rename transactionId which serves as tx sending indentifier to internalId to reduce ambiguity.

How Has This Been Tested?
Manually.

Types of changes:
Refactor

Checklist:

[x] My code follows the code style of this project.
[x] I have reviewed and updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes where needed.
[ ] All new and existing tests passed.
[x] My commits have been squashed into a concise set of changes.

Coverage increased (+0.005%) to 22.822% when pulling 507734aa2ce2e2e9f938805b744a97d37b8f6932 on korhaliv:refactor/rename-transaction-id into a03b2b37faac01cef7a82c3f46bfd37d59964f96 on LN-Zap:next.


[PerfStress] Make new issues to track the adoption of the PerfStress framework

Once the PerfStress framework is integrated with KeyVault Keys https://github.com/azure/azure-sdk-for-js/issues/8059 and Storage Blob https://github.com/azure/azure-sdk-for-js/issues/8060 , make new issues to track the integration with all of the other clients we are currently releasing.

Closing this for this same reason: https://github.com/Azure/azure-sdk-for-js/issues/8057#issuecomment-617978932


WIN11 NoChrome window shadow bug

Describe the bug
ExtendClientAreaChromeHints = ExtendClientAreaChromeHints.NoChrome in Windows 11 does not remove rounding of corners and window shadow.
Expected behavior
The ability to hide the shadow and rounding of the corners of the window in Windows 11.
Screenshots
WIN 10

WIN 11

Desktop

OS: Windows
Version 11

Any workaround for this?

Worked for me after changing ExtendClientAreaToDecorationsHint from True to False


Windows installer build/runtime error/crash

Evening. I was trying to build the Windows installers on my machine, which I have done successfully in the past but it seems something in the past few weeks has changed and it now fails. Wondering if anyone could point me in a good direction for a fix. All the code compiles fine until the installers start to build:
λ  .\src\BuildAll.cmd
..(Code building)...
Executing 'X:\Softether\SoftEtherVPN\src\bin\BuildUtil.exe /CMD:ReleaseWin32 all /IGNOREERROR:no /SERIAL:no'...
BuildUtil command - VPN Build Utility

Copyright (c) SoftEther VPN Project. All Rights Reserved.

ReleaseWin32 command - Builds Win32 installer package files.
1 / 2: Executing for 'softether_open-vpnserver_vpnbridge-windows-x86_x64-intel'...
2 / 2: Executing for 'softether_open-vpnclient-windows-x86_x64-intel'...
Waiting child processes...
1 / 2 (softether_open-vpnserver_vpnbridge-windows-x86_x64-intel):
       * Error *
2 / 2 (softether_open-vpnclient-windows-x86_x64-intel):
       * Error *

System.ApplicationException: 2 Errors.
   at BuildUtil.BuildUtilCommands.ReleaseWin32(ConsoleService c, String cmdName, String str)

BuildUtil: fatal error C0001: 2 Errors.
System.ApplicationException: Child process 'X:\Softether\SoftEtherVPN\src\bin\BuildUtil.exe' returned error code 1.
   at BuildUtil.Win32BuildUtil.ExecCommand(String exe, String arg, Boolean shell_execute)
   at BuildUtil.Win32BuildUtil.ExecCommand(String exe, String arg)
   at BuildUtil.BuildUtilCommands.All(ConsoleService c, String cmdName, String str)

BuildUtil: fatal error C0001: Child process 'X:\Softether\SoftEtherVPN\src\bin\BuildUtil.exe' returned error code 1.

X:\Softether\SoftEtherVPN\src\bin>if errorlevel 1 exit /b 1

Thanks!

Hi,
Is your repository up-to-date?
The latest change to the build system has been applied in #676.

@davidebeatrici , do we print version during build ?

No, but the build is failing when creating the version string.

It was a fresh git clone from about 30 minutes before I sent this issue.

so... we do not catch "stderr" message, right ?

We can get details about the exception, if the debug symbols are available.

When I get off work, I can run it again and give you guys anything else you need from the output if needed.

This is the output from the other console that the buildAll.cmd spawns in case it helps.
BuildUtil command - VPN Build Utility

Copyright (c) SoftEther VPN Project. All Rights Reserved.

ReleaseWin32 command - Builds Win32 installer package files.
Building 'softether_open-vpnserver_vpnbridge-windows-x86_x64-intel' - SoftEther VPN Server and VPN Bridge (Ver 5.01, Build 9657, Intel) for Windows...
Waiting for Semaphore...
Done.
Executing 'X:\Softether\SoftEtherVPN\src\bin\vpnsetup.exe /SFXMODE:vpnserver_vpnbridge /SFXOUT:"X:\Softether\SoftEtherVPN\src\tmp\Release\softether_open-vpnserver_vpnbridge-v5.01-9657-unstable-2018.09.08-windows-x86_x64-intel.exe"'...
Skipping the code signing for 'X:\Softether\SoftEtherVPN\src\tmp\Release\softether_open-vpnserver_vpnbridge-v5.01-9657-unstable-2018.09.08-windows-x86_x64-intel.exe' in the build process. You can insert your own authenticode sign process here.

ConEmuC: Root process was alive less than 10 sec, ExitCode=0.
Press Enter or Esc to close console...

@davidebeatrici Question not strictly related to this but couldn't find a solid answer: Did the latest binary release of SoftEther (9669 Beta) implement the TLS changes or only the IPSec changes?

Only the IPsec changes: https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/commit/abe19458ffdfd75664176d4e41e448ad3b7a4f22

Ah I see, thanks!

You're welcome!

@davidebeatrici Has there been any progress on this issue by chance? I cloned a fresh copy and still encountered the same build error.

Try to check where the following function is failing:
https://github.com/SoftEtherVPN/SoftEtherVPN/blob/8f53bf23e71182be4a9b30da8a8eb79ee022cb95/src/BuildUtil/BuildUtilCommands.cs#L764-L907

It seems to be failing here at the child processes when they attempt to build:
https://github.com/SoftEtherVPN/SoftEtherVPN/blob/8f53bf23e71182be4a9b30da8a8eb79ee022cb95/src/BuildUtil/BuildUtilCommands.cs#L877-L893
Waiting child processes...
1 / 2 (softether_open-vpnserver_vpnbridge-windows-x86_x64-intel):
       * Error *
2 / 2 (softether_open-vpnclient-windows-x86_x64-intel):
       * Error *```

It seems to be failing here at the child processes when they attempt to build:
https://github.com/SoftEtherVPN/SoftEtherVPN/blob/8f53bf23e71182be4a9b30da8a8eb79ee022cb95/src/BuildUtil/BuildUtilCommands.cs#L877-L893
Waiting child processes...
1 / 2 (softether_open-vpnserver_vpnbridge-windows-x86_x64-intel):
       * Error *
2 / 2 (softether_open-vpnclient-windows-x86_x64-intel):
       * Error *```

What are the values of versionMajor, versionMinor and versionBuild?

@davidebeatrici So CMake successfully generated the files and I opened them in VS Studio 2017, however im unsure how to proceed from here. If you wouldn't mind explaining it some, I want to add more info to the BUILD_WINDOWS.md on how to develop using the new CMake process.

@BlackHoleFox Sure, no problem!
You can either:

Import the CMake project in Visual Studio 2017, which is what I personally recommend
Generate Visual Studio 2017 project files (default CMake generator)
Generate an NMake makefile by specifying -G "NMake Makefiles" (as we do with AppVeyor)

Right now you probably have the Visual Studio 2017 project files, you should be able to build the solution.

Alright @davidebeatrici . So I opened Visual Studio 2017, clicked Open -> Cmake and pointed it at the repository's CMakeList file. This works just fine. I then go to the toolbar and select vpnclient.exe and try to run it in debug mode. My build console spits out the same thing 100 times before stopping and giving an error of manifest 'build.ninja' still dirty after 100 tries.
The repeated entry in the Output terminal is this:
>------ Build started: Project: CMakeLists, Configuration: Debug ------
<trimmed by 99 entries>
[0/1] "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -HC:\Users\Fox\Documents\SoftEtherVPN -B"C:\Users\Fox\CMakeBuilds\2d0f08d5-ea76-6d3e-87bf-237c6568fd6e\build\x64-Debug (default)"
  -- Build date: 29/10/2018
  -- Build time: 17:11:57
  CMake Warning (dev) at src/Mayaqua/3rdparty/zlib/CMakeLists.txt:4 (project):
    Policy CMP0048 is not set: project() command manages VERSION variables.
    Run "cmake --help-policy CMP0048" for policy details.  Use the cmake_policy
    command to set the policy and suppress this warning.

    The following variable(s) would be set to empty:

      PROJECT_VERSION
      PROJECT_VERSION_MAJOR
      PROJECT_VERSION_MINOR
      PROJECT_VERSION_PATCH
  This warning is for project developers.  Use -Wno-dev to suppress it.

  -- Configuring done
  -- Generating done
  -- Build files have been written to: C:/Users/Fox/CMakeBuilds/2d0f08d5-ea76-6d3e-87bf-237c6568fd6e/build/x64-Debug (default)

After removing the build and tmp directories it still has the same behavior, including when VS is restarted.

@BlackHoleFox , new guide regarding CMake on windows will be really nice

@chipitsine Very much so. Just need to resolve these build errors and take notes for later.

@BlackHoleFox I can't reproduce the issue.
Try to delete the CMakeBuilds directory inside your user's directory, it contains the CMake cache.

@davidebeatrici Once I actually grabbed the MFC C++ class support, this has fixed the issue. Visual Studio now seems to build everything fine, and the debug .exe's generated work as expected.

Not sure if this is supposed to happen right now, but the vpnclient.exe will install the service, but cannot start it, even when trying a seperate /start command.

If thats the case, how do you test to see if new GUI elements and stuff like that worked as intended?

I see that you're using Cmder, which makes it easier:

Execute vpntest c in a tab opened as administrator (in order to access the virtual network adapter).
Open a new tab and execute vpntest cm in order to run VPN Client Manager.

It's only required to build the drivers: https://docs.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk

Well, Visual Studio 2017 has that ATL/MFC support, you just need to specify that you want it. When I get a bit of time after work i'll add some stuff to info regarding CMake on Windows. I'm also going to make a GitHub Wiki entry that has a more step by step guide for setting up all the needed toolings for Windows Development.

Excellent, thank you very much!

@davidebeatrici So after trying to run the full installer builder, the error persists from previously. I got the numbers you requested though
versionMajor: 5
versionMinor: 1
versionBuild: 9662

@krugdenis, can you have a look at windows event viewer?

Nice. Can you try to build and investigate more, I.e. adding debug info, break points, etc?

I've used BuildAll.cmd with VS2008SP1 and WDK, builded installer (softether_open-vpnclient-v5.01-9662-unstable-2018.11.06-windows-x86_x64-intel.exe) crasches after license agreement too

@krugdenis , it is great
can you add some debug info to you build and find a place where it crashes ?

@krugdenis
I could not reproduce installer crash.
would be nice if you could investigate it in depth

@chipitsine don't know why, I've tried installing on two different laptops, Windows x64 1809 and Windows x86 1809, both are crashing after license agreement :( I don't know how to catch a bug

Better step then im at, mine still crashes when trying to build the installer.

@BlackHoleFox it crashes after making 2 installers, softether_open-vpnclient-v5.01-9662-unstable-2018.11.06-windows-x86_x64-intel.exe and softether_open-vpnserver_vpnbridge-v5.01-9662-unstable-2018.11.06-windows-x86_x64-intel.exe

@krugdenis
according to windows event viewer log (provided by you), it crashes when executing certain command.
can you try to run such command from command line (i.e. taking all neccessary files from fresh build)
if it still crashes, you can add debug messages to various points of vpninstall.exe

@krugdenis
а можете включить сохранение WER-отчетов ?
https://docs.microsoft.com/en-us/windows/desktop/wer/collecting-user-mode-dumps
пара ключей в реестре.
и потом каким-то образом передать нам сохраненный дамп

@solipse @krugdenis Which version of Windows 10 are you running?
I can't reproduce the issue on build 1607 and 1809.

@davidebeatrici  Win 10 x86 1809 and Win 7 SP1 x86

I couldn't reproduce the issue on a fresh installation of Windows 7 x86 Service Pack 1.
Which version of Windows 7 and Windows 10 do you have (Home, Pro, ...)?

I couldn't reproduce the issue on a fresh installation of Windows 7 x86 Service Pack 1.
Which version of Windows 7 and Windows 10 do you have (Home, Pro, ...)?

Windows 10 1809 17763 X86\X64 (RU), I've downloaded softether-vpnclient-v5.01-9663-2018.11.07-windows-x86_x64-intel.exe and softether-vpnserver_vpnbridge-v5.01-9663-2018.11.07-windows-x86_x64-intel.exe from releases, after checking "I agree to license ..." and pressing "Next" installation just crashing, without any visible error.

@chipitsine
softether-vpnserver_vpnbridge-v5.01-9663-2018.11.07-windows-x86_x64-intel.exe
Windows 10 Home x86 1809 11767.107
Mini dump https://yadi.sk/d/Q9r0T81r62JbTA

@solipse
when I import your dump to WinDbg.exe (you can try it yourself)
and run !analyze –v
I get

looks much like null pointer dereference, but we do not provide pdb with releases.
@davidebeatrici , what do you think, should we add pdb as well ?

@chipitsine Definitely, we should provide all .pdb files in an archive.

Pull request: #811

@solipse , can you reproduce crash using this installer https://ci.appveyor.com/project/SoftEtherVPN/softethervpn/builds/20381447/job/j7vdnupi9c5t7w79/artifacts ?
it is better, beacuse we have PDB and WinDbg will show us full stack trace
can you provide dmp ?

I was able to use pdb with provided dmp

stay tuned, I'll provide PR

@chipitsine
Windows 10 Home x86 1809 17763.134
softether-vpnserver_vpnbridge-v5.01-9665-2018.11.28-windows-x86_x64-intel.exe
Dump https://yadi.sk/d/3dc3HDuyDS3UoA

Thanks, will have a look soon

you've got NULL here
https://github.com/SoftEtherVPN/SoftEtherVPN/blob/master/src/Cedar/SW.c#L5178
@davidebeatrici , have a look

@solipse , I created quick and dirty fix for your issue
https://github.com/chipitsine/SoftEtherVPN/commit/f985a50f310766e1a1fdce435e521b3c1bb0c1e3
here's test installer, please try:
https://ci.appveyor.com/project/chipitsine/softethervpn/builds/20624946/job/jlmcjgq9jl9xfynq/artifacts

@davidebeatrici, installer works, server manager runs and works fine, tested it only
Thanks

ok, I'll try to add better handling of missing "warning_XXX.txt" files

https://github.com/SoftEtherVPN/SoftEtherVPN/blob/bf0d5c551e720e6e47a8e09cea27f16809c78699/src/Cedar/SW.c#L5177-L5184
ReadDump() returns NULL because warning_ru.txt is not found, SeekBuf() and WriteBuf() check whether the passed buffer is NULL, but at line 5184 we try to access the raw buffer in the non-existent buffer, causing a crash.
The ideal fix would be to check whether ReadDump() returns NULL. If it does we should try to read warning_en.txt and, if that file is missing too, we should exit with an alert window.

there're other issues with those warning files.
accidently we broken CRLF there (I noticed when I added warning_ru.txt)
since nobody reported that, maybe it is time to drop those files )) ? or to ignore if they are missing ... or add check like one we already have for "stb" files

SeekBuf on NULL, yeah, it was great

resolved in https://github.com/SoftEtherVPN/SoftEtherVPN/pull/826

@davidebeatrici Sorry to drag a dead issue up again, didn't want to open a new one for it. It's the same issue I have been having for months now where the full build of SoftEtherVPN crashes for me during the final BuildUtil.exe steps. Would you mind taking another look if possible?
Executing 'X:\SoftEtherVPN\SoftEtherVPN\src\bin\BuildUtil.exe /CMD:ReleaseWin32 all /IGNOREERROR:no /SERIAL:no'...
BuildUtil command - VPN Build Utility

Copyright (c) SoftEther VPN Project. All Rights Reserved.

ReleaseWin32 command - Builds Win32 installer package files.
1 / 2: Executing for 'softether_open-vpnserver_vpnbridge-windows-x86_x64-intel'...
2 / 2: Executing for 'softether_open-vpnclient-windows-x86_x64-intel'...
Waiting child processes...
1 / 2 (softether_open-vpnserver_vpnbridge-windows-x86_x64-intel):
       * Error *
2 / 2 (softether_open-vpnclient-windows-x86_x64-intel):
       * Error *

System.ApplicationException: 2 Errors.
   at BuildUtil.BuildUtilCommands.ReleaseWin32(ConsoleService c, String cmdName, String str)

BuildUtil: fatal error C0001: 2 Errors.
System.ApplicationException: Child process 'X:\SoftEtherVPN\SoftEtherVPN\src\bin\BuildUtil.exe' returned error code 1.
   at BuildUtil.Win32BuildUtil.ExecCommand(String exe, String arg, Boolean shell_execute)
   at BuildUtil.Win32BuildUtil.ExecCommand(String exe, String arg)
   at BuildUtil.BuildUtilCommands.All(ConsoleService c, String cmdName, String str)

BuildUtil: fatal error C0001: Child process 'X:\SoftEtherVPN\SoftEtherVPN\src\bin\BuildUtil.exe' returned error code 1.

X:\SoftEtherVPN\SoftEtherVPN\src\bin>if errorlevel 1 exit /b 1```


More command flags

The legacy CommandFlag enum is still kept (oops I forgot to deprecate it)

Thanks for your contribution

wow. It's nice to be grateful for yourself.


[Bug]: Input type "number" not supported with Zod (client-side validation failure)

Which packages are impacted?

[X] @rvf/react
[ ] @rvf/react-router
[X] @rvf/zod
[ ] @rvf/yup
[ ] zod-form-data

What version of these packages are you using?
"@rvf/react": "^7.0.1",
"@rvf/zod": "^7.0.1",
"zod": "^3.24.1",

Please provide a link to a minimal reproduction of the issue.
https://google.com/?q=in issue
Steps to Reproduce the Bug or Issue
Create a numeric field and use input type number:
import { z } from 'zod';
import { withZod } from "@rvf/zod";
import { useForm, useField, useFieldArray } from "@rvf/react";

const schema = z.object({
	num: z.number().min(0).step(0.5)
})

export default function testPage() {
	const zForm = useForm({
		validator: withZod(schema),
		defaultValues: { num: 0 }
	});
	const numField = useField(zForm.scope('num'));

	return (
		<>
			<form {...zForm.getFormProps()}>
				<input {...numField.getInputProps()} type="number" placeholder="test" />
				{numField.error() && (
					<p className="text-sm text-destructive mt-1 font-bold">
						{numField.error()}
					</p>
				)}
			</form>
		</>
	);
}

Expected behavior
Pass numeric type to Zod for proper validation
Screenshots or Videos
No response
Platform
all
Additional context
Probably same issue as https://github.com/react-hook-form/resolvers/issues/73
need to usevalueAsNumber when validating a z.number typed field

As a workaround, you can corerce the schema to do the conversion itself via:
const schema = z.object({
	num: z.coerce.number().min(0).step(0.5)
})

I just feel like if number is supported, it should just be supported out-of-the-box, so I don't need to do
schema.extend({ field: z.corece"copy-pasta-definition" }) on each such field

Hi! By default, validation is done against the FormData pulled directly out of the native form element. FormData only supports strings or arrays of strings, so that's what gets passed into the validator (docs).
If you want a more react-hook-form like experience, you can pass submitSource: "state" to the useForm hook (state mode docs). Then the data passed to the validator should be an actual number. For that to work properly, though, you also need to pass the type prop through getInputProps itself like this getInputProps({ type: "number" }) (docs).
If this still doesn't work, please feel free to re-open the issue with a reproduction. 😄


Fix key name in aliased invokable migration doc

Since the migration document has been changed; this looks to be no longer applicable.


Update swagger-jsdoc to a different package or open a PR on it to support swagger 2.0

You are using properties to be deprecated in v2.0.0
Please update to align with the swagger v2.0 spec.
[ 'definition' ]

swagger-jsdoc is already using Swagger 2.0, and there is an open issue for this warning message.
See this: https://github.com/Surnet/swagger-jsdoc/issues/41


Clarification on usage

Hey there,
I am running into issues running the actual command. Two things occur when I run the command:

I get the error time data '2016-05-17T07:07:35' does not match format '%Y-%m-%dT%H:%M:%S.%f'
I just get a return value of "Event" on the command line and nothing executes.

Can you please clarify on how to use the command? I'm a little confused on the config file.
Thanks!

Hi,

When I test with the option --timestamp 2016-05-17T07:07:35, I can't reproduce the error.
Can you test with more verbosity (-vvv) and with the --dry-run switch (no write to MISP, only prints downloaded Pulses):

$ otx-misp -o <otx-key> -s https://misp.example.com/ -m <misp-api-key> --timestamp 2016-05-17T07:07:35 --dry-run -w -vvv

Note: the -w switch without config file prints the resulting INI file to stdout at the end of the execution.
Sorry for the unclear documentation.

This worked and showed me all my pulses, now do I just remove the --dry-run in order to import it into MISP, or do I need to add to the command, excluding the optional fields?

You can remove the --dry-run  to create the MISP events.
If you don't use the --no-tlp switch, the MISP user should have the 'Tagger' permission.

When I tired running this, this is what occurs:
`# otx-misp -o  -s http:/// -m  --timestamp 2016-05-17T07:07:35 -w -vvv
Connection to MISP instance: http://<my URL/
SSH bruteforce logs 2016-06-21 - 2016-06-22
 - Adding tag: tlp:green

Event`
Then nothing happens after that, any ideas? I'm new to MISP so this might be an error within the application itself

Could you test again with the --not-tlp switch?
What is the role of your MISP user?

My MISP user role is Org Admin

Can you see errors in MISP (Audit => List logs)?

Nope there is no errors within MISP

Can you install and try the branch issue_3 with the -vvv option?

Old issue


How can retrive the geocode by coordinate?!

I want to place a marker in the center of the map, and retrive the geocode on map move while the marker keep the same coordinate, how to do it?
The problem is I don't know how to retrive the geocode by the coordinates.

That is a feature outside of Leaflet's scope. See the plugins, or ask in Stack Overflow or
GIS Stack Exchange.


[Terraform] Add MariaDB private link support in USGov

https://learn.microsoft.com/en-us/azure/private-link/private-endpoint-dns

Hi @xpillons, this fix will update the MariaDB PrivateLink to use the Gov endpoint?  It appears to be hardcoded to commercial at the moment.


Simpler config management; + buildLocation; document config;

The main change here is adding a mup.js configuration option to specify the build location.
Other changes are cosmetic (typos, passing buildOptions around instead of buildLocation and buildOptions) or documentation.

@madushan1000 any chance for getting these changes. May be we need to cherry-pick this.

@arunoda @madushan1000 I rebased this PR.


Multiple calls to pack?

Is it possible to allow multiple calls to wasi-vfs pack? We'd like to add some files to a wasm module as a "standard library", but then add other directories later on with subsequent calls. It appears as though if you do that now, you only get the result of the final call.

I think you are mapping the same directory twice. See https://github.com/kateinoigakukun/wasi-vfs/tree/main/tests/run-make/pack-twice for the multiple call example.

Hmm, I'm not having any luck with this. If I run the following, it works as expected:
# Add standard library modules
wasi-vfs pack udf-quickjs.wasm --mapdir "/app::./app" --mapdir "/lib::./lib" --output udf-quickjs.wasm

However, if I split it into two commands, I only get the first one:
# Add standard library modules
wasi-vfs pack udf-quickjs.wasm --mapdir "/lib::./lib" --output udf-quickjs.wasm

# Add customer code modules
wasi-vfs pack udf-quickjs.wasm --mapdir "/app::./app" --output udf-quickjs.wasm

Wait a second, things just got weird. If I reverse the order of the pack commands so that /app is first and /lib is second, it does work...


[11.x] Add a new method "whereNullOr" to the Query Builder

Hello guys 👋
Introduction
The method simplifies whereNullOr (and orWhereNullOr) the process of adding a "where" clause that checks if a column is null or satisfies a given condition. This enhancement aims to improve code readability and maintainability when dealing with such common query patterns
Motivation
I often write queries to check if a column is either null or meets a certain condition. Currently, this requires a nested closure with a where clause and sometimes using "use", which can be verbose and repetitive:
->where(function ($query) use ($id) {
    $query
        ->whereNull('category_id')
        ->orWhere('category_id', '=', $id);
})

With the introduction of the whereOrIsNull method, this can be simplified to:
->whereNullOr('column_name', '=', $id)

I think there should be another name for it, maybe whereOrNull or something else 🤔. So if you have a better one, it'll be great
And also, if you see it useful, I can add similar methods to others like whereIn, whereDate, etc.
Thanks,
Alex 🐾

Would the following not work?
->whereIn('column_name', [$id, null])

In MySQL, it doesn't :(

Borrowing method names from migration, how about whereNullable()?

Won't it be confusing? It seems like whereNull or another condition at all to check if a column is nullable (?)
For me, atm, whereOrNull is the best suitable name and it can be applied to another methods (whereIn, whereDate, etc)
And a list of the rest names:

whereNullOr (current name)
whereNullOrValue

Hmm, I think the idea isn't terrible but worry about the onslaught of PRs like whereNullOrBetween, etc. for every possible where type.

I agree, adding one method by one PR doesn't make sense
@taylorotwell Is it worth to add to every where type and send it in one PR? If you agree, I'll do it


[HxGrid] OnDataItemClicked

Handling the OnClick event on grid items (rows) is crucial for features such as this task on Goran - when we want to for example edit a grid item in an offcanvas or anywhere outside the grid, we need a way to find out if an item has been clicked.

Covered by SelectedItem


Retry leaving of room in TestRestrictedRoomsRemoteJoinFailOverInMSC3787Room

This is necessary to deal with the 429s introduced in https://github.com/matrix-org/synapse/pull/13100 returned when hitting a race.
Described by https://github.com/matrix-org/synapse/issues/13173.

Closing. This is >1 year old and still a draft. Please open a new PR if you want this to be reviewed.


Solve N+1 issue for remote relationships to connector

When a remote relationship to this connector the classic N+1 issue arrises where N queries need to be performed for N records in a relationship.
For example if you distributed the chinook dataset across two postgres instances with one fronted by the PG connector and one fronted by a HasuraV2 instance and the GraphQL connector:

Subgraph 1

PG

Albums

PG Connector

Subgraph 2

PG

Artists

HasuraV2
GraphQL Connector

Then querying across the relationship like so, if there were 100 albums:
query {
    sg1_albums {
        title
        artist {
            name
        }
    }
}

would query the graphQL connector 100 times.
The solution to this issue for other connectors has been to implement the ForEach capability which then allows a query against the full set of records in the relationship at once, deferring the choice of what to do to the connector.
The current implementation of the GraphQL Connector does not support the ForEach capability and associated variables. However we can't simply add this and implement an optimised query because unlike SQL databases, upstream GraphQL schemas don't share singular and plural records behind the same interface (tables), and don't indicate relationships involved between fields.
In this example, imagine that the NDC query was sent to the connector:
{
    "query": {
         ... "table": "artist",
         ... "fields": ["name"]
    },
    "variables": [{
        "artist_id": 1,
        ...
    }]
}

We would hope that the upstream query would be something like:
query {
    artists(where: {artist_id: {in: [1,...]}}) {
        artist_id,
        name
    }
}

but how does the connector know that artists corresponds to artist and that the artist_id variable set should be put into the where: {artist_id: {in: filter.
In addition to this, once the query is performed it has to be decomposed into a resultset rather than just forward the results of the naive query.
So,

The core issue is how to represent the relationships between fields and variables.
A secondary issue is where to perform the translation logic.

There are many options for this, however my preference is:

We should ideally be able to encode these relationships in the graphQL schema directly with directives
This can then be extracted for use in queries, however it can also be added in the connector config independently of the schema
The translation and decomposition logic should be put into the engine so that it can be reused across other connectors without each connector having to implement it
Connectors can deliver this information to the engine via the NDC schema
If the engine implementation isn't feasible the it can be implemented via ForEach in the GraphQL connector to solve the immediate issue and act as a proof of concept

See Also

https://the-guild.dev/graphql/mesh/docs/guides/batching

Compromise proposal:
We implement the foreach capability for queries.
We generate queries that look like this:
query (n1_where: table_bool_expr, n2_where: table_bool_expr) {
  n1: table(where: $n1_where) { foo bar }
  n2: table(where: $n2_where) { foo bar }
}

Where each variable set gets a root field.
This reduces network calls from engine -> connector and connector -> underlying GraphQL server from N to 1.
The underlying GraphQL server is free to optimize from there, although most (including HGE v2) probably won't besides parallelizing execution.
I believe this is how v2 works for remote schemas.

The above proposal is admittedly a compromise, but GraphQL is poorly suited to solve this issue. V2 hasura does expose an api with collections where you could build giant where clauses and then split up the results, but that means we would have to

compose the where clause (easy, but v2 hasura specific)
split up the result, for which we would need to
be able to evaluate the where clauses, to split the results, for which we would need to
request all the fields needed by the where clause

This doesn't get into the specifics of relationships and other issues.
To me this feels like a lot of added complexity for minimal benefit, plus the added cost of making the entire thing more brittle.
IMHO we should favor a robust compromise solution. Not perfect but good enough.

@sordina I'm not sure I understand the proposal. But I'll dive in anyway.
If, by custom directive, you mean to require the remote GraphQL schema to provide details on the remote relationship capability, then I think that's not a strong idea. Adding constraints or requirements on the remote GraphQL endpoint would reduce adoption. (Ignore if I misunderstood the proposal.) In addition, It might be better to make it a more general solution that could work across REST/OpenAPI, GraphQL, gRPC, etc.
Adding the details in the connector config (which defines the pattern for the in: style predicate or an equivalent API endpoint) seems like a better answer, which you could then adapt to any API style.


Support for integration tests

Related to both #199 and #674, we are trying to automate the PayPal sandbox purchase process to ensure that we're not breaking our integration. It appears as though there are roughly four different login pages at the moment that can be presented to the user at the moment which makes testing difficult.
So the PayPal purchase process can be included as part of our integration tests, could you please consider:

Supplying a way to force a particular login form style (sandbox only is fine), or
Writing some documentation that includes the markup on the pages so we can write xpath/css queries to access the input elements via selenium

Yes, please, allow sandbox users to specify a login form style.

Closing this issue as it's not specific to the checkout.js integration script, and unfortunately we can't offer guarantees of html selectors staying exactly the same over time.

I completely understand that html selectors must evolve following the progress of the PayPal production environment. However, it would be really nice if you keep somewhere information about what is changing so adapting the tests to the new version may be much more easy for us, users of the sandbox.


Client-side suggested defaults

Copied from https://github.com/Azure/typespec-azure-pr/issues/800
Per azure/typespec-azure-pr#728 We have a mechanism for providing service-side defaults, but need a mechanism that allows simplifying the client-side SDK by providing a suggested default value for required properties.  This allows client SDKs to simplify an API, or prevent an SDK breaking change when there is a REST API breaking change making a formerly optional property required.
One proposal is to use a decorator @suggestedValue  in cadl core that provides the value hint:
model SomeModel {
  @suggestedValue("Value that client SDKs may supply by default if they make this property optional") requiredThing: string;
}

Usages
Simple scalars
model Widget {
  @suggestedValue(1)
  count: int
}

Suggested client SKU
enum AccountType { Free, Basic, Advanced}
model WidgetAccount {
  @suggestedValue(AccountType.Basic) // AcountType.Basic::value??
  type: AccountType;
}

Default object or collection
model FirewallRule
{
   action: string;
   port: string;
   ipRange?: string;
}

model DefaultRule extends FirewallRule {
  action: "Deny";
  port: "*"
}

model AllowHttps extends FirewallRule {
  action: "Allow";
  port: 443;
}

model MyHttpsConnectedWidget {
  @suggestedValue([DefaultRule, AllowHttps])
  firewallRule: FirewallRule[];
  ...
}

As this applies to model properties, it would analogously apply to parameters
Questions / Considerations

checking will be a bit tricky - ideally, the decorator would enforce that the provided type is assignable to the decorated property type and that it consists entirely of defined literals (StringLiteral instead of string, for example)
Are we missing any scenarios using a decorator
If a decorator, what library does this decorator belong in?

What would be the difference with a client-side default? @johanste is against them because their roundtripability isn't good


timer: xtensa_sys_timer: Tickless Kernel Implementation for Xtensa

Implement Tickless Kernel support for Xtensa Architecture.
Signed-off-by: Youvedeep Singh<EMAIL_ADDRESS>

My feeling is that the tickles was rewritten. Why is that? The driver used to work for both tickles and non tickles modes. Why now do we have two codes?

Hi @mazen-neifer
TICKLESS_KERNEL we have rewritten for following reasons : -

In timer for other Architectures (like nordic RTC (nrf), sys_tick(ARM), local APIC(x86) ,  same approach is used and Other portion of code will make use of certain functions which are created for TICKLESS_KERNEL.

Having separate implementation for TICKLESS will ensure that it does not come in conflict with existing TICK based approach.

Addressed review comments from @andrewboie @lpereira @rgundi .


Notification pop-up buttons obscure extension Source name

Type: Bug
When a notification pop-up shows at the bottom right, the buttons on its bottom side can obscure the name of the extension having the problem. Like "Source: Mi..." obscured by buttons "Remind me Later", "Don't show again", "Disable Extension".

Sure I can click the gear icon then Manage Extension to see which extension it's about, but what makes more sense is to just push the buttons over to wrap them onto the next line responsively.
 I would rather stay away from shrinking buttons that actually perform an operation.

@vs-code-engineering
Why would the buttons be expected to obscure the name of the extension? Obfuscation of crucial information should not be desired behavior. I don't understand this.
Also, if I got 5 notifications like this pop up and all of their buttons obscure their extension, or show them ambiguously, causing me to click the gear icon and Manage each time, that's an aggravation or inconvenience. Obscuring necessary info or adding unnecessary steps is poor UX and counter to responsive user-friendly design.
I already explained what should happen:

what makes more sense is to just push the buttons over to wrap them onto the next line responsively.

So the bot doesn't understand what was said, or why the issue described matters.
Why would anyone want the extension name obscured on these pop-ups? Why not just make it responsive? How costly is an extra line just to show both the extension name and buttons easily at a glance?
@bpasero

Hovering should also reveal the source. I would rather stay away from shrinking buttons that actually perform an operation.

I wasn't aware that hovering shows the name. Is that even intuitive? Obviously not because here we are. I'm not seeing how to even validate that now because the notifications are gone.

I would rather stay away from shrinking buttons that actually perform an operation.

I didn't suggest shrinking buttons as a solution... I suggested "just push the buttons over to wrap them onto the next line responsively", which was skimmed over by two respondents. Wow.


Fixes API error when creating project variable with nil Protected field

When creating a project-level variable (aka build variable), the protected attribute is optional. However, the code does not specify the omitempty tag for this property which causes a 500 error if the property is nil (not set).

Nice catch 👍  Thx!


Incorporate new datatype field and SKOS mappings into termlist generation script

Dependency on #388. Could also include new date_added and term_status fields (#394)?

From 6 October working group call

Create a separate csv file with the term iri and the data type (int, string, boolean, array etc.)
Don’t have a template yet.
Controlled vocab for the datatypes still has to go to the TAG for review ratification etc.
Draft is here: https://data.naturalsciences.org/docs/0.1/specifications/data-types
Difference between a format and a type
Array properties need to be plural

SKOS mapping: exact match is a subtype of close match; it is transitive, while close match isn’t; mapping needs exact match
Add uri to the SKOS csv

Datatypes and SKOS are NOT normative at this stage

Datatypes have been split out for properties (https://github.com/tdwg/cd/blob/review/standard/terms/ltc_datatypes.csv) and removed from the termlist file. I won't close this issue because there are a few other tasks rolled up into it.

All pending items have been resolved and integrated into the documentation workflow.


How do I reintegrate vcpkg with an existing VS2019 solution?

I am using Visual Studio 2019 on Windows 10 21H1.
I had to delete my local copy of a repository for a C++ project I'm working on that uses glfw3, imgui, glad, glm, among some other libraries, which were downloaded, configured and linked using vcpkg. I still have vcpkg integrated and all libraries are currently installed user-wide. Since I deleted the local copy, I cloned the repo again and opened the solution with Visual Studio.
However, all #includes for headers from these libraries are giving me errors like cannot open source file "glm/glm.hpp", which suggests vcpkg isn't working on this project. If I run vcpkg install glm, for example, I get a message like Package glm:x86-windows is already installed.
How do I trigger vcpkg to find and link the libraries into the project, given that they're already installed and should be ready to go, as they were before I deleted the previous local repository? The documentation (from the vcpkg repository's README.md) seems to suggest that the way to do it would be to run vcpkg integrate install in the repository's root folder. But I've done it with and without administrator privileges, and have tried restarting VS2019 and rebooting my PC after running that command, unfortunately without satisfactory results.
I hope I was able to clearly describe the issue, but please ask for further details if needed.

Particularly, I guess, in this documentation page, in Step 2: Use, it says (after instructing the user to run vcpkg integrate install):

You can now simply use File -> New Project in Visual Studio and the library will be automatically available.

But how do I activate vcpkg integration for a project that already exists? I suppose my issue boils down to this.

Oh, yes, I am using an MSBuild project, not a CMake one.

Aha! So I figured out what to do from this answer to another issue.

I simply had to switch the project's platform in the configuration manager to Win32. I welcome anyone to detail why this works, but it did work for me, lol.
I'll leave the issue open for others to comment, but let me know if I should close it.

@lalilulelost, the answer from https://github.com/Microsoft/vcpkg/issues/4402#issuecomment-426987631 is a right solution for this issue, you need to keep same bit for installed port and your project, eg, x86-windows -> x86|win32 configuration, x64-windows ->x64 configuration. Since the issue has been resolved, closing it now.


Feature Request: Detailed logs for validator performance

Teku logs only show beaconchain events and do not show validator events. En enhanced log and interface similar to Nimbus could be helpful for validators troubleshooting their setup.
Teku CLI UI:

Nimbus CLI UI:

We do have a flag to enable more verbose validator-related logging: --log-include-validator-duties-enabled.  This enables logging for attestation, aggregation and block production.


How to handle modifications to the environment variables?

Commands inherit the parent's environment variables by default.  Right now we check the size of the environment when you create a Command, but it can be modified in the meantime:
    #[test]
    fn test_env() {
        let mut cmd = Command::new("/bin/echo");

        // Add as many arguments as possible
        while cmd.try_arg("foo").is_ok() {}

        for i in 0..1024 {
            std::env::set_var(format!("VAR{i}"), "VALUE");
        }

        assert!(cmd.status().unwrap().success());
    }

test tests::test_env ... FAILED

failures:

---- tests::test_env stdout ----
thread 'tests::test_env' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 7, kind: ArgumentListTooLong, message: "Argument list too long" }', src/lib.rs:204:30

We can document that std::env::set_var() invalidates the calculations I guess.  But we'll still have to think about this to implement try_env() if we want it.

Thank you for bringing this up.
I guess there are several ways to solve this.

We could just document it for now
We could document it and add an additional check. As you suggested, we determine the size of the environment upon construction of the argmax::Command (via size_of_environment) and store it internally. When spawn/output/… are used to actually run the command, we make sure that the current size of the environment is still the same. If not, we either assert! or even panic! (since this is a misuse of the library) or return a proper io::Error (?).
We could store the entire (current) environment upon construction of the argmax::Command. Later on, when running the actual command, we could run self.inner.env_clear() and self.inner.envs(self.stored_envs). This way, there is no risk of external modification. But we would have to document the changed behavior with respect to std::Command.

I think the last approach would also allow us to implement try_env(). Are there any downsides to this?

I like the third option.  The only disadvantage is it makes it slightly incompatible with std::process::Command.

For command-limits I have a new_capture_env constructor so the caller can decide if they want to pay the overhead of copying the environment or not.  If they don't do that and modify the global environment anyway, shrug.
I'm not going to make everyone pay the cost of double-checking or double-storing just on the off chance someone overflows the reserved space with new env data.  Just let the OS complain if it's too long.


Add exceptions into init.py

Addresses Issue #3022.
Also added the JetBrains IDE settings folder, .idea/, to .gitignore.

I'm going to leave this up to @kennethreitz. As you stated in #3022, this is totally unnecessary, but neither is it a maintenance burden, so I have no objection to it. Thanks for your contribution! :cake:

We already have all the exceptions available in the public API:
from .exceptions import (
    RequestException, Timeout, URLRequired,
    TooManyRedirects, HTTPError, ConnectionError,
    FileModeWarning,
)

I'm with @kennethreitz this isn't necessary. Because of the line @kennethreitz is citing, users can already just do
import requests

try:
    r = requests.get(url)
except requests.ConnectionError:
    pass

# or

try:
   requests.get(url)
except requests.exceptions.ConnectionError:
   pass

Both work perfectly fine. Beyond that, we don't need a gitignore line for PyCharm/idea projects because that should already be in your global gitignore.

@kennethreitz Thanks, I was wondering about that line. Two questions:

That import makes them available as requests.RequestException. It's a subtle difference, but this doc page instructs users to include them as requests.exceptions.RequestException. Which one is the preferred or supported method?

If we want to include both, we could specify both in __init__.py.
If requests.RequestException is preferred (which I like), perhaps we should update the docs.

It looks like ConnectTimeout is missing from the list. Should it be added?

@sigmavirus24 Thanks for the global gitignore tip! I hadn't heard about that.

@jtpereyda it's a subtle but unimportant difference. Try this in an interactive session:
>>> import requests
>>> try:
...     requests.get('http://localhost:8080')
... except requests.ConnectionError:
...     pass
...
>>> try:
...     requests.get('http://localhost:8080')
... except requests.exceptions.ConnectionError:
...     pass
...
>>>

Both already work perfectly fine. You can use either one or both interchangeably. If ConnectTimeout is missing, that should be added to the list of exceptions imported. But like I said, as it is now, we do not need to change anything for requests.exceptions.RequestException to work. It will simply work.

@jtpereyda the "recommended" way is, in fact, requests.RequestException, as requests.exceptions is really just an internal namespacing.
That section of the docs are auto-generated from the codebase. I'd love to fix those examples if we can.

@jtpereyda fixed the docs! http://docs.python-requests.org/en/master/api/#exceptions

@kennethreitz Thanks!


[BugFix] make parquet reader compatible with hudi array<map<string, valuetype>>

What type of PR is this：

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

Which issues of this PR fixes ：

Fixes #18578
Problem Summary(Required) ：

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 target branch

[x] 3.0
[x] 2.5
[ ] 2.4
[ ] 2.3

run starrocks_admit_test

@Mergifyio backport branch-3.0

@Mergifyio backport branch-2.5


Move hard-coded defaults to default.conf

Yes, because so far there are either no defaults for the config options or they have not been moved to this file.
Putting them in both places means to places to maintain so I'd prefer just one of them, but we could keep the defaults here for now and then make a separate change to move all defaults to default.conf later.
Originally posted by @mnonnenmacher in https://github.com/oss-review-toolkit/ort/pull/3510#r561082591

Another option would be to have the defaults in the Kotlin code (configuration) and generate a 'default.conf' from it if that file is actually needed. This would ensure that ORT does actually have a reasonable default behavior without requiring the user to copy and paste the default configuration. Further it would be fully supported by the IDE including refactoring. Also constants defined in Kotlin code can be re-used. Also, for the user it might be simpler to revert parts of the configuration back to default, because its simpler to delete a line compared to finding the line in the default config and copy pasting it. Finally the user would remain up to date with default values automatically.
...just as an idea to consider

Another option would be to have the defaults in the Kotlin code (configuration) and generate a 'default.conf' from it if that file is actually needed. This would ensure that ORT does actually have a reasonable default behavior without requiring the user to copy and paste the default configuration. Further it would be fully supported by the IDE including refactoring. Also constants defined in Kotlin code can be re-used. Also, for the user it might be simpler to revert parts of the configuration back to default, because its simpler to delete a line compared to finding the line in the default config and copy pasting it. Finally the user would remain up to date with default values automatically.
...just as an idea to consider

As default.conf is part of the ORT binary and the file is automatically included as a configuration source when constructing the global OrtConfiguration, the values contained in this file are always available.
This approach is quite similar to the approach taken by the Lightbend Config library. In the section about defaults, they state that the API of the library does not support passing default values for missing configuration properties from application code. The philosophy is rather to have a reference configuration file (that corresponds to default.conf in our case) with defaults for all supported properties, and an application configuration (ort.conf), in which the user can override values that should be different from defaults.

As default.conf is part of the ORT binary and the file is automatically included as a configuration source when constructing the global OrtConfiguration, the values contained in this file are always available.
This approach is quite similar to the approach taken by the Lightbend Config library. In the section about defaults, they state that the API of the library does not support passing default values for missing configuration properties from application code. The philosophy is rather to have a reference configuration file (that corresponds to default.conf in our case) with defaults for all supported properties, and an application configuration (ort.conf), in which the user can override values that should be different from defaults.

While looking into this, I spotted a problem with the default value for the commandLineNonConfig property: It is defined as "--processes", max(1, Runtime.getRuntime().availableProcessors() - 1).toString(), so it contains a dynamic computation. How can we deal with this?
There are multiple options:

Place a hard-coded value for the number of processes into default.conf.
Do not place this property into default.conf, but have the value in Kotlin code.
Introduce a placeholder, which is evaluated when reading the configuration. (This is a bit messy because there is already a mechanism to resolve environment variables; unfortunately, there is no portable environment variable for the number of processors we could use.)
?

@sschuberth @fviernau @mnonnenmacher, what are your preferences?

While looking into this, I spotted a problem with the default value for the commandLineNonConfig property: It is defined as "--processes", max(1, Runtime.getRuntime().availableProcessors() - 1).toString(), so it contains a dynamic computation. How can we deal with this?
There are multiple options:

Place a hard-coded value for the number of processes into default.conf.
Do not place this property into default.conf, but have the value in Kotlin code.
Introduce a placeholder, which is evaluated when reading the configuration. (This is a bit messy because there is already a mechanism to resolve environment variables; unfortunately, there is no portable environment variable for the number of processors we could use.)
?

@sschuberth @fviernau @mnonnenmacher, what are your preferences?

I propose again to make the default values thing a Kotlin class and generate and autogenerate a yaml from it.

I propose again to make the default values thing a Kotlin class and generate and autogenerate a yaml from it.

I think I do not fully understand your proposal to auto-generate the default.conf, @fviernau. When and how should this generation happen? And when the default values are in the code anyway, what is the point of having another default.conf file?

I think I do not fully understand your proposal to auto-generate the default.conf, @fviernau. When and how should this generation happen? And when the default values are in the code anyway, what is the point of having another default.conf file?

And when the default values are in the code anyway, what is the point of having another default.conf file?

Probably this is a misunderstanding. I assumed that we do not want to put default values in both places: (1) kotlin code and (2) default.conf, but only exactly in one of the two.
My idea was basically to somewhere in Kotlin define a variable like
const val ORT_DEFAULT_CONFIG = OrtConfiguration(
   ...
)

Then we could either (1) have a command line command which creates a file containing the default configuration or (2) let ORT create that default configuration automatically if it does not exist.

what is the point of having another default.conf file?

I didn't mean to propose to have 2 default.conf files, but only zero.

And when the default values are in the code anyway, what is the point of having another default.conf file?

Probably this is a misunderstanding. I assumed that we do not want to put default values in both places: (1) kotlin code and (2) default.conf, but only exactly in one of the two.
My idea was basically to somewhere in Kotlin define a variable like
const val ORT_DEFAULT_CONFIG = OrtConfiguration(
   ...
)

Then we could either (1) have a command line command which creates a file containing the default configuration or (2) let ORT create that default configuration automatically if it does not exist.

what is the point of having another default.conf file?

I didn't mean to propose to have 2 default.conf files, but only zero.

I still don't get why a default.conf should be generated when the default values are already present in ORT. The file does not need to be present on the file system as it is never edited by the user. The user places custom configuration in the ort.conf file, but this configuration can be incomplete. For missing settings, the default values are taken into account; and these defaults could either be hard-coded in the ORT code or be placed in a default.conf file that is contained in the ORT binary.

I still don't get why a default.conf should be generated when the default values are already present in ORT. The file does not need to be present on the file system as it is never edited by the user. The user places custom configuration in the ort.conf file, but this configuration can be incomplete. For missing settings, the default values are taken into account; and these defaults could either be hard-coded in the ORT code or be placed in a default.conf file that is contained in the ORT binary.

Hm, I tried to argue about whether putting the default values into "default.conf" is a good idea.
In my opinion putting ALL default values into Kotlin code is superior to putting them into a "default.conf" file.
That's basically all (the whole topic I wanted to bring up).
Does this make sense now?

Hm, I tried to argue about whether putting the default values into "default.conf" is a good idea.
In my opinion putting ALL default values into Kotlin code is superior to putting them into a "default.conf" file.
That's basically all (the whole topic I wanted to bring up).
Does this make sense now?

Yes, okay. I was just confused because of the auto-generation part. Thanks.

Yes, okay. I was just confused because of the auto-generation part. Thanks.

@fviernau @mnonnenmacher @sschuberth: There is obviously no consensus how to deal with default values. How do we proceed with this ticket?

Over the weekend, I have started to experiment with Frank's proposal, but I forgot to push the branch from another machine. I'll refer to it from here for you guys to take a look.

Thanks @sschuberth !

Here's finally the result of my experiments, see https://github.com/oss-review-toolkit/ort/pull/3731.

@sschuberth could you please elaborate how you are going to solve this ticket with the changes introduced by #3731? After applying this PR, the ORT configuration contains default values, but they are empty. Is there a step to come which moves the hard-coded default values from the code to these default configuration objects?


[UI] Meshery docs terminal heading icons and copy button on mobile view move with horizontal scrolling

Current Behavior

Copy to clipboard button and bash heading text of terminal in meshery docs mobile view scrolls in horizontal scrolling
Desired Behavior

The buttons should be static.
Screenshots/Logs

Environment

Browser: Chrome Safari Firefox
Host OS: Mac Linux Windows
Meshery Server Version: stable-v
Meshery Client Version: stable-v
Platform: Docker Kubernetes

Contributor Guides and Handbook

🎨 Wireframes and designs for Meshery UI in Figma
🖥 Contributing to Meshery UI
🙋🏾🙋🏼 Questions: Discussion Forum and Community Slack

Hey @sourav-sharma7 can I work on this issue?

Hi @adarsh500 ,
All yours ,Thanks for volunteering. Fell free to reach out to me on slack if you need any help.

@adarsh500 Go Ahead!!

https://user-images.githubusercontent.com/73278151/184549614-4db010d5-0e0f-4bf3-a538-ce7d21e7c7f7.mov

I've implemented a neat solution for this, could you please take a look?

@adarsh500 Please open a PR for it


Implement Advanced Error Presentations

This Pull Request implements first measures to advance with #144.
The changes improve error presentation and readability for UIX users.
Common errors and possible solutions can be represented by throwing KnownErrors as defined in src/types/errors.ts.

We should consider that that might collide with "unhandledrejection" https://github.com/unyt-org/datex-core-js-legacy/blob/0e3224c02692cd9f10e84e6b4342e2aa9a146dc9/init.ts#L22

Indeed, this will definitely be problematic as the current implementation in this PR exits deno immediately whereas the unhandledrejection handler in datex-core-legacy initiates asynchronous work. We might want to somehow integrate / unify the solutions with each other.
Also, https://github.com/unyt-org/datex-core-js-legacy/blob/0e3224c02692cd9f10e84e6b4342e2aa9a146dc9/init.ts#L26 should not be executed when the UIX CLI encounters an error as it performs error presentation on its own.

They added a fix for the websocket exception in May (https://github.com/denoland/deno/pull/21849), not sure if there are any other promise rejections that cannot be handled, but I think we can remove the unhandledrejection handler for now.

I hooked up error reporting via sendReport() from datex-core-legacy. This will only work correctly, however, once unyt-org/datex-core-js-legacy#107 is implemented.


.trace_add resulting in error

When  using the following code I get an error despite not giving any arguments
from RangeSlider import RangeSliderH, RangeSliderV
from tkinter.ttk import *
import tkinter as tk
root = tk.Tk()
hLeft = tk.DoubleVar(value = 0.2)  #left handle variable initialised to value 0.2
hRight = tk.DoubleVar(value = 0.85)  #right handle variable initialised to value 0.85
hSlider = RangeSliderH( root , [hLeft, hRight], padX = 12, step_marker = True, step_size = 0.1)   #horizontal slider
hSlider.pack()   # or grid or place method could be used
vBottom = tk.DoubleVar(value = 0)   #bottom handle variable
vTop = tk.DoubleVar(value = 1)   #top handle variable
vSlider = RangeSliderV( root, [vBottom, vTop], padY = 12)    #vertical slider
vSlider.pack()  # or grid or place method could be used
def doSomething():
print ('I was called.')
hLeft.trace_add('write', doSomething) #
root.mainloop()
TypeError: doSomething() takes 0 positional arguments but 3 were given

I am sorry @jmaraquea for such a super late reply, got occupied in something personal, I hope you could manage your work meanwhile. The above is because callbacks in trace_add need to have three arguments. You can look at https://stackoverflow.com/questions/29690463/what-are-the-arguments-to-tkinter-variable-trace-method-callbacks or https://www.geeksforgeeks.org/tracing-tkinter-variables-in-python/ for better understanding.


(routing + tailwind fix) this should be merged into develop

Changelog:

[✓] Routing works now, syntax should hopefully be easier to read and work with
[✓] Tailwind CSS implemented and functional

Front-end to-do:

[ ] Styling and elements need more work
[ ] Login and Register components non-existent
[ ] Add our names onto the footer?

Back-end to do:

[ ] Require server functionality and connection
[ ] Authentication middleware for certain endpoints (eg. /profile)
[ ] CRUD operations should work

@Cbeattie97
@Tinaika19
@KateHanSta17
Hi all,
Routing and CSS seems functional now. Code should also hopefully be easier to work with.
We still need to build several components, but we'll have these base files for reference.


Alternative to all these "Install this program" requests

Hello Cytopia,
I've been looking at all these requests people have for new programs, and custom versions, etc...
What if you shipped a version of all the docker files with an alternative docker-compose file so they could use docker-compose's dockerfile building to run their own apt-get installs on top of your base images?
They would have to recompile those images when your base docker images updated, but would otherwise give them the flexibility for versions etc...without burdening more simpler setups with all the dependencies.

@science695 there is actually a leight-weight image available for all php versions. I haven't made it configurable yet, but could do so. You could replace work with prod and have a very small image to use.
docker-compose.yml:
index c9aa52b2..13d71b94 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -95,7 +95,7 @@ services:
   php:
-    image: devilbox/php-fpm:${PHP_SERVER}-work-0.101
+    image: devilbox/php-fpm:${PHP_SERVER}-prod-0.101
     hostname: php

Alternatively I could add another flavour named full based on work which holds all the custom requested tools. With this one still needs to figure out what kind of tools will go into work and what other tools will go into full


[Custom functions] (typo) Fix note format

Fixes https://github.com/OfficeDev/office-js-docs-pr/issues/2224.

Docs Build status updates of commit 8651cdf:
:clock10: Pending: waiting for processors (6 builds ahead of you)
:warning: Docs Build is busy, currently there are 6 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 8651cdf:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/custom-functions-runtime.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


README refers to non-existent file.

It is highly recommended to read deploy/claim.yaml to review available parameters and gain a better understanding of functionality and behavior.

I assume it's referring to deploy/class.yaml?

Yeah correct. If you’re just getting started please use this project: https://github.com/democratic-csi/charts
I haven’t fully documented it yet but the examples are pretty easy to follow/understand.
All non csi drivers are being phased out so this project is effectively in maintenance mode at this point.

I gotta be honest, I've got a FreeNAS home server, an ubuntu VM, and a tiny Django project, and I'm desperately lost in all of this.  I've gotten as far as installing microk8s on my dev machine, and then falling into 1000 docs.  While your link might not be being phased out, at least I can semi understand this from my complete beginner standpoint.

@Asday yeah, that's a lot to take in all at once for sure. Happy to help with this one or the other or just generally (been messing with k8s for several years at this point).

I think give it another weekend of looking at docs without writing a single line of YAML and I'll be ready to cry for help.  I surely do appreciate it.

Yeah NP. I know the feeling and had many people help me so just 'paying it forward' :)

I'm jumping on @Asday 's train here as an old sysadmin that just got aboard the k8s ship with a 5 x odroid n2 SBC cluster I'm setting up (for the 2nd time) which now finally shows what it hasn't previously:
NAME                              READY   STATUS    RESTARTS   AGE
pod/coredns-66bff467f8-rrvd9      1/1     Running   0          36m
pod/coredns-66bff467f8-snhlz      1/1     Running   0          36m
pod/etcd-o1                       1/1     Running   0          36m
pod/kube-apiserver-o1             1/1     Running   0          36m
pod/kube-controller-manager-o1    1/1     Running   0          36m
pod/kube-flannel-ds-arm64-8mhzb   1/1     Running   0          28m
pod/kube-flannel-ds-arm64-c7s69   1/1     Running   0          23m
pod/kube-flannel-ds-arm64-pf6pm   1/1     Running   0          23m
pod/kube-flannel-ds-arm64-qgznx   1/1     Running   0          24m
pod/kube-flannel-ds-arm64-wznbh   1/1     Running   0          23m
pod/kube-proxy-2p8qs              1/1     Running   0          24m
pod/kube-proxy-87vsr              1/1     Running   0          23m
pod/kube-proxy-df5nj              1/1     Running   0          23m
pod/kube-proxy-flnl8              1/1     Running   0          36m
pod/kube-proxy-mbr7p              1/1     Running   0          23m
pod/kube-scheduler-o1             1/1     Running   0          36m

NAME               TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)                  AGE
service/kube-dns   ClusterIP   <IP_ADDRESS>   <none>        53/UDP,53/TCP,9153/TCP   36m

NAME                                     DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR            AGE
daemonset.apps/kube-flannel-ds-amd64     0         0         0       0            0           <none>                   28m
daemonset.apps/kube-flannel-ds-arm       0         0         0       0            0           <none>                   28m
daemonset.apps/kube-flannel-ds-arm64     5         5         5       5            5           <none>                   28m
daemonset.apps/kube-flannel-ds-ppc64le   0         0         0       0            0           <none>                   28m
daemonset.apps/kube-flannel-ds-s390x     0         0         0       0            0           <none>                   28m
daemonset.apps/kube-proxy                5         5         5       5            5           kubernetes.io/os=linux   36m

NAME                      READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/coredns   2/2     2            2           36m

NAME                                 DESIRED   CURRENT   READY   AGE
replicaset.apps/coredns-66bff467f8   2         2         2       36m

Oh all those glorious "Running"s.
Now, I need me some PersistentStorage, and my lovely FreeNas is set up with NFS and all, but I can't get any of that juicy storage provisioned on the cluster.
Looking at the content of https://github.com/democratic-csi/democratic-csi - is this something I should clone and deploy manually with kubectl -f or is this something I should give to helm?
I've added democratic-csi/democratic-csi to helm, and can get this:
λ helm show all democratic-csi/democratic-csi

apiVersion: v1
appVersion: "1.0"
description: A Helm chart for Kubernetes
name: democratic-csi
(...)

Any pointers where to go from here? O:-)

@haakonstorm
This is related to @travisghansen's democratic-csi, I suggest you open an issue there.

@haakonstorm lol that was some good writing!  You could pretty easily build your own image of this project for arm and run it I suppose though.
Unfortunately all the scaffolding for csi isn't multi-arch yet:

https://github.com/kubernetes-csi/external-provisioner/issues/381
https://github.com/kubernetes-csi/external-attacher/pull/224
others

The csi driver itself is however built to be multi-arch at this point but not usable until everything else is as well.

Thanks for the quick reply! The FreeNAS has an NFS share; and I really just need a simple way to provide persistent storage for my cluster. Any quick tips from the top of your head just to provide that share for the cluster to use?

If that isn't viable, I'll look into compiling/building for arm64. I'm not familiar with the term csi apart from the crime series on TV, which isn't too shabby, but I'll go read some more bro-pages and see what comes up. Damn, k8s was harder than I thought. And on a totally unrelated note, the choice of arm64 is for the low-power reason, grab something to hold on to, because my unrelated project is getting my clustered powered by compressed air. I'll stop here.

LOL
If you're looking for really dirty you can literally mount the share(s) on the nodes using puppet/ansible/whatever (completely outside of k8s) and then use hostPath volumes.

https://kubernetes.io/docs/concepts/storage/volumes/#hostpath

Less dirty is to 'manually' create the volumes (both in reality on the FreeNAS device and in k8s) and then create PVCs to consume those:
apiVersion: v1
kind: PersistentVolume
metadata:
  labels:
    foo: bar
  name: fancy_name
spec:
  mountOptions:
  - noatime
  accessModes:
  - ReadWriteMany
  capacity:
    storage: 1Mi
  nfs:
    path: /some/nfs/path
    server: some_nfs_server
  persistentVolumeReclaimPolicy: Retain

# pvc snippet
  accessMode: ReadWriteMany
  size: 1Mi
  selector:
    matchLabels:
      foo: bar

Lastly you could attempt to use the nfs-client provisioner (there is a csi variant of this as well but again, no worky on arm)

https://github.com/kubernetes-incubator/external-storage/tree/master/nfs-client

If you you use that ^ all it does is literally create a new directory in a (presumably decently sized) share and all PVCs share the same...share. One downside is you won't get true volume sizes etc as all the PVCs/PVs will in reality be backed by a single share.

There is also a local volume provisioner available from k8s 1.14 onward for some specific use cases:
https://kubernetes.io/docs/concepts/storage/volumes/#local

@haakonstorm apparently there are some non official images for all the csi bits for arm and someone has the csi driver running on arm..
https://github.com/democratic-csi/charts/issues/5

Thanks for the quick reply! The FreeNAS has an NFS share; and I really just need a simple way to provide persistent storage for my cluster. Any quick tips from the top of your head just to provide that share for the cluster to use?

There's the Helm nfs-client-provisioner available at https://kubernetes-charts.storage.googleapis.com/


Types are optional.

If someone wants to use types to use trading-signals with big numbers, they need to add the types dependency themselves.

Thanks for your insights. I want to make it easy for people to use "trading-signals" and using it with Big.js is a core functionality. That's why I don't want to put the burden on third-party developers to install additional types themselves. They will get everything out of the box with "trading-signals". Types hardly take up any storage space and are therefore negligible during the download process. But thanks for bringing this up!


data-hint dead when adding the attribute with jquery

After loading the page and pulling an ajax call which is adding a data hint. the attribute data-hint="foo message" doest not work.

For anyone that might run into this issue in the future. You just need to call this method after the DOM has been updated with the AJAX call: $('[data-hint]').hint();
I found that by looking at the metro-initiator.js file, located here: https://github.com/olton/Metro-UI-CSS/blob/master/js/metro-initiator.js

Set global var METRO_AUTO_REINIT to true


ORC-1232:[C++] disable the metrics collector at compile phase

What changes were proposed in this pull request?
The patch will disable the metrics collector at the compile time.
Why are the changes needed?
The metrics collector could cause performance degradation in some cases.
How was this patch tested?
The option BUILD_CPP_ENABLE_METRICS set to ON will triggers  the related UTs.

Could you take a look at this too, @stiga-huang ?


New-CIPolicyRule fails on Win10 1809 Professional Edition

I am attempting to configure an Application Control policy on Win10 1809 Professional. According to this doc it is supported but when I run the command in PowerShell I get the following:
New-CIPolicy : Device Guard is not available in this edition of Windows.
Here is some information regarding the OS environment:
PS C:\users\User\Downloads\dgreadiness_v3.6\dgreadiness_v3.6> .\DG_Readiness_Tool_v3.6.ps1 -Ready
###########################################################################
Readiness Tool Version 3.4 Release.
Tool to check if your device is capable to run Device Guard and Credential Guard.
###########################################################################
Running on a Virtual Machine. DG/CG is supported only if both guest VM and host machine are running with Windows 10, version 1703 or later with English localization.
###########################################################################
OS and Hardware requirements for enabling Device Guard and Credential Guard

OS SKUs: Available only on these OS Skus - Enterprise, Server, Education, Enterprise IoT, Pro, and Home
Hardware: Recent hardware that supports virtualization extension with SLAT
To learn more please visit: https://aka.ms/dgwhcr
###########################################################################

Credential-Guard is enabled and running.
HVCI is enabled and running.
Config-CI is enabled and running. (Audit mode)
HVCI, Credential-Guard, and Config-CI are enabled and running.
PS C:\users\User\Downloads\dgreadiness_v3.6\dgreadiness_v3.6> Get-WindowsEdition -Online
Edition : Professional
PS C:\users\User\Downloads\dgreadiness_v3.6\dgreadiness_v3.6> [System.Environment]::OSVersion.Version
Major  Minor  Build  Revision

10     0      17763  0

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 481aaad1-c3ed-3eb1-bd29-ebad8f264edd
Version Independent ID: dc5d9c47-e4aa-22ab-cb41-dfed57c517ac
Content: Windows Defender Application Control (WDAC) (Windows 10)
Content Source: windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control.md
Product: w10
Technology: windows
GitHub Login: @jsuther1974
Microsoft Alias: justinha

I'm no expert but I guess the problem is axactly what the error says: that it is not supported by the OS.
I don't know what doc you refer to but at docs.microsoft.com you can read: 'WDAC policies can only be created on computers beginning with Windows 10 Enterprise or Professional editions or Windows Server 2016'. So if you use Windows 10 you need at least Enterprise, not Professional. The 'Professional editions'-part in the sentence is about Windows Server 2016.

Thanks for taking the time to post ErVaDy. The document that I was referring to was https://github.com/MicrosoftDocs/windows-itpro-docs/blob/master/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control.md
The quote that you included is from the correct document, but I do not agree with your conclusion. There are no 'Professional editions' of Windows Server, but there is a 'Professional Edition' of Windows 10.
Here are the desktop editions: https://www.microsoft.com/en-us/WindowsForBusiness/Compare
Here are the server editions: https://www.microsoft.com/en-us/cloud-platform/windows-server-pricing
The first link above seems to indicate that Application Control is not available in Windows 10 Pro as well, so I am thinking that the documentation is incorrect.

I thought the article in question said '... or Professional editions of Windows Server 2016.' (and was thus indeed kind of confused by the term professional edition of a server OS, but I blamed that on a lack of knowledge of terminology on my part). By reading your reply I noticed my incorrect reading and thus interpretation.
You're absolutely right that it appears the documentation is incorrect. But as I mentioned I'm no expert (I just started reading about WDAC as I'm planning to start testing with it) so don't take my word for it.

I'm having the exact behavior on my fresh install of Win10 Pro. It also throws a message saying it's not supported on that version of Windows 10.

@officedocsbot assign @e0i

Thank you, @limpidweb @ErVaDy @marcosmcampos for your valuable comments.
The content is being reviewed in the light of your feedback and we'll keep you posted on updates.

I was about to open up an issue: the documentation does not clearly state that it requires the Win10 Enterprise. Requesting clarification on this, as it required a lot of research. Third-party sources were much clearer on the requirement of Enterprise edition.

Just adding my support to this issue, the documentation needs to clarify that New-CIPolicy can only be executed on Win 10 Enterprise. Please scrap all mention of "Professional" versions of Windows from this article as it's not relevant and just leads to confusion!

@limpidweb
Upon your feedback, We have updated the content with relevant changes accordingly. Thanks.

@officedocsbot close


Upgrade apiVersion of CRD to v1 instead of v1beta1

CRDs have been graduated from v1beta1 to v1 in the kubernetes API but not in your CRD.

i'll take care of it

Hey @eduardogr, the v1 version introduces some schema changes that need to be addressed.
https://github.com/kubernetes/kubernetes/pull/79604
The `CustomResourceDefinition` API type is promoted to `apiextensions.k8s.io/v1` with the following changes:
* Use of the new `default` feature in validation schemas is limited to v1
* `spec.scope` is no longer defaulted to `Namespaced` and must be explicitly specified
* `spec.version` is removed; use `spec.versions` instead
* `spec.validation` is removed; use `spec.versions[*].schema` instead
* `spec.subresources` is removed; use `spec.versions[*].subresources` instead
* `spec.additionalPrinterColumns` is removed; use `spec.versions[*].additionalPrinterColumns` instead
* `spec.conversion.webhookClientConfig` is moved to `spec.conversion.webhook.clientConfig`
* `spec.conversion.conversionReviewVersions` is moved to `spec.conversion.webhook.conversionReviewVersions`
* `spec.versions[*].schema.openAPIV3Schema` is now required when creating v1 CustomResourceDefinitions
* `spec.preserveUnknownFields: true` is disallowed when creating v1 CustomResourceDefinitions; it must be specified within schema definitions as `x-kubernetes-preserve-unknown-fields: true`
* In `additionalPrinterColumns` items, the `JSONPath` field was renamed to `jsonPath` (fixes https://github.com/kubernetes/kubernetes/issues/66531)

On the other side, the operator is still using v0.2.0-beta.2 from Jun 2019 and that generates still v1beta1. To use v1 as default it also requires also a bump to at least v0.4.0.


Height calc of gridster container adds one extra item height when being dragged/resized

Anytime I attempt to drag or resize an item, the height of that item is doubled and added to the total height calculation for the gridster container. This causes a vertical scrollbar to sometimes show, and always pushes down content that may be beneath the gridster container.
You can repro this happening on the current live demo, by enabling dragging or resizing, then clicking on item to drag/resize it. The overall height of the gridster container is too high, pushing down the content beneath:
https://rawgit.com/ManifestWebDesign/angular-gridster/master/index.html#/main

For dragging, this is a feature not a bug, right? It's so that you are able to drag your item down beneath all other items. You need there to be new empty rows in the bottom equal to the row height of the item you are dragging, in order for there to be room for it down there.
For resizing though, I think it would maybe only be necessary to add one row at a time.

I would consider it a bug. There should only be an additional row added when needed (if actually dragging or resizing gets close to the lowest edge of the grid container). If a user just wants to drag/swap sideways, they shouldn't have to see a vertical scroll bar kick in, then out again, once they drop it.


Registry.slashMember should accept secret not idcommitment

registry1().slashMember(poseidon1([status1.secret]))
@mhchia @curryrasul registry.slashMember() should accept the secret as an input right? Not the idCommitment?
This doesn't matter as far as the "security" of the protocol, because the registry is just keeping track of who is registered and who has been slashed, but as a matter of enforcing how the concept works and making sure the correct idcommitments are being slashed, the secret should be the input right?
Then maybe we can add another method called slashMemberByCommitment() to make it more explicit?

Agreed on both. slashMember(input) looks like input should be something that can slash the member, and in our case, it's the secret


[Wand chest bug]

Hello,
A player of us found a bug, which can transport your wand into anything that you can place it into, such as a furnace, chest, and others. To do this you must first enter the chest, place an item in the chest, hold the mouse over the item you put in, and then press the number of your hotbar that has your wand in it. Basically, you can transport your wand in by switching the two items places.
I hope you can fix this bug,
Thank you,
Svennieboy777

I'll see what I can do there- think it's a bit tricky since I can't just look at the item being "clicked" on (in this case having a number key pressed on it), I need to figure out via the key that was pressed the item in the destination slot, then check that one. Probably doable though.
You should also be aware that I have turned all of this off by default in recent builds. As I move to 7.0 I am aiming to make wand items less "special" and in general would like players to be able to drop them and definitely put them in chests, if they want to. So when you get a chance, you should put this in your plugins/Magic/config.yml:
wand_undroppable: true
If you want to keep the current functionality to prevent putting wands in chests or dragging them out of your inventory.

Fixed in latest dev build, slated for 6.9.9
Make sure to add "wand_undroppable: true" to your config.yml when you update.


tcp_server and tcp_client sample code not working properly

When I run the sample programs "crystal tcp_server.cr" and then "crystal tcp_client.cr" The server receives the first message from the client, but the client hangs when attempting to read the response from the server. I've modified the tcp_server.cr so that the programs operate as what I believe should be expected, however there probably is a better way to do it than I have as I've just begun learning Crystal and have only limited Ruby experience. Here is the modified file. I am using Crystal 0.22 with Ubuntu 16.04.2 LTS.

@wjmacfarland thanks for reporting, I fixed by using IO#puts so the newline character is added and the tcp_client will read until it when doing the IO#gets.

Shouldn't IO#read_line (i.e. IO#gets) return the message with the terminating newline character included?

@straight-shoota Nope, it was changed in 0.20.3, see #3704.

Oh, thanks! Seems like I missed that change...


Fix "document" aspect serialization and persistence

This PR fixes serialization and persistence issues with the "document" aspect by modifying entities appropriately.
Additionally some initial tests have been added to check that JSON serialization and JPA persistence work correctly

@marcgs the testdata should be on the gitignore - that's uploaded to a private repo as it could contain sensitive information that's not for open source sharing!

Changes reviewed. Documentation aspect now works as expected 👍


add racket lsp config

It works as intended.

The info.rkt file is equivalent of  CMakeLists.txt or Cargo.toml. It indicates the root of projects.
https://docs.racket-lang.org/raco/info_rkt.html

Sweet thanks!
I wonder if completion of identifiers with weird characters like # and * also works, this could depend on how smart the server is.

Hmmm, is this a recent bug or something?
I cannot autocomplete -> like string->list
the lsp can find the keyword, but if i type beyond the - or >, the choices are gone (reset from beginning).

The option lsp_completion_fragment_start tells kak-lsp at which position to request completions.
For example if you type foo#bar, then by default kak-lsp will ask for completions at the position of b, because by default only word characters are included. If that's not enough for your server, you can use something like
set-option global lsp_completion_fragment_start %{execute-keys <esc><a-h>s\$?[\w>#*+-]+.\z<ret>}

to include other characters besides the \w. (probably theres a better defintion using [^]
Maybe we can improve the default.

I think the problem is that we don't reuse the extra_word_chars, like lisp:
The special chars are predefined by the rc files
https://github.com/mawww/kakoune/blob/c507863a00289fe4b210ecc4fef5554de4c87bf4/rc/filetype/lisp.kak#L19

Maybe this is a problem on Kak's side, rather than here?

The fact that \w ignores extra_word_chars is intentional. Kakoune's :doc regex states

\w which matches word characters A-Z, a-z, 0-9 and underscore (ignoring the extra_word_chars option).

Making the behavior of a regex depend on such an option would be bad because it makes search less predictable.
But you are right, we should probably honor that option here.
This should work (I have only looked at the logs, and not tested with a real language server).
diff --git a/rc/lsp.kak b/rc/lsp.kak
index 41d8f58..3aa8df6 100644
--- a/rc/lsp.kak
+++ b/rc/lsp.kak
@@ -37,7 +37,21 @@ declare-option -docstring "Completion request is sent only when this expression
 # Kakoune requires completions to point fragment start rather than cursor position.
 # This variable provides a way to customise how fragment start is detected.
 # By default, it tracks back to the first punctuation or whitespace.
-declare-option -docstring "Select from cursor to the start of the term being completed" str lsp_completion_fragment_start %{execute-keys <esc><a-h>s\$?\w+.\z<ret>}
+declare-option -docstring "Select from cursor to the start of the term being completed" str lsp_completion_fragment_start %{execute-keys "<esc><a-h>s\$?[\w%opt{lsp_extra_word_chars}]+.\z<ret>"}
+declare-option str lsp_extra_word_chars
+hook global WinSetOption extra_word_chars=.* %{
+    set-option window lsp_extra_word_chars %sh{
+        eval set -- $kak_quoted_opt_extra_word_chars
+        for char; do
+            case "$char" in
+                (-) printf '\\-' ;;
+                (\) printf '\\\\' ;;
+                (]) printf '\\]' ;;
+                (*) printf %s "$char" ;;
+            esac
+        done
+    }
+}
 # If hover in insert mode is enabled then request is made only when this expression doesn't fail and
 # for position at which it moves cursor; by default, it ensures that cursor is after opening parens
 # and then moves cursor to opening parens to request hover info for current function; note that it

Instead of applying the diff you can also just add the
declare-option str lsp_extra_word_chars
and
hook global WinSetOption extra_word_chars=.* %{ ... }
bits to your configuration, plus of course
set-option global lsp_completion_fragment_start %{execute-keys "<esc><a-h>s\$?[\w%opt{lsp_extra_word_chars}]+.\z<ret>"}

my example was missing a backslash.
Anyway, fixed the extra_word_chars option in master now with d9a8eb7 (Honor extra_word_chars option when finding start of token to complete, 2021-11-22)
someone should add the racket filetype to Kakoune ;)
We can reuse existing lisp highlighters, like rc/filetype/clojure.kak does

Thanks for your gorgeous help!
However, there is a minor problem, the completion will be crippled if the extra_word_chars contains those chars (they are crippled in different way :sweat_drops: :)

< The completion candidates will stay the same for whatever.
'=' The lsp_extra_word_chars will be updated, but will not respect those extra chars altogether.

clojure.kak contains both of them:
https://github.com/mawww/kakoune/blob/c507863a00289fe4b210ecc4fef5554de4c87bf4/rc/filetype/clojure.kak#L187

I've fixed the problem with < in 92db557d32dd66cb182f560a1ff74753b79fa309.
With that fix, I can't find a problem with =, are there any other chars necessary to reproduce?

I am so sorry, it seems I cannot reproduce it too. I must change something else.......

maybe it happened because it also had <


Small test fix for munged field names

When doing https://github.com/rbrush/clara-rules/pull/121 I wrote a test that mistakenly didn't test what it was supposed to.  This just fixes that test to correctly run the assertion it was intended to.
The enhancement to allow "munged" field names to be used directly in rules still works as expected.

Haha, somehow I also overlooked that that comparison wasn't doing anything when reviewing the test. I see the fix and the tests pass, so I went ahead and merged it.

Thanks!
@WilliamParker pointed that out to me because I didn't notice it before either.

FYI I found it because I use a Leiningen plugin that causes = to blow up when it is the first argument to the clojure.test is macro.
https://github.com/venantius/ultra/blob/d4b8ae0e0a499842ab77a84f607666b49d0f2517/src/ultra/test.clj#L21
The assert-expr multimethod is then called in clojure.test.


Improve speed of data generation in LUD by using the C version of the benchmark

The LUD benchmark currently uses the MATLAB version to generate the input-data for subsequent runs. It could be sped up by using the C version instead.


Upgrade org.springframework.boot:spring-boot-test 2.7.10 -> 2.7.11

This PR contains the following updates:

Package
Type
Update
Change

org.springframework.boot:spring-boot-test (source)
compile
patch
2.7.10 -> 2.7.11

Release Notes

spring-projects/spring-boot
v2.7.11
Compare Source
:lady_beetle: Bug Fixes

CloudFoundry integration does not use endpoint path mappings #35085
Gradle Spring Boot plugin with Kotlin DSL does not support includeProjectDependencies in bootJar > layered > dependencies configuration #35033
Banner placeholders use default values too soon #34764
Cassandra default configuration substitutions don't resolve against configuration derived from spring.data.cassandra properties #34643
ApplicationAvailability bean is auto-configured even if a custom one is already present #34347
Nested test classes don't inherit properties from slice test annotations on enclosing class #33317

:notebook_with_decorative_cover: Documentation

Use current Neo4j version in Testcontainers-based examples #34775
Clarify servlet container compatibility #34697
Document that optional dependencies are included by default in fat jars built with Maven #34636

:hammer: Dependency Upgrades

Upgrade to DB2 JDBC <IP_ADDRESS> #34906
Upgrade to GraphQL Java 18.5 #34995
Upgrade to Groovy 3.0.17 #34907
Upgrade to Logback 1.2.12 #34908
Upgrade to Micrometer 1.9.10 #34855
Upgrade to MySQL 8.0.33 #35057
Upgrade to Netty 4.1.91.Final #34909
Upgrade to Reactor Bom 2020.0.31 #34856
Upgrade to Spring AMQP 2.4.12 #34947
Upgrade to Spring Data Bom 2021.2.11 #34902
Upgrade to Spring Framework 5.3.27 #34857
Upgrade to Spring Security 5.7.8 #34948
Upgrade to Spring WS 3.1.6 #34949
Upgrade to Tomcat 9.0.74 #35058
Upgrade to Undertow 2.2.24.Final #34910

:heart: Contributors
Thank you to all the contributors who worked on this release:
@SeasonPanPan, @acktsap, @dreis2211, @jgslima, @krzyk, and @meistermeier

[ ] If you want to rebase/retry this PR, check this box

Suggested commit message:
Upgrade Spring Boot 2.7.10 -> 2.7.11

See:
- https://github.com/spring-projects/spring-boot/releases/tag/v2.7.11
- https://github.com/spring-projects/spring-boot/compare/v2.7.10...v2.7.11


Add integration to salesforce

Vectorflow should be able to ingest raw data from Salesforce.
Some open questions to explore prior to implementation:

can this we done through the existing API or does it need a separate ingestion worker
how to share credentials / do this securely
what file formats can be expected

Thanks for raising this feature request. Ingesting data from Salesforce into VectorFlow is definitely something we should explore supporting. Here are some initial thoughts on your questions:
Regarding ingestion - It looks like the Salesforce REST API provides options for exporting data in JSON, XML, and CSV formats. I think the best approach would be to build a separate lightweight ingestion worker specifically for Salesforce data. This worker could handle authentication with Salesforce using OAuth, make API calls to export data, do any needed parsing/validation, and then pass the transformed data to VectorFlow's main ingestion pipeline.
For security - OAuth should allow secure authentication for the ingestion worker to access Salesforce. We can encrypt any credentials stored in configuration. Restricting the worker to only access the needed Salesforce data exports will also be important.
Suggested file formats - The Salesforce API supports JSON, XML and CSV. CSV may be the easiest to work with in VectorFlow if we can get full data exports. For more targeted exports, JSON or XML may be required. Some parsing would be needed in the ingestion worker before passing data to VectorFlow in a supported format like Parquet.
Possible Next Steps, which can be further worked on:
Exploring Salesforce OAuth authentication flows for the ingestion worker
Test sample data exports from Salesforce API in JSON, XML and CSV
Prototype basic ingestion worker to extract sample export, parse data, and write to Parquet
Evaluation of how exported data maps to VectorFlow's expected input schema (Important)

How feasible would it be to use this: https://llamahub.ai/l/tools-salesforce?
I don't think we should have a separate salesforce worker. An endpoint, /salesforce in the existing API should do the trick. Can you choose what format (i.e. JSON or CSV) that the data is exported in?

Small note: I'd look into how airbyte solve this:
https://github.com/airbytehq/airbyte/tree/f54bd550aae9b4bf19220b50af47da0adc3b4ff1/airbyte-integrations/connectors/source-salesforce

We are planning to add an Airbyte connector, maybe we can access the salesforce data through that

@asadnhasan are you still planning on working on this?

@david-vectorflow Yes, David I am still working on it.

@asadnhasan hey do you still have an interest in building this out?

Yes absolutely, I would love to contribute. Will come with something in 2-3 days.