Adding system test to exercise all possible Spanner types.

In the process, changing how +/- Infinity are sent to the backend (this was a bug).
Fixes #3016.
/cc @vkedia It's worth noting that Value(string_value='inf') / Value(string_value='+inf') / Value(string_value='-inf') are being rejected, but should probably be accepted when Type.code == FLOAT64.

Just created this branch on the GCP remote so that we'd get a build with system tests

@dhermes It has to be "Infinity" and "-Infinity"

It has to be "Infinity" and "-Infinity"

@vkedia I realize that now (made the necessary change in this PR). I'm suggesting that you also accept inf/ +inf / -inf.

@dhermes The principle you were trying to name in today's call is Postel's Law:

An implementation should be conservative in its sending behavior, and liberal in its receiving behavior

@tseaver We good to merge this?

Ugh, I screwed up merging mine first.

I'll fix it.

I just tweaked it here.  Feel free to back out my change.

And merge when green.

Ah sorry, just did a force push before seeing your comment.

No worries.

Will wait on build on the GCP remote: https://circleci.com/gh/GoogleCloudPlatform/google-cloud-python/1785

Green on CircleCI.


GH-3396 upgrade solr and lucene

GitHub issue resolved: #3396
Briefly describe the changes proposed in this PR:

upgrade solr and lucene dependencies
use the "unified" solr highlighter (which will be default in solr 9), since the test fails when using default/original highlighter
use elasticsearch-maven-plugin instead of elasticsearch-runner
minor refactoring of tests

PR Author Checklist (see the contributor guidelines for more details):

[x] my pull request is self-contained
[ ] I've added tests for the changes I made
[x] I've applied code formatting (you can use mvn process-resources to format from the command line)
[x] I've squashed my commits where necessary
[x] every commit message starts with the issue number (GH-xxxx) followed by a meaningful description of the change

Waiting for CQs to be reviewed, but other than that it should be good to go  (minus a spring version I've updated accidentally)

For some reason the dashlicense tool fails to clear the elasticsearch-high-level-client, looks like the tool receives a JSON response with a misspelled label ("apporoved" instead of "approved")

Can we report that somewhere?
I haven't looked at the github action in too much detail but if this is the only thing holding us up, can we add it in as a "skip" / "ignore" in its config for now? We can merge regardless of course, but I'd rather not have this error start flaring up for every pull request after - would make the license check useless.

For some reason the dashlicense tool fails to clear the elasticsearch-high-level-client, looks like the tool receives a JSON response with a misspelled label ("apporoved" instead of "approved")

Can we report that somewhere?

I mentioned it to Rahul (via private chat on the new matrix.eclipse chat room), so hopefully it gets fixed soon

Hmz ok, now the elastic-search-client is ok, but ES itself is 'restricted', I'll check with Eclipse

Ok, chatted with Rahul, apparently we can safely ignore the restricted label on ES by the dash tool: it's been marked "approved" in IPlab for our RDF4J use case

For good measure, I'll add a few lines on the ES-licensing on the website https://rdf4j.org/documentation/reference/configuration/#elasticsearch-store


Menu multilevel not working

I'm using Top Navigation and the multi level menu only works with level 1, the level 2 and 3 not appears. How can I to fix it ?
Thanks!

Mayby you need delete can property from array.
[
    [
        'header' => 'BLOG',
        'can' => 'manage-blog'
    ],
    [
        'text' => 'Add new post',
        'url' => 'admin/blog/new',
        'can' => 'add-blog-post' //remove this or config correctly
    ],
]

Please upload you config if you can.

AdminLTE does not support multilevel topmenu's, so this is unfortunately not possible.

Multilevel dont work?


[RFC][tests] Set up Jest tests, unref timers so process can exit

Why: Jest gives us more control over mocking, which is especially useful for fetch. It can also run tests against TypeScript files directly. It also supports fake timers, which may be useful for testing timeouts. Jest still provides support for code coverage reports.
While setting up the tests, I found that the timers repeatedly schedule flush() calls. This causes the process never to exit because there is always a pending timer. This seems like a serious bug in a program like a CLI (unless we use process.exit) since the process will never finish due to there always being a timer.
How: Set up Jest and ts-jest with a basic configuration. Enabled code coverage for parity with the Ava tests.
Note - if index.js exists, Jest will load that file instead of index.ts. Don't have a fix for this now and doesn't matter much for CI since the file is freshly built, but is something to watch out for.
Added unref() calls to the two setTimeouts that get scheduled by fetch. This allows the process to exit if no other I/O is scheduled.
Test Plan: yarn jest index-test -- verified that Jest does not say the tests hung after completion (the unref() calls fixed this).
Also ran old yarn test to make sure those tests still run as before

try running flush - send messages - the test hangs indefinitely. unref seems not to fix the issue. But, at a higher level, I don't think we should stick with the rudder flush algorithm, which involves two timers and recursively flushing inside of flush.
Segment's implementation is much cleaner to me. The check to create a timer runs inside enqueue, so a new timer is only made when the first item is added to a queue after a flush. No possible hangs or recursive loops involved.

I'm not clear on how we're planning to set up our testing infra. We should just be using a single test/test runner (whether it's jest or ava). If the plan is to use jest, I think we'll want the PR that introduces it to convert the existing test over to jest as well.

We need to get tests running in CI and this RFC is to help decide whether we should move to Jest and the first step to building up a suite of passing tests. If we want to use Jest, I'd prefer to do it incrementally instead of sending one big PR.

using unref does not seem to do anything but the jest stuff seems fine. Going on your incremental process, we can always fix it up later.

The unref calls allow the Jest process to exit cleanly, which is why they're part of this PR. Without them, Jest detects there are still open handles when the tests complete.


Gap between the records when changing the view mode

Describe the bug
Virtual scroll does not update the size of records correctly when changing the view mode
To Reproduce
Steps to reproduce the behavior:

Go to a dataset where records size is different in explore and annotate
Change view mode
See error

Expected behavior
Render record list without gaps between the items
Environment (please complete the following information):

OS [e.g. iOS]:
Browser [e.g. chrome, safari]:
Argilla Version [e.g. 1.0.0]:
ElasticSearch Version [e.g. 7.10.2]:
Docker Image (optional) [e.g. argilla:v1.0.0]:

Additional context
One option is to re-render the list when changing the view mode, but with this method the scroll position will be reset

@leiyre Is this issue relevant for Argilla 2.0? If not, I think we can close it.


Enable TorchSharp assembly name signing

Enable name signing for TorchSharp assembly. This will allow avoiding any runtime failure when running with .NET Framework with apps using strong name signing. Otherwise, can run into situations getting exception like the following:
System.IO.FileLoadException : Could not load file or assembly 'TorchSharp, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' or one of its dependencies. A strongly-named assembly is required. (Exception from HRESULT: 0x80131044)

CC @NiklasGustafsson @michaelgsharp @ericstj


Idea for preprocessors

Just throwing an idea around here, as I've seen some people in the forums wanting to use Sass instead of Less as the CSS preprocessing language. What about integrating something like Sprockets in rails which happens to have a port for PHP:
https://github.com/vendethiel/Sprockets-PHP
That would take care of that and allow people to use either one of them + generalize those under an abstraction layer.
In rails I find it quite useful as if I want to use a Less-based UI library, only thing I need to do is swap out the preprocessing engine.
And this would somewhat also make c5 more future proof if Sass happens to win the fight between the two.
EDIT:
Adding another option also for handling the assets:
https://github.com/kriswallsmith/assetic/
UPDATE:
There is a working demo implementation (using Assetic) for this available at:
https://github.com/mainio/c5_asset_pipeline

+1
There are a lot of Sass users who would appreciate something like this.

One more benefit about this is that I think it would be easier to combine JS files also if we had something like this. I think it's currently a bit awkward to combine the site-specific JS files through those includes in page_theme.php.

@ahukkanen keep in mind that we're currently using oyejorge/less.php and not leafo/lessphp. The latter had some issues with bootstrap, not sure if they were ever fixed.. leafo was quite a bit faster though..

@Remo Couldn't the underlying library be changed to better suit c5's needs?
I don't think this looks too complicated to change:
https://github.com/vendethiel/Sprockets-PHP/blob/master/lib/Sprockets/Filter/Less.php

@ahukkanen sure things, just pointing out that we might have some more work to do before this library could be used!

Also pointing here what @hissy pointed out at the forums:
http://www.concrete5.org/community/forums/5-7-discussion/less-is-a-lot-more-work/
Bootstrap 4 development moved from less to sass.

Here's another interesting looking library for the same purpose:
https://github.com/kriswallsmith/assetic/

We might be needing to work on a project with Sass files in the near future, so we could push this issue into some conclusion, we might be able to put in some hours or even days into this.
Not promising anything here, just saying that it might be in our interest (and probably many others' as well) to get something like this into c5.
Ping @aembler @KorvinSzanto

We wouldn't be averse to including a choice in the core – but keep in mind, the ONLY reason to include such a thing in the core would be to allow it to work with the style customizer. That's the only reason that we have LESS support in the core. Otherwise, just use whatever preprocessor you want and compile down to CSS. The reason for the LESS compiler in the core is so that we can use LESS files as the basis for the style customizer. If someone wants to use SASS files as the basis for the customizer that's fine, but every single current style customizer variable type needs to compile from SASS transparently otherwise it's a non-starter. So there has to be a PHP LESS library that can compile SASS files on the fly and give us access to the values, which we can parse into our own objects.  We need to work with it programmatically.

Makes sense didn't think of that aspect.
But I think it might still be possible keeping that in mind. I can investigate this a bit further.

Closed for...?

Leafo makes an scss -> css compiler that may work, I remember that we specifically chose NOT to use leafo's less compiler due to perfomance issues though: https://packagist.org/packages/leafo/scssphp
@ahukkanen I assume this was closed because it appeared stale, aembler just updated the tagging system and did some year end cleaning.

@KorvinSzanto Yes, I think the Leafo's compiler works well but it's not the point regarding this issue. This issue is about abstracting the whole thing, so that if the developers over the world decide next year that scss and less both are not good anymore and e.g. Stylus is the "next cool thing", we wouldn't be stuck with any particular language(s).
This may appear stale at the moment as we have many other things to focus on but I can assure you that we have done some work on this and we will be putting a working proposal of this to GitHub hopefully within the next couple of months. It will be a package but it shows how this could be done in the core as well.

Hey all,
Just my 2 cents. I have an add-on i the marketplace (Buttons Pro) that uses the core less compiler but was originally writtent to use Leafo scss compiler. Here's what I can say about the experience:
1- The core less processor and leafo scss processor compiled my stylesheets (big one) in about the same time (11 seconds) I didn't see any real difference in time
2- Leafo worked perfectly for almost everybody while testing the package in the PRB but then it failed for 2 users including JohnTheFish. It would just fail silently without an error message. John and I spent 2 weeks trying everything and were unable to make it work on his system (he made it super conservative but still) so I switched to less
3- Less is REALLY a lot more work. As long as it's just for the theme customizer than by all means, Less is fine but for other purposes, what a pain in the rompus. And that's from someone who has to support a LESS based package.
I don't think it makes sense to have a CMS based on Bootstrap and not offer scss processing in the core when Bootstrap is moving away from less. I remember how annoying it was that Concrete5 used to use a modified version of Jquery and we couldn't just use a newer versions. Now if C5 doesn't move towards integrating scss we're going to be in a similar situation where bootstrap will have to be rewritten in less for Concrete5 and flexibility will be lost.

@ahukkanen's case for an abstraction layer for preprocessors is good future-proofing, even if the only current usage for it is to implement the existing LESS preprocessor.

Just an update, here's what we have done currently:
https://github.com/mainio/c5_asset_pipeline
It currently works as an external package just as a proof of concept / point for discussion but we are also prepared to integrate it into the core in case this seems to make sense for other developers too.
It implements the Less and SCSS filters just to display its capabilities but in no ways is limited to these two. Under the hood it uses Assetic for most of the asset handling. There is no limitations e.g. on adding a CoffeeScript .coffee filter for JS in case someone needs that. The current implementation does not add that filter, though, because there is no pure PHP compiler for CoffeeScript currently available (because of which the installation would be more complicated with that enabled).
It also adds the possibility to have the theme's customizable style preset files in any preprocessing language, as pointed out by @aembler.
In the near future we will also be adding an example theme which shows exactly how to use it but the README file already provides the snippets on how to use it within the themes.
Currently most probably not 100% bug free and still work in progress but at least a good starting point.
@aembler @KorvinSzanto Can we reopen this issue? This is important for us at least and I believe many other developers would highly appreciate at least the SCSS filter, e.g. with any Bootstrap 4 based themes.

@ahukkanen
This looks really interesting. I know that many people would appreciate having the flexibility to use multiple preprocessors and compilers.

+1 for using Assetic. Really adds flexibility.

+1 for Assetic

+1 This is by far a necessity for many developers out there and the upcoming release of bootstrap 4 (which concrete 5.7 - 5.8 uses bootstrap 3 normally) Is built on the SASS pre processing language rather than the LESS one which has become somewhat outdated (not to say its not good, just seems everything is going the SASS route) due to the rise of SASS. As a newer developer using the latest cutting edge technologies is a must, I chose concrete 5 as the CMS for that reason. Interesting enough though framework systems AKA. bootstrap 4 and foundation 6 now only support SASS as their pre processing language and depend on it, Sadly Concrete 5 still only supports less and bootstrap 3 naively for customization themes. Of course we can make custom themes that have the compiled minified css output of say foundation 6 and bootstrap 4 and import it like we do for the "custom" theme css & js but this cuts user dashboard customization and makes it hard for developers to make themes that have frameworks other than the supported bootstrap 3 one.
All in all adding support for Assetic (another great Asset system to replace the current one) and the asset pipeline that mainio has made really would allow for a more diverse range of developer to convert or start using concrete 5 due to its flexibility with 'native' SASS and other preprocessing languages support. Concrete will have a flood of developers that have previously been turned back by the limitation of less only work environment and this can only be a good thing for the community, (more diverse themes and plugins) And what is a better time to make a great change than the concrete 5.8 update, Its big and adding this would make the update even more appealing than the last.
Thanks For reading.

Also, I think this should already be quite given but the asset pipeline system would not only allow different developers using different preprocessing languages for CSS (they can choose the one they prefer the most), but it would also allow people using preprocessing languages such as CoffeeScript for JavaScript as well.
The suggested pipeline approach implemented with Assetic would also not only allow choosing the preprocessing langauges but also allow different developers to use different preprocessing backends. Some people might e.g. occasionally need the cutting edge features from Sass that would not be implemented yet in the PHP processing library but would already be implemented e.g. in the node preprocessor. In these situations developers could simply swap the Assetic's filters to use another backend (different filters are already widely provided by Assetic).

+1 for Assetic

I realy would like to see SASS in action with the C5 Core Setup...

+1 for Assetic

This has been added to the suggestions for Summer of code
https://www.concrete5.org/about/blog/community-blog/google-summer-code
https://www.concrete5.org/community/forums/chat/summer-of-code-ideas/#953339
One of the points to come from background discussion was for any asset recompile to be actioned on save, not on view. That way, site visitors don't get any slow page loads because the assets are always already compiled.

@JohntheFish I'm not sure how relevant this is anymore as the concrete5 composer installation flavor ships with Laravel mix:
https://github.com/concrete5/composer/blob/acc4eced6d60cc5d92999543c40df42c62e349a2/package.json#L13
Laravel mix is basically just an extension / DSL to use Webpack. Webpack seems to be currently the de-facto for this kind of stuff (at least for the time being, although these tend to change every few years).
Even if a PHP based implementation were to be introduced, I would imagine the backend implementation would still use Node for compiling (as Webpack does). Although, it would be nice addition for people not familiar setting these tools up.
Another benefit would be to get rid of the "hardcoded" less dependency from the core.
Keeping all this in mind, I think the core team would need to put a bit of effort into consolidating the standards and suggested ways of implementation in the core. I know a lot has happened regarding this but 5.7+ have been out for a while and now we are still in a situation where we have:

At least 3 different ways of compiling the CSS assets (built in less compiler, plain CSS, Laravel mix)
At least 3 different ways of managing the database schema (old db.xml, new db.xml, Doctrine entities)
At least 3 different ways of defining HTTP routes (single pages, legacy routing layer, new routing layer)

This all causes a lot of unnecessary mess and breaking code in unexpected places. I was recently creating a script that syncs content between two separate concrete5 databases on the same server, which on the concept level should be a breeze to implement using two separate database connections. Because of some hard coded dependencies and the way the database entities are and are not used, made this a whole lot harder to implement than it would have to be. I would imaging copying entities using code should be only a few lines of code but it ended up being days of development work, debugging and writing very hacky looking code.
I hope with v9 we would see a situation where the core would be "cleaned up" a lot / consolidated regarding these factors and would ditch all the competing ways of implementing X to their own compatibility layer for those that need to support a legacy code base.

At least 3 different ways of compiling the CSS assets (built in less compiler, plain CSS, Laravel mix)

Well, the built-in less compiler should be used only for theme customizing. In other cases you should use plain CSS.
Laravel Mix is used just to generate plain CSS, it's not strictly part of concrete5.

At least 3 different ways of managing the database schema (old db.xml, new db.xml, Doctrine entities)

You should never use the old db.xml format: the new format is much more powerful and easy to be used (having an XML schema definition, IDEs can suggest completion, and concrete5 can automatically check their validity).
Entities are totally different way of defining data structures: not everything is (and IMHO should be) an entity.

At least 3 different ways of defining HTTP routes (single pages, legacy routing layer, new routing layer)

With "legacy routing layer" are you referring to the old "tools" approacj? If so, I do agree that they should be removed (and I slowly remove them, see #7314 and #6951 for example).
With "single pages" are you referring to block and page methods which are automatically mapped to routes? If so, I think that they are really handy...

Entities are totally different way of defining data structures: not everything is (and IMHO should be) an entity.

I disagree with this as it just adds another way of doing things. Other option would be to get rid of the entities, obviously, which I personally don't like very intriguing.

With "legacy routing layer" are you referring to the old "tools" approacj?

No, I mean the config based routes which I believe will be replaced with the PHP based routing layer. Yeah, tools add the fourth option for doing the same thing.
Automated single page / block routing actions are in my opinion redundant.
In general I think the most beautiful architectures are those that clearly encourage a simple and a single way of doing things. I know this is not part of the c5 "cut'n'paste" philosophy but I'm just trying to raise awareness what this type of overlap could cause.
In the example script that I mentioned above, I needed ~30 lines of code to update an attribute with two simultaneous database connections.

Getting back to the original proposal, rather than philosophy of 10 different ways of defining data or routes.
Arguments given against proposals such as this appear contrary to arguments for proposals such as https://github.com/concrete5/concrete5/pull/7355 (and similarly contrary to existing capabilities such as short tag expansion)

Feel free to elaborate on the "concrete5 cut and paste philosophy" @ahukkanen . There are only two ways to handle routing in concrete5, each with their own benefits and tradeoffs. Would you want a page in your website for every single user interface component? Do you want us to do away with pages entirely in favor of routes? Seems like a strange choice for a content management system. No, a legacy way of defining routes doesn't count as a third system. Tools technically does, but we want to remove those entirely by version 9.
@JohntheFish I think it makes sense for us to look into turning the concrete5 style customizer into something that can be driver-based, and abstracting the actual parsing engine out into LESS and SASS drivers, allowing developers to make a customizable theme based on SASS, that lets them use SASS to build the theme, while still making it customizable. I think the only limitation has been SASS availability in PHP as a PHP-only library, but things certainly may have changed in the years since bringing this issue up. I think we ought to create a new issue that's more focused on what we want to do, since this issue has kind of gone off the rails. If someone has a specific SASS library they'd like to use that works with PHP and is installable via composer, lets make a new issue with that, and we can talk about how we might make the style customizer driver-based, supporting LESS and SASS.
Finally, just to clarify: this doesn't have anything to do with how developers can use different technologies to build their own packages and themes; this really only pertains to those themes that use the customizer feature. These days we use SASS and Laravel Mix to compile SASS into minified CSS that is included with our themes, because we don't use the style customizer on sites that we build for clients. Not saying it's bad – it's great for themes that want to offer a low barrier of entry to customization. I would never tell a developer that they can only ever use the style customizer to make a SASS based theme, like some others in this thread would. Thats insanity.

Feel free to elaborate on the "concrete5 cut and paste philosophy"

What I meant by that is basically that new components are introduced without putting much thought on the effects on the whole architecture. It's been lately going to the correct direction lately and happy to see you chime in here as well, but what I'd like to see eventually is to get rid of all the overlapping ways of doing things and putting a lot of effort into the docs to elaborate the current "preferred ways" of doing things. That would make it much easier. And possibly provide compatibility layers for those that need to support the legacy ways of doing things (if you don't want to enforce the change).
Also, looking at the doctrine entities implementation (which I was mostly frustrated about writing that), it doesn't seem to be that well implemented as many of the core functionalities are using a single entity manager. That was making something what I was doing (two simultaneous DB connections) overly complicated to implement. It just felt that the entity manager implementation has been attached to the existing functionality without putting much thought on its purpose.
Anyways, I think this discussion is pushing the original issue even more off the track, so I'll leave it here.
I'm supporting you guys make a completely new issue addressing the actual current needs of the preprocessing engine.

@ahukkanen What's complicated with having more that one entity manager? I'm currently using it in a rather complex project, and I have no issue at all (I described here how I did it).

This is completely offtopic regarding the original discussion, just answering @mlocati
@mlocati First of all, to me that example's ~60-70 lines of code does not look very simple. Something like that shouldn't require more than few lines.
Second, that is only for the very bare initialization to get the two connections rolling. When you actually try to work with these two connections, their entity managers and c5's internal objects, you will run into trouble because of how the entity manager is used in the core.
I've tried to extract the very bare minimum from our code which synchronizes the database entities between two databases. In theory, this code should work but if you try to run it in an actual concrete5 instance, it will not work:
// Two entity managers, each for separate DB connections.
// The first one is for c5 core.
$c1em = $app->make(\Doctrine\ORM\EntityManagerInterface::class);
$c2em = $app->make(\MyNamespace\MyEntityManager::class);

// Get Entity repositories for entities with both entity managers
$c1entities = $c1em->getRepository(\Concrete\Core\Entity\Express\Entity::class);
$c2entities = $c2em->getRepository(\Concrete\Core\Entity\Express\Entity::class);

// Get the Entry repository for the second connection
$c2entries = $c2em->getRepository(\Concrete\Core\Entity\Express\Entry::class);

// Get the AttributeKey repository for the second connection
$c2aks = $c2em->getRepository(\Concrete\Core\Entity\Attribute\Key\ExpressKey::class);

// Assuming both databases already have the same entities defined for them prior
// to running this.
foreach ($c1entities->findAll() as $c1e) {
    $c2e = $c2entities->findOneBy(['handle' => $c1e->getHandle()])

    // Find out all the entries in the first connection's database
    $qb = $c1em->createQueryBuilder()
        ->select('e')
        ->from(\Concrete\Core\Entity\Express\Entry::class, 'e')
        ->where('e.entity = :entity')
        ->orderBy('e.exEntryID', 'ASC')
        ->setParameter('entity', $c1e)
    ;

    // Iterate the results and synchronize them to the second database
    $iterableResult = $qb->getQuery()->iterate();
    foreach ($iterableResult as $result) {
        $c1entry = $result[0];

        // Check if we have already created this entry in the previous syncs.
        $entry = $c2entries->findOneBy([
            'entity' => $c2e,
            'exEntryID' => $c1entry->getID(),
        ]);
        if (!is_object($entry)) {
            // We want the same IDs in both DBs to make further syncs easier
            $entry = new \Concrete\Core\Entity\Express\Entry::class();
            $entry->setEntity($c2e);
            $entry->setID($c1entry->getID());
        }
        // TODO: If you want, update the entry record's data here.
        $c2em->persist($entry);
        $c2em->flush();

        // ...
        // TODO: Handle entry association building
        // ...

        // Entry attributes
        foreach ($c1e->getAttributes() as $origAk) {
            // Did not find any other sensible way to handle these than with the
            // import/export format. Of course. This does not handle e.g. files
            // properly which needs separate handling.
            $val = $c1entry->getAttributeValueObject($origAk);
            $origCtrl = $val->getController();

            $sxe = new \SimpleXMLElement('<attributevalue />');
            $origCtrl->exportValue($sxe);

            // Find the connection2 attribute and save it for the entry
            $ak = $c2aks->findOneBy([
                'akHandle' => $origAk->getAttributeKeyHandle()
            ]);
            $ctrl = $ak->getController();
            $entry->setAttribute($ak, $ctrl->importValue($sxe));
        }
    }
}

To make all this work, you need all kinds of ugly hacks and tweaks that shouldn't be necessary. Not even counting the fact that copying the attributes between two express entities takes another ~60-70 lines of code.
I could live with the complexity regarding the amount of lines (+ all the missing parts from that sample) but my main problem is that this does not work out of the box as it should according to the c5 programming API.

Closing this as it's gotten a bit lengthy: but I can tell you this:

If you're writing custom build code for preprocessing your own theme, you can happily use SASS or LESS.
If you're working with the core in version 9, you'll be using SASS.
Theme customization functionality in the core is still using LESS, but that's obviously not ideal - this is definitely in progress for version 9.

3. Theme customization functionality in the core is still using LESS, but that's obviously not ideal - this is definitely in progress for version 9.

@aembler I would like to remind about CSS variables regarding the theme customization:
https://drafts.csswg.org/css-variables/#defining-variables
It is very likely this will become part of the official CSS standard.
They are already supported in all other major browsers than IE and Opera Mini:
https://caniuse.com/#feat=css-variables
I would imagine writing a pre-processing script that transfers the CSS variables into their static values would not be impossible to write. In fact, there already exists a couple of PostCSS plugins for this:
https://github.com/postcss/postcss-custom-properties
https://github.com/MadLittleMods/postcss-css-variables


False window.getPosition(); values

Subject of the issue
I tried to make a window that can move and resize and change colors, it worked fine, but the window.getPosition() of point (0,0) is wrong and false.
Your environment

Your OS / distro / window manager used : Windows 10.
Your version of SFML (2.5.0, git master, etc) : SFML 2.5.0.
Your compiler and compiler version used : Microsoft Visual Studio Community 2017 (v15.8.4).
Special compiler flags used : I don't know what it means.

Steps to reproduce:
Basically, try to call window.setPosition(sf::Vector2i(0,0)); then after that std::cout << "POSITION: " << window.getPosition().x << " : " << window.getPosition().y << std::endl;, and the output says POSITION: 0 : 0, but the window isn't truly at (0,0).
#include <iostream>
#include <SFML/Graphics.hpp>
int main()
{
	sf::RenderWindow window(sf::VideoMode(1280,720),"Minimal, complete and verifiable example");
	window.setFramerateLimit(60);
	while(window.isOpen())
	{
		sf::Event event;
		while(window.pollEvent(event))
		{
			if(event.type == sf::Event::Closed)
				window.close();
		}
		window.clear();
		window.setPosition(sf::Vector2i(0,0));
		std::cout << "POSITION: " << window.getPosition().x << " : " << window.getPosition().y << std::endl;
		window.display();
	}
}

Expected behavior:
The (0,0) of window.getPosition() should've been correct, but it is not.
Actual behavior:
The (0,0) of window.getPosition() has some kind of offset from the actual screen, the offset is like (9,1).

It is at (0, 0). In Windows 10, the borders are transparent, giving the (false) feeling that the window is offseted. But if you move the mouse cursor on this empty space on the left, you'll see that it changes to the "resize" cursor, so you're indeed on the border of the window.

Great to know that, but the window will get out of the screen bounds if you don't give a pixel offset to it, for example if you make a window, and make 4 unsigned integer variables "x" "y" "width" "height", then modify these with keyboard input(for example move the window with arrow keys by adding to "x" and "y" variables), the window could reach outside of the screen, i applied offsets for both "x" and "y", now they work correctly, but if the window position goes below 0, it will return<PHONE_NUMBER> as window position for both "x" and "y", and it will cause my clamping functions to think that it reached the right side of the screen and get it back to a "safe-zone".
Why is it returning<PHONE_NUMBER> as a value when "x" or "y" reach 0 and go below it? isn't this a bug or something?
Thanks for your fast response.

It's called an "underflow" and since you have unsigned integers they wrap around to the maximum value. You'll probably find more detailed explanations by googling "underflow" (or "overflow" same concept).

Oh right, i don't know why i didn't get that, "unsigned" means that it can't be negative, my bad, i guess i haven't got enough sleep today..
But still the position and size values aren't really correct, if i set the window's position to (0,0), then set size to (1366,768) which is my PC's resolution, i won't get a window that covers the whole screen and be at (0,0), also by the way i'm not trying to make a fullscreen-like feature, i'm just trying to limit the window's position and size like:
//METHOD        (VALUE,      KEY        ,   MULTIPLIER(or)SIDE       , MIN VALUE, MAX VALUE);
ChangeProperty(&x,sf::Keyboard::Key::RControl,horizontalInput,0,screen[0] - width);
ChangeProperty(&y,sf::Keyboard::Key::RControl,-verticalInput,0,screen[1] - height);
ChangeProperty(&width,sf::Keyboard::Key::RAlt,horizontalInput,720,screen[0] - x);
ChangeProperty(&height,sf::Keyboard::Key::RAlt,-verticalInput,480,screen[1] - y);

Here you can see i've clamped them well in a method called 'ChangeProperty()`, but the window not actually being in (0,0) makes the whole operation look bad and not function correctly.

SFML is not a "window managing" library, as such we don't offer functionalities specific to window management. If you really require this kind of check (why does it matter if it's moved too far to the left or right?), then you can still achieve it, by retrieving the window handle from the SFML window and then use the WinAPI to get the decoration size and offset by that.
Btw. these kind of questions are better suited for the SFML forum. 🙂

Oh great, thanks for your responses, it's ok now if it isn't a "window managing".
I thought it was a bug.
Thanks again, you're free to close this Issue.
Sorry for taking your time.

But still the position and size values aren't really correct, if i set the window's position to (0,0), then set size to (1366,768) which is my PC's resolution, i won't get a window that covers the whole screen and be at (0,0)

Keep in mind that the size you set is the size of the drawing area, not including the decorations (title bar + borders). The full window is always bigger than the size you set programatically.

Thanks for the information, but is it possible to set width/height of the window with its decorations? sorry if this isn't the right place to ask, for some reason i can't register an account in SFML because the ReCaptcha keeps saying that i did it wrong and i must do it again.
I would like to get an answer about this here, and fast if possible, i'm about to switch to GLFW, if i get the true x y width height values, then i won't have to switch to GLFW.
I look forward to keep developing with SFML, and thanks again.

I can confirm that the same "Position & Size changes by Keyboard input with Limitations" feature works fine in GLFW, it is even smoother, i don't understand why SFML couldn't get a true x and y position of the window, and i couldn't find a function or a variable to get windows 10's decoration sizes in pixels in SFML, but in GLFW it was there.
I switched to GLFW, but i hope that someday in the future SFML could find a solution to this problem, anyway, thanks for your responses again, and sorry for taking your time.


Runner registration

We need to develop a workflow for registering runners both for the shared / public runner pool, as well as private runners for specific teams.
Possible steps / things to consider (future sub-tasks):

There should be a registration token that functionary application administrators have access to that would be used for public runner registration.
Each team would also have a registration token that the team admins have access to.
The runner container would allow you to launch it in registration mode, where you supply the token and other relevant config information.  The runner would then register itself with the functionary instance and get back the information it needs to operate (location of and credentials for dependent services).
When registering a runner, the backend likely needs to provision an account on the message broker that has access only to consume from the queues that its tasking will go to publish only to the exchange for tasking results.
Some amount of queue declaration and binding will presumably be needed as well.

This is fundamentally similar to the registration process for something like a GitLab runner, so that's probably a good reference point for what a reasonable workflow looks like from the user perspective.
Also, we should document and test the exchange / queue / topic design before we start work on this to make sure our ideas about how the routing is going to work pan out.

As I think through this some more, I think the routing should be kept simple initially, with runners consuming from only one of two queues: the public queue or a shared queue for the team's pool of runners.  I don't believe RabbitMQ (or any alternative we might explore) would be able handle the routing needs for something like the arbitrary runner tags that GitLab supports. There would have to be some application level routing logic to support that, which isn't the right thing to invest in at this stage.


Delete form defs from the _formDef table that are associated with table to be deleted

This fixes https://github.com/opendatakit/opendatakit/issues/1328 by deleting the corresponding form defintions from the _formDefs table in the deleteTableAndAllData function.  Also, deletes these entries using the FormsProvider even if there was an error while trying to delete the forms directories.

I'll open a new tracking request to deal with the initialization task logic.


missing instruction in readme

Hi,
To get the plugin to work I had to add this to android/app/build.gradle:
dependencies {
...
...
compile project(':ReactNativeCameraAndroid')
}
Maybe something to add to the readme.

@ippa thanks! i've add that to readme now


Command bar button styles

Added ItemStyles property to Items dataset to allow for JSON styles to be applied to individual command buttons
Moved default styles to use component styles within a default theme (allows makers to override background colors and other default properties)
Fixed issue where null or invalid theme JSON would prevent the default PowerApps theme from applying.

@microsoft-github-policy-service agree

Hi @bsquaredapps, Thanks for this PR - it's an interesting idea to provide individual component styling JSON like this.
I wonder if the component styling could simply be added directly to the theme JSON? This would give the benefit of being able to manage the styles in a single place and be used by all components in an app?

I feel like it 'should' be possible to use an nth-child CSS selector - but I've not tried! I can imagine that it's something similar to the examples shown here - https://github.com/microsoft/fluentui/blob/master/packages/merge-styles/README.md
For the back button - I add this as a separate Icon button rather than it being part of the command bar, this allows it to be a different tab stop to the rest of the buttons like it is in a model-driven app.
Applying a specific class to a button is an interesting idea - it could be included in the commandbar item definition - and then referenced in the theme json for the command bar component.

I like the idea of a separate command bar for the back button to give it it's own tab stop.
I was able to figure out the nth-child selector using this:
"components": {
    "CommandBar": {
      "styles":{
        "primarySet": {
          "border":"1px solid red",
          ".ms-OverflowSet-item:nth-child(2) .ms-Button": {
             "border":"1px solid green"
          }
        }
      }
    }

It would probably work in a pinch but would be brittle in with dynamics command sets.  Adding class names is probably technically better than my PR, but I think allowing styles to be applied at the button level would be clearer and easier for the low(er) code maker audience to digest.  I mean, I guess it's JSON either way, but the application is more clear to a less code savvy person IMO.

The reason why I'm somewhat hesitant to introduce another surfacing of JSON styles is because with Fluent V9 and the new theming capabilities being introduced to PCF controls, we will want to eventually phase out the Fluent V8 theme JSON, in favour of inheriting the theme of the app. To make migration as easy as possible, the least amount of custom styling at the component level using JSON would be best.
To your point about dynamic command sets, if we were to always add a class to each button using the item key property - that would allow specific styles for specific buttons using the theme.
When we migrate to Fluent V9, we'd need to work out how to support a similar scenario.

Would you/the project team be ammenable to a PR that adds class names based on keys?
There were also two other issues that I had baked into this update:

Leaving the theme null results "no theme" (purple icons), whereas an empty string appears to inherit the default theme of the app (dark blue icons)
Background colors are not able to be set in the theme (they are hardcoded as transparent in the component styles)

What's the typical flow for this?  Should I submit them as issues first? Or go straight to PRs?
(Sorry this is my first attempt at contributing to an OS project like this.  Apologies for not knowing how this typically works or if I jump the shark on something.)


ESB - not showing colors for today

@sklose - love the vertical layout.
FYI  - today is Burgundy & White for Qatar national day - but I'm only seeing white - in both layouts.

thanks for catching this, @jvivona. I added burgundy in this PR https://github.com/tidbyt/community/pull/2126


Triggering a dag through the api doesn't work

Attempting a manual trigger through the api, registers and a dag_run record is created, but it just sits there and none of its tasks are started. Even worse and weirder, subsequent scheduled dag runs do not start until that manual dag run is removed. And if the api call happens concurrently with another running dag run, the latter stalls midway and also doesn't resume until the manual dag run is removed.
Airflow is ran with the local executor in a single docker container (webserver, scheduler and all).
$ curl -X POST "http://airflow-domain/api/experimental/dags/my_dag_id/dag_runs" -H "Cache-Control: no-cache" -H "Content-Type: application/json" -d '{"execution_date": "2019-01-01T01:00:00+00:00"}'
{
  "message": "Created <DagRun my_dag_id @ 2019-01-01T01:00:00+00:00: manual__2019-01-01T01:00:00+00:00, externally triggered: True>"
}

Any update on this issue? I am currently facing the same problem. I have tried triggering through API and CLI with the following env details:
Airflow Version: 1.10.6
Executor: Local
The DAG run is registered successfully but consequent tasks don't run at all.


CTE with RECURSIVE column does not exist

sqlc.yaml
version: "1"
packages:
  - name: main
    path: .
    schema: schema.sql
    queries: query.sql
    engine: postgresql
    emit_json_tags: true
    emit_prepared_queries: false
    emit_interface: true
    emit_exact_table_names: false
    emit_empty_slices: false

schema.sql
create table graph
(
	id serial not null primary key,
	data int not null
);

create unique index graph_id_uindex
	on graph (id);

--

create table graph_link
(
	g_id int not null
		constraint graph_link_graph_id_fk
			references graph (id),
	import_g int not null
		constraint graph_link_graph_id_fk_2
			references graph (id)
);

create unique index graph_link_g_id_import_g_uindex
	on graph_link (g_id, import_g);

query.sql
-- name: GetGraphDeps :many
WITH RECURSIVE search_graph(id, import_id, data, depth, path, cycle) AS (
    SELECT gl.g_id id, gl.import_g import_id, g.data, 1 as depth,
           ARRAY[gl.g_id] as path, false as cycle
    FROM graph_link gl
    JOIN graph g on g.id = gl.g_id

    UNION ALL

    SELECT gl.g_id id, gl.import_g import_id, g.data, search_graph.depth + 1 as depth,
           search_graph.path || gl.import_g as path, gl.g_id = ANY(search_graph.path) as cycle
    FROM (graph_link gl JOIN graph g on g.id = gl.g_id),
         search_graph
    WHERE gl.g_id = search_graph.import_id AND NOT search_graph.cycle
)
SELECT DISTINCT search_graph.id, search_graph.depth, search_graph.data FROM search_graph;

sqlc generate gives me
query.sql:11:17: column "id" does not exist

@kindermoumoute playing with aliases names didn't help. I saw #709 issue before posting this.

It didn't help for me too, I have no idea why it worked for @jschaf 🤷♂

I wasn't doing a recursive CTE.

The below example will result in an error column "modified_at" does not exist similar to what you have.
CREATE TABLE foo (
    key uuid DEFAULT public.uuid_generate_v4() NOT NULL,
    modification_date timestamp with time zone DEFAULT now() NOT NULL
);

-- name: FooBar :many
WITH agg1 AS (
    SELECT t.key, t.modification_date as modified_at FROM foo t
)
SELECT key FROM agg1 WHERE modified_at > @from_date;

All aliases I tried failed but the original name works:
-- name: FooBar :many
WITH agg1 AS (
    SELECT t.key, t.modification_date as modification_date FROM foo t
)
SELECT key FROM agg1 WHERE modification_date > @from_date;

Error comes from this line so I would suggest the sqlc code is not indexing aliases from the WITH. Maybe @kyleconroy has some additional inputs on this?

Maybe try a fully qualified reference or using a table alias? I have a pretty complex query with 5 CTEs that works and I'm using table aliases for each CTE. In general, I've found being painfully explicit with aliases and casting sometimes helps sqlc work through the query.
I also use this syntax for params: sqlc.arg('EndTime'), though it probably doesn't matter your case.

Fixed in #896


ARM32V7: Not supported anymore

Hi All!
I've used the OPCPublisher module this summer with succes on an arm32v7 device.
I believe I've done the same thing, but now I get:
root@axcf2152:/opt/plcnext/# docker run -it mcr.microsoft.com/iotedge/opc-publisher:latest
standard_init_linux.go:211: exec user process caused "exec format error"
failed to resize tty, using default size

Is arm32v7 not longer supported? I could not find a decapitated message.
Can I build the image myself, what base image should I take?
With Kinds regards
Dries

Sorry, arm was never officially supported and should not have been released.

Sorry, arm was never officially supported and should not have been released.

According to the Marketplace ARM is still officially supported: https://azuremarketplace.microsoft.com/en-us/marketplace/apps/microsoft_iot.iotedge-opc-publisher


add env var option in install.sh to not update ~/.profile

Problem description
Currently Pixi install.sh always edits ~/.profile which is not what we want for some automated installs.
Last week a configurable PIXI_HOME was added, which is great. We are setting this to ~/.local and since ~/.local/bin is already in PATH on our machines we don't need any ~/.profile edits

Reasonable, I can implement this, what name of the env var would you like to have, PIXI_NO_PATH_UPDATE?

Yes that sounds great

Also, not sure if you are also working on the micromamba installer which also has an installer issue : https://github.com/mamba-org/micromamba-releases/pull/32

Also, not sure if you are also working on the micromamba installer which also has an installer issue : mamba-org/micromamba-releases#32

I'm not working on it, you may wait for their team members to review the fix.


Section metadata has incorrect hierarchical structure

The issue seems to happen when subsections are used.

MRE:
---
title: MRE
branding: false
spacing: 1.3
format: memo-pdf
---

# Section 1

# Section 2

## Section 2a

Fixed in https://github.com/numbats/monash-quarto-memo/commit/779b7f0b3445c7f24cbabcd553dd7a9c4c01779a


Generating a PDF with high quality images introduces noticable compression artifacts

Hey, I want to create PDFs with high quality images, but generating the PDF introduces noticable compression artifacts in the images. Can you add an option for generating the PDF with lossless compression or no compression at all?
Thank you!

Ok, I fixed it by editing the line 165 in image.py to the following:
im.save(bytes_io, "JPEG", quality=100)
The resulting PDF files are much larger, but have no compression artifacts.


[WIP] Upgrade checkerframework dependency to v2.2.0

Remove our earlier workaround for lambdas dataflow, now that upstream fix is up (see. https://github.com/typetools/checker-framework/pull/1483 )

This is a WIP right now and will not/should not pass C.I. Putting the PR here to track this.

Note, this fails with the following stacktrace:
com.google.common.util.concurrent.UncheckedExecutionException: java.lang.NullPointerException
  	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2217)
  	at com.google.common.cache.LocalCache.get(LocalCache.java:4154)
  	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4158)
  	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:5147)
  	at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:5153)
  	at com.uber.nullaway.dataflow.DataFlow.methodDataflow(DataFlow.java:122)

This is likely NullAway still pulling the old checkerframework classes from the EP fat jar. Will double check this tomorrow. @msridhar , if that's the case, is there still a good workaround that doesn't require us to maintain an EP fork?

So I got things working for the unit tests by only putting JDK 9 javac in the bootclasspath.  But when I tried an "integration" test by sticking the lambda code in the sample project, it still failed.  I fixed that problem by "forcing" the checker dataflow version in sample/build.gradle.  Let's think more and do more sanity checking before actually merging this back.
(FYI @lazaroclapp I rebased this PR to get some other build.gradle changes)


Update cyclecloud-slurm version to 3.0.1

Describe the feature
This means :

slurm 22.05+ is the minimum release
updates on the slurm installation and configuration

Document how to migrate from 20 to 22
Migrate from 2.7.x to 3.0.1 see https://github.com/Azure/cyclecloud-slurm/tree/3.0.1

I opened a thread on the topic of node allocation logic with SLURM

SLURM can be configured to allow multiple jobs to share the same node.
For example, 2 jobs can run on 60 cores each of a HB120 VM.
When the VM is already allocated before the jobs are submitted, then SLURM will happily place the two jobs on the same node.
However, when the nodes are not yet allocated from Azure, SLURM (via CycleCloud) will end up pulling two HB120 VMs from Azure, one for each job.

and Kai Neuffer said

a customer of mine has a similar issue but for me it works fine with CC 8.4.0 and the Slurm 3.0.1 template.

So this may be another reason to try this upgrade


Offence implementations can disable offenders independently from slashing

In previous versions any slashed offenders got disabled by every offence. Now pallet developers can decide for each Offence implementation whether to disable them regardless of the slashed amount. Some use-cases would benefit from disabling offenders without slashing, so now they can override Offence::disable_strategy.
Fixes #10037
TODO:

[x] Agree with the team on the signature
[x] Add tests
[x] Does it affect documentation?

bot merge

bot merge


Peft is not installed via pip install -e . causing arbitrary peft issues on user end

It takes me quite some time to figure this out.
Users of QLoRA with axolotl are reporting some issues related to peft but gone in peft git repo HEAD. It's hard to reproduce, even with bisecting peft, until I noticed that axolotl fails to train in a clean Colab environment due to failing to import peft.
I tried and confirmed that axolotl doesn't install peft despite it's specified in requirements.txt . Eventually this leads to the following lines in setup.py:
    # don't include peft yet until we check the int4
    # need to manually install peft for now...
    reqs = [r.strip() for r in requirements_file.readlines() if "peft" not in r]

So users would be using arbitrary peft version already installed by the user before, which might be before the QLoRA PR to peft or have any other hidden issues.
Could we re-evaluate this int4 situation and fix this somehow or raise a warning during install ?

similarly related to https://github.com/OpenAccess-AI-Collective/axolotl/issues/152

Maybe we could do some feature validation or version checking in our validation.py based on what is being asked to train, and what they might need.


FIX: When cut and paste to a different sheet origin is removed

Fixes #193
FYI @enjoythecode
Feel free to review :)

I trust you :) LGTM as far as I can tell :)


Colab links are broken / don't point to master

When you pull a colab from somewhere else, the link that colab auto-adds at the top of the ipython notebook links to the specific branch that the colab was saved to, not to master. Example:
https://github.com/NeuromatchAcademy/course-content/pull/80/files
One points to the day06 branch, the other to Madineh's GH.

Well that's annoying.


Can't generate prisma client with docker alpine

Bug description
When running  prisma generate:
Downloading binaries  [####################################]  100%
Traceback (most recent call last):
File "/usr/local/bin/prisma", line 8, in
sys.exit(main())
File "/usr/local/lib/python3.10/site-packages/prisma/cli/cli.py", line 39, in main
sys.exit(prisma.run(args[1:]))
File "/usr/local/lib/python3.10/site-packages/prisma/cli/prisma.py", line 76, in run
process = subprocess.run(
File "/usr/local/lib/python3.10/subprocess.py", line 501, in run
with Popen(*popenargs, **kwargs) as process:
File "/usr/local/lib/python3.10/subprocess.py", line 969, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/local/lib/python3.10/subprocess.py", line 1845, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/prisma/binaries/engines/efdf9b1183dddfd4258cd181a72125755215ab7b/prisma-cli-linux'
How to reproduce
Run a python container with base image python:3.10.5-alpine3.16 and run prisma generate
Hot to fix
Change to a debian based image example:
FROM python:3.10.5-slim-buster

Hey @dualmacops, sorry for the delay in responding to you.
We currently do not have good support for handling differing linux distributions.
Could you please try installing from #454 and let me know if that works for you? You can install it using this command
pip install -U git+https://github.com/RobertCraigie/prisma-client-py@refactor/remove-pkg-cli

We can probably add this to the matrix proposed here and pass that through as a build arg to the OS_DISTRO here to exercise this as a test case (in a very basic way... it would not really do any runtime testing but its a step in the right directory)

Hey @dualmacops, sorry for the delay in responding to you.
We currently do not have good support for handling differing linux distributions.
Could you please try installing from #454 and let me know if that works for you? You can install it using this command
pip install -U git+https://github.com/RobertCraigie/prisma-client-py@refactor/remove-pkg-cli

I ran into the same problem and tried using this version, it definitely worked for me to allow the client to be generated.

Glad to hear it, thanks @sipfix!


Auto clean up the dead broker and server instances if possible

It's safe to delete a dead instance if no table/segment assigned.
So we can proactively clean up broker/server instances once it's dead for a while, could be one hour or one day

https://github.com/apache/pinot/pull/10027

@xiangfu0, any reason we didn't cleanup controllers in here as well?


WaveletOperator fixes for odd-sized inputs and 1D (VectorGeometry)

Describe changes

In adjoint, after the PyWavelet reconstruction, the array is always cut to correct size in case the domain_geometry is of odd size. The tuple of slices org_size could be created during initialization as well.

Channels should work as is, even if they have odd length

When initializing the range_geometry for 1D (VectorGeometry) data, the correct shape parameters are given.

Channels most likely will not work but I do not know if that behaviour is supported anyways.

Cleaned some old comments and added few new ones, nothing major

Describe any testing you have performed

No proper testing, just some of my own experiments.
The WaveletOperator should have a proper tests built at some point because there are so many things that can go wrong. For example

Check that the dimensions of input and output are correct
Check that odd sized arrays behave correctly
Check that decomposing different axes works correctly

Link relevant issues

All issues related to too big decomposition level are left to PyWavelets to handle. There should be a warning if very long filters are used with too small data / too big decomposition level, because this leads to nonsense coefficients.
In addition to axes for choosing the dimensions the operator acts on, there should be string-based correlation parameter which would define the axes similar to GradientOperator

Checklist when you are ready to request a review

[x] I have no idea what I am doing

@tommheik I will merge this into https://github.com/TomographicImaging/CIL/tree/wavelet_regularisation which is the wip branch. So far I implemented the L1Norm (with and without weights) and simplified the WaveletNorm (and I think I'm happy with that).
I didn't do anything on the operator yet, which is the next step.


DRILL-7472: Fix ser / de for sys and information_schema schemas queries

Jira - DRILL-7472.

@paul-rogers addressed code review comment, please take a look.

Thanks for fixing this. Some of the issues discussed here suggest that Drill has grown to have many ways to do the same thing (project push-down or not, etc.) Would be good to fix those over time.
Still, this one looks good, so
+1


Add extension for mpi usage

For now maybe just used a pre-installed exodus library until we figure out the jll stuff with MPI


Add Yarn support

So how do you make brunch use yarn instead of npm?

@reubano It seems that brunch picks yarn automatically, if available.
https://github.com/brunch/deps-install/blob/master/index.js#L24-L27

You can force yarn to be used if you have a folder for which yarn is already initialised: e.g.:
$ mkdir project
$ cd project/
$ yarn
yarn install v1.9.4
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
Done in 0.04s.
$ brunch new -s es6
17:36:05 - log: Cloning git repo "git://github.com/brunch/with-es6.git" to "/home/thomas/.brunch/skeletons/9152c4186024c8cef4830ecf8bc55c7c86af99d3"...
17:36:10 - log: Cloned "git://github.com/brunch/with-es6.git" into "/home/thomas/.brunch/skeletons/9152c4186024c8cef4830ecf8bc55c7c86af99d3"
17:36:10 - log: Copying local skeleton to "/home/thomas/checkouts/project"...
17:36:10 - log: Created skeleton directory layout
17:36:10 - info: Installing packages with yarn...

In some rare scenarios that won't work -- you have to make sure that yarn.lock exists by creating a placeholder manually.

hi @paulmillr . I'm trying to configure Yarn in an AngularJS project as Bower is deprecated.
I have my bower dependencies in node_modules/@bower_components folder buy I can't compile my vendor dependencies in the vendor.js file.
I tried two options:

Enable NPM integration
Watch node_modules/@bower_components folder

The first option is very bad for me, because it forces me to use CommonJS modules in an AngularJS app.
And the second option watches all my bower dependencies, but several errors occurred because all files al preprocessed.
I searched in the docs but I didn't find any reference to Yarn. Am I doing something wrong? Or I must watch specific files of my bower dependencies inside node_modules?
Thank you so much.


Invoke-WPFMicrowin : An unexpected error occurred: No se puede indizar en una matriz nula.

Describe the bug
When using a spanish mexico windows 11 iso this error shows after removing bloat:
Mounting complete! Performing removal of applications...
Remove Features from the image
Removing features complete!
Removing Appx Bloat
Invoke-WPFMicrowin : An unexpected error occurred: No se puede indizar en una matriz nula.
En línea: 2005 Carácter: 24
+         "WPFMicrowin" {Invoke-WPFMicrowin}
+                        ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Invoke-WPFMicrowin

Unmounting Registry...
ERROR: El parámetro no es correcto.
ERROR: El parámetro no es correcto.
ERROR: El parámetro no es correcto.
ERROR: El parámetro no es correcto.
ERROR: El parámetro no es correcto.
Cleaning up image...
Cleanup complete.

To Reproduce
Steps to reproduce the behavior:

Go to MicroWin tab
Check download oscdimg.exe from ctt github repo
Click on select windows iso and select an spanish mexico windows 11 iso
Select windows 11 pro and keep windows defender and microsoft edge
Start the microwin debloat
The error will show

Expected behavior
No error code should appear
Screenshots

Additional context
I'm doing the process on a SteamDeck running windows 10 iot ltsc

It is most likely due to localization. Some chars are not being passed correctly to dism? There is also oscdimg problem that I see on your system. I think Cris added a wrong hash number.  I don't have the time to dig into this, maybe @CodingWonders could help?

It is most likely due to localization. Some chars are not being passed correctly to dism? There is also oscdimg problem that I see on your system. I think Cris added a wrong hash number. I don't have the time to dig into this, maybe @CodingWonders could help?

I most definitely have a different SHA256 for oscdimg.exe, so I feel like this could be a dynamic issue. I don't know that I would expect the hash to ALWAYS be the same on installs over periods of time.
Is hard coding the hash a viable option here? I'm leaning towards no.

@munkk01 hash should be always the same it is an exe (binary file) that should not be changed. If it is changing, there is something wrong. I noticed that Chris check it into the source control as a source file. This is not how I intended it to work. I intended for him to put it into Release section not source control. I've tested it extensively, with Release and it worked fine.  I'm not saying that checking it into source causes this issue, but I know putting it into Release didn't cause this issue.

@munkk01 hash should be always the same it is an exe (binary file) that should not be changed. If it is changing, there is something wrong. I noticed that Chris check it into the source control as a source file. This is not how I intended it to work. I intended for him to put it into Release section not source control. I've tested it extensively, with Release and it worked fine. I'm not saying that checking it into source causes this issue, but I know putting it into Release didn't cause this issue.

Well for reference:
Hash value in the utility at the moment

Hash value from a 23H2 machine in a vm I run

->
Additionally, peep the relationships to this hash:

It is 100% plausible for the hashes to vary as it's a compiled program. So any changes made by Microsoft and re-compiled would result in something like this, no?

It is 100% plausible for the hashes to vary as it's a compiled program. So any changes made by Microsoft and re-compiled would result in something like this, no?

@munkk01 That's obvious, 👍 but only if someone updates the exe. The purpose of this hash check was to - check in a specific version of oscdimg.exe file that was checked by antivirus to a place where only Chris can change the file and no one else, which means "if you trust Chris you trust the app"
This is to put a certain category of people that were for example complaining about this file in tiny11 script. When I check it my version I downloaded the latest version of this file from the latest ADK https://learn.microsoft.com/en-us/windows-hardware/get-started/adk-install and updated set the hash value for that file. Chris checked in his oscdimg (I have no idea where he got it) but he might have forgotten to update the hash or the hash as you say changing somehow, but it is very unlikely. Also foe extra paranoid crowd I left the option to download full blown ADK, which happens if you don't check the checkbox for github download.
Anyway it seems that @juliocoliveirajuliocoliveira updated the hash awhile back but it got reverted for some reason

It is most likely due to localization. Some chars are not being passed correctly to dism? There is also oscdimg problem that I see on your system. I think Cris added a wrong hash number.  I don't have the time to dig into this, maybe @CodingWonders could help?

My guess is that Get-AppxProvisionedPackage is failing and thus the array isn't being initialized.
Looking at the code, I can see that it doesn't detect whether a command quit successfully.

When can one expect those changes to go to main? I'm having the same issues.

It is 100% plausible for the hashes to vary as it's a compiled program. So any changes made by Microsoft and re-compiled would result in something like this, no?

@munkk01 That's obvious, 👍 but only if someone updates the exe. The purpose of this hash check was to - check in a specific version of oscdimg.exe file that was checked by antivirus to a place where only Chris can change the file and no one else, which means "if you trust Chris you trust the app"
This is to put a certain category of people that were for example complaining about this file in tiny11 script. When I check it my version I downloaded the latest version of this file from the latest ADK https://learn.microsoft.com/en-us/windows-hardware/get-started/adk-install and updated set the hash value for that file. Chris checked in his oscdimg (I have no idea where he got it) but he might have forgotten to update the hash or the hash as you say changing somehow, but it is very unlikely. Also foe extra paranoid crowd I left the option to download full blown ADK, which happens if you don't check the checkbox for github download.
Anyway it seems that @juliocoliveira updated the hash (https://github.com/ChrisTitusTech/winutil/pull/1301/commits/063c08c99c5b7161d6d7a3d8a0804734f4cb53b3) awhile back but it got reverted for some reason

My commit didn't got reverted, but it was merged in other branch than the main, i guess chris will merge the branches live on tuesday, that is my guess

Hello, I'm having the same issue using version 24.01.03 on a localized German Windows 10.

I debugged it and it's related to the "function Get-LocalizedYesNo". On my system the function returns an empty array/value and not "J" for Ja (= Yes).
As a reference here's the output of the command "takeown.exe /?" which is parsed in this function:

I hope that helps.

Oh man this has been a problem since day 1, this localization issue in Windows is a nightmare.  We need a better way to get localized "J" for each language. What is frustrating is that in soem locals like Russian and Japanese for example it is still "Y" and "N" but other's Like German and Spanish it is localized.

@KonTy: This is my first contribution to an OSS project and I'm even not familiar with github, so please bear with me if this is the wrong way to go about it.
The problem should be that in the description of the option "/D" the two values for Yes and No are in one line (English version but also for example in the Dutch version). And in some localized versions the values are in two different lines (German, French, Spanish). I have tested these language versions and they all worked.
For me, this solution was successful: Using a second temporary array ($charactersArrayTemp) filled with the values from the two-line outputs. First the value for Yes, then the value for No.
It's probably not the nicest solution, but it works in the Windows versions mentioned above.
The modified function:
function Get-LocalizedYesNo {
    <#
    .SYNOPSIS
    This function runs takeown.exe and captures its output to extract yes no in a localized Windows

    .DESCRIPTION
    The function retrieves lines from the output of takeown.exe until there are at least 2 characters
    captured in a specific format, such as "Yes=<first character>, No=<second character>".

    .EXAMPLE
    $yesNoArray = Get-LocalizedYesNo
    Write-Host "Yes=$($yesNoArray[0]), No=$($yesNoArray[1])"
    #>

    # Run takeown.exe and capture its output
    $takeownOutput = & takeown.exe /? | Out-String

    # Parse the output and retrieve lines until there are at least 2 characters in the array
    $found = $false
    $charactersArray = @()

    # temporary second array
    $charactersArrayTemp = @()

    foreach ($line in $takeownOutput -split "`r`n")
    {
        # skip everything before /D flag help
        if ($found)
        {
            # now that /D is found start looking for a single character in double quotes
            # in help text there is another string in double quotes but it is not a single character
            $regexPattern = '"([a-zA-Z])"'

            $charactersArray = [regex]::Matches($line, $regexPattern) | ForEach-Object { $_.Groups[1].Value }

            # If yes and No are in different $line(s) a temporary array is filled with both
            if ($charactersArray.Count -gt 0) {
                $charactersArrayTemp += [regex]::Matches($line, $regexPattern) | ForEach-Object { $_.Groups[1].Value }
            }

            # When both values for Yes and No are collected the array to be returned is filled with the temporary array
            if ($charactersArrayTemp.count -ge 2) {
                $charactersArray = $charactersArrayTemp
                break
            }

            # if ($charactersArray.Count -gt 0) {
            #     Write-Output "Extracted symbols: $($matches -join ', ')"
            # } else {
            #     Write-Output "No matches found."
            # }

            # Yes and No in the same $line
            if ($charactersArray.Count -ge 2)
            {
                break
            }
        }
        elseif ($line -match "/D   ")
        {
            $found = $true
        }
    }

    Write-Debug "According to takeown.exe local Yes is $charactersArray[0]"
    # Return the array of characters
    return $charactersArray
  }

Another solution may be the powershell command Set-Acl but this would need more modifications to the scipt.

@dtm-r thank you very much for such in depth investigation. I can fold your code into the project so everyone could test it, unless you want to raise the PR yourself.
As far as set-Acl I have tried that it didn't work,  I don't remember the details but there were some major problems with it and I didn't have time to dig in. There is apparently another way of getting "Y" "N" letters by using choice.exe utility but again I didn't have time to investigate it. Like here in this post if you have time to play with this let me know.

@KonTy: As I have written, I'm not familiar with github, cloning a repo, pull requests etc.
So, please add the code to the project for testing.
And I have looked into the solution using choice.exe you've mentioned.
This would be the modified function. I've tested with English, German, Dutch, French, Italian, Spansich and Russian localized versions. It looks somehow promising:
function Get-LocalizedYesNo {
    <#
    .SYNOPSIS
    This function runs choice.exe and captures its output to extract yes no in a localized Windows

    .DESCRIPTION
    The function retrieves the output of the command 'cmd /c "choice <nul 2>nul"' and converts the default output for Yes and No
    in the localized format, such as "Yes=<first character>, No=<second character>".

    .EXAMPLE
    $yesNoArray = Get-LocalizedYesNo
    Write-Host "Yes=$($yesNoArray[0]), No=$($yesNoArray[1])"
    #>

    # Run choice and capture its options as output
    # The output shows the options for Yes and No as "[Y,N]?" in the (partitially) localized format.
    # eg. English: [Y,N]?
    # Dutch: [Y,N]?
    # German: [J,N]?
    # French: [O,N]?
    # Spanish: [S,N]?
    # Italian: [S,N]?
    # Russian: [Y,N]?

    $line = cmd /c "choice <nul 2>nul"
    $charactersArray = @()
    $regexPattern = '([a-zA-Z])'
    $charactersArray = [regex]::Matches($line, $regexPattern) | ForEach-Object { $_.Groups[1].Value }

    Write-Debug "According to takeown.exe local Yes is $charactersArray[0]"
    # Return the array of characters
    return $charactersArray
  }

@dtm-r wow man you are awesome, see people like you move OpenSource projects forward. Thank you very much for doing this AND testing it on many languages. I should probably also download whole bunch of ISOs like you did. This would improve the quality of this tool if we tested several languages like you did. Are you using VirtualBox or some other vm solution to test?

@dtm-r ok your change is not live in my branch you can test it if you want
iwr -useb https://raw.githubusercontent.com/KonTy/winutil/LinksAndPerf/winutil.ps1 | iex

@KonTy: I've used the MUI functionality of Windows 10 pro for testing the different languages. This works like charm since Win 7.
In Chinese (simplified) the options are Y and N, too.
Your branch does work for me, no more error in MicroWin. And on Win 10 Pro (DE) it doesn't beep, neither in Powershell ISE nor in Powershell. Haven't tried the Terminal app.

Hello  @KonTy Please i have this error i can't create my custom iso (new iso download from microsoft official website). Can u help me

The 80041031 error code typically indicates an issue related to Windows Management Instrumentation (WMI). Here are a few steps you can try to resolve the issue:

Reboot Your Computer:
Sometimes, a simple reboot can resolve temporary issues. Restart your computer and try mounting the ISO again.

Check for System Corruption:
Run the System File Checker (SFC) utility to scan and repair system files that may be corrupted.
sfc /scannow

Update Your System:
Make sure your operating system is up-to-date. Check for Windows updates and install any pending updates.

Check WMI Service:
Ensure that the Windows Management Instrumentation (WMI) service is running. You can do this through the Services application:

Press Win + R to open the Run dialog.
Type services.msc and press Enter.
Locate "Windows Management Instrumentation" in the list.
Make sure its status is set to "Running" and the startup type is set to "Automatic."

Check for Security Software Interference:
Security software can sometimes interfere with WMI operations. Temporarily disable your antivirus or security software and check if the issue persists.

Event Viewer:
Check the Event Viewer for more detailed error information. Look for entries related to the 80041031 error and check if there are any additional details that can help identify the cause.

Press Win + X and select "Event Viewer."
Navigate to "Windows Logs" -> "Application" or "System."
Look for entries with the source related to WMI or the application you're using to mount the ISO.

ISO File Integrity:
Ensure that the ISO file you are trying to mount is not corrupted. Try mounting a different ISO file to see if the issue persists.

If the problem persists after trying these steps, additional troubleshooting may be required. Consider seeking assistance from Microsoft support or community forums for more specific guidance based on your system configuration and the software you are using to mount the ISO.

Hello, I am still having the same error

How to replicate:
Download oscdimg.exe, tried with both checked and unchecked, still same problem
Only keep defender is checked in both attempts.
ISO file is latest windows 11 iso from official microsoft website, Pro version chosen in microwin


the length of prompt will be too longer

Hello, by reading the code, I found that the prompt is formed by concatenating and combining the agent.messages list. I am curious, as the conversation progresses, the agent.messages list becomes larger and the prompt becomes longer. What happens when it exceeds the maximum length that the model can handle? How can we ensure that memGPT remains a permanent chatbot?

It will summarize messages / clip the messages / write things out to archival memory over the course of the conversation.
https://github.com/cpacker/MemGPT/blob/main/memgpt/agent.py#L609


Refer to specific grammar rule

Is it possible to have one single grammar and decide to parse a specific text using one rule of this grammar which is not the main one?
Let's say I have the following, very simple grammar, boolean is my start rule.
false = "false" { return false; }
true  = "true"  { return true; }
boolean = true / false

But sometimes I would like to access in the generated file, no only boolean but maybe I just need to parse false or true, is that possible? I mean to export them separately through cli.

Yes, see the --allowed-start-rules CLI argument / allowedStartRules config / API parameter:
$ node .\bin\peggy.js --help
Usage: peggy [options] [input_file]

Arguments:
  input_file                       Grammar file to read.  Use "-" to read stdin. (default: "-")

Options:
  ...
  --allowed-start-rules <rules>    Comma-separated list of rules the generated parser will be allowed to start parsing from.  (Can be specified multiple times) (default: the first rule in the grammar)
  ...

Also of note: you can specify "*" for the allowed start rules, to allow any rule to be a starter.
I'm going to keep this open in order to make sure the CLI docs say that.

Maybe is my luck of understanding the output but as I see it, it only exports one function called parse. How can I access some peg$parsetrue? Just to clarify, what I mean is not for the grammar to parse either true or false, I want to precisely pick the rule that parses true and failes with false.

"use strict";

const peggy = require("./");

const  { parse } = peggy.generate(`
false = "false" { return false; }
true  = "true"  { return true; }
boolean = true / false`, {
  allowedStartRules: ["*"],
});

console.log(parse("true", { startRule: "boolean" }));

Understood, this is basically the equivalent of the CLI but when generating the grammar at runtime. I hoped there was some way to flag rules in the grammar itself to tell the generator (CLI or peggy.generate) what default starting rules to have.
Let's say I have mygrammar.peggy
*false = "false" { return false; }
true  = "true"  { return true; }
*boolean = true / false

And I want the starting rule to be either boolean or false. But as I understand this is not currently supported.

You are correct there is currently no mechanism inside the grammar for this, although that's a good idea.  When we do rule importing (see #292 for initial work), some rules might be marked as public and others as private, for instance.  There are other bits of metadata that might be interesting about rules, such as anticipated types for Typescript output, enabling tracing per-rule, example inputs that get automatically tested, etc.
We could come up with something like ECMAscript/Typescript decorators, have a syntax for comments like JSdoc, or decide that all of this is too complicated for the benefits that might accrue.
In the meantime, just keep an array of the rules you want to be made visible whenver you would have generated a * prefix, and pass that in where the ['*'] is in my example.


work with MSM

I would like to ask, how to make petclinic work with msm?

Actually, the question is where is context.xml?
I can't find that file, so I can't configure tomcat8.

Spring Petclinic is packaged as an executable JAR. Based on Spring Boot, it uses Tomcat as an embedded servlet container. Thus there is no web.xml.
For traditional deployment (a war into a web container), please refer to the manual: http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-traditional-deployment

https://gist.github.com/Clcanny/8b186b083130faba7bc17f8e0928cc7c
my solution working with docker


vue: Worked around the iFrame height issue

The workaround suggested for temporary usage.
#1003

This is more of a workaround than a fix. I'd rather we look into why the host value was not set to the default value in the web component in the first place, even though it's already set in the code:
https://github.com/giscus/giscus-component/blob/eafa4bf78fac8360339aeb100af9b5d164070a1b/web/src/giscus.ts#L40
I cannot reproduce the issue, so if you can provide a small reproduction that'd be great.

Superseded by #1626.


The API index by request?

I'm collecting info from your API, the first round many animes give me error 500 or others, second run it works fine.
So if it crawl by request, maybe you need put this info on the README (any way, I think right now you have 13000+ animes thanks too all my request [sorry for the "little attack" I don't want parse again all mal, just to get the info anime and crawl data etc...])
PD: Also some request return false as response, what it means?

The 500 error pops up on the first run. This is perhaps due to the monitoring script for rate limiting or cache script. Not sure, but I'll be fixing this ASAP.
No worries about the amount of requests, I got a bit of info on the usability and performance of the API to improve it. :)
Could you tell me which request is giving you a "false" response? Error responses are usually with invalid endpoints or using POST instead of GET.

I'm running again my vps to get the data and give you exactly what animes gives false, any way I found something:
If I run more than vps at the same time getting different data, it will give more 500 error, if I run just 1 vps at time it works normally


DISTINCT function broken since 3.1.3

CrateDB version: 3.1.3
Environment description: any environment
Problem description:
DISTINCT function for selects is not working since 3.1.3. Results are not unique whenever selecting more than one field in the query. Limiting DISTINCT with brackets, i.e., DISTINCT(field), does not help.
Steps to reproduce:

Import sample data (tweets).

Run queries:
select distinct created_at, id from tweets limit 100; yields all tweets.
select distinct created_at from tweets limit 100; yields only a few tweets.

Run same queries for 3.1.2 and both queries yield the same results.

@hnstbndr Do the results also differ if you add an explicit order?
select distinct created_at, id from tweets order by created_at limit 100;
select distinct created_at from tweets order by created_at limit 100;

@seut same results as previously.

@hnstbndr So the results differ also when using an explicit order by clause?

@seut yes. I have only tried 3.1.3 for this. order_by does not have an impact on the results.

@hnstbndr Ok thanks, we'll look into this asap.

Can't reproduce this with 3.1.3:
cr> select x, y from t1;
+---+---+
| x | y |
+---+---+
| 3 | 2 |
| 0 | 1 |
| 2 | 2 |
| 0 | 3 |
| 3 | 2 |
| 3 | 0 |
| 1 | 2 |
| 2 | 1 |
| 2 | 3 |
| 3 | 2 |
+---+---+
SELECT 10 rows in set (0.008 sec)
cr> select distinct x, y from t1;
+---+---+
| x | y |
+---+---+
| 3 | 2 |
| 2 | 1 |
| 2 | 2 |
| 0 | 1 |
| 1 | 2 |
| 2 | 3 |
| 0 | 3 |
| 3 | 0 |
+---+---+
SELECT 8 rows in set (0.006 sec)

Could you post an example output of what you're seeing and tell us what you'd expect to see? I'd assume that id in select distinct created_at, id from tweets limit 100 is unique, so it's not clear to me how you're expecting to see unique results with distinct vs. without.

hey, sry for the delay. did / do not have the time to look further into this (side project...). however, i noticed that it has something to do with the JOIN.

Could you post your exact queries then (and also include their EXLAIN output) ?
Your initial reproduction steps don't include a JOIN.

I did some digging this morning. Below the tables and data from my experiment.
create table c_user (
    id string,
    name string,

    primary key (id)
);

create table c_comment (
    comment string INDEX OFF,
    id string,
    user_id string,

    primary key (id, user_id)
);

INSERT INTO c_user (id, name) VALUES ('667D594D-1BD5-45C6-BFB3-ACA92C61EAE8', '1'), ('B7F2D1A6-BCE2-4C7E-8836-AD3C5ABFB572', '2'), ('56D38E1C-9F68-4A3A-8020-4F51D5431B1A', '3'), ('5E13AEF4-0B25-4F72-9E11-13C4EDC907A7', '4'), ('A7C06E8F-BD28-4E2D-9C0D-E2E6B94F70C9', '5'), ('EB64BEF0-D25F-4BD3-86EC-7BFB1B2A611E', '6'), ('2BB6748B-B836-443A-8AA4-F3802D90BCBB', '7'), ('58A03093-F3EB-477B-8C99-858DA55A0BD7', '8'), ('B102598E-B82F-4A66-B6F0-02A521EE02F0', '9'), ('96DED9A0-75B3-48C3-A442-98D68F8FEA6C', '10');

INSERT INTO c_comment (comment, id, user_id) VALUES ('1000', '56C318DE-B92E-408D-BFF8-275C228AA6AA', '667D594D-1BD5-45C6-BFB3-ACA92C61EAE8'), ('2000', 'E8020588-AE76-4286-AB79-B8ACD1B94541', 'B7F2D1A6-BCE2-4C7E-8836-AD3C5ABFB572'), ('3000', '01693D4A-8A42-4497-9005-C164CF9761EF', '56D38E1C-9F68-4A3A-8020-4F51D5431B1A'), ('4000', 'ECE80A51-D742-44FE-99B7-D118663273AD', '5E13AEF4-0B25-4F72-9E11-13C4EDC907A7'), ('5000', '679BEA61-5CD4-4A5C-9BBD-85F5685C27DA', 'A7C06E8F-BD28-4E2D-9C0D-E2E6B94F70C9'), ('6000', '4C75EC2F-886A-4F0C-9756-D6A5EE6601B5', 'EB64BEF0-D25F-4BD3-86EC-7BFB1B2A611E'), ('7000', '74C8B57D-1C11-4FD8-9D45-6150598A36F8', '2BB6748B-B836-443A-8AA4-F3802D90BCBB'), ('8000', 'CCF67996-877E-4D28-9328-8137E04A3674', '58A03093-F3EB-477B-8C99-858DA55A0BD7'), ('9000', '54D26220-E972-4570-87FA-CD1A917F100C', 'B102598E-B82F-4A66-B6F0-02A521EE02F0'), ('10000', '76090566-69F4-4A95-8D01-88D10BA7056E', '96DED9A0-75B3-48C3-A442-98D68F8FEA6C');

INSERT INTO c_comment (comment, id, user_id) VALUES ('9999', '47FC2636-0316-4031-B017-0F01ED3FF86A', '667D594D-1BD5-45C6-BFB3-ACA92C61EAE8'), ('19998', 'B9C01484-C13C-492F-B807-0B9DA6CE330D', 'B7F2D1A6-BCE2-4C7E-8836-AD3C5ABFB572'), ('29997', 'CCD53409-ABB4-4B20-AD73-C6968FE63133', '56D38E1C-9F68-4A3A-8020-4F51D5431B1A'), ('39996', '237E9395-5815-4499-9804-7853B1BA5AF8', '5E13AEF4-0B25-4F72-9E11-13C4EDC907A7'), ('49995', '5491393B-5DA7-4940-9B4E-97FB2A48CDCA', 'A7C06E8F-BD28-4E2D-9C0D-E2E6B94F70C9'), ('59994', 'E4B0D400-B5CE-4D21-A6A6-5B3E33F16C7E', 'EB64BEF0-D25F-4BD3-86EC-7BFB1B2A611E'), ('69993', '90974138-0ECC-4AEF-AB91-CBC9700836BD', '2BB6748B-B836-443A-8AA4-F3802D90BCBB'), ('79992', '883CE173-A72C-4319-AABF-CAF9C905EE87', '58A03093-F3EB-477B-8C99-858DA55A0BD7'), ('89991', '08CCD65E-4622-4CC4-ADCA-10798C1FD8CC', 'B102598E-B82F-4A66-B6F0-02A521EE02F0'), ('99990', '12368890-CB1D-46D2-BA78-4E43F4D801B4', '96DED9A0-75B3-48C3-A442-98D68F8FEA6C');

The query is:
SELECT distinct (c_user.id),
      c_comment.id
     FROM c_comment
     INNER JOIN c_user
     ON c_user.id=c_comment.user_id
    order by c_user.id LIMIT 50;

If c_comment.id is included in the select c_user.id is not unique in the returned set (independent from the crate version). In my real query I use _score in the select statement. And I think this is the problem. For crate 3.1.2 _score was not unique in the returned set and thus crate was able to consolidate it. When I switched to crate 3.1.3 _score was unique and data was not consolidated. I have the same data in both versions.. Thus, I thought there is an issue :) Turns out there is no issue. Closing this issue!
Apologies for the delay....


Use subs caching on windows

Fix for the remaining LLVM tests on Windows.

@rtfeldman can you please merge this?


Add total value in donations

Resolves #798
Description

Add donation total item values in index and show pages
Type of change

New feature (non-breaking change which adds functionality)

How Has This Been Tested?

RSpec test
manually

Screenshots

Looks like your other PR fixed the complaint that rubocop has with htis PR. If you merge that in you should be good to go :)
I also added you as a contributor to the repo to make contributing easier so you don't have to fork and can just push branches :)

Thanks for adding me as a contributor! I'm happy to help :)

Looks great! Thanks so much for this! :)


improve checker

Using such evaluation rule to handle definition of type, it will record a name as type, and bind name with its type value

Done


Release

:tada: This PR is included in version 0.74.1 :tada:
The release is available on:

v0.74.1
GitHub release

Your semantic-release bot :package::rocket:


Add support to more methods

This PR will allow libphonenumber to wrap more methods from the original lib. I wrap these to list the supported regions from libphonenumber.
Thanks
:beers:

It seems interesting. The file size increase seems reasonable. Why are there only the files up to BL, and not those for all countries?
... but I can't see the build.sh and build.xml that you used to compile your files.

There are files for all countries in the change.. no?
I used the same build.sh and build.xml

Looks good to me. Can you modify this to be two commits? One for the underlying change, one for the dist changes? Will merge at that point. :)

@nathanhammond changed, can u check if it is ok?
Thanks :beers:
=D

Excellent. Thanks!

I was wrong. I only counted the modified files and not the new ones.
If all this can be done using the same build files, then I am still missing something about this library. My view was that one has to tailor the compilation to suit his/her own needs. I'll study more :-)


Added neg_edge_index as an argument in recon_loss.

recon_loss inside autoencoder.py did negative sampling for neg_edge_index.   when neg_edge_index is added as an argument. if neg_edge_index is given, use it. else use the existing negative sampling. Refer this issue.

I like that, thanks!


Simplify test workflow file

Related to https://github.com/mesh-adaptation/docs/pull/90

Some test fail but unrelated to this PR. Opened #138


Clean up fp16 related build scripts and conditions

unsigned / signed int type mismatch in blas_neon.cpp
build condition cleanup (meson.build)
explicitly disable fp16 in armv7l/Tizen. (not because of HW support, but because of the library usage of nntrainer)

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #2447. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://ci.nnstreamer.ai/.

I could find some more non-unsigned-int iterator variables in blas_neon.cpp file. Should I make a Wait-for PR? If you are not working on it further about this specific problem, please let me know...!

Fix them without waiting for other PRs. We can always merge manually.
We also need to reenable compiler warning-erros to prevent such.


Non-clickable link in user document

The user document "Running_on_NIH_Biowulf" section, "create config/samples.txt and config/config.yaml as described in here", The "here" is not clickable because it will move to next line when mouse over it.

modified in https://github.com/NCI-CGR/GEMSCAN/commit/2835c309583a601485233f51f89ddff7db056a45
@Binz-Z could you take a look?

It looks fine now. Thanks, Wendy.


Feature/386 add establishment groups

Changes in this PR
Adds EstablishmentGroup and EstablishmentGroupType models, services to seed the database with group information pulled from GIAS and a scheduled job to refresh the EstablishmentGroup data  once a month.

 #386 FaF Entry Point - None DSI - Seed groups from GIAS


[SPARK-15136][PySpark][DOC] Fix links to sphinx style and add a default param doc note

What changes were proposed in this pull request?
PyDoc links in ml are in non-standard format. Switch to standard sphinx link format for better formatted documentation. Also add a note about default value in one place. Copy some extended docs from scala for GBT
How was this patch tested?
Built docs locally.

Test build #57838 has started for PR 12918 at commit e2596f6.

Test build #57838 has finished for PR 12918 at commit e2596f6.

This patch fails Python style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/57838/
Test FAILed.

Test build #57839 has started for PR 12918 at commit bc7ea85.

Test build #57839 has finished for PR 12918 at commit bc7ea85.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/57839/
Test PASSed.

cc @yanboliang

Test build #57860 has started for PR 12918 at commit ec4ffab.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/57860/
Test PASSed.

I like it! @holdenk Could you make change for all links in spark.ml docs? I found there are links in regression.py, recommendation.py and feature.py also need update. Thanks!

Happy to, I was going to leave those files for the people working in them during QA but I can update them as well.

Test build #57963 has started for PR 12918 at commit bb18b9a.

Test build #57963 has finished for PR 12918 at commit bb18b9a.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class GetExternalRowField(

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/57963/
Test PASSed.

Test build #58010 has started for PR 12918 at commit 72d500d.

Test build #58010 has finished for PR 12918 at commit 72d500d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/58010/
Test PASSed.

Merged build finished. Test PASSed.

Test build #58086 has started for PR 12918 at commit bfdcbe3.

Test build #58086 has finished for PR 12918 at commit bfdcbe3.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/58086/
Test PASSed.

That LGTM

Merged to master/2.0


Bootstrap + new CSS

...

Please make "pronunciation" and "english" columns white text

Actually, use roll over instead of white text!

This PR is superseded by #2. Closing


Add Token tests

Same PR(#666) with signed commits.
I've added the following Token function tests.

is_mixed
is_mixed_null
get_location
set_location

@yt2b Thanks for the PR!