Modal not dispalyed

Hi. I am new in Yii. I followed the installation guide. I changed my controller action. But I can't catch the following:
<?php
use karnbrockgmbh\modal\Modal;

Modal::begin([
    'id' => 'createCompany',
    'url' => Url::to(['/partner/default/create']), // Ajax view with form to load
    'ajaxSubmit' => true, // Submit the contained form as ajax, true by default
    // ... any other yii2 bootstrap modal option you need
]);
Modal::end();

What does it mean:  //Ajax view with form to load?
Is 'create' in '/partner/default/create' a standard create view (CRUD generated).
Should I create a new View and place this code inside it? How then to call it?
I tried to replace code inside View.php or Create.php (standard CRUD generated) but after click on Create button(inside controller/index) I have just a blank page and no Modal.

So, I understood it should be a separate View. But anyway I can't see a form inside a Modal. Even after changes in js file suggested in #3...

I placed everything inside my project. It works. Data is storing in DB but Modal window is not hidden after submit. Is it correct? Should I hide it by myself in kbModalSubmit event? Or smth wrong?


gatkq: return key in response

GATKQ was incorrectly mapped to GAT instead of GATK in binary protocol
handling and thus didn't return a key in the response.  Fixed that and added
test cases for GAT, GATQ, GATK and GATKQ in testapp.
Noticed this while testing a new memcahe client library, OMcache:
https://github.com/saaros/omcache/

thanks! guess the perl tests missed GATK as well. pushed to 'next'

thanks! guess the perl tests missed GATK as well. pushed to 'next'


Generated client is not compatible with exactOptionalPropertyTypes

Bug description
exactOptionalPropertyTypes has TypeScript apply stricter rules around the handling of optional properties - specifically when enabled optional properties are considered to only be allowed to be missing rather than explicitly undefined. e.g.
interface Options {
  myProp?: string;
}

declare const doSomething: (options: Options) => void;

doSomething({}); // fine
doSomething({ myProp: '' }); // fine
doSomething({ myProp: undefined }); // error if `exactOptionalPropertyTypes` is enabled

https://www.typescriptlang.org/tsconfig#exactOptionalPropertyTypes
If undefined is allowed, it needs to be explicitly defined as part of the type:
interface Options {
  myProp?: string | undefined;
}

declare const doSomething: (options: Options) => void;

doSomething({ myProp: undefined }); // fine 🎉

Currently it seems like the generated Prisma client is not correctly typed when this flag is enabled based on this code:
const fetchProblems = async (
  { id }: Branch,
  ids?: number[]
): Promise<Problem[]> => {
  const auditables = await db.auditable.findMany({
    where: { branch: { id }, id: { in: ids } },
    select: { problems: true }
  });

  return auditables.flatMap(a => a.problems);
};

This code appears to work fine at runtime but errors if I have exactOptionalPropertyTypes enabled due to the type being:
/**
 * Auditable findMany
 */
export type AuditableFindManyArgs = {
  /**
   * Filter, which Auditables to fetch.
   */
  where?: AuditableWhereInput;
};

export type AuditableWhereInput = {
  id?: IntFilter | number;
};

export type IntFilter = {
  equals?: number;
  in?: Enumerable<number>; // <- this needs to be `| undefined`
  notIn?: Enumerable<number>;
  lt?: number;
  lte?: number;
  gt?: number;
  gte?: number;
  not?: NestedIntFilter | number;
};

(I've omitted surrounding types for brevity)
I don't know if every optional property in the client can accept an explicit undefined, but couldn't find any previous issues about exactOptionalPropertyTypes so am opening this as a general one. Overall I expect resolving this will need to be an incremental effort.
I'm happy to help out with this too :)
How to reproduce

Setup a Prisma TypeScript project
Enable exactOptionalPropertyTypes in tsconfig.json
Generate Prisma client
Attempt to pass explicit undefined values to the client

Expected behavior
No compiler errors
Prisma information

datasource db {
  provider = "sqlite"
  url      = env("DATABASE_URL")
}

generator client {
  // WebStorm only properly indexes packages that are defined as actual dependencies
  // in the projects package.json & lock, so we output the client within the
  // @prisma/client package so that the types can be properly resolved
  output   = "../node_modules/@prisma/client/generated"
  provider = "prisma-client-js"
}

model Branch {
  id         Int         @id @default(autoincrement())
  createdAt  DateTime    @default(now())
  updatedAt  DateTime    @updatedAt
  name       String
  auditables Auditable[]
}

model Auditable {
  id        Int       @id @default(autoincrement())
  createdAt DateTime  @default(now())
  updatedAt DateTime  @updatedAt
  branch    Branch    @relation(fields: [branchId], references: [id])
  branchId  Int
  problems  Problem[]
}

model Problem {
  id          Int       @id @default(autoincrement())
  createdAt   DateTime  @default(now())
  updatedAt   DateTime  @updatedAt
  auditable   Auditable @relation(fields: [auditableId], references: [id])
  auditableId Int
}

Environment & setup

OS: Ubuntu 18.04 (via WSLv1, Windows 10)
Database: SQLite
Node.js version: v16.13.1

Prisma Version
Environment variables loaded from .env
prisma                  : 3.6.0
@prisma/client          : 3.6.0
Current platform        : debian-openssl-1.1.x
Query Engine (Node-API) : libquery-engine dc520b92b1ebb2d28dc3161f9f82e875bd35d727 (at<EMAIL_ADDRESS>Migration Engine        : migration-engine-cli dc520b92b1ebb2d28dc3161f9f82e875bd35d727 (at<EMAIL_ADDRESS>Introspection Engine    : introspection-core dc520b92b1ebb2d28dc3161f9f82e875bd35d727 (at<EMAIL_ADDRESS>Format Binary           : prisma-fmt dc520b92b1ebb2d28dc3161f9f82e875bd35d727 (at<EMAIL_ADDRESS>Default Engines Hash    : dc520b92b1ebb2d28dc3161f9f82e875bd35d727
Studio                  : 0.440.0

@G-Rath Looks like I'm experiencing the same problem and having to consider turning off exactOptionalPropertyTypes. Know of any workarounds that allow me to keep this recommended option turned on for our project?
"@prisma/client": "^4.2.1"
"prisma": "^4.2.1"

The only real workaround I can think of would be to edit the types directly - you might be able to get away with a general "find and replace" kind of script that you just add to for each property/type as you need to.
You also might be able to patch the generator itself (which you could then use patch-package to automatically apply on install).
Overall I actually think adding the explicit undefined will be fine in most (if not all) cases, but we really need the engagement from someone on the Prisma team first to get sorted (though maybe opening an initial PR is the way to get that 🤷)

I would also like to enable this for my project and am running into the same issue (it's also going to be a required flag for another library I'd like to use). If Prisma handles undefined and a value not being present the same way underneath the hood, this should be as simple as explicitly including undefined in the types.

any updates?

There's an open PR to add support for this. Is there a reason it can't be?

Any updates?

Is this fixed? 5.20 release notes seem to imply it was at some point?


BigQuery ML Models API

Expose the BigQuery models API. It should implement get, list, update, delete operations, but does not direct model creation, as a CREATE MODEL query is how a new ML model is created.
Python implementation
Go implementation
Node implementation

This has landed in our latest release: https://github.com/googleapis/google-cloud-php/releases/tag/v0.106.0


Encoding question

Sorry to bother you again, and for the dumb question too; but is there a way to have the encoding supported for other languages? I was testing translations in my native language - which makes a lot of use of commas and accents -  however, when executed the letters are always distorted since the format is not supported

When you say distorted, is it in game or in deepLuna? To which language are you translating?
The encoding is UTF-8, which should include most of usual characters from many languages.

In the game, I'm translating to portuguese.

Would it be a font issue then? Is there a way to solve/change it somehow?

Unfortunately, this is a very complex issue, called kerning: this has to do that in Japanese, all letters have the same width while this is not the case in many other languages. This will mess up the width of letters and in particular when there are special characters.
We couldn't solve this problem in our team for the moment, and we played with fonts - this is what I would recommend you to do also, maybe you can mitigate a bit the problem with this.

I see, thank you! It shed some light on that question at least!

The best thing to do is to change some kanjis to look like your regional letters in the font, and use them instead of those letters. Kanjis have the same width as normal letters I believe. This is screenshot from the game with font that supports regional letters, but you can see that they take more space.

Thank you man, I'm going to try that!

I tried what I described but it's not working. Every character that is more than 2 bytes renders wider, including kanjis.

There is need to check every symbols and how they render. For now only $%&_~[]\ seem to be replaceable.

Works now perfectly for polish, but I think portuguese have more letters that need to be inserted. In this case, you can sacrifice numbers and write them with words. (or move them to kanji section, they will look different but it would be necessary for letters).
In red I shown which symbols you can swap with letters. The rest are needed for game code to work, or take double space.


move transactions into version specific module

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

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

What is the current behavior?

Issue Number: N/A
What is the new behavior?

Does this introduce a breaking change?

[ ] Yes
[ ] No

Other information

Current dependencies on/for this PR:

main

PR #829

PR #830

PR #831

PR #832   👈

This comment was auto-generated by Graphite.


How much time taken for training of 2D dataset?

In your paper, you mentioned about 50 epochs for 2D dataset.
I didn't find out about training and testing time.
So, could you tell me where is that part of the paper (may be I oversight) or could you answer me here?

I have same question but in different way, what was the final loss value of the model on best epoch? i need to compare my training pipeline and estimate how many epochs i need for training. if the log of main paper training is available it will help a lot. thank you.

How to continue training After stop it (After Ctrl+C )

@mghayour @Wuwenji18
When you train the model, how much time taken for 1 Epoch for how much dataset size? Could you share your experiments when training?  Is it taken for days?


Effective Utilization of collected resources - “Excess/Need” in column Relief Camp Screen for each ‘Camp’ (Camp specific requirements)

Subject of the issue
Add new column Relief Camp Screen for ‘Camp’ specific requirements.
It should show “Excess/Need” . This is for Effective Utilization of collected resources
Now some of the Relief camps are overloaded with resources(food/materials etc..). But other side, we don’t have  enough items in certain camps ,as per social media comments/Lives.  Let’s effectively utilize the resources by sharing it between camps . So it will be better if we add one more column in Relief Camp Screen.  Column Name: “Excess/Need”
Let’s publish excess items in the camp along with needed items for each camp. It will help the coordinators /public in the camps to help each other internally to manage the needs, if both camps are nearby.
Also nearby people can help the Relief camp, if they know the camp specific requirements.
This will help the people to make effective contribution based on necessity.
Your environment

version of your python:Python 3.7.0
which browser and its version : Chrome 68.0.3440.106
OS Type (iOS/Android/Linux/Windows): WINDOWS 10

Steps to reproduce

Enter following URL  Browser : https://keralarescue.in/

Navigate to ‘Relief Camp’ Screen

Display in contents with Necessary info of Registered Requests
https://keralarescue.in/relief_camps/?district=koz

Expected behaviour
Now Camp details  shows ‘District’,’ Camp Name’,’ Address’,’ Contact Numbers’& ‘Registrations’
Camp specific requirements should be available in the screen .
Actual behaviour
Now Camp row shows ‘District’,’ Camp Name’,’ Address’,’ Contact Numbers’& ‘Registrations’
Now we don’t have Camps specific requirements in the ‘Relief Camp’ screen .

Related to #423, #348, #325

Related to #423, #348, #325

Hi @AkkoliPottammal , I'm thinking of working on this issue.
Just to confirm if I understand the issue correctly, the requirement is to add a new column in the "Relief Camps" screen called "Excess/Need".
In the backend (admin/mainapp/rescuecamp/), one more TextField will be added which will store the excess resources.
Am I correct in my assumptions?

Something like this?

In backend

@rajeevravindran Please consult with @naveenpf (on slack) before you start on this.
We also have this page to view entered data:
https://keralarescue.in/camp_requirements/

I've added the two columns to /camp_requirements endpoint as well.

Should I create a PR?

Not required

Modules are currently designed for IT mission requirements .

@naveenpf  @xaneem
This page has no data
https://keralarescue.in/camp_requirements/
How can I enter details about Camp specific details ??? Excess/ needed items specific camps
Through "back end" or "front end" ?
[Please Reply - URGENT]
NB : We have data in Excel sheet. How to feed to DB now??????

Yes. Got it.
https://keralarescue.in/add_camp_data/

This page has no data
https://keralarescue.in/camp_requirements/
How can I enter details about Camp specific details ??? Excess/ needed items specific camps
Through "back end" or "front end" ?


Files are not opened in EN_INIT

The files f1 and f2 are not used in the function and are not opened at all.

I believe this issue has been resolved. Can we close it?

Yes, thank you.


Disable automatic acknowledgement

Adds functionality for disabling the automatic acknowledgement after handler execution.
This enables a user to have more fine-grained control over the acknowledgements.

Actually, I have a question.
There's already a concept on the ConsumeSettings:
https://github.com/bombsimon/amqp-rpc/blob/f512513c30a57b02e9297f07a8ccf68ff2721161/connection.go#L51
When using the default default settings for the server, this is always false:
https://github.com/bombsimon/amqp-rpc/blob/f512513c30a57b02e9297f07a8ccf68ff2721161/server.go#L116-L122
But for the client (which might be more reasonble) this is always true:
https://github.com/bombsimon/amqp-rpc/blob/f512513c30a57b02e9297f07a8ccf68ff2721161/client.go#L246-L253
The autoAck you implemented only does anything if the setting on the ConsumeSettings didn't take action (and was suppose to auto ack). The reason for this is that if a panic occurs (and is recovered by the middleware) the amqp.Channel will not ack (if it's set to auto ack).
So now I have a few questions. Is it really a good idea to introduce a new/different/yet another ack concept? What about just improve the settings interface (which we talked about) or just use the WithConsumeSettings available on both the client and the server and make it homogeneous?
s := NewServer(url).
    WithConsumeSettings({
        AutoAck: false,
    })

// ...

if !aac.IsHandled() && !s.consumeSettings.AutoAck {
    // ack for the user
}

Also I'm wondering, what happens to the deliveries on the server today since we don't have the auto ack in the same way we do on the client? Is this a bug?

@akarl Yeah I think I understand everything now and when I read the code again I see that we set AutoAck to false on the server but then we do this unconditional d.Ack() with the AckAwareAcknowledger (until now with your fix). I thought it was something for panics but that's in the middleware:
https://github.com/bombsimon/amqp-rpc/blob/f512513c30a57b02e9297f07a8ccf68ff2721161/middleware/panic_recovery.go#L43-L45
Isn't this a bit weird behaviour? Sure, we achieve the "At Least Once Delivery" behaviour since we ensure to only ack after the handler, but we do it a bit greedy in my opinion. I think it would be a better idea to do nothing if auto ack is false (like today) and let RabbitMQ handle if it's true. We could then add a generic middleware handling the ack. The only problem is that the default amqp acknowledger is unaware of if it's been handled and that's why I made AckAwareAcknowledger. I'm not sure how we would expose the IsHandled() publicly unless we type cast the delivery.Acknowledger in the middleware or create a new interface. We need to change something to avoid circular dependencies either way.
You think this is a god idea or do you still want to use a separate condition/struct field for this?

This was my first thought, but that would break some backwards compatibility. Adding an included middleware for automatic acknowledgements would be an option. I'll see what I can come up with.

Sounds great but don’t over do it if you think this is sufficient!
Since the server always adds the AckAwareAcknowkedger to the delivery an idea would be to just do the IsHandled check in’s each ack/nack/reject function?

Since the server always adds the AckAwareAcknowkedger to the delivery an idea would be to just do the IsHandled check in’s each ack/nack/reject function?

We could do that, but I think that's a bit too magic. If the user want's that error, what then?

Yeah, true! I don’t even know what happens if you try to ack an acked message. :)
Just to keep writing (bad) ideas, another idea would be to add a field like AckAfterHandle and use that one just like you did but avoid introducing new (private) fields on the server.
I’m down for whatever but like you said, this should be up to the user to decide and handle!

Yeah, true! I don’t even know what happens if you try to ack an acked message. :)

You'll get an error with something like "unknown delivery tag"

Just to keep writing (bad) ideas, another idea would be to add a field like AckAfterHandle and use that one just like you did but avoid introducing new (private) fields on the server.

Yea that's almost the same thing as in the previous commit.

Check the updated diff, and tell me what you think. It breaks (a bit) of backwards compatibility because we go from at least once to at most once delivery (per default). Changing that would mean that the user should disable AutoAck and add a middleware or do it manually in their handlers.

I've removed the total-coverage check. I don't think it's helpful to fail because -0.1% anyway.

I've updated the Acknowledger, implemented the check for handled acks in the Ack middleware. Removed the Reject from PanicRecovery because it won't work when AutoAck is set.

I think this is the final one now! :) I didn't think of exposing the AckAwareAcknowledger because of circular dependencies but I'm stupid, the middleware won't be used from the amqp package so that won't happen. With that said, this is a nice addition!

Yea, sorry about that. Since the reason for this PR is to be able to give the user more control I wanted to make the middleware better as well.

I re-added the diff check but removed it as required. This way we can see the change but you should still be able to merge.

Oh noes, a new intermittent error in test. :(
=== RUN   TestServerReconnect
closed <IP_ADDRESS>:37364 -> <IP_ADDRESS>:5672
closed <IP_ADDRESS>:37366 -> <IP_ADDRESS>:5672
closed <IP_ADDRESS>:37368 -> <IP_ADDRESS>:5672
closed <IP_ADDRESS>:37370 -> <IP_ADDRESS>:5672
2019/08/28 14:48:27 client: got error: Exception (320) Reason: "CONNECTION_FORCED - Closed via management plugin", will reconnect in 0.5 second(s)
2019/08/28 14:48:27 server: got error: Exception (320) Reason: "CONNECTION_FORCED - Closed via management plugin", will reconnect in 0.5 second(s)
--- FAIL: TestServerReconnect (10.09s)
    server_test.go:148:
        	Error Trace:	server_test.go:148
        	Error:      	Received unexpected error:
        	            	request timed out
        	Test:       	TestServerReconnect

The latest commit removed all coverage on the retries for the Client. I'll see if I can fix that.


Weird SST2 dataset size

I've just reproduced this work and starting with the dataset named SST2.
I found that the size of SST2 in this paper is 6.9k, but the size of SST2 in GLUE paper is 69k.
I double checked this information, and the SST2 dataset distributed in this repository has 6.9k, but the SST2 dataset distributed in the huggingface datasets has 69k.
I think some kind of filtering is applied to this data.
Could you clarify what it is?
Thank you

I want to reproduce the performance of SST2 Fine-tuning(full) in Table 3.
In the caption, the size of dataset is described in Table B.1.
In the Table B.1., the size of SST2 train dataset is 6920.
When I downloaded the SST2 training data from huggingface datasets, the size of the dataset is around 69000, which is ten times larger than the dataset distributed in this repository.

Also, I am curious whether the Fine-tuning (full) is a traditional approach without template and label words.

Hi, thanks for the interest. The training set for SST-2 dataset that is commonly distributed by GLUE etc is separated into phrases. The dev and test sets are full sentences (note the equivalent sizes to ours). We use the original (unsplit) sentences, hence the order of magnitude size difference. This is the same as in https://github.com/openai/generating-reviews-discovering-sentiment, for example.
The fine-tuning (full) is the traditional approach.

Great. Thank you for clarifying the detail.


storage/volumes.md: 'Use a read-only volume' text refers to bind-mounts, should refer volumes

File: storage/volumes.md
The section "Use a read-only" volume currently starts with the following text:

For some development applications, the container needs to write into the bind mount so that changes are propagated back to the Docker host. At other times, the container only needs read access to the data.

I find this very confusing: the entire document is about volume, so bind mounts should not be mentioned in this context. If volumes are used, there is no such thing as 'changes' which 'are propagated back to the Docker host', especially if a storage driver other than 'local' is used.

Closing this ticket due to its age, and the impending refactor. If you think this is in error, feel free to reopen. Thanks!


Cannot add new routes to the endpoint router

Cannot use the AddEndpoint in the BuilderExtensions due to the use of the EndpointName enum.
Endpoints registered by:
public static IIdentityServerBuilder AddEndpoint<T>(this IIdentityServerBuilder builder, EndpointName endpoint) where T : class, IEndpoint {
  builder.Services.AddTransient<T>();
  builder.Services.AddSingleton(new EndpointMapping { Endpoint = endpoint, Handler = typeof(T) });

  return builder;
}

EndpointName is then registered using Constants.EndpointPathToNameMap:
public static readonly Dictionary<string, EndpointName> EndpointPathToNameMap

These are then used in the EndpointRouter to figure out the EndpointName from the path, and be matched back to the registered endpoint.
But you can't extend an enum, so endpoints outside of the OIDC spec cannot currently be registered.

@brockallen e.g. to add saml2p (or ws-fed) endpoints...we should discuss this for 2.0

Will this apply to ASP.NET Core 1.x too? Or do you want people to go the controller route for that?

We can do this for 2.0, but 1.x might be too much work... and it might technically be a breaking change.

Could we get some extra enum values for 1.x?

You have several: (EndpointName)(EndpointName.UserInfo+1) :)

Do we want to allow our endpoints to be replaced? e.g. /authorize, etc?

I think the outcome of our conversation was "no" that's not something we're trying to design for.


[Test-Proxy] Proxy exceptions should set a response header

If the proxy hits an exception, the error gets returned in the response body. Some libraries expect a specific shape for errors and will end up hitting an exception caused by the error parsing if the error response doesn't match this shape. It would be helpful to set a known response header similar to what we do for mismatch errors, so that the test framework can intercept these responses and throw an appropriate exception before returning control to the calling libraries.

@JoshLove-msft I will do the following.
When handling a mismatch exception, we add two headers

x-request-mismatch: true
x-request-mismatch-error: <base64 encoded string>

I will do the same for "generic" exceptions that are unhandled.

x-request-exception: true
x-request-exception-error: <base64 encoded string>

That sounds great!


Add instructions for adding root domain, with www. redirect to Cloudflare

Include detailed instructions on how to get both the root domain, and the www. subdomain redirecting to the route domain, with full SSL enabled.

@brody192, addressed feedback

Thanks for the updates, LGTM now!


Add regression based technique for calibrating k-mer counts

Closes #54. Translates k-mers into dinucleotide based feature vectors, and then trains a linear regression model on these feature vectors. The mean coverage and the residual for this k-mer are used to remove bias.

Frank, can you rebase again?

Sure; give me a min, need to resolve non-trivial merge conflicts...

No worries.  Take your time, ping me on gitter when you're ready.

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

LGTM -- thanks @fnothaft !


Script to convert pdf to text file (word document)

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Hi, @DhanushNehru , did you see my PR?


Madpack/ic func schema

IC/DC was prone to failure if the user were creating tables in the
madlib schema. This commit fixes the potential issue by removing the
madlib from the search path and adding the madlib_schema keyword for
every function, type and operator that is created by madlib.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/madlib-pr-build/690/

@orhankislal Since this is a really big change, could you please add more info in the commit on why this change is necessary and the best available solution?

1

@iyerr3 @jingyimei I'll put the following in the commit message before merging.
This commit fixes the following potential issue.

User deploys MADlib on the schema madlib1.
User creates a table named vertex in the madlib1 schema.
User runs install-check.
The install check creates a new role and a new schema for each module in the database.
The install check sets the search_path to madlib_installcheck_<module>, madlib1.
The graph IC calls DROP TABLE IF EXISTS vertex and fails because the vertex table does exist but it is not owned by the install-check role.

This commit removes the madlib installation schema from the search path so that it only uses its own schema. This means every madlib function call, type and operator has to be called directly using the madlib schema name.
One alternative solution is eliminating the drop table commands from the tests but that would require a very complicated refactoring work since most of the tests are written to reuse the same output table names. Another alternative is changing the drop table and create table commands to use the newly created test schema. However, this is very tricky to test; if a developer forgets to put the schema name, the test will still work unless she also creates a table of the same name in the madlib deployment schema.

Wouldn't we only need to remove the first drop table call? The subsequent
ones should pick the correct one, isn't it?
I like the convenience of not having to provide the schema name in the test
and am hoping for a cleaner solution.

One alternative solution is eliminating the drop table commands from the
tests but that would require a very complicated refactoring work since most
of the tests are written to reuse the same output table.

I agree this is not a great solution. Casting the operators makes it especially awkward to use. However, we have to consider the following case. If a module has multiple test files like graph and if they re-use the same table names like vertex, then we have to drop them before re-creating.

I agree, this is not a great solution. Casting the operators makes it especially awkward to use. However, we have to consider the following case. If a module has multiple test files like graph and if they re-use the same table names like vertex, then we have to drop them before re-creating.

You mean if there are multiple tests in a single file, then the 2nd test needs to drop the table created by the 1st test?
That drop statement should be ok since it will drop from the install-check schema and not from the madlib schema since we've already created a table in the install-check schema and it is first in the search path.
We could also schema qualify the first drop statement with the install-check schema name. This name can be put into a variable by the preprocessor and then used in the install-check. This would be less inconvenient since it will only be for the drop statements (and potentially only for the first drop statement).

@iyerr3 The install-check schema is by module, and we may have multiple files for one module.
For your proposed solution, what do you expect in the single source of table creation? Do you mean audit all the table creation and try to combine all the data into one big table and every sql just use the same table? For example, for pagerank and hits in graph module,  we only create one vertex and one edge table with all the special cases/data, and always use those two tables for all the sql files? Besides, how do we deal with some special test case when we only need 1 row/ few row in the table instead of a bigger table? Also in some DEV check we assert a specific sql returns a specific number of rows, and those assertion will fail because of the change of input table.
The other concern is that this solution requires lots of audition and changes in every sql file. Developers need to understand how to add new row in the single table creation file and how sql files under the same module work together with each other. For example, if someone wants to add a test case in HITS under graph, instead of adding a new case in hits sql file, he needs to go to another file and add table, and go back to hits sql file and add test case. It sounds a bit confusing and inconvenient to me.

I'm getting confused here, so maybe an example would help.
My understanding of @orhankislal 's comment was that say page_rank and bfs both use the same table called "vertex" then we will have to drop this table at the beginning of each of the test files. This may then collide with a user-created "vertex" table - hence this commit.
My suggestions to solve the problem:

Use a function-specific name ("pagerank_vertex") instead of a generic name with ("vertex") no drop by in the beginning.
Create a single "vertex" table (with no drop by statement) and use that for all graph functions
Schema-qualify the data table with the install-check schema name.

Please note I'm not suggesting pooling all install-check data into a single file (at least not as a solution to this problem).

Use a function-specific name ("pagerank_vertex") instead of a generic name with ("vertex") no drop by in the beginning.

This seems doesn't solve the potential conflict with user created table.

It does with the original suggestion of not dropping a newly created table the first time. That suggestion led to this discussion about same table name being reused and the need to drop table before create table (which should not actually be a problem - see end of comment).

Besides, in some IC/DC file we drop tables in between and create table with the same name again. In this case the second drop/creation will fail if user already created it.

No; the table created in install-check will be in the install-check schema and the subsequent drop will look inside that schema. The original issue is due to a drop table statement on a table that was not created in the file.

Create a single "vertex" table (with no drop by statement) and use that for all graph functions

This may cause some assertion based on returning number of records fail as I mentioned in the previous comment, and also needs effort of audition and combining test data.

If the data required in a table is different for different tests then we would benefit by giving it different names. This is a problem mostly in graphs where "vertex" and "edge" are re-used. These names are already vague and should ideally be renamed.

Schema-qualify the data table with the install-check schema name.

(not sure if I totally understand this) install-check schema is based on module, not algo, for example pagerank and hits and sssp use the same IC schema, and there will be issue between running two sql files for droping/creating same table.

Schema-qualifying was an alternative suggestion to avoid looking into the madlib schema. With the schema-qualification, we can drop the table just like we're doing now (so no conflicts between test files).
Also note: madpack is supposed to drop the file-specific schema after executing each file (see function _execute_per_module_install_dev_check_algo). Hence, common table names in independent tests within same module are not supposed to conflict with each other (if you've seen this happen then it requires investigation).
Finally, a guideline MADlib followed a few years ago was to not issue drop table statements in IC since all created tables are in a unique schema and will be dropped at end of test execution (I plead guilty of ignoring this guideline). This requires the names of data and output tables within a file to be unique - hopefully, we give such tables meaningful names so that we can identify the cause of a failure from the name.
In summary: I suggest we don't circumvent the original issue, rather fix it by giving meaningful names and avoiding drop table statements in IC/DC.

Also note: madpack is supposed to drop the file-specific schema after executing each file (see function _execute_per_module_install_dev_check_algo). Hence, common table names in independent tests within same module are not supposed to conflict with each other (if you've seen this happen then it requires investigation).

Oh, I see. The naming convention is somewhat strange. Under the modules folder, we have a bunch of folders (graph, etc.) but they are not actually modules, the individual sql files are. The madpack code uses the variable module for the folder name which further muddles the naming. This means madlib_installcheck_graph schema will be created and dropped for each module in graph. We might want to change it to reflect the actual module name.
I think the reused name issue might be more widespread than we think. I am pretty sure abalone and houses datasets are used in multiple modules.
I think removing the DROP TABLE statements might work as @iyerr3 suggested. I'll keep the PR open for now to keep the conversation open and start working on a different branch.

Another alternative is to integrate the madlib deployment into the IC/DC. What I mean is similar to how PostGIS runs its unit tests. IC/DC creates a temporary database/schema, deploys the MADlib over there, runs the tests as usual and then removes the temporary database/schema. This will inevitably increase the running time of IC/DC but I believe it will be more stable. Since we assume that the user might be using the madlib deployment schema, it is also possible that they drop and/or recreate UDTs, UDFs and UDAs. Our IC/DC does not account for a case like that and will probably fail.
It will also mean that a user can run IC/DC before they deploy it to their target database. I would assume most users are already using a similar workflow (temp database -> deploy MADlib -> run IC -> deploy MADlib on actual target)

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/madlib-pr-build/699/


Broken DOI for Kunze2006 in references

In the references section of the documentation, this doi link is broken. From my point of view, there is either a doi.org too much or a https:// too few. It can probably be adjusted quickly in docs/references.bib.
It is an error will absolutely negligible consequences, but I stumbled on it by accident.

Thanks @opinner !


Error trying to generate a single report using the newest beta version (0.8.0-Beta)

Describe the bug
I'm trying to use the latest Kover version since it has some great improvements around the single report approach and I'm facing this weird error when I'm trying to add a variant. Is that something inside the library or I might be missing some kind of configuration?
Errors
Caused by: kotlinx.kover.gradle.plugin.commons.KoverCriticalException: Kover error: An error occurred while executing before Kover finalize action
Please create an issue in Kover Gradle Plugin repository: https://github.com/Kotlin/kotlinx-kover/issues
	at kotlinx.kover.gradle.plugin.appliers.FinalizeKoverKt.finalizing(FinalizeKover.kt:35)
	at kotlinx.kover.gradle.plugin.KoverGradlePlugin$apply$2.invoke(KoverGradlePlugin.kt:35)
	at kotlinx.kover.gradle.plugin.KoverGradlePlugin$apply$2.invoke(KoverGradlePlugin.kt:33)
	at
....

Caused by: org.codehaus.groovy.runtime.metaclass.MissingMethodExecutionFailed: No signature of method: kotlinx.kover.gradle.plugin.appliers.KoverMergeKt$wrap$3.addWithDependencies() is applicable for argument types: (ArrayList, Boolean) values: [[debug, fastdevDebug], false]
Possible solutions: addWithDependencies([Ljava.lang.String;, boolean)
Caused by: groovy.lang.MissingMethodException: No signature of method: kotlinx.kover.gradle.plugin.appliers.KoverMergeKt$wrap$3.addWithDependencies() is applicable for argument types: (ArrayList, Boolean) values: [[debug, fastdevDebug], false]
Possible solutions: addWithDependencies([Ljava.lang.String;, boolean)

Code
I'm applying the plugin to my build.gradle file
    id("org.jetbrains.kotlinx.kover") version "0.8.0-Beta" apply true

and setting the config:
kover {
    merge {
        allProjects()
        createVariant("coverage") {
            it.addWithDependencies(["debug", "fastDebug"], false)
        }
    }
}

Environment

Kover Gradle Plugin version: 0.8.0
Gradle version: 8.2.0
Kotlin project type: Kotlin/Multiplatform + Android

Hi,
try this way
kover {
    merge {
        allProjects()
        createVariant("coverage") {
            it.addWithDependencies(["debug", "fastDebug"] as String[], false)
        }
    }
}

*an String array is expected, not a list

looks better, but for some reason doesn't find the variant I'm looking for:
A problem occurred configuring root project 'android'.
> Could not find the provided variant 'debug' to create a custom variant 'coverage'.
  Specify an existing 'jvm' variant or Android build variant name, or delete the merge.

even passing two variants, is it searching for only one?
removing the variant block (just to see what happens) gives me the same error over many modules:
> Task :feature:feature1:kaptDebugUnitTestKotlin
warning: The following options were not recognized by any processor: '[dagger.hilt.disableModulesHaveInstallInCheck,
dagger.fastInit, dagger.hilt.android.internal.disableAndroidSuperclassValidation, dagger.hilt.android.internal.projectType,
dagger.hilt.internal.useAggregatingRootProcessor, dagger.validateTransitiveComponentDependencies,
dagger.strictMultibindingValidation, dagger.hilt.disableCrossCompilationRootValidation, kapt.kotlin.generated]'

looks better, but for some reason doesn't find the variant I'm looking for:

is Android build variant debug in all projects of a build including root project?
If not, you should limit merged projects (e.g. by subprojects() instead of allProjects()) or add variant optionally
kover {
    merge {
        allProjects()
        createVariant("coverage") {
            it.add(["debug", "fastDebug"] as String[], true)
        }
    }
}

that worked, amazing!
thank you for the support!


SC2 screen message during training

Hi,
Can you please let me know how to get rid of or delete the message (CHEAT local player KillUnitTagBy..) that appears on the game screen during the training?
With many thanks

We dont have a clear answer for that. Please check with the original SMAC environment.


Error message: Failed to import block to chain

Description
hello
I am struggling with the error of "Failed to import block to chain".
and I found this closed issue: https://github.com/hyperledger/besu/issues/2899
I am not sure if it is the same problem, my network is still running and this error only showed 2 times in the past week.
(running on AWS)
I want to identify if this problem also belongs to issue #2899,
(then I can solve it with upgrade the version),
Or I have to do other research related to verifying the blockhash or something.
(want to know what's meaning of the error message below)
I'm sorry that I couldn't provide more environmental information because I am very fresh in this field.
If any advice that I can get to make a research direction, that will be really helpful.
Thank you in advance.
Software version: version:
Error message:
New chain head detected (block number=222781), currently mining on top of 222780.
Imported #222,781 / 0 tx / 0 om / 0 (0.0%) gas / (0x7a4116a9112ea24762ed30e4c6f65507b921038f82ea17d875adde79863b3388) in 0.000s. Peers: 16
Caching logs bloom for block 0x3663d.
Failed to import block to chain. block=222781 extraData=IbftExtraData[vanityData=0x0000000000000000000000000000000000000000000000000000000000000000,
seals=[SECP256K1.Signature{r=31067947231597307515973088086785511695430782653315401734983116471929184051551, s=41100377914765765404298290283756800917726635099840850440833293306229461546982, recId=1},
SECP256K1.Signature{r=47782506287434789985199491837321874102405210378675089875974341358627722049426, s=56477448400379054562010499330983298925376366053806129530627296595708347561354, recId=0},
SECP256K1.Signature{r=31067947231597307515973088086785511695430782653315401734983116471929184051551, s=41100377914765765404298290283756800917726635099840850440833293306229461546982, recId=1},
SECP256K1.Signature{r=90592021223121448214823925170077787411866036053198613281180515164735438305430, s=26702380845072626744248573333825194847417154529560575364938790705076047148372, recId=1}],
vote=Optional.empty, round=0,
...

Importing block to chain. round=ConsensusRoundIdentifier{Sequence=222781, Round=0}, hash=0x7a4116a9112ea24762ed30e4c6f65507b921038f82ea17d875adde79863b3388

Frequency: [What percentage of the time does it occur?]
Versions (Add all that apply)

Software version: besu/v1.5.3/linux-x86_64/oracle_openjdk-java-14
Java version: [java -version]
OS Name & Version: [cat /etc/*release]
Kernel Version: [uname -a]
Virtual Machine software & version: [vmware -v]
Docker Version: [docker version]
Cloud VM, type, size: [Amazon Web Services I3-large]

Additional Information

we have fixed a lot of things since besu 1.5.3 - definitely recommend you update!

Do let us know if you're still having issues after updating


fix(FileUploaderButton): handle container div onClick

Closes IBM/carbon-components-react#1564
Currently the only way to activate the <input type="file"> on the <FileUploaderButton /> is by clicking the button label. This PR will allow the user to click any part of the <FileUploaderButton /> to bring up the file upload prompt.
Changelog
New

add onClick handler for container <div>
add onClick handler for file input <label>

Changed

stop propagation of event if file input label is clicked

hi @asudoh my intention was to preserve the markup for compatibility purposes but I wonder if it would be better to wrap the input within the label or use a React fragment to contain the two elements instead?

@alisonjoseph I am planning to modify the markup later today to be better suited for a11y, so can we hold off on the merge until then? I will mark this as WIP for the time being

Thank you for the update @emyarod!


Scan path on Windows

Hello !
I've found out that most of the signatures checks on path when working on a Windows doesn't work because of the specific path formatting.
Example:
I have a test folder containing the filepath "etc/passwd" on a Windows machine, but the path scanned by shhgit is "test\etc\passwd".
A workaround would be to modify all path checks in the config.yaml file by adding "[\/]" where there is a single "/", so it would match either "\" or "/".
Another workaround would be to modify the path before checking if it matches, with the filepath method "ToSlash()".
Example:
path = filepath.ToSlash(path)

ToSlash returns the result of replacing each separator character in path with a slash ('/') character. Multiple separators are replaced by multiple slashes.

Documentation: https://golang.org/pkg/path/filepath/#ToSlash

Thanks @smolveau - merged!


ComputeUsagesTask fails with "items must not be empty"

Plugin version
1.13.1
Gradle version
7.4.2
(Optional) Android Gradle Plugin (AGP) version
n.a.
Describe the bug
After moving to the latest plugin version (1.13.1) analysis fails with the following error;
Caused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException: A failure occurred while executing com.autonomousapps.tasks.ComputeUsagesTask$ComputeUsagesAction
at org.gradle.workers.internal.DefaultWorkerExecutor$WorkItemExecution.waitForCompletion(DefaultWorkerExecutor.java:339)
...
Caused by: java.lang.IllegalStateException: items must not be empty
at com.autonomousapps.model.intermediates.ReasonKt.buildReason(Reason.kt:233)
at com.autonomousapps.model.intermediates.ReasonKt.access$buildReason(Reason.kt:1)
at com.autonomousapps.model.intermediates.Reason$ServiceLoader.<init>(Reason.kt:205)
at com.autonomousapps.tasks.GraphVisitor.visit(ComputeUsagesTask.kt:172)
at com.autonomousapps.visitor.GraphViewReader.accept(GraphViewReader.kt:18)
at com.autonomousapps.tasks.ComputeUsagesTask$ComputeUsagesAction.execute(ComputeUsagesTask.kt:92)
at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:66)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:62)
at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:97)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:62)
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:59)
at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$2(DefaultWorkerExecutor.java:205)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:187)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.access$700(DefaultConditionalExecutionQueue.java:120)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner$1.run(DefaultConditionalExecutionQueue.java:162)
at org.gradle.internal.Factories$1.create(Factories.java:31)

To Reproduce
Steps to reproduce the behavior:

Use plugin version > 1.8.0
Execute task "projectHealth" for any sub-project in the build
Analysis fails in 'ComputeUsagesTask'

Expected behavior
analysis should not fail
Additional context
Dependency Analysis Plugin is used in a large multi-module Gradle build. The error only occurs with any plugin version > 1.8.0.

Thanks for the report!

Execute task "projectHealth" for any sub-project in the build

Do you have a reproducer?

@loetifuss would you be willing to try a snapshot for debugging purposes? I can fix this, but I'm confused how it's happening in the first place. Ideally I'll add some extra logging for you to run on your project (or you could provide a reproducer). Thanks.

@loetifuss would you be willing to try a snapshot for debugging purposes? I can fix this, but I'm confused how it's happening in the first place. Ideally I'll add some extra logging for you to run on your project (or you could provide a reproducer). Thanks.

@autonomousapps Sure, I can try a snapshot,.

@loetifuss thanks! If you use the latest snapshot (1.13.2-SNAPSHOT) (see here for how to add a snapshot), you can then enable debug logging in your build and look for logs like this. You can enable debug logging with -d, e.g., ./gradlew buildHealth -d.

@loetifuss thanks! If you use the latest snapshot (1.13.2-SNAPSHOT) (see here for how to add a snapshot), you can then enable debug logging in your build and look for logs like this. You can enable debug logging with -d, e.g., ./gradlew buildHealth -d.

@autonomousapps
It works using the latest snapshot! The culprit seems to be the JAR file "net.sourceforge.pmd.pmd-core-6.17.0.jar" containing empty service loader definition files. Here is the output of debug logging:
2022-09-20T16:17:35.692+0200 [DEBUG] [org.gradle.api.Task] net.sourceforge.pmd.pmd-core-6.17.0.jar has a services file at path META-INF/services/net.sourceforge.pmd.cpd.Language, but there are no services! File contents: <<>>


When building project TestAdapter warning appears

Text of warning.
C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1819,5): warning MSB3277: Found conflicts between different versions of the same dependent assembly that could not be resolved.  These reference conflicts are listed in the build log when log verbosity is set to detailed.
So far this is not give me any problem

I no longer see this issue in the output of a clean TestAdapter build with a detailed output. Please reopen if you still see the problem.
Thanks.


Missing LICENSE File

This repository does not have a LICENSE file (https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository). If you have already picked a license and specified it somewhere (e.g. in package.json) please simply create a copy of the license in a LICENSE file to make it easier to see which license is in use. If you have nbot picked a license please consider using the MIT, Apache 2.0, GPL or BSD license, The website https://choosealicense.com/ can be of assistance if you are unsure which one to pick.

Please let me ask the same, too.
I realize that the tutorial documents (https://github.com/modelcontextprotocol/docs) where the code was originally described has Creative Commons Attribution 4.0 International (CC BY 4.0), but it is said not to be suitable for software: https://github.com/hideya/mcp-docs/blob/main/LICENSE.md

Creative Commons Attribution 4.0 International
Permits almost any use subject to providing credit and license notice. Frequently used for media assets and educational materials. The most common license for Open Access scientific publications. Not recommended for software.

I would appreciate it if you could choose a reasonable license for this repository.
Thanks a lot!


RUMM-2611: Extract Logs feature into dedicated module

What does this PR do?
This change moves all (well, almost all) Logs feature code into the dedicated module. What is done:

Introduced FeatureScope#unwrap method, so that we are able to get the original feature registered with the particular instance, this allows to access feature properties.
Some classes which were using logs and which are deprecated long time ago (RumWebChromeClient and RumWebViewClient) are removed.
Some internal classes/methods are made public and moved out of internal packages. These classes/methods are DataConstraints, DatadogDataConstraints, Serializer, Sampler, RateBasedSampler, serializeToByteArray, Any?.toJsonElement, NULL_MAP_VALUE (dedicated task created to replace this one), MapperSerializer, NoOpEventMapper. Task created to arrange packages after this move, because we can have com.datadog.android.core.persistence and com.datadog.android.core.internal.persistence instead of com.datadog.android.core.persistence.internal which makes more sense.
LogAttributes class is kept in the core module, because it is used by other feature. LogsRequestFactory is also kept in the main module, because it is used by WebView Logs feature (maybe we should migrate it to the message bus instead).
Logger is now associated with the particular SDK instead by making Logger.Builder request SdkCore.
service property added to the SdkCore, because it is needed for the Logger creation.
Datadog.globalSdkCore is made public, but this is temporary, until we implement the global registry.

This change is quite big (I tried to deliver it in the working state), so it is split in several commit to simplify the review.
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] Make sure you discussed the feature or bugfix with the maintaining team in an Issue
[ ] Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

Codecov Report

Merging #1261 (d9a18fc) into feature/sdkv2 (79d7bb6) will decrease coverage by 0.10%.
The diff coverage is 79.55%.

@@                Coverage Diff                @@
##           feature/sdkv2    #1261      +/-   ##
=================================================
- Coverage          81.87%   81.78%   -0.10%
=================================================
  Files                362      360       -2
  Lines              12853    12780      -73
  Branches            2151     2133      -18
=================================================
- Hits               10523    10451      -72
- Misses              1670     1678       +8
+ Partials             660      651       -9

Impacted Files
Coverage Δ

...n/kotlin/com/datadog/android/timber/DatadogTree.kt
55.56% <0.00%> (ø)

...n/kotlin/com/datadog/android/DatadogInterceptor.kt
72.65% <ø> (ø)

...atadog/android/core/configuration/Configuration.kt
98.33% <ø> (ø)

...id/core/internal/net/info/NetworkInfoSerializer.kt
100.00% <ø> (ø)

...al/persistence/file/single/SingleItemDataWriter.kt
96.15% <ø> (ø)

...g/android/core/internal/user/UserInfoSerializer.kt
100.00% <ø> (ø)

...com/datadog/android/core/persistence/Serializer.kt
90.91% <ø> (ø)

...in/kotlin/com/datadog/android/log/LogAttributes.kt
0.00% <ø> (ø)

.../main/kotlin/com/datadog/android/rum/RumMonitor.kt
78.85% <ø> (ø)

...lin/com/datadog/android/rum/internal/RumFeature.kt
93.10% <ø> (ø)

... and 61 more


Console error message

Not sure if an actual problem:
Uncaught Error: Attempting to use a disconnected port object
    at PortImpl.postMessage (extensions::messaging:60:13)
    at Port.publicClassPrototype.(anonymous function) [as postMessage] (extensions::utils:149:26)
    at responseCallback (extensions::messaging:166:16)
    at Object.success (chrome-extension://bmlfgnkacjnbhefiokiheiohpeiomidk/js/background.js:129:7)
    at i (chrome-extension://bmlfgnkacjnbhefiokiheiohpeiomidk/js/jquery-2.2.3.js:2:27151)
    at Object.fireWith [as resolveWith] (chrome-extension://bmlfgnkacjnbhefiokiheiohpeiomidk/js/jquery-2.2.3.js:2:27914)
    at z (chrome-extension://bmlfgnkacjnbhefiokiheiohpeiomidk/js/jquery-2.2.3.js:4:12120)
    at XMLHttpRequest.<anonymous> (chrome-extension://bmlfgnkacjnbhefiokiheiohpeiomidk/js/jquery-2.2.3.js:4:15680)

Need to use "Long-lived connections" instead of one-time connection to avoid this error.
vAPI.messaging in uBlock uses "Long-lived connections".
Reference:
http://stackoverflow.com/questions/5337672/reason-for-uncaught-error-attempting-to-use-a-disconnected-port-object

post-initial release

The limitation about one-time messaging is that it has to be popup/content page that initialize the messaging and then the background page answers.
This could be a bit problematic if the popup is asking for blockingStatus to the background when the background is still checking the server.
Currently the popup won't get refreshed when the message is ready. To do so, what I can think about are two methods:

One-time messaging
Ask for getBlockingStatus again with setInterval. But this could possibly lead to extra requests to greatfirewallofchina if the internet is slow...(if Blocking Status is not available, it checks the page)
But maybe it can be solved by this https://github.com/dhowe/ChinaEye/issues/44?

2.Long-lived messaging
Update the popup when the check is done. (This seems to be the best practice for me)

Good -- How much time do you estimate to switch to long-lived messaging?

Please check: https://github.com/dhowe/ChinaEye/pull/75

Good -- shall we publish an update?

Yes, I'm going to close this and go through the release testing in a new ticket


Implement dump and get_example

Codecov Report

Merging #1 into master will increase coverage by 0.44%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master      #1      +/-   ##
=========================================
+ Coverage   97.45%   97.9%   +0.44%
=========================================
  Files           1       1
  Lines         118     143      +25
=========================================
+ Hits          115     140      +25
  Misses          3       3

Impacted Files
Coverage Δ

typenv/__init__.py
97.9% <100%> (+0.44%)
:arrow_up:

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 856473c...dee9efc. Read the comment docs.


Add OIDC apps

Towards https://github.com/giantswarm/roadmap/issues/586
This PR:

Adds/changes/removes...

Testing

[ ] Fresh install works.
[ ] Upgrade from previous version works.

Checklist

[ ] Update changelog in CHANGELOG.md.
[ ] Make sure values.yaml is valid.

@tfussell we close this one and I those App definition to cluster OpenStack for the customer, ok?


Extreme Lag after a recent update[Bug]

Describe the bug
Recently ChatGPT Next Web has became incredibly laggy when using.
To Reproduce
Try using gpt-3.5-turbo(so the output writes fast) and ask ChatGPT for a long answer.
Ie. please write me a 500 word privacy policy for a generic mobile game.
For me, it gets really slow then crashes.

Please provide the code version number and the operating system version

#2393


求教 所有server failed

Authorizing, please be patient, it may take upto 300 seconds...
Authorizing with the Heroku server ...
Heroku server failed, authorizing with the Heroku1 server ...
Heroku1 server failed, authorizing with the Vercel server ...
Vercel server failed. Last resort: authorizing with the GAE server ...
 [22:22:12] Fatal: All server authorizations failed.
试过Possible fixes 1&2 还是无法解决

same problem

worked for now


Client Search keeps in loading for to many users

Hi,
I'm trying to get users for an ldap account that has lots of members, trying to make a search but it keeps loading and never get a response:
const client = ldap.createClient({
      url: 'ldap://XX.XXX.XX.XXX:XXX/',
    })

    client.bind(`${username}`, ${password}, (err) => {
      if (!err) {
        const base = 'ou=osup01,ou=xrep01,DC=XXXXXX,DC=LOCAL'

        const options = {
          sizeLimit: 100,
          paged: true,
          scope: 'sub' as 'sub',
          filter:
            '(&(objectCategory=person)(objectClass=user))',
          attributes: [
            'givenName',
            'whenCreated',
            'displayName',
            'memberOf',
            'lastLogonTimestamp',
            'mail',
          ],
        }

        client.search(base, options, function(err, res) {
          res.on('searchEntry', function(entry) {
            console.log('entry: ' + JSON.stringify(entry.object))
          })
          res.on('searchReference', function(referral) {
            console.log('referral: ' + referral.uris.join())
          })
          res.on('error', function(err) {
            console.error('error: ' + err.message)
          })
          res.on('end', function(result) {
            console.log('status: ' + result!.status)
          })
        })

In console, it printed some of the members in the line:
console.log('entry: ' + JSON.stringify(entry.object))
but then it stucks
Making the request by linux command it gives me the next numbers of responses:

numResponses: 1490
numEntries: 1486
numReferences: 3

how could I manage a large number of members and get all in the response?
could you help please?
Thanks!

I do not believe there is enough context in your example. Are you executing this within some other context that will end the connection?  According to the docs (https://github.com/ldapjs/node-ldapjs/blob/b83008c71792c4e01fe2e69485987ca7c5e93e3c/docs/client.md#search) your code as written is correct. Without a reproducible example, I cannot say more.

Hello,
may I suggest, to read the docs again.
I is my unterstanding, that - as called with your option - the lib does the paging for you in the background (asks 100 entries, emits them through the searchEntry event.)
If you want more control, then you can make the paged option to an object, and can declare a pagesize, and an option pagePause: true.
If you look at the docs here, you will find this example, with the page event
var queue = new MyWorkQueue(someSlowWorkFunction);
var opts = {
  filter: '(objectclass=commonobject)',
  scope: 'sub',
  paged: {
    pageSize: 250,
    pagePause: true
  },
};
client.search('o=largerdir', opts, function(err, res) {
  assert.ifError(err);
  res.on('searchEntry', function(entry) {
    // Submit incoming objects to queue
    queue.push(entry);
  });
  res.on('page', function(result, cb) {
    // Allow the queue to flush before fetching next page
    queue.cbWhenFlushed(cb);
  });
  res.on('error', function(resErr) {
    assert.ifError(resErr);
  });
  res.on('end', function(result) {
    console.log('done');
  });
});

I have tried this and it didn't work for me.  I still just get 250 results followed by. a 'page' event with a cb.  Calling the cb gets me nothing.  I even tried adding a synchronous wait (1000ms) before calling the page cb - still nothing.

👋
On February 22, 2023, we released version 3 of this library. As a result, we are closing this issue/pull request.
Please see issue #839 for more information, including how to proceed if you feel this closure is in error.


Description for the setting workbench.view.dimUnfocused.enabled does not adhere to the sentence pattern used by other settings.

Testing #191527
Nit:

The sentence feels incomplete.

A recent PR changed this, any comments on the new text?

Whether to dim unfocused editors and terminals, which makes it more clear where typed input will go to. This works with the majority of editors with the notable exceptions of those that utilize iframes like notebooks and extension webview editors.

https://github.com/microsoft/vscode/blob/93ac91a8c7964c575e48faa37a9c39815d7188ae/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.ts#L124

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Add mqtt cert_pem, client_cert_pem and client_key_pem

I've used this implementation to connect an ESP32-C3 to an AWS endpoint.
This is only the implementation for #[cfg(esp_idf_version_major = "4")]. I'm not sure how to implement (and test) it for #[cfg(not(esp_idf_version_major = "4"))]
fix #162

I actually took the effort to unify the certificate handling across HTTP server, HTTP client and MQTT. The code is now pushed to master. Can you give it a try (I mean, the MQTT impl) and let me know if it works for you?

@rherrmannr  ^^^

Shouldn't the certificate data be Option<&'static str>?

Because esp-tls processes the different verification methods in a certain order
The first one present wins
Having an empty string for cert_pem would make this option be considered as set by esp-tls and prevent using PSK authentication with comes further down this chain

As the different TLS verification methods seem mutual exclusive, what about specify the one to use in a more user friendly way like proposend in #167?

Shouldn't the certificate data be Option<&'static str>?

Because esp-tls processes the different verification methods in a certain order
The first one present wins
Having an empty string for cert_pem would make this option be considered as set by esp-tls and prevent using PSK authentication with comes further down this chain

As the different TLS verification methods seem mutual exclusive, what about specify the one to use in a more user friendly way like an enum as proposend in Add PSK support to MQTT client #167?

This is all fixed separately from this PR and landing in master now. Except for the PSK.

@ivmarkov do you still want me to test this or shall we wait for https://github.com/esp-rs/esp-idf-svc/pull/167?

@ivmarkov do you still want me to test this or shall we wait for #167?

Yes please. All should work, except the PSK option that I think you are not using anyway.

I would love to, but I got some problems doing so. In the previous test, I cloned the repo, checked out v0.42.1, add the certificates to the MqttClientConfiguration and used the local repo in my Cargo.toml.
However, I'm not able to compile the master locally. I used the compile command from your GitHub actions: cargo build --features experimental --target riscv32imc-esp-espidf -Zbuild-std=std,panic_abort -Zbuild-std-features=panic_immediate_abort, but it does not work:
Actual master:
robin@robin:~/git/esp-idf-svc$ git status
On branch master
Your branch is up to date with 'origin/master'.

Compile errors:
robin@robin:~/git/esp-idf-svc$ cargo build --features experimental --target riscv32imc-esp-espidf -Zbuild-std=std,panic_abort -Zbuild-std-features=panic_immediate_abort
    Updating crates.io index
    Updating git repository `https://github.com/esp-rs/embedded-svc`
    Updating git repository `https://github.com/esp-rs/esp-idf-hal`
   Compiling esp-idf-svc v0.43.0 (/home/robin/git/esp-idf-svc)
error: `BTreeMap::<K, V>::new` is not yet stable as a const fn
   --> src/http/server.rs:232:34
    |
232 |     Mutex::wrap(RawMutex::new(), BTreeMap::new());
    |                                  ^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(const_btree_new)]` to the crate attributes to enable

error: `BTreeMap::<K, V>::new` is not yet stable as a const fn
   --> src/http/server.rs:234:34
    |
234 |     Mutex::wrap(RawMutex::new(), BTreeMap::new());
    |                                  ^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(const_btree_new)]` to the crate attributes to enable

error: `BTreeSet::<T>::new` is not yet stable as a const fn
  --> src/nvs.rs:18:48
   |
18 |     mutex::Mutex::wrap(mutex::RawMutex::new(), alloc::collections::BTreeSet::new());
   |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(const_btree_new)]` to the crate attributes to enable

error: could not compile `esp-idf-svc` due to 3 previous errors

I would love to, but I got some problems doing so. In the previous test, I cloned the repo, checked out v0.42.1, add the certificates to the MqttClientConfiguration and used the local repo in my Cargo.toml.
However, I'm not able to compile the master locally. I used the compile command from your GitHub actions: cargo build --features experimental --target riscv32imc-esp-espidf -Zbuild-std=std,panic_abort -Zbuild-std-features=panic_immediate_abort, but it does not work:
Actual master:
robin@robin:~/git/esp-idf-svc$ git status
On branch master
Your branch is up to date with 'origin/master'.

Compile errors:
robin@robin:~/git/esp-idf-svc$ cargo build --features experimental --target riscv32imc-esp-espidf -Zbuild-std=std,panic_abort -Zbuild-std-features=panic_immediate_abort
    Updating crates.io index
    Updating git repository `https://github.com/esp-rs/embedded-svc`
    Updating git repository `https://github.com/esp-rs/esp-idf-hal`
   Compiling esp-idf-svc v0.43.0 (/home/robin/git/esp-idf-svc)
error: `BTreeMap::<K, V>::new` is not yet stable as a const fn
   --> src/http/server.rs:232:34
    |
232 |     Mutex::wrap(RawMutex::new(), BTreeMap::new());
    |                                  ^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(const_btree_new)]` to the crate attributes to enable

error: `BTreeMap::<K, V>::new` is not yet stable as a const fn
   --> src/http/server.rs:234:34
    |
234 |     Mutex::wrap(RawMutex::new(), BTreeMap::new());
    |                                  ^^^^^^^^^^^^^^^
    |
    = help: add `#![feature(const_btree_new)]` to the crate attributes to enable

error: `BTreeSet::<T>::new` is not yet stable as a const fn
  --> src/nvs.rs:18:48
   |
18 |     mutex::Mutex::wrap(mutex::RawMutex::new(), alloc::collections::BTreeSet::new());
   |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: add `#![feature(const_btree_new)]` to the crate attributes to enable

error: could not compile `esp-idf-svc` due to 3 previous errors

Update your Rust toolchain to latest one. If you use the ESP toolchain, just install the latest one. If you use the Rust nightly on esp32c3, update it.

Worked, at least to build the esp- idf-svc repo.
However, I'm not able to build my project anymore, if I try to update to the master. I've followed your main app (https://github.com/ivmarkov/rust-esp32-std-demo). Now the linker is complaining about a missing main.
  = note: [ldproxy] Running ldproxy
          Error: Linker /home/robin/git/RustYSensors/sensors/esp32-c3/.embuild/espressif/tools/riscv32-esp-elf/esp-2021r2-patch3-8.4.0/riscv32-esp-elf/bin/riscv32-esp-elf-gcc failed: exit status: 1
          STDERR OUTPUT:
          /home/robin/git/RustYSensors/sensors/esp32-c3/.embuild/espressif/tools/riscv32-esp-elf/esp-2021r2-patch3-8.4.0/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/8.4.0/../../../../riscv32-esp-elf/bin/ld: esp-idf/freertos/libfreertos.a(port_common.c.obj): in function `main_task':
          /home/robin/git/RustYSensors/sensors/esp32-c3/.embuild/espressif/esp-idf/v4.4.1/components/freertos/port/port_common.c:118: undefined reference to `app_main'
          collect2: error: ld returned 1 exit status

IDK, this has nothing to do with this topic anymore...
I need to get a minimum example running once again, before testing the MQTT stuff. This will probably take me some time.

Took me some hours, but finally, it once again compiles.
However, I'm no longer able to connect to AWS.
This is the v0.42.1 code:
    let private_key = include_str!("../certificates/private.pem.key");
    let root_ca = include_str!("../certificates/AmazonRootCA1.pem");
    let cert = include_str!("../certificates/cert.crt");
    let conf = MqttClientConfiguration {
        client_id: Some("esp32"),
        cert_pem: root_ca,
        client_cert_pem: cert,
        client_key_pem: private_key,

        ..Default::default()
    };

has changed to:
    let private_key = X509::pem(include_cstr!("../certificates/private.pem.key"));
    let root_ca = X509::pem(include_cstr!("../certificates/AmazonRootCA1.pem"));
    let cert = X509::pem(include_cstr!("../certificates/cert.crt"));

    let conf = MqttClientConfiguration {
        client_id: Some("esp32"),
        server_certificate: Some(root_ca),
        client_certificate: Some(cert),
        private_key: Some(private_key),

        ..Default::default()
    };

Maybe this is based on include_cstr! (https://crates.io/crates/include_cstr).
WiFi seems to be connected. This is the output:
connected
I (2840) wifi:new:<6,2>, old:<6,2>, ap:<6,2>, sta:<6,0>, prof:6
I (2850) wifi:state: init -> auth (b0)
I (2860) wifi:state: auth -> assoc (0)
I (2880) wifi:state: assoc -> run (10)
I (2900) wifi:connected with Internet, aid = 2, channel 6, BW20, bssid = d4:3f:cb:92:87:75
I (2900) wifi:security: WPA2-PSK, phy: bgn, rssi: -58
I (2900) wifi:pm start, type: 1
I (2910) wifi:set rx beacon pti, rx_bcn_pti: 0, bcn_timeout: 0, mt_pti: 25000, mt_time: 10000
Connected
About to start MQTT client
E (2920) esp-tls: couldn't get hostname for :xxxxxxxxxxx-ats.iot.us-west-2.amazonaws.com: getaddrinfo() returns 202, addrinfo=0x0
E (2930) esp-tls: Failed to open new connection
E (2940) TRANSPORT_BASE: Failed to open a new connection
E (2940) MQTT_CLIENT: Error transport connect

Any tip is welcome.

You sgould wait for the wifi to get a DHCP lease before running the mqtt client, or alternatively, enable mqtt reconnect. Look at the latest rust-esp32-std-demo how to do the former.

Thanks! You're correct, I've missed this part:
        if !EspNetifWait::new::<EspNetif>(wifi.sta_netif(), &sysloop)?.wait_with_timeout(
            Duration::from_secs(20),
            || {
                wifi.is_connected().unwrap()
                    && wifi.sta_netif().get_ip_info().unwrap().ip != Ipv4Addr::new(0, 0, 0, 0)
            },
        ) {
            println!("Wifi did not connect or did not receive a DHCP lease");
        }

MQTT using the certificates is working as intended. I'm able to publish/subscribe to AWS with the current master.

Perfect, thanks!


UI improved for /todo page

@sanskaromar have a look!
Resolves #3

@amitmishra11 The theme after your changes does not properly match the functionality. And that I am looking for a less fancy minimalistic view with a good color palette in mind. Please make changes accordingly.

The theme after your changes does not properly match the functionality. And that I am looking for a less fancy minimalistic view with a good color palette in mind. Please make changes accordingly.

What about complete gray theme as used around task boxes?

The theme after your changes does not properly match the functionality. And that I am looking for a less fancy minimalistic view with a good color palette in mind. Please make changes accordingly.

What about complete gray theme as used around task boxes?

I do not think it looks good there. What you can instead do, is make UI for light theme for app. That way you won't have to worry about colors used in this theme.

The theme after your changes does not properly match the functionality. And that I am looking for a less fancy minimalistic view with a good color palette in mind. Please make changes accordingly.

What about complete gray theme as used around task boxes?

I do not think it looks good there. What you can instead do, is make UI for light theme for app. That way you won't have to worry about colors used in this theme.

ohk I'll do this

@sanskaromar is this okay?

Please make these minor changes.

@sanskaromar surely

@sanskaromar  Recommended changes made

@sanskaromar It was nice working with you!


Indicate label truncation

Closes #257
I am not sure if the documentation is automatically updated when adding new parameters, can someone help me there? Thanks!
Description
When :show-truncated and :limit-width are set, indicate label truncation by appending ... to the displayed text.
Usage
(label :limit-width 20 :show-truncation true "012345678901234567890123456789")

Showcase

Checklist

[ ] All widgets I've added are correctly documented.
[ ] The documentation in the docs/content/main directory has been adjusted to reflect my changes.
[x] I used cargo fmt to automatically format all code before committing

Thanks!


PHP beautifcation support

See https://github.com/sdwood/php-beautifier and https://github.com/SublimeText/PhpBeautifier and http://pear.php.net/package/PHP_Beautifier

I can't use php_beautifier cause of temporary file of current active session... I'm on Ubuntu 14.04 with php 5.6 and latest version of atom. All php_beautifier dependencies have installed and they're working correctly from terminal.
Please see giving error:
Command failed: /bin/sh -c [ -f ~/.bash_profile ] && source ~/.bash_profile;[ -f ~/.bashrc ] && source ~/.bashrc;php "/usr/bin/php_beautifier " --input "/tmp/input115014-12433-1i2xoqb" --output "/tmp/115014-12433-1ke9sic" /bin/sh: 1: source: not found
I've watched carefully "/tmp/" directory. But there's no file created during any session... How to solve this?

@Batmandakh I have he same error.

+1 same error with tmp files

Sounds like for some reason source ~/.bashrc; is not working on your Ubuntu computer.
The afflicting lines of code can be found at: https://github.com/Glavin001/atom-beautify/blob/master/lib/langs/cli-beautify.coffee#L45-L50
If you can comment out those lines in your local installation of Atom Beautify, that should fix it. You will have to manually set the path of php_beautifier in the Atom Beautify Package Settings.
#164 will solve this.

Whenever I try to use your package to beautify my php file it throws me this.

spawn php ENOENT
spawn php ENOENT
Hide Stack Trace
Error: spawn php ENOENT
at exports._errnoException (util.js:734:11)
at Process.ChildProcess._handle.onexit (child_process.js:1035:32)
at child_process.js:1127:20
at process._tickCallback (node.js:357:13)
Is it because of wrong configuration?


Uploading usage information files that contain hexadecimal Id fields causes NumberFormatException errors

Closed https://github.com/energyos/OpenESPI-Common-java/pull/256


Add support for Intel MKL

This PR adds support for Intel MKL through the intel-mkl-src crate - which takes care of linking to necessary libraries - and adds a new feature flag.
Note that extern crate intel_mkl_src is required to make the dependency actually build and link libraries since it is not otherwise included in ctranslate2-rss source.
Fixes #23

@filiptibell I have a question about the intel-mkl-src crate. It seems that the crate downloads the MKL libraries if necessary, which is convenient. However, the libraries are not downloaded to a typical location like /opt/intel, and as a result, cmake was unable to find them.
Could you suggest a solution to this issue?


Why Query/NextSequenceSend is not available for UNORDERED channels?

Summary
Query/NextSequenceSend to return real packet sequence for UNORDERED channels instead of zero.
Problem Definition
Handler of Query/NextSequenceSend has next code:
	var sequence uint64
	if channel.Ordering != types.UNORDERED {
		sequence, found = k.GetNextSequenceSend(ctx, req.PortId, req.ChannelId)
		if !found {
			return nil, status.Error(
				codes.NotFound,
				errorsmod.Wrapf(types.ErrSequenceSendNotFound, "port-id: %s, channel-id %s", req.PortId, req.ChannelId).Error(),
			)
		}
	}
	selfHeight := clienttypes.GetSelfHeight(ctx)
	return types.NewQueryNextSequenceSendResponse(sequence, nil, selfHeight), nil

returning zero for request.
But GetNextSequenceSend works for UNORDERED for sure. Because it is used in ICS-20 transfer application, here is transfer send method
	sequence, err := k.ics4Wrapper.SendPacket(ctx, channelCap, sourcePort, sourceChannel, timeoutHeight, timeoutTimestamp, packetData.GetBytes())
	if err != nil {
		return 0, err
	}

If to allow getting next sequence query handling for UNORDERED channels it will simplify correlation of message sent with IBC timeouts/ack callbacks for various forms of handling.
Proposal
Remove check of UNORDERED

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged/assigned

Thanks, @dzmitry-lahoda. Yeah, this looks like an oversight from our side. I see that you opened a PR already, so thank you also for that!


How to set default position for element?

The top and left is 0px by default. Is there any way to custom those values?
    transform: translate3d(0px, 0px, 0px);
    display: block;
    left: 0px;
    top: 0px;
    width: 385px;
    height: 54px;
    right: auto;
    bottom: auto;
    margin: 0px;
    position: absolute;

Hey @trandaison! top and left are initialized to the element's current offset. If that isn't working for you, can you provide a self contained repro case?
See https://github.com/bcherny/draggable/blob/6cbecde93f50c54650b6c83697befa212d820c5f/src/draggable.js#L245

Thank you, @bcherny
.set() saved the day 😄
new Draggable(element, options).set(100, 100)


Replace internal serializer with utf8json

This PR replaces both the SimpleJson (Elasticsearch.Net) and JSON.Net (in NEST) based internal serializers with a serializer based on utf8json.
The serializer source has been included in Elasticsearch.Net to allow

further modification for the specific need of the client
mark all serializer types as internal

Research as part of #3493 demonstrates an immediate 2x performance improvement in serialization, and it is expected that this could be further improved by

using Span<T>, Memory<T> where possible
reusing ArrayPool<T>
cleaning and simplifying the interface between serializer and clients, now that the serializer source is included.

All unit tests pass in this PR. One test, ExtendingNestTypes, is currently skipped until a general serialization routine is in place. This PR is opened now because there are further changes coming related to 7.x, so the preference is to merge this work in now and fix the remaining failing integration tests which at point of opening are:
Failed collections:
 - ReadOnly: Tests.Aggregations.Bucket.Composite.CompositeAggregationUsageTests
 - ReadOnly: Tests.Aggregations.Metric.TopHits.TopHitsAggregationUsageTests
 - ReadOnly: Tests.Search.Request.NestedSortUsageTests
 - ReadOnly: Tests.Search.Request.SearchAfterUsageTests
 - ReadOnly: Tests.Search.Request.SortUsageTests
 - TimeSeries: Tests.XPack.Rollup.RollupJobCrudTests
 - XPack: Tests.XPack.License.GetTrialLicenseStatus.GetTrialLicenseStatusApiTests
 - XPack: Tests.XPack.License.StartTrialLicense.StartTrialLicenseApiTests
 - XPack: Tests.XPack.Migration.MigrationUpgrade.InvalidMigrationUpgradeApiTests
---Reproduce: -----
build.bat seed:51817 integrate 6.4.2 "timeseries,xpack,readonly" "compositeaggregation,tophitsaggregation,nestedsort,searchafter,sort,gettriallicensestatus,starttriallicense,invalidmigrationupgrade,rollupjobcrud"
--------
=== TEST EXECUTION SUMMARY ===
   Tests  Total: 1458, Errors: 0, Failed: 29, Skipped: 13, Time: 689.411s

changed base branch from master to 7.x. Will resolve conflicts now

Merged as part of #3608


Support for combining PRs

This is not specific to Sorald, but really any project which uses CI and has PRs submitted to them every now and then. I propose to add support for combining multiple PRs and merging their patch at once. This is useful especially for merging PRs by renovate for two reasons.

As of now, merging upgrades to multiple dependencies takes a lot of time because you need to wait for the entire CI to run and renovate to rebase the PR before you can merge another renovate PR.
The commit history is inundated with a lot of noise of just commits upgrading dependencies. It becomes tough to look for commits that introduce features and fixes.

A workflow already exists for this. See https://github.com/hrvey/combine-prs-workflow/. Maybe we can reuse it.

[x] merge proof of concept (https://github.com/SpoonLabs/sorald/pull/765)
[ ] document the concept (maybe in this issue)
[ ] extract the action into a reusable, separate action repo
[ ] once documented, open an issue on renovate whether they could support this natively (related to combinePatchMinorReleases))

ftr, next step: close individual PRs when combined is merged


[Search] The date labels are not translated to Ukrainian/Russian with UA/RU localization after searching

Environment: Windows10 x64, Chrome 89.0.4389.128
Reproducible: always
Build found: 05.05.2021
Preconditions
User is logged in GreenCity https://ita-social-projects.github.io/GreenCityClient/#/welcome
The UA/RU localization is turned on.
Steps to reproduce

Click on the 'Search' icon at the header of the site.
Type the text in the 'Search' field (e.g. 'в')
Pay attention to the date labels.

Actual result
The date labels are not translated to Ukrainian/Russian with UA/RU localization after searching.
Expected result
The date labels are translated to Ukrainian/Russian with UA/RU localization after searching.

User story and test case links
E.g.: "User story #572
Test case"

It is no longer relevant because of the change in design


Minor runtime build simplifications

Handle posix.c the same as other native-only runtime source files

Use generic build rules for magic.bc and magic.o

LGTM

Can we make the %.o build -g3 while we're here?

Done.


Solid 389 Mixins

edit and rename breakpoint mixin
add error handling to breakpoint mixin
deprecate old "media query" mixin name
document all mixins in new mixins doc
add all relevent nav items

This lgtm? I forget what we're missing here (it was mentioned in the last Solid meeting, but not captured in the agenda). Cc @samthurman


Yojson.Safe.Util.Type_error("Can't get member 'begin' of non-object type array", _)

Hello,
when I load some Racket file (using evzen-wybitul.magic-racket extension) , Oni crashes with:
Yojson.Safe.Util.Type_error("Can't get member 'begin' of non-object type array", _):
Raised at file "util.ml", line 15, characters 20-60
Called from file "src/reason-textmate/Grammar.re", line 102, characters 20-41
Called from file "list.ml", line 121, characters 24-34
Called from file "src/reason-textmate/Grammar.re", line 139, characters 6-65
Called from file "src/Syntax/GrammarRepository.re", line 31, characters 15-54
Called from file "src/reason-textmate/GrammarRepository.re" (inlined), line 8, characters 40-57
Called from file "src/reason-textmate/Tokenizer.re", line 22, characters 9-60
Called from file "src/Syntax/TextmateTokenizerJob.re", line 129, characters 6-174
Called from file "src/Core/Job.re", line 69, characters 4-33
Called from file "src/Core/Job.re" (inlined), line 73, characters 31-42
Called from file "src/Core/Job.re", line 96, characters 15-31
Called from file "src/Feature/Syntax/Feature_Syntax.re", line 16, characters 4-151
Called from file "src/Feature/Syntax/Feature_Syntax.re", line 217, characters 6-134
Called from file "src/Store/Features.re", line 364, characters 6-358
Called from file "src/Updater.re", line 10, characters 33-56
Called from file "list.ml", line 121, characters 24-34
Called from file "src/Updater.re", line 7, characters 4-253
Called from file "src/Store.re", line 111, characters 29-61
Called from file "list.ml", line 110, characters 12-15
Called from file "list.ml", line 110, characters 12-15
Called from file "src/reason-libvim/Buffer.re", line 8, characters 2-46
Called from file "src/Store/VimStoreConnector.re", line 615, characters 19-48
Called from file "list.ml", line 110, characters 12-15
Called from file "src/Store.re", line 172, characters 9-32
Called from file "list.ml", line 110, characters 12-15
Called from file "src/Core/Tick.re", line 112, characters 9-15
Called from file "src/Core/Tick.re", line 90, characters 15-32
Called from file "list.ml", line 92, characters 20-23
Called from file "list.ml", line 92, characters 32-39
Called from file "src/Core/Tick.re", line 99, characters 22-52
Called from file "src/Core/App.re", line 263, characters 4-23
Called from file "packages/reason-sdl2/src/sdl2.re", line 815, characters 10-20
Called from file "packages/reason-sdl2/src/sdl2.re", line 261, characters 17-59
Called from file "packages/reason-sdl2/src/sdl2.re", line 261, characters 17-59
Called from file "src/bin_editor/Oni2_editor.re", line 443, characters 11-26

Any hint?

Hi @gour ,
Thanks for logging the issue!
Looks like we're crashing on this bit of JSON:
       "lambda-onearg": [
            {
                "name": "meta.lambda.racket",
                "match": "(?x) (?<=[(\\[{]) \\s*\n(lambda | λ) \\s+\n([^(\\#)\\[\\]{}\",'`;\\s][^()\\[\\]{}\",'`;\\s]*)\n",
                "captures": {
                    "1": {
                        "name": "storage.type.lambda.racket"
                    },
                    "2": {
                        "name": "variable.parameter.racket"
                    }
                }
            }
        ],

It seems we're not handling the case where a key is assigned to an array - we assume it's always an object with a patterns member, ie:
    "lambda": {
            "patterns": [
                {
                    "include": "#lambda-onearg"
                },
                {
                    "include": "#lambda-args"
                }
            ]
        },


Raise error for empty original record, minting ID

Raise an exception when minting an ID in DPLA::MAP::Aggregation#mint_id! if there is no original record, instead of generating a random one.
As previously written, if a mapping failed to map originalRecord, you would end up with two RDFSources, one for the harvested record, and one for the mapped record with a random ID.
Also improve the existing error messaging for DPLA::MAP::Aggregation#original_record when there's no original record.

I'd recommend waiting until https://github.com/dpla/KriKri/pull/229 is merged before merging this.

Looks okay.
Would it be a good idea to replace NameError, like we did in https://github.com/dpla/KriKri/commit/3b36c71e8d898fff206d965c64b62ef20291e5a5#diff-fbfeb4a886bf59e266597943d1f9baedR208? #no_origrec_message feels like a Single Responsibility violation. Or perhaps these just need to be private methods?

no_origrec_message already is a private method.  I'm finding that it's going to be a little time-consuming to figure out a good way to rework it to use a custom exception, because of the way DPLA::MAP::Aggregation is monkeypatched; though I agree that NameError is not ideal.

I'm finding that it's going to be a little time-consuming to figure out a good way to rework it to use a custom exception, because of the way DPLA::MAP::Aggregation is monkeypatched; though I agree that NameError is not ideal.

There is an example right above at: https://github.com/dpla/KriKri/blob/fix/id-minting-no-origrec/lib/krikri/engine.rb#L94-L98
It should also be possible to nest an error class into the monkey patched Aggregation. I do agree that this really needs to be moved out of an initializer, though.
I'm also okay pushing this through as is, pending the minor formatting fixup at https://github.com/dpla/KriKri/pull/228#discussion_r55541295

I've fixed the whitespace and rebased.
My issue with the exception class was that I was running into trouble putting it in right module. I didn't want it to be in the root namespace; I think I was trying to put it in DPLA::MAP because it pertains to DPLA::MAP::Aggregation, and I was getting undefined constant errors. I think it's something I need to refine another day.

#231 addresses the test that failed in a previous run.


Bugs

When removing Terra Draw in mapbox/maplibre
Object keys should be used here since we are using an array.
https://github.com/JamesLMilner/terra-draw/blob/65ba076741e610a1b9c9eaa6baa5d71d4a1a85b8/src/adapters/mapbox-gl.adapter.ts#L35-L45
Line 35 could be...
["point", "linestring", "polygon"].forEach((geometryKey) => {
and 41
if (geometryKey === "polygon") {
Style property assignment
2 things here, first the assignment is not being done correctly here
https://github.com/JamesLMilner/terra-draw/blob/65ba076741e610a1b9c9eaa6baa5d71d4a1a85b8/src/modes/select/select.mode.ts#L611
Could be...
styles.pointOutlineWidth = this.styles.selectionPointOutlineWidth || 2;
And second, what if the user wants to set the midpoint outline width to 0, then this type of evaluation would interpret that the user hast set anything, a workaround to this right now is to set the value as '0' instead of just 0 so that JavaScript interprets its a string.
Map draggability when in select mode
Currently if you have something selected  you CAN NOT move the underlying map. Basically this is because setDraggability is set to false when onDragStart is being called. I think it is better to set draggability to false only when is strictly necessary (we know for sure the user is about to perform some modification to a feature).
To achieve that we can remove this
https://github.com/JamesLMilner/terra-draw/blob/65ba076741e610a1b9c9eaa6baa5d71d4a1a85b8/src/modes/select/select.mode.ts#L471
And we would need to pass in some way the setDraggability function to each of the behaviors

drag-coordinate
drag-feature
rotate-feature
scale-feature

All of them have an event as a parameter so maybe we could add it to this interface
https://github.com/JamesLMilner/terra-draw/blob/65ba076741e610a1b9c9eaa6baa5d71d4a1a85b8/src/common.ts#L28-L35
like setDraggability?: (enabled: boolean) => void;
which would be filled in this method of the base adapter
https://github.com/JamesLMilner/terra-draw/blob/65ba076741e610a1b9c9eaa6baa5d71d4a1a85b8/src/adapters/common/base.adapter.ts#L297-L319
like const setDraggability = this.setDraggability.bind(this);
Then on each of the behaviors we would add this code
                if (event.setDraggability) {
			event.setDraggability(false);
		}

Between the lines 53 and 55
https://github.com/JamesLMilner/terra-draw/blob/65ba076741e610a1b9c9eaa6baa5d71d4a1a85b8/src/modes/select/behaviors/drag-feature.behavior.ts#L49-L55
Between the lines 66 and 68
https://github.com/JamesLMilner/terra-draw/blob/65ba076741e610a1b9c9eaa6baa5d71d4a1a85b8/src/modes/select/behaviors/drag-coordinate.behavior.ts#L63-L69
Between the lines 34 and 36
https://github.com/JamesLMilner/terra-draw/blob/65ba076741e610a1b9c9eaa6baa5d71d4a1a85b8/src/modes/select/behaviors/rotate-feature.behavior.ts#L31-L36
Again between the lines 34 and 36
https://github.com/JamesLMilner/terra-draw/blob/65ba076741e610a1b9c9eaa6baa5d71d4a1a85b8/src/modes/select/behaviors/scale-feature.behavior.ts#L31-L36
This way the user could move the map freely even when has something selected, and only would prevent so if the user actually wants to do something with the feature.

Hi @alanOracle - thanks for these! I have fixed the first two issues 0.0.1-alpha.35. The last issue is slightly more complicated but I have an idea on how to better handle it!

@alanOracle I will close this as the only specific issue left is the Select mode draggability which is a slightly bigger bit of owrk. I've added it as https://github.com/JamesLMilner/terra-draw/issues/42