What versions of LLVM work / don't work for you?

Unfortunately we have some problems with LLVM making substantial API changes on minor versions and having platform specific bugs on certain versions.
I want to collect information about what versions people use and what versions definitely don't work. So please add a comment below with your experience.
Telling us LLVM versions (eg 3.6.2) that do or don't work is good and an explicit tag / svn revision or similar is better.
Please include your OS: at least Linux, Windows, OS X, etc, and if possible distro / version as appropriate.
Thanks for your help.

LLVM 3.6.2
OSX El Capitan
Works

OS X El Capitan 10.11.2 (15C50)
$ /usr/local/opt/llvm/bin/llvm-config --version
3.6.2
Works (except for #450)

I have the same as fowles:
OS X El Capitan 10.11.2 (15C50)
$ /usr/local/opt/llvm/bin/llvm-config --version
3.6.2
Installed by homebrew as 'llvm' in a bottle, but I also have 3.6.0 installed as 'llvm36' poured and symlinked under /usr/local/bin/ as llvm-*-3.6. How does ponyc determine which llvm to use by default? I'm not sure how or when I installed 3.6.0...

Pony 0.2.1-204-g87fcb40

llvm: stable 3.6.2 as installed by homebrew, OS X 10.10.5
aside from #449

Thanks for the responses so far. I hadn't realised so many of our users were on OS X, or maybe the OS X people are just more likely to respond :)
@cquinn, the ponyc build process looks for llvm-config in your path (first just llvm-config, then llvm-config-3.6 then llvm-config36). Plus you can override it with $LLVM_CONFIG. So whether you're using 3.6.0 or 3.6.2 entirely depends on how your environment is set up.

$ llvm-config --version
3.6.1
$ ponyc --version
0.2.1
$ uname -a
Darwin mallen-rMBP.local 15.2.0 Darwin Kernel Version 15.2.0: Fri Nov 13 19:56:56 PST 2015; root:xnu-3248.20.55~2/RELEASE_X86_64 x86_64

Installed via homebrew.
I'm using El Capitan now but when I tried to compile under Yosemite and build the entire stack from source (including non-Apple llvm, etc) it was this error I couldn't wrap my head around: https://gist.github.com/mrallen1/3dc1baed17de3c38e77f - so I gave up.

MacOS X El Capitan 10.11.2 (15C50)
LLVM 3.6 installed via macports (I don't have homebrew installed), /opt/local/libexec/llvm-3.6/bin added to my $PATH.
$ /opt/local/libexec/llvm-3.6/bin/llvm-config --version
3.6.2
$ uname -a
Darwin hibpro.local 15.2.0 Darwin Kernel Version 15.2.0: Fri Nov 13 19:56:56 PST 2015; root:xnu-3248.20.55~2/RELEASE_X86_64 x86_64 i386 MacBookPro11,3 Darwin
Building with the release config fails with this:
https://gist.github.com/nlalevee/59e599510bdce53bd531#file-pony-release-build-log
Building with the debug config is OK.

OS : Archlinux
LLVM : 3.7.0, installed from the repositories
Ponyc : 0.2.1-276-g463774a, built after merging llvm37 into master
Works.

@andymcn I thought it was something like that for locating llvm, but I have no llvm-config* on my path, and no $LLVM_* in my env. Does ponyc have another fallback of some kind? It might be a nice feature for ponyc to output more info in its -v about what other libs or tools it has found and would be using. Or maybe a more verbose -V.

OS X El Capitan with macports:
make -j4 -s CXX=clang++-mp-3.6 CC=clang-mp-3.6 LLVM_CONFIG=llvm-config-mp-3.6
works. i.e. 3.6.2
clang-mp-3.7 (i.e. 3.7.0) fails with
src/libponyc/codegen/gencontrol.c:509:24: error: too many arguments to function call, expected 4,
      have 5
    c->personality, 1, "");

OS: Xubuntu Linux 14.04.3 LTS (trusty)
LLVM: 3.6.0, installed from package manager
Pony: 0.2.1-305-g0988595
Works

Is ARM supported at all? I'm on a 32-bit ARMv7.
OS: Arch Linux ARM, freshly updated 2016-02-03 16:35 UTC
LLVM: 3.7.1-1 installed from Arch packages.
Pony: master at 7f027bf0d7cc73aa0cf8ea129ec1f2ccb0ac6567 with git merge llvm37 on top.
Doesn't work, I get the following:
src/libponyc/codegen/gencontrol.c: In function ‘gen_try’:
src/libponyc/codegen/gencontrol.c:512:67: error: passing argument 3 of ‘LLVMBuildLandingPad’ makes pointer from integer without a cast [-Werror=int-conversion]
   LLVMValueRef landing = LLVMBuildLandingPad(c->builder, lp_type, 1, "");
                                                                   ^
In file included from src/libponyc/codegen/../debug/dwarf.h:9:0,
                 from src/libponyc/codegen/codegen.h:8,
                 from src/libponyc/codegen/gencontrol.h:5,
                 from src/libponyc/codegen/gencontrol.c:1:
/usr/include/llvm-c/Core.h:2677:14: note: expected ‘LLVMValueRef {aka struct LLVMOpaqueValue *}’ but argument is of type ‘int’
 LLVMValueRef LLVMBuildLandingPad(LLVMBuilderRef B, LLVMTypeRef Ty,
              ^
src/libponyc/codegen/gencontrol.c:512:70: error: passing argument 4 of ‘LLVMBuildLandingPad’ makes integer from pointer without a cast [-Werror=int-conversion]
   LLVMValueRef landing = LLVMBuildLandingPad(c->builder, lp_type, 1, "");
                                                                      ^
In file included from src/libponyc/codegen/../debug/dwarf.h:9:0,
                 from src/libponyc/codegen/codegen.h:8,
                 from src/libponyc/codegen/gencontrol.h:5,
                 from src/libponyc/codegen/gencontrol.c:1:
/usr/include/llvm-c/Core.h:2677:14: note: expected ‘unsigned int’ but argument is of type ‘char *’
 LLVMValueRef LLVMBuildLandingPad(LLVMBuilderRef B, LLVMTypeRef Ty,
              ^
src/libponyc/codegen/gencontrol.c:512:26: error: too few arguments to function ‘LLVMBuildLandingPad’
   LLVMValueRef landing = LLVMBuildLandingPad(c->builder, lp_type, 1, "");
                          ^
In file included from src/libponyc/codegen/../debug/dwarf.h:9:0,
                 from src/libponyc/codegen/codegen.h:8,
                 from src/libponyc/codegen/gencontrol.h:5,
                 from src/libponyc/codegen/gencontrol.c:1:
/usr/include/llvm-c/Core.h:2677:14: note: declared here
 LLVMValueRef LLVMBuildLandingPad(LLVMBuilderRef B, LLVMTypeRef Ty,
              ^
cc1: all warnings being treated as errors

@shepheb - I think ARM is supposed to be supported - can you try with LLVM 3.6?

We are running code on ARM.
On Wed, Feb 3, 2016 at 11:48 AM, Braden Shepherdson <
<EMAIL_ADDRESS>wrote:

Is ARM supported at all? I'm on a 32-bit ARMv7.
OS: Arch Linux ARM, freshly updated 2016-02-03 16:35 UTC
LLVM: 3.7.1-1 installed from Arch packages.
Pony: master at 7f027bf
https://github.com/ponylang/ponyc/commit/7f027bf0d7cc73aa0cf8ea129ec1f2ccb0ac6567
with git merge llvm37 on top.
Doesn't work, I get the following:
src/libponyc/codegen/gencontrol.c: In function ‘gen_try’:
src/libponyc/codegen/gencontrol.c:512:67: error: passing argument 3 of ‘LLVMBuildLandingPad’ makes pointer from integer without a cast [-Werror=int-conversion]
LLVMValueRef landing = LLVMBuildLandingPad(c->builder, lp_type, 1, "");
^
In file included from src/libponyc/codegen/../debug/dwarf.h:9:0,
from src/libponyc/codegen/codegen.h:8,
from src/libponyc/codegen/gencontrol.h:5,
from src/libponyc/codegen/gencontrol.c:1:
/usr/include/llvm-c/Core.h:2677:14: note: expected ‘LLVMValueRef {aka struct LLVMOpaqueValue *}’ but argument is of type ‘int’
LLVMValueRef LLVMBuildLandingPad(LLVMBuilderRef B, LLVMTypeRef Ty,
^
src/libponyc/codegen/gencontrol.c:512:70: error: passing argument 4 of ‘LLVMBuildLandingPad’ makes integer from pointer without a cast [-Werror=int-conversion]
LLVMValueRef landing = LLVMBuildLandingPad(c->builder, lp_type, 1, "");
^
In file included from src/libponyc/codegen/../debug/dwarf.h:9:0,
from src/libponyc/codegen/codegen.h:8,
from src/libponyc/codegen/gencontrol.h:5,
from src/libponyc/codegen/gencontrol.c:1:
/usr/include/llvm-c/Core.h:2677:14: note: expected ‘unsigned int’ but argument is of type ‘char *’
LLVMValueRef LLVMBuildLandingPad(LLVMBuilderRef B, LLVMTypeRef Ty,
^
src/libponyc/codegen/gencontrol.c:512:26: error: too few arguments to function ‘LLVMBuildLandingPad’
LLVMValueRef landing = LLVMBuildLandingPad(c->builder, lp_type, 1, "");
^
In file included from src/libponyc/codegen/../debug/dwarf.h:9:0,
from src/libponyc/codegen/codegen.h:8,
from src/libponyc/codegen/gencontrol.h:5,
from src/libponyc/codegen/gencontrol.c:1:
/usr/include/llvm-c/Core.h:2677:14: note: declared here
LLVMValueRef LLVMBuildLandingPad(LLVMBuilderRef B, LLVMTypeRef Ty,
^
cc1: all warnings being treated as errors
—
Reply to this email directly or view it on GitHub
https://github.com/ponylang/ponyc/issues/456#issuecomment-179339346.

I grabbed the ARMv7a binary for Clang/LLVM 3.6.2, added it to my PATH and LD_LIBRARY_PATH, and ran the build. (Hopefully the llvm-config that came with it will do the right thing? I'm not sure how that works.)
I got a lot further in the build, and it failed at linking ponyc with:
Linking ponyc
/tmp/cckVjAYG.ltrans18.ltrans.o:<artificial>:vtable for HeapToStack: error: undefined reference to 'llvm::FunctionPass::createPrinterPass(llvm::raw_ostream&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
collect2: error: ld returned 1 exit status

FWIW I tried this with LLVM 3.6.1 and config=debug, with the same results.
I tried building master directly against LLVM 3.7.1 without the llvm37 branch merged in - that predictably fails to compile.
I'm happy to do deeper debugging or try various patches, as needed.

Works with LLVM 3.7.1 on 32-bit ARM if you use master + llvm37 + a small patch (see below)!
I've debugged the error message I get when compiling against LLVM 3.7.1. It seems to stem from a backward-incompatible change to the API of LLVMBuildLandingPad that appears only in LLVM 3.7.0, and was corrected in LLVM 3.7.1 and later. See this thread for details.
That sucks, but a more specific preprocessor define will let the llvm37 branch work on all 3.7.* versions. I've created PR #519 for that patch.

OS : Linux Mint 17.1 Rebecca
Kernel : 3.13.0-37-generic #64-Ubuntu SMP
LLVM : 3.6.2
Pony : 0.2.1, 0.2.1-482-gff0aad1
Works!

Thanks for the info everyone.
Does anyone fancy collating all of this in some form that's easier to look things up in? What I want is an easy way to lookup what does / doesn't work. That way when some reports weird behaviour we can check this and either say "that setup doesn't work, no point in investigating" or "that setup is known to work, we need to investigate".

Here's a condensed list by OS and LLVM version:
OS X
OSX El Capitan with LLVM 3.6.2: Works (several reports)
OSX El Capitan with LLVM 3.7.? and llvm37 branch: Works with the right compilers etc.
Linux
Xubuntu 14.04 with LLVM 3.6.0: Works
Arch Linux with LLVM 3.7.1 and llvm37 merged: Works, as long as you pick up llvm37 after #519 1ff3d90.
Linux Mint 17.1 Rebecca with LLVM 3.6.2: Works
Ubuntu 14.04 with LLVM 3.7.0 and llvm37: Works
NixOS with LLVM 3.6.2: Works
Summary
When you skip past the debugging by me and others of broken configurations, it seems to work on most systems and LLVM versions, now.

@shepheb - you missed my report:

Fedora Linux 22
LLVM 3.6.2
Pony 0.2.1-204-g87fcb40

Edited in, sorry.

I've merged LLVM 3.7.1 support with @shepheb's change into master. I'm now using LLVM 3.7.1 on OSX without problems.
LLVM 3.8 was released on March 8th, so we have even more stuff to test against now :)

@sylvanc should i update documentation to have everyone use 3.7 instead of 3.6?

@SeanTAllen good idea! Yes, please. Specifically, 3.7.1.

Has ARM ( Raspberry Pi, Parallella ) been confirmed with LLVM 3.7.1?
On Thu, Mar 10, 2016 at 2:22 PM, Sean T Allen<EMAIL_ADDRESS>wrote:

@sylvanc https://github.com/sylvanc should i update documentation to
have everyone use 3.7 instead of 3.6?
—
Reply to this email directly or view it on GitHub
https://github.com/ponylang/ponyc/issues/456#issuecomment-194869679.

@darach confirming Raspberry PI with 3.7.1 should be easy to do. Let me poke someone to confirm that.

I have Pony working nicely on Arch Linux ARM, RasPi 2 with LLVM 3.7.1.
That was the setup I made the patch mentioned above to fix. LLVM 3.7.0 has a bug/bad patch that broke an API in that version only, fixed in 3.7.1 and later.

macports with llvm-mp-3.7 fails with -flto now.
1st problem is that the system /usr/bin/ar -rcs, ie system ranlib cannot sort libponyc.a anymore. I have to use now llvm-ar-mp-3.7 with AR_FLAGS = rcs.

problem not yet solved: The system linker ld, which uses libLTO version 'Apple LLVM 7.0.2 (clang-700.1.81)' fails also, ditto an older llvm-ld linker with a LLVM 3.3 libLTO.
I couldn't find a better lto solution yet. llvm-lto requires bitfiles.
I need to pass the correct llvm-3.7 library path llvm-config-mp-3.7 --ldflags or also the gold plugin maybe

@rurban can you issue a PR w a documentation update to the README ?

@SeanTAllen First I need to fix it :)

I have a gif for that...

I ran into problem when I tried to compile ponyc
here is my OS and compile environment:
Archlinux 4.4.5-1 x64 with LLVM 3.7.0
The make command simply ran into problem when compile these files: genopt.cc, gencontrol.c, gendebug.cc: Most error related to LLVM class, I'm still looking into this.
Here is part ot the error msg when compiling genopt.cc
src/libponyc/codegen/genopt.cc: In function 「void print_transform(compile_t*, llvm::Instruction*, const char*)」:
src/libponyc/codegen/genopt.cc:76:34: error：cannot convert 「llvm::MDLocation*」 to 「llvm::DILocation*」 in initialization
   DILocation* location = loc.get();
src/libponyc/codegen/genopt.cc:77:30: error：「class llvm::DILocation」 has no member named 「getScope」
   DIScope* scope = location->getScope();
src/libponyc/codegen/genopt.cc:78:30: error：「class llvm::DILocation」 has no member named 「getInlinedAt」
   DILocation* at = location->getInlinedAt();
src/libponyc/codegen/genopt.cc:87:29: error：「class llvm::DILocation」 has no member named 「getScope」
     DIScope* scope_at = at->getScope();
src/libponyc/codegen/genopt.cc:92:50: error：「class llvm::DILocation」 has no member named 「getLine」
       scope_at->getFilename().str().c_str(), at->getLine(),
src/libponyc/codegen/genopt.cc:93:11: error：「class llvm::DILocation」 has no member named 「getColumn」
       at->getColumn(), s);

@yodalee LLVM 3.7.0 doesn't work (in general, not just ponyc), you need to use 3.7.1

OK, I found that I compile LLVM 3.7.0 by myself and it block the LLVM 3.7.1 I installed.
Now ponyc compiled.

They don't work very long and they're really slow.  The problem is  that it's dependant on many other programs and it seems as though none of them knows the other exists.  The release dates and version numbers hardly ever line up causing issues.  They will suddenly slip in some dependency that nobody knows about and they say little about.  The literature is complicated, lacking any real instruction or directions, not to mention examples.    I have a version that came preinstalled.  I tried upgrading but it won't assume as the default version.  Oh and by the way, I can't add anything to mine either like libclc because I 345 other programs in order for it to maybe it.  But go ahead, give it a shot.


404 page causes KeyError: 'START_TIME'

When you reach a 404, it looks like the before_request_handler is not called and thus triggers  the following error in the after_request_handler:
[2020-06-10 15:13:42 +0200] [17655] [ERROR] Exception occurred in one of response middleware handlers
Traceback (most recent call last):
  File "/Users/optroodt/venvs/<snip>/lib/python3.7/site-packages/sanic/app.py", line 1017, in handle_request
    request, response, request_name=name
  File "/Users/optroodt/venvs/<snip>/lib/python3.7/site-packages/sanic/app.py", line 1315, in _run_response_middleware
    _response = await _response
  File "/Users/optroodt/venvs/<snip>/lib/python3.7/site-packages/sanic_prometheus/__init__.py", line 125, in before_response
    metrics.after_request_handler(request, response, get_endpoint)
  File "/Users/optroodt/venvs/<snip>/lib/python3.7/site-packages/sanic_prometheus/metrics.py", line 56, in after_request_handler
    lat = time.time() - request['__START_TIME__']
  File "/Users/optroodt/venvs/<snip>/lib/python3.7/site-packages/sanic/request.py", line 143, in __getitem__
    return self.ctx.__dict__[key]
KeyError: '__START_TIME__'

Running:

MacOS 10.14.6 (Yes, I should upgrade :D)
Python 3.7.7,
sanic 19.12.2
sanic-prometheus 0.2.0

https://github.com/dkruchinin/sanic-prometheus/pull/33


Provision Redis store

Is your feature request related to a problem? Please describe.
As a user I don't want to wait for GCSS uptime to submit my D6T so that I can keep working on other D6Ts.
Describe the solution you'd like

Provisioned redis store for use as a message queue for GCSS API requests

Depends on #14
Describe alternatives you've considered
N/A
Additional context
N/A

Mon Cala team plans to use RDS Postgres instance as the message queue, Redis store no longer required.


Hive2BQ notebook now supports partitioning and clustering

feat: Hive to BQ notebook now supports automatic creation of partitioned and clustered BQ tables based on HIVE partitioning and clustering keys.

Reviewing this this week

Hey @NiloFreitas , any luck on this?


Docu  how to expose HTTP health checks with consul connect

https://github.com/hashicorp/consul/issues/5396

Look at script checks
https://github.com/hashicorp/nomad/issues/9945
https://gist.github.com/evandam/6642b3ff3dcf49baaa97da2635a31dae


Added support for Buffer, Mixed and Embedded schema types

Hi Akos
Added in some support for Buffer as a primitive type, and I've also created a separate list for the non primitive Schema.Types.
Perhaps move the lists out of the 'utils.ts' into a config object so that it can be defined on the typegoose singleton, with an optional closure that can be invoked at schema definition time, meaning that typegoose can be extended as needed.
Cheers
Stuart

Hi @goulash1971
Can you please fix the error I commented on?
And please add tests to cover the new functionality. Without that, we won't be able to merge your PR.
Cheers,
Daniel

Thank you so much for making this change, it's a much-needed feature. And thank you @szokodiakos for this awesome library.

When is this fixed?

Coverage decreased (-0.02%) to 86.452% when pulling 4bc400db4a52303e0680c66b3ddbf214fb8e515f on goulash1971:master into 591a9f95b4d1bfd9f1074cb90cc507f27eda4b9b on szokodiakos:master.

Support for nested documents (including unit tests for that feature) has been merged: https://github.com/szokodiakos/typegoose/pull/77


Feature Request: Permanent link

We'd welcome to create permanent link for a page. Internally the pages would also be linked with this permanent link/shortcut.
Current issue is that if we change title of the page, all other links become broken. Also external links would not work obviously.

Thanks for the request @vladaman.
Since there are various open issues regarding linking (#441, #288, #732) I'm going to close this off as a duplicate.
Couple of notes though:
When you select some text of a section BookStack should show a popup which allows you to copy a permalink to that page, specifically that block of content:

This link is ID-based instead of slug-based.

Current issue is that if we change title of the page, all other links become broken.

BookStack does do some level of resolving here. If a page is not found the revisions will be checked for an older page using that URL and, if found, the user will be redirect to the new version of the page. There are some circumstances that cause this to fail though.


feat(#35): memory as a container for a real data

Closes: #35

PR-Codex overview
Detailed summary

Added a new blog post titled "MEMORY as a container for a real data"
Changed the behavior of the memory object in the programming language
Introduced the concept of objects and data, with data being a sequence of bytes
Updated code examples to reflect the new behavior of the memory object
Added a new restriction to memory: it records the length of the first stored object and restricts writing objects with a larger length in bytes

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@Graur please review this one

@yegor256 please have a look

@rultor merge

@rultor merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here


Failed During Task: Updating Package Directories

I am getting the following command line output:
Initializing new project-platform "Toybox-Windows"...
Updating package directories for project Toybox...
Project "Toybox" is not initialized for platform "Windows".  Initializing now.
Initializing new project Toybox (Windows)...
Finished creating new project "Toybox" (Windows)
Finished initializing new project Toybox (Windows) (Took 1.9 seconds, time: 15:02:43, total elapsed: 1.9
seconds)
Failed during task:  updating package directories for project Toybox (Took 2.9 seconds, time: 15:02:44, tot
al elapsed: 3.0 seconds)
Failed during task:  initializing new project-platform "Toybox-Windows" (Took 2.9 seconds, time: 15:02:44, tot
al elapsed: 3.0 seconds)
Error!
See PrjLog.txt for more details
Operation completed with errors.  Took 3.0 seconds.
PrjLog.txt

This is the contents of the ProjenyProject.yaml's I am using in the UnityPackages folder vs the one that is generating within the project (both converted to a txt file).
ProjenyProject (At UnityProjects Folder).txt
ProjenyProject (Generated with new Project).txt

The error message suggests it's hitting this assert inside UnityEditorMenuGenerator.py:
assertThat(not foundCurrent)

Which suggests that it's somehow finding multiple instances of the same project and platform pair.  I can't think of what would be causing that though.  This is just the code that generates the unity menu to change between projects though, so not critical.  Can you try just removing that assert?

Just to be sure, I've deleted that project and all links and created a new project under a different name. Here's the PrjLog this time.
PrjLog.txt

Are you able to run projeny directly from source?   You'll need to do it that way so you can remove that assert line


Fail fast

Summary
There are uses cases where there is a large DAG (or steps) which are intended to run in sequence, but should fail as soon as any task fails.
Use Cases
This can be worked around by having sequential steps, but the challenge is that you probably don't want to wait for a large number of tasks to complete before failing, i.e. you explicitly want to run tasks in parallel and then terminate them all when one fails.

Message from the maintainers:
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.

@alexec This is something we are looking for many days. I have long-running tasks, and if anyone of the tasks fail, I want the workflow to exit immediately. Attached a clip from one of my workflows, it has ~700 tasks and ~380th task failed and I don't want the rest of the tasks to be scheduled and complete and then fail.

This duplicates #3644


(jsx) multiple self-closing tags with attributes highlighting broken

Given jsx code:
class App extends Component {
  render() {
    return (
      <BrowserRouter>

          <Route path="/about" component={About} />
          <Route path="/contact" component={Contact} />

      </BrowserRouter>
    );
  }
}

It seems that the XML code is not highlighted because of the second Route tag with attributes.
When I tried to modify src/language/javascript.js
          { // E4X / JSX
            begin: /</, end: /(\/\w+|\w+\/)>/,
            subLanguage: 'xml',
            contains: [
              {begin: /<\w+\s*\/>/, skip: true},
              {
-               begin: /<\w+/, end: /(\/\w+|\w+\/)>/, skip: true,
+               begin: /<\w+/, end: /(\/\w+[^>]*|\w+\S*\s*\/)>/, skip: true,

                contains: [
                  {begin: /<\w+\s*\/>/, skip: true},
                  'self'
                ]
              }
            ]
          }

The highlighting works as expected.

@leafOfTree use your config have wrong still. e.g

@JeromeLin Regexp need to be updated:
          { // E4X / JSX
            begin: /</, end: /(\/\w+|\w+\/)>/,
            subLanguage: 'xml',
            contains: [
              {begin: /<\w+\s*\/>/, skip: true},
              {
-               begin: /<\w+/, end: /(\/\w+|\w+\/)>/, skip: true,
+               begin: /<\w+/, end: /(\/\w+\S*|\w+\S*\s*\/)>/, skip: true,

                contains: [
                  {begin: /<\w+\s*\/>/, skip: true},
                  'self'
                ]
              }
            ]
          }

Then the code is highlighted correctly:

@leafOfTree

@JeromeLin
          { // E4X / JSX
            begin: /</, end: /(\/\w+|\w+\/)>/,
            subLanguage: 'xml',
            contains: [
              {begin: /<\w+\s*\/>/, skip: true},
              {
-               begin: /<\w+/, end: /(\/\w+|\w+\/)>/, skip: true,
+               begin: /<\w+/, end: /(\/\w+[^>]*|\w+\S*\s*\/)>/, skip: true,

                contains: [
                  {begin: /<\w+\s*\/>/, skip: true},
                  'self'
                ]
              }
            ]
          }

import { SwipeAction, Button, Cell } from 'zarm';

class Demo extends React.Component {
  render() {
    return (

        <SwipeAction
          right={[
            <Button size="lg" theme="primary" onClick={() => console.log('右按钮1')}>右按钮1</Button>,
            <Button size="lg" theme="error" onClick={() => console.log('右按钮2')}>右按钮2</Button>,
          ]}
        >
          <Cell>左滑看看</Cell>
        </SwipeAction>

        <SwipeAction
          left={[
            <Button size="lg" theme="primary" onClick={() => console.log('左按钮1')}>左按钮1</Button>,
            <Button size="lg" theme="error" onClick={() => console.log('左按钮2')}>左按钮2</Button>,
          ]}
        >
          <Cell>右滑看看</Cell>
        </SwipeAction>

        <SwipeAction
          autoClose
          left={[
            <Button size="lg" theme="primary" onClick={() => console.log('左按钮1')}>左按钮1</Button>,
            <Button size="lg" theme="warning" onClick={() => console.log('左按钮2')}>左按钮2</Button>,
          ]}
          right={[
            <Button size="lg" theme="error" onClick={() => console.log('右按钮1')}>右按钮2</Button>,
          ]}
          onOpen={() => console.log('open')}
          onClose={() => console.log('close')}
        >
          <Cell>左右都能滑动（自动关闭）</Cell>
        </SwipeAction>

    )
  }
}

ReactDOM.render(<Demo />, mountNode);

I just commented over in the other thread:

If someone wants to take a swing at a PR you want to focus on:

https://github.com/highlightjs/highlight.js/blob/master/src/languages/javascript.js#L155

The reuse of sublanguage xml also sounds like a nifty idea. (though that might be doing a little TOO much, honestly)

https://github.com/highlightjs/highlight.js/issues/1625 reminded me that it's not JUST HTML inside these blocks, but you can have JS style comments, template variables, etc...
The more I read the more it seems a separate JSX grammar might be the right choice for dealing with all of this.

I am also having this issue. How exactly would I go about fixing this? Is there a contribution guide?
I cloned the repo, but there is not start script or obvious way to set up the development environment.

Also, I don't know if this is useful, but this is a minimum reproduction of the bug
const n = () => <X />
const m = () => <X x="" />

Well it's all Node.js... you can build a new library with:
node ./tools/build.js -t node

Run tests:
npm run test

I'd start by adding a new expects test in tests/markup/js (look at other languages for example)... to get a failing test case. Then you'd have to work on the language grammar until you fix the bug.

The JSX stuff is around line 190 or so in the grammar.

So it looks like we're only trying to find the beginning and end of the tags and then let XML do the highlighting... which makes sense... I haven't looked at this closely before so I"m not sure what is going wrong here.  These regexes are way more complex than they need to be though at first glance.

If anyone wants to test that, that'd be great.

Really we should make sure the begin and end tags are actually paired, but we can't do that yet...

@leafOfTree
+      {
+        className: 'jsx-attr',
+        begin: /={/,
+        end: /}/,
+        subLanguage: 'xml',
+      },

Actually technically isn't the sublanguage we should use javascript?  The {} just allowed you to include javascript (event handlers, etc) which could also be more JSX code... correct?

I've added both these as test cases (and they pass):
const n = () => <X />
const m = () => <X x="" />

class App extends Component {
  render() {
    return (
      <BrowserRouter>

          <Route path="/about" component={About} />
          <Route path="/contact" component={Contact} />

      </BrowserRouter>
    );
  }
}

They both are good examples of the tag closing issue I think.  The other larger example has more to do with {} and inlining code than tags - and we need to treat that as a separate (more complex) issue.
The larger example is likely parsed better than before, but it still gets confused about the attribute highlighting since it doesn't understand the inline {} stuff.

Opening a new issue to track the issues with {} separate from the issues with tag closing.

Thanks for tracking these jsx issues.

@leafOfTree
+      {
+        className: 'jsx-attr',
+        begin: /={/,
+        end: /}/,
+        subLanguage: 'xml',
+      },

Actually technically isn't the sublanguage we should use javascript? The {} just allowed you to include javascript (event handlers, etc) which could also be more JSX code... correct?
And can't {} truly be used anywhere, not just for attributes?

You are right about the {}. I know a little about highlight.js and I used xml as sublanguage beacuse src/language/javascript.js uses sublanguage: xml for jsx and it seems to work.


Add Gilaki layout

Based on these links:
http://gilakikeyboard.ir/dl/linux.zip
http://v6rg.com/?p=10458
http://v6rg.com/?p=12602
https://en.wikipedia.org/wiki/Gilaki_language
https://answers.microsoft.com/en-us/windows/forum/all/ask-for-update-gilaki-keybord-layout/6194cca7-0ee3-48c3-8a69-d0230ae78291?auth=1

Thanks for sharing @LordArma ! I was able to verify this layout with this reference as well:
https://help.keyman.com/keyboard/gilaki/1.0/gilaki
The Gilaki layout is now live as of<EMAIL_ADDRESS>The docs and readme have been updated with the new layout:
https://github.com/hodgef/simple-keyboard-layouts#-supported-layouts
https://hodgef.com/simple-keyboard/demos/?d=gilaki
Cheers,
Francisco Hodge


I never knew I needed that in my life.


add sleeps to keep from slamming server, batch size 10k

Summary
Looks like the backfill causes latency jitter when saturating IOPS on our stage database. Adding sleeps to tone it down a little bit and see how that treats us.
Other Information
/domain @alederman @bslakter
/no-platform

<<domainLGTM

Didn't need it.

Gonna merge after all!


[Ubuntu] Change source of n tool to official

Description
This PR corrects source of n tool according to official documentation and adds gathering of n version to Software Report.
Related issue:
https://github.com/actions/virtual-environments-internal/issues/2890
Test builds:

Ubuntu 1804
Ubuntu 2004

Check list

[x] Related issue / work item is attached
[ ] Tests are written (if applicable)
[x] Documentation is updated (if applicable)
[x] Changes are tested and related VM images are successfully generated

/azp run ubuntu1804, ubuntu2004

5fa10884651b861453b12cbdbfd2ff6d5335fd7a

/azp run ubuntu1804, ubuntu2004


Move load config to ServiceProvider and Lang array.

Closes https://github.com/cachethq/Cachet/issues/371

After you've made the changes @GrahamCampbell said, merge :)


Optimize memory footprint for upsert

Summary of the changes / Why this improves CrateDB
This draft adds a dedicated  ShardUpdateRequest for the update-by-id and update-by-query usecase. The request classes can now be optimised based on the suggestions from https://github.com/crate/crate/issues/9810. Necessary streamers are generated on demand and common request properties are handled as enum and streamed efficiently. This PoC serves only as a foundation for feedback and discussion and can be further extended if we decide to go forward with it and needs more work.
Implementation:

Introduced AbstractTransportShardWriteAction and AbstractShardWriteRequest to hold the business logic
Added  TransportShardUpdateAction and ShardUpdateRequest for the update usecase
Adapted the code for update-by-id and update-by-query
Added  TransportShardUpsertAction to serve all other usecases for now

Pro's:

Business logic is not duplicated
Request classes can be specific to the usecase with a smaller memory footprint
BwC should not be a problem to add to the current approach

Con's:

Additional inheritance/boilerplate code
Each usecase will need to have an own action registered (insert, update, update with returnvalues etc.)

Discussion:
It would be nice to find a way to not duplicate the same action multiple times, unfort. with the current design each action can only decode one specific request, therefore multiple actions are needed.
Checklist

[ ] Added an entry in CHANGES.txt for user facing changes
[ ] Updated documentation & sql_features table for user facing changes
[ ] Touched code is covered by tests
[ ] CLA is signed
[ ] This does not contain breaking changes, or if it does:

It is released within a major release
It is recorded in CHANGES.txt
It was marked as deprecated in an earlier release if possible
You've thought about the consequences and other components are adapted
(E.g. AdminUI)

The overall approach looks okay to me. Can we somehow get any metrics (like bytes allocated over one of the existing benchmark cases or something like that), to be able to better judge if this is worth pursuing further? Or to have a better idea which areas to focus on. (Request footprint vs. per item footprint for example)

Great, thanks for the feedback. I will come up with some metrices, setup some benchmarks and track the size of the requests/items.


Typings file error when installing '@sidetree/ethereum';

Following the tests as examples I installed '@sidetree/ethereum';
But getting this error from the following import:
import { EthereumLedger } from '@sidetree/ethereum';
Here is the error.
@sidetree/ethereum/dist/index.js' implicitly has an 'any' type.   Try npm install @types/sidetree__ethereumif it exists or add a new declaration (.d.ts) file containingdeclare module '@sidetree/ethereum';``

hmm, thanks for reporting this... it seems like our CD may not be registering types properly.

Anything I can do to fix this ?

I can contribute my POC as much needed README documentation once this typings issue is fixed. Please let me know when this issue is resolved.

Hi @kc1116, I tried to reproduce the error and have updated the Web3 type which caused errors for me.
Can you try again with the latest unstable version?
Here is a repo that shows how to instantiate EthereumLedger in both javascript and typescript without type errors: https://github.com/gjgd/test-sidetree-ethereum


Handle ScalarValue::Dictionary in add_to_row and update_avg_to_row

Which issue does this PR close?

Closes #6174.
Rationale for this change

What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

Error during planning: The function Sum does not support inputs of type Dictionary(Int64, Int32).

Different to the physical expression issue in this PR, this error looks like a separate issue happened in query planing. We don't encounter it as we don't rely on the query planning in DataFusion. Let me take a look of it in a separate PR.

My biggest feedback is that it would also be great to add an end to end sql test of this (as sql logic test). Sadly, I couldn't find any good existing example in

I think we can definitely an end to end sql test of this. But due to the planning issue above, we cannot run into the scalar update path as the query cannot be planning. I will address this planning issue and add end to end sql tests after it.

Makes sense to me -- I find that the end to end sql tests sometimes catch additional bugs that unit / programatic ones do not

Thank you @alamb. I will submit a PR for the planning issue later.


Update a @since tag for the next release.

Codecov Report

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

@@            Coverage Diff            @@
##             master    #1193   +/-   ##
=========================================
  Coverage     81.87%   81.87%
  Complexity     1229     1229
=========================================
  Files           192      192
  Lines          5975     5975
  Branches        553      553
=========================================
  Hits           4892     4892
  Misses          935      935
  Partials        148      148

Impacted Files
Coverage Δ
Complexity Δ

...va/io/opencensus/trace/export/ExportComponent.java
88.88% <ø> (ø)
2 <0> (ø)
:arrow_down:

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 83fd637...cae294b. Read the comment docs.


Do not replace link for kubectl when existing link is found

Is your feature request related to a problem? Please describe.
Since I manage multiple clusters I would like to use my kubectl config instead. get.k3s.io replaces the kubectl link for some reason which is quite frustrating since I already have my own kubectl
Describe the solution you'd like
A much more better way is to find if .kube/config is found or there is data when command -v kubectl is used. If there is such, just append a context.
Describe alternatives you've considered
I redid my linking for kubectl (it overrode my kubectl snap's bindings).

This is a duplicate of https://github.com/rancher/k3s/issues/313


[Bug Report] No settings icons

Describe the bug
I wanted to add settings icons for myself and tried adding the usual
@import url(https://mwittrien.github.io/BetterDiscordAddons/Themes/_res/SettingsIcons.css);

but that didn't work, then I looked into the code for this theme itself and saw some very similar lines as if this theme was supposed to have settings icons natively, but I just can't get them to show.
Screenshots

(I changed the accent colors myself with custom css, but at the root I'm using the Twitch skin)
Operating System:
Which operating system do you use?

Linux

Describe the bug
I wanted to add settings icons for myself and tried adding the usual
@import url(https://mwittrien.github.io/BetterDiscordAddons/Themes/_res/SettingsIcons.css);

but that didn't work, then I looked into the code for this theme itself and saw some very similar lines as if this theme was supposed to have settings icons natively, but I just can't get them to show.
Screenshots

(I changed the accent colors myself with custom css, but at the root I'm using the Twitch skin)
Operating System:
Which operating system do you use?

Linux

Hi, unfortunately, there were problems with the better discord version in the past. I will probably include it again in future updates, but at the moment I can't tell much about it.


Cleanup contrib

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind documentation

/kind feature

/kind sandbox

/kind incubating

/kind officialsupport

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area deploy
/area examples
/area integrations

/area proposals

What this PR does / why we need it:
See https://github.com/falcosecurity/evolution/issues/170
Which issue(s) this PR fixes:

Fixes #170
Special notes for your reviewer:

/cc

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: leogr, maxgio92
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [leogr,maxgio92]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Subscription card image broken

Description:
Image listed as subscription card does not appear
https://apim.docs.wso2.com/en/3.1.0/getting-started/quick-start-guide/

This issue is not there in 3.0.0, 3.2.0, and master docs. Hence, can close the issue.


When browsing to alinea.sh/roadmap json is returned

Saw the same thing for the blog page just now:

Might be an exotic nextjs issue. We should probably update to latest version and check if it still occurs.

Seems to be resolved since recent redeployment. I'm going to assume this was on Vercel's side.

Oops, nope still going on

Upgrading the site next 13 fixed this


[WIP] Add bats QA tests

Related to #83
This is a basic automated test suite to test functionality for the cachethq/docker image and docker-compose environment.

Oops wrong target !


fix: top authors widget ranking

@joedixon
Following #714. I found that we have to rank authors by approved articles.

Thanks


Enforcing YAML Schemas

Enforce YAML schemas like the CV schema here: https://github.com/rendercv/rendercv/blob/main/schema.json
So when trying to add a field to an object, you could check the possible child types of the object and show those as option only

this is a very useful feature that I thought of implementing from the beginning
Im working on creating the version 2.0 of guifier and I will for sure add this suggested feature


Setup & Docker - Updates for NN Deps

MIVisionX-Setup & Docker files need updates to install NN deps with ROCm 5.1.1+

PR #841 solves this issue


Ability to handle recursive types

I have a entity that has a recursive structure.
Type instantiation is excessively deep and possibly infinite.ts(2589)

Is there anyway i can fix this?

Hey, I'm still facing the same issue, is there some materials i can reference on how to set up a recursive type form?

Hey! I'm actually still facing this issue, is this not supported?

You provided almost near 0 information with the issue. Regardless, we use types from sveltekit-superforms so if it is supported there it should be supported with formsnap. If not, try opening an issue there.


More of memgraph lab issue/request (Query size limit)

Hello! I couldn't find the memgraph lab repo and this was probably the closest I could find.
I'm on LAB version 2.0.1 and I can't issue queries that are longer than 5000 characters. Is there any reason for this? Is it configurable?
Could it be made configurable? (In the mean time I've been using the CLI but would love to use the beautiful lab aswell)
I would be happy to move this question/issue wherever it makes sense. Thanks!

Hi Arturo! Thanks for reaching out!

I'm on LAB version 2.0.1 and I can't issue queries that are longer than 5000 characters. Is there any reason for this? Is it configurable?

There is actually no particular reason for 5000 characters, it was chosen as a 5x of the usual query length. Unfortunately, it is not configurable, but it is a good suggestion to add that as a configurable parameter. In the short term, we can definitely increase that and release the new version?
How long are the queries that you are running through Lab? If those are longer than 5000 characters I am curious to know what kind of queries are those? Dataset building queries?
Sorry for a lot of follow-up questions, I just want to get to know how are you using the Lab so we add/fix features to improve your experience and usage of it.
Thanks!

Hello! Thank you for your prompt answer.
The queries we are currently running are definitely not as long but for testing it would be awesome - sometimes it's just unwinding a list or want to test scale with X more items in the list.
It's not a single or particular query but I've reached that threshold probably twice in the last month and just went to mgconsole instead. (But not as cool, no history, etc)

Thanks for the response!
In the next Lab release, we will expose a way for you to actually override the default limits and input the custom ones through environment variables. This will enable you to fine-tune it, e.g. increase the limit to match your limits.
I will let you know when it is out and how to override it. It should be out in the next couple of days.

Note: For now, the override will only work when using the Lab within the memgraph-platform because that is the only way to override configurations via environment variables. In the future, we might expose this in the UI as well.

Hi @ArtruneTranspara,
The new lab (2.1.2) and memgraph-platform (2.3.1) are out. Now you can override some of the default limitations.
With the following command, the lab will use the new limit for the max length of Cypher query which is 10000:
docker run -it -p 7687:7687 -p 7444:7444 -p 3000:3000 -e APP_CYPHER_QUERY_MAX_LEN=10000 memgraph/memgraph-platform:2.3.1

You can also change other limitations, these are the names of the env variables along with their default values:
APP_CYPHER_QUERY_MAX_LEN=5000
APP_MODULE_NAME_MAX_LEN=1000
APP_MODULE_CONTENT_MAX_LEN=50000
APP_STREAM_NAME_MAX_LEN=500
APP_NODE_PROPERTY_MAX_LEN=1000

Hello @tonilastre thank you very much! will test it out soon.


Language Server - Avoid trying to format code in the presence of syntax errors

Fixes https://github.com/chipsalliance/verible/issues/1843.
The comments on current() seemed a bit confusing to me when investigating the problem.
  // Get the current ParsedBuffer from the last text update we received
  // from the editor. This can be nullptr if it could not be parsed.
  //
  // Use in operations that only really makes sense on the latest view and
  // only if it was parseable, e.g. suggesting edits.
  std::shared_ptr<const ParsedBuffer> current() const { return current_; }

When reading the comments, I thought maybe doing a .reset() on current_ would solve the problem and would be cleaner than adding the extra check of parsed_correctly(). However, this doesn't work because we need to work with the incorrect buffer to provide diagnostics.
On the other hand, I don't see how current_ could end up being nullptr.

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (6891e17) 93.13% compared to head (eb1cf4b) 93.13%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1884   +/-   ##
=======================================
  Coverage   93.13%   93.13%
=======================================
  Files         354      354
  Lines       25841    25841
=======================================
  Hits        24066    24066
  Misses       1775     1775

Impacted Files
Coverage Δ

verilog/tools/ls/verible-lsp-adapter.cc
96.64% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Uh, I think the documentation is indeed wrong there. I need to re-think a bit the API here, but for now, this is a good fix.

I forgot to ask: can  you add a test that breaks without your change, @IEncinas10 ?
That way, we can do future refactoring and not accidentally re-created the same situation.


[Enhancement]prefetch agg_hash_set

Why I'm doing:
What I'm doing:

sql
old
new
imporvement

select count (distinct lo_linenumber) from lineorder_flat;
0.70
0.72
0 as expected

SELECT COUNT (DISTINCT s_name) FROM lineorder_flat;
15.83
13.58
16%

select count (distinct lo_suppkey) from lineorder_flat;
2.36
1.81
30%

SELECT COUNT (DISTINCT lo_suppkey) FROM lineorder_flat group by lo_linenumber;
6.23
4.21
48%

SELECT COUNT (DISTINCT lo_suppkey) FROM lineorder_flat group by lo_linenumber, lo_orderpriority;
34.45
32.87
4.8%

SELECT COUNT (DISTINCT lo_suppkey) FROM lineorder_flat group by lo_orderpriority;
26.65
22.27
19%

Fixes #issue
What type of PR is this:

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

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

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

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

[ ] This is a backport pr

Bugfix cherry-pick branch check:

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

[ ] 3.3
[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

prefetch may cause performance degradation. refer https://github.com/StarRocks/starrocks/issues/4856

prefetch may cause performance degradation. refer #4856

yes, there is a prefetch threshold.