How to integrating Chat Functionality with Handlebars Planner Invocation?

Question:
Is there any succession or another way to implement my requirement?
Scenario:

I have several article templates that can be retrieved using TemplateLibraryPlugin.
I want AI to generate an article and utilize a template specified by the user.

Approach:

I've created a Handlebars plan template named articleTemplate.txt and intend to automate function invocation.
The draft content of the article is sourced from chat history or an uploaded document (ChatPlugin-ExtractChatHistory), while the template is sourced from TemplateLibraryPlugin.

Issue:
When automating the invocation of Handlebars functions, the "Chat" function of "ChatPlugin" does not execute. Consequently, the function result cannot be sent to the client via WebSocket.

I have changed the invoke method from await kernel.InvokeAsync(chatFunction!, to await kernel.InvokePromptAsync

Code and articleTemplate.txt
Code:
kernel.ImportPluginFromType<TemplateLibraryPlugin>();

string dir = System.IO.Directory.GetCurrentDirectory();
string template = await System.IO.File.ReadAllTextAsync($"{dir}/aritcleTemplate.txt");

var writeArtileFunction = kernel.CreateFunctionFromPrompt(
    new()
    {
        Template = template,
        TemplateFormat = "handlebars"
    }, new HandlebarsPromptTemplateFactory()
);
kernel.ImportPluginFromFunctions("WriteArticlePlugin", new List<KernelFunction> { writeArtileFunction });

OpenAIPromptExecutionSettings settings = new()
{
    ToolCallBehavior = ToolCallBehavior.AutoInvokeKernelFunctions,
};

var result = await kernel.InvokePromptAsync(ask.Input, new(contextVariables, new Dictionary<string, PromptExecutionSettings>() { { PromptExecutionSettings.DefaultServiceId, settings } }));

Handlebars Plan (aritcleTemplate.txt)
{{!-- Step 1: Extract chat history --}}
{{set "chatHistory" (ChatPlugin-ExtractChatHistory<EMAIL_ADDRESS>tokenLimit=32768) }}

{{!-- Step 2: Retrieve the article template by its name --}}
{{set "template" (TemplateLibraryPlugin-GetArticleTemplateByName templateName=templateName) }}

{{!-- Step 3: Replace the {{draft_content}} placeholder in the article template with the actual draft content from the chat history --}}
{{set "article" (replace template "{{draft_content}}" chatHistory) }}

{{!-- Step 4: Print out the final, formed article --}}
{{json article}}

@teresaqhoang , my team was blocked by this issue for a couple of weeks, any recommendation to solve this problem?

Hi @daleche-sh, apologies, I completely missed any notification for this issue.
Looks like your issue lies in Step 3, you need to add a backslash to escape the handlebars since you're using it as a raw string. Otherwise, it'll try to find a function or variable and fail with a null exception error.
{{set "article" (replace template "\{{draft_content}}" chatHistory) }}

You might have to do the same with the actual comment, but since it's in a comment, I would expect it to not cause a problem:
{{!-- Step 3: Replace the \{{draft_content}} placeholder in the article template with the actual draft content from the chat history --}}

Also, since you're working with templates, you can try to leverage the built-in capabilities of Handlebars directly by making it an in-line partial.
I'm guessing {{draft_content}} explicitly exists as a static string in your template? Something like
This is my chat history {{draft_content}}. Please summarize the highlights.

Since you already know the chatHistory variable name, you can change the plan to leverage the template as an in-line partial and pass in the chatHistory directly:
{{!-- Step 1: Extract chat history --}}
{{set "chatHistory" (ChatPlugin-ExtractChatHistory<EMAIL_ADDRESS>tokenLimit=32768) }}

{{!-- Step 2: Retrieve the article template by its name --}}
{{set "template" (TemplateLibraryPlugin-GetArticleTemplateByName templateName=templateName) }}

{{!-- Step 2a: Define article template as in-line partial --}}
{{#*inline "useTemplate"}}
  {{template}}
{{/inline}}

{{!-- Step 3: Replace the {{draft_content}} placeholder in the article template with the actual draft content from the chat history --}}
{{set "article" {{> useTemplate draft_content=chatHistory}} }}

{{!-- Step 4: Print out the final, formed article --}}
{{json article}}

Here's a POC in the HB Sandbox

If neither of the above helps, please provide the following details so we can troubleshoot:

Where are you executing this code? Link to your repo would be most helpful.
Is this line successful? i.e., do you get a result after rendering the HB template or are you seeing an error? Provide the result or error

var result = await kernel.InvokePromptAsync(ask.Input, new(contextVariables, new Dictionary<string, PromptExecutionSettings>() { { PromptExecutionSettings.DefaultServiceId, settings } }));

Hi @daleche-sh, apologies, I completely missed any notification for this issue.
Looks like your issue lies in Step 3, you need to add a backslash to escape the handlebars since you're using it as a raw string. Otherwise, it'll try to find a function or variable and fail with a null exception error.
{{set "article" (replace template "\{{draft_content}}" chatHistory) }}

You might have to do the same with the actual comment, but since it's in a comment, I would expect it to not cause a problem:
{{!-- Step 3: Replace the \{{draft_content}} placeholder in the article template with the actual draft content from the chat history --}}

@teresaqhoang , it works, thank you so much!!! It's a big step for our project after solving this problem.


Suricata EVE output over syslog-ng truncated at about 2 KiB

Description
Suricata's EVE log messages forwarded via a syslog-ng target to another host appear truncated at a length of about 2 KiB.
Trying to parse the JSON contents then fails, of course, and there seems to be no stable set of elements in a truncated EVE log message, rendering such messages useless.
https://github.com/opnsense/core/issues/3401#issuecomment-502794782 seems to suggest that the length limitation should be gone with the move to syslog-ng.
I have already tried the following:

Configured the receiving rsyslog daemon to support large messages (16 KiB) and verifying that this works.
Configured the syslog-ng target with a TCP transport to avoid UDP restrictions.
Patched these templates:

/usr/local/opnsense/service/templates/OPNsense/Syslog/syslog-ng-destinations.conf:

destination: changed network to syslog

/usr/local/opnsense/service/templates/OPNsense/Syslog/syslog-ng.conf:

options: added log_msg_size(131072);

To Reproduce

Configure Suricata for EVE syslog.
Create a syslog-ng log target forwarding Suricata log messages via TCP.
Force a Suricata alert with a larger payload.

I have also attached a small test script capable of sending large messages via different syslog interfaces. (However, I did not research which one Suricata is actually using.)

log-test.py.txt

Expected behavior
Suricata should be able to transmit complete EVE syslog messages, including (at least the printable version of) the payload.
Environment
OPNsense 19.7.5_5-amd64
FreeBSD 11.2-RELEASE-p14-HBSD

It might be this https://github.com/syslog-ng/syslog-ng/issues/2484
I haven’t tried the sysctl yet, but it sounds a lot like what your describing @OliverO2

@AdSchellevis wow, that was ultra-quick! :) Thanks for the hint. I'll try to change that sysctl value and see what happens. As soon as I have a result, I'll post here. Should be no later than late Monday.

Unfortunately it doesn't seem to solve the issue at my end, although I'm not exactly sure what's happening either.
A simple python script sending both via a raw socket and using the syslog lib doesn't seem to be received in full by syslog-ng (/usr/local/sbin/syslog-ng -p /var/run/syslog-ng.pid -F -d -e)
import sys
import syslog
import socket

test_string = "pie9ooloipuo9Iuquohgi1aeghuo7eije9eic1iethaebishi5ujahquaeChee5oodash6iHoaf5Anei7li7iesei3aiPeiZ4IH1ohaeb1eeg5vieco2hootaamuo4eemooNg8ahPhah3heegh9rom5Uxuoghe7beex6aidoh2ia5Cheefe2ahs0shiebaewaihaet2jush7iux0h

syslog.openlog("suricata")
syslog.syslog(syslog.LOG_INFO, test_string + "XXXXX")

sock = socket.socket(socket.AF_UNIX, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, 8192)
sock.connect("/var/run/log")
sock.sendall((test_string + "XXXXX").encode())

my mistake, it just doesn't seem to log the full packet, when sending all to a file from syslog-ng, it seems to catch the manual sendall().
import socket

test_string = "pie9ooloipuo9Iuquohgi1aeghuo7eije9eic1iethaebishi5ujahquaeChee5oodash6iHoaf5Anei7li7iesei3aiPeiZ4IH1ohaeb1eeg5vieco2hootaamuo4eemooNg8ahPhah3heegh9rom5Uxuoghe7beex6aidoh2ia5Cheefe2ahs0shiebaewaihaet2jush7iux0haeye0ohphiej6laeS0ej2Yeiboozohgeireecae6hahb6rai4xohQuae2ahx8Xahk9aiCiem4OochiFi9icah4ou0ohkoo9moge4aayi0iemaiTu4feephahd7jahgh8thieL8deipig7xe9aehahfeeng0APohng2Eep0ao0gig6ohT7ceinooCoht2eh5Rekeeshietik5ooYoopi6eeS4lahcau7beiqu2ohc1nes6azu2faipohdoo0ohngoochai7ohj4ia8tosh3Oolepi1aet8Ootheexoonai3deing1cee8zei7Iey1biquaePhei5eethofiugahsah1xiibashae3wa3hexucooShab2ohkai4ahnai3hee8zail5Ur8taijeeThae4oot8leipiy3tairaen1teighuhoo2AiD7aiR9zoo3ooC7iexi6iW2athaesohvimoo4ahta6YeebaeT4zohch7woochi9feek5shoquie0cha4terai4phai0uu1piekeeb8uV3uo6Keen6neepouvo3Aetugai3voon5Phae4zogeezeeK7nae1ohS5xi2aiwoh5iezaikaejicez4ae2oolu4Dohpoogae6yeim8oiX3avie4Ta6miiv2riet5Caek0Fae9quie6oung6lohx8moo6sohmeedoh5eu4aigeequu3ieth1loh5eni6voiJ2iquaing9Queegoh9Roh7jooNgeen9eemeowah6Loh3yeesha3iechu7oquuo7ahyahth3ulah0Iesheevae5soh8ahl0see0AudiethaeSohlaim1gae8Ohk3oh4oojeehei5airahNool6ephieguree2rai0ughaiba9ya0Hoowook2pie6WezuothaisiuHae2ohCh6ahvooXaeboo7aeCeelaiyachi0ShunikooSah5aiqu5cheefaexoko6EiteejooYoh3Gah3gahgoog5Shahghee5DakaeLahshu8ceifoh2eenaidooK2yeir7aevaFoi7aeDuun3booR8maajacuf1ahluphoreiche1eif7dauvethui6sahkaig1aera7theupa1oovah4vooZ4aiR9uingee4Iiyoo2iemohshaifahf1ohphoochahfah5ru4aivai9eehie7Quai5phohquaote2taelolaiJooLahng8Geg4iag3shaey4Iug7iefudeV8ues5Raigh5kiu5quuowu9WeengaeghuuphohFiif9johveiKiem0se1oorohreehoh0UGhei0ooph2azia4za2uj3ahgh3phu3exohweesie5eemeo0sah8eef3deeseiD3uuph7EipeeQuazieviiwahr9eeMa6voopoo8wei2mee3eD8evaekooshoh8Paejuof8yoeR0poa5eothoch2Geigoh7iechieg4gaiF6eicoo7Aiweu5aiceacar6haey7FeiChiemaigom3iuyaveiSh8iezoo1aep7ephuu6yahahSaekeiPooh4ze4saeghuk7Ihee9Fae8Aiqui6boon3aGhelohfohph8ZaenauJ8ahquoofi7naKeeGhaphohghoo0feen7aemeexuL3ech8Eith1Ahshae0iera1OobeiKieco2cheaY2Iesh4kazieM8hie1fohyohzahHahf2Iem7ooseek0he5uotootheu9fe1baeThaidahs6tahcem3rieka1Eefeeng6iezie9quaehu2ael7Iecahre7shieCaarooTeikohcEND"

sock = socket.socket(socket.AF_UNIX, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, 8192)
sock.connect("/var/run/log")
sock.sendall((test_string + test_string + "XXXXX").encode())

Next tried to forward the same content to a tcp-syslog destination, which seems to be working too, I guess our (configuration?) issue is somewhere in suricata.
The python syslog.syslog() seems to be limited by default.

I think I have to agree with the last posting in the syslog-ng issue, suricata  sends a message to syslog() which on FreeBSD seems to be limited at 2048 bytes now.
https://github.com/freebsd/freebsd/blob/11c242c7312a2c5301e5fe9a8bf4ddf0f372a226/lib/libc/gen/syslog.c#L141
I have to consult with @fichtner to confirm and see what's the next step here.

Quick compare with OpenBSD:
https://github.com/freebsd/freebsd/blob/11c242c7312a2c5301e5fe9a8bf4ddf0f372a226/lib/libc/gen/syslog.c#L141
https://github.com/openbsd/src/blob/b66614995ab119f75167daaa7755b34001836821/sys/sys/syslog.h#L42
It seems that at some point or another arbitrary data via syslog isn't the best way to do it.
In any case, we can easily try to bump the limit in our src.git.

question is what a sane default is... If I'm understanding it correctly, linux seems to be using glibc's version, which accepts arbitrary lengths (probably the reason why this works on linux).
https://sourceware.org/git/?p=glibc.git;a=blob;f=misc/syslog.c;h=fd6537edf60e8ad637e97bdebbd5477a433d6db7;hb=refs/heads/master
eve alerts can grow pretty quickly, the syslog facility is a practical transport message from a software design point of view (consistency), but I'm not sure what the best fix is yet. Short term solution could be extending it, long term, it doesn't sound like the greatest plan in the world.
Let's think this over for a while and decide what todo later.

we should bump to 8k and ship if it works, beyond that others will have to take over

8k still sounds small, but I agree it's an easy starting point, aligns with OpenBSD and likely solves some of the issues.

I have checked the distribution of EVE log message sizes on a sample of 8270 messages observed during the last month:

Maximum message length (including binary and printable payload): 60k (1 occurrence)
Maximum binary payload length: 34k (1 occurrence)
Maximum printable payload length: 25k (1 occurrence)
Maximum net message length (without payload data): 3k (NOTE: This figure is exaggerated as the subtracted payload lengths were calculated on parsed JSON data, which is shorter that its source.)
8182 (98,9%) printable payloads fit into 4k
8262 (99,9%) printable payloads fit into 6k
8 (0,1%) printable payloads required more than 6k

The longer printable payloads appeared to be useful even if truncated to about 4k.
However, this template sets Suricata's max payload size for EVE syslog output to 100kb:

https://github.com/opnsense/core/blob/master/src/opnsense/service/templates/OPNsense/IDS/suricata.yaml#L138

All EVE data from my sample would fit into an 8k syslog limit without truncation, if EVE output to syslog were configured like this in src/opnsense/service/templates/OPNsense/IDS/suricata.yaml:
{% if not helpers.empty('OPNsense.IDS.general.LogPayload') %}
             payload: no
             payload-buffer-size: 4kb
             payload-printable: yes
{% endif %}

Note that this change would not affect the payload limits for file-based EVE logging.
I'd be in favor of changing the syslog limit to 8k as suggested and also modifying the Suricata template as shown above.

@OliverO2 very helpful, thanks!

There's a test base update available:
# opnsense-update -br 19.7.3_2

A reboot should make the new syslog buffer size effective. Should be easy to test with the proposed suricata.yaml changes. :)
Cheers,
Franco

@OliverO2 https://github.com/opnsense/core/commit/188c517a262d8ebd9752dc0a12acfab73bc4786a contains the suricata.yaml fix, which should solve the last piece of this issue.

Thanks to both of you, @fichtner, @AdSchellevis.
I'll put this to a test right away and will report results here. I've commented on 188c517a262d8ebd9752dc0a12acfab73bc4786a as I think that fix needs an additional tweak. Otherwise I'm pretty optimistic that we've nailed it.

Just a short feedback from the trenches: Testing continues (has been running for 19 hours by now), I have yet to see a message containing a sufficiently large printable payload.

Still not working unfortunately, but easily reproducible:
Reproduction
I have found a way to reproduce an IDS alarm with a payload that will produce a log message of 5383 bytes length. This should be the complete sequence of steps:

Install test base update 19.7.3_2
Modify templates/OPNsense/IDS/suricata.yaml as described above.
Configure Suricata

Alert on sid 2007671 from the emerging-policy.rules ruleset
Enable syslog alerts [x]
Enable eve syslog output [x]
Log package payload [x]

Configure System: Settings: Logging / targets

forward Suricata logging via TCP

Reboot
Download a Windows Update executable over a network connection monitored by Suricata (this is what I've used on Linux):curl http://au.download.windowsupdate.com/c/msdownload/update/software/defu/2019/11/am_delta_patch_1.305.1884.0_348c56fbcc95588923aa2beaf36351b25200b48b.exe >/dev/null

Tests Results
With the base update 19.7.3_2 installed, the 5k+ log message from the above event was not forwarded by syslog-ng at all. The corresponding fast log message from Suricata appeared normally. (Before that, shorter (below 2k) EVE log messages got forwarded correctly as well).
So it seems that an EVE log message which previously got truncated is now suppressed.

Ok, quite weird indeed, messages seem to vanish completely now (in stead of being truncated).
Code below only sends out TEST2 the long message is gone.
import syslog

test_string = "pie9ooloipuo9Iuquohgi1aeghuo7eije9eic1iethaebishi5ujahquaeChee5oodash6iHoaf5Anei7li7iesei3aiPeiZ4IH1ohaeb1eeg5vieco2hootaamuo4eemooNg8ahPhah3heegh9rom5Uxuoghe7beex6aidoh2ia5Cheefe2ahs0shiebaewaihaet2jush7iux0haeye0ohphiej6laeS0ej2Yeiboozohgeireecae6hahb6rai4xohQuae2ahx8Xahk9aiCiem4OochiFi9icah4ou0ohkoo9moge4aayi0iemaiTu4feephahd7jahgh8thieL8deipig7xe9aehahfeeng0APohng2Eep0ao0gig6ohT7ceinooCoht2eh5Rekeeshietik5ooYoopi6eeS4lahcau7beiqu2ohc1nes6azu2faipohdoo0ohngoochai7ohj4ia8tosh3Oolepi1aet8Ootheexoonai3deing1cee8zei7Iey1biquaePhei5eethofiugahsah1xiibashae3wa3hexucooShab2ohkai4ahnai3hee8zail5Ur8taijeeThae4oot8leipiy3tairaen1teighuhoo2AiD7aiR9zoo3ooC7iexi6iW2athaesohvimoo4ahta6YeebaeT4zohch7woochi9feek5shoquie0cha4terai4phai0uu1piekeeb8uV3uo6Keen6neepouvo3Aetugai3voon5Phae4zogeezeeK7nae1ohS5xi2aiwoh5iezaikaejicez4ae2oolu4Dohpoogae6yeim8oiX3avie4Ta6miiv2riet5Caek0Fae9quie6oung6lohx8moo6sohmeedoh5eu4aigeequu3ieth1loh5eni6voiJ2iquaing9Queegoh9Roh7jooNgeen9eemeowah6Loh3yeesha3iechu7oquuo7ahyahth3ulah0Iesheevae5soh8ahl0see0AudiethaeSohlaim1gae8Ohk3oh4oojeehei5airahNool6ephieguree2rai0ughaiba9ya0Hoowook2pie6WezuothaisiuHae2ohCh6ahvooXaeboo7aeCeelaiyachi0ShunikooSah5aiqu5cheefaexoko6EiteejooYoh3Gah3gahgoog5Shahghee5DakaeLahshu8ceifoh2eenaidooK2yeir7aevaFoi7aeDuun3booR8maajacuf1ahluphoreiche1eif7dauvethui6sahkaig1aera7theupa1oovah4vooZ4aiR9uingee4Iiyoo2iemohshaifahf1ohphoochahfah5ru4aivai9eehie7Quai5phohquaote2taelolaiJooLahng8Geg4iag3shaey4Iug7iefudeV8ues5Raigh5kiu5quuowu9WeengaeghuuphohFiif9johveiKiem0se1oorohreehoh0UGhei0ooph2azia4za2uj3ahgh3phu3exohweesie5eemeo0sah8eef3deeseiD3uuph7EipeeQuazieviiwahr9eeMa6voopoo8wei2mee3eD8evaekooshoh8Paejuof8yoeR0poa5eothoch2Geigoh7iechieg4gaiF6eicoo7Aiweu5aiceacar6haey7FeiChiemaigom3iuyaveiSh8iezoo1aep7ephuu6yahahSaekeiPooh4ze4saeghuk7Ihee9Fae8Aiqui6boon3aGhelohfohph8ZaenauJ8ahquoofi7naKeeGhaphohghoo0feen7aemeexuL3ech8Eith1Ahshae0iera1OobeiKieco2cheaY2Iesh4kazieM8hie1fohyohzahHahf2Iem7ooseek0he5uotootheu9fe1baeThaidahs6tahcem3rieka1Eefeeng6iezie9quaehu2ael7Iecahre7shieCaarooTeikohcEND"

syslog.openlog("suricata")
syslog.syslog(syslog.LOG_INFO, test_string + "XXXXX")
syslog.syslog(syslog.LOG_INFO, "TEST2")

maybe @fichtner has an idea, I don't see very obvious issues in the syslog changes at a first glance.

Monitoring the test code from @AdSchellevis via truss reveals that the sendto call on the /var/run/logpriv socket returns ERR#40 'Message too long':
# truss python3 /tmp/log-test2.py
[...]
socket(PF_LOCAL,SOCK_DGRAM|SOCK_CLOEXEC,0)	 = 3 (0x3)
connect(3,{ AF_UNIX "/var/run/logpriv" },106)	 = 0 (0x0)
sendto(3,"<14>Nov 14 08:15:36 suricata: pi"...,2083,0,NULL,0) ERR#40 'Message too long'
close(3)					 = 0 (0x0)
socket(PF_LOCAL,SOCK_DGRAM|SOCK_CLOEXEC,0)	 = 3 (0x3)
connect(3,{ AF_UNIX "/var/run/logpriv" },106)	 = 0 (0x0)
sendto(3,"<14>Nov 14 08:15:36 suricata: pi"...,2083,0,NULL,0) ERR#40 'Message too long'
sendto(3,"<14>Nov 14 08:15:36 suricata: TE"...,35,0,NULL,0) = 35 (0x23)
[...]

This will make it work:
# sysctl net.local.dgram.maxdgram=8196
net.local.dgram.maxdgram: 2048 -> 8196

After changing that value, Ad's test code runs as expected: both messaged are transferred to a configured syslog-ng target.

@OliverO2 thanks! we might need to change that default too in our default config.  @fichtner what do you think?

Yes please 😊

On 14. Nov 2019, at 08:36, Ad Schellevis<EMAIL_ADDRESS>wrote:

@OliverO2 thanks! we might need to change that default too in our default config. @fichtner what do you think?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

@OliverO2 ok, this https://github.com/opnsense/core/commit/8917f1c06f18931bb52cc0fdb005c651bccc9f4b should be the final piece then. Closed the issue with it, can always reopen if it appears we still missed something. Thanks for your help!

@AdSchellevis, @fichtner yes, looks completely resolved now. I have just tested with Suricata and got a nicely forwarded syslog message of 3011 bytes.
Thanks for the excellent cooperation!


Implement unified imports show page

This combines the templates for CohortImport#show, ClassImport#show, and ImmunisationImport#show into one shared template, as they all have to display in a fairly uniform way.
Screenshots

Before
After

ClassImport#show

CohortImport#show

ImmunisationImport#show

Decided to merge https://github.com/nhsuk/manage-vaccinations-in-schools/pull/1998 into this.


make are not working

hacker@localhost:~/tools/urldedupe$  make
Scanning dependencies of target urldedupe
[ 20%] Building CXX object CMakeFiles/urldedupe.dir/Url.cpp.o
/home/hacker/tools/urldedupe/Url.cpp:4:10: fatal error: filesystem: No such file or directory
#include
^~~~~~~~~~~~
compilation terminated.
CMakeFiles/urldedupe.dir/build.make:120: recipe for target 'CMakeFiles/urldedupe.dir/Url.cpp.o' failed
make[2]: *** [CMakeFiles/urldedupe.dir/Url.cpp.o] Error 1
CMakeFiles/Makefile2:94: recipe for target 'CMakeFiles/urldedupe.dir/all' failed
make[1]: *** [CMakeFiles/urldedupe.dir/all] Error 2
Makefile:102: recipe for target 'all' failed
make: *** [all] Error 2

What OS and compiler are you running? With Versions, ideally.
Seems like you don't have <filesystem> yet. Just to see, try replacing
#include <filesystem>
with
#include <experimental/filesystem>
and see if that works..

Same error here. After changing it to #include <experimental/filesystem> I got the following error:
[ 20%] Building CXX object CMakeFiles/urldedupe.dir/Url.cpp.o
/home/srt_7codgsyhr0/urldedupe/Url.cpp: In member function ‘bool Url::has_extension()’:
/home/srt_7codgsyhr0/urldedupe/Url.cpp:269:10: error: ‘std::filesystem’ has not been declared
     std::filesystem::path fpath {this->path};
          ^~~~~~~~~~
/home/srt_7codgsyhr0/urldedupe/Url.cpp:270:12: error: ‘fpath’ was not declared in this scope
     return fpath.has_extension();
            ^~~~~
/home/srt_7codgsyhr0/urldedupe/Url.cpp:270:12: note: suggested alternative: ‘path’
     return fpath.has_extension();
            ^~~~~
            path
make[2]: *** [CMakeFiles/urldedupe.dir/Url.cpp.o] Error 1
make[1]: *** [CMakeFiles/urldedupe.dir/all] Error 2
make: *** [all] Error 2

I'm on redhat linux

Same error here. After changing it to #include <experimental/filesystem> I got the following error:
[ 20%] Building CXX object CMakeFiles/urldedupe.dir/Url.cpp.o
/home/srt_7codgsyhr0/urldedupe/Url.cpp: In member function ‘bool Url::has_extension()’:
/home/srt_7codgsyhr0/urldedupe/Url.cpp:269:10: error: ‘std::filesystem’ has not been declared
     std::filesystem::path fpath {this->path};
          ^~~~~~~~~~
/home/srt_7codgsyhr0/urldedupe/Url.cpp:270:12: error: ‘fpath’ was not declared in this scope
     return fpath.has_extension();
            ^~~~~
/home/srt_7codgsyhr0/urldedupe/Url.cpp:270:12: note: suggested alternative: ‘path’
     return fpath.has_extension();
            ^~~~~
            path
make[2]: *** [CMakeFiles/urldedupe.dir/Url.cpp.o] Error 1
make[1]: *** [CMakeFiles/urldedupe.dir/all] Error 2
make: *** [all] Error 2

I'm on redhat linux

where is the binary..?

where is the binary..?

Not working for me either, same issue

Samehere. I will try do dockerize this tool because its very useful. I will do an update here
Consolidate compiler generated dependencies of target urldedupe
[ 20%] Linking CXX executable urldedupe
/usr/bin/ld: CMakeFiles/urldedupe.dir/Url.cpp.o: in function `std::filesystem::__cxx11::path::has_extension() const':
Url.cpp:(.text._ZNKSt10filesystem7__cxx114path13has_extensionEv[_ZNKSt10filesystem7__cxx114path13has_extensionEv]+0x14): undefined reference to `std::filesystem::__cxx11::path::_M_find_extension() const'
/usr/bin/ld: CMakeFiles/urldedupe.dir/Url.cpp.o: in function `std::filesystem::__cxx11::path::path<std::basic_string_view<char, std::char_traits<char> >, std::filesystem::__cxx11::path>(std::basic_string_view<char, std::char_traits<char> > const&, std::filesystem::__cxx11::path::format)':
Url.cpp:(.text._ZNSt10filesystem7__cxx114pathC2ISt17basic_string_viewIcSt11char_traitsIcEES1_EERKT_NS1_6formatE[_ZNSt10filesystem7__cxx114pathC5ISt17basic_string_viewIcSt11char_traitsIcEES1_EERKT_NS1_6formatE]+0x64): undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/urldedupe.dir/build.make:145: urldedupe] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/urldedupe.dir/all] Error 2
make: *** [Makefile:91: all] Error 2

Hey all, sorry for not getting back to this sooner. Hope you all were able to fix this on your own, but if you were not please see below:
(I recommend just bumping your compiler version if possible so you don't need these steps:

Update #include <filesystem> to #include <experimental/filesystem> in Url.cpp
Update std::experimental::filesystem::path fpath {this->path}; to std::experimental::filesystem::path fpath {this->path}; in Url.cpp has_extension() method.
Lastly, add the following line link_libraries(stdc++fs) to CMakeLists.txt (after set(CMAKE_CXX_STANDARD 17)) to ensure library linking is setup properly for the experimental filesystem lib.

Dockerizing is a great idea however! And there's also some changes I can make to account for this, but don't have the time to make that at the moment so this should fix the initial build issues.

Hey all, sorry for not getting back to this sooner. Hope you all were able to fix this on your own, but if you were not please see below:
(I recommend just bumping your compiler version if possible so you don't need these steps:

Update #include <filesystem> to #include <experimental/filesystem> in Url.cpp
Update std::filesystem::path fpath {this->path}; to std::experimental::filesystem::path fpath {this->path}; in Url.cpp has_extension() method.
Lastly, add the following line link_libraries(stdc++fs) to CMakeLists.txt (after set(CMAKE_CXX_STANDARD 17)) to ensure library linking is setup properly for the experimental filesystem lib.

Dockerizing is a great idea however! And there's also some changes I can make to account for this, but don't have the time to make that at the moment so this should fix the initial build issues.

I tried the solution, and I confirm this is working


System.IO Not Found

In my project I'm targeting .NET 4.7. I'm not using Core. Looks like there is a conflict in versions. I downloaded the source code changed the target to 4.7 and didn't make it portable. Works like a charm that way.

Thanks. I'll take a look at seeing if I can modify the NuGet package to support this the next time we update this library (~within the next month).

I'm not able to reproduce this issue using the latest version of this library.


Consistency in the Pkg treatment

Some notebooks have a different way of loading the dependencies
e.g.
day2/notebook1
https://github.com/Beramos/DS-Julia2925/blob/8496d623f9836bec1db9a4daf882f484ad87a0a9/notebooks/day2/01-types.jl#L29
day2/notebook2
https://github.com/Beramos/DS-Julia2925/blob/8496d623f9836bec1db9a4daf882f484ad87a0a9/notebooks/day2/02-composite_types.jl#L29
day2/metaprogramming
https://github.com/Beramos/DS-Julia2925/blob/8496d623f9836bec1db9a4daf882f484ad87a0a9/notebooks/day2/03-metaprogramming.jl#L9
Let us follow @MichielStock's idea and provide a separate packaged that can be put in the package repository which contains:

The questionblock functionality with verification
Dependencies of the notebooks

no longer relevant


rainbowstream: 1.2.7 -> 1.3.1

Built and run locally.
This commit includes a patch which allows rainbowstream to use
requests2 versions higher than 2.5.3, since we ship a newer version.
rainbowstream was tested and behaved as expected.

Done @domenkozar. Thank you very much. Sure makes more sense. ;-)


CC6494: Update interpolated-strings.md #41 [AUTOMATED]

Hi, @BillWagner,
This proposed file change comes from: https://github.com/dotnet/docs.ko-kr/pull/41/files.
Could you help to review this and merge this?
Many thanks in advance.

Thanks, @carolinacmoravia. If you've made this change in one or more localized versions, there's an additional change that needs to be made. In the description of the variables on line 22, date also needs to be changed to hours.
I'll merge this when the build completes, since I made the additional change in this PR.

I've addressed your feedback @BillWagner. Take a look!

Thanks @mairaw This is ready to :shipit: when the build finishes.


Support Linear line segments, add linear section to interactive docs

Add Linear as option in BezierHandles enum
Support Linear line segments in the existing functions
Rewrite derivative to return an optional Bezier (Linear ones return None)
Display a section for linear lines in the interactive docs

Add functionality to customize which degree of curves are shown per example
Refactor drawBezier function to handle line segments

The regression is my fault, I'll fix it later today

It's all good! I have a fix and will push soon.


Kotlin naming conventions violation in RxFuel

Refactoring
Description
Add to com.github.kittinunf.fuel.rx.RxFuel methods toRxRespone(), toRxResponseString() etc. Deprecate old methods.
Why this is necessary?
Current naming violate Kotlin style.

@milk-machine are you going to submit a pr?

I would also like to have a reference what is "Kotlin style naming", so that we can link to it in CONTRIBUTING and/or a style guide.

Maybe we can link to official code style here. Spoiler alert, I wasn't very much following it.

There is something like https://github.com/shyiko/ktlint. Oh course, it would increase the build times. :|

I actually think klint is smart to add! It should be fast (only a few seconds) as most linters usually run inline with your code anyway.

Added: #442


Added new patch note + some more info

Btw what would happen if I were to add 3 announcements instead of 2

Suuu

Btw what would happen if I were to add 3 announcements instead of 2

Nothing, it shows up to three announcements

I see, ty!


Add link to a custom modules docs

Add link to a CustomModules.md on options page

Blocked by https://github.com/translate-tools/linguist/issues/227


Create new Data in Airtable Lookup,Linked Feilds?

There is an error when i try to create any record in a table where the field is attached to another table's record or the table have a lookup field it wont work it gives error

Hello,
I think the Error is connected with the record you want to create. The Object has to be exactly how it is described in your personal API from Airtable under create Table. If you provide me with Information how your Table and your record looks like I can help you there.
Greetings,
Zelle

I can send you my airtable detail
<EMAIL_ADDRESS>Kasper123
In my aitable there is a table  sessions i want to insert the data into that table but problem is the field is an reference of another table i hope you can help me out.
And please insert sample data because the data already in it is in use please dont change it

Hey,
sorry but i am not sure why u left that E-mail there?
Can you show me how the Object you want to add to the Table "sessions" looks like?
If one field is a reference to another Table, that Field has to be an Array with the id of the referenced Data.
Greetings,
Zelle

Yes thats why i left that email and pasword will you please give me a test
file which can send data to the sessions table
On Sep 7, 2017 9:48 PM, "Zelle97"<EMAIL_ADDRESS>wrote:
Hey,
sorry but i am not sure why u left that E-mail there?
Can you show me how the Object you want to add to the Table "sessions"
looks like?
If one field is a reference to another Table, that Field has to be an Array
with the id of the referenced Data.
Greetings,
Zelle
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Sybit-Education/airtable.java/issues/23#issuecomment-327858134,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AduUMvjsFNX_BSOa_KSzlqLfOSYCWqXCks5sgB5rgaJpZM4O_KAe
.

Im closing this issue. Its a specific Problem not related to the api.
I contacted you via E-mail to provide you with more specific information about your Problem.


Fix TIDALDL-UI.csproj

@yaronzz this fixes TIDAlDL-UI.csproj, it didn't compile after the last commit.

@yaronzz when you have some time could you look at the PR please? Thanks in advance.


CIF-2097 - Consume the configured custom HTTP headers in MagentoGraphqlClient

Description
Users may configure additional HTTP headers to be sent with each Graphql request, via the CIF HTTP Custom Headers configuration service and the cloud service configuration. This PR updates the MagentoGraphqlClient to consume custom HTTP headers from the CA config.
Related Issue
CIF-2097
Motivation and Context
Allow the components to consume the custom HTTP headers.
How Has This Been Tested?
Unit testing, functional testing
Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have signed the Adobe Open Source CLA.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes and the overall coverage did not decrease.
[ ] All unit tests pass on CircleCi.
[x] I ran all tests locally and they pass.

@dplaton @mhaack should this be added to the client-side components via [0][1][2] as well?
[0] https://github.com/adobe/aem-cif-guides-venia/blob/dev/ui.frontend/src/main/components/App/App.js#L38-L47
[1] https://github.com/adobe/aem-core-cif-components/blob/master/react-components/src/components/App/app.js#L38
[2] https://github.com/adobe/aem-core-cif-components/blob/master/bundles/core/src/main/java/com/adobe/cq/commerce/core/components/models/storeconfigexporter/StoreConfigExporter.java

@dplaton @mhaack should this be added to the client-side components via [0][1][2] as well?
[0] https://github.com/adobe/aem-cif-guides-venia/blob/dev/ui.frontend/src/main/components/App/App.js#L38-L47
[1] https://github.com/adobe/aem-core-cif-components/blob/master/react-components/src/components/App/app.js#L38
[2] https://github.com/adobe/aem-core-cif-components/blob/master/bundles/core/src/main/java/com/adobe/cq/commerce/core/components/models/storeconfigexporter/StoreConfigExporter.java


Support vite(6) as config loader

Describe the feature
(context: quickly talking with @yyx990803)
Vite 6 with environment API allows loading ts config files similar to jiti.
We can optionally support vite as a config loader for .ts support, faster resolutions, custom plugins, etc.
/cc @danielroe @antfu @patak-dev would love to hear your early thoughts!
Additional information

[X] Would you be willing to help implement this feature?

cc @sheremet-va

https://github.com/vitejs/vite/pull/18637

We had an idea to expose this as a function like “import” and possibly introduce “vite run” command in the future.

@sheremet-va Maybe it could be coupled with an unimport() API (mimicking clear require.cache) that allows to free-up memory? We probably need something similar to also allow reloading config same as jiti with disabled cache.


Fixed french translation

Might not be 100% accurate but It's fully translated.
There will be debates about the use of the word 'room' ('room' as a meeting room or 'room' as a convivial """living""" room ?).
Some typos were also fixed.

Onenigheid

sorry ! gonna do that right now !

you have to open a new PR


ENH: Fast gaussian kernel estimator

What does this implement/fix?
This change provides a cython-based implementation to evaluate gaussian kernel estimates which should improve the performance of gaussian_kde. It could also be used to evaluate the Nadarya-Watson estimator, and I've kept the function relatively generic by supporting vector-valued weights.
Additional information

python runtests.py --bench-compare master stats.GaussianKDE
· Creating environments
· Discovering benchmarks.....
·· Uninstalling from virtualenv-py3.7-Cython0.29.2-Tempita-numpy-pybind11-pytest-six..
·· Installing 2465d671 <fast-gaussian-de> into virtualenv-py3.7-Cython0.29.2-Tempita-numpy-pybind11-pytest-six...
· Running 4 total benchmarks (2 commits * 1 environments * 2 benchmarks)
[  0.00%] · For scipy commit 9b87b584 <master> (round 1/2):
[  0.00%] ·· Building for virtualenv-py3.7-Cython0.29.2-Tempita-numpy-pybind11-pytest-six..........
[  0.00%] ·· Benchmarking virtualenv-py3.7-Cython0.29.2-Tempita-numpy-pybind11-pytest-six
[ 12.50%] ··· Running (stats.GaussianKDE.time_gaussian_kde_evaluate_few_points--)..
[ 25.00%] · For scipy commit 2465d671 <fast-gaussian-de> (round 1/2):
[ 25.00%] ·· Building for virtualenv-py3.7-Cython0.29.2-Tempita-numpy-pybind11-pytest-six..........
[ 25.00%] ·· Benchmarking virtualenv-py3.7-Cython0.29.2-Tempita-numpy-pybind11-pytest-six
[ 37.50%] ··· Running (stats.GaussianKDE.time_gaussian_kde_evaluate_few_points--)..
[ 50.00%] · For scipy commit 2465d671 <fast-gaussian-de> (round 2/2):
[ 50.00%] ·· Benchmarking virtualenv-py3.7-Cython0.29.2-Tempita-numpy-pybind11-pytest-six
[ 62.50%] ··· stats.GaussianKDE.time_gaussian_kde_evaluate_few_points                                               463±7μs
[ 75.00%] ··· stats.GaussianKDE.time_gaussian_kde_evaluate_many_points                                           1.40±0.01s
[ 75.00%] · For scipy commit 9b87b584 <master> (round 2/2):
[ 75.00%] ·· Building for virtualenv-py3.7-Cython0.29.2-Tempita-numpy-pybind11-pytest-six..........
[ 75.00%] ·· Benchmarking virtualenv-py3.7-Cython0.29.2-Tempita-numpy-pybind11-pytest-six
[ 87.50%] ··· stats.GaussianKDE.time_gaussian_kde_evaluate_few_points                                              661±40μs
[100.00%] ··· stats.GaussianKDE.time_gaussian_kde_evaluate_many_points                                           1.53±0.07s
       before           after         ratio
     [9b87b584]       [2465d671]
     <master>         <fast-gaussian-de>
-        661±40μs          463±7μs     0.70  stats.GaussianKDE.time_gaussian_kde_evaluate_few_points

SOME BENCHMARKS HAVE CHANGED SIGNIFICANTLY.
PERFORMANCE INCREASED.

Good sign that no tests were modified & CI is all green + benchmark improvement.

Hi @tylerjereddy, are you up for having another look over the changes?

@tylerjereddy, would you be up for retriggering the builds? I don't have permission and the builds seem to have failed for reasons unrelated to this change.

done, although not strictly needed - all those were known failures that were resolved in the meantime I think

@tylerjereddy, @rgommers, do you know what the timeline is for merging this PR? I'm happy to keep rebasing the PR if a merge is likely, but resolving the conflicts is starting to get fiddly because of intermediate changes.

@tillahoffmann, if @tylerjereddy or @rgommers don't get to it by then, I'll take a look this weekend.

@tillahoffmann, back when you first made the conversion to Cython, the function was hard-coded to use double precision floating point.  Since then, https://github.com/scipy/scipy/issues/11464 was reported, and then fixed in https://github.com/scipy/scipy/pull/11467.  So now the function must do a better job respecting the input types.  That's why there are now failures in the test test_kde_output_dtype.
Can you take a look at fixing this?

Tests should be passing now (a few still pending). Two additional changes:

I updated the tests such that tests are skipped when a particular floating point precision isn't available as opposed to not trying to run the test. The motivation is to make it explicit that a test is not run on a particular platform.
Specialising the fused type requires a bit of hackery based on the number of bytes of the desired output_dtype.

* Specialising the fused type requires a bit of hackery based on the number of bytes of the desired `output_dtype`.

I assume that what the real _=0 in the signature is about. Out of curiosity, why didn't typing the input arrays as real[:, ;] work?

I assume the speedup is coming from pushing the loops into Cython, so perhaps the np.linalg calls should be left in Python? You could even pass in estimate as an argument and then have a cdef function doing all the looping.

This wasn't answered, but the PR in its current form looks fine as well - let's get it in, it's been waiting for too long already. Thanks @tillahoffmann!

I assume that what the real _=0 in the signature is about. Out of curiosity, why didn't typing the input arrays as real[:, ;] work?

I couldn't type the input as real[:, :] because the input argument may have different dtypes. Having said that, I probably could've done the type casting outside the cython function.


Touhou Genso Wanderer TOD -RELOADED- [PCSG00985]

App summary

App name: 不思議の幻想郷TOD -RELOADED-
App serial: PCSG00985
App version: 1.00

Vita3K summary

Version: v0.1.6
Build number: 3017
Commit hash: https://github.com/vita3k/vita3k/commit/762ee3bc
CPU backend: Dynarmic
GPU backend: Vulkan

Test environment summary

Tested by: nishinji
OS: Windows 10
CPU: Ryzen 9 3950x
GPU: RTX3060Ti
RAM: 32 GB

Issues
Screenshots

Log
vita3k.log
Recommended labels
nothing

PLEASE SHARE ME THE BASE GAME, I NEED IT


Xml threat protection

Note: new features are to be opened against next, hotfixes against master.
Summary
XML threat protection plugin
https://github.com/Trust1Team/kong-plugin-xml-threat-protection
Full changelog

Implement xml threat protection plugin

Please base feature branches out of next, and submit PRs against it, as specified in the PR template. Thanks.


Unity Package Manager fix

Pull request checklist
Please check if your PR fulfills the following requirements:

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been reviewed and added / updated if needed (for bug fixes / features)
[x] No compiler errors or warnings

Pull request type
Please check the type of change your PR introduces:

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

Issue Number
Closes #24
What is the current behavior?
The project can not be used as a UPM project.
What is the new behavior?
Fixed package.json and added an autotagging implementation to prepare the project to be uploaded at OpenUPM.
The auto tag implementation will tag releases when package.json version is upgraded. If this is not required, I can remove it from the PR.
Downgraded Unity version to 2018 LTS. You should use the lowest possible version of Unity when developing a plugin to ensure that you don't have a problem. Unity is not very friendly with plugin downgrading. I updated the package.json version to use this Unity version.
Once this change is merged, I'll update the current package in OpenUPM to point to this repository and make a new PR with the instructions of how to add this package using UPM.
Does this introduce a breaking change?

[ ] Yes
[x] No

Other information
I updated the gitignore because not every package was being ignored.
On which Unity version has this been tested?

[ ] 2020.4 LTS
[ ] 2020.3
[ ] 2020.2
[ ] 2020.1
[ ] 2019.4 LTS
[ ] 2019.3
[ ] 2019.2
[ ] 2019.1
[x] 2018.4 LTS

Scripting backend:

[ ] Mono
[x] IL2CPP

There seem to be a problem with the Unity License in the CI process

@svermeulen could you look at this PR and the problem with the licensing?

Hey, can you give me a mention here when we merge this? We can then re-target the OpenUPM package to use this main repo instead of my fork. @Bullrich

Hey, can you give me a mention here when we merge this? We can then re-target the OpenUPM package to use this main repo instead of my fork. @Bullrich

I've been trying to get @svermeulen attention but he replied on Glitter that he is busy lately. I don't know what we can do meanwhile. I can also open a PR pointing to your repo as a temporal solution

Hey, can you give me a mention here when we merge this? We can then re-target the OpenUPM package to use this main repo instead of my fork. @Bullrich

I've been trying to get @svermeulen attention but he replied on Glitter that he is busy lately. I don't know what we can do meanwhile.

I'll try to help you out when I get the chance. With the new subdirectory support in UPM, it shouldn't be very hard to get this PR rolling.

I can also open a PR pointing to your repo as a temporal solution

I don't understand what you mean by this. Can you elaborate?


Feature/blank descriptor

This fixes the null pointer exception users could get if they set a Tool descriptor path to empty. It also should enforce that a tool needs at least one non-blank descriptor to be valid.

[x] Check that you pass the basic style checks and unit tests by running mvn clean install

#332

Coverage increased (+0.002%) to 73.206% when pulling b8b95135ce4f4b488ee62d6600ac8e9ec13e9896 on feature/blank_descriptor into c829c34f6b547d01a8a082af451de53cb36f4a0f on develop.

Coverage increased (+0.2%) to 73.268% when pulling 6317b91dd78e3879b3f8b971ea34afe1c63e47bb on feature/blank_descriptor into 730edc30e89bc4701d1228c4472076239e1f76c0 on develop.

Coverage increased (+0.1%) to 73.255% when pulling c460928126d5827a21bc3f56ee5d540649dd9a3c on feature/blank_descriptor into 730edc30e89bc4701d1228c4472076239e1f76c0 on develop.


This lib can not support categorical feature?

I didn't find any interface  to support this functions. i can find in sklearn

hi @charmby , actually we do support categorical slot names or indexes, please see the documentation here:
http://mmlspark.azureedge.net/docs/scala/index.html#com.microsoft.ml.spark.LightGBMClassifier@setCategoricalSlotIndexes(value:Array[Int]):LightGBMParams.this.type

You can pass an array of indexes or slot names for the features vector column that lightgbm takes in and they will be natively treated as categorical:
def setCategoricalSlotIndexes(value: Array[Int]): LightGBMClassifier.this.type
def setCategoricalSlotNames(value: Array[String]): LightGBMClassifier.this.type
Alternatively, if you use string indexer or our value indexer, categorical metadata will be automatically added to the dataframe and lightgbm will actually be able to interpret it and treat those columns as categoricals by splitting on the feature values directly (so you won't need to one-hot-encode them)

sorry, did you mean lightgbm specifically or the library in general?  Spark ML supports categoricals with StringIndexer and we have our own ValueIndexer implementation.

@charmby closing this issue as we do support categoricals, both in mmlspark (and many of the algorithms such as lightgbm) and in Spark ML, please feel free to reopen if you are still having this issue.

@imatiach-msft
Hi, i'm trying to use the native categorical variable support rather than one hot encoding them. I've tried using both  the normal spark StringIndexer and VectorAssembler  and the mmlspark ValueIndexer and FastVectorAssembler but keep getting the following stack trace (this is in python btw)
Py4JJavaError: An error occurred while calling o179.fit.
: java.lang.UnsupportedOperationException: Unsupported Categorical type FloatType
at com.microsoft.ml.spark.ValueIndexer.fit(ValueIndexer.scala:75)
at com.microsoft.ml.spark.TrainClassifier.convertLabel(TrainClassifier.scala:224)
at com.microsoft.ml.spark.TrainClassifier.fit(TrainClassifier.scala:99)
at com.microsoft.ml.spark.TrainClassifier.fit(TrainClassifier.scala:50)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)
at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)
at py4j.Gateway.invoke(Gateway.java:282)
at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
at py4j.commands.CallCommand.execute(CallCommand.java:79)
at py4j.GatewayConnection.run(GatewayConnection.java:238)
at java.lang.Thread.run(Thread.java:748)
Both the normal spark and mmlspark vector assemblers require numerically encoded categorical variables, however both of the indexers convert to floats. What am i missing here?

@jwgwalton
For that specific error in ValueIndexer, the error is coming from here:
https://github.com/Azure/mmlspark/blob/7eed833156f507357c8b43aefcf77ddfab0f2be9/src/value-indexer/src/main/scala/ValueIndexer.scala#L75
it looks like you have floating point values instead of ints/strings that you are trying to convert to categoricals.  If the dataset is not confidential, would you be able to share the values that are in that column or some similar open dataset that has the same issue?
I think it would be easy to add floating point type support for indexing categoricals but it just seems a bit weird to have floats like 1.2, 2.5, etc treated as categoricals which have no concept of ordering.  What is the use-case here specifically?

If you have floats like 1,2,3 etc. in that column (one of the ℕ natural numbers) then you could just convert the column to int in spark


TCES-44 EMP - Employer Table

Description
Completed TCES-44

Implemented the Employer Table view with filter input fields (no functionality)
Table is populated with mock data

Type of change

[X] New feature (non-breaking change which adds functionality)

Checklist
Please delete options that are not applicable.

[X] My code follows the style guidelines of this project (required)
[X] I have performed a self-review of my code (required)
[X] I have linted and formatted my code (required)
[X] New and existing unit tests pass locally with my changes (required)
[X] I have commented my code, particularly in hard-to-understand areas
[X] My changes generate no new warnings

Just need to swap one icon. Then should be good to go.
Thanks again!

Oops I must have missed that! It's done now :)


List.append has flipped argument order

tl;dr List.append should be renamed List.appendTo, to reflect the actual order of its arguments.
The Bug
Here is some Elm code:
[ "foo", "bar" ]
    |> List.append [ "baz" ]

Its output, surprisingly, is:
[ "baz", "foo", "bar" ]

Clearly this function does not follow Elm's standard for argument ordering!
The History
I'm assuming this was originally implemented according to how append is implemented in Haskell: the contents of second argument are appended to the contents of the first. It's probably been this way since day one of Elm, back before standardized argument ordering or (|>) existed.
The trouble is that now we have a strong convention in Elm that says if you write the code in the original sample above, you should reasonably expect to get [ "foo", "bar", "baz" ].
One might argue "yeah but then List.append [ "foo", "bar" ] [ "baz" ] gets you [ "baz", "foo", "bar" ] which is surprising in a different way. This is true, but in practice nobody ever fully applies List.append except in examples. We write [ "foo", "bar" ] ++ [ "baz" ] instead.
The place where you want to call List.append in actual Elm code is in a pipeline, but I never ever ever write |> List.append foo because that code will do the opposite of what it says it's going to do. (I always write |> (++) foo instead, because it's not self-documenting at all - which unfortunately is an improvement over misleading.)
Proposed Fix
I hope it's not controversial to conclude that List.append shouldn't behave in a surprising way under the circumstance in which people will most often reach for it.
The naive fix for this would be to flip it. Unfortunately this would be a disastrously backwards-incompatible change, as its type signature is List a -> List a -> List a - meaning everyone's code will still compile for the flipped version, it will just do something completely different. This does not seem like a viable choice for a core function.
A better fix, in my opinion, is to rename it (and any other core append functions implemented this way) to prepend appendTo, per @rgrempel's suggestion. Here's how that would look:
[ "bar", "baz" ]
    |> List.appendTo [ "foo" ]

[ "foo", "bar", "baz" ]

If that change happens, then:

The surprising List.append function is replaced with an identically-implemented List.appendTo, which follows standardized Elm argument order and works as expected in a pipeline.
List still exposes a function that makes it Monoidal, in case that ever matters.
Some time in the future, enough major versions of core will have been released (presumably with auto-migrations in between) that a List.append can be safely introduced again, this time with Elm-style argument order. (This made sense with List.prepend but would not be necessary with List.appendTo.)

One way of looking at this problem is that the word append does not carry quite enough meaning to clearly tell you which argument will be appended to which argument.
That is, given append : List a -> List a -> List a, is there anything about the word "append" that tells us whether the first argument will be appended to the second, or the second to the first? I suppose you might argue that there is potentially an intuition that the order of the results will match the order of the arguments, but I'm not really sure that is so -- that is, I don't think there is much of a natural intuition one way or the other.
For what append currently does, I wonder whether appendTo would be a better name. For instance, if I saw:
[ "foo", "bar" ]
    |> List.appendTo [ "baz" ]

... then I think I would pretty unambiguously assume that I was going to end up with [ "baz", "foo", "bar" ].
What about the non-pipelined form, i.e.:
List.appendTo [ "baz" ] [ "foo", "bar" ]

I think that [ "baz", "foo", "bar" ]would also be non-surprising in that case, though I'm not quite as sure that others would agree.
I suppose the question this raises is whether appendTo creates a stronger intuition about argument ordering than prepend does.
The other angle on this that would be worth considering is this. Leaving aside the proper name for the function for the moment, the prior question is whether the first argument ought to end up first in the final list, or second in the final list. It seems to me that this depends on whether you think the thing being carried along in the pipeline is more likely to end up first or last in the final list.
Now, typically (but not always) the thing being carried along in the pipeline (i.e. the second argument) is something you've computed, whereas the first argument is often a constant. (In your case, that is, the ["foo", "bar"] is often a result of a computation carried out in the pipeline, whereas ["baz"] is often a constant).
So, the question reduces itself to: are you more often appending a constant list to a computed value, or a computed value to a constant list?
I don't think I know the answer to that question -- it just seems like it might be a relevant angle on this.

I've wanted both "prepend" and "append" behavior at different times, to be honest.
I really like the appendTo idea! It's clearer to me than either status quo or prepend, and has better long-term characteristics because it eliminates the desire to reintroduce append someday.
I've edited the OP to reflect my view that this is a better solution.

append should really be nothing but a synonym for (++). Calling this behaviour append is just downright weird.

@kuzux what strikes you as weird about it?

I agree with @kuzux that if we have append it should be a synonym for (++), but this proposal is that we shouldn't have append. It's much less weird, IMHO, for appendTo to not be a synonym for (++). I support the revised proposal of renaming the function without changing the argument order.

Id support the couple prepend / append.

Id support the couple prepend / append.

This term is used the same way in a couple different places, and I'm not really persuaded that the current situation is a problem. I'm going to close and add to a meta thread about API ideas.


Beautification of Subprogram parameters

There is something strange going on when a parameter is declared constant in parameters.  It's getting a massive extra indent.

Found the bug source.  Constant had its own entry for finding an ending because these are frequently stretched over multiple lines.  For closing a structure, I require balanced parenthesis.  However when a constant is declared inside of a parameter list, we are by default in an unbalanced state so I never actually check for the end.  I need a different way to determine global versus local parenthesis unbalance.  This is a nasty bug indeed.

Figured out a better algorithm for closing element checking and it seems to work out pretty well.  Successfully aligns constants inside of subprograms so that fixes that issue.


ARROW-5690: [Packaging][Python] Fix macOS wheel building

This fixes the macOS wheels for me. There should be a better way to make the linking against grpc static, let me know if you have any ideas (any flags in CMake that could be set?).

Perhaps @kou has an idea.

We should check the crossbow builds once #4675 is merged.

I'm fine with the temporary workaround unless a better solution comes up

@ursabot crossbow package wheel-osx-cp27m wheel-osx-cp35m wheel-osx-cp36m wheel-osx-cp37m wheel-win-cp35m wheel-win-cp36m wheel-win-cp37m

Requested the win builds accidentally.

I think that -DgRPC_SOURCE=BUNDLED is better to link gRPC statically.


🐛 [firebase_messaging]  Question regarding the setup documentation for app store apps

Hi
I have a question regarding the iOS setup of firebase messaging with flutter.
On the provisioning profile section in the documentation
https://firebase.flutter.dev/docs/messaging/apple-integration/#3-generating-a-provisioning-profile
There is this section
On the "Profiles" menu item, register a new Profile. Select the "iOS App Development" (or macOS) checkbox and click "Continue".

Now I have done this and my notifications are working fine on my device. However I noticed another type on the page when i was setting up the provisioning profile that was labelled "Distribution->App Store".
I also noticed that the "iOS App Development" was also labelled with "Create a provisioning profile to install development apps on test devices." -> The test devices section concerns me a bit.

Do we actually have to make another provisioning profile using this "Distribution->App Store" type if we plan on releasing on the app store?
If so how do add it to my app instead of the development one

Yes, you will need to build the app with a distribution profile in order to prepare to distribute the archived app. The provisioning profiles work like this:

iOS App Development: for testing the app on a physical device while developing.
Ad Hoc: for distributing the app to non-TestFlight testers (e.g. via HockeyApp).
App Store: for distributing the app via TestFlight or the App Store. (Note that this one doesn't work on its own: your app will still need signing by Apple.)

However, this is more related to the use of Xcode and the iOS distribution steps rather than FlutterFire so I'm going to close the issue. If you have any more questions feel free to write on the Xcode forums or StackOverflow.


Update tut-plugin to 0.6.12

Updates org.tpolecat:tut-plugin from 0.6.11 to 0.6.12.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention @scala-steward in the comments below.
Have a nice day!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [{ groupId = "org.tpolecat", artifactId = "tut-plugin" }]

labels: semver-patch

Codecov Report

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

@@           Coverage Diff           @@
##           master     #154   +/-   ##
=======================================
  Coverage   97.51%   97.51%
=======================================
  Files           6        6
  Lines         282      282
  Branches       37       37
=======================================
  Hits          275      275
  Misses          7        7

Continue to review full report at Codecov.

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


SW-4393 Inventory view for seedlings by nursery

Exists at /inventory/nursery/$nurseryId
FE Batches by Nursery -> Show/Hide Empty Batches
https://terraformation.atlassian.net/browse/SW-4391
FE Batches by Nursery Page
https://terraformation.atlassian.net/browse/SW-4393

Pull in new types from terraware-server with Nursery Facilities API and implement service that makes the call to "get nursery summary"
Make the InventoryFiltersPopover work with either Species or Nursery OriginPage (originally implemented in InventoryBatch)
Implement same OriginPage logic into inventory table search, used in both nursery and species inventory tables
Add summary and table to the Nursery inventory view
Create InventorySeedlingsForNurseryTable component
Create InventorySummaryForNursery component that pulls from the new Nursery Facilities API
Implement "get batches for nursery" API call that uses the Search API

I'm seeing "null" for germination and loss rate. Should show an empty string or a 0% if no value:


Group creation throws error when creating a discussion board

Describe the bug
Tried creating "Dave's Group 2023" using hctester50. Was able to create the group blog, but it gave an error when trying to create the discussion: "There has been a critical error on this website."
The group was created, and when trying to add the discussion board from the front-end settings the same error occurs.
https://hcommons-staging.org/groups/daves-group-2023/
The group shows up in the groups list but has no join button. It was created as a public group, but could not get past the create a discussion step.
To Reproduce
Steps to reproduce the behavior:

Log into staging as hctester50
Go to Dave's Group 2023
Click on Manage/Discussion and try to enable it.
See error

Expected behavior
The discussion should be set up and you should move to the next screen in creation, or be taken back to the settings with a confirmation that the discussion has been added.
Context
Does this bug on production, development, or both?

[x] Tested on development instance
[x] Occurs on development instance
[x] Tested on production
[ ] Occurs on productions

Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Received the same error while going through the process of creating a group as Ferdinand (hctester40). After clicking "next step" on the Group Discussion question, I received the "There has been a critical error on this website" message. Encountered the same error when attempting to turn it on through the group settings as well.

Adding another update on this. In the group I created I haven't been able to get the discussion to work, but when I go to the "discussion" tab, it's showing the discussion board is for a private group called "(Formerly Woodrow Wilson) Career Enhancement Fellowship, 2020-21" is in my group. The test post I created isn't showing on the page, but is showing in the activity feed.

Yes, this is working. Closing.


Adjust language on readiness probes

Changes the sentence describing the behaviour between readiness probes and Kubernetes Services to be less vague. It now specifies that if any containers are reporting not ready, the Pod is removed from the Service. Prior to this change, the line could be interpreted as if all of its containers report not ready.

Hey there! @paigr, looks like you haven't signed the CLA yet. Could I please have you do that? https://github.com/kubernetes/community/blob/master/CLA.md

Hi @paigr, just a friendly remainder ping, are you still working on this draft PR? Thanks

/easycla

@paigr 👋🏻 Please feel free to /reopen when you're ready to continue.
/close


Bridging  Assets  Not Confirming

Describe the bug
I bridge eth testnet from holesky to hekla,it consumes a lot of time  but it does not proceed to confirming steps.   It will always load in processing but not in the state of confirming.I hope this will be address . This is a serious issue.

Steps to reproduce
No response
Spam policy

[X] I verify that this issue is NOT SPAM and understand SPAM issues will be closed and reported to GitHub, resulting in ACCOUNT TERMINATION.

The network is under heavy load, it's normal that it takes a while. We will work on a timeout notification to make it clearer. Just check your wallet, your transaction is pending and after a while goes through.

I try to add lid pool but everytime put usdc and eth eth are not showing


Better support for u64 through JSValue::as_u64() and u64::into() -> JsValue

Motivation
BigInt is now supported in stable releases of all modern browsers. Currently interfacing with BigInt generically in wasm-bindgen with JSValue is quite painful. JSValue is not aware of BigInt (and thus u64) at all.
Proposed Solution

Add a impl From<u64> for JSValue, that can be used to cast u64 to BigInt.
Add JSValue::as_u64(&self) -> Option<u64> to cast BigInt to u64.

Alternatives
This solution aligns closely to current implementation of primitives handling in JSValue. I am not aware of alternative implementation ideas, or if this can be built on top of wasm-bindgen.

Signed i64 variants would be great too!

Also should be closable now that https://github.com/rustwasm/wasm-bindgen/pull/2629 is merged.

I don't see anything similar to JsValue::as_u64 (a way to get u64/i64 from BigInt) in the linked PR, only the opposite conversions.
Am I missing some API? If not, perhaps worth reopening this issue.

Ping, can we reopen this?


Fix all broken links

Some links were broken by recent layout/naming refactoring.
Builds on https://github.com/submariner-io/submariner-website/pull/388.

This will fail until https://github.com/submariner-io/submariner-website/pull/388 is merged and published.


I get Newtonsoft.Json.JsonReaderException while deserializing

LocalBusiness

I get an exception from JsonConvert when I do this. The result is null.
Newtonsoft.Json.JsonConvert.DeserializeObject(Of Schema.NET.LocalBusiness)(json)
This is the exception:
Newtonsoft.Json.JsonReaderException: 'Unexpected character encountered while parsing value: [. Path '@context', line 4, position 16.'

This is the json I'm working with... Is there a syntax error somewhere?
{
  "@context" : [ "http://schema.org", {
    "@language" : "it"
  } ],
  "@type" : "LocalBusiness",
  "name" : "Mario Rossi",
  "url" : "https://example.com/mario-rossi-srl",
  "@id" : "https://example.com/mario-rossi-srl",
  "legalName" : "Mario Rossi s.r.l.",
  "currenciesAccepted" : "EUR",
  "address" : {
    "@type" : "PostalAddress",
    "addressLocality" : "Venezia",
    "addressRegion" : "VN",
    "postalCode" : "00334",
    "streetAddress" : "10, Piazza Grande"
  },
  "contactPoint" : [ {
    "@type" : "ContactPoint",
    "contactType" : "customer service",
    "telephone" : "+393332234666"
  } ],
  "telephone" : "+393332234666"
}

After some fiddling i found that dropping the @language part seems to make it work... so for now i first deserialize once, then edit the json and deserialize again. Is there a more practical solution?

Is it valid JSON-LD to have the context like that with a language in it? I'll try adding a unit test and see where I get.

The specification describes languages in a context, but I suspect the json I have to parse may have used an array instead of an object for that... of this I'm not sure if it's valid.
Btw the playground website does not complain...

Thanks for the links. This exception occurs because @context is currently being deserialized to a string.
public class JsonLdObject
{
    [DataMember(Name = "@context", Order = 0)]
    public virtual string Context { get; }

    [DataMember(Name = "@id", Order = 2)]
    public virtual Uri Id { get; set; }

    [DataMember(Name = "@type", Order = 1)]
    public virtual string Type { get; }
}

Here is a unit test that can verify this:
private const string JsonWithLanguageInContext =
    "{\r\n" +
        "\"@context\": [ \"http://schema.org\", { \"@language\": \"it\" } ],\r\n" +
        "\"@type\": \"LocalBusiness\",\r\n" +
        "\"@id\": \"https://example.com/mario-rossi-srl\",\r\n" +
        "\"name\": \"Mario Rossi\"\r\n" +
    "}";

[Fact]
public void DeserializeObject_WithLanguageInContext_DeserializesSuccessfully()
{
    var localBusiness = JsonConvert.DeserializeObject<LocalBusiness>(JsonWithLanguageInContext);

    // Asserts....
}

We could either remove this property because 99% of the time the value is just schema.org  or we would need a custom JsonConverter to handle this property and any properties it contains like @language. I'm not certain how common this scenario is. I'd be willing to take a PR to fix this.


Revisit the managedBufferPlacement workaround

I think we really need to look for a somewhat better option here or better tweak when we apply the workaround to decrease the number of game-specific configs we're using.
I've tried a couple of things which were specifically aimed at optimizing only caustics (fixed the Water D3D8 SDK sample app), but sadly that doesn't appear to be the entire story, as 3DMark2001 SE still regresses in performance.
Alternatively we could keep it, but maybe explore defaulting to it being off and enabling it only where we know it helps with performance and doesn't cause issues. At this point I believe this would in fact reflect as less game specific config entries, since it has caused more numerous performance regressions than we've initially anticipated.
So far, off the top of my head, I remember it dramatically improving performance or fixing issues in:

The Water D3D8 SDK app
3DMark2001 SE (High Detail Car Chase benchmark)
Commandos 3 (superseded d3d9.allowDirectBufferMapping = False)
Red Faction (superseded d3d9.allowDirectBufferMapping = False)

Alright, I've managed to solve the big mystery. 3DMark2001 SE, in all its wisdom, switches paths during initialization. While it appears to be loading the dxvk.conf file from the same directory as its executable initially, it will in fact switch current paths to the "e2driver" folder and load it from there (or revert to defaults, not finding any overrides...).
This fun behavior blinded me to the fact that performance in the Car Chase - High detail benchmark is indeed improved both by d3d9.cachedDynamicBuffers = True, albeit to a lesser degree, and by d3d9.allowDirectBufferMapping = False, which has the same effect on performance as using MANAGED. This mirrors what I saw with the "Water" SDK app and makes a lot more sense now.
That being said, considering the numerous performance regressions we've seen as a result of resorting to this workaround, and it behaving essentially the same as d3d9.allowDirectBufferMapping, I believe it's better we drop it altogether and stick to d3d9's buffer mapping mode (see d3d9_common_buffer.cpp), patching up things on a case by case basis, when we see misbehaving apps. It is, after all, the most sane and maintainable approach and one dxvk's d3d9 space is no stranger to.
I'll PR something soon and probably do a long run of validations.

I'll leave this up for future discussion/debate: what we can consider to generally improve these buffer readback situations is enabling cachedDynamicBuffers by default for d3d8, since we're rarely (if ever) GPU bound anyway.
I have a feeling native drivers sort of did something similar, but dynamically, by tracking actual buffer access patterns. So it would, perhaps be even more beneficial to pursue this approach for d3d9 as well if feasible.


Juno test config files

Description of feature
Add in configuration file for Juno testing and move all files being used downstream of ~/resources/ path

Marking this issue as closed since it has been resolved with recent commit to dev branch.


VFS changes broke build on Windows

Some changes in #426 broke the build on Windows. I can reproduce this locally. https://ci.appveyor.com/project/sgillies/fiona
The error occurs when trying to open any file:
        if vsi:
            if not isinstance(vsi, string_types) or not vfs.valid_vsi(vsi):
>               raise TypeError("invalid vsi: %r" % vsi)
E               TypeError: invalid vsi: 'c'
fiona\collection.py:69: TypeError

I think the problem might be in parse_paths and the handling of Windows-style paths.

The problem seems to be that urlparse doesn't like the drive in Windows paths, e.g.:
>>> urlparse(r"C:\this\is\a\test.shp")
ParseResult(scheme='c', netloc='', path='\\this\\is\\a\\test.shp', params='', query='', fragment='')

The "C:" is detected as the scheme and removed from the path.
I haven't been following along with the VFS/VSI changes. Any thoughts @youngpm?

@snorfalorpagus we could get help from pathlib on Python 3 (and the backport https://pypi.python.org/pypi/pathlib2 for Python 2) maybe?
>>> import pathlib
>>> pathlib.PureWindowsPath(r"C:\this\is\a\test.shp").as_uri()
'file:///C:/this/is/a/test.shp'
>>> from urllib.parse import urlparse
>>> url = pathlib.PureWindowsPath(r"C:\this\is\a\test.shp").as_uri()
>>> urlparse(url)
ParseResult(scheme='file', netloc='', path='/C:/this/is/a/test.shp', params='', query='', fragment='')

So maybe the first thing we do in fiona.open is this:
try:
    path = pathlib.PurePath(path).as_uri()
except ValueError:
    # as_uri() will fail if path isn't a filename
    # continue, treating path as a URI
    pass

# Parse the vfs into a vsi and an archive path.
path, vsi, archive = parse_paths(path, vfs)

As a side benefit, we'd then support Path objects as input to fiona.open.

Does this crop up in rasterio as well?  If not, we could probably borrow what is done there.

@youngpm no, it doesn't, but only because we've been overlooking the Windows platform.

>>> urlparse(url)
ParseResult(scheme='file', netloc='', path='/C:/this/is/a/test.shp', params='', query='', fragment='')

The forward slash at the start of the path would break things, e.g.
>>> os.listdir(r"/C:/")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: '/C:/'

@snorfalorpagus that looks like a pathlib bug to me.

Can we check for a drive letter and remove the leading slash in that case?

Presumably we should do this when running on Windows only, as it could be a valid (albeit unusual) path on *nix. Something like:
if sys.platform == "win32" and path[0] == "/":
    path = path[1:]


Create with-firebase-hosting-and-typescript example

Adds an example based off of @jthegedus work on firebase hosting, compatible with next v6 and using typescript in both the firebase functions and the next app.

@sampsonjoliver It might also be worth seeing what errors appear when using a custom _app.js file as errors arise with the js version. Preempting with a note in the readme will save some later debugging. re https://github.com/zeit/next.js/issues/4401#issuecomment-390397914


Assign habits to specific days of week

We need to implement the feature that enables user to assign their habits only to specific days of week.

The feature is imbedded now (see ea5da821f2e3c23fd6072fb4ecceb5508d5cc370), but needs upgrades for compatibility.

add daily button besides each day of week button.
diverge the program flow for storing daily/weekly-repeating habits.

Achieved with ea5da821f2e3c23fd6072fb4ecceb5508d5cc370


Constant failed report on Filter Level.

LG Air Conditioner Model
LG S4NQ09WA51A.EB2GAMZ 220v 9000btu.
Describe the bug
Constant log entry "Filter Life Level"
Symptom check

Does your unit appear in the Home app? Yes
Is the current on/off state, temperature, and mode being reported? Yes
Does your unit respond to the controls? Yes

Relevant logs
21/01/2022, 13:46:57] [homebridge-lg-thinq-ac] This plugin generated a warning from the characteristic 'Filter Life Level': characteristic value expected valid finite number and received "NaN" (number). See https://git.io/JtMGR for more info.
[21/01/2022, 13:47:57] [homebridge-lg-thinq-ac] This plugin generated a warning from the characteristic 'Filter Life Level': characteristic value expected valid finite number and received "NaN" (number). See https://git.io/JtMGR for more info.
[Tuya] Heard back from Grill with command 8
[21/01/2022, 13:48:57] [homebridge-lg-thinq-ac] This plugin generated a warning from the characteristic 'Filter Life Level': characteristic value expected valid finite number and received "NaN" (number). See https://git.io/JtMGR for more info.

Same here. It would be awesome if this error message could at least be hidden, because it's definitely clogging up the logs, but I don't think @sman591 is still working on this plugin...

Log error fixed in 22f0aa6007dc4ee993aed383e3c35afcc2707fd4, follow #94 for a fix for filter life being accurate


Frontend

It's not ready to merge yet

Closed, make sure to request a merge to the correct branch


binarysearchtree implemention

Have you read the Contributing Guidelines on Pull Requests?
I have added binary search tree implementation using different test cases.
Description
(Write your answer here.)
Checklist

[ ] I've read the contribution guidelines.
[ ] I've checked the issue list before deciding what to submit.
[ ] I've edited the README.md and link to my code.

Related Issues or Pull Requests
(Write your answer here.)

I'm closing the PR due to no corresponding Issue. If you would like to reopen this PR to be reviewed please join the Slack and drop me a message.


Show the origin of each cluster in the home view

In the home view, we should have a new column in the clusters list called origin which shows the user whether the clusters are coming from a kubeconfig (and which path), in-cluster, or dynamic (if we could have the plugin name here or a string identifying who added it'd be great).

Working on this

This issue needs design, removing myself right now


Only first flatpickr on a page works in IE11

Hi!
I noticed that on IE11 only one flatpickr works (test http://chmln.github.io/flatpickr/ with IE11).
It seems that it's on line 594 it crashes. I tried with the code from this StackoverFlow answer and it seems to be working:
http://stackoverflow.com/questions/27643181/ie-11-dispatchevent
So I changed the code from:
"createEvent" in document             ? ( element.dispatchEvent( new Event("change") ) )             : ( element.fireEvent("onchange") );
to:
if (document.createEventObject) {     element.fireEvent("onchange"); } else {     var evt = document.createEvent("HTMLEvents");     evt.initEvent("change", false, true);     element.dispatchEvent(evt); }
Have not tested it thoroughly but it seems to be working....

Please verify the events firing properly now

@chmln thanks for the quick fix. are you holding off tagging 1.6.6 this until the fix has been verified?

Seems to be working fine, and 1.6.6 is released.
Despite the createEvent API being obsolete now, I'll keep it for IE11 support until the market share is negligible.

Hello,
I see that any datepicker work on IE11.
The bug is about the "L’objet ne gère pas la propriété ou la méthode « setHours »".
Thanks,


Attempted to access a missing method

win10 pc, chrome.
i installed it for the firs time: "...\ASF-win-x64\plugins\GameRemover-generic\GameRemover.dll"
i entered the command in asf web-interface: deletegame BotName 250957
asf said:

[12:53:59] Unknown command!

log said:

2023-07-19 12:53:59|ArchiSteamFarm-31396|ERROR|ASF|OnBotCommand() System.MissingMethodException: Attempted to access a missing method.
at GameRemover.GameRemoverPlugin.ResponseDeleteGame(Bot bot, EAccess access, String appIDsText)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.StartTStateMachine
at GameRemover.GameRemoverPlugin.ResponseDeleteGame(Bot bot, EAccess access, String appIDsText)
at GameRemover.GameRemoverPlugin.<>c__DisplayClass7_0.b__1(Bot bot)
at System.Linq.Enumerable.SelectEnumerableIterator2.MoveNext()    at System.Threading.Tasks.Task.WhenAll[TResult](IEnumerable1)
at ArchiSteamFarm.Core.Utilities.InParallel[T](IEnumerable1 tasks)    at GameRemover.GameRemoverPlugin.ResponseDeleteGame(UInt64 steamID, EAccess access, String botNames, String appIDsText)    at ArchiSteamFarm.Core.Utilities.InParallel[T](IEnumerable1 tasks)
at ArchiSteamFarm.Plugins.PluginsCore.OnBotCommand(Bot bot, EAccess access, String message, String[] args, UInt64 steamID)

Fixed in v2.3.0


Add an option to randomize flag coordinates

To prevent identification of plugin users, add a configuration to randomize flag coordinates (enabled by default)

Implemented in b2d3da74cead5ffb4cc50d472f7036dee30a072a. Pushed to testing in version <IP_ADDRESS>

Need to do something like a minimum timer before shouting if you don't already.
Some datacentres are mass-reporting everybody shouting within a second or two since it's seen as toxic to their communities.


Fix names of Variant operators

This table was out of date for a long time.

Shouldn't - and + be called "addition" and "subtraction"?
Why are these named but literally every other operator is not?

There's the regular binary - which is subtraction, and there's the unary - which is negation. Same applies to +. And there's also the + that is used for string concatenation. Since those names are meant for error messages, specifying the variants makes them easier to recognize.

Cherry picked into 3.0.3


Issue with push notification to chrome

I have implemented the web push notification using the web-push-PHP library and it was working well but now an issue has occurred
Users can be subscribed successfully but not able to send the notification. I have print the response of
$webPush->sendNotification(
$notification['subscription'],
$notification['payload'] // optional (defaults null)
);
and its return 1 even though notification not push to chrome browser, if I push notification manually from crome-developer mode / application/service-worker then notification will push.
operating system: Linux
PHP Version: 7.3

When you send a push using package do you see any errors on chrome?
Usually if you keep the website open with the console opened it shows up a message if anything goes wrong (or right).
Can you check it and post it here?
It would help as well if you could show your service worker file or at least the part where renders the push.

@edeljokaa Your implementation seems to be correct, I tested the second snippet you posted and it is working for me, something weird happened tho:
When I used true for the flush param on sendNotification the push notification would only be deployed if I looped through the response of it. Like this:
$response = $webPush->sendNotification(
            $subscription,
            $payload,
            true
        );

        foreach($response as $result){
            dd($result->isSuccess());
        }

Without that last foreach the push never reaches the browser, I'm not sure if that's a bug or something that I got wrong.
Now, when I used the $webPush->flush() method inside a loop (like in the package examples) everything seemed to work just fine.
I'm not really sure what is causing your issue...

I think it's intended behavior because the sendNotifications method returns a generator. Methods that yield values must be called before they are able to exhaust their contents. So, the notifications in the flush can't send to the endpoints unless they're triggered by a loop


New App: Qintel PMI

Name of the app
Qintel PMI (qintelpmi)
Integration
Integrates with Qintel PMI: https://www.qintel.com/products/pmi/
About
Qintel’s Patch Management Intelligence (PMI) product simplifies the vulnerability management process by providing vital context around reported Common Vulnerabilities and Exposures. With this app, users can query PMI to surface CVEs that are known by Qintel to be leveraged by adversaries of all stripes.

repo created at https://github.com/splunk-soar-connectors/qintelpmi


Improvements to message displayed when linter is not installed

For #3659

[ ] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR)
[ ] Title summarizes what is changing
[ ] Has a news entry file (remember to thank yourself!)
[x] ~Unit tests & system/integration tests are added/updated~
[x] ~Test plan is updated as appropriate~
[x] ~package-lock.json has been regenerated by running npm install (if dependencies have changed)~

...and yes, please do fill out the template for the PR...


Windows & CUDA build issue

I hope whoever is reading this has had a good day. I'm attempting to build JAX on Windows with CUDA support. I'm using the following command:
python .\build\build.py --enable_cuda --cuda_version="11.7" --cudnn_version="8.4.1" --cudnn_path=C:\\Users\\.......\\cudnn-windows-x86_64-<IP_ADDRESS>_cuda11.6-archive\\cudnn-windows-x86_64-<IP_ADDRESS>_cuda11.6-archive --cuda_path="C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.7"
I'm using the latest version of the jax repository. CUDA 11.7, cuddn 8.4.1. I'm using bazel version 5.2.0
Here's the build error:
ERROR: @org_tensorflow//tensorflow/compiler/xla/python:enable_gpu :: Error loading option @org_tensorflow//tensorflow/compiler/xla/python:enable_gpu: no such package '@local_config_cuda//cuda': in call to path(), parameter 'path' got value of type 'NoneType', want 'string, Label, or path'
It seems to be a problem similar to one when building tensorflow? https://github.com/tensorflow/tensorflow/issues/11859
Any ideas? Thanks in advance.

JAX on Windows is supported by the community. Contributions welcome!

I noticed from #5795 that there's a jax-windows-builder repo. Maybe that could help?
I hope you're having a good day too!


changed selects to be autocompletes in cat Items and items dialogs #495

Description
Changed the select inputs in catalogue items and items dialog to be autocompletes
Testing instructions

[ ] Review code
[ ] Check Actions build
[ ] Review changes to test coverage

Agile board tracking
closes #495

Codecov Report
Attention: Patch coverage is 96.11111% with 7 lines in your changes are missing coverage. Please review.

Project coverage is 93.95%.  Consider uploading reports for the commit f95d02c to get more accurate results

Files
Patch %
Lines

src/items/itemDialog.component.tsx
94.06%
7 Missing :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #525      +/-   ##
===========================================
- Coverage    94.03%   93.95%   -0.09%
===========================================
  Files           62       62
  Lines        17712    17712
  Branches      2044     2422     +378
===========================================
- Hits         16656    16641      -15
- Misses        1054     1065      +11
- Partials         2        6       +4

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Can you also change the select components to autocomplete in the table column filters please


Update deploy-manage-report-microsoft-defender-antivirus.md

Updated all tools and deployment options to reflect the correct documents that were intended to be added

@JohanFreelancer9 Please copy review

Issue#https://github.com/MicrosoftDocs/microsoft-365-docs/issues/9293

Docs Build status updates of commit 276aafc:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/security/defender-endpoint/deploy-manage-report-microsoft-defender-antivirus.md
:white_check_mark:Succeeded

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 the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@msbemba

Docs Build status updates of commit 08c0d60:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/security/defender-endpoint/deploy-manage-report-microsoft-defender-antivirus.md
:white_check_mark:Succeeded

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 the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 520f4f0:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/security/defender-endpoint/deploy-manage-report-microsoft-defender-antivirus.md
:white_check_mark:Succeeded

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 the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit f65cd63:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/security/defender-endpoint/deploy-manage-report-microsoft-defender-antivirus.md
:white_check_mark:Succeeded

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 the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 8b762e9:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/security/defender-endpoint/deploy-manage-report-microsoft-defender-antivirus.md
:white_check_mark:Succeeded

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 the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 8b762e9:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/security/defender-endpoint/deploy-manage-report-microsoft-defender-antivirus.md
:white_check_mark:Succeeded

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 the docs.microsoft.com contributor guidesPost your question in the Docs support channel


[1.12-rc2] Is there a way to configure the docker_gwbridge network?

I've a few hosts on AWS running docker 1.12-rc2.
When I do a docker swarm init docker creates a docker_gwbridge network in the <IP_ADDRESS>/16 subnet.
This is an issue for me because I'm on a network which has <IP_ADDRESS>/16 subnet.
Is there a way for me to configure this bridge network? May be a dockerd option?
Output of docker version:
Client:
 Version:      1.12.0-rc2
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   906eacd
 Built:        Fri Jun 17 20:45:29 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.0-rc2
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   906eacd
 Built:        Fri Jun 17 20:45:29 2016
 OS/Arch:      linux/amd64

Output of docker info:
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 1.12.0-rc2
Storage Driver: overlay
 Backing Filesystem: xfs
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: overlay bridge null host
Swarm: active
 NodeID: bn59osbgdlxzsj2ecv2l2igfa
 IsManager: Yes
 Managers: 1
 Nodes: 1
 CACertHash: sha256:a2ef7bdc734e14d48f34e2b882261be50cf4053d491f30f87bfca9772c4e10b5
Runtimes: default
Default Runtime: default
Security Options: seccomp
Kernel Version: 3.10.0-327.22.2.el7.x86_64
Operating System: Red Hat Enterprise Linux Server 7.2 (Maipo)
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 991.7 MiB
Name: ip-172-28-50-207.cars.comclassifiedventures.comcorp.classifiedve
ID: 4X7G:YMSU:B6OD:EGGB:HMYP:7EUW:BFFB:26AW:VCMA:4VGT:NXMT:5EG4
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 41
 Goroutines: 108
 System Time: 2016-06-28T13:05:21.156855875-04:00
 EventsListeners: 0
Registry: https://index.docker.io/v1/
Insecure Registries:
 <IP_ADDRESS>/8

Additional environment details (AWS, VirtualBox, physical, etc.):
Docker 1.12.0-rc2 running on RHEL 7 AMI
/etc/systemd/system/docker.service.d/docker.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -D -H fd:// --bip=<IP_ADDRESS>/24

$ docker network inspect docker_gwbridge
[
    {
        "Name": "docker_gwbridge",
        "Id": "aa9e823759a6909290ade98e80982f44fa9d0e58b927916a46e28f909c7f2f89",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "<IP_ADDRESS>/16",
                    "Gateway": "<IP_ADDRESS>/16"
                }
            ]
        },
        "Internal": false,
        "Containers": {
            "ingress-sbox": {
                "Name": "gateway_ingress-sbox",
                "EndpointID": "c63f99abcda719bd157a454a717610e23975d020e191ea61a57523b239f439ac",
                "MacAddress": "02:42:ac:11:00:02",
                "IPv4Address": "<IP_ADDRESS>/16",
                "IPv6Address": ""
            }
        },
        "Options": {
            "com.docker.network.bridge.enable_icc": "false",
            "com.docker.network.bridge.enable_ip_masquerade": "true",
            "com.docker.network.bridge.name": "docker_gwbridge"
        },
        "Labels": {}
    }
]

/cc @mrjana @mavenugo

@dtmistry Have you tried to delete it, then recreate it with same name and your chosen --subnet.
docker should not overwrite it if it already exists.

@dtmistry the simplest option is for you to create this default_gwbridge by hand instead of letting the daemon create it automatically.
You can create it using the following command -
docker network create --subnet={Your prefered subnet } -o com.docker.network.bridge.enable_icc=false -o com.docker.network.bridge.name=docker_gwbridge docker_gwbridge

@dtmistry Please follow @mavenugo's suggestion, I forgot about the options.

@dtmistry Can you tell me more about your environment? Does the docker host where you are trying this has a host interface which is in 172.17.x.x/16 subnet? If so, docker_gwbridge should've chosen a different subnet. If this is indeed the case, then it smell like a bug in libnetwork which we should fix

@mrjana No, the docker host where I'm starting the Swarm cluster does not have a host interface in 172.17.x.x/16 subnet. It just happens that the network from where I'm trying to connect to the manager node is in that subnet.

@dtmistry if a docker_gwbridge network is already present, daemon will not override it.

Also, can/should this be configured with daemon options? That way I won't have to create this network on manually on all nodes

Even if we introduce a daemon option, you have to enable it on all the daemons on all the nodes any ways. So, it isn't a huge difference for you either ways. Atleast in the idea suggested above, you dont have to wait for a new docker release :-)

@mavenugo Fair enough :)

closing this issue now. Pls let us know if you still see a need to keeping this open.

@mavenugo All good. I was able to manually create the network on all nodes and init the cluster. Thanks.

Why can't dockerd use --bip to decide on what subnet to create the network? I'm having problems with docker creating more interfaces on that subnet(<IP_ADDRESS>/16) depending on the docker service that's being brought up.

I'm actually running into this being an issue as well. If anything, I don't see why this couldn't be done during the swarm init and join, since that's when docker_gwbridge is getting created.

If I'm not mistaken, the line @mavenugo suggested wouldn't create the network with identical options as Docker would create by itself.
I've used this instead:
docker network create \
--subnet={Your preferred subnet} \
--gateway {First IP of your preferred subnet} \
-o com.docker.network.bridge.enable_icc=false \
-o com.docker.network.bridge.name=docker_gwbridge \
-o com.docker.network.bridge.enable_ip_masquerade=true \
docker_gwbridge

@mavenugo, Please suggest possible solution to below use-case.
I want my docker container to get the IP address from my org's routed network (lets assume <IP_ADDRESS>/24). There is a DHCP server running within this network outside the docker host (management IP of host is <IP_ADDRESS>/24).
how do I force docker0 or docker_gwbridge to be a part of this network and allocate the IP from the pool.
Thanks!
Shishir


onImplementation and onTypeDefinition can return DefinitionLink[]

Implementation and type definition requests can return DefinitionLink[], can't they?

Good catch. Thanks!