text:
findPagingList() and findPagedList() broken on MS SQL Server

Hello,
I was testing out support for MS SQL Server through Ebean(v3.3.4 and v4.5.5) using the sqljdbc4.jar(Microsoft SQL Server JDBC Driver 4.1) and I was unable to get either paging method to produce the proper SQL.  In both cases the SQL generated was missing an alias on the SQL query which caused a PersistenceException.
I was not sure if this was an issue with the JDBC driver or something that EBean was doing under the hood, but was wondering if this has come up before?  I did not see any other issues in the bug queue.

I'm sure this has not come up before  (so we can treat this as a new bug).
Can you post up the SQL and error?
Thanks, Rob.
On 12 March 2015 at 03:41, rbj325 notifications@github.com wrote:

Hello,
I was testing out support for MS SQL Server through Ebean(v3.3.4 and
v4.5.5) using the sqljdbc4.jar(Microsoft SQL Server JDBC Driver 4.1) and I
was unable to get either paging method to produce the proper SQL. In both
cases the SQL generated was missing an alias on the SQL query which caused
a PersistenceException.
I was not sure if this was an issue with the JDBC driver or something that
EBean was doing under the hood, but was wondering if this has come up
before? I did not see any other issues in the bug queue.
—
Reply to this email directly or view it on GitHub
https://github.com/ebean-orm/avaje-ebeanorm/issues/254.

Thanks for responding so quickly Rob.
The error is as follows:
[error] sbt.ForkMain$ForkError: java.util.concurrent.ExecutionException: javax.p
ersistence.PersistenceException: Query threw SQLException:Incorrect syntax near
')'.
[error] Bind values:[%product1%,%Product Desc1%,%drugcode1%]
[error] Query was:
[error] select count(*) from ( select distinct t0.id c0 from product t0 join dru
g_code u1 on u1.product_id = t0.id  where t0.identifier like ?  and t0.descripti
on like ?  and u1.identifier like ? )
[error]
[error]     at com.avaje.ebeaninternal.server.query.LimitOffsetPagingQuery.getTo
talRowCount(LimitOffsetPagingQuery.java:132)
[error]     at com.avaje.ebeaninternal.server.query.LimitOffsetPagingQuery.getTo
talPageCount(LimitOffsetPagingQuery.java:116)
[error]    at com.avaje.ebeaninternal.server.query.LimitOffsetPage.getTotalPage
Count(LimitOffsetPage.java:90)
The SQL that is being generated is:
select count(*) from ( select distinct t0.id c0 from product t0
join drug_code u1 on u1.product_id = t0.id
where t0.identifier like ?  and t0.description like ?  and u1.identifier like ? )
I was able to get that query to run properly in SSMS(Sql Server Management Studio) by adding an alias, "as a".
So the working query would be:
select count(*) from ( select distinct t0.id c0 from product t0
join drug_code u1 on u1.product_id = t0.id
where t0.identifier like ?  and t0.description like ?  and u1.identifier like ? ) as a
I was working against Sql Server 2014 Express and Sql Server 2012.  I noticed that there were DbPlatform files in the source code for Sql Server 2000 and 2005.  Are there plans to add newer Sql Server support?

> Are there plans to add newer Sql Server support?
Up until now DB Platform 2005 was suitable for all sql server after 2005.
With this we might need a new DBPlatform for 2012 and onwards yes.
On 12 March 2015 at 09:08, rbj325 notifications@github.com wrote:

Thanks for responding so quickly Rob.
The error is as follows:
[error] sbt.ForkMain$ForkError: java.util.concurrent.ExecutionException:
javax.p
ersistence.PersistenceException: Query threw SQLException:Incorrect syntax
near
')'.
[error] Bind values:[%product1%,%Product Desc1%,%drugcode1%]
[error] Query was:
[error] select count(*) from ( select distinct t0.id c0 from product t0
join dru
g_code u1 on u1.product_id = t0.id where t0.identifier like ? and
t0.descripti
on like ? and u1.identifier like ? )
[error]
[error] at
com.avaje.ebeaninternal.server.query.LimitOffsetPagingQuery.getTo
talRowCount(LimitOffsetPagingQuery.java:132)
[error] at
com.avaje.ebeaninternal.server.query.LimitOffsetPagingQuery.getTo
talPageCount(LimitOffsetPagingQuery.java:116)
[error] at
com.avaje.ebeaninternal.server.query.LimitOffsetPage.getTotalPage
Count(LimitOffsetPage.java:90)
The SQL that is being generated is:
select count(*) from ( select distinct t0.id c0 from product t0
join drug_code u1 on u1.product_id = t0.id
where t0.identifier like ? and t0.description like ? and u1.identifier
like ? )
I was able to get that query to run properly in SSMS(Sql Server Management
Studio) by adding an alias, "as a".
So the working query would be:
select count(*) from ( select distinct t0.id c0 from product t0
join drug_code u1 on u1.product_id = t0.id
where t0.identifier like ? and t0.description like ? and u1.identifier
like ? ) as a
I was working against Sql Server 2014 Express and Sql Server 2012. I
noticed that there were DbPlatform files in the source code for Sql Server
2000 and 2005. Are there plans to add newer Sql Server support?
—
Reply to this email directly or view it on GitHub
https://github.com/ebean-orm/avaje-ebeanorm/issues/254#issuecomment-78359935
.

Do you know a rough estimate on when this may be included in an official release?  I will try to dig into the source code further to see if I can help expedite the issue.

The problem is probably
in com.avaje.ebean.config.dbplatform.MsSqlServer2005SqlLimiter
... I don't have easy access to MS SQL Server which is problematic (no
windows box handy).
On 12 March 2015 at 09:59, rbj325 notifications@github.com wrote:

Do you know a rough estimate on when this may be included in an official
release? I will try to dig into the source code further to see if I can
help expedite the issue.
—
Reply to this email directly or view it on GitHub
https://github.com/ebean-orm/avaje-ebeanorm/issues/254#issuecomment-78370323
.

Looking at that file you are appending the alias correctly so I'll see if I can create a test case to debug the issue.

Actually on second glance I believe there is an errant new line before the parenthesis where it should be after the parenthesis:
https://github.com/ebean-orm/avaje-ebeanorm/blob/master/src/main/java/com/avaje/ebean/config/dbplatform/MsSqlServer2005SqlLimiter.java#L59

Rob,
Do you have any plans to support/test MSSQL in the future?  It seems that fixing this bug may not be that big of an issue but if there is no plan to actively test against MSSQL during development the effort may be futile?
I noticed that the MSSQL connection was the only one commented out in the source code.

Well I think 'futile' is a bit harsh.  It is pretty easy to run all the
tests against a given DB, you just need to have that database setup and
available.
MS SQL Server for me has the issue of needing a windows box or using
Azure.  I have used Azure but that costs money so I won't have that sitting
around until support contracts offset that cost.  Continuous testing
against MS SQL Server could follow that.
I'm not sure that answers your question.  MS SQL Server has potential to be
a good database for a lot of people and makes some 'commercial' sense for
some people. I wish they would sort out support of jdbc batch insert
returning generated keys (which I think is a massive blunder).  I
personally have not had to use it in anger since SQL Server 2000 but I am
aware of the architectural improvements they have made since then.
Someone who actively uses MS SQL Server may choose to help the project by
actively running the tests against newer database versions as they come
out.  Perhaps you might even be the person to do that - right not I can't
commit to that though.
Anyway, hopefully that answers your question.
Cheers, Rob.
On 27 March 2015 at 02:27, rbj325 notifications@github.com wrote:

Rob,
Do you have any plans to support/test MSSQL in the future? It seems that
fixing this bug may not be that big of an issue but if there is no plan to
actively test against MSSQL during development the effort may be futile?
I noticed that the MSSQL connection was the only one commented out in the
source code.
—
Reply to this email directly or view it on GitHub
https://github.com/ebean-orm/avaje-ebeanorm/issues/254#issuecomment-86512743
.

I have configured hudson for my project with databases:

Debian with MySQL
Debian with PostgreSQL 9.3
Debian with PostgreSQL 9.4
Microsoft Windows 2012 with Microsoft SQL Server 2008
Microsoft Windows 2012 with Microsoft SQL Server 2012
and I will add SQL Server 2014 in near future.

I will add Ebean with GIT pull to my hudson configuration to test newest versions.

I have configured hudson for my project with databases:

Debian with MySQL
Debian with PostgreSQL 9.3
Debian with PostgreSQL 9.4
Microsoft Windows 2012 with Microsoft SQL Server 2008
Microsoft Windows 2012 with Microsoft SQL Server 2012
and I will add SQL Server 2014 in near future.

I will add Ebean with GIT pull to my hudson configuration to test newest versions.

Thank you for your quick responses.
@rbygrave Yes, that did answer my question and I am planning on helping with this bug.
@Ryszard-Trojnacki Thank you for taking the time to set that up.  I'm interested to hear if the tests pass for 2008 as I only tested 2012/2014, but also I need to confirm that there is a test in place that covers this feature or at least reproduces this bug.

So I was trying to execute the paging test I had setup against MS SQL in the Ebean source code and I was receiving this error:
Connected to the target VM, address: '127.0.0.1:51450', transport: 'socket'
14:00:07.833 [main] INFO  c.a.e.server.lib.sql.DataSourcePool - DataSourcePool [ms] autoCommit[false] transIsolation[READ_COMMITTED] min[2] max[20]
14:00:40.866 [main] ERROR c.a.e.s.deploy.BeanDescriptorManager - Error in deployment
java.lang.IllegalStateException: Bean class com.avaje.tests.compositekeys.db.AuditInfo is not enhanced?
at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.setEntityBeanClass(BeanDescriptorManager.java:1365) ~[classes/:na]
at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.createByteCode(BeanDescriptorManager.java:1103) ~[classes/:na]
If you can point me in the right direction for configuring this test I should be able to debug the issue.
I have my sql connection info in the ebean.properties file and I added the sqljdbc4.jar dependency setup.  I'm just not sure why it's picking up the AuditInfo class and complaining about it.
I pulled the latest from master this morning so not sure if that's in flux or not.

Sorry, I dropped the ball on this one.  Where are you at with this issue?

I haven't had a chance to come back to it yet but I'm assuming it's just a configuration issue when I'm trying to run the test suite.

I'll just close this issue for now.  We can reopen it if needed.

I ran into the same problem today using SQLServer 2008 R2. While debugging I came across the following code block from CQueryBuilder#buildRowCountQuery():
    if (hasMany) {
        sql = "select count(*) from ( " + sql + ")";
        if (selectCountWithAlias) {
            sql += " as c";
        }
    }

The field selectCountWithAlias holds the value retrieved from  DatabasePlatform#isSelectCountWithAlias().
Creating a custom database platform which extends MsSqlServer2005Platform where this flag is set to true solved this problem for me.
    public class CustomMSSqlServerPlatform extends MsSqlServer2005Platform {
        public CustomMSSqlServerPlatform() {
            super();
            this.selectCountWithAlias = true;
        }
    }

@maichler That sounds like what I was looking to find with debugging but never got the chance.  Thank you for following up.

authors: Ryszard-Trojnacki maichler rbj325 rbygrave

repo: ebean-orm/avaje-ebeanorm


text:
A molecular single-cell lung atlas of lethal COVID-19 - GSE171524

Project short name:
LethalCovidLungAtlas
Primary Wrangler:
Wei Kheng
Secondary Wrangler:

Associated files

Google Drive:
https://drive.google.com/drive/folders/1PVVRZ3OiNyBI79lFkXfl43VLaCk4FMF5

Published study links

Paper: https://www.nature.com/articles/s41586-021-03569-1#code-availability

Accessioned data: https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE171524

Key Events

[x] Convert published metadata to HCA spreadsheet
[x] Manually curate dataset to meet HCA metadata standard
[x] Collect any matrix and cell-type annotation files
[x] Upload sheet to validate metadata
[x] Check linking using ingest graph validator
[ ] Transfer raw files to ingest to validate data files
[x] Ask the Secondary Wrangler for an end-to-end review of the project. Ask the Expertise Wrangler to review specific tabs if needed
[x] Submit dataset to Production
[x] Complete the Export SOP
[ ] Convert project data to SCEA format following the SCEA conversion SOP if appropriate

This looks good @Wkt8 , some comments, mostly minor, below!

Project tab: I would add the project accession: PRJNA719842

Contributors: maybe add the orchid id for the contributing authors

Publication authors: the format appears as First Name, Surname Initial. I think it should be Surname, First Name Initial

Donor organism: I think you might need to replace 'unknown' with a blank for it to validate as it expects an integer. The BMI ranges might also not validate. I have filed the ability to add a range in BMI in the metadata schema updates ticket, as I was unable to validate a range of BMI values for a dataset I worked on recently.

For ethnicity, I think the cells with 'unknown' or 'not hispanic or latino' should left blank with no ontology, as uncategorised population isn't the same as unknown or not hispanic or latino. Maybe also see what @ESapenaVentura thinks?

Row 8: 'year' should be removed as the age unit as no age in years is given.

I thin the COVID-19 infected donors should have COVID-19 included as a disease ontology in the disease list

Specimen from organism tab: I would only include the disease that affects the specimen organ (lungs). So, lung disease. And include COVID-19 ontology to the disease list.

The collection protocol column isn't complete

Dissociation protocol: maybe add a space or underscore in between dissociation and protocol in the protocol id. Same with other protocol ids.

Replace comma with full stop in Description.

Enrichment protocol: the description "FACS protocol for sorting cells." is quite brief. Is there any more detail given in the publication methods or GEO metadata file? And what makers or stains were used for enriching cells?

Cell suspension: are there experiment accessions (SRX...) that you can add for the cell suspensions?

Sequencing protocol: paired-end should be 'no' for 10X.

Thank you!
I have added the project title, ORCID ID, changed the publication authors, removed the donor organism BMI, removed the 'unknown' and 'not hispanic or latino' ontologies, removed the 'year' age unit, included the COVID-19 disease ontology, only included the diseases affecting lungs, added more detail to the collection protocol column, added underscores to the protocol ids, replaced comma with full stops, and changed paired-end to 'yes' for 10X.
For the enrichment protocol, the FACS protocol was actually used for immunofluorescence, not for the rna cell sequencing, so I have removed it.
There were unfortunately no experiment accessions - only biosample accessions.
Now syncing the analysis_files to the S3 bucket.

@Wkt8 I added the SCEA brokering label and I will remove the Dataset label. That will remove this dataset from this board and only show it in the SCEA brokering board for tracking that independently. Please, let me know if it's not ok and I will revert it back. Thanks

Performing the brokering to SCEA and capturing time!

This dataset is not suitable for SCEA because the raw sequencing data is not available. Moving this to finished.

source: gharchive/issue

authors: Wkt8 ami-day ofanobilbao

repo: ebi-ait/hca-ebi-wrangler-central

license_type: permissive

license_source: github-api


text:
contributor account for: Aleksandra Ivovic

Please create an account a contributor.
Contributor details:

name: Aleksandra Ivovic
email: ai5@sanger.ac.uk

Request Details:

Requested by: @idazucchi
request email details: see email thread
The person doing the upload is not the contributor but the bioinformatician

SOP link

This is done.


text:
Unable to decrypt files

Hello!
We changed the FILE_UPLOAD_HANDLERS as advised and the files inside the file system seems to be encrypted correctly. They are almost the same size, but a little bit bigger.
We tried to use this line in the file return method, and it didn't worked.
return FileResponse(EncryptedFile(open(os.path.join(Path(__file__).resolve().parent.parent, file[1:]), 'rb')))

How should we implement the decryption method?
Can you provide a way to test encryption outside your package?
I tried to use openssl, but with no luck.
$ python3
>>> AES_KEY = b'\x1a>\xf8\xcd\xe2\x8e_~V\x14\x98\xc2\x1f\xf9\xea\xf8\xd7c\xb3`!d\xd4\xe3+\xf7Q\x83\xb5~\x8f\xdd'
>>> AES_KEY.hex()
'1a3ef8cde28e5f7e561498c21ff9eaf8d763b3602164d4e32bf75183b57e8fdd'
>>> full = open ("encrypted-raw.png", 'rb')
>>> save=open("encrypted.png", "wb")
>>> read = full.read()
>>> save.write(read[16:])
>>> read[:16].hex()
'6907a8ed41042e63a7b6855258116f9b'
>>> exit()
$ openssl enc -d -aes-256-cbc -K "1a3ef8cde28e5f7e561498c21ff9eaf8d763b3602164d4e32bf75183b57e8fdd" -iv 6907a8ed41042e63a7b6855258116f9b -in encrypted.png -out decrypted.png
bad decrypt
140061768324480:error:0606506D:digital envelope routines:EVP_DecryptFinal_ex:wrong final block length:../crypto/evp/evp_enc.c:599:

Hi @joaomorenorf
It seems you are passing a list to os.path.join when you pass in file[1:]. Also I believe the Path(__file__).resolve().parent.parent is a Path object, and not str. Could that be the issue?
For decrypting with openssl, use CTR mode instead of CBC. I have not tested decryption with openssl, but you can also use the python cryptography library, which is what this package is using under the hood for encryption/decryption. You may also have to zero-pad the encrypted file, as it mentions wrong final block length.

Hi, @eblocha.
I'm from João's team.
Our variable file is a string to our media folder, containg our file. Replacing it by a example file, we would have something like:
return FileResponse(open(os.path.join('media/uploads/2022/01/25/lista_redes.pdf'), 'rb'))
This works fine, we used that before, but we wanted to integrate it with your django-encrypted-file.
Even using the suggested method to decrypt a file:
def decrypted(request,pk):     f = ModelWithFile.objects.get(pk=pk).file     ef = EncryptedFile(f)     return HttpResponse(ef.read())
The HttpResponse returns

We have a model called "Anexo" that contains a FileField called "arquivo". Replacing the example code exactly as suggested, but with our Anexo.objects.get(pk=pk).arquivo instead of yours ModelWithFile example.

Hi @Gabriel-Rezende, I know this issue is old, but I think this may be due to an incorrect MIME type. It looks like the file is decrypting properly based on the PNG in the response data.
The example is intended for text-based files, since HttpResponse defaults to "text/plain" MIME if none is specified. With FileResponse, it looks like it tries to use either the "name" property on the file-like object (which EncryptedFile does not implement, it inherits from Django's File object). Or, it will use a filename argument passed to it. If both fail, it falls back to "application/octet-stream".
You can try passing the filename attribute to FileResponse.
https://docs.djangoproject.com/en/4.0/ref/request-response/#fileresponse-objects
I will update the readme to include a note about the example.

That's it! Thanks for the suggestion.

authors: Gabriel-Rezende eblocha joaomorenorf

repo: eblocha/django-encrypted-files

license: MIT


text:
Esmya ulipristal

New measure supporting previously issued alert. No supporting notebook due to COVID workload and urgency of this measure. Will revisit at review date.

On staging at http://staging.openprescribing.net/measure/ulipristal/.

source: gharchive/pull-request

authors: brianmackenna inglesp

repo: ebmdatalab/openprescribing


text:
Convert reference and hypotheses to native schema

In v1, the native schema includes words only:
[
 {text: "hello"},
 {text: "world"}
]

The transcripts returned from each vendors, and the reference, need to be converted to this native scheme before further processing.

Include vendor name for easier downstream processing?

Include vendor name for easier downstream processing?

Decision in meeting today to not group WER by vendor in v1.

Do we actually need this step for v1? The normalised reference is a simple text file. Hypotheses JSON files include the entire transcript as a single string that can be easily extracted. Normalisation and diff can both be performed on the text instead of a structured JSON. So do we have to go through this conversion at all if we're only comparing words?

So do we have to go through this conversion at all if we're only comparing words?

This step is already necessary imho, as we would end up using the standard format throughout the entire program, it would be double work to now build a text-based differ and later having to build a native schema differ as well (implementation wise this is a big difference).
Also there can be different 'word segmentation' algorithms used (e.g. only split on spaces? also split on dashes?), which means that before analysis is done it needs to be pre-segmented into words in order to not be stuck to the default word segmentation from the differ algorithm.

Summarising discussion with @MikeSmithEU. We will use JSON for the diff (although note that two identical JSON objects can be different textually, for example if one is nicely formatted).
Deciding where to split words is linguistically complex and also depends on language and locality (consider €1 234,56 vs €1,234.56). So we will not attempt to catch all characters that separate words. A word for the purpose of the schema will be any string between spaces/tab/CRLF. The assumption here is that the user will be responsible for creating normallization rules that minimize  the effects of this minimal logic (such as 'remove spaces between numbers' for the example above).
However, for future proofing, it will be useful to preserve information lost in the process of converting to the native schema. There will be a JSON field that contains the pre-segmented text, but for the moment it will only be used internally and not be included in the output.

Propose we change the field name text to word to make it more specific and to accommodate other types of text in future versions of the schema (like punctuation).

Propose we change the field name text to word to make it more specific and to accommodate other types of text in future versions of the schema (like punctuation).

My proposal is different: leave the field name text, but in the future we might add a textType field, which could specify eg. "word" (only current case) or "punctuation", this way we can group metrics by this type and provide eg. WER for words and "WER" for punctuation (PER, "Punctuation Error Rate"?).

@MikeSmithEU agreed. AWS for example takes that approach and uses the field name "item", with "type": "pronunciation" | "punctuation"

Suggest we use "item" so the same schema could accommodate timed non-textual elements (e.g. sound recognition).

Agreed with something like 'item' or 'contents', not really bothered about the actual name, an abstract name opens up possibilities without adding confusion like we would have with 'text' not really containing text.

Example:
[
{"item": "hello", "type": "word"},
{"item": "!", "type": "punctuation"}
]

Decision in meeting today: use item and type.

This has been implemented in #48
@EyalLavi I propose closing this issue and opening new issues for further enhancement of the Schema.

Agreed. Closing.

authors: EyalLavi MikeSmithEU

repo: ebu/ai-benchmarking-stt


text:
collecting emails with google app scripts

Google Sheet z mailami: https://docs.google.com/spreadsheets/d/1sClNwvGnVzmXXYXQOBxCoAFvVEVKRVUSrGqv0qYc3Mw/edit?usp=sharing
Kod do app script:
 const sheets = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/1sClNwvGnVzmXXYXQOBxCoAFvVEVKRVUSrGqv0qYc3Mw/edit#gid=0");  //if you have changed your sheet name then replace the below Sheet1 with your sheet name const sheet = sheets.getSheetByName("mail"); function doPost(e){   let data = e.parameter;   sheet.appendRow([data.Mail]);   return ContentService.createTextOutput("Your e-mail " + data.Mail + " was successfully sent to the Googlesheet database!"); }

Po usunięciu tekstu z inputu niebieski napis znika.

amazing to see it works! thanks @JoannaNitek

authors: JoannaNitek malwinq


text:
Production cleanup

On production builds create hooks that will remove all console logs

#63

repo: ecency/hivexplorer


text:
Create an admin view for all currently active runs in a server instance

As an admin for a whole instance, I'd like to quickly get an overview over the runs that are currently active in any organization on that instance. It's basically a runs overview page that is not limited to a single repository.
Similarly, probably such overview pages would also be useful on product and organization levels, for admins for those levels respectively.
The main use-case is not to estimate the load on the server, but to get an overview when multiple runs triggered in different organization / products are finished.

As a note, such overview pages should probably be filterable by the user who triggered the run.

Do you think it would be more beneficial to just see the active runs

Originally I was just thinking about active runs, but now that you suggest it, I guess being able to globally filter all runs also could be nice, e.g. to identify jobs that took exceptionally long across all orgs.
In any case, I believe only showing active runs would be a good default filter.
What do @mmurto and @mnonnenmacher think?

I think the endpoint was already implemented so that you can filter by statuts, so I would definitely also support that in the UI. Regarding the default filter I have no strong opinion, but a tendency towards setting none, otherwise the view would often be empty for not so active instances.

I feel no default filter makes sense, I think it gives a better overview at a glance on what has happened as well as the currently running jobs.

but a tendency towards setting none, otherwise the view would often be empty for not so active instances.

I don't think that having an empty view in such cases would be a problem, but I also have no strong opinion here, just a personal preference for my use-case to watch active runs / server load.

my use-case to watch active runs / server load.

For that a Grafana board works better, like:

This was done in https://github.com/eclipse-apoapsis/ort-server/pull/1238.

authors: mmurto mnonnenmacher sschuberth

repo: eclipse-apoapsis/ort-server


text:
feat(Event Frame Work): add intermediate superclass for PolicyDefinition Events hierarchy

What this PR changes/adds
Add a 'intermediate' superclass for the Event Payload Classes of the PolicyDefinition classes.
Why it does that
Improve the work with the Event Framework and give the possibility to filter Events on a bigger group of events.
Linked Issue(s)
Closes #1914
Checklist

[ ] added appropriate tests?
[x] performed checkstyle check locally?
[x] added/updated copyright headers?
[ ] documented public classes/methods?
[ ] added/updated relevant documentation?
[ ] assigned appropriate label? (exclude from changelog with label no-changelog)
[x] formatted title correctly? (take a look at the CONTRIBUTING and styleguide for details)

Codecov Report

Merging #1915 (782d100) into main (8737a4f) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main    #1915   +/-   ##
=======================================
  Coverage   62.78%   62.78%
=======================================
  Files         781      782    +1
  Lines       16614    16614
  Branches     1079     1079
=======================================
  Hits        10431    10431
  Misses       5732     5732
  Partials      451      451

Impacted Files
Coverage Δ

...vent/policydefinition/PolicyDefinitionCreated.java
100.00% <100.00%> (ø)

...vent/policydefinition/PolicyDefinitionDeleted.java
100.00% <100.00%> (ø)

...policydefinition/PolicyDefinitionEventPayload.java
100.00% <100.00%> (ø)

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

@jimmarino Added the asked documentation. Just give me a feedback if its the way you want it.
If it is ok, i will add it the same way to the other PRs.

I don't think this is necessarily related to this PR, but the PR highlights an issue: the event class hierarchy seems more complicated than it needs to be. Specifically, there are payload classes, some of which are package level, and others which are inner classes. This contributed to some confusing class hierarchies and a lot of extra classes.
@ndr-brt Why can't we flatten the event class structure by keeping payloads in the event? Common fields can be placed on abstract classes and with concrete classes containing the payload data directly. We don't need the ability to partially unwrap events, so wouldn't this make things easier and more concise?
We can also move this to a discussion instead of polluting the PR.

So im going to adjust the documentation as you described @jimmarino and push it to the PRs.
For the structure you are gonna open a discussion. Are you fine with this @jimmarino and @ndr-brt ?

So im going to adjust the documentation as you described @jimmarino and push it to the PRs.
For the structure you are gonna open a discussion. Are you fine with this @jimmarino and @ndr-brt ?

Yes I'm fine, I would go and merge these "superclass" PRs, then discuss modeling in parallel.

authors: codecov-commenter janpmeyer jimmarino ndr-brt


text:
Build failed with an exception - Cannot locate tasks that match ':launchers:shadowJar' as task 'shadowJar'

Bug Report
I followed the guide written in README.md
When I run command: ./gradlew :launchers:shadowJar
The system returns following error:
ubuntu@gaia-x-2:~/git/FederatedCatalog$ ./gradlew :launchers:shadowJar

FAILURE: Build failed with an exception.

* What went wrong:
Cannot locate tasks that match ':launchers:shadowJar' as task 'shadowJar' not found in project ':launchers'.

Expected Behavior
BUILD SUCCESSFUL should be returned
Context Information
ubuntu@gaia-x-2:~/git/FederatedCatalog$ ./gradlew --version

------------------------------------------------------------
Gradle 8.5
------------------------------------------------------------

Build time:   2023-11-29 14:08:57 UTC
Revision:     28aca86a7180baa17117e0e5ba01d8ea9feca598

Kotlin:       1.9.20
Groovy:       3.0.17
Ant:          Apache Ant(TM) version 1.10.13 compiled on January 4 2023
JVM:          17.0.11 (Ubuntu 17.0.11+9-Ubuntu-122.04.1)
OS:           Linux 5.15.0-112-generic amd64

ubuntu@gaia-x-2:~/git/FederatedCatalog$ java -version
openjdk version "17.0.11" 2024-04-16
OpenJDK Runtime Environment (build 17.0.11+9-Ubuntu-122.04.1)
OpenJDK 64-Bit Server VM (build 17.0.11+9-Ubuntu-122.04.1, mixed mode, sharing)

Investigations
This issue doesn't occurs if I run: ./gradlew :launchers:catalog-dcp:shadowJar

yeah, that's a bug in the README.md, it should either be ./gradlew shadowJar or ./gardlew -p launchers shadowJar.
do you mind submitting a PR?

However, this would only correct part of the error in the document.
After a successful build I get
BUILD SUCCESSFUL in 2s
18 actionable tasks: 18 up-to-date
ubuntu@gaia-x-2:~/git/FederatedCatalog$ java -Dweb.http.catalog.path="/api/catalog" \
     -Dweb.http.catalog.port=8181 \
     -Dweb.http.path="/api" \
     -Dweb.http.port=8080 \
     -jar launchers/build/libs/fc.jar
Error: Unable to access jarfile launchers/build/libs/fc.jar
ubuntu@gaia-x-2:~/git/FederatedCatalog$

The reported error is fixed, but the referenced API has unreachable links OpenAPI

repo: eclipse-edc/FederatedCatalog


text:
Do not create a new DelegatingLoader if the classloader for the proxy…

… interface and the classloader for the WSServiceDelegate are the same.
This should alleviate some cases of https://github.com/javaee/metro-jax-ws/issues/1161 and https://github.com/eclipse-ee4j/metro-jax-ws/issues/32, where we see additional metaspace usage from loading proxies in different instances of DelegatingLoader class loaders every time they are created even though WSServiceDelegate and the proxy interface are loaded in the same classloader.
Signed-off-by: Brian Delaney briandelaney@google.com

Thanks!

authors: brianmdelaney lukasj

license_source: bigquery


text:
Add Unit Tests and Update Notice Generation for MQTT Connector's Azure Function

This PR closes #25

This PR closes #16

repo: eclipse-ibeji/freyja


text:
[Digital Twin KIT] Fix Markdown Linting Issues

Due to the activation of the markdown linter in #674, several problems with different markdown files exist that need to be fixed.
Output:
docs-kits/kits/Digital Twin Kit/page_adoption-view.md:21:120 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/page_adoption-view.md:22:119 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/page_adoption-view.md:25:114 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/page_adoption-view.md:40:211 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/page_adoption-view.md:46:116 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/page_adoption-view.md:47:115 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/page_adoption-view.md:48:116 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/page_adoption-view.md:50:116 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/page_adoption-view.md:52:124 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/page_adoption-view.md:53:116 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/page_adoption-view.md:54:119 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/page_adoption-view.md:75:144 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/page_adoption-view.md:76:119 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/page_adoption-view.md:77:118 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/page_adoption-view.md:86:202 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/page_adoption-view.md:90:16 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/page_adoption-view.md:92:118 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/page_changelog.md:26 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]
docs-kits/kits/Digital Twin Kit/page_changelog.md:56 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]
docs-kits/kits/Digital Twin Kit/page_software-operation-view.md:29 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]
docs-kits/kits/Digital Twin Kit/page_software-operation-view.md:30:106 MD047/single-trailing-newline Files should end with a single newline character
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:24:160 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:25:120 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:28:123 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:33:120 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:39:110 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:41:127 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:42:117 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:50:132 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:60:128 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:61:127 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:67:142 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:71:113 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:72:119 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:77:118 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:78:121 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:79:172 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:80:260 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:88:119 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:89:38 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:92:122 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:98:120 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:99:108 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:100:117 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:106:121 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:113:119 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:119 MD032/blanks-around-lists Lists should be surrounded by blank lines [Context: "- The `subprotocolBody` contai..."]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:121:1 MD030/list-marker-space Spaces after list markers [Expected: 1; Actual: 2]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:124:120 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:125:42 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:242:118 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:245:134 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:261:112 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:308 MD031/blanks-around-fences Fenced code blocks should be surrounded by blank lines [Context: "```"]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:310:123 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:310 MD032/blanks-around-lists Lists should be surrounded by blank lines [Context: "- `baseUrl`: After successful ..."]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:322 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:326:133 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:329:93 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:369:123 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
docs-kits/kits/Digital Twin Kit/Software Development View/page_software-development-view.md:442 MD032/blanks-around-lists Lists should be surrounded by blank lines [Context: "1. Digital Twin Repository: De..."]

authors: arnoweiss mhellmeier


text:
[BE][EDC][DATA-PROVISIONING] Implementation subsequential flow in Trace X

As an admin
I want I want a scheduler to handle asynchronous processing
so that the overall system functionality is enhanced
Hints / Details
See concept: Catena Concept
Acceptance Criteria

[ ] Provide a scheduler for an async processing of:

[ ] edc contract definition (including asset creating and policy) has been implemented by using irs client lib
[ ] register shell into registry has been implemented by using irs client lib
[ ] creating submodels has been implemented by using submodel client of trace-x
[ ] assetimportstate has been updated
[ ] irs sync triggered after update

[ ] will be triggered by post publish api

Out of Scope

...

:no_entry: ia blocked by #535
:no_entry: is blocked by #412
:no_entry: is blocked by #410

[ ] Provide a scheduler for an async processing of: (takes assets with importState IN_SYNC)
Scheduler triggers every hour starting at 00:30 to avoid cron job that reloads registry every 2 hours starting at 00:00

[ ]  edc contract definition (including asset creating and policy) has been implemented by using irs client lib
For protocol to work correctly had to create submodel server asset and contract connected to the same policy as DTR asset and contract

[ ]  creating submodels has been implemented by using submodel client of trace-x

[ ]  register shell into registry has been implemented by using irs client lib
Currently while building shell externalSubjectId is used for accessing manufacturerId/businessPartner data from DTR
this was used from the beginning when we started to use python upload script.
there was Investigation created on how to change adjust flow and DTR shell registration to be handled by policies instead
#740

[ ]  does a transition to assetImportState PUBLISHED_TO_CX

[ ]  irs sync triggered after update
irs Sync logic was adjusted not to sync TRANSIENT or IN_SYNC. Only PUBLISHED_TO_CX will be updated together with Supplier and Customer parts

[ ] will be triggered by post publish api

[ ]  https://catenax-ng.github.io/tx-traceability-foss/docs/arc42/full.html#_data_provisioning Modul 2 updated

[ ]  https://catenax-ng.github.io/tx-traceability-foss/docs/arc42/full.html#_data_provisioning Modul 3 updated

Tested successfully together with @ds-ext-sceronik on E2E. Ready for review @jzbmw

authors: ds-crehm ds-ext-sceronik ds-jleyh

repo: eclipse-tractusx/traceability-foss


text:
"Pseudo" Online Training for DeepWalk

As discussed with @raver119 on Gitter, a good new feature for the next version of the DeepWalk implementation would be to enable "pseudo" online learning to its implementation.
The usecase that triggered this new feature is:

we have a static graph that initialized the DeepGraph instance and that got trained with it. Then
over time, we create new leaf vertices that only link to existing vertices in the graph
once a new node is added that way, a training pass would be performed on it

I named that feature "pseudo" only because if someone would use that new feature to do "full" online learning with the implementation, then if it would add new non-leaf vertices or if it would modify vertices within the graph, then innacuracies (errors) may crop in. However, it could still be used that way, but re-training of the whole graph would need to be performed if too many modifications have been performed on the graph.

Yep, so basically we're speaking about some kind of inference.

Closing old issues.

authors: agibsonccc fgiasson raver119


text:
kuksa-client docker > 400MB on ARM

kuksa-client docker is around 480MiB on ARM, while the "normal" size on x64 is around 95MiB.
Root cause seems to be a fault in the GRPC build process that leaves an unstripped .so
see inside the container
/kuksa-client # du -hcs *
[...]
242.2M	grpc
150.3M	grpc_tools

There is an issue https://github.com/grpc/grpc/issues/29935
the easiest solution is probably just stripping manually when building on ARM

Partially related to observations in #367
If we fix it we could possibly change push: false at https://github.com/eclipse/kuksa.val/blob/master/.github/workflows/kuksa-client.yml#L93

authors: SebastianSchildt erikbosch


text:
Improve Registration.getSortedObjectLinks performance

Leshan 1.0.0-M9
Current behaviour:
When using the Leshan Demo server, there are a lot of this type of exceptions when there are a lot of registrations:
java.lang.NumberFormatException.<init>(String)
at java.lang.NumberFormatException.forInputString(String)
at java.lang.Integer.parseInt(String, int)
at java.lang.Integer.parseInt(String)
at org.eclipse.leshan.server.registration.Registration.isNumber(String)
at org.eclipse.leshan.server.registration.Registration.access$000(String)
at org.eclipse.leshan.server.registration.Registration$1.compare(Link, Link)
at org.eclipse.leshan.server.registration.Registration$1.compare(Object, Object)
at java.util.TimSort.countRunAndMakeAscending(Object[], int, int, Comparator)
at java.util.TimSort.sort(Object[], int, int, Comparator, Object[], int, int)
at java.util.Arrays.sort(Object[], Comparator)
at org.eclipse.leshan.server.registration.Registration.getSortedObjectLinks()
at org.eclipse.leshan.server.demo.servlet.json.RegistrationSerializer.serialize(Registration, Type, JsonSerializationContext)
at org.eclipse.leshan.server.demo.servlet.json.RegistrationSerializer.serialize(Object, Type, JsonSerializationContext)

originating from https://github.com/eclipse/leshan/blob/e438d749ba997abb63ed49504ada17cde1240c1e/leshan-server-demo/src/main/java/org/eclipse/leshan/server/demo/servlet/EventServlet.java#L85
Expected behaviour:
Normal operations shouldn't create a large number of exceptions. It seems that Registration.isNumber could be improved so that it doesn't throw exceptions. A good example for a better approach is the one in Commons Lang StringUtils.isNumeric

Demo is just a demo. We don't aim to handle a lot of registrations.
Anyway, the fix proposed sounds good.
I made some bench  ...
Benchmark                         Mode  Cnt         Score         Error  Units
IsNumericTest.testIsNumber       thrpt    3  26590429,681 ± 2885084,088  ops/s
IsNumericTest.testIsNumberFail   thrpt    3  26459725,741 ±  412815,205  ops/s
IsNumericTest.testIsNumeric      thrpt    3  41837663,625 ±  490409,437  ops/s
IsNumericTest.testIsNumericFail  thrpt    3  41675654,458 ±  663382,727  ops/s

... and write a PR about that : #506
Could you confirm this behave better ?

LGTM , thank you @sbernard31

repo: eclipse/leshan


text:
Simple MessageIdProvider (memory consumption fix)

A basic MessageIdProvider implementation using a simple counter for each peer to get the next messageId.

You should add it to nonSecureEndpoint endpoint too.

👍


text:
Delete old BOM

repo not marked as deprecated but I (Triber Cesar) think can also be deleted since now the BOM is been maintained on the github/eclipse repositories. I guess kenfinnigan is the one you can ask for confirmation.

I don't see any issue with archiving/deleting that repository

Just to be clear, this is the microprofile-bom repo in the MicroProfile github namespace, not the Eclipse namespace.  So, this repo is not needed at all anymore.  Go ahead and delete/archive it.
The Eclipse microprofile-bom repo has an updated README that indicates it is deprecated.

thank you both for confirming 👍

@dblevins can you archive or delete this repo? thanks-- i don't have the access to complete clean up.

@dblevins this ticket is closed.

authors: aeiras kenfinnigan kwsutter

repo: eclipse/microprofile-marketing


text:
CQ for Thorntail usage by MicroProfile-starter

We need to create CQ for Thorntail 2.2.1.FINAL.

@Emily-Jiang @cealsair CQ is awaiting Source code attachment

I just uploaded the source files in a ZIP file.

According to CQ comment, Thorntail contains LGPL only licensed files which is not approved for usage within Eclipse.

We held a meeting today with Kevin Sutter and it was determined that this CQ is un-needed. The runtime, i.e. Thorntail, that runs this web app, i.e. MicroProfile Starter, does not need to go through IP review. Emily agreed to withdraw this CQ from the IP review process. Thank you.

I just clicked on the "Withdraw this CQ" button and withdrawal took place. I thought Emily could only do this since she created the CQ. Sorry for the confusion. At any rate, CQ should be withdrawn by now.  Thanks.

Issue closed

authors: Emily-Jiang cealsair rdebusscher

repo: eclipse/microprofile-starter


text:
Possible support for Adafruit ft232h on Linux x86 desktop

Hi,
I tried to use mraa (it's c++ bindings specifically) for controlling my Adafruit FT232H board and it's gpio pins but without success. Is this library supposed to work only on embedded arches or can I use it somehow on my x86 Linux for my board?
Thank you for your time.

This library typically runs on Linux platforms x86/arm/mips with the IO being provided by the SoC. There is support for these kind of USB break out boards, see https://github.com/eclipse/mraa/blob/master/docs/ftdi_ft4222.md which might be applicable

I see, I didn't know this.
Thank you very much and forgive my delayed answer.

repo: eclipse/mraa


text:
Changed sprintf function with snprintf, added LEC-ALAI alias for LEC-AL-AI platform, changed UART 0 base address of ADLINK PX30 platform

I have updated sprintf function into snprintf and we have fixed few other issues ADLINK board platform.

Hi,
I fixed sonar-scan issue and committed the changes. pull request was completed successfully,

Thank you these have all been merged!


text:
Add latest ecFlow attributes: Aviso & Mirror

This set of changes aligns pyflow with ecFlow 5.13.0.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@corentincarton These changes only make sense when ecFlow 5.13.0 is available. Any suggestion on how to handle this dependency?

@marcosbento, can you put the >= 5.13.0 requirements in the environment.yml ? Careful we have another one in the doc folder (this should probably all go into the toml config actually).
Apart from that, are you ready to merge this branch?

@marcosbento. One last thing, could you add an example of usage in the documentation? For instance there: https://github.com/ecmwf/pyflow/blob/develop/docs/content/introductory-course/flow-control.ipynb

authors: FussyDuck corentincarton marcosbento

repo: ecmwf/pyflow


text:
分库分表： merger排序实现

合并了一下代码

@juniaoshaonian 学习一下git rebase 这样你应该就不用关闭之前的PR https://github.com/ecodeclub/eorm/pull/166

大佬们关于Next遍历完自动调用close方法的问题，你们觉得现在要怎么处理
func (rs *Rows) nextLocked() (doClose, ok bool) {
if rs.closed {
return false, false
}
rs.dc.Lock()
defer rs.dc.Unlock()
if rs.lastcols == nil {
	rs.lastcols = make([]driver.Value, len(rs.rowsi.Columns()))
}
//当遍历到最后一行时会返回EOF这个错误
rs.lasterr = rs.rowsi.Next(rs.lastcols)
if rs.lasterr != nil {

	if rs.lasterr != io.EOF {
		return true, false
	}
	nextResultSet, ok := rs.rowsi.(driver.RowsNextResultSet)
	if !ok {
		return true, false
	}
    // 如果是EOF错误并且没有下一个结果集就会把他关闭
	if !nextResultSet.HasNextResultSet() {
		doClose = true
	}
	return doClose, false
}
return false, true

}
// dbClose为true就会调用close方法

还有Columns方法，一个sql.Rows遍历完如果再调用Columns方法会直接报连接已关闭的错误，我的想法是如果遇到连接已关闭的错误就继续下一个sql.Rows。但是如果是其他错误应该怎么办，直接返回还是说继续遍历下一个。还是说遇到错误直接不管一直遍历下去直到最后一个，返回最后一个的错误？

@longyue0521 @flycash

大佬们关于Next遍历完自动调用close方法的问题，你们觉得现在要怎么处理
func(rs *Rows) nextLocked() (doClose, ok bool) {
	if rs.closed {
		return false, false
	}
	rs.dc.Lock()
	defer rs.dc.Unlock()
	if rs.lastcols == nil {
		rs.lastcols = make([]driver.Value, len(rs.rowsi.Columns()))
	}
	//当遍历到最后一行时会返回EOF这个错误
	rs.lasterr = rs.rowsi.Next(rs.lastcols)
	if rs.lasterr != nil {

		if rs.lasterr != io.EOF {
			return true, false
		}
		nextResultSet, ok := rs.rowsi.(driver.RowsNextResultSet)
		if !ok {
			return true, false
		}
        // 如果是EOF错误并且没有下一个结果集就会把他关闭
		if !nextResultSet.HasNextResultSet() {
			doClose = true
		}
		return doClose, false
	}
	return false, true
}
// dbClose为true就会调用close方法

按之前聊过的,尽可能与sql.Rows的各个方法语义保持一致.
在单结果集下,sortmerger.Rows.Next在非异常情况下返回false表明内部heap中没有预Scan的行了,而在预Scan之前都会先调用一下sql.Rows.Next如果其返回false也就是会自动关闭,所以现在来看sortmerger.Rows.Next可以说是做到了下面这个部分:

  nextResultSet, ok := rs.rowsi.(driver.RowsNextResultSet)
  if !ok {
  	return true, false
  }

sortmerger.Rows.Next在异常情况下返回false即内部在迭代sql.Rows时或者预Scan时报错的情况下,也设置了r.lasterr并执行了r.Close可以说是做到了下面这部分:
if rs.lasterr != io.EOF {

  	return true, false
  }

在多结果集的情况,sortmerger.Rows暂时不支持所以没有处理多结果集的情况.多结果集处理起来也有坑:假设从三个sqlRows取数据,每个sqlRows有2个结果集.sqlRows1的第一个结果集最先被取完,这时是直接取其下一个结果集的数据还是等待sqlRows2和3的第一个结果集都取完,然后调用三者的NextResultSet再一起从各自第二个结果集里取数据? 简单描述就是多个sqlRows的多个结果集之间数据能否交叉取?

还有Columns方法，一个sql.Rows遍历完如果再调用Columns方法会直接报连接已关闭的错误，我的想法是如果遇到连接已关闭的错误就继续下一个sql.Rows。但是如果是其他错误应该怎么办，直接返回还是说继续遍历下一个。还是说遇到错误直接不管一直遍历下去直到最后一个，返回最后一个的错误？

这么做确实可以,但也依赖于一个假设——所有sql.Rows的列都是相同的,之所以称之为假设,因为在NewSortMerger的时候并没有检查各个sqlRows的列是否相同,可以考虑把这个假设变为约束同时把你上面提到的如果是其他错误应该怎么办前置到NewSortMerger阶段,在检查各个sqlRows的列是否相同的同时在Rows内部缓存一份列集及其类型,这样就与底层sqlRows解耦了,可以根据sortmerger.Rows内部的状态来定义返回而不再依赖于底层sqlRows以及处理其error

@juniaoshaonian 请保持PR的单一性,在这个PR中只修改sortmerger相关代码,把你bachmerger相关代码的修改revert回去,另外开PR处理.不要混在一起改.

@juniaoshaonian 请保持PR的单一性,在这个PR中只修改sortmerger相关代码,把你bachmerger相关代码的修改revert回去,另外开PR处理.不要混在一起改.

我改了一下errror的名字，和加了err()方法，让他们不报错

大佬你知道正常情况SortMerger中的传入的sql.Rows列表中的元素他的columns返回的元素顺序是一致的吗

@flycash
看一下

https://github.com/ecodeclub/eorm/pull/169#issuecomment-1469924139
https://github.com/ecodeclub/eorm/pull/169#issuecomment-1469945680

多结果集的问题：首先第一个是 longyue 提到的，我们难以确定是不是大家的第一个结果集都处理完了，再同时开启第二个结果集；第二点是我认为用户不应该使用多结果集，因为多结果集还涉及到两次查询列不一样，比如说 select a from; select b from; 甚至于 select 和 update 混用；第三则是，按照道理来说，sql.Rows 内部已经尝试了 next result set，我们自己就不处理了。可以说，多结果集情况下，我们依赖于 sql.Rows 本身的语义。那么也就是如果全部结果集都相等，那么排序就是全部结果集一起参与排序；
所有结果的列都是一样的：这个是非常强的假设，或者说是我们这个 merger 运作的基石。虽然理论上来说大家列不一样，但是排序列都一样的话我们也能处理，但是这个场景不对。在我们预期中，这个东西就应该是给相似的查询用的，也就是返回的列必须都一样。甚至于，我都认为这是一个连检测都不需要检测的假设，因为用户但凡用这个merger，他就应该知道如果列不一样或者排序列不一样会有什么奇怪的事情发生。毕竟这不是一个直面普通开发的东西，是一个给高级开发人员用的；

https://github.com/ecodeclub/eorm/pull/169#issuecomment-1469924139 这个地方是要加并发测试吗？@longyue0521?

第三则是，按照道理来说，sql.Rows 内部已经尝试了 next result set，我们自己就不处理了。可以说，多结果集情况下，我们依赖于 sql.Rows 本身的语义。那么也就是如果全部结果集都相等，那么排序就是全部结果集一起参与排序；

sql.Rows只是调用HasNextResultSet检测一下是否有下一个结果集并不会自动跳到下一结果集，需要用户显示调用sql.Rows.NextResultSet方法跳到下一个结果集。

所有结果的列都是一样的：这个是非常强的假设，或者说是我们这个 merger 运作的基石。虽然理论上来说大家列不一样，但>是排序列都一样的话我们也能处理，但是这个场景不对。在我们预期中，这个东西就应该是给相似的查询用的，也就是返回的>列必须都一样。甚至于，我都认为这是一个连检测都不需要检测的假设，因为用户但凡用这个merger，他就应该知道如果列不>一样或者排序列不一样会有什么奇怪的事情发生。毕竟这不是一个直面普通开发的东西，是一个给高级开发人员用的；

好的，在顶层抽象Merger接口加个注释怎么样，一方面介绍Merger的作用，另一方面提示一下：[]sql.Rows中每个sql.Rows仅支持单个结果集且每个sql.Rows中列集必须完全相同。

#169 (comment) 这个地方是要加并发测试吗？@longyue0521?

不是，是为了回答这个问题 https://github.com/ecodeclub/eorm/pull/169#issuecomment-1469649466
我认为现在sortmerger.Rows.Next的语义符合sql.Rows.Next的语义

好的，在顶层抽象Merger接口加个注释怎么样，一方面介绍Merger的作用，另一方面提示一下：[]sql.Rows中每个sql.Rows仅支持单个结果集且每个sql.Rows中列集必须完全相同。

OKKK

好的，在顶层抽象Merger接口加个注释怎么样，一方面介绍Merger的作用，另一方面提示一下：[]sql.Rows中每个sql.Rows仅支持单个结果集且每个sql.Rows中列集必须完全相同。

OKKK

@juniaoshaonian 按上面的描述添加一下注释，再我把上面提到注释改了，这个PR就OK了

@juniaoshaonian 在最顶层Rows接口上也加一个注释：各方法用法及语义尽可能与sql.Rows

authors: flycash juniaoshaonian longyue0521

repo: ecodeclub/eorm


text:
style: style for discussions

Nouveau style correspondant à ce qui est envisagé sur data.gouv.fr
Attention, ce n'est que du style, pas de fonctionnalité de réponse aux commentaires dans cette PR.

@abulte la pagination des discussions ne marchait pas chez moi. Je viens de recréer une issue (#265) pour la refaire fonctionner.

Pour info: J'ai passé la récupération de l'avatar_thumbnail dans une fonction. Pour le design, on va de toute façon componentiser l'existant sur data.gouv donc la partie template va bouger sous peu

repo: ecolabdata/ecospheres-front


text:
bug反馈：一个Echart实例多个饼图动态setOption报ID重复

bug重现示例：
http://jsbin.com/kidificifi/1/edit?html,output
描述：
如果在初始化设置Option时在series数组中设置多个饼图实例，在结果中可以看到多个饼图。
但是如果是在异步等动态修改setOption设置series的值时，Echart报错，压缩文件内提示id重复。

@adamed
这个情况是因为添加多个序列，没有指定series序列每项的name值，造成的。因为name值是用来

系列名称，用于tooltip的显示，legend 的图例筛选，在 setOption 更新数据和配置项时用于指定对应的系列。

顺便给你看一个https://jsfiddle.net/SuperZ/599ewvdg/
PS:这种多序列情况下，如何处理好呢？

谷歌浏览器最小化后再打开就显示空白,尤其做实时数据展示时

echart 谷歌浏览器最小化后再打开就显示空白，尤其是开定时实时获取数据，或者用socket.io，其他浏览器不会

authors: Dave-SEO SuperZDev adamed

repo: ecomfe/echarts


text:
地图鼠标移入事件响应

问题简述 (One-line summary)
鼠标移入地图，响应mousehover事件，在回调函数中如何获得当前地图区域的地名。
版本及环境 (Version & Environment)

ECharts 版本 (ECharts version): 3.1.2
浏览器类型和版本 (Browser version): chrome 46.0.2490.80 (64-bit)
操作系统类型和版本 (OS Version): OS X EI Capitan

重现步骤 (Steps to reproduce)
1.鼠标移入地图
2.
期望结果 (Expected behaviour)
响应鼠标移入事件，并获得当前区域的名称
可能哪里有问题 (What went wrong)
ECharts配置项 (ECharts option)

option = {
                series: [{
                    type: 'map',
                    map: 'neimenggu',
                    itemStyle:{
                        normal:{
                            label:{show:false},
                            areaColor: "#eee",
                            borderColor: "#ccc"
                        },
                        emphasis:{
                            label:{show:true},
                            areaColor: "#f4b95c",
                            borderColor: "#999"
                        }
                    }
                }]
}

其他信息 (Other comments)

监听 mouseover 事件


text:
修复 Safari 中 drawer 无法显示的问题

原因
Safari 中两个样式为 position: fixed 的元素产生父子关系时，如果父元素没有指定宽高并且样式设置 overflow: auto，子元素无法被正常渲染。
复现用例
http://jsdm.com/anon/paint/aT67w

Coverage remained the same at 44.382% when pulling 890266e4fa38abbb50af8bd1f5a2dd340ab14b83 on Dafrok:patch-1 into 55f367be5f4acb4f79f63c5f0c208108027e32ab on ecomfe:master.

authors: Dafrok coveralls

repo: ecomfe/san-mui

license: mit


text:
错误使用 prototype

zrender 版本：3.1.0
场景复现：
使用 echarts-liquidfill 时报如下错误：
Uncaught TypeError: tracks[propName].push is not a function
    at Animator.when (Animator.js)
    at Sub._animateToShallow (Animatable.js)
    at Sub._animateToShallow (Animatable.js)
    at Sub.animateTo (Animatable.js)
    at animateOrSetProps (graphic.js)
    at Object.graphic.updateProps (graphic.js)
    at DataDiffer.eval [as _update] (liquidFillView.js)
    at DataDiffer.execute (DataDiffer.js)
    at ExtendedClass.render (liquidFillView.js)
    at ECharts.eval (echarts.js)

断点发现错误时 propName 为 "constructor"
问题总结：
由此发现问题应该是 src/graphic/Style.js L57 ：
    Style.prototype = {

        constructor: Style,  // 此处

这种方式 constructor 为 enumerable，使用 for ... in 遍历的时候会遍历到。建议不要直接覆盖 prototype，而是逐个添加属性
涉及到的文件（搜索 constructor: ）有：

此外，zrender/core/util L183 中 inherits 工具方法也有此问题，不过可能不太好处理，不知 zrender 是否要兼容到 IE8，不兼容的话可以使用 Object.defineProperty，当然还不如尽早升级一下代码使用 ES6+ 并做降级处理

这个 for in 是哪里的？

你这个问题和Sytle中的constructor没有关系的，是因为在zrender添加和执行动画的顺序如下：
1.每一个Element会混入Animatable对象最为元素的动画管理类，其中animate方法就是想元素的animators数组中添加动画帧animate
2.animator添加后会返回animator实例，animator实例中的when方法添加动画片段，可以向一个帧中添加多个动画片段（when多次）
3.最后调用animator实例的start方法将每个动画片分解成Clip实例（我一直把clip翻译成小精灵）
4.animator调用animation实例（animation是管理整个zr的动画，她控制的是精灵库clips），这里分多钟情况，分别是：元素已经add到zr中，和元素未add到zr中
5.animation会一直轮训执行它的_update方法，去执行精灵库clips里的每个小精灵，这便是我们肉眼所看到的动画了。
因此，你上面的错误，看来是animator中执行when的时候，trancks没有初始化造成的。
上述分析仅供参考。

抱歉，问题我没有描述的很清楚，下面我附上图（animation/Animator.js）：

你理解的应该不对，
1.this._tracks只是保存动画片段（需要参与动画的属性键值对）一个对象，默认为空对象{}，赋值以后的demo：{cx:[{time:500,value:500},{time:1500,value:1500}],cy:[...],...}
2.遍历的var propName in props的props是传入的需要参与的动画的属性，如：{cx:500,cy:500},在这边遍历，是为了把他们加入到_tracks的动画序列里
3.你上文给我回复的第二幅图片第2个箭头的地方，你说tracks一定存在constructor我给的回复是：这里只是想判断该参与动画的属性（如:cx:500）是否已存在动画序列，如果不存在，需要给该属性插入一个动画起点对象，并push到动画序列_tracks中去，就好比我们做动画的时候，是从起点开始的，不能第一帧就跳到变化后的地点开始。
不知道有没有讲清楚，有问题再联络。

实在抱歉，新版本里已经修复了

感谢 @Ovilia Review，感谢 @leitinggit 解答

authors: Ovilia cnlon leitinggit

repo: ecomfe/zrender


text:
Erro de mostrar estoque do produto

Na loja o produto tem estoque, mas ao pesquisar ele na loja na barra de pesquisa fala que não há

Clicando nele:

Isso acontece tanto na loja, quanto no admin

Essa lib é só cliente, certamente não é um issue daqui.
Você sabe quando isso foi alterado? Nesse momento a informação não foi mapeada no ELS, salve esses produtos novamente no painel que deve atualizar o banco.

Tem quase 40 minutos que foi alterado e na loja não teve mudança

A camila salvou de novo duas vezes segundo ela e não teve mudança

Quem dera fosse só pra mostrar 😬
Tava dando bosta mesmo quando era um produto que tinha variação e passou a não ter mais, corrigi e vou dar um bump em todos de todas as lojas no ELS mas isso demora um pouco, esse aí já está certo, se ela souber se mais algum só salvar no painel.

repo: ecomplus/search-engine


text:
🛑 KJM Ceremonies is down

In 265b87e, KJM Ceremonies (https://kjmceremonies.co.uk/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: KJM Ceremonies is back up in b2a9b5d after 6 minutes.

repo: eddiebt/BTCWebMonitor


text:
Rename pt-br.json to pt-BR.json

Correction from pt-br to pt-BR to comply with international standards

This is extremely important for Brazilian users, as using pt-br instead of pt-BR makes the theme in English.

Thanks! Merged 👍

repo: eddiesigner/liebling


text:
Support for lcov .info file upload and max line coverage count

Lcov generated .info can be uploaded to coveralls with '-l' or '--lcov-file' flag. Also unfortunately coveralls.io does not accept a line coverage count higher than the value which can be stored in an 'int'. I faced this issue while trying to upload the coverage of the machine library I am working on(MLPACK) where some line was executed 678******* times. So I introduced a flag '--max-cov-count' which will limit this value and if any count overshoots beyond this limit, it is replaced with the value (GIVEN_MAX + 1) to show that it is more that the MAX value.

Thanks, @sumedhghaisas !

authors: eddyxu sumedhghaisas

repo: eddyxu/cpp-coveralls


text:
Behavior When Visiting a Nonexistent Room

As of right now, if I try to visit a room that doesn't exist, e.g. , I see a blank page and lots of errors in the dev console whenever I, for example, move the cursor, try to draw, etc.
I'm not familiar enough with Meteor/cocreate yet to attempt a change myself, but it feels like one of two things should happen in this case:

a new room could be created with the given id, or
an error page could be shown, maybe with a link to / so that making a new room is easy

I might lean toward showing an error page, since this likely comes about as a result of missing a character when copy/pasting a link or something.  But maybe the behavior could also be toggled via settings.json?

Agreed. I am worried about Behavior 1 because it would allow people to make insecure room names that are easy to guess, and especially without user authentication, this is risky (the equivalent of Zoom bombing).  But Behavior 2 is a good idea and shouldn't be hard to implement.  I'll work on it.

authors: adqm edemaine

repo: edemaine/cocreate


text:
Genitive case employee request

Add to create employee request (owner as well)

[ ] required_fields

genitive_first_name
genitive_last_name
optional_field
genitive_second_name

[ ] implement
[ ] test

@warehousman is it still required?

authors: danakonovalenko lymychp


text:
Create mutation Update for Service Groups

As NHS admin
I want to update field requestAllowed in service group
So that it could be changed in admin panel
[Features in PR] (https://github.com/edenlabllc/ehealth.api/pull/5016)
Spec
GraphQL schema (edenlabllc/ehealth.api#4938)

duplicate with edenlabllc/ehealth.api#5206


text:
Can this model test on dataset like ImageNet?

Hi,  I like your work, it's brilliant and has so much potential. I've noticed that your model didn't test on large scale dataset like ImageNet. Well, more and more zsl models are focusing on this in order to get closer to the real world scenario. So I'm wondering if it's ok to test on ImageNet dataset? (ImageNet 1K as training set . 2-hops/3-hops/All as testing set)

Hey, thank you for the kind words. Actually, we did test the model on ImageNet. The numbers are in the paper :)
Best,
Edgar

repo: edgarschnfld/CADA-VAE-PyTorch


text:
Replacing the fmt.Println code with log framework api for the whole project.

If agree this ticket, I could fix it.

OK for me, but let @jpwhitemn or @tsconn23 confirm.

@jpwhitemn and @tsconn23 , what's your opinion?

Can you provide a specific example of the usage you want to replace and the specific proposed change? We may want to handle this as more of a style guideline with issues sent to the specific teams responsible for their portion of EdgeX.

@tsconn23 there are many examples, such as print error, print debug, print error, print info and so on. I agree with you, the log level should be decided by the specific teams(maintainer). However, currently we could do some common refactor. For example we could replace this mode :
if err != nil {
  fmt.Println(err.Error())
}

with :
if err != nil {
  logger.Error(err.Error())
}

The reason about replacing the print code is that we should unified log output format and code style.

@drasko Just to clarify, are you agreeing with me or with yanghua's approach to introduce the logger everywhere including packages where it may not be referenced yet?

@tsconn23 consider a scenario, if a module which used fmt.println to print a error message to std out.  But the log framework configuration tends to log the message into a file. In this case, the system's log is incomplete and would stop developer making diagnosis about issues.
I think import a logger package is not the core problem. Maybe it do not need a logger (for example just print to std out now), but it would need logger, especially in complex production and distributed environment.

@tsconn23 - I would go tith @yanghua's proposition for now - looks simpler to me (pure change)

@yanghua @tsconn23 yep, this "stdout logger" does not mean anything - in production logs would be sent directly from logger to syslog, some file or - most probably - a remote machine. This is why I insisted from the start on removing pritfs and using logging.

@drasko @yanghua And so the error gets logged from the metadataclient, thrown to the caller and then relogged again there? That's what will happen in the scenario I described above.

@tsconn23 for your scenario, if logs multiple times, that's the exists code's issue, if replaces with logger would log multiple times, the print to console would also print multiple times, because the logger just replaced the action of print. I think it could be split into two issue:

replace the exists log mode (from println to logger), this action would not change the original's semantic and behavior around the code context, and it assumes the exists semantic is reasonable;
after replacing done, we could make a review and evaluate those reasonableness in the context and call chain;

so, I think your scruple about that scenario belongs 2).

@tsconn23 @yanghua this is what I though also - just to replace fmt prints as a first step. Then address architectural issues as a second step (separate issue)

@yanghua any updates on this?

I no more want to say. Does it mean you guys agree with this issue and I can start the work in this case?

in process of this issue.

except support-logging and support-logging-client, all others fmt.Println has been replaced. cc @drasko please review it.

Reviews done, please push PR

All - thank you for your comments here and I thank each of your for your continued participation in the project.  On this issue, however, I believe we need to work through the core working group to discuss before trying to implement.  The comment section here allows us to get some initial ideas and conversation going, but clearly there are alternate options and opinions that really should be brought up before a larger audience and then implemented consistently across all services.  These are the types of issue that are really appropriate for working group weekly meetings.  I've asked Trevor @tsconn23 to prepare this a part of an upcoming Core WG discussion so we can reach a majority consensus.

@jpwhitemn OK, sounds good. actually, I think it's a generic specification, just like replacing System.out.println to log4j/slf4j framework.

authors: drasko jpwhitemn tsconn23 yanghua

repo: edgexfoundry/edgex-go


text:
Refactor SMA Get/Set Implementation

General code/naming clean up.
Moved two existing factory methods currently in router.go to init.go.
Moved get/set functionality into own sub-packages.
Fixes: https://github.com/edgexfoundry/edgex-go/issues/1838
Signed-off-by: Michael Estrin m.estrin@dell.com

Rebased.

Rebased.

Rebased.

Codecov Report

Merging #1841 into master will increase coverage by 0.23%.
The diff coverage is 12.5%.

@@            Coverage Diff             @@
##           master    #1841      +/-   ##
==========================================
+ Coverage   40.09%   40.32%   +0.23%
==========================================
  Files         182      180       -2
  Lines       12519    12437      -82
==========================================
- Hits         5019     5015       -4
+ Misses       7213     7135      -78
  Partials      287      287

Impacted Files
Coverage Δ

internal/system/agent/executor/operation.go
100% <ø> (ø)
:arrow_up:

internal/system/agent/services.go
0% <ø> (ø)
:arrow_up:

internal/system/agent/executor/metrics.go
100% <ø> (ø)
:arrow_up:

internal/system/agent/clients.go
100% <ø> (ø)
:arrow_up:

cmd/sys-mgmt-agent/main.go
0% <0%> (ø)
:arrow_up:

internal/system/agent/setconfig/executor.go
0% <0%> (ø)

internal/system/agent/router.go
0% <0%> (ø)
:arrow_up:

internal/system/agent/setconfig/executor-stub.go
100% <100%> (ø)

internal/system/agent/setconfig/set.go
100% <100%> (ø)

... and 1 more

Continue to review full report at Codecov.

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

Rebased.

authors: codecov-io michaelestrin


text:
Economic display in diagrams

When unchecking the checkbox, the nodes will disappear.

@patrycjamia Fix conflicts, plx.

@dasawanaka Check this PR, please.

authors: patrycjamia trojczak

repo: edmcouncil/onto-viewer


text:
🛑 Xcodehoster server 4 is down

In c24e8ec, Xcodehoster server 4 (https://serverjogja.securityhub.id/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Xcodehoster server 4 is back up in eeb3674.

repo: edoaurahman/check-web-uptime


text:
make variable, block raise error

    raise InvalidFlag(flag)
,printy.exceptions.InvalidFlag: ''' is not a valid flag

            if flag not in available_flags and is_raise_error:
                raise InvalidFlag(flag)

Hi, can you elaborate better what the issue is please? are you trying to use a single quote as a flag? or what are you trying to achieve? thanks!

im trying show message with quote as a flag

Not quite understanding what the issue is, can you add an example or a code snippet showing what you trying to acomplish, please?
Not sure why you're trying to add a single quote as a flag, flags define the cors you want to use, and the quotes are not one of them.

repo: edraobdu/printy


text:
iOS no Audio from other users until unmute mic

Dear Team,
When iOS users join the session with mic mute by default, then there will be no audio from other users until unmute the mic.
iOS users feel that there is no audio and it spoils the user experience.
They need to unmute the mic then we get audio from others
Thanks
Alex

Dear Team,
This issue is happening with  some of the android mobile too. Mobile user wont here anything until mute and unmute back after login.
Thanks

any progress with this issue? apple users are struggling quite a lot

Any fix on this? audio issue is having issues even on android sometimes.

fixed after ios 15 upgrade

authors: Alex-YddeR dinceremre

repo: edumeet/edumeet


text:
fix typo

Fixed a typo in the flag name.

Thanks!

authors: edvin gcstang

repo: edvin/fxlauncher


text:
Flow improvements and synchronization on token refresh

Description
LEARNER-2772

@zeshanarifarbisoft Ready for another pass.

repo: edx/edx-app-ios


text:
Separator Lines: UITableView and  UITableViewCell

Jira: https://openedx.atlassian.net/browse/MA-2332

@aleffert Separator lines were working fine on Simulator in landscape mode but not on device. overriding the layoutMargins property works on both simulator and device as well.

@aleffert  Please review

@aleffert Please review

@aleffert Can you please review this?

Looks like you need to update the snapshot tests

@aleffert I ran the command ./gradlew recordSnapshots --continue but it didn't update any screenshot.

[Current coverage][cc-pull] is 49.47%

Merging [#727][cc-pull] into [master][cc-base-branch] will decrease coverage by <.01%

4 files (not in diff) in Source were modified. more

Misses +8
Hits +6

@@             master       #727   diff @@
==========================================
  Files           451        451
  Lines         29185      29201    +16
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits          14441      14447     +6
- Misses        14744      14754    +10
  Partials          0          0

Powered by Codecov. Last updated by [1e4fd9c...cf467b8][cc-compare]
[cc-base-branch]: https://codecov.io/gh/edx/edx-app-ios/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/edx/edx-app-ios/compare/1e4fd9c88882fb80d2b79da67c56f6d2dfb05fd7...cf467b85d73eae26c89b37f95accdae8e229c6c1
[cc-pull]: https://codecov.io/gh/edx/edx-app-ios/pull/727?src=pr

@aleffert Please review

@aleffert Any other change other than name changing?

@saeedbashir nope. 👍

authors: aleffert codecov-io saeedbashir


text:
Update scalafmt-core to 3.7.0

Updates org.scalameta:scalafmt-core from 3.5.9 to 3.7.0.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta", artifactId = "scalafmt-core" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.scalameta", artifactId = "scalafmt-core" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #230.


text:
Custom map types

Is there a good example for how to go about adding a custom object/map type?
I'd like to have custom handling for Error objects.  They're basically normal objects, but their name, message, and stack properties (which are pretty important!) are typically not enumerable.  I figured I could take a look at the !!set and !!omap implementations, but they're a bit tangled with the internals.
One API approach might be to allow the stringify method to return an object of key/value pairs instead of a string.  (Sort of like how the JSON.stringify replacer function does.)
Something like this:
const { restringify } = require('yaml/schema')

module.exports = {
  identify: value => value instanceof Error,
  tag: '!error',
  resolve (doc, cst) {
    const obj = cst.value
    const er = new Error(obj.message)
    er.name = obj.name
    er.stack = obj.stack
    for (let i in obj) {
      er[i] = obj[i]
    }
    return er
  },
  stringify (item, ctx, onComment, onChompKeep) {
    // constitute an object that YAML knows how to stringify, just a plain old javascript object
    const er = item.value
    const value = {
      name: er.name,
      message: er.message,
      stack: er.stack,
      ...er
    }
    return restringify({ value }, ctx, onComment, onChompKeep)
  }
}

Then the resulting yaml from { er: new Error('foo') } would be something like:
er:
  !error
  name: 'Error'
  message: 'foo'

Here's what I've got so far, which seems to mostly work, but blows up if the error has a field with a circular reference: https://gist.github.com/isaacs/c5358fedf391f57fa85b9ca45d3a1a3e  (Unfortunately a lot of assertion libs get into this state pretty easily, since they attach all sorts of junk onto the error object that they throw.)

Stack trace stringifying an error like:
obj = { er: new Error('foo') }
obj.er.o = {}
obj.er.o.o = o
yaml.stringify(obj)

    ... repeats the last few lines ...
    at Array.map (<anonymous>)
    at Object.createMap [as createNode] (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/failsafe.js:32:34)
    at Schema.createNode (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/index.js:114:43)
    at map.items.Object.keys.map.key (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/failsafe.js:34:24)
    at Array.map (<anonymous>)
    at Object.createMap [as createNode] (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/failsafe.js:32:34)
    at Schema.createNode (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/index.js:114:43)
    at map.items.Object.keys.map.key (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/failsafe.js:34:24)
    at Array.map (<anonymous>)
    at Object.createMap [as createNode] (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/failsafe.js:32:34)
    at Schema.createNode (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/index.js:114:43)
    at Pair.toString (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/Pair.js:106:26)
    at Schema.stringify (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/index.js:270:52)
    at nodes.items.reduce (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/Collection.js:119:28)
    at Array.reduce (<anonymous>)
    at YAMLError.toString (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/Collection.js:100:30)
    at YAMLError.toString (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/Map.js:151:18)
    at stringify (/Users/isaacs/dev/js/tap-yaml/lib/types/error.js:41:9)
    at Schema.stringify (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/index.js:274:57)
    at Pair.toString (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/Pair.js:111:33)
    at Schema.stringify (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/index.js:270:52)
    at nodes.items.reduce (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/Collection.js:119:28)
    at Array.reduce (<anonymous>)
    at YAMLMap.toString (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/Collection.js:100:30)
    at YAMLMap.toString (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/Map.js:151:18)
    at stringify (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/failsafe.js:61:60)
    at Schema.stringify (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/index.js:274:57)
    at Document.toString (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/Document.js:597:32)
    at String (<anonymous>)
    at Object.stringify (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/index.js:74:10)
    at Object.module.exports.obj [as stringify] (/Users/isaacs/dev/js/tap-yaml/lib/stringify.js:4:30)
    at Object.<anonymous> (/Users/isaacs/dev/js/tap-yaml/er.js:28:23)

It's a bit different if I have an object like this:
const obj = { error: new Error('foo') }
obj.error.root = obj

    ... repeats ...
    at YAMLMap.toString (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/Collection.js:100:30)
    at YAMLMap.toString (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/Map.js:151:18)
    at stringify (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/failsafe.js:61:60)
    at Schema.stringify (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/index.js:274:57)
    at Pair.toString (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/Pair.js:111:33)
    at Schema.stringify (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/index.js:270:52)
    at nodes.items.reduce (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/Collection.js:119:28)
    at Array.reduce (<anonymous>)
    at YAMLError.toString (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/Collection.js:100:30)
    at YAMLError.toString (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/Map.js:151:18)
    at stringify (/Users/isaacs/dev/js/tap-yaml/lib/types/error.js:41:9)
    at Schema.stringify (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/index.js:274:57)
    at Pair.toString (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/Pair.js:111:33)
    at Schema.stringify (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/index.js:270:52)
    at nodes.items.reduce (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/Collection.js:119:28)
    at Array.reduce (<anonymous>)
    at YAMLMap.toString (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/Collection.js:100:30)
    at YAMLMap.toString (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/Map.js:151:18)
    at stringify (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/failsafe.js:61:60)
    at Schema.stringify (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/schema/index.js:274:57)
    at Document.toString (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/Document.js:597:32)
    at String (<anonymous>)
    at Object.stringify (/Users/isaacs/dev/js/tap-yaml/node_modules/yaml/dist/index.js:74:10)
    at Object.module.exports.obj [as stringify] (/Users/isaacs/dev/js/tap-yaml/lib/stringify.js:4:30)
    at Object.<anonymous> (/Users/isaacs/dev/js/tap-yaml/er.js:30:23)

Aha!  Got it working with this latest change: https://gist.github.com/isaacs/c5358fedf391f57fa85b9ca45d3a1a3e/revisions
The key was to use schema.createNode(key, ctx.wrapScalars, null, ctx) to create the key and value, and then ernode.items.push(new Pair(k, v)), instead of errnode.add({key, value}).
I think this area definitely could use a bit of polish and documentation, though :)

Apologies and thank you for being a guinea pig for custom type development. Out of the existing custom collections, !!pairs might have the fewest implementation-specific details to figure out. On the other hand, it gets away with not extending the YAMLMap or YAMLSeq classes which you do need for the custom toJSON() method.
I should figure out proper exports for all the internals that are required to implement custom types, including custom collections. The yaml/dist/... endpoints aren't really part of the public API, so I won't guarantee that they won't change between minor releases. Also, using those probably won't work right in browser environments. Unfortunately, that's the only alternative for custom collections atm.
Dealing with circular references is indeed rather tricky, but it should be automatic if you're only considering YAML.stringify() usage and you call schema.createNode to wrap the keys & values (as you already do).

By way of sketching out an idea, how do you feel about an API something like this?
const errorTag = {
  tag: '!error',
  identify: er => er instanceof Error,
  resolve: (doc, cst) => {
    // mapValue is parallel to strValue
    // returns the contents of the thing as an object (or map if mapAsMap is true)
    // should raise an error if the value isn't parseable as an map
    // could also have cst.seqValue() which would return an array
    const obj = cst.mapValue({ mapAsMap: false })
    const Cls = obj.name === 'EvalError' ? EvalError
      : obj.name === 'RangeError' ? RangeError
      : obj.name === 'ReferenceError' ? ReferenceError
      : obj.name === 'SyntaxError' ? SyntaxError
      : obj.name === 'TypeError' ? TypeError
      : obj.name === 'URIError' ? URIError
      : Error
    const er = Object.assign(new Cls(obj.message), obj)
    return er
  },
  stringify: (value, ctx, onComment, onChompKeep) => {
    // if it returns a map, JS object, set, or array, then stringify as it would that item,
    // but keeping the '!error' tag in the output
    const obj = {
      name: er.name,
      message: er.message,
      stack: er.stack,
      ...er,
    }
  }
}

The yaml/dist/... endpoints aren't really part of the public API, so I won't guarantee that they won't change between minor releases.

Thanks for the caveat.  I'm using my own fork from GitHub, and 100% understand the risks of relying on internals and unsupported APIs.  When the functionality makes its way into some final form, I'll adjust and move over to the "official" release.

Apologies and thank you for being a guinea pig for custom type development.

No worries!  While this part of the library definitely feels a bit rough, overall I'm finding this library to be pretty well laid out and easy to work with, and moving more of the functionality into the yaml implementation is going to make the next version of node-tap a lot more robust and maintainable.  Thanks for choosing to take on such a big and weird puzzle as this :)

I'm not convinced that adding mapValue and/or seqValue methods to CST nodes is the right thing to do here. There's a separate transformation/verification stage that's needed to get from CST collections to AST maps & sequences, and that process depends on and to some extent modifies the whole document, rather than just the node in question (e.g. by depending on the schema, and appending errors to doc.errors). This is why parseMap() and parseSeq() also require doc as a parameter.

Hm, ok.  Would it be possible to do  something like const obj = parseMap(cst, doc, { mapAsMap: false }) then?
My goal is just to have custom map/seq types that don't require quite so much involvement with the internals and class structure.

Here's what I've got so far. Following on from #94 I've expanded the public API a bit in the re-export branch, and here's a potential implementation of a representation of Error in YAML:
const { YAMLMap, Pair } = require("yaml/types");
const { parseMap } = require("yaml/util");

class JavaScriptError extends YAMLMap {
  toJSON(_, ctx) {
    const { name, message, ...rest } = super.toJSON(_, ctx);
    const Cls =
      name === "EvalError"
        ? EvalError
        : name === "RangeError"
        ? RangeError
        : name === "ReferenceError"
        ? ReferenceError
        : name === "SyntaxError"
        ? SyntaxError
        : name === "TypeError"
        ? TypeError
        : name === "URIError"
        ? URIError
        : Error;
    const err = Object.assign(new Cls(message), rest);
    return err;
  }
}

const errorTag = {
  tag: "!error",
  identify: err => err instanceof Error,
  createNode(schema, err, ctx) {
    const node = new JavaScriptError();
    const keys = Object.keys(err);
    if (!keys.includes("name")) keys.push("name");
    if (!keys.includes("message")) keys.push("message");
    if (!keys.includes("stack")) keys.push("stack");
    node.items = keys.map(key => {
      const k = schema.createNode(key, ctx.wrapScalars, null, ctx);
      const v = schema.createNode(err[key], ctx.wrapScalars, null, ctx);
      return new Pair(k, v);
    });
    return node;
  },
  resolve(doc, cst) {
    const map = parseMap(doc, cst);
    return Object.assign(new JavaScriptError(), map);
  },
  stringify: (value, ctx, onComment, onChompKeep) =>
    value.toString(ctx, onComment, onChompKeep)
};

Some parts of that are a bit too much copy-paste from internal code, but it's a bit tricky to streamline the process much more. Essentially, there are four conversion stages that need to be considered:

JS -> Node -> YAML string
YAML string -> Node -> JS

YAML.parse() and YAML.stringify() each leap over the middle stage here, but it's still happening in the background, and it's necessary -- there are plenty of document-level details like circular references that need to be accounted for. So, createNode is taking care of JS -> Node and Node -> YAML string is handled by the parent YAMLMap; YAML string -> Node is handled by resolve, which is pretty bare-bones, and Node -> JS is done by toJSON.

@eemeli This is wonderful, and would definitely keep my grubby fingers out of your dist folder :)
I'm a bit confused by this part:
  resolve(doc, cst) {
    const map = parseMap(doc, cst);
    return Object.assign(new JavaScriptError(), map);
  },

Isn't resolve supposed to return an Error object in this case?  Will the parser detect that it's a YAML Node and do the right thing with it?

It's perhaps a bit confusingly named, but resolve() essentially takes in a CST node, and "resolves" it into an AST node. In this case the JavaScriptError implementation extends YAMLMap, because it has inner fields. E.g. YAML.parse() would then immediately call its .toJSON() method to turn it into a JS object (and Error in this case), but YAML.parseDocument() would not. For instance, if the error contains some data that's present elsewhere in the document, the resolved AST node might represent that with an anchor node. In particular this middle stage is required to represent comments, which may end up practically anywhere in a YAML string.

Thanks, that makes sense. +1 on this API :)

Tinkered a bit more with the API. I updated the example above accordingly. Might be almost happy with it now.

Closing this, as the API & documentation have been updated and will be published with the next release.

Fantastic!  I've been depending on my git fork so far, but I'll add a todo item to review the docs and get back on mainline as soon as the next release is out :)

I'm trying to port to this new API, but I'm finding that the !error tag isn't included, even though I'm setting default: false on the tag definition object.  Am I missing something? https://gist.github.com/isaacs/42ec587886b54b802104e57495e0348c

Ah, figured it out.  It needs to set a .tag property on the node class object.

@eemeli I just wanted to say that this issue thread helped me a lot building a new custom tag based on YAMLMap. I would find it highly valuable to include such example within official docs (I know v2 could differ in this area though).

authors: eemeli isaacs remi00

repo: eemeli/yaml

license: ISC


text:
Unknown frame id

Currently I can receive messages based on the j1939 database, but for some reason when I use:
candump can0 | cantools decode tests/files/dbc/j1939.dbc
I get:
  can0  18FEF2E2   [8]  FF FF FF FF FF FF 01 FF :: Unknown frame id 419361506 (0x18fef2e2)
  can0  18FEF2B4   [8]  FF FF FF FF FF FF 02 FF :: Unknown frame id 419361460 (0x18fef2b4)
  can0  18FEF2E2   [8]  FF FF FF FF FF FF 01 FF :: Unknown frame id 419361506 (0x18fef2e2)
  can0  18FEF2B4   [8]  FF FF FF FF FF FF 02 FF :: Unknown frame id 419361460 (0x18fef2b4)
^Cerror:

Any way I can properly decode the message? I checked the actual SAE reference and the PGN is for a broadcast message and not proprietary.

The DBC file you are using (tests/files/dbc/j1939.dbc) does not contain a message for frame ID 0x18fef2b4.
This is only an example DBC file and does not contain SAE J1939 PGNs.

authors: AliMahdavifar jackm

repo: eerimoq/cantools


text:
iosrtcPlugin#selectAudioOutputSpeaker() | ERROR Error Domain=NSOSStatusErrorDomain Code=-50 "(null)"

Getting this I believe when no webrtc streams are found...?
But then when WebRTC streams are found, it seems to not update the audio output after the error is thrown?
Or maybe I'm missing something?

Please provide more info regarding when you call that function.

Being commented in the mailing list, and not proved to be a real bug.

authors: ibc joshuairl


text:
🛑 Almacenata is down

In 720dac9, Almacenata (https://www.almacenata.com.ar) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Almacenata is back up in f54946f after 33 minutes.

repo: efecear/upptime


text:
🛑 efece.ar is down

In 9ba7064, efece.ar (https://www.efece.ar) was down:

HTTP code: 0
Response time: 0 ms

Resolved: efece.ar is back up in d325e23 after 12 hours, 36 minutes.


text:
🛑 La Semilla Que Crece is down

In f9a4e3e, La Semilla Que Crece (https://www.lasemillaquecrece.com.ar) was down:

HTTP code: 0
Response time: 0 ms

Resolved: La Semilla Que Crece is back up in 1172c76.


text:
🛑 Almacén BioPandora is down

In 6d9311a, Almacén BioPandora (https://www.biopandora.com.ar) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Almacén BioPandora is back up in e4ac20d.


text:
🛑 La Semilla Que Crece is down

In 4488d08, La Semilla Que Crece (https://www.lasemillaquecrece.com.ar) was down:

HTTP code: 0
Response time: 0 ms

Resolved: La Semilla Que Crece is back up in fc85d29.


text:
🛑 Tierra Firme is down

In fe5c03e, Tierra Firme (https://www.tierrafirmenodoutt.com.ar) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Tierra Firme is back up in 0a630f4.


text:
🛑 Nodo UTT Ramos Mejia is down

In 098ddd0, Nodo UTT Ramos Mejia (https://www.uttnodoramosmejia.com.ar) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Nodo UTT Ramos Mejia is back up in 56de2ee.


text:
🛑 Sandra Luna is down

In 1ea93cc, Sandra Luna (https://www.sandraluna.com.ar) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Sandra Luna is back up in 2fa63ae.


text:
🛑 La Semilla Que Crece is down

In 1509f41, La Semilla Que Crece (https://www.lasemillaquecrece.com.ar) was down:

HTTP code: 0
Response time: 0 ms

Resolved: La Semilla Que Crece is back up in f3564aa.


text:
feat: first version

Checklist

[ ] npm test passes
[ ] tests and/or benchmarks are included
[ ] documentation is changed or added
[ ] commit message follows commit guidelines

Affected core subsystem(s)

Description of change

close #2 https://github.com/eggjs/egg/issues/768

你们搞定了么

在线等

还有多久啊，项目等着用

支不支持VUE2.3？

2.3正在适配，目前我这里骨架项目可以跑起来，目前实现了 createBundleRenderer 的方式，readerToStream 这个在eggjs 暂时有问题，有4个插件会在流之后修改header导致报错，这个会在后面再提供支持

基于egg的服务器渲染解决方案可以看这个工程示例：https://github.com/hubcarl/egg-vue-webpack-boilerplate。 这个是基于2.2实现的， css／js注入是自己处理的， 目前2.3 提供内部支持，目前正在整合

authors: acodercat atian25 hubcarl popomore proshuai

repo: eggjs/egg-view-vue