Remove lombok depend in common module

What is the purpose of the pull request
I am doing the removal of the lombok dependency. In the common module, I have checked that no classes use lombok, so my first step is to remove the lombok dependency in the common module, and then modify other modules.
Because other modules depend on the common module, if its lombok is not deleted first, even if the lombok of other modules has been deleted, it will still be used by the common module.

Codecov Report

Merging #1677 into dev will increase coverage by 1.72%.
The diff coverage is 50%.

@@            Coverage Diff             @@
##              dev    #1677      +/-   ##
==========================================
+ Coverage   13.36%   15.09%   +1.72%
==========================================
  Files         284      283       -1
  Lines       13958    13801     -157
  Branches     2269     2244      -25
==========================================
+ Hits         1866     2083     +217
+ Misses      11885    11496     -389
- Partials      207      222      +15

Impacted Files
Coverage Δ

...che/dolphinscheduler/common/utils/SchemaUtils.java
71.42% <ø> (+71.42%)
:arrow_up:

...hinscheduler/server/worker/task/http/HttpTask.java
0% <0%> (ø)
:arrow_up:

...ache/dolphinscheduler/server/utils/ParamUtils.java
86.66% <100%> (+86.66%)
:arrow_up:

...che/dolphinscheduler/common/utils/StringUtils.java
2.17% <0%> (+2.17%)
:arrow_up:

...pache/dolphinscheduler/common/utils/FileUtils.java
41.3% <0%> (+22.82%)
:arrow_up:

...phinscheduler/common/task/http/HttpParameters.java
50% <0%> (+50%)
:arrow_up:

...pache/dolphinscheduler/common/utils/EnumUtils.java
60% <0%> (+60%)
:arrow_up:

...apache/dolphinscheduler/common/enums/TaskType.java
84.61% <0%> (+84.61%)
:arrow_up:

... and 5 more

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 9f60d3a...9742504. Read the comment docs.


[Stdlib] Update the declaration of llvm::fixed_seed_override

Update to uint64_t to match the change in LLVM commit 4b757883e611d95d4580cd21fd6fb78471f4936e.

Force merging to unblock CI.


chore: cherry-pick FillBlock

Closes https://github.com/celestiaorg/celestia-app/issues/860
Cherry-picked the FillBlock implementation from the evan/v0.7.0-rc-1-test-node branch because celestia-node uses it

apologies @rootulp, appreciate that you triaged and took this on. Sorry the original code was too icky to use. I'm leaning towards using #866 as its passing tests here and in celestia-node

No worries! Thanks for verifying tests pass with #866. I agree we should go with that!


Verify contact information (email address and/or Signal number) before application can be reviewed and notifications are sent out  [Low/New feature]

-=Sensitive=-
No
-=Reporter=-
Blah ()
-=Ideal deadline=-
-=Who's affected=-
OTF team, Applicants
-=Description=-
We have a number of applications creating user accounts with invalid email addresses, either in error or deliberately. The result is either spam submissions (that we can't delete) or actual submissions that don't get any notifications or login details.

Add a step in the submission workflow that sends a confirmation msg for applicants to respond to
Present a page after submission that allows applicants to either re-send verification if they don't get it or to submit an issue/help ticket for us to look into if they never get it
Hold/flag unverified submissions for round leads to easily see/address
Allow applicants to change their email or add a signal number that kicks-off the verification workflow again

-=Objective=-

Ensure applicants are getting notifications
Reduce spam/test submissions

-=Additiional info=-
-=Timestamp=-
2018-11-27T16:12:21.209Z

The e-mail field should have a backend valid e-mail address verification attached to it. Now it relies on frontend HTML5 ”email” field typ verification that is easy to sidestep and is lax.

The pr https://github.com/OpenTechFund/opentech.fund/pull/751 takes care of validating the e-mail field on submission forms.


[FEATURE] Allow customization of the OpenMapTiles schema used for base map

Is your feature request related to a problem?
When using the default OpenSearch map as a base layer, there are no street names or other additional metadata provided. There are a lot of potential layers offered via OpenMapTiles that could provide valuable additional information, such as street names via the transport_name schema for instance. See https://openmaptiles.org/schema/
What solution would you like?
If it was possible for an author to specify which additional layers to include, this would allow users to bring in the information they required.
What alternatives have you considered?
Alternative approaches are to self-host or use third party web servers.
Do you have any additional context?
Whilst it is possible to use alternate map servers, such as https://tiles.maps.opensearch.org/tiles/{z}/{x}/{y}.png, to get a more detailed map, this only supports up to zoom level 14, which may not show enough granularity for most use cases.

[Catch All Triage - 1, 2, 3, 4, 5]


allow to set self.logger.propagate=False

hey,
first thank you for this small handy package.
second:
could you please add a parameter to WSGILogger called "propergate" that accepts True/False, and pass this parameter to self.logger.propagate?
with this i can disable the default logger, because i do not like to get spammed on stdout, when i have a file appender enabled.
Thank You,
Stephan

just created a pull request ;-)

Thanks for reminding me (by mail). I merged the commit and published an updated version on PyPI.
Note that I changed the doc string of the module back to triple quotes in d1f8d8a. I suppose your change to quadruple & quintuple quotes was unintended?

thanks, yes the change of these quotes was unintended :-)


stop closing my meaningful and important issues

Title Of Issue
A description of the issue:
it would be nice if you couldn't ignore my suggestions
Proposed Solution:
read
Additional Comments:
i would like to say thanks and join the Free Software revolution
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

finally a meta issue I can get behind

Presuming you're referring to the previous issue, I feel the full response we can give is a simple, unemotional no.
Apologies, but if there's a serious issue you have with a feasible solution, then please do open it.

delete the server

interadastang

Hi! You might be wondering what this 'FSF' thing is about, well, its about promoting and defending free software! You can read more at: https://www.fsf.org/ or https://stallman.org

Hi! You might be wondering what this 'FSF' thing is about, well, its about promoting and defending free software! You can read more at: https://www.fsf.org/ or https://stallman.org

An Open Letter to Hobbyists
To me, the most critical thing in the hobby market right now is the lack of good software courses, books and software itself. Without good software and an owner who understands programming, a hobby computer is wasted. Will quality software be written for the hobby market?
Almost a year ago, Paul Allen and myself, expecting the hobby market to expand, hired Monte Davidoff and developed Altair BASIC. Though the initial work took only two months, the three of us have spent most of the last year documenting, improving and adding features to BASIC. Now we have 4K, 8K, EXTENDED, ROM and DISK BASIC. The value of the computer time we have used exceeds $40,000.
The feedback we have gotten from the hundreds of people who say they are using BASIC has all been positive. Two surprising things are apparent, however, 1) Most of these "users" never bought BASIC (less than 10% of all Altair owners have bought BASIC), and 2) The amount of royalties we have received from sales to hobbyists makes the time spent on Altair BASIC worth less than $2 an hour.
Why is this? As the majority of hobbyists must be aware, most of you steal your software. Hardware must be paid for, but software is something to share. Who cares if the people who worked on it get paid?
Is this fair? One thing you don't do by stealing software is get back at MITS for some problem you may have had. MITS doesn't make money selling software. The royalty paid to us, the manual, the tape and the overhead make it a break-even operation. One thing you do do is prevent good software from being written. Who can afford to do professional work for nothing? What hobbyist can put 3-man years into programming, finding all bugs, documenting his product and distribute for free? The fact is, no one besides us has invested a lot of money in hobby software. We have written 6800 BASIC, and are writing 8080 APL and 6800 APL, but there is very little incentive to make this software available to hobbyists. Most directly, the thing you do is theft.
What about the guys who re-sell Altair BASIC, aren't they making money on hobby software? Yes, but those who have been reported to us may lose in the end. They are the ones who give hobbyists a bad name, and should be kicked out of any club meeting they show up at.
I would appreciate letters from any one who wants to pay up, or has a suggestion or comment. Just write to me at 1180 Alvarado SE, #114, Albuquerque, New Mexico, 87108. Nothing would please me more than being able to hire ten programmers and deluge the hobby market with good software.
Bill Gates
General Partner, Micro-Soft


Fix TO Go ASNs unit tests for renamed symbols

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/1528/
Test PASSed.


WIP on Several Things

Syncing these with main so we can switch to doing more structured PRs/branches
WIP on the following:

Search monad
CI
An example LL(0) grammar/automaton/parser. parser is implemented and weak equivalence between the grammar and automaton is established modulo actually defining the eliminators
An exmaple LL(1) grammar/automaton. automaton -> grammar is established modulo actually defining the eliminators

@stschaef can you fix any CI issues not caused by me and then merge ASAP?


How to call runscript with script name or index

Hi, is it possible to call the command: terminalAllInOne.runScript, with the name or index of a script that will automatically run?
For example if my first script was called 'Open New Terminal' how can i run it directly without having to select it in a picker?
Can i call it by its name or an index?
Thanks

Hi @super-tomcat,
Thanks for the question! Currently, you can run an individual script by pressing cmd/ctrl + i and then the index of the script.
For example, if my scripts were:
{
  "terminalAllInOne.scripts": [
    {
      "name": "Greet",
      "script": ["echo hello", "echo How was your day?"]
    }
  ]
}

I could run the "Greet" script by running cmd/ctrl + i and then pressing 0. (Note: only indexes 0-9 are possible through this keybinding)
Hope this helps!


Non plain-tensor batches

Hello!
I have been trying to use Lightning to train a graph neural network built with torch_geometric package using a GPU.
This is the error I get when I try to fit the model:
~/miniconda3/envs/pyg/lib/python3.7/site-packages/torch_geometric/nn/conv/gcn_conv.py in forward(self, x, edge_index, edge_weight)
     83     def forward(self, x, edge_index, edge_weight=None):
     84         """"""
---> 85         x = torch.matmul(x, self.weight)
     86
     87         if self.cached and self.cached_result is not None:

RuntimeError: Expected object of backend CPU but got backend CUDA for argument #2 'mat2'

I investigated the code of Lightning for a probable cause and found that transfer_batch_to_gpu causes this error.
The current behavior of this function considers a batch to be either a 'plain' torch.Tensor or some simple collection of such objects (a list, a dict or a tuple). The problem is that torch_geometric uses a custom aggregate type Data (docs) which itself implements to method (and does not implement cuda, I believe).
It would be nice if you could make the code more flexible to process this case (and similar cases in general) correctly. I believe, the best solution is to replace isinstance(batch, torch.Tensor) by a condition of batch object having either to or cuda method implemented. This should solve the problem in general.

good suggestion. want to make the change and submit a PR?

Okay, I will do that.


Add remove population functions to cheat menu

First attempt at #996, please review.
I also noticed there is no destructor for CheatMenu, and no "disconnect" for the btnOkay, is that something that should be added or is that handled automagically?

The Button handler doesn't need to be disconnected in that context. When the CheatMenu is destructed, the contained Button will be destructed, which causes the contained Signal object to be destructed, which will disconnect any callbacks. The target of the callbacks is the actual real concern for dangling callbacks. If instead the target of the callback was being destroyed, then you would need to manually call disconnect for any Signal that would send messages to it.


IDA plugin fails to decompile

Setting up the ida plugin from these instructions, ida starts to run the plugin:
https://n0where.net/retargetable-machine-code-decompiler-retdec/
Referring to x64 Windows box, installed Msys32 variant (Msys64 is a dog and will not update)
Issue 1: IDA runs the plugin but fails giving errors as per below respectively

then

Issue 2: Running directly in bash gives a myriad of other errors. If I add architecture (-a) and format type (-p), I now get issue with format type "pe" not being supported.
$ decompile.sh exploit_x86.exe -a x86 -f pe
Checking if file is a Mach-O Universal static library...
RUN: /c/retdec/bin/macho-extractor --list /c/retdec/bin/exploit_x86.exe
Checking if file is an archive...
RUN: /c/retdec/bin/ar-extractor --arch-magic /c/retdec/bin/exploit_x86.exe
Not an archive, going to the next step.
Gathering file information...
RUN: /c/retdec/bin/fileinfo -c /c/retdec/bin/exploit_x86.c.json --similarity /c/retdec/bin/exploit_x86.exe --no-hashes=all --crypto /c/retdec/bin/../share/generic/yara_patterns/signsrch/signsrch.yara
Trying to unpack /c/retdec/bin/exploit_x86.exe into /c/retdec/bin/exploit_x86-unpacked.tmp by using generic unpacker...
RUN: /c/retdec/bin/unpacker -d /c/retdec/bin/unpacker-plugins -o /c/retdec/bin/exploit_x86-unpacked.tmp /c/retdec/bin/exploit_x86.exe
Unpacking by using generic unpacker: nothing to do
Trying to unpack /c/retdec/bin/exploit_x86.exe into /c/retdec/bin/exploit_x86-unpacked.tmp by using UPX...
RUN: upx -d /c/retdec/bin/exploit_x86.exe -o /c/retdec/bin/exploit_x86-unpacked.tmp
Unpacking by using UPX: nothing to do
Error: Unsupported target format 'PE'. Supported formats: ELF32, PE32, Intel HEX 32.

Are you runnign windows 10 ? I had the same problem and calling decompile.sh test.exe directly from the commandline instead of from the MSYS2 terminal or with bash decompile.sh test.exe works fine. While the other two give me the same errors.

Yes, I shall check...

Thank you for the report. I believe that this problem might be related to #18. We will verify this and will let you know.

In #18, we have found out that this problem occurs when running Windows 10 with WSL. In such a case, you have to ensure that in your system PATH, the path to programs from MSYS2 is placed before the path to programs from WSL. For more details, see #18 and our wiki.
@boondoggler, can you please try modifying your system PATH so that C:\msys32\usr\bin;C:\msys32\mingw32\bin (or its 64b equivalent) occurs before the path to programs from WSL? Then, try running bash decompile.sh exploit_x86.exe from a new console to see whether this fixed the issue you reported.

Aha...
(I moved C:\msys32\usr\bin;C:\msys32\mingw32\bin to the top of the list and rebooted)
C:\retdec\bin>bash decompile.sh exploit_x86.exe
0 [main] bash (3312) C:\msys32\usr\bin\bash.exe: *** fatal error - cygheap base mismatch detected - 0xF6C408/0xE8C408.
This problem is probably due to using incompatible versions of the cygwin DLL.
Search for cygwin1.dll using the Windows Start->Find/Search facility
and delete all but the most recent version.  The most recent version should
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution.  Rebooting is also suggested if you
are unable to find another cygwin DLL.
0 [main] bash 4480 fork: child -1 - forked process 3312 died unexpectedly, retry 0, exit code 0xC0000142, errno 11
This I think is what I briefly saw in IDA also before it closed the window after about 2ns

From what I was able to find, you can try:

Do what the error message suggests (try to find an incompatible version of the cygwin DLL).
Reboot your PC.
Update MSYS2.
Replace 32b MSYS2 with its 64b version.

I am sorry I cannot give you a better answer as I a not sure what the underlying problem is. All I know is that this is nothing specific to RetDec and different users offer different solutions.

Thanks for help, I will investigate and report back asap

Ok so after a another reboot, I now get the original issue:
c:\retdec\bin>bash decompile.sh exploit_x86.exe
Checking if file is a Mach-O Universal static library...
RUN: /c/retdec/bin/macho-extractor --list /c/retdec/bin/exploit_x86.exe
Checking if file is an archive...
RUN: /c/retdec/bin/ar-extractor --arch-magic /c/retdec/bin/exploit_x86.exe
Not an archive, going to the next step.
Gathering file information...
RUN: /c/retdec/bin/fileinfo -c /c/retdec/bin/exploit_x86.c.json --similarity /c/retdec/bin/exploit_x86.exe --no-hashes=all --crypto /c/retdec/bin/../share/generic/yara_patterns/signsrch/signsrch.yara
Trying to unpack /c/retdec/bin/exploit_x86.exe into /c/retdec/bin/exploit_x86-unpacked.tmp by using generic unpacker...
RUN: /c/retdec/bin/unpacker -d /c/retdec/bin/unpacker-plugins -o /c/retdec/bin/exploit_x86-unpacked.tmp /c/retdec/bin/exploit_x86.exe
Unpacking by using generic unpacker: nothing to do
Trying to unpack /c/retdec/bin/exploit_x86.exe into /c/retdec/bin/exploit_x86-unpacked.tmp by using UPX...
RUN: upx -d /c/retdec/bin/exploit_x86.exe -o /c/retdec/bin/exploit_x86-unpacked.tmp
Unpacking by using UPX: nothing to do
Error: Unsupported target architecture ''. Supported architectures: Intel x86, ARM, ARM+Thumb, MIPS, PIC32, PowerPC.
Here is my current path:
c:\retdec\bin>path
PATH=C:\msys32\usr\bin;C:\msys32\mingw32\bin;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\retdec\bin;C:\Program Files\doxygen\bin
I am convinced cygwin isn't installed and I haven't voluntarily installed WSL either. Part of the MSYS install was to update, I have tried again but still same issue. The 64bit version of MSYS wouldn't install correctly

@boondoggler Could you please attach/send us the following items so we can investigate this further?

Input binary file.
A complete (unabridged) output from decompile.sh that was printed to the console.
An archive containing all the files that decompile.sh created for your input file.

Attached are the requested files.
retdec_issue.zip
Exploit_x86.exe is just a compiled .exe from the overflow_example.c file in the archive - nothing nefarious
I have in the interim installed (on a fresh copy of W10 x64) the 64 bit versions of Msys and retdec. After a great deal of pain getting all the packages from the Msys64 archive, it seems to work.
It would still be good to understand why the 32 bit version issue here is failing here.

Thank you for the files. If I understand you correctly, everything works correctly with 64b MSYS, but fails with 32b MSYS?

Yes,

x64 Windows 10 fresh with Msys64 and retdec x64 appears ok

x64 Windows 10 with Msys32 and retdec x32 fails

We just moved from Bash to Python (see #147). You can try if it is working now - no MSYS is needed. If you do not want to build it yourself, wait a few days for a new Windows binary release.
If there will be any problems, open a new issue, but this one is no longer valid, since there are no Bash scripts, MSYS, etc.


Channel peer reconnection

I am seeing a behavior which I believe is either a bug or missing critical feature. When a channel becomes inactive, presumably because there are some connection problems between the peers, it almost never re-activates by itself. I am writing almost, because I have seen a channel come to life, though that might have been because the remote party reconnected manually. When I issue a lncli connect PEER it returns to active status.
This manual reconnection is made worse by the fact that I do not know the IP address and have to go to some network explorer website to find it out. The lncli listpeers does not show it, because the peer is not connected and lncli listchannels also does not show the IP address, only the node pubkey.
I think this process should be automatic, because once the number of channels grows beyond ten this becomes constant nuisance.
Is this a bug or is the feature missing? If it's missing, I vote for adding it soon.
Thanks for all the great work, by the way.

Channel peer reconnection is already automatic. At times, we can use the wrong port when trying to reconnect if we didn't have a node announcement for the node we received an inbound connection from to create a channel.

I thought it would be in there. But apparently it's not working well. Any suggestions on what to look for in the logs? Is the reconnect attempt logged?

OK, so I increased the logging level to debug. I am seeing reconnection attempts being made for some peers (those, that are genuinely offline, so the attempt is repeated every 5 minutes and fails). But not all of them are there. So it looks like in some cases, the attempt is lost somewhere.
On a side note, I see the log is filled with messages like these:
2018-03-27 10:09:24.079 [DBG] CMGR: Retrying connection to 024bd94f0425590434538fd21d4e58982f7e9cfd8f339205a73deb9c0e0341f5bd@<IP_ADDRESS>:54212 (reqid 109) in 2m25s
2018-03-27 10:09:24.143 [DBG] CMGR: Attempting to connect to 024bd94f0425590434538fd21d4e58982f7e9cfd8f339205a73deb9c0e0341f5bd@<IP_ADDRESS>:40076 (reqid 62)
2018-03-27 10:09:24.237 [DBG] CMGR: Failed to connect to 024bd94f0425590434538fd21d4e58982f7e9cfd8f339205a73deb9c0e0341f5bd@<IP_ADDRESS>:40076 (reqid 62): dial tcp <IP_ADDRESS>:40076: connect: connection refused
2018-03-27 10:09:24.238 [DBG] CMGR: Retrying connection to 024bd94f0425590434538fd21d4e58982f7e9cfd8f339205a73deb9c0e0341f5bd@<IP_ADDRESS>:40076 (reqid 62) in 5m0s
2018-03-27 10:09:25.116 [DBG] CMGR: Attempting to connect to 024bd94f0425590434538fd21d4e58982f7e9cfd8f339205a73deb9c0e0341f5bd@<IP_ADDRESS>:40350 (reqid 19)
2018-03-27 10:09:25.223 [DBG] CMGR: Failed to connect to 024bd94f0425590434538fd21d4e58982f7e9cfd8f339205a73deb9c0e0341f5bd@<IP_ADDRESS>:40350 (reqid 19): dial tcp <IP_ADDRESS>:40350: connect: connection refused
2018-03-27 10:09:25.224 [DBG] CMGR: Retrying connection to 024bd94f0425590434538fd21d4e58982f7e9cfd8f339205a73deb9c0e0341f5bd@<IP_ADDRESS>:40350 (reqid 19) in 5m0s
2018-03-27 10:09:27.232 [DBG] CMGR: Attempting to connect to 024bd94f0425590434538fd21d4e58982f7e9cfd8f339205a73deb9c0e0341f5bd@<IP_ADDRESS>:45538 (reqid 96)
2018-03-27 10:09:27.328 [DBG] CMGR: Failed to connect to 024bd94f0425590434538fd21d4e58982f7e9cfd8f339205a73deb9c0e0341f5bd@<IP_ADDRESS>:45538 (reqid 96): dial tcp <IP_ADDRESS>:45538: connect: connection refused
2018-03-27 10:09:27.328 [DBG] CMGR: Retrying connection to 024bd94f0425590434538fd21d4e58982f7e9cfd8f339205a73deb9c0e0341f5bd@<IP_ADDRESS>:45538 (reqid 96) in 4m10s
2018-03-27 10:09:27.487 [DBG] CMGR: Attempting to connect to 024bd94f0425590434538fd21d4e58982f7e9cfd8f339205a73deb9c0e0341f5bd@<IP_ADDRESS>:50580 (reqid 103)
2018-03-27 10:09:27.582 [DBG] CMGR: Failed to connect to 024bd94f0425590434538fd21d4e58982f7e9cfd8f339205a73deb9c0e0341f5bd@<IP_ADDRESS>:50580 (reqid 103): dial tcp <IP_ADDRESS>:50580: connect: connection refused

This concerns peer 024bd94f0425590434538fd21d4e58982f7e9cfd8f339205a73deb9c0e0341f5bd which seems to be misbehaving somehow and lnd is trying to reconnect it on different ports. I am wondering, if this is not blocking the other reconnection attempts from happening. I have no channel with this peer and I think the connection is initiated from this peer, because even if I forcibly disconnect it, the attempts are still happening.

i experience the very exact same thing.
haven't found a proper way to work around it. my solution until lnd gets it's reconnection sorted out is to do something like this:
iptables -t nat -N fix9735
iptables -t nat -F fix9735
iptables -t nat -A fix9735 -p tcp --sport 9735 -j ACCEPT
iptables -t nat -A fix9735 -p tcp --dport 9735 -j ACCEPT
iptables -t nat -A fix9735 -p tcp --dest <IP_ADDRESS> -j DNAT --to-destination <IP_ADDRESS>:9735
iptables -t nat -A fix9735 -j ACCEPT

iptables -t nat -F OUTPUT
iptables -t nat -m state --state ESTABLISHED -j ACCEPT
iptables -t nat -A OUTPUT -j fix9735

Maybe connmgr is considering the same peer on different port a unique peer? @cfromknecht


Can we bundle Compose with our binary?

This would be beneficial for two reasons:

Fewer installation dependencies to get going with Dusty
We know exactly which version of Compose we'll be running against and can test accordingly, reducing risk of failure

Compose tends to add some pretty nice new features with each release, but we need to either specify a minimum version or bundle the binary if we expect to be able to use them.

I like this idea.  Compose is 5MB though, so it would double our binary size.

The downside to doing this is that people can't use a new version of compose until we cut a new dusty release with the new compose version, and they upgrade dusty

Spiking this, dependencies should be less of an issue with Toolbox.


Parallelize the scalability test

The scalability test now targets 10000 experiments for 15 days in 1 day increments

@chandrams Can you please review and merge this

@dinogun - I have raised another PR as you had asked me to include the wrapper script that includes these files - PR #832 please let me know if we need these files in this PR also to be checked in.

Closing this as #832 includes these changes


Fan and Dimmer Switch only Dimmer works

I have a fan (relay) and dimmer combo switch (Zooz Zen 32) that shows up as a dimmer and fan in HomeKit, but the fan switch just turns the lights on and off.

Work around for this issue
Enable “Create Separate Device for Relay” in device settings


Wait for response disposition when Receiver w/ rcv-settle-mode second.

Also fixed some potential bugs due to receiver and sender dispositions being treated the same in Session.mux.
Resolves #74

Flow control w/ the buffered channel (link.transfers) needs to be fixed before this is finished. Tried a couple different ways but haven't come up with a non-hacky solution.
https://github.com/vcabbage/amqp/pull/99/commits/cc837c777cb8ecd6d58967b894e1f4bbd31e6a25 Was one of those attempts, but it doesn't really fix the problem, just makes it less likely to occur.

Fixed the flow control issues in #103.


Allow cover images to be added from external images

Current cover image system only allows images to be uploaded but not using cover images from outside the website itself.  It'd be even better if we can use outside images as cover images, to preserve disk space.

Hi, I think it not a good idea get images from outside your own server, but if you want you can post the request feature here, http://forum.bludit.com/viewforum.php?f=13
THanks


IMDB Spoiler Detection

💥 Proposal
I want to make a model that detects the spoiler in the review
I will make this model using RNN
the dataset i am gonna use is:- https://www.kaggle.com/datasets/rmisra/imdb-spoiler-dataset
@khusheekapoor @theyashwanthsai
I am interested in doing this project
so kindly assign me this issue
Thank You: )
(A clear and concise description of what the proposal is.)

@khusheekapoor @theyashwanthsai
I am interested in doing this project
so kindly assign me this issue
Thank You: )

@Kota-Karthik - you can go ahead! We are assigning you 21 days for this project, after which it will be assigned to someone else if not completed. All the best!
Name the file as: algorithm_dataset.ipynb and link it in the readme of the labeled directory as algorithm - dataset.


New Bus Queues module

What is this?
This is an app whose goal is to bring a way for developers to make more robust integrations between BC and external systems.
How is the app built?
This app is conceptually based on queues, so developers can enqueue an HTTP request and the bus queue will handle it. You can think of an Azure Service Bus simple "copy".
How does this app improve the integrations?
This could be a standard way to make integrations from BC, Developers wouldn't have to worry about coding retry logic and HTTP headers/HTTP body management is easier than using native data types.
Example:
BusQueue.Init('https://myurl.com', Enum::"Http Request Type"::POST);
BusQueue.AddHeader('Accept', 'text/plain'); //Header
BusQueue.AddHeader('Content-Type', 'text/plain'); //Content Header
BusQueue.SetBody('hello');
BusQueue.SetCategory('CUSTOMER');
BusQueue.Enqueue();

Things to mention:

Code lies on Task Schedulder, and, as you may know, only 3 concurrent tasks are available per environment on SaaS. Programming this app in a synchronous way made no sense for me, that's why I use Task Scheduler. I saw no alternativate in BC. I ask myself if the limitation of 3 concurrent tasks can really imply a problem for some customers.
BusQueue.AddCertificate is not implemented because TryFunction does not work to catch the error “the specified network password is not correct”. It only works with "asserterror" but I understand that is a bad practice.

Diagram flow:

@microsoft-github-policy-service agree

Should I maybe refactor to use the new AL Rest Client created by Arend-Jan Kauffmann?
Maybe this pull request can bring back again this [DRAFT] [New Module] Background Task Framework topic

Should I maybe refactor to use the new AL Rest Client created by Arend-Jan Kauffmann? Maybe this pull request can bring back again this [DRAFT] [New Module] Background Task Framework topic

I was going to suggest that 😊 But first I wanted to get some general feedback on your idea. Let's see if anyone provides some overall feedback on the usefulness of such module!

How can we handle Authentication requests via this background Module securely?
And I it might be useful, if it implements the new rest client Module.
And we need good events as already proposed to process the response.
And are we already tracking which app inserted the request?

How can we handle Authentication requests via this background Module securely?

Since it's for web requests, you would do BusQueue.AddHeader('Authorization', 'Beaerer ');. I'm not sure if I answer your question.

I was referring to something like OAuth were we need to request the Bearer Token directly before the processing via client secret/certificate and client id

I'm not sure I understand you on this point. Bus Queue table is Internal. Do you propose to make it non-editable but public to be consulted by other apps?
Well we should maybe at least have a good page where filter on specific values.
It would be helpful if the table is made public and most of the fields are marked internal.
Then we would only need some kind of Filter Functions to filter on the app ID or the category

@sergiogp1, could you port this PR from ALAppExtensions to BCApps? Given this is a PR for the System Application, it would be preferable to have it processed in the new repository. We're trying to get rid of the System Application in this repo. Also, having this PR on BCApps would give it more visibility. I could do that too, but then I would be listed as the creator of the PR, which isn't ideal...

@JesperSchulz I will move it by my own. Thank you very for letting me know. I close this PR.


add fast convnet components

Yajie, I add the accelerated convolutional component that I wrote (with help from Daniel) for Kaldi to eesen, along with some other components, which can be used to reproduce the DeepSpeech structure from Baidu. I am still working on the scripts though.

Xingyu, do you mind  firstly verifying the effectiveness of adding convolution layers to CTC networks? If it truly works, we'll definitely check it in. The idea of Eesen is to reduce the complexity of ASR. We thus want to avoid checking in stuff that gives no gains. Thanks!

Of course no. I am running the test on swbd. Will keep you posted.
BTW, speaking of complexity, do you mean the amount of human effort or
the structure of network? Adding convolutional components doest not
introduce additional human efforts. Convolutional layer is supposed to
learn more robust representatives automatically, so in some sense it is
reducing the complexity of feature engineering.
Xingyu
On 09/11/2015 11:51 AM, Yajie Miao wrote:

Xingyu, do you mind firstly verifying the effectiveness of adding
convolution layers to CTC networks? If it truly works, we'll
definitely check it in. The idea of Eesen is to reduce the complexity
of ASR. We thus want to avoid checking in stuff that gives no gains.
Thanks!
—
Reply to this email directly or view it on GitHub
https://github.com/yajiemiao/eesen/pull/7#issuecomment-139446027.

Thanks! If this is truly useful, we will definitely check it in. Please keep me posted.


Use pyvista plotter to either plot or save in file

A few weeks ago we spoke about changes in pyaedt to allow people to both save a plot and render it.
While this seems to be a good idea for matplotlib related features, it is not the case for pyvista.
At the moment, I'm not able to use pyvista to both save a figure in a file and show it to the user.
Here are the reason:

Even if we use auto_close=False as stated in the documentation, once the windows rendered is manually closed by the user, there is currently no way to use it afterward as accessing it will kill the kernel. So using show to render and then saving into a file is not possible.
If we try to leverage the inverse order: save file and then rendering it, we also end up with a problem. First thing is that we have to plot the image somehow so that pyvista can save it. Otherwise there is an internal error Nothing to screenshot - call .show first or use the off_screen argument.

Last solution would have been to leverage off_screen=True so that we can first save and then perform the rendering. However, the value of off_screen is deeply leveraged at the creation of the plotter and once setted to one value, changing the value won't have enough changes. This leads to the following code not showing anything:
import pyvista as pv
pl = pv.Plotter(off_screen=True)
pl.add_mesh(pv.Sphere())
pl.off_screen = False
pl.show()

Note that changing the value used at plotter instanciation changes the behavior of the snippet. Indeed, the following code will show the image correctly:
import pyvista as pv
pl = pv.Plotter(off_screen=False)
pl.add_mesh(pv.Sphere())
pl.show()

Closed by https://github.com/ansys/pyaedt/pull/4984
We might consider changing our strategy if https://github.com/pyvista/pyvista/issues/1621 get fixed.


[Issue #4330]Support broker priority election for controller mode

Make sure set the target branch to develop
What is the purpose of the change
Tracking issue: #4330
Support broker priority election for controller mode
Brief changelog

Add a new config in brokerConfig: brokerElectionPriority, which is an important basis for the controller to choose the broker master. Under the same conditions, the broker with higher priority will be selected as master. You can set a higher priority for the broker with better machine conditions.

In DefaultElectPolicy, previously we would sort brokers by (epoch, offset), now we will sort by (epoch, offset, electionPriority)

Verifying this change
XXXX
Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

[x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test  to make sure integration-test pass.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

PTLA~ @RongtongJin @tsunghanjacktsai  @mxsm


STORM-680: storm-kafka fails to compile with JDK 1.6

Replaced Long.compare() method of JDK 7 with compareTo() method of JDK 6.

Closing pull request as it is duplicate of STORM-670. #431


4th tier energy conduit - 'Ultimate'

For #2568

EnderIO has only 3 tiers of energy conduit for a reason. Adding a 4th will not add to the game play at all. And if people are playing a pack with such greatly unbalanced power values they can adjust the config values for the existing tiers.


No reference documentation for lax.Precision

The lax.Precision enum doesn't have any reference documentation, which I would expect to find at https://jax.readthedocs.io/en/latest/jax.lax.html.
Multiple times I've read a docstring like the one below for lax.dot:
  Args:
    precision: Optional. Either ``None``, which means the default precision for
      the backend, a ``lax.Precision`` enum value (``Precision.DEFAULT``,
      ``Precision.HIGH`` or ``Precision.HIGHEST``) or a tuple of two
      ``lax.Precision`` enums indicating precision of ``lhs``` and ``rhs``.

and gone to open the reference docs to remind myself what each variant actually means (as well as verify that the enum doesn't support any other values than the ones listed). But there are no reference docs for this type. The only documentation is actually the README for the Cloud TPU colab examples.

Hi @a-ma-n ! Please feel free to create a PR if you still have time/interest. I'm unfortunately not sure the best way to add even add documentation to Precision, as it's a wrapped C++ enum (aliased in jax.lax here). Here's the relevant Cloud TPU docs mentioned by OP: https://github.com/google/jax/tree/master/cloud_tpu_colabs#bfloat16-dtype


GitHub Actions

Introducing GitHub Actions removing TravisCI
Description

Added two GitHub Actions workflows. One for CI of the master branch, the other for creating tagged builds and pushing them to DockerHub and quey.io
Motivation and Context

TravisCI is introducing build time limits, where as GitHub provides unlimited minutes for open source repos.
This change makes that switch and sets the foundations ready for a future change that will introduce multi-arch docker builds
This was briefly discussed in the Slack channel, but an issue can also be raised

[ ] I have raised an issue to propose this change (required)
[ ] My issue has received approval from the maintainers or lead with the design/approved label

How Has This Been Tested?

Built and pushed within my fork and DockerHub
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:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I've read the CONTRIBUTION guide
[x] I have signed-off my commits with git commit -s
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Note - quay.io is yet to be added, but initial feedback would be great

This is looking pretty close to what we need now.
Once done, could you send a similar PR to: https://github.com/openfaas/nats-queue-worker ?

Yes, all tested on my org and GHCR


DOMNodeInserted Deprecated

https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Mutation_events
Needs updated to the couple places we use these.

Oh hey, I fixed this.


_.mapValues is not a function

I got this error when implementing angular-timezone-select into my project with bower:
_.mapValues is not a function .
Looks like a lodash error. How to prevent this? Will this be fixed?

Can you check your lodash version? _.mapValues was added to lodash in v2, are you using lodash v1?


avoid compiling trivial programs from partial_eval

Follow-up work for subsequent PRs

[ ] update pmap logic with the same

On master, we often end up compiling and executing trivial computations as a result of partial evaluation, where "trivial computations" means computations that are just tuple rearrangements of their inputs, possibly with some constants mixed in. More concretely, it means jaxprs with no eqns.
For example, executing this:
@jit
def f(x):
  @jit
  def g(x):
    return x + 1
  return g(x)

f(2)

Compiles and executes XLA computations corresponding to these jaxprs (from inserting a print(jaxpr) in _xla_computation in xla.py):
{ lambda  ;  ; a.
  let
  in [*] }

{ lambda  ;  ; a.
  let b = xla_call[ backend=None
                    device=None ] a
        { lambda  ;  ; a.
          let b = add a 1
          in [b] } [  ;  ]
  in [b] }

Notice the first jaxpr, which really does get compiled and executed!
Here's a variant:
@jit
def f(x):
  @jit
  def g(x, y):
    return (y, x + 1, 3)
  return g(x, 2)

f(2)

{ lambda  ;  ; a b.
  let
  in [b, *, *] }

{ lambda  ;  ; a.
  let b c d = xla_call[ backend=None
                        device=None ] a *
        { lambda  ;  ; a b.
          let c = add a 1
          in [*, c, *] } [  ;  ]
  in [*, c, *] }

Basically, nested jits will always produce these trivial computations, but so will things like make_jaxpr and xla_computation.
We've just been putting up with these extra computations because no one complained, but when working on #1668 I noticed it has another ill effect: if jit computations force their arguments, then compiling and executing trivial computations like this causes more forcing than we might want! That was the last straw, though to be clear the bigger reason for avoiding these recompiles is just they're incurring a totally unnecessary costs.
Luckily, the fix is easy: we just check when a jaxpr has no eqns (i.e. when it's just a tuple rearrangement and/or constant-output computation) and in that case don't compile anything, and instead just do the rearrangement in Python.
This PR also includes some unrelated api_test.py cleanups.

@dougalm gave the verbal LGTM:


Removed unwanted docs

the docs from the zson\docs\java were deleted

@zeobot set bip, ccs, ebm, lc to pass


Fixed abha linking issue

Proposed Changes

Fixed 404 issue in get abha_number.
Added link_patient api

Associated Issue

Fixes #8542

@ohcnetwork/care-backend-maintainers @ohcnetwork/care-backend-admins

Create a new PR with a different branch (staging as base) #2458


QnaMaker Basic Features

QnAMaker class with basic features implemented

working on:

telemetry
tests
nice things like throwing errors

@daveta, @congysu, @axelsrz, @Zerryth Why is everyone working on the same branch and touching different libraries?
Reviewers who like to use Code Flow cannot use the tool to review this PR due to the number of commits. Please consider getting this PR in ASAP and then quickly iterating with separate PRs. Otherwise this PR is going to be close to impossible to review.

@stevengum I have a sneaking suspicion the reason is "b/c Ashley messed up with git/github at some point >_>"

@stevengum @Zerryth Actually what happened is that I was using this branch 3 weeks ago to push the general template for the new classes and my guess is that because a lot of breaking code was pushed in a small amount of time, this branch was used as quick push. We should start to at least make PRs against this branch (work-in-progress). I'm almost done with building the fix so we can do that from now on.


SASS Customization Issue Causing UI Disruption in Vuetify Theme Configuration

Issue Details:

Operating System: Darwin
Node Version:     v21.2.0
Nuxt Version:     3.11.2
CLI Version:      3.11.1
Nitro Version:    2.9.6
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      modules, ssr, vuetify, css, nitro, routeRules, unocss, lodash, image, colorMode, imports, components, vite, sourcemap, features, experimental, devtools
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

Github repo
Live showing the issue with custom SASS
I would like to bring to your attention an issue regarding SASS customization in our Vuetify theme configuration.
Currently, when attempting to customize the theme using SASS, it inadvertently disrupts the UI instead of applying the desired changes.
Description:
The problem arises when trying to customize the Vuetify theme using SASS.
Symptoms:
Instead of applying the intended customizations, the UI becomes disrupted, breaking styles and causing functional issues.
Impact: This issue significantly affects the user experience and usability of our application.
Steps to Reproduce:
Attempt to customize the Vuetify theme using SASS.
Observe the unintended disruption of the UI and broken styles.
nuxt.config.ts
  vuetify: {
    moduleOptions: {
      styles: {
    // This section has been problematic as it inadvertently disrupts the UI rather than customizing the Vuetify theme as intended.
    // By commenting out the settings below, the UI functions as expected without any style disruptions. However,
    // this means sacrificing /the ability to customize using SASS.
        configFile: 'assets/scss/settings.scss',
      },
    },
  },

settings.scss
@forward 'vuetify/settings' with (
  // Buttons
  $button-disabled-opacity: 0.5,
  $button-disabled-overlay: 0.1,
  $button-text-transform: '',
  $button-text-letter-spacing: 0px,
);

Expected Behavior:
Customizing the Vuetify theme using SASS should apply the desired changes without causing any disruption to the UI or breaking styles.
Comparison: Normal UI vs. UI with Custom SASS Application
Working

Broken

Workaround:
Commenting out the SASS customization settings restores normal functionality,
but this means sacrificing the ability to customize using SASS, which is not an ideal solution.

I got inspired by  #172  - By importing Vuetify styles in the following manner, I managed to resolve the broken UI.
Although it introduces a minor CSS duplication issue, the solution still maintains a high level of performance.
While it's evident that this workaround isn't directly tied to the module itself, it would be beneficial to explore alternative approaches for a more robust solution.
nuxt.config.ts
css: [
  'vuetify/styles',
],

Submitted a PR proposing a permanent fix for SASS customization issues 🙌
https://github.com/userquin/vuetify-nuxt-module/pull/213


🎁 API for custom overlays

Feature request; It would be nice to re-use ag-Grid's overlays for multiple custom messages.
Currently we've hacked it like this to show table-specific loading errors (no fault of ag-Grids);
        function errorOverlay() {
            // WARNING This uses private APIs of ag-Grid to create a custom type of overlay.
            // TODO Use custom components or an official ag-Grid API.
            const layout = $scope.gridOptions.api.gridPanel.layout
            if (!layout.overlays.baError) {
                layout.overlays.baError = loadTemplate(`

                            Something went wrong

                `)
            }
            layout.showOverlay('baError')
        }

We are using ag-grid-enterprise 9.1.0 with Angular 1.5.7.

Great idea. I would like to be able to show an animated gif in the overlay while data is being retrieved.

Custom overlays are now supported


VSCode extension for devbox

Summary
Added vscode extension for devbox under vscode-extension/.
It shows 15 file changes but most of the implementation is in extension.ts and package.json files.
How was it tested?

cd vscode-extension/
yarn install
open vscode in this directory
press F5 or press run in the run & debug section from the sidebar in vscode
in the new opened vscode window, open a devbox project then open the vscode integrated Terminal
confirm terminal runs devbox shell automatically

Linking somewhat related issues:
#209
#226


pkgs/qemu: add qemu_full package

I think samba support for Qemu should be enabled by default.
It is widely used, so this will prevent re-compilation of Qemu if the flag is overridden.
A quick workaround is to install samba package and imperatively create a symlink to smbd like this:
ln -s /etc/profiles/per-user/nixuser/bin/smbd /usr/sbin/smbd
Any ideas?
Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Please remove the master merge commit.

Thanks for merging despite the confusion!

Thanks for merging despite the confusion!


Could you implement mobile trade confirmation?

I know there is node-steamcommunity that handle this already but I can't login to both using the same 2FA code...
so it would be nice if it was implemented in node-steam
or a way to login to 2 different steam users client using the same two factor code?

you don't have to log into both.  log into one and setCookies on the other.
the 2 different users logging in using the same 2 factor code makes zero sense...

It's part of the mobile protocol, not Steam client protocol.


Claims telescope dependency but doesn't include in lazy config as a dependency

README says that you need Telescope.nvim but it is not listed as a dependency in lazy.nvim config.

umm thats my mistake for not documenting this properly, will be resolved in the next commit.


feat: divide into more subchapters + page navigation in footer

most of the big chapters are divided into sub chapters
footer navigation is added to easily navigate between next and previous chapters
scroll to top button is added to the right lower corner

Closes #10

I think I left it like it is for now, because the biggest sub chapter would be "Eclipse Installer". The ones preceding that are not that big, so "Eclipse Installer" would not become that much smaller.
The only benefit I see is the improvements on the heading levels


docs: add changelog for 0.2.0

Signed-off-by: Allen Sun<EMAIL_ADDRESS>
Ⅰ. Describe what this PR did
This is a PR for 0.2.0 releasing. This added changelog of this new version
Ⅱ. Does this pull request fix one issue?
none
Ⅲ. Describe how you did it
None
Ⅳ. Describe how to verify it
None
Ⅴ. Special notes for reviews
None

LGTM

Codecov Report

Merging #806 into 0.2.x will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##            0.2.x     #806   +/-   ##
=======================================
  Coverage   13.77%   13.77%
=======================================
  Files         107      107
  Lines        6460     6460
=======================================
  Hits          890      890
  Misses       5511     5511
  Partials       59       59

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 ce2cfc4...9f0386b. Read the comment docs.


update config

wicked

Motivation
(Motivation is fuel to my fire)
Have you read the Contributing Guidelines on pull requests?
(Yes)
Test Plan
(No changes)
Related PRs
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/libra/website, and link to your PR here.)

It is unclear what this is attempting to do, but it is not a valid configuration change.


How to Create Intent that takes parameters from the Training Phrases and tag an entity type in python?

I'm fairly new to programming world.
I'm trying to create an Intent with API using python.
My intention is to create an intent from API which can
take training phrases
prompt for parameters inputs from user
fullfillment enabled for the intent
Example:
Intent_Display_Name = 'GetNameFromID'
Training Phrases = ['What is the name of the employee who's id is 6',"Please get name for ID 6"]
for this I'm able to create the intents as below in python.
def create_intent(project_id, display_name, training_phrases_parts,
message_texts):
"""Create an intent of the given intent type."""
import dialogflow_v2 as dialogflow
intents_client = dialogflow.IntentsClient()
parent = intents_client.project_agent_path(project_id)
training_phrases = []
for training_phrases_part in training_phrases_parts:
part = dialogflow.types.Intent.TrainingPhrase.Part(
text=training_phrases_part)
# Here we create a new training phrase for each provided part.
training_phrase = dialogflow.types.Intent.TrainingPhrase(parts=[part])
training_phrases.append(training_phrase)
text = dialogflow.types.Intent.Message.Text(text=message_texts)
message = dialogflow.types.Intent.Message(text=text)
intent = dialogflow.types.Intent(
display_name=display_name,
training_phrases=training_phrases,
messages=[message])
response = intents_client.create_intent(parent, intent)
print('Intent created: {}'.format(response))
project_id = 'project_id'
display_name = 'GetNameFromID'
training_phrases_parts = ["What is the name of the employee who's id is 6","please get id"]
message_texts = [" Sure, getting the id for the name"]
create_intent(project_id,display_name,training_phrases_parts,message_texts)
My problem is:
I'm able to :
Create intent with training phrases
But, I'm unable to:
Extract the ID as a parameter from the user.
Enable the fulfilment from API
Please help me.
Thanks.

Can someone please help me?

As i am trying to reproduce this, (With your provided code) I figured out you might be missing a step to create a parameter --> @sys.number (you could either create one using dialogflow UI or add extra code in createIntent). Then, you should be able to get ID from the intent.

Hi Mike,
Thanks for your reply, But Could you please help me with the bit of code that i need to include in the create Intent part?
Thank you.

@Jenetty
def create_intent(project_id, display_name, training_phrases_parts, message_texts):
    """Create an intent of the given intent type."""
    import dialogflow_v2 as dialogflow

    intents_client = dialogflow.IntentsClient()

    parent = intents_client.project_agent_path(project_id)
    training_phrases = []
    for training_phrases_part in training_phrases_parts:
        part = dialogflow.types.Intent.TrainingPhrase.Part(text=training_phrases_part)
        # Here we create a new training phrase for each provided part.
        training_phrase = dialogflow.types.Intent.TrainingPhrase(parts=[part])
        training_phrases.append(training_phrase)

        text = dialogflow.types.Intent.Message.Text(text=message_texts)
        message = dialogflow.types.Intent.Message(text=text)

        param = dialogflow.types.Intent.Parameter(
            display_name="PersonID",
<EMAIL_ADDRESS>            prompts=["Specify the prompt here"],
            mandatory=True,
            name="",
            value="$number",
        )
        intent = dialogflow.types.Intent(
            display_name=display_name,
            parameters=[param],
            training_phrases=training_phrases,
            messages=[message],
        )

    response = intents_client.create_intent(parent, intent)
    print("Intent created: {}".format(response))

With this note, I am closing this issue since it is not related client library issue.


Re-check polygon validity after call to buffer, just in case.

Connects to mapzen/TileStache#79.
@rmarianski could you review, please?

:+1:


Document BPL_JVM_CLASS_ADJUSTMENT

Summary
See https://github.com/paketo-buildpacks/libjvm/issues/377.
Use Cases
Checklist

[X] I have viewed, signed, and submitted the Contributor License Agreement.
[X] I have linked issue(s) that this PR should close using keywords or the Github UI (See docs)
[X] I have added an integration test, if necessary.
[X] I have reviewed the styleguide for guidance on my code quality.
[X] I'm happy with the commit history on this PR (I have rebased/squashed as needed).

Thanks again for submitting all these PRs!


Support for parallel_tests gem?

Would Knapsack work with CircleCI & parallel_tests gem?

It should work but I didn't try it yet. You need to set proper values for CI_NODE_TOTAL and CI_NODE_INDEX.
I see that parallel_tests has TEST_ENV_NUMBER but it starts from 1 so you need to assign it in a way like this:
CI_NODE_TOTAL=4 # let's say you have 4 process
CI_NODE_INDEX=TEST_ENV_NUMBER-1

We can use execute option:
parallel_test -n 4 -e 'ruby -e "CI_NODE_TOTAL=4 CI_NODE_INDEX=#{ENV[:TEST_ENV_NUMBER].to_i-1} bundle exec rake knapsack:rspec"'

@mattpickle Let me know if that works for you. :)

Would Knapsack work with CircleCI & parallel_tests gem?

You probably just want to use the system built into parallel_tests that can split test up into groups.

I created the example for parallel_tests and knapsack_pro gem:
https://github.com/KnapsackPro/knapsack_pro-ruby#how-to-run-knapsack_pro-with-parallel_tests-gem


Fix #11, make create_sns_topic use consistent

Currently running a plan or apply using this module when the SNS topic hasnt been created but you want to create it outside of this module will fail.
╷
│ Error: Invalid count argument
│
│   on .terraform/modules/es_cloudwatch_alarms/main.tf line 11, in resource "aws_sns_topic" "default":
│   11:   count = var.sns_topic != "" && var.create_sns_topic == true ? 1 : 0
│
│ The "count" value depends on resource attributes that cannot be determined until apply, so Terraform cannot predict how many instances will be created. To work around this, use the -target argument to first apply only the
│ resources that the count depends on.

This is because var.sns_topic is a pointer to a yet-to-be-determined string that depends on the creation of the sns topic completing. Half of the places create_sns_topic was used had the empty string check and the other half didnt, so I removed it which allows this module to be planned/applied at the same time as an SNS topic, and it makes internal usage of create_sns_topic consistent.

LGTM. Thank you for sending th pull request!

Thank you for merging and releasing this and #13 so quickly! It's very appreciated!


Multiple explicit ports are mixed up in task json

test-ports.json:
{
  "container": {
    "docker": {
      "forcePullImage": false,
      "image": "busybox",
      "network": "HOST"
    },
    "type": "DOCKER"
  },
  "cmd": "sleep 500",
  "id": "test-ports",
  "instances": 1,
  "cpus": 0.5,
  "mem": 64.0,
  "ports": [25552, 25551],
  "requirePorts": true
}

Returned by the Marathon api:
{
  "acceptedResourceRoles": null,
  "args": null,
  "backoffFactor": 1.15,
  "backoffSeconds": 1,
  "cmd": "sleep 500",
  "constraints": [],
  "container": {
    "docker": {
      "forcePullImage": false,
      "image": "busybox",
      "network": "HOST",
      "parameters": [],
      "privileged": false
    },
    "type": "DOCKER",
    "volumes": []
  },
  "cpus": 0.5,
  "dependencies": [],
  "deployments": [],
  "disk": 0,
  "env": {},
  "executor": "",
  "healthChecks": [],
  "id": "/test-ports",
  "instances": 1,
  "labels": {},
  "maxLaunchDelaySeconds": 3600,
  "mem": 64,
  "ports": [
    25552,
    25551
  ],
  "requirePorts": true,
  "storeUrls": [],
  "tasks": [
    {
      "appId": "/test-ports",
      "host": "<IP_ADDRESS>",
      "id": "test-ports.767e6b0f-a7df-11e5-9168-4670fbe3ae43",
      "ports": [
        25551,
        25552
      ],
      "slaveId": "35409d82-45d3-42ce-9e2b-d4dbe9e2d19c-S1",
      "stagedAt": "2015-12-21T12:36:31.221Z",
      "startedAt": "2015-12-21T12:36:32.065Z",
      "version": "2015-12-21T12:35:51.413Z"
    }
  ],
  "tasksHealthy": 0,
  "tasksRunning": 1,
  "tasksStaged": 0,
  "tasksUnhealthy": 0,
  "upgradeStrategy": {
    "maximumOverCapacity": 1,
    "minimumHealthCapacity": 1
  },
  "uris": [],
  "user": null,
  "version": "2015-12-21T12:35:51.413Z",
  "versionInfo": {
    "lastConfigChangeAt": "2015-12-21T12:35:51.413Z",
    "lastScalingAt": "2015-12-21T12:35:51.413Z"
  }
}

Output of docker inspect:
"Env": [
            "MARATHON_APP_VERSION=2015-12-21T12:35:51.413Z",
            "HOST=<IP_ADDRESS>",
            "PORT_25551=25552",
            "MARATHON_APP_DOCKER_IMAGE=busybox",
            "MESOS_TASK_ID=test-ports.767e6b0f-a7df-11e5-9168-4670fbe3ae43",
            "PORT=25551",
            "PORT_25552=25551",
            "PORTS=25551,25552",
            "PORT1=25552",
            "MARATHON_APP_ID=/test-ports",
            "PORT0=25551",
            "LIBPROCESS_IP=<IP_ADDRESS>",
            "MESOS_SANDBOX=/mnt/mesos/sandbox",
            "MESOS_CONTAINER_NAME=mesos-35409d82-45d3-42ce-9e2b-d4dbe9e2d19c-S1.e4794f7a-875b-4127-b400-3c8192a198ed"
        ],

I also checked with Marathon 0.14, same behavior.

@sttts thanks for opening the issue and for having provided a good test case.
Removing the blocker label, since this bug was introduced in versions of Marathon dating to even earlier than July 2015.

@gkleiman thanks for the analysis. Then it was just bad luck hitting the bug just now. We have a workaround, so no hurry from our side.


Clean up dynamic libaries / correctly build shared versions of third-party libraries

The dynamic loader is working reasonably well, but the dynamic libraries we have on hand are cobbled together from archives of static objects - not all of which are built PIC, and some don't even work properly as shared objects (like GLU/Mesa or the C++ stdlib). Let's clean those up so we can get the toolchain operating as it should.

The new manual approach to building third-party libraries has resolved this issue.


Implement Charcoal. #10042

About the PR
Relates to #10042
Adds charcoal into the game. Charcoal will remove other chemicals from the players chemical solution at a rate of 3u per tick, but is provided as a data-field so can be adjusted later in the chemicals prototype json. Also heals poison damage at 1 per tick. Charcoal will not remove itself from the chem solution and will be metabolized normally.
Also been added into the chemistry chemical dispenser .
Screenshots

Changelog
:cl: WPRobson

add: Added charcoal into the game. Heals poison damage and removes chemicals from the bloodstream

I kinda don't see why charcoal and carbon should be seperate things

The effect could be easily moved to carbon if decided that is better @moonheart08 originally created that issue maybe they have something to say about it?

Charcoal is a separate thing but it also shouldn't be directly dispensable. Do we have ash yet? If yes, recipe should be ash + carbon, if no i'll think of something in a bit.

Looks like we do have ash. Or at least I saw spawn it in a dev environment. So I can remove it from the dispenser and make it into a recipe

although saying that #10373 looks like it was meant to provide a way of easily making ash and that's not merged yet

Looks like we do have ash. Or at least I saw spawn it in a dev environment. So I can remove it from the dispenser and make it into a recipe

we have ash as an entity. It's gotten from crematoriums. Ideally, there'd be a better way of acquiring it.

@moonheart08 Should ash now be addable to beakers directly, so that it can be fed into the chem master? or should it be something like using the grinder to grind the ash into a beaker like plasma?

@moonheart08 Should ash now be addable to beakers directly, so that it can be fed into the chem master? or should it be something like using the grinder to grind the ash into a beaker like plasma?

Addable directly. Look at how eggs work I think?

@moonheart08 Ok finally figured out how to get the new recipe working and make it so ash can be spiked and used


docs: adding ABCI error information

close: #2907
adding some additional information about ABCI error in the docs and example in kvstore

PR checklist

[ ] Tests written/updated
[ ] Changelog entry added in .changelog (we use unclog to manage our changelog)
[X] Updated relevant documentation (docs/ or spec/) and code comments
[X] Title follows the Conventional Commits spec

I think this should be back ported to v1.x. Not sure about v0.38.x, what do you think @sergio-mena ? Since v0.38.x also return the error in the ABCI methods that might also be a good idea.

@andynog Since this ony changes doc and example code, there's no risk in backporting. So, yes, I think it makes sense.


Add data documentation

Each data file need to be name correctly and documentation should be updated to data.R

[ ] GEX5line.txt
[ ] InputData_for_Survival_v1.txt
[ ] L29_vitro_Control_vs_knockdown_diff.txt
[ ] Limma.csv
[ ] MS_2.rda
[ ] TCGA_CHOL_Clinical_PatientID.txt
[ ] TCGA_CHOL_Expression_PatientID.txt
[ ] autosomes.beta.txt.sorted.chr16
[ ] list_snp_tohighlight.tsv
[ ] pbmc3k.rds
[ ] phenoData.txt
[X] hg19_chr_list.rda (Louis)

I do wonder what the formats of each of these are to see if any similarly formatted can be reduced to just one dataset, or if we could use an existing R package to get the data (how the lung data in plotKM was gathered), or maybe we could just have R generate a randomized dataset in the format that is needed. Also, for what we do keep, depending on the size, converting what is used to an R data object might help with size and load time.
I contributed the TCGA CHOL (Cholangiocarcinoma) data, which was derived from the genomic data commons and Cbioportal. This has an expression matrix and the clinical/phenotype data which also has survival data, so it could be used for the plotKM also. I will have to do some looking into for an exact source.
Should each of them have documentation similar to this: https://github.com/stjude-biohackathon/KIDS23-Team13/blob/main/man/hg19_chr_list.Rd ?

That would be great I think to use already available datasets.
That's recommended by bioconductor.
The documentation for the data is generated from the https://github.com/stjude-biohackathon/KIDS23-Team13/blob/main/R/data.R
file.

Yes that what I've saw in other packages.

Sorry for the delay, I've had some other things come up.  The only problem is that the single-cell mitochondrial data is not commonly available, to my knowledge.  In this case, it might be best to provide an example file and I just need to read up on what type of documentation is required.

@KMcC73 Now worries! It's understandable not all data might not be easily available, but Louis provided this (https://github.com/stjude-biohackathon/KIDS23-Team13/blob/main/R/data.R) as an example to follow for documenting our data

Great, thank you!  I updated the script for the mtCoverage plot so that it is now interactive, has title input.  I wanted to make sure I have the functionality in the correct format/corect script structure, but when I went to look for the initial R plot files that @LouisLeNezet had already structured, I cannot find them.  Where should I deposit this update file and where are the old ones for a comparison?  Sorry, not well-versed with Github protocol.

Hi,
The files when correctly formatted need to be directly at the root of the R folder (not in modules), I've put my examples there.
Concerning the example datasets, the original file should be in data-raw and then cleaned up in the files-to-rda.R and exported to rda file in the data folder.
The best would be to use already public accessible files.


is mbedtls_aes_crypt_ofb deactivated in esp-idf (IDFGH-1050)

Hi. I know there is self test function in aes.c, but i just found that mbedtls_aes_crypt_ofb cant be used on esp32.
In theory MBEDTLS_CIPHER_MODE_OFB is defined here
https://github.com/espressif/mbedtls/blob/19eb57f7f7b2f4312d497ddbcb5f104fc6877c70/include/mbedtls/config.h#L558
but it has to be undefined somewhere else because compiling with mbedtls_aes_crypt_ofb is causing error:
error: implicit declaration of function 'mbedtls_aes_crypt_ofb' [-Werror=implicit-function-declaration]

Here is my test app:
https://github.com/chegewara/esp32-mbedtls-aes-test

mbedtls allows to use default config.h or user defined config file
#if !defined(MBEDTLS_CONFIG_FILE)
#include "mbedtls/config.h"
#else
#include MBEDTLS_CONFIG_FILE
#endif
For esp32 default config.h file is overridden by  esp_config.h in esp-idf/components/mbedtls/port/include/mbedtls/esp_config.h. You will have to define MBEDTLS_CIPHER_MODE_OFB in this file

Well, i am defining MBEDTLS_CIPHER_MODE_OFB and im getting this error:
D:/esp32_apps/snippets/test_aes/build/main\libmain.a(main.o):(.literal.ofb+0x4): undefined reference to `mbedtls_aes_crypt_ofb'
D:/esp32_apps/snippets/test_aes/build/main\libmain.a(main.o): In function `ofb':
D:/esp32_apps/snippets/test_aes/main/main.c:90: undefined reference to `mbedtls_aes_crypt_ofb'
D:/esp32_apps/snippets/test_aes/main/main.c:91: undefined reference to `mbedtls_aes_crypt_ofb'

OFB mode support is not yet added for AES ALT implementation (https://github.com/espressif/esp-idf/blob/master/components/mbedtls/port/esp32/aes.c). Since you have enabled AES hardware accelerator (CONFIG_MBEDTLS_HARDWARE_AES=y) there is no corresponding hardware API in esp-idf/components/mbedtls/port/include/aes_alt.h and that is why you get this error. For the time being you can continue to use software implementation

@ghemal Thanks you are trying to help, but i have mbedtls working. The only thing that is not working is ofb encryption, all other types are working. You can check it in my test code, link you can find in OP.

@chegewara I have looked at your code. In your sdkconfig CONFIG_MBEDTLS_HARDWARE_AES=y which means alternate implementation (using hardware acceleartor) is being used. I understand mbedtls is working for all modes except ofb. This is expected since other modes except OFB are supported through alternate implementation. All the alternate implementation (except OFB) using hardware acceleration are available in esp-idf/components/mbedtls/port/esp32/aes.c
As you might be already aware the software implementation of mbedtls_aes_crypt_ofb() is available in esp-idf/components/mbedtls/mbedtls/library/aes.c but this is not implemented in above file

this is exactly what ive been asking for.
Is ofb implemented in esp-idf or not.
Thanks @ghemal

This is a bug, and we should fix it.


Provide wheel package on PyPI

Please could you provide a wheel package on PyPI alongside the standard package? http://pythonwheels.com/
Thanks :-)

See #150

Many thanks :-)

I believe I correctly uploaded a wheel to PyPI for version 2.0.0. Please reopen the ticket if you notice a problem. Thanks!

Looks great - thank you!


Update doctr deploy usage

The --gh-pages-docs flag is deprecated and the deploy directory is now a required argument.
Sorry about the noise earlier. Bug is fixed in latest version.

This is probably suffering from the same issues as the sea-mat PR. https://github.com/sea-mat/sea-mat/pull/16 should fix it here too.
Thanks @gforsyth!


Add source maps to npm package

I'm working on a react project, and after upgrading deck.gl to 9.0.34, I got this warning message:
WARNING in ./node_modules/wgsl_reflect/wgsl_reflect.module.js
Module Warning (from ./node_modules/source-map-loader/dist/cjs.js):
Failed to parse source map from '<path-to-my-project>/node_modules/wgsl_reflect/wgsl_reflect.module.js.map' file: Error: ENOENT: no such file or directory, open '<path-to-my-project>/node_modules/wgsl_reflect/wgsl_reflect.module.js.map'

I noticed this module contains source maps, but they are not included in the files array, so I figured it would be a good idea to add them to get rid of that warning

That's strange it's wanting the source map. The sources aren't included in the npm package so the source map wouldn't be pointing to anything. Maybe there's a better way to fix the warning.

I pushed a different update that doesn't generate sourcemaps at all for the published JS files. Published in 1.0.15. That should get rid of your warning.

The sources aren't included in the npm package so the source map wouldn't be pointing to anything.

As the maintainer of a GPU library (luma.gl) that uses wgsl_reflect, I am interested in offer users comprehensive debug support, so my view is that not offering source maps will be a small minus point for the wgsl_reflect library.
My understanding is that JS source maps are something of a misnomer as they are typically "self contained" these days, meaning that they include source (they are not just maps to a separate src directory).
Regardless, I love your work on wgsl_reflect and understand that (like all of us) you need to make some trade offs.

I can certainly add them back if they are useful in the published version. As it is now, I have the published version with no sourcemaps and a .debug version with source maps, which I'm not currently publishing. I can publish both the release and debug versions with the sourcemaps, and you can just use whichever one you want.

Thanks for considering.

I think just having source maps included in the production version so that users can step into the wgsl_reflect code in the Chrome debugger when tracking down a bug would be valuable.
I like this rather than a special debug version as no config is needed on the app side, it just works.

Ok, I switched it back to having sourcemaps for the regular build files and added the sourcemaps to the published files like this PR had.


default console wget fails when using a http_proxy with a redirect

wget http://home.org.au
Connecting to <IP_ADDRESS>:3128 (<IP_ADDRESS>:3128)
wget: error getting response

wget http://www.home.org.au/ works.
same command with the same env (http_proxy and HTTP_PROXY set to htto://<IP_ADDRESS>:3128 works in the alpine/debian console.

@SvenDowideit @niusmallnan  Hi all, i have built an iso base on revision number 19a8103 and this issue can not be reproduce.


Assertion Error : 0 < scale on Joint Infer

I get an assertion error: "@assert 0 < scale" on this line of the code: https://github.com/jeff-regier/Celeste.jl/blob/joint_infer_assertion_error/src/bivariate_normals.jl#L18
Steps to reproduce:

Pull the joint_infer_assertion_error branch.
run "julia ./test/runtests.jl joint_infer"
After about a minute of optimization the program should exit with the error.

The error is caught on https://github.com/jeff-regier/Celeste.jl/blob/joint_infer_assertion_error/src/cyclades.jl#L309

It's odd that this error only seems to happen after the first iteration, with non-default parameters for the NewtonTrustRegion optimizer.
Could it just be that using the default parameters is similar to using too large of a step size?

Hi Max, What's the value of scale when the assertion is false? Is it NaN or something negative?

I think it's NaN... I'm making sure right now

Update: yeah it's NaN

Thanks for checking. I suspect it originates in the Transform module. The optimizer takes a step in the unconstrained parameter space, but that step turns out to be huge in the constrained parameter space. I wonder why it's NaN and not Inf....

I followed the steps, but I don't get the assertion error. I just made a PR that attempts to catch the problem earlier, before elbo is called, by verifying that vp are all finite when constructing an ElboArgs instance. Does that stop the 0 < scale error for you?

Hmm dang, I think I made a mistake. I updated the Optim package just now and the error went away.

Let my try some other stuff to make sure updating the package fixes everything

Hmm, yeah sorry about this, I think this error was due to my Optim package being outdated. With the upgraded Optim package everything works fine.

No problem, glad it's working


WIP: Consistent device usage in devicemapper examples

Proposed changes
The existing docs use inconsistent names for the docker volume, and the thinpool logical volume names.  I've updated the docs to use docker consistently as the volume group name, and docker/thinpool as the logical volume in all examples.
this makes the docs easier to comprehend, since users don't have to go through multiple times to realize the names of volumes keep switching halfway through the example.

How is this coming along?

This is still listed as WIP and has a merge conflict. Any update?

There was a recent update to projectatomic/container-storage-setup, and I've been working through issues in consistency between manual setup using the current docs, running the latest css, and some issues with selinux enabled hosts.
It's already been a long week with this one, but I hope to be able to take definitive action on this PR by the end of the week.

The issue mentioned in css: passing -n ftype=1 hits the nail on the head with the selinux issues.
Especially running dind scenarios, volume creation fails within an outer contain because the given root path for docker on most CentOS/RHEL distro's isn't formatted correctly when left to docker to create the directory.

After reviewing the changes, I don't think there's any point in rebasing. I think the upstream changes  covered everything I was going to do with this PR.


Add null to urlProps type

I don't need to use(yet) urlProps so I need to add urlProps={{}}, so with this PR i make urlProps also nullable

This looks good,
Though this change should be added to other components as well.
I will do that
@kdichev  Thanks for creating PR


Beautify README

I updated the README.md and reformated it in a way that is hopefully easier to read, since the text is not splited into the individual persons. Now I arranged the text in the order of execution.
@masterYoda8 I hope thats fine for you.
@tsunaBoy  if you want to add something about reformating I would add it to the end.

I'll change them later, thanks


Use JSON schemas to validate JSON input/output

~At the moment only basic tests are performed on JSON input/output. There is a schema for the options file which is kept updated, but I haven't found any libraries with permissive licenses that are able to run the validation without crashing. I've tried versions of picojson, rapidjson, and valijson, but I don't remember exactly which versions - it may have been an outdated version of rapidjson (see #20).~
~Python and JS have mature, functioning tools for this purpose - one option may be to run JSON validation in an external process.~

~Integrate a working JSON schema validator with the codebase.~
~Define appropriate schemas for the output JSON files.~
~Use the schemas to validate I/O JSON files in tests (and possibly in the main program).~

Now that spotify-json is used for JSON I/O in Wangscape and WangscapeTest, the issue is somewhat different. JSON schemas should be available for all the I/O formats. They will serve as:

A formal specification of the formats, for people who want to work with them manually or write applications using them.
A validation tool for use outside of the C++ Wangscape/WangscapeTest executables (in particular in Wangview).

I've got a good experience with spotify-json, you can use it for validating, serializing and deserializing JSONs. It can be added as submodule (IMO that's the best way to add a library to your project).
I can do it as well and then you will have more time to spend on algorithm implementation and different tile types handling.

Spotify-json looks suitable for the job. It looks like validation is done by static analysis of the target class rather than with JSON schemas? That might make manual editing of options files more difficult, but manual JSON editing is not meant to be a long-term solution for Wangscape configuration. And the API looks nicer than rapidjson's.
Feel free to implement this :)

Yes, that's right - defined class determines how JSON should look like and you set selected fields as optional in decoder to have two ways conversion.
With spotify-json there will be not lines like this:
TerrainSpec(
    v.FindMember("FullName")->value.GetString(),
    v.FindMember("FileName")->value.GetString(),
    v.FindMember("OffsetX")->value.GetInt(),
    v.FindMember("OffsetY")->value.GetInt())

It's just TerrainSpec parsing.
Mmm... we should ask ourselves how many fields from configuraton JSON are really necessary. I've started implementing logger with including boost::program_options and I think e.g. OutputDirectory could be passed from the command line (it will require that Wangscape's users run it in a console :confused:).
On the other hand, command line arguments could overwrite JSON config and user could just do something like that:
./Wangscape --config-file options.json --tile-format 16 --filetype jpg

and then Wangscape will use these two options and read the rest from the file. After tileset generation, it will save passed tile-format and filetype to options.json (saving some backup file maybe).
For now, as far as I saw, it's not possible to run Wangscape without config file. It will be nice to have some default options and read as much as possible from input files. E.g.:
./Wangscape tile1.png tile2.png

could deduce tile sizes, use common filetype, generate tileset in output directory by default and read FullName, FileName from passed arguments. MetaOutput options could be default in source code as well.
How do you feel about that?

I agree that most of what is currently in the options file can be made implicit or overridable in the command line. There shouldn't be any problem running the program without an options file, for simple configurations like:
./Wangscape tile1.png tile2.png

It should of course fail if tile1 and tile2 don't have the correct size, or --tile-format is specified and one of the tiles is too small. MetaOutput filenames can all have default options, resolution can be guessed, FileType can be png, offsetX and offsetY can be 0 by default, terrain ids could be derived from filenames. However, there are some limitations:

This would be inadvisable with 6 or more input terrains, and bad with 12 or more, because the output tileset dimensions risk exceeding the maximum texture size of a low-end graphics card. This is what the clique specifications are for, and I for one would not enjoy writing clique specifications on the command line ;) Automatically selecting cliques would probably not be practical.
Once #15 is implemented, each terrain and each pair of terrains that share a clique will have a noise module associated with it. Except for very basic options, these would probably have to be guessed (and the guesses may be quite unsatisfying).

I think it would be good to allow simple command line options, but automatically generate an options.json in the output folder so that the user can alter the generation parameters in more detail, without having to write the file from scratch. There could be a --generate-options flag that writes the options, and a --dont-generate flag that prevents Wangscape from generating tiles.

Options generation is what I thought about when you wrote:

manual JSON editing is not meant to be a long-term solution for Wangscape configuration

I'll think of it and I'll try to choose the proper set of command line options.

It should of course fail if tile1 and tile2 don't have the correct size

Yeah, but it could also analyze input tiles, generate as much configuration (with comments maybe) as it's possible for these tiles and print some tips about filling the rest. I'm not sure if it's a proper way to handle a wrong input, but we can always try and see how it works.

It should of course fail if tile1 and tile2 don't have the correct size

Yeah, but it could also analyze input tiles, generate as much configuration (with comments maybe) as it's possible for these tiles and print some tips about filling the rest.

Sorry, I meant to write "if [they] don't have the same size". Though if one image is a multiple of the other's size, it can be treated as a set of terrains. In theory this could be used to specify cliques on the command line, but that would require identifying all the duplicate tiles in the inputs.

Good news: Wangscape already builds and works correctly (on provided examples) without RapidJSON using spotify-json instead 😀. I only need to fix (or remove) tests that included the former.
If you'd like to take a look, go to my spotify-json branch: https://github.com/hryniuk/Wangscape/tree/spotify-json. There will be (finally) a PR of course, as soon as I'll finish.

What's the status of this issue? Does Wangscape still need JSON schema validation? Options/output can be validated with the structs and codec from spotify-json.
I think that JSON schemas could be useful as it would be much harder to store all information in e.g. comments around the code, but that's only the second point:

Define appropriate schemas for the output JSON files.

I think spotify-json has resolved this issue for the C++ Wangscape executable and tests, but the project as a whole still needs JSON schemas for:

Wangview
Documentation/specification of JSON formats for:

People who want to manually write options files.
People who want to write applications using output from Wangscape.

I don't think spotify-json codecs, or even well-commented spotify-json codecs, will be suitable as documentation. Doxygen output from codec classes might work, if well-configured.

If you have Doxygen comments in mind, they would only clutter codecs' code in my opinion... but I'll accept your decision of course :wink:. For me up-to-date JSON schemas are the best option.
Why do we need schemas for Wangview? Aren't schemas of Wangscape output enough?

You're right, Doxygen files from codec classes are probably not the right way to go. I do think the formats should be documented not just in JSON schemas, but also in a more human-readable format like HTML. There are several tools for converting JSON schemas to HTML documentation:

https://github.com/mattyod/matic
https://github.com/cloudflare/json-schema-docs-generator
https://github.com/lbovet/docson
https://github.com/interagent/prmd

I'll look at them in more detail tomorrow. They all seem to depend on node.js. I don't think that's a problem for a documentation generator.
Wangview won't need any schemas of its own - it can use the Wangscape metaoutput schemas. But we don't have any schemas for the metaoutput yet, so Wangview needs them! ;)

Now everything's clear :). I'll take a look at them too...
I've just got an idea of importing them somewhat into Markdown files and then generate HTML documentation with one of static page generators. With GitHub Pages we could probably get anything we need.

Some notes on the documentation generators:
matic's example output looks nice and runs fast on desktop and mobile. It hasn't been significantly updated in 3 years, and it's only tested with Jade, which is deprecated in favour of pug. The example schema is quite simple, so I don't know how well it would cope with the features used in Wangscape's options schema. Worth a try.
doca is extremely heavy. The example output (https://api.cloudflare.com/) looks nice but runs slowly on both desktop and mobile. It takes several minutes to install the necessary npm packages and initialise, it insists on using a folder named documentation, and that folder grows to at least 73 MB with over 20,000 files. And after all that it failed with an ELIFECYCLE error.
docson's output (link) runs fast; it looks nice on desktop and OK on mobile. The version at github.io doesn't display the Terrains schema correctly. I suspect that's because of the patternProperties field. Perhaps the github.io version doesn't yet have the fix for this issue? If an up-to-date install works, this could be a good choice.
I can't test prmd because I don't currently have Ruby installed. The only example output I can find is this, which is rather unimpressive.

OK, I skipped the npm package and used the instructions here to run the patched version of docson. patternProperties support is great, and the options schema renders very well. However, the module schema's oneOf property for module schemas breaks the display:

I'll check whether using different names for the individual module schemas can fix the problem. Either way, I think docson is the best option for this.
I think it would be worthwhile to write a small Python tool that validates a configuration file and its output. The jsonschema package works well with these schemas, so it would be a simple task.

https://github.com/Wangscape/Wangcheck will hold the Python script for automatically validating Wangscape configuration.

https://github.com/lbovet/docson/pull/44 has a solution for the narrow formatting in docson. I've forked docson to https://github.com/Wangscape/docson, merged that change into master, and updated the gh-pages branch with the fix for patternProperties which was already on master. Now we can view schemas using links like https://wangscape.github.io/docson/#https://raw.githubusercontent.com/serin-delaunay/Wangscape/metaoutput-schemas/doc/schemas/options_schema.json.

Closed in https://github.com/Wangscape/Wangcheck/pull/2.


Remove conn property from core API

I noticed working on #502 that some code is still using the old API. This PR is to fix some issues so I can rebase the other branch and move on with a clean baseline.

Current coverage is 95.76% (diff: 100%)

Merging #701 into master will decrease coverage by 0.11%

@@             master       #701   diff @@
==========================================
  Files            21         21
  Lines          1167       1158     -9
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           1119       1109    -10
- Misses           48         49     +1
  Partials          0          0

Powered by Codecov. Last update b3b5137...15fb27f


Remove Deploy To Now buttons

We don't own/maintain deploy.now.sh and it is outdated.

Will be replaced by a new workflow soon 💯


Added Link for Free and Paid course for Kotlin

@HimanshuDudhat Thanks for your update in Kotlin course.


Cask requests

These are the last major versions before paid updates...
Text Expander 5
https://raw.githubusercontent.com/caskroom/homebrew-cask/bd476a797af0abd1a4c59219df00931f34dcd12b/Casks/textexpander.rb
Navicat Premium 11
https://raw.githubusercontent.com/caskroom/homebrew-cask/c28e4c5ac0b8e7b61a394788ce816a8cd73ee256/Casks/navicat-premium.rb
Dash 3
https://raw.githubusercontent.com/caskroom/homebrew-cask/0b088ffec44f55713b94bee5b169c3a5e87aed1f/Casks/dash.rb
As an aside, is there any way that these older versions could be automatically pulled from the main Homebrew Cask repo when the version number is bumped?  Not sure how you'd go about doing it but just figured it would save the work of having to manually add them.
Thanks :)

README.md#requests

Cask requests will be automatically closed. If you want a cask added, submit a pull request.

https://github.com/caskroom/homebrew-versions/blob/master/Casks/dash3.rb
https://github.com/caskroom/homebrew-versions/blob/master/Casks/textexpander5.rb

is there any way that these older versions could be automatically pulled from the main Homebrew Cask repo when the version number is bumped?

No, we have strict rules regarding what is added to versions
https://github.com/caskroom/homebrew-versions#acceptable-casks


Add support for netstandard + dotnet-core

As discussed in PR #35, we need to support dotnet-core

[x] Convert solution to netstandard
[x] Ensure compatibility with .NET 4.6+
[x] Ensure compatibility with dotnet-core v1.x
[ ] Configure NuGet details in project properties (.csproj)
[ ] publish NuGet package update

Please do it ;-)

All that remains is configuring the NuGet package properly and update it. Can you help me with this, @pootzko?

Hi,
sure. I've glanced over the work and it seems pretty solid. Thanks! I'll work on deploying this over the following weekend.

A quick update - I'm working on this.
https://www.nuget.org/packages/InfluxData.Net.Test
net461 works fine, but I have to figure out how to make netstandard1.4 to work..

Hey! I just published the Nuget and the v7.0.2 now supports .Net Standard 2.0 (upgraded from 1.6).
I also added a "NugetTests" subfolder which contains a solution with 2 projects (One for .Net Framework and one for .Net Core). Both of them have a copy of the integration tests and I used them to pull down the published nuget to test that everything still works fine.
If you find out something's not working properly, please let me know.
And a massive thanks for the upgrade @hanssens :)

Awesome, great work @pootzko! I'll try it soon.

It blends like a charm! 👍🏻


Adds Middleman Blog Template for XHTML served as application/xhtml+xml

Probably best not to include HTML in these fields

I was trying to ape the bigger boys.


devicetree: drop support for dts_fixup.h files

Devicetree fixup files existed previous to the current stable Devicetree
API. While they served their purpose, they are no longer necessary nor
used in-tree. This patch drops support for this legacy feature.
Note that we should probably rename devicetree_unfixed.h to something else now.

Marking DNM to make sure we get @mbolivar-nordic approval.

You're on a rampage to make my ZDS 2022 talk where I explained these details obsolete, huh?

heh, same problem with my presentation. New DT Kconfig helpers, usage of select, etc. I actually created a v2 slides, so people won't copy a legacy pattern... :smile:

OK, fine, I guess it gives me an excuse to give it again next time, less work to prep slides...
No objections, but I do agree we should change devicetree_unfixed.h to something else now. It doesn't make sense.
How about devicetree_generated.h?

+1, will push the name change


No Match Found not working as per docs

Hi,
I was trying through No Match found routes
but when ever i type my local url like localhost:8080/nosds
I get cannot get error like cannot GET/nosds
i am expecting NoMatchFoundComponent

This is a bug tracker, not a support system. For usage questions, please use Stack Overflow or Reactiflux. Thanks!