chore(shareable-lists): db-generated timestamps

Runs a migration to generate timestamps using DB defaults rather than prisma. Relying less on the prisma client leaves less opportunity for mistakes when we're not using it. Using it with transactions has been unreliable and has resulted in OOMs in some test cases.
Running the migration in dev first.
Also, fixes the seeder script, which wasn't updated when the code paths for making lists public were commented out.

Plan Result (shareable-lists-api-cdk)
CI link
:warning: Resource Deletion will happen
This plan contains resource delete operation. Please check the plan result very carefully!
Plan: 2 to add, 0 to change, 1 to destroy.

Create

local_file.application_ecs_service_appspec_94386B9C

Replace

aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4

Change Result (Click me)

  # aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4 must be replaced
-/+ resource "aws_ecs_task_definition" "application_ecs_service_ecs-task_461CC9D4" {
      ~ arn                      = "arn:aws:ecs:us-east-1:996905175585:task-definition/ShareableListsApi-Prod:297" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-1:996905175585:task-definition/ShareableListsApi-Prod" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ image                  = "996905175585.dkr.ecr.us-east-1.amazonaws.com/shareablelistsapi-prod-app:1af2d0e76b160b373d96267c347de089a0a5b59d" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/shareablelistsapi-prod-app:7df3604e64c57269e3da77057e61368ec8e7b951"
                    name                   = "app"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (9 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "ShareableListsApi-Prod" -> (known after apply)
      ~ revision                 = 297 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "ShareableListsApi"
        }
        # (9 unchanged attributes hidden)
    }

  # local_file.application_ecs_service_appspec_94386B9C will be created
  + resource "local_file" "application_ecs_service_appspec_94386B9C" {
      + content              = (known after apply)
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

Plan: 2 to add, 0 to change, 1 to destroy.

:white_check_mark: Apply Succeeded (shareable-lists-api-cdk-dev)
CI link
Apply complete! Resources: 2 added, 2 changed, 1 destroyed.
 Resource actions are indicated with the following symbols:
  + create
  ~ update in-place
-/+ destroy and then create replacement

Terraform will perform the following actions:

  # aws_cloudwatch_metric_alarm.synthetics_synthetics_synthetic_check_alarm_query_0_52F9FF21 will be updated in-place
  ~ resource "aws_cloudwatch_metric_alarm" "synthetics_synthetics_synthetic_check_alarm_query_0_52F9FF21" {
      ~ alarm_actions             = [
          + "",
        ]
        id                        = "slapi-dev-query-0"
      ~ ok_actions                = [
          + "",
        ]
        tags                      = {}
        # (16 unchanged attributes hidden)
    }

  # aws_cloudwatch_metric_alarm.synthetics_synthetics_synthetic_check_alarm_uptime_0_3A56DFC7 will be updated in-place
  ~ resource "aws_cloudwatch_metric_alarm" "synthetics_synthetics_synthetic_check_alarm_uptime_0_3A56DFC7" {
      ~ alarm_actions             = [
          + "",
        ]
        id                        = "slapi-dev-uptime-0"
      ~ ok_actions                = [
          + "",
        ]
        tags                      = {}
        # (16 unchanged attributes hidden)
    }

  # aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4 must be replaced
-/+ resource "aws_ecs_task_definition" "application_ecs_service_ecs-task_461CC9D4" {
      ~ arn                      = "arn:aws:ecs:us-east-1:410318598490:task-definition/ShareableListsApi-Dev:141" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-1:410318598490:task-definition/ShareableListsApi-Dev" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ image                  = "410318598490.dkr.ecr.us-east-1.amazonaws.com/shareablelistsapi-dev-app:2c55b01338f2e058cf319e31029e438865abb89b" -> "410318598490.dkr.ecr.us-east-1.amazonaws.com/shareablelistsapi-dev-app:7df3604e64c57269e3da77057e61368ec8e7b951"
                    name                   = "app"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (9 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "ShareableListsApi-Dev" -> (known after apply)
      ~ revision                 = 141 -> (known after apply)
        tags                     = {
            "environment" = "Dev"
            "service"     = "ShareableListsApi"
        }
        # (9 unchanged attributes hidden)
    }

  # local_file.application_ecs_service_appspec_94386B9C will be created
  + resource "local_file" "application_ecs_service_appspec_94386B9C" {
      + content              = (known after apply)
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

Plan: 2 to add, 2 to change, 1 to destroy.
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Destroying... [id=ShareableListsApi-Dev]
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Destruction complete after 0s
aws_cloudwatch_metric_alarm.synthetics_synthetics_synthetic_check_alarm_uptime_0_3A56DFC7: Modifying... [id=slapi-dev-uptime-0]
aws_cloudwatch_metric_alarm.synthetics_synthetics_synthetic_check_alarm_query_0_52F9FF21: Modifying... [id=slapi-dev-query-0]
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Creating...
aws_cloudwatch_metric_alarm.synthetics_synthetics_synthetic_check_alarm_query_0_52F9FF21: Modifications complete after 0s [id=slapi-dev-query-0]
aws_cloudwatch_metric_alarm.synthetics_synthetics_synthetic_check_alarm_uptime_0_3A56DFC7: Modifications complete after 0s [id=slapi-dev-uptime-0]
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Creation complete after 0s [id=ShareableListsApi-Dev]
local_file.application_ecs_service_appspec_94386B9C: Creating...
local_file.application_ecs_service_appspec_94386B9C: Creation complete after 0s [id=fdcb18e7df81a0365ae5acd67755f469e900da9d]
Releasing state lock. This may take a few moments...

Apply complete! Resources: 2 added, 2 changed, 1 destroyed.

:white_check_mark: Apply Succeeded (shareable-lists-api-cdk)
CI link
Apply complete! Resources: 2 added, 0 changed, 1 destroyed.
 Resource actions are indicated with the following symbols:
  + create
-/+ destroy and then create replacement

Terraform will perform the following actions:

  # aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4 must be replaced
-/+ resource "aws_ecs_task_definition" "application_ecs_service_ecs-task_461CC9D4" {
      ~ arn                      = "arn:aws:ecs:us-east-1:996905175585:task-definition/ShareableListsApi-Prod:297" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-1:996905175585:task-definition/ShareableListsApi-Prod" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ image                  = "996905175585.dkr.ecr.us-east-1.amazonaws.com/shareablelistsapi-prod-app:1af2d0e76b160b373d96267c347de089a0a5b59d" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/shareablelistsapi-prod-app:cd17f2cbe9e140b83ec872f9526eb596f62a4786"
                    name                   = "app"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (9 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "ShareableListsApi-Prod" -> (known after apply)
      ~ revision                 = 297 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "ShareableListsApi"
        }
        # (9 unchanged attributes hidden)
    }

  # local_file.application_ecs_service_appspec_94386B9C will be created
  + resource "local_file" "application_ecs_service_appspec_94386B9C" {
      + content              = (known after apply)
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

Plan: 2 to add, 0 to change, 1 to destroy.
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Destroying... [id=ShareableListsApi-Prod]
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Destruction complete after 0s
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Creating...
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Creation complete after 0s [id=ShareableListsApi-Prod]
local_file.application_ecs_service_appspec_94386B9C: Creating...
local_file.application_ecs_service_appspec_94386B9C: Creation complete after 0s [id=ad6f544c3a0fb17e5546b10395f9fc0f8a4d716e]
Releasing state lock. This may take a few moments...

Apply complete! Resources: 2 added, 0 changed, 1 destroyed.


docs(api): Device swagger changes

Codecov Report

Merging #174 (bfe719c) into master (6d15372) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #174   +/-   ##
=======================================
  Coverage   25.20%   25.20%
=======================================
  Files          61       61
  Lines        4086     4086
  Branches      759      759
=======================================
  Hits         1030     1030
  Misses       2776     2776
  Partials      280      280

Continue to review full report at Codecov.

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


How about using Datasets:: not DatasetsParquet:: for dataset?

e.g.: DatasetsParquet::TLC::GreenTaxiTrip -> Datasets::TLC::GreenTaxiTrip
If we use Datasets:: for each dataset, users don't need to care whether the dataset uses Apache Parquet or not.

Thank you for your advice. I will rename it!

I fixed it in https://github.com/red-data-tools/red-datasets-parquet/pull/10.🙏


getting redirected to login

following the example, getting redirected to login page. My credentials are correct. Any help is appreciated.

they break this module all the time. can you inspect the results from login and see what comes back?

// login before doing anything
acct.login(function(err){
});

i think this is printing the token from line 38 but every other function prints the html for the login page.
If they keep breaking it, maybe it isn't meant to be. I will bug their support to see about a native api and see what comes of it :) Thanks for the effort.

I can look into it when I have a minute, but I don't even use simple anymore

It seems to be getting the token but won't accept the other methods.

I don't have a simple account anymore so I can't continue to develop on this module. If somebody else would like to look into it and come on as a maintainer it would be much appreciated.

After trying this library without luck, I have switched to using a headless browser; I find nightmare works pretty well. It was certainly easy to install.
My code to log in and grab my transactions is simpn.js

@dckc Thanks for the alternative. I thought of using a headless browser, but my understanding is that headless browsers load all resources and run on page javascript, so it would be slower. I'm hoping I can figure out what's going on with this version.

Yep, shouldn't be anything too crazy - if somebody takes a minute to look into this it would be appreciated.

Yes, I would appreciate it, since simple revamped their web site and I haven't updated my headless browsing code to match yet.

I'm not sure what, if anything, changed, but https://github.com/contra/bank/blob/master/examples/sample.js works -- at least the logging in and getting transactions, which is all I need. (linked accounts also seems to work but card and balance get redirected to the login page)
I was able to resolve my issue 4.

The examples in the README are somewhat misleading; if executed as-is, they don't wait for login() to finish before running transactions() and the like.

@dckc Wasn't meant to be a code example, more of an API list - I'll update it if that's really the issue.


verify qiime.core.archiver.Archiver zipfile path separator logic is cross-platform compatible

qiime.core.archiver.Archiver currently uses os.path.join wherever a path separator is required. This is correct in many cases, but we should make sure this will work on Windows and Unix since the zip spec requires / internally. In other words, can os.path.join be used for constructing paths within a zip file, or is it always /?

Fixed.


⚠ Bofrost.es has degraded performance

In f96d7be, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1787 ms

Resolved: Bofrost.es performance has improved in 2711a51 after 22 minutes.


how can I mock http service with h2non/gock and levigross/grequests

Hi,
how can I mock http service with h2non/gock and levigross/grequests?
Best regards,
Stéphane

I will look into it -- at the moment I don't support mocking the library

@harobed At least for me it works like charm. Below I implemented the simple mocking available at gock readme just changing the http call:
package test

import (
	"testing"

	"github.com/h2non/gock"
	"github.com/levigross/grequests"
	"github.com/nbio/st"
)

func TestSimple(t *testing.T) {
	defer gock.Off()

	gock.New("http://foo.com").
		Get("/bar").
		Reply(200).
		JSON(map[string]string{"foo": "bar"})

	res, err := grequests.Get("http://foo.com/bar", nil)
	st.Expect(t, err, nil)
	st.Expect(t, res.StatusCode, 200)

	body := res.Bytes()
	st.Expect(t, string(body)[:13], `{"foo":"bar"}`)

	// Verify that we don't have pending mocks
	st.Expect(t, gock.IsDone(), true)
}

I don't know if it helps you :)

Thanks :)


Convert all img elements to next/image elements

Now that https://github.com/opencollective/opencollective/issues/4012 is done, maybe after waiting for some days to see if everything goes smoothly we probably should think about moving all img elements to next/image elements. We already have a PR open for this (https://github.com/opencollective/opencollective-frontend/pull/6009) and we need to adjust/add to it in order to achieve this I think. 😄
cc: @Betree

While having next images is interesting for static images (mostly illustrations), we must make sure to never add the dynamic image domains (especially the one used for attachments preview) in next.config.js https://nextjs.org/docs/api-reference/next/image#src. Failure to do so would create public image previews of private documents.
In this regard, I think it's better if we avoid using next images for everything private at the moment.

While having next images is interesting for static images (mostly illustrations), we must make sure to never add the dynamic image domains (especially the one used for attachments preview) in next.config.js https://nextjs.org/docs/api-reference/next/image#src. Failure to do so would create public image previews of private documents.
In this regard, I think it's better if we avoid using next images for everything private at the moment.

@Betree : Yes, I agree. I've updated the PR by removing the image domains in next.config.js and also kept some dynamic images in their original state (using img tags). All the other static images I've converted to next/images. Let me know if you see any issues. 😄


#638 - Move special VDOM behaviour into Incremental DOM overrides.

Implements #638. This also references https://github.com/google/incremental-dom/issues/281 as referenced in the issue for this. It would be better if we could have built-in support for "components" as described in the babel-plugin-incremental-dom docs.

lgtm 👍

LGTM

LGTM


Use of cls-hooked

Hi,
We've ran into troubles of async/await functions becoming not catchable really well when we were using this module. After some investigation, we realized that the dependency cls-hooked caused these issues, as it's still not a mature module.
Would you consider a rewrite without this dependency or is it so much needed?
I'd be glad to share any insight.

Hi @Ottunger,
cls-hooked is critical to the functionality of the SDK, since it is used for context propagation of our segments & subsegments under the hood. Could you elaborate on your issues of such functions not being catchable? Some sample code to reproduce the error would be greatly appreciated.

Thanks for your quick reply, I understand your point.
We have built a framework to add transaction support at database layer to our app, which is triggered by the return code of our APIs, however, when using async/await, the transaction is sometimes never rolled back on error because the client holding the transaction is lost due to context not being well kept.
It's really hard to provide you with a "minimal repro" to be honest, but I can give you this:
The transaction wrapper:
export function withTransaction(repo: ModelRepository, logger: Logger, previousMethod: (req: Request, res: Response, next: NextFunction) => void, lock?: SystemLock) {
    return function(req: Request, res: Response, next: NextFunction) {
        const endTerminator = res.end.bind(res);
        const jsonTerminator = (obj: any) => {
            res.write(jsonStringify(obj) || '{}');
            endTerminator();
        };
        const connectTimeoutHandler = setTimeout(() => {
            // Timed out getting a client, restart worker or process...
            logger.error('Error timed out getting a client, exiting...');
            process.exit(22);
        }, 3000);
        repo.db.connect().then(dbClient => {
            clearTimeout(connectTimeoutHandler);
            // On error, will rollback...
            utils.logger = logger;
            dbClient.removeListener('error', utils.clientErrorHandler);
            dbClient.on('error', utils.clientErrorHandler);

            res.locals.dbClient = dbClient;
            res.locals.dbClientCommited = false;
            res.locals.dbClientCommit = (cb: (err: any) => any) => {
                if(!res.locals.dbClientCommited) {
                    res.locals.dbClientCommited = true;
                    dbClient.query('COMMIT').catch(err => err).then((err: any) => {
                        dbClient.release();
                        if(!(err instanceof Error)) {
                            for(let i = 0; i < res.locals.dbClientOnCommit.length; i++) {
                                res.locals.dbClientOnCommit[i]();
                            }
                        }
                        cb(err instanceof Error ? err : undefined);
                    });
                } else {
                    cb(undefined);
                }
            };
            res.locals.dbClientOnCommit = [];
            return dbClient.query('BEGIN').then(() => {
                const finish = () => {
                    res.json = (obj: any) => {
                        if(res.statusCode > 299 && res.statusCode !== 412) {
                            if(logger && res.statusCode > 499) {
                                logger.error('Uncaught 500: %j', obj.error.additionalInfo);
                            }
                            dbClient.query('ROLLBACK').catch(err => obj.error.additionalInfo2 = {message: err.message}).then(() => {
                                dbClient.release();
                                jsonTerminator(obj);
                            });
                        } else {
                            res.locals.dbClientCommit((err: any) => {
                                if(err) {
                                    res.status(500);
                                    jsonTerminator({
                                        error: {
                                            errorKey: 'internal.db',
                                            additionalInfo: {message: err.message}
                                        }
                                    });
                                } else jsonTerminator(obj);
                            });
                        }
                        return res;
                    };
                    res.end = () => {
                        if(res.statusCode > 299 && res.statusCode !== 412) {
                            if(logger && res.statusCode > 499) {
                                logger.error('Uncaught 500 with no details...');
                            }
                            dbClient.query('ROLLBACK').catch((): any => undefined).then(() => {
                                dbClient.release();
                                endTerminator();
                            });
                        } else {
                            res.locals.dbClientCommit((err: any) => {
                                if(err) {
                                    res.status(500);
                                    jsonTerminator({
                                        error: {
                                            errorKey: 'internal.db',
                                            additionalInfo: {message: err.message}
                                        }
                                    });
                                } else endTerminator();
                            });
                        }
                        return res;
                    };
                    return previousMethod.call(this, req, res, next);
                };

                if(lock) {
                    dbClient.query('SELECT pg_advisory_xact_lock(' + lock + ')').then(() => finish()).catch(err => {
                        res.status(500).json({
                            error: {
                                errorKey: 'internal.db',
                                additionalInfo: {message: err.message}
                            }
                        });
                        dbClient.release();
                    });
                } else {
                    finish();
                }
            }).catch(err => {
                dbClient.release();
                throw err;
            });
        }).catch(err => {
            // Error connecting to database, restarting worker after the timeout as well...
            res.status(500).json({
                error: {
                    errorKey: 'internal.db',
                    additionalInfo: {message: err.message}
                }
            });
        });
    };
}

and an async call failing would be smth like
try {
  for(let i = 0; i < arr.length; i++) {
    await updateDb(arr[i], context);
  }
} catch(e) {
  res.status(500).json({
    error: {
      errorKey: 'internal.db',
      additionalInfo: {message: err.message, stack: this.config.debug && err.stack}
    }
  });
}

Hope this helps!

Hi @Ottunger
Thanks for the details on the issue. Please allow me some time to dive deep.

Hi @Ottunger
Thanks for providing the code. I want to understand a few more things here.
Is withTransaction a middleware that you're trying to use for your db calls? We have seem cases in the past where a custom middleware may have troubles with the X-Ray middleware. Make sure you're adding the X-Ray middleware on the topmost level.
The code doesn't seem to using instrumented db client for tracing. How are you using the X-Ray SDK here? Also, in your async call to updateDb, whats the context being passed and what is its purpose?
By default the SDK uses the automatic mode to propagate context with the help of cls-hooked. You can try out the manual mode where you can manually pass the context along with your calls to avoid the interference of cls. You can find more details and example about the manual mode here.

Hi @srprash thanks for the dive-in!
withTransaction is indeed a middleware taking a connection from a connection pool and assigning a DB transaction on it.
The configuration of the plugin is done once at app bootstrap like this:
    AWSXRay.config([AWSXRay.plugins.EC2Plugin, AWSXRay.plugins.ElasticBeanstalkPlugin]);
    AWSXRay.setContextMissingStrategy(() => undefined);
    AWSXRay.capturePromise();
    AWSXRay.captureHTTPsGlobal(http, false);
    AWSXRay.captureHTTPsGlobal(https, false);
    AWSXRay.capturePostgres(pg);

Clients are captured like this:

    private sqs = AWSXRay.captureAWSClient(new AWS.SQS());

The context passed in `updateDb` would be the assigned connection from the pool of `withTransaction` in order to execute the update in the database transaction.

I will also definitely have a look at the manual mode, thanks


WIP: Add support for new regions in AWS

High level description including:

This change is adding support for new regions in AWS
https://dcosjira.atlassian.net/browse/DCOS-12

Issues
DCOS-12
...
Checklist

[x] Included a test which will fail if code is reverted but test is not
[x] Followed relevant code rules Rules for Packages and Systemd

If this is a component/package update, include

[ ] Change Log from last:
[ ] Test Results:
[ ] Code Coverage:

I'm really not a fan of making our templates have different behaviors in different regions. Seems ripe to add confusion as well as reduce testing coverage (adding more permutations of default DC/OS which don't get tested). Can we please try and keep the same instance type across all regions? Even if we have to change mounts and things seems very preferable.

The last push was by mistake, it's in wip.
I agree about us fixing the mount issue, depending on how much work that turns into it will be part of this pr

Closing this out till we move to using m4.xlarge


Question about instance queries

Thank you for sharing this great work! I have a question about the instance queries. Are instance categories and instance queries arranged in order? In other words, Whether the final output category of the first instance queries in the frame 1 and the first instance queries in the frame 2 is the same ? If they're  same，how to do that? (I can't find description of this in the paper)  Thank you!

@Kris-cong We didn't constrain the category of the same instance in different frames, but the ground truth of the same instance is the same, therefore it is only learned by supervision. In the Inference section of 4.1 of the paper, we said,"For instances that have been classified to different categories in different frames, we use the most frequently predicted category as the final instance category".


feat(Chat): Allow to disable actions menu positioning

Adding positionActionMenu prop that disables popper and some size calculations. Can be set to false in not-focused and not-hovered state, to prevent unnecessary style calculations
Microsoft Reviewers: Open in CodeFlow

Warnings

:warning:
There are no updates provided to CHANGELOG. Ensure there are no publicly visible changes introduced by this PR.

  Generated by :no_entry_sign: dangerJS


Controll scroll #713

Issue Number
#713
Overview of PR
controlling the horizontal scrolling on the calendar canvas, if the user passes visibleTimeStart and visibleTimeEnd or he didn't passes the scrollRef then the scrolling would be hidden at the x-axis

the source branch is overdate with master


Anonymize DNS via Tor?

Hi.
I want to know if I can combine DNScrypt with Pihole+Unbound+"DNS over Tor"?
I'd like to try DNS over Tor.
Would that be safe?
DNScrypt+Pihole with Unbound works very well for me.

All you have to do is uncomment that line: https://github.com/jedisct1/dnscrypt-proxy/blob/b81a72cc3e6b95ac83d677f25e3052695cd2a017/dnscrypt-proxy/example-dnscrypt-proxy.toml#L88-L92
As well as use force_tcp=true since Tor doesn't support UDP.

When I set this:
proxy = "socks5://<IP_ADDRESS>:9050"
force_tcp = true
In my web-browser I can't open websites. Nothing happend.
With this setting it is working:
#proxy = "socks5://<IP_ADDRESS>:9050"
force_tcp = false

Must I change something in the torrc-file of TOR?

I don't think so. I just start tor without any configuration file (the only one I see is torrc.sample which seems to be an example).

hmm... I'm running Pi-Hole with Unbound+DNScrypt together.
What can I do to get it work with route dns-traffic over tor and dnscrypt to work with Unbound+Pihole?
In dnscrypt-proxy.toml... it don't work for me:
proxy = "socks5://<IP_ADDRESS>:9050"
force_tcp = true
But Tor @ <IP_ADDRESS>:9050 is working standalone also when I try it with another Browser.

I don't know much about Linux and never used Pi-Hole, but just for you, I installed Raspbian and Pi-Hole.
After the installation, I added Tor:
apt install tor

I didn't edit any configuration files at this point
I then followed the instructions from Pi-hole's Wiki to install dnscrypt-proxy: https://github.com/pi-hole/pi-hole/wiki/DNSCrypt-2.0
The only changes I made to the configuration file:
 listen_addresses = ['<IP_ADDRESS>:5300', '[::1]:5300']
force_tcp = true
proxy = "socks5://<IP_ADDRESS>:9050"

The original Wiki instructions used port 5353 as an example, but it didn't work for me, something was already listening to port 5353, so I used 5300 instead and updated the Wiki accordingly.
And it worked. If I stop the tor process, nothing resolves any more (besides what has  been cached), so I guess all the DNS queries go through Tor as expected.
So, if you follows these instructions, it should work as well :)

I add to /etc/tor/torrc =
DNSPort <IP_ADDRESS>:9054
Changed in dnscrypt-proxy.toml:
proxy = "socks5://<IP_ADDRESS>:9051"
force_tcp = true
I try to open a webpage but nothing appears.

tor.log says:
Oct 06 22:28:51.000 [notice] Tor <IP_ADDRESS> (git-9ef571339967c1e5) opening new log file.
Oct 06 22:28:51.766 [notice] Tor <IP_ADDRESS> (git-9ef571339967c1e5) running on Linux with Libevent 2.0.21-stable, OpenSSL 1.1.0f and Zlib 1.2.8.
Oct 06 22:28:51.767 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning
Oct 06 22:28:51.767 [notice] Read configuration file "/usr/share/tor/tor-service-defaults-torrc".
Oct 06 22:28:51.767 [notice] Read configuration file "/etc/tor/torrc".
Oct 06 22:28:51.771 [warn] You have asked to exclude certain relays from all positions in your circuits. Expect hidden services and other Tor features to be broken in unpredictable ways.
Oct 06 22:28:51.771 [notice] Opening Socks listener on <IP_ADDRESS>:9051
Oct 06 22:28:51.771 [notice] Opening DNS listener on <IP_ADDRESS>:9054
Oct 06 22:28:51.000 [notice] Parsing GEOIP IPv4 file /usr/share/tor/geoip.
Oct 06 22:28:51.000 [notice] Parsing GEOIP IPv6 file /usr/share/tor/geoip6.
Oct 06 22:28:52.000 [notice] Bootstrapped 0%: Starting
Oct 06 22:28:52.000 [notice] Bootstrapped 80%: Connecting to the Tor network
Oct 06 22:28:52.000 [notice] Signaled readiness to systemd
Oct 06 22:28:52.000 [notice] Opening Socks listener on /var/run/tor/socks
Oct 06 22:28:52.000 [notice] Opening Control listener on /var/run/tor/control
Oct 06 22:28:53.000 [notice] 22 entries in guards
Oct 06 22:28:53.000 [notice] Bootstrapped 85%: Finishing handshake with first hop
Oct 06 22:28:53.000 [notice] Bootstrapped 90%: Establishing a Tor circuit
Oct 06 22:28:53.000 [notice] Tor has successfully opened a circuit. Looks like client functionality is working.
Oct 06 22:28:53.000 [notice] Bootstrapped 100%: Done

From this tutorial:  https://github.com/pi-hole/pi-hole/wiki/DNS-over-Tor
...it says I have to add the "socks5 IP <IP_ADDRESS>:9051" into my Pihole custom DNS-settings to get it work.
But in my Pi-hole custom DNS-settings are:
DNS 1:  <IP_ADDRESS>#53 (Router)
DNS 2:  <IP_ADDRESS>#5353 (Unbound)  ...forwards to dnsCRYPT-PROXY with <IP_ADDRESS>:54 ...then from
dnsCRYPT-PROXY routing to DNS-over-Tor with "proxy = "socks5://<IP_ADDRESS>:9051" ???
But why it will not work?
Some idea?

TOR is running without errors...
dnsCRYPT-PROXY is running without errors...
Pi-Hole is running without errors...
Don't work :-(
proxy = "socks5://<IP_ADDRESS>:9051"
force_tcp = true
Result in WebBrowser = Hmm. We're having trouble finding that site.
Web-Browsing works with:
#proxy = "socks5://<IP_ADDRESS>:9051"
force_tcp = false

Don't mix and match different tutorials.
The first one says to configure only one upstream, <IP_ADDRESS>#5300, so try to do that.
Also try without Unbound first. dnscrypt-proxy has a built-in cache, so you're just wasting memory anyway.

I set it up:
Pi-Hole Custom 1 DNS: <IP_ADDRESS>#5300 (Upstream)
.toml Config
listen_addresses = ['<IP_ADDRESS>:5300']
force_tcp = true
proxy = "socks5://<IP_ADDRESS>:9051"
Don't work :-(

By default it is proxy = "socks5://<IP_ADDRESS>:9050"

TOR.log says:
[notice] Tried for 41 seconds to get a connection to [scrubbed]: 853 - Giving up...
[warn] Your application (using socks5 to port 443) is giving Tor only an IP address....

By default it is proxy = "socks5://<IP_ADDRESS>:9050"

Yes but on my HOST I use 9050 with TOR and in my DietPi VM I use 9051...

You know your custom environment far better than anybody else, so I don't think I can help at this point.

I'm now running DNS over Tor but in tor.log shows:
Oct 07 02:39:02.000 [notice] Have tried resolving or connecting to address '[scrubbed]' at 3 different places. Giving up.
Oct 07 02:43:37.000 [warn] Socks version 0 not recognized. (Tor is not an http proxy.)
Oct 07 02:43:37.000 [warn] Fetching socks handshake failed. Closing.
I don't know what does it means. Some idea?

Rebooted my pc:
Status of:  dnsCRYPT-proxy in terminal:
( when this: force_tcp = true & proxy = socks5://<IP_ADDRESS>:9050)
(code=exited, status=255)
dnscrypt-proxy.service: Unit entered failed state.
dnscrypt-proxy.service: Failed with result 'exit-code'.

Got it running in my OS in VBox.
Add to my config: (torrc)
SocksPort <IP_ADDRESS>:9050
SocksPolicy accept *
then:
force_tcp = true
proxy = "socks5://<IP_ADDRESS>:9050
Hmm, with enabled it, DNS is very slow on my config, without it, very fast with DNScrypt.

Yes, Tor adds a lot of latency. There are many users but not too many running router nodes.

Is it possible to route all my internet-traffic throu TOR and use Pi-hole, Unbound+dnsCRYPT (as DNS-resolver)?


App doesn't record internal audio

I think it's because it's missing the following. https://developer.android.com/guide/topics/media/av-capture
I forked the app and tried to implement it to it can record the mic + internal audio but I failed...

Just fyi, this app can record mic + internal audio succesfully: https://github.com/crakaC/MediaProjectionSample
I was wondering if you can add the same method to record & mix both audios your project?

Any update?


Frontend does not handle regex validation correct

Description of the bug
Tested on schema https://altinn.studio/repos/srf/melding-til-statsforvalteren
Field SaksID has regex [0-9]{5,6} in the XSD and a custom error message in the schema.json
<xsd:simpleType name="saksId_Restriksjon">     <xsd:restriction base="xsd:token">       <xsd:pattern value="[0-9]{5,6}" />     </xsd:restriction>
"Saksid": {       "$ref": "#/$defs/saksId_Restriksjon",       "@xsdStructure": "XmlSchemaSimpleTypeRestriction",       "errorMessage": "Du har ikke tastet en gyldig saksID."     }
When entering letters instead of number the validation is correct and the custom error message is shown

When entering too many numbers the validation does not trigger and no error is shown.

When trying to send the schema the validation trigger, but missing the custom error message

Steps To Reproduce

Additional Information

Closing as the regex was missing ^ and $ and was not a bug in app-frontend.
Regex pattern should be changed to ^[0-9]{5,6}$.


[Sema] Diagnose wrapped property if its projected value property conflicts with lazy variable storage property

The compiler currently crashes when diagnosing a redeclaration error when a lazy property has a name which generates a storage variable with a name that conflicts with the projected value variable's name. This is possible if the lazy variable is called {prop_name} and the wrapped property is called __lazy_storage_$_{prop_name}:
@propertyWrapper
struct WrapperWithProjectedValue<T> {
  var wrappedValue: T
  var projectedValue: T { return wrappedValue }
}

struct Foo {
  lazy var foo = 1
  @WrapperWithProjectedValue var __lazy_storage_$_foo: Int
}

This is quite an unlikely situation, but it's much better diagnose the wrapped property instead of crashing.

@swift-ci please smoke test

@swift-ci please smoke test macOS


Tradeoffs with using fractional counts

Hi @ryanjgallagher @gregversteeg,
I understand that the model is binary in nature and that you have also given a feature to use fractional counts which you mention is experimental. A use case that I am tackling might require fractional counts. So what according to you would be the potential risks of using fractional counts. Also, any specific reason as to why you'd initially proceeded with binarization than the fractional count approach. Just asking this to understand the potential risks that might be involved with using the model in this different fashion.
Thanks in advance

Hi @aditya-malte,
Mathematically, most of the setup of the CorEx topic model assumes binary counts. This assumption is what makes it possible for us to run CorEx on large, sparse data.
I haven't done much with the fractional counts implementation. @gregversteeg would have more insight into it. Given the size / sparsity of your data, he might also have other CorEx implementations that are better suited for your use case.

Hi @aditya-malte,
Mathematically, most of the setup of the CorEx topic model assumes binary counts. This assumption is what makes it possible for us to run CorEx on large, sparse data.
I haven't done much with the fractional counts implementation. @gregversteeg would have more insight into it. Given the size / sparsity of your data, he might also have other CorEx implementations that are better suited for your use case.

Hi @ryanjgallagher,
Thanks for the quick reply. My use case mostly caters to small amounts of data (around 20k samples). Also, training time is a non issue for me(doesn’t matter if 2 hours or 7 hours), unless prohibitively long (think 2 days). I’m assuming by sparsity you are meaning (say) a very sparse but large vocabulary.
The bio-corex insight is definitely helpful, will check out.

Hi @ryanjgallagher,
Thanks for the quick reply. My use case mostly caters to small amounts of data (around 20k samples). Also, training time is a non issue for me(doesn’t matter if 2 hours or 7 hours), unless prohibitively long (think 2 days). I’m assuming by sparsity you are meaning (say) a very sparse but large vocabulary.
The bio-corex insight is definitely helpful, will check out.

Sorry to chime in late. If your data is sparse, then I think this version is the way to go. Mathematically, I think it's justified to use fractional counts. Imagine you have a document/sample that is for four words (0,1,1/2,0). The way that this is modeled is like a distribution, for just this one sample, of p(x1)=0, p(x2)=1,p(x3)=1/2,p(x4)=0.  Mathematically, it would be equivalent to take each sample and draw new ones according to this distribution. For instance, if you sampled in this way you'd get half of your samples of 0,1,1,0 and half of 0,1,0,0. Even though that's the meaning, it's more efficient to use the fractional counts (assuming this type of sampling is compatible with how you interpret fractional counts).

Sorry to chime in late. If your data is sparse, then I think this version is the way to go. Mathematically, I think it's justified to use fractional counts. Imagine you have a document/sample that is for four words (0,1,1/2,0). The way that this is modeled is like a distribution, for just this one sample, of p(x1)=0, p(x2)=1,p(x3)=1/2,p(x4)=0.  Mathematically, it would be equivalent to take each sample and draw new ones according to this distribution. For instance, if you sampled in this way you'd get half of your samples of 0,1,1,0 and half of 0,1,0,0. Even though that's the meaning, it's more efficient to use the fractional counts (assuming this type of sampling is compatible with how you interpret fractional counts).


Fix dialog body to be properly expanded

Moved the rule, to add additional padding due to fixed footer, to an inner element instead as explained in http://stackoverflow.com/questions/26888428/display-flex-loses-right-padding-when-overflowing
Fixed the other places where this rules were necessary to change too

@xavijam please review

Go for it man!

Frontend tests were OK :+1: (details)

Frontend tests were OK :+1: (details)


Add sample Lighthouse config

📝 Summary
Just adding a snippet to the readme to help run rbuilder in live mode.
💡 Motivation and Context

✅ I have completed the following steps:

[ ] Run make lint
[ ] Run make test
[ ] Added tests (if applicable)

Thanks for catching that @liamaharon


Live Reload Not Working

Describe the bug
Live reload does not work for example manifest protocol (this example)
Reproduction
Correct typescript and port errors and start above example using pnpm
Used Package Manager
npm
System Info
System:
    OS: macOS 14.5
    CPU: (16) arm64 Apple M3 Max
    Memory: 590.08 MB / 64.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.15.0 - ~/.nvm/versions/node/v20.15.0/bin/node
    npm: 10.9.0 - ~/Development/ui-deals/node_modules/.bin/npm
  Browsers:
    Chrome: 129.0.6668.90
    Edge: 129.0.2792.79
    Safari: 17.5

Validations

[X] Read the docs.
[X] Read the common issues list.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Module federation issue and not a framework-specific issue.
[X] The provided reproduction is a minimal reproducible example of the bug.

guh, I'm totally going to get thumbs downed for this, but for anyone else stuck on this like we've been, my (admittedly hacky) current workaround is to put this in the remote:
const redText = '\x1b[1;37;41m'
const noPathMsg = 'No hostPath configured!'
const invalidPathMsg = 'No hostPath found. Please configure a path to an existing host application.'
const BD = '.remote' // BindingDirectory
const BFN = 'remote' // BindingFileName
const BE = '.binding' // BindingExtension

const RsBuildHostBinding = (hostPath): RsbuildPlugin => {
  return ({
    name: 'bindToHost',
    setup(api) {
      api.onDevCompileDone(() => {
      if (!hostPath) return console.log(redText, noPathMsg)
        if (!existsSync(hostPath)) return console.log(redText, invalidPathMsg)
        mkdir(
          `${hostPath}/${BD}`,
          () => console.log(`Created ${BD} directory in host`)
        )
        writeFile(
          `${hostPath}/${BD}/${BFN}${BE}`,
          `${Date.now()}`,
          () => console.log(`Updated ${BFN}${BE}`)
        )
      })
    },
  })
}

and to put this in your host:
  dev: {
    watchFiles: {
      paths: '.remote',
      type: 'reload-page'
    }
  },

and add the .remote dir that the plugin creates to your .gitignore.
it ain't pretty, but we can dev now 😄

The hmr failed because rsbuild correct the server.port meanings , it not equals dev.client.port related pr https://github.com/web-infra-dev/rsbuild/pull/2639
And i update the example configuration to fix the issue https://github.com/module-federation/module-federation-examples/compare/fix/update-port?expand=1

adding the client port fixes it. Thank you for the quick response!


AEROGEAR-2905 - Ignore cases when looking up configurations based on …

…types
Motivation
JIRA: https://issues.jboss.org/browse/AEROGEAR-2905
GitHub Issue: #246
Description
Refactored service configuration type lookup to ignore the letter case requested and search for lowercase
Progress

[x] refactor service config type lookup to ignore the letter case used in the request

@rachael-oregan : I think we should add a 'toLowercase' here as well so that we are sure that map keys are lowercase.

@ziccardi the search doesn't really matter here because serviceConfigsByType.get(serviceType); always returns null as serviceConfigsByType is just initialised 3 lines before doing the search. I'm not even sure why it's checking for null here if (configsForType == null) because configsForType is always going to be null

@rachael-oregan : it is inside a loop. And inside the loop we do:
serviceConfigsByType.put(serviceType, configsForType);
so if more than one configuration exists for a given type, we could get a non null value.

@ziccardi ah right ya ok, I'll update that now. Thanks 👍

@ziccardi mind having another look

@secondsun ya sure that makes sense, I'll add in some tests

@secondsun @wojta mind having another look please


Body-Shape Calculator

Fixes Issue🛠
#1686
Description👨💻
This new body shape calculator feature helps you determine your body type by comparing your waist, bust/chest, and hip measurements to categorize you as a rectangle, hourglass, triangle, or another shape. It will then suggest styling ideas for clothes based on your body shape.
Type of Change📄

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

Checklist:-

[ ✅] I am an Open Source contributor
[ ✅] I have performed a self-review of my code
[✅ ] My code follows the style guidelines of this project
[✅ ] I have commented on my code, particularly in hard-to-understand areas

Screenshots/GIF📷

@sharmaastha15 Please add you calculator in main index file of project in alphabetical order.

Also one file from other calculator is shown modified. Please remove those modifications too.


ghci fails to work with abcbridge (/usr/bin/ld: cannot find -labc)

On Arch Linux, after building abcBridge HEAD and verifying that stack test works (it does, and all the tests pass), stack ghci nevertheless fails:
$ stack ghci
Configuring GHCi with the following packages: abcBridge
GHCi, version 8.0.2: http://www.haskell.org/ghc/  :? for help
/usr/bin/ld: cannot find -labc
collect2: error: ld returned 1 exit status
`gcc' failed in phase `Linker'. (Exit code: 1)

I suspect ghci only accepts a dynamic library (.so), but only a libabc.a is built. Indeed if I add a directory containing libabc.a to ghci's linker path (-L), I get a "Loading archives not supported" ghc panic.
Here's the output for stack ghci -v in case it's helpful:
$ stack ghci -v
Version 1.7.1, Git revision 681c800873816c022739ca7ed14755e85a579565 (5807 commits) x86_64 hpack-0.28.2
2018-07-19 22:43:39.631886: [debug] Checking for project config at: /home/sliedes/projects/aigmanip/abcBridge/stack.yaml
@(src/Stack/Config.hs:850:9)
2018-07-19 22:43:39.632026: [debug] Loading project config file stack.yaml
@(src/Stack/Config.hs:876:13)
2018-07-19 22:43:39.632796: [debug] Decoding build plan from: /home/sliedes/.stack/build-plan/lts-8.13.yaml
@(src/Stack/Snapshot.hs:164:5)
2018-07-19 22:43:39.632836: [debug] Trying to decode /home/sliedes/.stack/build-plan-cache/lts-8.13.cache
@(src/Stack/Snapshot.hs:156:32)
2018-07-19 22:43:39.636715: [debug] Success decoding /home/sliedes/.stack/build-plan-cache/lts-8.13.cache
@(src/Stack/Snapshot.hs:156:32)
2018-07-19 22:43:39.637058: [debug] Run process: /sbin/ldconfig -p
@(src/Stack/Setup.hs:580:22)
2018-07-19 22:43:39.638987: [debug] Process finished in 2ms: /sbin/ldconfig -p
@(src/Stack/Setup.hs:580:22)
2018-07-19 22:43:39.640157: [debug] Found shared library libtinfo.so.5 in /usr/lib
@(src/Stack/Setup.hs:602:38)
2018-07-19 22:43:39.640381: [debug] Found shared library libtinfo.so.6 in /usr/lib
@(src/Stack/Setup.hs:602:38)
2018-07-19 22:43:39.640471: [debug] Found shared library libncursesw.so.6 in 'ldconfig -p' output
@(src/Stack/Setup.hs:589:29)
2018-07-19 22:43:39.640583: [debug] Found shared library libgmp.so.10 in 'ldconfig -p' output
@(src/Stack/Setup.hs:589:29)
2018-07-19 22:43:39.640723: [debug] Did not find shared library libgmp.so.3
@(src/Stack/Setup.hs:603:38)
2018-07-19 22:43:39.640766: [debug] Potential GHC builds: tinfo6, standard, ncurses6
@(src/Stack/Setup.hs:632:9)
2018-07-19 22:43:39.640852: [debug] Found already installed GHC builds: tinfo6
@(src/Stack/Setup.hs:458:13)
2018-07-19 22:43:39.641440: [debug] Getting global package database location
@(src/Stack/GhcPkg.hs:47:5)
2018-07-19 22:43:39.641506: [debug] Run process: /home/sliedes/.stack/programs/x86_64-linux/ghc-tinfo6-8.0.2/bin/ghc-pkg --no-user-package-db list --global
@(src/Stack/GhcPkg.hs:76:10)
2018-07-19 22:43:39.644126: [debug] Asking GHC for its version
@(src/Stack/Setup/Installed.hs:98:13)
2018-07-19 22:43:39.644228: [debug] Run process: /home/sliedes/.stack/programs/x86_64-linux/ghc-tinfo6-8.0.2/bin/ghc --numeric-version
@(src/Stack/Setup/Installed.hs:99:19)
2018-07-19 22:43:39.644509: [debug] Getting Cabal package version
@(src/Stack/GhcPkg.hs:180:5)
2018-07-19 22:43:39.644631: [debug] Run process: /home/sliedes/.stack/programs/x86_64-linux/ghc-tinfo6-8.0.2/bin/ghc-pkg --no-user-package-db field --simple-output Cabal version
@(src/Stack/GhcPkg.hs:76:10)
2018-07-19 22:43:39.660889: [debug] Process finished in 16ms: /home/sliedes/.stack/programs/x86_64-linux/ghc-tinfo6-8.0.2/bin/ghc-pkg --no-user-package-db field --simple-output Cabal version
@(src/Stack/GhcPkg.hs:76:10)
2018-07-19 22:43:39.664877: [debug] Process finished in 23ms: /home/sliedes/.stack/programs/x86_64-linux/ghc-tinfo6-8.0.2/bin/ghc-pkg --no-user-package-db list --global
@(src/Stack/GhcPkg.hs:76:10)
2018-07-19 22:43:39.677014: [debug] Process finished in 33ms: /home/sliedes/.stack/programs/x86_64-linux/ghc-tinfo6-8.0.2/bin/ghc --numeric-version
@(src/Stack/Setup/Installed.hs:99:19)
2018-07-19 22:43:39.677089: [debug] GHC version is: ghc-8.0.2
@(src/Stack/Setup/Installed.hs:102:13)
2018-07-19 22:43:39.677148: [debug] Resolving package entries
@(src/Stack/Setup.hs:256:5)
2018-07-19 22:43:39.677268: [debug] Trying to decode /home/sliedes/.stack/loaded-snapshot-cache/x86_64-linux/ghc-8.0.2/lts-8.13.cache
@(src/Stack/Snapshot.hs:384:9)
2018-07-19 22:43:39.703896: [debug] Success decoding /home/sliedes/.stack/loaded-snapshot-cache/x86_64-linux/ghc-8.0.2/lts-8.13.cache
@(src/Stack/Snapshot.hs:384:9)
2018-07-19 22:43:39.704624: [debug] Starting to execute command inside EnvConfig
@(src/Stack/Runners.hs:171:18)
2018-07-19 22:43:39.704681: [debug] Parsing the targets
@(src/Stack/Build/Target.hs:460:3)
2018-07-19 22:43:39.707072: [debug] Trying to decode /home/sliedes/.stack/indices/Hackage/01-index.cache
@(src/Stack/PackageIndex.hs:407:23)
2018-07-19 22:43:39.830646: [debug] Success decoding /home/sliedes/.stack/indices/Hackage/01-index.cache
@(src/Stack/PackageIndex.hs:407:23)
2018-07-19 22:43:39.845725: [debug] Start: getPackageFiles /home/sliedes/projects/aigmanip/abcBridge/abcBridge.cabal
@(src/Stack/Package.hs:332:21)
2018-07-19 22:43:39.855219: [debug] Finished in 9ms: getPackageFiles /home/sliedes/projects/aigmanip/abcBridge/abcBridge.cabal
@(src/Stack/Package.hs:332:21)
2018-07-19 22:43:39.857036: [debug] Parsing the targets
@(src/Stack/Build/Target.hs:460:3)
2018-07-19 22:43:39.869444: [debug] Parsing the targets
@(src/Stack/Build/Target.hs:460:3)
2018-07-19 22:43:39.880994: [debug] Start: getPackageFiles /home/sliedes/projects/aigmanip/abcBridge/abcBridge.cabal
@(src/Stack/Package.hs:332:21)
2018-07-19 22:43:39.890584: [debug] Finished in 10ms: getPackageFiles /home/sliedes/projects/aigmanip/abcBridge/abcBridge.cabal
@(src/Stack/Package.hs:332:21)
2018-07-19 22:43:39.892682: [debug] Finding out which packages are already installed
@(src/Stack/Build/Installed.hs:57:5)
2018-07-19 22:43:39.892815: [debug] Run process: /home/sliedes/.stack/programs/x86_64-linux/ghc-tinfo6-8.0.2/bin/ghc-pkg --global --no-user-package-db dump --expand-pkgroot
@(src/Stack/Prelude.hs:117:3)
2018-07-19 22:43:39.912051: [debug] Process finished in 19ms: /home/sliedes/.stack/programs/x86_64-linux/ghc-tinfo6-8.0.2/bin/ghc-pkg --global --no-user-package-db dump --expand-pkgroot
@(src/Stack/Prelude.hs:117:3)
2018-07-19 22:43:39.912496: [debug] Ignoring package haskeline due to wanting version <IP_ADDRESS> instead of <IP_ADDRESS>
@(src/Stack/Build/Installed.hs:185:5)
2018-07-19 22:43:39.912545: [debug] Ignoring package terminfo due to wanting version <IP_ADDRESS> instead of <IP_ADDRESS>
@(src/Stack/Build/Installed.hs:185:5)
2018-07-19 22:43:39.912712: [debug] Run process: /home/sliedes/.stack/programs/x86_64-linux/ghc-tinfo6-8.0.2/bin/ghc-pkg --user --no-user-package-db --package-db /home/sliedes/.stack/snapshots/x86_64-linux-tinfo6/lts-8.13/8.0.2/pkgdb dump --expand-pkgroot
@(src/Stack/Prelude.hs:117:3)
2018-07-19 22:43:39.933689: [debug] Process finished in 21ms: /home/sliedes/.stack/programs/x86_64-linux/ghc-tinfo6-8.0.2/bin/ghc-pkg --user --no-user-package-db --package-db /home/sliedes/.stack/snapshots/x86_64-linux-tinfo6/lts-8.13/8.0.2/pkgdb dump --expand-pkgroot
@(src/Stack/Prelude.hs:117:3)
2018-07-19 22:43:39.934064: [debug] Run process: /home/sliedes/.stack/programs/x86_64-linux/ghc-tinfo6-8.0.2/bin/ghc-pkg --user --no-user-package-db --package-db /home/sliedes/projects/aigmanip/abcBridge/.stack-work/install/x86_64-linux-tinfo6/lts-8.13/8.0.2/pkgdb dump --expand-pkgroot
@(src/Stack/Prelude.hs:117:3)
2018-07-19 22:43:39.949571: [debug] Process finished in 15ms: /home/sliedes/.stack/programs/x86_64-linux/ghc-tinfo6-8.0.2/bin/ghc-pkg --user --no-user-package-db --package-db /home/sliedes/projects/aigmanip/abcBridge/.stack-work/install/x86_64-linux-tinfo6/lts-8.13/8.0.2/pkgdb dump --expand-pkgroot
@(src/Stack/Prelude.hs:117:3)
2018-07-19 22:43:39.949929: [debug] Constructing the build plan
@(src/Stack/Build/ConstructPlan.hs:186:5)
2018-07-19 22:43:39.952013: [debug] Checking if we are going to build multiple executables with the same name
@(src/Stack/Build.hs:177:5)
2018-07-19 22:43:39.952073: [debug] Executing the build plan
@(src/Stack/Build/Execute.hs:491:5)
2018-07-19 22:43:39.952490: [debug] Getting global package database location
@(src/Stack/GhcPkg.hs:47:5)
2018-07-19 22:43:39.952534: [debug] Run process: /home/sliedes/.stack/programs/x86_64-linux/ghc-tinfo6-8.0.2/bin/ghc-pkg --no-user-package-db list --global
@(src/Stack/GhcPkg.hs:76:10)
2018-07-19 22:43:39.968427: [debug] Process finished in 16ms: /home/sliedes/.stack/programs/x86_64-linux/ghc-tinfo6-8.0.2/bin/ghc-pkg --no-user-package-db list --global
@(src/Stack/GhcPkg.hs:76:10)
2018-07-19 22:43:39.968915: [debug] Finding out which packages are already installed
@(src/Stack/Build/Installed.hs:57:5)
2018-07-19 22:43:39.969010: [debug] Run process: /home/sliedes/.stack/programs/x86_64-linux/ghc-tinfo6-8.0.2/bin/ghc-pkg --global --no-user-package-db dump --expand-pkgroot
@(src/Stack/Prelude.hs:117:3)
2018-07-19 22:43:39.992096: [debug] Process finished in 23ms: /home/sliedes/.stack/programs/x86_64-linux/ghc-tinfo6-8.0.2/bin/ghc-pkg --global --no-user-package-db dump --expand-pkgroot
@(src/Stack/Prelude.hs:117:3)
2018-07-19 22:43:39.992214: [debug] Ignoring package haskeline due to wanting version <IP_ADDRESS> instead of <IP_ADDRESS>
@(src/Stack/Build/Installed.hs:185:5)
2018-07-19 22:43:39.992269: [debug] Ignoring package terminfo due to wanting version <IP_ADDRESS> instead of <IP_ADDRESS>
@(src/Stack/Build/Installed.hs:185:5)
2018-07-19 22:43:39.992510: [debug] Run process: /home/sliedes/.stack/programs/x86_64-linux/ghc-tinfo6-8.0.2/bin/ghc-pkg --user --no-user-package-db --package-db /home/sliedes/.stack/snapshots/x86_64-linux-tinfo6/lts-8.13/8.0.2/pkgdb dump --expand-pkgroot
@(src/Stack/Prelude.hs:117:3)
2018-07-19 22:43:40.014231: [debug] Process finished in 22ms: /home/sliedes/.stack/programs/x86_64-linux/ghc-tinfo6-8.0.2/bin/ghc-pkg --user --no-user-package-db --package-db /home/sliedes/.stack/snapshots/x86_64-linux-tinfo6/lts-8.13/8.0.2/pkgdb dump --expand-pkgroot
@(src/Stack/Prelude.hs:117:3)
2018-07-19 22:43:40.014642: [debug] Run process: /home/sliedes/.stack/programs/x86_64-linux/ghc-tinfo6-8.0.2/bin/ghc-pkg --user --no-user-package-db --package-db /home/sliedes/projects/aigmanip/abcBridge/.stack-work/install/x86_64-linux-tinfo6/lts-8.13/8.0.2/pkgdb dump --expand-pkgroot
@(src/Stack/Prelude.hs:117:3)
2018-07-19 22:43:40.032438: [debug] Process finished in 18ms: /home/sliedes/.stack/programs/x86_64-linux/ghc-tinfo6-8.0.2/bin/ghc-pkg --user --no-user-package-db --package-db /home/sliedes/projects/aigmanip/abcBridge/.stack-work/install/x86_64-linux-tinfo6/lts-8.13/8.0.2/pkgdb dump --expand-pkgroot
@(src/Stack/Prelude.hs:117:3)
2018-07-19 22:43:40.032889: [debug] Start: getPackageFiles /home/sliedes/projects/aigmanip/abcBridge/abcBridge.cabal
@(src/Stack/Package.hs:332:21)
2018-07-19 22:43:40.042107: [debug] Finished in 9ms: getPackageFiles /home/sliedes/projects/aigmanip/abcBridge/abcBridge.cabal
@(src/Stack/Package.hs:332:21)
2018-07-19 22:43:40.042788: [info] Configuring GHCi with the following packages: abcBridge
@(src/Stack/Ghci.hs:366:5)
2018-07-19 22:43:40.042999: [debug] Run process: /home/sliedes/.stack/programs/x86_64-linux/ghc-tinfo6-8.0.2/bin/ghc --version
@(src/Stack/Ghci.hs:878:3)
2018-07-19 22:43:40.070239: [debug] Process finished in 27ms: /home/sliedes/.stack/programs/x86_64-linux/ghc-tinfo6-8.0.2/bin/ghc --version
@(src/Stack/Ghci.hs:878:3)
2018-07-19 22:43:40.070502: [debug] Run process: /home/sliedes/.stack/programs/x86_64-linux/ghc-tinfo6-8.0.2/bin/ghc --interactive -i -odir=/home/sliedes/projects/aigmanip/abcBridge/.stack-work/odir -hidir=/home/sliedes/projects/aigmanip/abcBridge/.stack-work/odir -hide-all-packages -XForeignFunctionInterface -XFlexibleContexts -XMultiParamTypeClasses -XEmptyDataDecls -i/home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build -i/home/sliedes/projects/aigmanip/abcBridge/src -i/home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/autogen -stubdir=/home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build -I/home/sliedes/projects/aigmanip/abcBridge/include -labc -lpthread /home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/cbits/abcBridgeGiaDup.o /home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/cbits/abcbridge.o /home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/cbits/abcbridge_qbf.o /home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/cbits/cnfWriteHeader.o /home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/cbits/pthread_stubs.o -package-id=base-<IP_ADDRESS> -package-id=base-compat-0.9.3-KeJp8zYMpcS9WibvTcxU22 -package-id=aig-0.2.6-5CaC2jlPQQz7kJjrtLkbZY -package-id=containers-<IP_ADDRESS> -package-id=directory-<IP_ADDRESS> -package-id=vector-<IP_ADDRESS>-LMwQhhnXj8U3T5Bm1JFxG -Wall -fno-ignore-asserts -optP-include -optP/tmp/haskell-stack-ghci/bef8d3f0/cabal_macros.h -ghci-script=/tmp/haskell-stack-ghci/5a64dfc5/ghci-script
@(src/RIO/Process.hs:479:5)
GHCi, version 8.0.2: http://www.haskell.org/ghc/  :? for help
/usr/bin/ld: cannot find -labc
collect2: error: ld returned 1 exit status
`gcc' failed in phase `Linker'. (Exit code: 1)

This might of course not help if the issue is indeed with GHC's dynamic loader, but I noticed that the current version of abc's README.md indicates that there's nowadays upstream support for building a dynamic library.

It is possible to build a dynamic library, and until recently that approach worked for loading in GHCi (which was necessary because we had code that depended on abcBridge and also used Template Haskell). However, I just updated abcBridge to the latest ABC, which now includes C++ code. My best attempts at loading this version into GHCi have led to either a) the error you mentioned, b) undefined references to C++ standard library functions, or c) segfaults in GHCi (if the library includes all the necessary C++ symbols, too). Patches to allow it to work in GHCi would be welcome!

I managed to get it running under ghci, to an extent, and with a hack.
If I run stack -v ghci --test, I see the actual ghci command line executed by stack:
2018-07-20 21:41:45.411003: [debug] Run process: /home/sliedes/.stack/programs/x86_64-linux/ghc-tinfo6-8.2.2/bin/ghc --interactive -i [...]
@(src/RIO/Process.hs:479:5)
GHCi, version 8.2.2: http://www.haskell.org/ghc/  :? for help
/usr/bin/ld: cannot find -labc
collect2: error: ld returned 1 exit status
`g++' failed in phase `Linker'. (Exit code: 1)

Now if I stack exec that command line but manually replace -labc with path to libabc.so (ie. abc-build/libabc.so), it starts, and the tests run fine up to a point:
$ stack exec -- /home/sliedes/.stack/programs/x86_64-linux/ghc-tinfo6-8.2.2/bin/ghc --interactive -i -odir=/home/sliedes/projects/aigmanip/abcBridge/.stack-work/odir -hidir=/home/sliedes/projects/aigmanip/abcBridge/.stack-work/odir -hide-all-packages -XForeignFunctionInterface -XFlexibleContexts -XMultiParamTypeClasses -XEmptyDataDecls -i/home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build -i/home/sliedes/projects/aigmanip/abcBridge/src -i/home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/autogen -i/home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/global-autogen -stubdir=/home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build -I/home/sliedes/projects/aigmanip/abcBridge/include -lstdc++ abc-build/libabc.so -lpthread /home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/cbits/abcBridgeGiaDup.o /home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/cbits/abcbridge.o /home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/cbits/abcbridge_qbf.o /home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/cbits/cnfWriteHeader.o /home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/cbits/pthread_stubs.o -package-id=base-<IP_ADDRESS> -package-id=base-compat-0.9.3-915GC5pH10BBmcMnCvMsPA -package-id=aig-0.2.6-2ax0LltPLe62UybKNRSHl9 -package-id=containers-<IP_ADDRESS> -package-id=directory-<IP_ADDRESS> -package-id=vector-<IP_ADDRESS>-81HFvG2McTgAiNXCyGXulK -i/home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/abc-test -i/home/sliedes/projects/aigmanip/abcBridge/tests -i/home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/abc-test/autogen -i/home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/abc-test/abc-test-tmp -package-id=tasty-<IP_ADDRESS>-6CudLjFtaglFRAraMF2Vc5 -package-id=tasty-ant-xml-1.1.4-9UoACzRPrAZ5x73qJu8s74 -package-id=tasty-hunit-<IP_ADDRESS>-DS6txE6l622CMZ49l5LTci -package-id=tasty-quickcheck-0.9.2-9qybzifxrVnDZ8sKzx2MpX -package-id=QuickCheck-2.10.1-ITccuGmxcAJ3LqZnJvZ2nQ -Wall -fno-ignore-asserts -Wall -pgmlg++ -optP-include -optP/tmp/haskell-stack-ghci/f343ea44/cabal_macros.h -ghci-script=/tmp/haskell-stack-ghci/8dd86d40/ghci-script
GHCi, version 8.2.2: http://www.haskell.org/ghc/  :? for help
[ 1 of 22] Compiling Data.ABC.Internal.ABCGlobal ( /home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/Data/ABC/Internal/ABCGlobal.hs, interpreted )
[ 2 of 22] Compiling Data.ABC.Internal.FRAIG ( /home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/Data/ABC/Internal/FRAIG.hs, interpreted )
[ 3 of 22] Compiling Data.ABC.Internal.Field ( /home/sliedes/projects/aigmanip/abcBridge/src/Data/ABC/Internal/Field.hs, interpreted )
[ 4 of 22] Compiling Data.ABC.Internal.Main ( /home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/Data/ABC/Internal/Main.hs, interpreted )
[ 5 of 22] Compiling Data.ABC.Internal.VecInt ( /home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/Data/ABC/Internal/VecInt.hs, interpreted )
[ 6 of 22] Compiling Data.ABC.Internal.GIA ( /home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/Data/ABC/Internal/GIA.hs, interpreted )
[ 7 of 22] Compiling Data.ABC.Internal.CEC ( /home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/Data/ABC/Internal/CEC.hs, interpreted )
[ 8 of 22] Compiling Data.ABC.Internal.VecPtr ( /home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/Data/ABC/Internal/VecPtr.hs, interpreted )
[ 9 of 22] Compiling Data.ABC.Internal.AIG ( /home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/Data/ABC/Internal/AIG.hs, interpreted )
[10 of 22] Compiling Data.ABC.Internal.GiaAig ( /home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/Data/ABC/Internal/GiaAig.hs, interpreted )
[11 of 22] Compiling Data.ABC.Internal.CNF ( /home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/Data/ABC/Internal/CNF.hs, interpreted )

src/Data/ABC/Internal/CNF.chs:33:1: warning: [-Wunused-imports]
    The import of ‘Foreign.C’ is redundant
      except perhaps to import instances from ‘Foreign.C’
    To import instances alone, use: import Foreign.C()
   |
33 |
   | ^^^^^^^^^^^^^^^^
[12 of 22] Compiling Data.ABC.Internal.ABC ( /home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/Data/ABC/Internal/ABC.hs, interpreted )
[13 of 22] Compiling Data.ABC.Internal.Orphan ( /home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/Data/ABC/Internal/Orphan.hs, interpreted )
[14 of 22] Compiling Data.ABC.Internal.IO ( /home/sliedes/projects/aigmanip/abcBridge/.stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/Data/ABC/Internal/IO.hs, interpreted )

src/Data/ABC/Internal/IO.chs:31:1: warning: [-Wunused-imports]
    The import of ‘Foreign’ is redundant
      except perhaps to import instances from ‘Foreign’
    To import instances alone, use: import Foreign()
   |
31 |
   | ^^^^^^^^^^^^^^

src/Data/ABC/Internal/IO.chs:32:1: warning: [-Wunused-imports]
    The import of ‘Foreign.C’ is redundant
      except perhaps to import instances from ‘Foreign.C’
    To import instances alone, use: import Foreign.C()
   |
32 | -- abcReadAiger.c
   | ^^^^^^^^^^^^^^^^
[15 of 22] Compiling Data.ABC.Util    ( /home/sliedes/projects/aigmanip/abcBridge/src/Data/ABC/Util.hs, interpreted )
[16 of 22] Compiling Data.ABC.AIG     ( /home/sliedes/projects/aigmanip/abcBridge/src/Data/ABC/AIG.hs, interpreted )

/home/sliedes/projects/aigmanip/abcBridge/src/Data/ABC/AIG.hs:242:10: warning: [-Wmissing-methods]
    • No explicit implementation for
        ‘AIG.writeAigerWithLatches’
    • In the instance declaration for ‘AIG.IsAIG Lit AIG’
    |
242 | instance AIG.IsAIG Lit AIG where
    |          ^^^^^^^^^^^^^^^^^
[17 of 22] Compiling Data.ABC.GIA     ( /home/sliedes/projects/aigmanip/abcBridge/src/Data/ABC/GIA.hs, interpreted )

/home/sliedes/projects/aigmanip/abcBridge/src/Data/ABC/GIA.hs:79:1: warning: [-Wdeprecations]
    Module ‘Data.ABC.AIG’:
      The Data.ABC.AIG module has known bugs (http://github.com/GaloisInc/abcBridge/issues/4) for which solutions do not currently exist.  Consider using Data.ABC.GIA instead.
   |
79 | import qualified Data.ABC.AIG as AIG
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/home/sliedes/projects/aigmanip/abcBridge/src/Data/ABC/GIA.hs:208:15: warning: [-Wdeprecations]
    In the use of ‘writeAIGManToCNFWithMapping’
    (imported from Data.ABC.AIG):
    "The Data.ABC.AIG module has known bugs (http://github.com/GaloisInc/abcBridge/issues/4) for which solutions do not currently exist.  Consider using Data.ABC.GIA instead."
    |
208 |       vars <- AIG.writeAIGManToCNFWithMapping pMan f
    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/home/sliedes/projects/aigmanip/abcBridge/src/Data/ABC/GIA.hs:221:10: warning: [-Wdeprecations]
    In the use of ‘checkSat'’ (imported from Data.ABC.AIG):
    "The Data.ABC.AIG module has known bugs (http://github.com/GaloisInc/abcBridge/issues/4) for which solutions do not currently exist.  Consider using Data.ABC.GIA instead."
    |
221 |         (AIG.checkSat' pp)
    |          ^^^^^^^^^^^^^
[18 of 22] Compiling Data.ABC         ( /home/sliedes/projects/aigmanip/abcBridge/src/Data/ABC.hs, interpreted )

/home/sliedes/projects/aigmanip/abcBridge/src/Data/ABC.hs:47:1: warning: [-Wdeprecations]
    Module ‘Data.ABC.AIG’:
      The Data.ABC.AIG module has known bugs (http://github.com/GaloisInc/abcBridge/issues/4) for which solutions do not currently exist.  Consider using Data.ABC.GIA instead.
   |
47 | import Data.ABC.AIG (AIG)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^

/home/sliedes/projects/aigmanip/abcBridge/src/Data/ABC.hs:48:1: warning: [-Wdeprecations]
    Module ‘Data.ABC.AIG’:
      The Data.ABC.AIG module has known bugs (http://github.com/GaloisInc/abcBridge/issues/4) for which solutions do not currently exist.  Consider using Data.ABC.GIA instead.
   |
48 | import qualified Data.ABC.AIG as AIG
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/home/sliedes/projects/aigmanip/abcBridge/src/Data/ABC.hs:55:15: warning: [-Wdeprecations]
    In the use of type constructor or class ‘Lit’
    (imported from Data.ABC.AIG):
    "The Data.ABC.AIG module has known bugs (http://github.com/GaloisInc/abcBridge/issues/4) for which solutions do not currently exist.  Consider using Data.ABC.GIA instead."
   |
55 | type AIGLit = AIG.Lit
   |               ^^^^^^^

/home/sliedes/projects/aigmanip/abcBridge/src/Data/ABC.hs:62:28: warning: [-Wdeprecations]
    In the use of type constructor or class ‘AIG’
    (imported from Data.ABC.AIG):
    "The Data.ABC.AIG module has known bugs (http://github.com/GaloisInc/abcBridge/issues/4) for which solutions do not currently exist.  Consider using Data.ABC.GIA instead."
   |
62 | aigNetwork :: Proxy AIGLit AIG
   |                            ^^^

/home/sliedes/projects/aigmanip/abcBridge/src/Data/ABC.hs:63:14: warning: [-Wdeprecations]
    In the use of ‘proxy’ (imported from Data.ABC.AIG):
    "The Data.ABC.AIG module has known bugs (http://github.com/GaloisInc/abcBridge/issues/4) for which solutions do not currently exist.  Consider using Data.ABC.GIA instead."
   |
63 | aigNetwork = AIG.proxy
   |              ^^^^^^^^^

/home/sliedes/projects/aigmanip/abcBridge/src/Data/ABC.hs:85:50: warning: [-Wdeprecations]
    In the use of type constructor or class ‘AIG’
    (imported from Data.ABC.AIG):
    "The Data.ABC.AIG module has known bugs (http://github.com/GaloisInc/abcBridge/issues/4) for which solutions do not currently exist.  Consider using Data.ABC.GIA instead."
   |
85 | readAigerAsAIG :: FilePath -> IO (Network AIGLit AIG)
   |                                                  ^^^

/home/sliedes/projects/aigmanip/abcBridge/src/Data/ABC.hs:86:18: warning: [-Wdeprecations]
    In the use of ‘readAiger’ (imported from Data.ABC.AIG):
    "The Data.ABC.AIG module has known bugs (http://github.com/GaloisInc/abcBridge/issues/4) for which solutions do not currently exist.  Consider using Data.ABC.GIA instead."
   |
86 | readAigerAsAIG = AIG.readAiger
   |                  ^^^^^^^^^^^^^
[19 of 22] Compiling Tests.Basic      ( /home/sliedes/projects/aigmanip/abcBridge/tests/Tests/Basic.hs, interpreted )
[20 of 22] Compiling Tests.Operations ( /home/sliedes/projects/aigmanip/abcBridge/tests/Tests/Operations.hs, interpreted )
[21 of 22] Compiling Tests.QBF        ( /home/sliedes/projects/aigmanip/abcBridge/tests/Tests/QBF.hs, interpreted )
[22 of 22] Compiling Main             ( /home/sliedes/projects/aigmanip/abcBridge/tests/abc-test.hs, interpreted )

/home/sliedes/projects/aigmanip/abcBridge/tests/abc-test.hs:34:43: warning: [-Wdeprecations]
    In the use of ‘aigNetwork’ (imported from Data.ABC):
    "The Data.ABC.AIG module has known bugs (http://github.com/GaloisInc/abcBridge/issues/4) for which solutions do not currently exist.  Consider using Data.ABC.GIA instead."
   |
34 |     [ testGroup "AIG basic" $ basic_tests ABC.aigNetwork
   |                                           ^^^^^^^^^^^^^^

/home/sliedes/projects/aigmanip/abcBridge/tests/abc-test.hs:35:45: warning: [-Wdeprecations]
    In the use of ‘aigNetwork’ (imported from Data.ABC):
    "The Data.ABC.AIG module has known bugs (http://github.com/GaloisInc/abcBridge/issues/4) for which solutions do not currently exist.  Consider using Data.ABC.GIA instead."
   |
35 |     , testGroup "AIG operations" $ op_tests ABC.aigNetwork
   |                                             ^^^^^^^^^^^^^^
Ok, 22 modules loaded.

<interactive>:1:1: warning: [-Wdeprecations]
    Module ‘Data.ABC.AIG’:
      The Data.ABC.AIG module has known bugs (http://github.com/GaloisInc/abcBridge/issues/4) for which solutions do not currently exist.  Consider using Data.ABC.GIA instead.
Loaded GHCi configuration from /tmp/haskell-stack-ghci/8dd86d40/ghci-script
*Main Data.ABC Data.ABC.AIG Data.ABC.GIA Data.ABC.Internal.ABC Data.ABC.Internal.ABCGlobal Data.ABC.Internal.AIG Data.ABC.Internal.CEC Data.ABC.Internal.CNF Data.ABC.Internal.FRAIG Data.ABC.Internal.Field Data.ABC.Internal.GIA Data.ABC.Internal.GiaAig Data.ABC.Internal.IO Data.ABC.Internal.Main Data.ABC.Internal.Orphan Data.ABC.Internal.VecInt Data.ABC.Internal.VecPtr Data.ABC.Util Tests.Basic Tests.Operations Tests.QBF> main
ABC Bridge
  AIG basic
    test_true:                OK
    test_false:               OK
    test_constant:            OK
      +++ OK, passed 100 tests.
    test_not:                 OK
      +++ OK, passed 100 tests.
    test_and:                 OK
      +++ OK, passed 100 tests.
    test_xor:                 OK (0.02s)
      +++ OK, passed 100 tests.
    test_mux:                 OK (0.02s)
      +++ OK, passed 100 tests.
    test_cec:                 OK
    test_aiger:               OK (0.52s)
    unfold_fold:              OK (0.12s)
      +++ OK, passed 100 tests.
    fold_unfold:              OK
    bad_aiger:                OK
    test_sat:                 OK
    aiger_twice:              OK
    aiger_eval:               OK
    lit_view:                 OK
  AIG operations
    test_bv:                  OK
      +++ OK, passed 100 tests.
    test_add:                 OK (0.03s)
      +++ OK, passed 100 tests.
    test_sub:                 OK (0.04s)
      +++ OK, passed 100 tests.
    test_mul:                 OK (0.13s)
      +++ OK, passed 100 tests.
    test_neg:                 OK (0.02s)
      +++ OK, passed 100 tests.
    test_lg2_down:            OK (0.05s)
      +++ OK, passed 100 tests.
    test_lg2_up:              OK (0.17s)
      +++ OK, passed 100 tests.
    test_clz:                 OK (0.34s)
      +++ OK, passed 100 tests.
    test_ctz:                 OK (0.35s)
      +++ OK, passed 100 tests.
  GIA basic
    test_true:                OK
    test_false:               OK
    test_constant:            OK
      +++ OK, passed 100 tests.
    test_not:                 OK
      +++ OK, passed 100 tests.
    test_and:                 OK
      +++ OK, passed 100 tests.
    test_xor:                 OK
      +++ OK, passed 100 tests.
    test_mux:                 OK
      +++ OK, passed 100 tests.
    test_cec:                 OK
    test_aiger:               OK (0.07s)
    unfold_fold:              OK (0.11s)
      +++ OK, passed 100 tests.
    fold_unfold:              OK
    bad_aiger:                OK
    test_sat:                 OK
    aiger_twice:              OK
    aiger_eval:               OK
    lit_view:                 OK
  GIA operations
    test_bv:                  OK
      +++ OK, passed 100 tests.
    test_add:                 OK
      +++ OK, passed 100 tests.
    test_sub:                 OK
      +++ OK, passed 100 tests.
    test_mul:                 OK (0.01s)
      +++ OK, passed 100 tests.
    test_neg:                 OK
      +++ OK, passed 100 tests.
    test_lg2_down:            OK
      +++ OK, passed 100 tests.
    test_lg2_up:              OK (0.02s)
      +++ OK, passed 100 tests.
    test_clz:                 OK (0.03s)
      +++ OK, passed 100 tests.
    test_ctz:                 OK (0.03s)
      +++ OK, passed 100 tests.
  GIA QBF tests
    test_qbf_and:             /home/sliedes/.stack/programs/x86_64-linux/ghc-tinfo6-8.2.2/lib/ghc-8.2.2/bin/ghc: symbol lookup error: /tmp/ghc18257_0/libghc_5.so: undefined symbol: Abc_NtkMiterCofactor


Revert "java-backend/Z3Wrapper: throw exception on Z3 error + cleanup"

Reverts kframework/k#390
This PR intermittently fails tests on Mac OS. See https://office.runtimeverification.com/jenkins/blue/rest/organizations/jenkins/pipelines/k/branches/PR-393/runs/4/nodes/27/steps/65/log/?start=0
It's because of the int_min z3 declaration issue. Either make the basic z3 prelude the default, increase the z3 timeout enough that it consistently doesn't have this problem, or fix the underlying bug in the java backend involving z3 declarations.

@dwightguth Could you check the Z3 version on mac os? It should be 4.6.0. This is the most likely cause.


Add AdaptState view

Huh, so this compiles for xilem_html but not xilem. Need to investigate how AdaptState is different from Adapt such that the former works without Send bounds.


[Bug]: DAB CLI .env file not loading

What happened?
Running the following:
dab start -c "swa-db-connections\staticwebapp.database.config.json"
E:\Software\testapp>dab start -c "swa-db-connections\staticwebapp.database.config.json"
Information: Microsoft.DataApiBuilder 1.3.19
Information: User provided config file: swa-db-connections\staticwebapp.database.config.json
Loading config file from E:\Software\testapp\swa-db-connections\staticwebapp.database.config.json.
Deserialization of the configuration file failed during a post-processing step.
Message:
 Environmental Variable, DATABASE_CONNECTION_STRING, not found.

.env file at path "swa-db-connections.env"
DATABASE_CONNECTION_STRING=<actual connection sting here>
DAB_ENVIRONMENT=Development

config file:
"$schema": "https://github.com/Azure/data-api-builder/releases/latest/download/dab.draft.schema.json",
"data-source": {
  "database-type": "mssql",
  "connection-string": "@env('DATABASE_CONNECTION_STRING')",
  "options": {
    "set-session-context": false
  }

Version
1.3.19
What database are you using?
Azure SQL
What hosting model are you using?
Local (including CLI)
Which API approach are you accessing DAB through?
No response
Relevant log output

Code of Conduct

[x] I agree to follow this project's Code of Conduct

I found the error.... the documentation says "Create a file named .env in the same directory as your DAB CLI configuration files."
https://learn.microsoft.com/en-us/azure/data-api-builder/how-to-use-environments#create-environment-variables-file
Although its loaded from the folder where "dab start" is run.
so as above, need to "cd swa-db-connections" then run:
dab start -c "staticwebapp.database.config.json"
then the .env file load correctly.

I think the .env file needs to be in the working folder of the cli when calling it. Meaning if it is in /one you can change directory to /one then run dab start -c /two/config.json. I think.


Slow loading league badges

Hi,
Thanks for this wrapper, really useful. Only have one issue.
As soon as I include the league badges for player by setting values for League.class.php, the load time of the whole clanmembers list is extremely slow.
When I disable the images, it fast as lightning.
Using the most recent version of all files so it should already have the caching changes in it.
Any idea what could cause this?
Regards,
Ralph

Hello,
I think I know what's causing the issue. It's actually the same as to why loading the rank toplist was slow in #3 - I fixed it for clans, but forgot about Leagues (and Locations).
I'm currently heading back from school, expect an update later today or tomorrow - most likely today, tho. :)
I'll comment back on this issue after its fixed.

It's fixed, you have to change a small thing about your code, though.
Right now, you're passing the league ID to the constructor of the *League.class - now, you can also pass the league itself, preventing an additional request per member (which is what causes the slow page loading).
Right now, you're probably doing something like this:
$clan = new CoC_Clan("#22UCCU0J");

foreach ($clan->getAllMembers() as $member)
{
    $member = new CoC_Member($member);
    $league = new CoC_League($member->getLeagueId());

   echo "getLeagueIcon("small") . "\">";
}

Now, with the latest commit I pushed, you can do it like this:
$clan = new CoC_Clan("#22UCCU0J");

foreach ($clan->getAllMembers() as $member)
{
    $member = new CoC_Member($member);
    $league = new CoC_League($member->getLeague()); //call getLeague(), not getLeagueId()

   echo "getLeagueIcon("small") . "\">";
}

Sorry for forgetting about Leagues and Locations while fixing it for clans. :stuck_out_tongue:
I hope it works for you now!

Brilliant! Was looking into that part but couldn't wrap my finger around it. It will save supercell a lot of server requests now 😀
Works fast and clean now!
http://dutchbros.tk if you are interested to see my use of your wrapper! (Work in progress)


Add functionality to get extra files from the server

Add a function(s) to get extra - outside of $PGDATA - files / directories (recursive)

I am attempting to create a function pgmoneta_ext_get_files(). Which of the following ideas is needed:

SELECT pgmoneta_ext_get_files(); - Return a default directory or a set of specific files
SELECT pgmoneta_ext_get_files('/path/to/directory'); - Return the files within the specified directory

Yes, you need a comma separated list with
/path/to/file
/path/to/directory/*
/path/to/directory/** -- recursive

There is no default for this

So after using SELECT pgmoneta_ext_get_files('/path/to/dir');, the return value would be something like:
postgres=> SELECT pgmoneta_ext_get_files('/path/to/dir');
pgmoneta_ext_get_files
----------------------
 /path/to/file1, /path/to/file2, /path/to/dir1/file1, /path/to/dir1/file2, /path/to/dir2/file1, /path/to/dir2/file2
(1 row)

I think that should fail since it isn't specific.
Your example should be specified as
extra = /path/to/file1, /path/to/file2, /path/to/dir1/*, /path/to/dir2/*

and the result would be the bytes of the all the files.
So, people would something like
extra = /home/postgres/configuration/**

in order to include the configuration as well in the backup. Of course the user need to have access to the files...

You have to think about how the files will "translate" into the backup directory under extra/ - maybe the same path under there ?

So after this function is called, the files and directories will be copied into the backup directory under extra/. The return value would be the total bytes of all the files.

Yeah, you can do it like that.
I think you need to do the development on both core and ext at the same time in order to figure out the best solution.
Remember to take table spaces into account...


IllegalArgumentException: "Invalid ref...", while having attribute with the same name in different 'components' sections

Hello! Thanks for the nice util, but I faced one problem that doesn't make me possible to use this. I have the following API definition sections:
components:
  parameters:
    gender:
      name: gender
      description: Customer gender
      in: query
      schema:
        $ref: '#/components/schemas/Gender'
  schemas:
    Gender:
      type: string
      enum:
      - MALE
      - FEMALE
      - NOT_SPECIFIED

And the comparision of versions fails with the following exception:
java.lang.IllegalArgumentException: Invalid ref: #/components/schemas/Gender
	at com.qdesrame.openapi.diff.utils.RefPointer.getRefName(RefPointer.java:69) ~[openapi-diff-1.2.0.jar:na]
	at com.qdesrame.openapi.diff.utils.RefPointer.resolveRef(RefPointer.java:20) ~[openapi-diff-1.2.0.jar:na]
	at com.qdesrame.openapi.diff.compare.ParametersDiff.diff(ParametersDiff.java:46) ~[openapi-diff-1.2.0.jar:na]
	at com.qdesrame.openapi.diff.compare.OperationDiff.diff(OperationDiff.java:34) ~[openapi-diff-1.2.0.jar:na]
	at com.qdesrame.openapi.diff.compare.PathDiff.diff(PathDiff.java:31) ~[openapi-diff-1.2.0.jar:na]
	at com.qdesrame.openapi.diff.compare.PathsDiff.lambda$diff$2(PathsDiff.java:53) ~[openapi-diff-1.2.0.jar:na]
	at java.util.LinkedHashMap$LinkedKeySet.forEach(LinkedHashMap.java:559) ~[na:1.8.0_191]
	at com.qdesrame.openapi.diff.compare.PathsDiff.diff(PathsDiff.java:36) ~[openapi-diff-1.2.0.jar:na]
	at com.qdesrame.openapi.diff.compare.OpenApiDiff.compare(OpenApiDiff.java:92) ~[openapi-diff-1.2.0.jar:na]
	at com.qdesrame.openapi.diff.compare.OpenApiDiff.compare(OpenApiDiff.java:66) ~[openapi-diff-1.2.0.jar:na]
	at com.qdesrame.openapi.diff.OpenApiCompare.fromSpecifications(OpenApiCompare.java:99) ~[openapi-diff-1.2.0.jar:na]
	at com.qdesrame.openapi.diff.OpenApiCompare.fromContents(OpenApiCompare.java:42) ~[openapi-diff-1.2.0.jar:na]
	at com.qdesrame.openapi.diff.OpenApiCompare.fromContents(OpenApiCompare.java:30) ~[openapi-diff-1.2.0.jar:na]

I suppose that this happening because of my parameters and schemas sections have attributes with the same name.

Sorry, I guess this was my mistake, that's not about having different components in different sections, that error was because of me referencing schemas component from /get parameters section instead of referencing the parameters

Hi @NikitaMarushkai, thanks for the issue. It seems that your behavior is still a bug, could you give me a complete example ?

Also, you should try with the version 2.0.0-SNAPSHOT. A lot of bugs are fixed :smile:

Also, you should try with the version 2.0.0-SNAPSHOT. A lot of bugs are fixed

Hi there! Is this version have a build, deployed somewhere or should I build a jar by myself?

In details, this happened due to the following spec:
some/method:
  get:
    parameters:
      - $ref: '/components/schemas/Gender'

The validation of this schema by your tool fails with the exception, which I mentioned above.
But if i change this to:
some/method:
  get:
    parameters:
      - $ref: '/components/parameters/Gender'

It passes validation fine, but I'm not sure that this should be treated as a bug, because as it is showed up, my swagger can't render this field in the web view as well.

Ok, i understand ! Thank you ! :+1:
So, you're right, not a bug !


Post streaming keynote

please proof read and merge. Thanks

Please trigger a redeploy, again. Thanks!


Update Generic Pages “about”

Automatically generated by Netlify CMS

👷 Deploy Preview for shiny-babka-998c7e processing.

Name
Link

🔨 Latest commit
55cf3aa4ec95fce994d891c383b710105a01ec5e

🔍 Latest deploy log
https://app.netlify.com/sites/shiny-babka-998c7e/deploys/6436ca1f9096a200082f90f0


Add a maintenance Label to all Repos so that we can tag maintenance work that needs to be done.

Created https://github.com/openedx/terraform-github/pull/44 for the automation for this.

The bot already makes the labels consistent across repos: https://github.com/openedx/openedx-webhooks-data/blob/main/labels.yaml

@nedbat it seemed like that bot would only make labels on repos that have webhooks triggered on them for PRs and I wasn't sure if it would create them on repos that have not had PRs, did I mis-read that?

No, you are right about that.

This is done every repo in openedx now has a 🛠 maintanance label.


Literary Search/Delimitation

Wrote 2 subchapters:

[ ] Why are we not including literary search - still worth maybe including a literary search template in the appendices.
[ ] Why are we covering only part of the aFRR flow.

looks gut

should this be closed?


Icevision downgrades Torch

🐛 Bug
Installing Icevision downgrades Torch
pip install icevision always downgrades a current torch install because torch is at 1.11.0.
To Reproduce
Steps to reproduce the behavior:

conda install torch using (https://pytorch.org/get-started/locally/)
pip install icevision

Expected behavior
icevision should not need to downgrade torch, pillow and torchvision.

Thank you for raising this @ricpruss! We are working on an update soon! :)


New Version of Workloads Extension

This checklist is used to make sure that common guidelines for a pull request are followed.
Related command
This contains the changes related to new version for Workloads extension. This has all the commands starting with 'az workloads'
General Guidelines

[X] Have you run azdev style <YOUR_EXT> locally? (pip install azdev required)
[ ] Have you run python scripts/ci/test_index.py -q locally? (pip install wheel==0.30.0 required)
[ ] My extension version conforms to the Extension version schema

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

Thank you for your contribution! We will review the pull request and get back to you soon.

please fix the ci


Release Google.Cloud.Bigtable.Admin.V2 version 2.3.0

Changes in this release:

Commit 532b6ae:

feat: Update BigtableTableAdmin GetIamPolicy to include the additional binding for Backup.
feat: Change DeleteAppProfileRequest.ignore_warnings to REQUIRED.

Created release for Google.Cloud.Bigtable.Admin.V2-2.3.0


merge: dev to stage

merge: dev to stage

:tada: This PR is included in version 0.27.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


icmp-responder-nse-1 fails with UnexpectedAdmissionError

Expected Behavior
icmp-responder-nse-1 restarts on UnexpectedAdmissionError
Current Behavior
icmp-responder-nse-1 pod fails with UnexpectedAdmissionError
Failure Information (for bugs)
  Warning  FailedScheduling          26s   default-scheduler     0/2 nodes are available: 1 node(s) didn't match node selector, 2 Insufficient networkservicemesh.io/socket.
  Normal   Scheduled                 20s   default-scheduler     Successfully assigned default/icmp-responder-nse-1 to kube-master
  Warning  UnexpectedAdmissionError  20s   kubelet, kube-master  Update plugin resources failed due to rpc error: code = Unavailable desc = transport is closing, which is unexpected.

Steps to Reproduce

Break nsmdp Allocate function with return or os.Exit
Start nsmgr
Start icmp-responder-nse-1

Context

Kubernetes Version: v1.14.1

Issue in kubernetes tracker: https://github.com/kubernetes/kubernetes/issues/70010


feat(ingest/bigquery): Add query job retries for transient errors

Query jobs sometimes fail with transient errors like
 400 GET https://bigquery.googleapis.com/bigquery/v2/projects/<>queries/<>?maxResults=0&location=US&prettyPrint=false: The job encountered an error during execution. Retrying the job may solve the problem. Location: US Job ID: <> --

This is a known issue that the bigquery client currently does not handle. See https://github.com/googleapis/python-bigquery/issues/23
Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
[ ] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub

@coderabbitai summary


[test-only]Api test. check that link or share exist for space members

Members of the project space should be able to see public link or share resourses
added api tests
created bug #4347 and failed tests moved to expected failures

note: I could not add tests for: check that folder contains link because there were difficulties in getting folderID (should hard parsing xml). I've marked it as a technical debt

:boom: Acceptance test localApiTests-apiSpaces-ocis failed. Further test are cancelled...


[FEATURE] kumi::fold_left/kumi::fold_right to have no init versions. kumi::reduce

Was looking for kumi::reduce. There was none. Took some time to figure it's fold_left/fold_right.
They require init. I don't have one. You don't need init if you tuple is not empty - let's have no init overloads.

Also balanced reduction can be awfully nice! (fold_balanced?)
Smth like: https://github.com/jfalcou/eve/blob/d75ab0f23e472bfe04f406aeb5b7e0e90671a574/include/eve/module/algo/algo/array_utils.hpp#L54-L58

Recent code in kyosu showed we do need that.
sampl implem
return kumi::sum( kumi::extract(t,kumi::index<1>), get<0>(t));

@DenisYaroshevskiy I think no init fold means the operation you do on your values are limited cause the 1st value never got passed to any function, right ?
For the balanced one, it can be fold and it is a great idea

Meanwhile, I'll push a PR that no-init all the named reduction

Why isn't it past?


Plugin should not run against explain queries, which cause an error

I also made it so the "Tables used by this query" header is not shown for queries like select 1 that do not use any tables.