sendActivityProfile function using If-Match and LearningLocker LRS

I have a question about the sendActivityProfile functiion. When passing an object as the profileval the function will always use the POST method.
Unfortunately, when using POST the LearningLocker LRS will ignore the If-Match header and will always store the data sent even if it overwrites an updated profile object. If I modify the code so that it uses PUT, LearningLocker behaves as expected and returns http status 412 - precondtion failed.
Just wondering what the correct behaviour here should be? Is this a fault with the wrapper or the LRS?
And what is the reason POST always being used when profileval is an object but not if profileval is an array? Of the top of my head I would expect POST when creating a new profile and PUT when updating an existing profile, why should the method be dependent on the profile data type?

For now, POSTs without the etag headers is allowed and the expected behavior from the LRS is to merge the JSON documents together, and overwrite any existing fields with that of the incoming profile so that sounds like it is working correctly on their end. While using If-Match with PUT, as long as the etag value matches the existing document, it should overwrite it.
I will look into the weird behavior with the wrapper regarding objects/arrays. I'm not sure why the profile data type is having any say in what the method will be.


Test merge 3

Docs Build status updates of commit 355b63d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

redirect-url/docfx.json
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Not all the shows are retrieved / Support special episodes

Consider the source code of the page https://dmax.de/sendungen/steel-buddies/
The dmax.py script retrieves all shows for
playertype="showPlayer"
showid="6023"
However there are more shows on the same page that are referenced by the following lines
playertype="collectionPlayer"
collectionid="steel-buddies-special-playlist"
Logically these shows won't be in the xlsx file.
Is it possible to include these too?
Cheers,

The specials on the Steel Buddies page are just regular episodes that are retrived normally through the script. See this pic for example:

The first listed special is just a regular episode from season 6. I don't know if there are any other shows with specials that behave differently. Please correct me if I'm wrong.

You're right, most of the Specials are in fact also regular episodes.
I found two that are not part of a season, namely "Sonderschicht XXL:Teil 1" and "Sonderschicht XXL:Teil 2". They describe it as S1:F1 and S1:F2 but in fact that's not the case.

BTW, thanks a lot for this great script, it's 99% perfect.

Thanks, I'll look into it! In the meantime, a friend of mine wrote down the ID as "13466" for the XXL specials.

Great, works fine for the XXL Specials.
Thanks again for this marvellous script.

No prob, I looked into it but didn't found a good way to do it... It has a collectionId in the source code, but you have to contact another URL and it's incompatible with the class I wrote so I think this requires more work.

Sorry to bother you again with this anoying variance. I see today that there are plenty of small videos called "clips" that are referenced by a collectionId (collectionid="steel-buddies-clips").

I understand that it's probably a lot of work to implement this case, I just want to pass the information along.
Cheers,

For everyone who is looking for Unboxing 2: Michael packt aus!: ShowId is 16837
And thanks for the script!

For everyone who is looking for Unboxing 2: Michael packt aus!: ShowId is 16837
And thanks for the script!

Here is a list of all currently available IDs: dmaxde-all.txt

Here is a list of all currently available IDs: dmaxde-all.txt

If someone is interested, I created a gist with all working ids for dmax, hgtv and tlcde. It will be updated once a week
https://gist.github.com/Akamaru/3646c47b68cccead419716f3c4a7e86e

Excellent initiative. That makes things much easier.


BUG: Fix all the cards to be responsive

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

#2321


Getting NaN & Null values when calling getStats & getVariantTracks functions on safari

Have you read the FAQ and checked for duplicate open issues?
Yes
What version of Shaka Player are you using?
v2.5.9-debug
Please ask your question
On calling player.getStats()function on safari, I am getting following values.
estimatedBandwidth: NaN
height: NaN
width: NaN
droppedFrames: 0 (doesn't seem to change)

On calling player.getVariantTracks()function on safari, I am getting following values.
videoId: null
originalVideoId: null,
videoCodec: null,
mimeType: null,
frameRate: null,
pixelAspectRatio: null,
videoBandwidth: null

I am getting values like this only on safari. In chrome, they seem to work fine. Is that something to do with restriction on DRM protected content on safari?
https://v2-5-13-dot-shaka-player-demo.appspot.com/docs/api/shaka.extern.html#.Stats

If you're playing HLS content on Safari, we default to using native src= playback.  When doing this, we don't have much info since the browser handles playback.  You can use MSE playback on Safari by setting the configuration streaming.useNativeHlsOnSafari to false but you can't do this for FariPlay content.


Support for 3.15 and up?

Wonder if this is still supported and updated?
Did a quick test and seems it acts weird with arcgis js 3.15 and up.
Any planning to update this?

My bad.
was using css that did not match with js.
it actually works with 3.20 js


esp_netconn_receive() returns not all data

Hi.
Suppose we have following setup. A TCP server that sends N bytes at the maximum possible bit rate immediately after the client connects.
Server:
$ wc -c < SOMEFILE
9504
$ socat tcp4-listen:8888,forever,fork,reuseaddr file:SOMEFILE

And a client:
    esp_pbuf_p buf;
    esp_netconn_p conn;
    size_t N = 9504;
    size_t n_recv;
    size_t n_recv_total;
    espr_t status;

    conn = esp_netconn_new(ESP_NETCONN_TYPE_TCP);
    assert(conn != NULL);

    if ((status = esp_netconn_connect(conn, "<IP_ADDRESS>", 8888)) != espOK)
    {
        printf("esp_netconn_connect() failed (%u)", status);
    }
    else
    {
        n_recv_total = 0;

        for (;;)
        {
            if ((status = esp_netconn_receive(conn, &buf)) != espOK)
            {
                printf("Expected: %u, received: %u", N, n_recv_total);
                break;
            }

            n_recv = esp_pbuf_length(buf, 1);
            n_recv_total += n_recv;

            esp_pbuf_free(buf);
            buf = NULL;
        }

        if (status != espCLOSED)
            esp_netconn_close(conn);

        esp_netconn_delete(conn);
    }

And here is what the client prints:
Expected: 9504, received: 8760

To reproduce this problem, make sure the network latency is minimal.

Can you show me UART log from ESP8266? I have to make sure that ESP outputs all data as I know it may fail sometimes.

Okay, but a bit later.

Sure. In any case. If you received espCLOSED return from receive function, then it means esp stack properly handles situation.
Then there are 2 options:

ESP did not send all data, may happen and I've seen this already
There was no memory in stack for last packet. Less likely as you read data pretty fast.

Yeah, you were right about ESP. It seems that this is a bug in the module :(

Issue has been reported many times to espressif, but without resolution.

Well, I will look for workarounds.


FT Disbursement - BCAG Not Adding to the Disbursement Schedule

Current Behaviour
BCAG isn't persisting into the disbursement values
Expected Behaviour
BCAG is persisted into the final award based on the assessment calculation: finalProvincialAwardNetBCAGAmount
Additional Context
Camunda Process Instance<PHONE_NUMBER>529819
[
  {
    disbursementDate: disbursmenentScheduleDate1,
    negotiatedExpiryDate: disbursmenentScheduleDate1,
    disbursements: [
      {
        valueCode: "CSLF",
        valueType: "Canada Loan",
        valueAmount: ceiling(finalFederalAwardNetCSLFAmount),
        awardEligibility: true
      },
      {
        valueCode: "CSGP",
        valueType: "Canada Grant",
        valueAmount: ceiling(finalFederalAwardNetCSGPAmount),
        awardEligibility: awardEligibilityCSGP
      },
      {
        valueCode: "CSGD",
        valueType: "Canada Grant",
        valueAmount: ceiling(finalFederalAwardNetCSGDAmount),
        awardEligibility: awardEligibilityCSGD
      },
      {
        valueCode: "CSGF",
        valueType: "Canada Grant",
        valueAmount: ceiling(finalFederalAwardNetCSGFAmount),
        awardEligibility: awardEligibilityCSGF
      },
      {
        valueCode: "CSGT",
        valueType: "Canada Grant",
        valueAmount: ceiling(finalFederalAwardNetCSGTAmount),
        awardEligibility: awardEligibilityCSGT
      },
      {
        valueCode: "BCSL",
        valueType: "BC Loan",
        valueAmount: ceiling(finalProvincialAwardNetBCSLAmount),
        awardEligibility: true
      },
      {
        valueCode: "BCAG",
        valueType: "BC Grant",
        valueAmount: ceiling(finalProvincialAwardNetBCAGAmount),
        awardEligibility: awardEligibilityBCAG
      },
      {
        valueCode: "BGPD",
        valueType: "BC Grant",
        valueAmount: ceiling(finalProvincialAwardNetBGPDAmount),
        awardEligibility: awardEligibilityBGPD
      },
      {
        valueCode: "SBSD",
        valueType: "BC Grant",
        valueAmount: ceiling(finalProvincialAwardNetSBSDAmount),
        awardEligibility: awardEligibilitySBSD
      }
    ]
    [item.awardEligibility != false]
  }
]

Assessment 4733

disbursement_schedule.id = 4108

Closing - will update FT disbursement scheduler with next FT assessment update


Add ability to change the pseudocolor title.

A user asked for the ability to change the title on the pseudocolor legend. This seems reasonable and turning off the title and then adding a text annotation is a bit heavy handed.
-----------------------REDMINE MIGRATION-----------------------
This ticket was migrated from Redmine. As such, not all
information was able to be captured in the transition. Below is
a complete record of the original redmine ticket.
Ticket number: 1340
Status: Pending
Project: VisIt
Tracker: Feature
Priority: Normal
Subject: Add ability to change the pseudocolor title.
Assigned to: -
Category: -
Target version: -
Author: Eric Brugger
Start: 02/15/2013
Due date:
% Done: 0%
Estimated time:
Created: 02/15/2013 08:03 pm
Updated: 03/06/2013 12:23 pm
Likelihood:
Severity:
Found in version: 2.12.3
Impact: 3 - Medium
Expected Use: 3 - Occasional
OS: All
Support Group: Any
Description:
A user asked for the ability to change the title on the pseudocolor legend. This seems reasonable and turning off the title and then adding a text annotation is a bit heavy handed.
Comments:

Easy enough to add this just for PC plot.

Just wondering if it should be added for all plots?
If yes, then that begs the question is having the controls in the plot window the best place (have to change all plot windows) or is it better in the Legend Annotation Object controls.  Not intuitive from a user-perspective though. And changing the Legend Annotation Object controls isn't low-hanging-fruit due to how AnnotationObject state information is stored. Also, how would the title be reset to its default (eg 'Pseudocolor', or whatever)?  Perhaps from the name of the Legend Annotation Object, which comes from the plot type.

We decided to add it for all plots in the respective plot windows.
#742 is a generalized version of this same request.

Re-thinking adding it to all plot windows.
Legend object has a 'draw title' option, so now it seems to make more sense to have the custom title option available there instead.
Would like to re-review this ticket.

After much deliberation, we decided on the second option.


Expand code coverage for undercovered packages

This PR is to track the work to expand code coverage to more sections of the code in an effort to improve some of the tests. I think we have too many things that are covered in the cmd/influxd/run integration tests and we would benefit from building a more comprehensive test suite that more thoroughly tests the individual components.
The first step is to add tests to some components that have almost no test coverage.
Output of the following is generated with the following command:
$ go list ./... | grep -v cmd | xargs '-I{}' go test -cover '{}' | ruby -n -e 'puts $_.split("\t").tap {|l| if l.size == 4; l.delete_at(2); end }.join("\t")'

Diff between master and this branch:
-ok     github.com/influxdata/influxdb/monitor  coverage: 3.6% of statements
+ok     github.com/influxdata/influxdb/monitor  coverage: 92.5% of statements
-ok     github.com/influxdata/influxdb/services/precreator      coverage: 34.3% of statements
+ok     github.com/influxdata/influxdb/services/precreator      coverage: 91.2% of statements
-ok     github.com/influxdata/influxdb/services/retention       coverage: 9.4% of statements
+ok     github.com/influxdata/influxdb/services/retention       coverage: 92.5% of statements
-ok     github.com/influxdata/influxdb/services/snapshotter     coverage: 0.0% of statements
+ok     github.com/influxdata/influxdb/services/snapshotter     coverage: 82.1% of statements
-ok     github.com/influxdata/influxdb/tcp      coverage: 52.6% of statements
+ok     github.com/influxdata/influxdb/tcp      coverage: 59.1% of statements

[ ] Rebased/mergable
[ ] Tests pass
[ ] CHANGELOG.md updated

Note: I'm going to be trying to go for > 80% test coverage on as many packages as I can. That's the end goal.

I think the added tests here are noteworthy themselves and I think waiting to modify every package will prevent the changes in here from doing good now.


dhcp6relay: fixes for dhcp_unwrap option walking

Needs to skip the header fields
Needs to increment by opt.len
Need to look for a CLIENT interface for server-client relay to work

(reopened because I missed the 'please confirm rebase & merge button)


KGE Fails when the patient id's are numbers

When KGE is executed on data where the patient ids are numbers, the pandas dataframe interprets the number as integers instead of string

Always pass dtype=str when doing read_csv

That was what I was thinking to do, but the data is floating-point, so I am thinking of just typecasting the index to str in the code

Okay, then it's possible to give a dictionary to dtype mapping from the column name to the type. Anything you don't make explicit is automatically inferred.
Otherwise your solution is fine (basically the same). Just be careful in case it's possible there are ever null values since those can get cast to strings as well

Fixed in aee06faa88f8f26abd9a752ac14339c0378cb9de


Add token to local cache upon login

Before: When connecting to a Server that needs a firewall rule, an extra token would be fetched during the auth process because we do not add the initial token fetched upon login to the local cache (it only gets put in the MSAL cache), and this would result in the multiple_matching_tokens error.
After: We add the initial token fetched during login to the local cache
Also added mitigation steps to the error message and changed the validToken threshold from 2 => 5 minutes to match the threshold used in MSAL dotnet

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 6 (0.0%)  changed or added relevant lines in 2 files are covered.
3 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-0.004%) to 41.578%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

extensions/azurecore/src/account-provider/auths/azureAuth.ts
0
3
0.0%

extensions/azurecore/src/account-provider/azureAccountProvider.ts
0
3
0.0%

Files with Coverage Reduction
New Missed Lines
%

extensions/azurecore/src/account-provider/auths/azureAuth.ts
1
18.24%

extensions/azurecore/src/account-provider/azureAccountProvider.ts
1
0.0%

extensions/notebook/src/dialog/configurePython/configurePathPage.ts
1
57.02%

Totals

Change from base Build<PHONE_NUMBER>:
-0.004%

Covered Lines:
30778

Relevant Lines:
69331

💛  - Coveralls


Logger extension doesn't seem to do anything

Expected Behavior
Enabling the Logger would result in one log entry per query
Actual Behavior
Everything is working but I get no logs
Steps to Reproduce the Problem

Install log crate
Enable log feature
Add logger like:

use async_graphql::{extensions::Logger, EmptySubscription, Schema};
...

Schema::build(RootQuery, RootMutation, EmptySubscription)
            .extension(Logger)
            .finish()

Specifications

Version: 2.5.9
Platform: Linux
Subsystem: with actix

You should install a logger, such as: env_logger, simple_logger.

I already tried with env_logger but same result. I get no output in terminal. If I use actix Logger it works for actix logs. I thought maybe they don't play well together, but async-graphql doesn't log anything even if I disable logs for actix server

I tested it and the log can be output normally. Have you set this environment variable?
RUST_LOG=async-graphql

That was the issue. I had this:
std::env::set_var("RUST_LOG", "async_graphql=info");
env_logger::init();

but it has to be
std::env::set_var("RUST_LOG", "async-graphql=info");
env_logger::init();

for actix web it's actix_web not actix-web
Now it's a different issue. With the snippet I posted I'm getting all logging levels. I'm even getting TRACE. Is this expected?

It's all working now for me!!
Is there a way I can write a paragraph about this as docs somewhere. I'd do a PR but most links for the extensions in the README are broken

The links to extensions in the README are not broken, but they need to be opened on docs.rs
If you want, you can use rustdoc to explain the Logger type in more detail.
Thank you very much!
https://github.com/async-graphql/async-graphql/blob/master/src/extensions/logger.rs

just done a small PR


[Query Insights] Capture query-level resource usage metrics

Is your feature request related to a problem? Please describe
The resource tracking framework (https://github.com/opensearch-project/OpenSearch/issues/1179) tracks task-level resource usage, such as CPU and memory utilization. However there's a gap to infer query-level resource usage from the resource tracking framework. We need to come up a solution for it since it would one of the most important metrics for query insights (https://github.com/opensearch-project/OpenSearch/issues/11429) features like top n queries (https://github.com/opensearch-project/OpenSearch/issues/11186) and also cost estimations (https://github.com/opensearch-project/OpenSearch/issues/12390).
Describe the solution you'd like
The most challenging task here is how to propagate the task-level resource usage information to the coordinator node for calculating query-level resource usage. The most straightforward solution is to piggyback the resource usage data as part of the SearchPhaseResult node response and use SearchRequestOperationsListener::onPhaseEnd to extract this information from the phase results and forward it to the query insights framework. However, this approach has limitations as the obtained resource usage data may not be entirely accurate. The reason is explained below.
Here's the workflow of a search request and resource tracking: The coordinator node sends requests to data nodes and the data nodes will create tasks to do search on shards. On a data node,

The data node creates tasks and starts request tracking using the resource tracking framework;
The data node sends back the SearchPhaseResult to the coordinator node;
The data node stops thes task and stops request tracking, and records the final resource utilization in resource tracking framework.

If we want to piggyback the resource utilization data in SearchPhaseResult, we must retrieve this data before the task is considered "finished."  Through some experiments and analysis, I found reading the resource utilization data before the second step would result in up to ~x% lower CPU and Memory utilization compared to the final actual usage. If the actual results are not accurate at all, the data would be of no use except for roughly analyzing the overall usage trend and "relative" resource usage comparasion between 2 queries - We won't be able to use this data to make reliable query cost estimations.
Related component
Search:Query Insights
Describe alternatives you've considered
Another approach is to implement an asynchronous post-processor as part of the query insights data consumption pipeline. This post-processor would periodically gather data from data nodes and correlate it with queries to calculate the final resource usage accurately. While this method ensures the most accurate resource usage data, it comes with the overhead of introducing a periodic job running in the background to collect and share the data between nodes. We need to consider the trade-offs when deciding on the best approach for capturing query-level resource usage.
Additional context

Query Insights Meta issue: https://github.com/opensearch-project/OpenSearch/issues/11522
Top N Queries RFC: https://github.com/opensearch-project/OpenSearch/issues/11186

[Triage - attendees 1 2 3 4 5]
@ansjcy Thanks for filing

Draft to the proposed solution: https://github.com/opensearch-project/OpenSearch/pull/12449

Instrument resource usages before a task finishes on a data node, more specifically, get resource usages at the last step (serialization) before a phase response is sent from query/fetch/.. phase.
Piggyback the resource usages data with phase results.
Gather resource usages for all shard search tasks on coordinator node (in query insights plugin) to get the query-level resource usage.

@ansjcy Thanks for the above solution and the proposed alternative.
Did we get some numbers regarding how much percentage lower cpu and memory we can expect with the proposed approach?
In the proposed approach, seems like if we stop the task and resource tracking before sending the result back to the co-ordinator node we will end up increasing the overall search latency which is undesirable.
For the alternative solution, can we piggyback any other background jobs that periodically share data to other nodes?
I am interested in the alternative approach if the overhead is not too drastic.

@ansjcy
I had few questions:

How are we going to determine/calculate the top N queries at a coordinator/request level? Considering a request fans out to multiple nodes, where a query can consume(for example) 70% in one data node, 60% in another data node and 20% at a coordinator node. How are we planning to make sense of these?
As you mentioned, task resource tracking does run after a shard level response has been sent. That seems to happens here. To consider sync approach ie piggybacking along with response, have we checked if it is feasible to attach the resourceTask listener in a way that it runs before response is returned? Otherwise it may be inaccurate as you mentioned and it might not make sense.
I think background approach might be better. Considering we have a coordinator node level parent taskId and multiple associated child taskIds(shard level), can we store all these info on each node and then aggregate it later by using these relationships?

Another draft for the background job approach: https://github.com/opensearch-project/OpenSearch/pull/12473
With this approach we can get accurate resource usage measurements for each task from the cluster manager node.

Thanks for the comments!

Did we get some numbers regarding how much percentage lower cpu and memory we can expect with the proposed approach?

Based on my measurements of the approach (https://github.com/opensearch-project/OpenSearch/pull/12449), the measured result would be ~10% lower than the accurate result.

In the proposed approach, seems like if we stop the task and resource tracking before sending the result back to the co-ordinator node we will end up increasing the overall search latency which is undesirable.

Yes, this is another concern I have. But the latency impact might be ignorable since we are just reading one value and append a new field, both are O(1) operations. But yes, we need to do more benchmarking to understand the performance impact.

For the alternative solution, can we piggyback any other background jobs that periodically share data to other nodes?
I am interested in the alternative approach if the overhead is not too drastic.

Yes, this would be a benefit of this approach - we can add customized data in the future, without worrying about adding impact to the search requests.

How are we going to determine/calculate the top N queries at a coordinator/request level? Considering a request fans out to multiple nodes, where a query can consume(for example) 70% in one data node, 60% in another data node and 20% at a coordinator node. How are we planning to make sense of these?

As I mentioned in the description, there are 2 ways to do this, we either piggyback the resource usages on each node in SearchPhaseResult before the task finish, or have a background job to periodically sync the task-level resource usage. Either way, we need to sum up the resource usage from each node to get the query-level resource usages.

As you mentioned, task resource tracking does run after a shard level response has been sent. That seems to happens here. To consider sync approach ie piggybacking along with response, have we checked if it is feasible to attach the resourceTask listener in a way that it runs before response is returned? Otherwise it may be inaccurate as you mentioned and it might not make sense.

A task is considered as finished only after the response is sent to the coordinator node. The first approach mentioned above actually implements "attach the resourceTask listener in a way that it runs before response is returned". It reads the thread level resource usage at the end of shard search request (in serialization) and return to coordinator node. Whether we attach another resourceTask listener or not, it won't change the fact it is not an accurate measurement of the search task resource usage.

I think background approach might be better. Considering we have a coordinator node level parent taskId and multiple associated child taskIds(shard level), can we store all these info on each node and then aggregate it later by using these relationships?

Agreed! I have a draft for this approach as well: https://github.com/opensearch-project/OpenSearch/pull/12473
The resource usage might be higher for the second approach and it might add a burden to the cluster manager node, but it would be much straightforward and won't have potential impact on the search workflow.

@ansjcy

Either way, we need to sum up the resource usage from each node to get the query-level resource usages.

I had a doubt on this ie whether a simple sum is the right way to portray top N expensive queries.
Consider two queries(on a 2 node cluster):
1st query:
Query consumes 30% at a coordinator node, and when it is fanned out to 2 nodes, a query consumes 30% each on both nodes. Lets say this query requires another hop to both nodes(lets say max_concurrent_shard_requests is set to 1) and again consumes 30% each. So overall it consumes (30 + 60*2) = 150% overall
2nd query:
Query consumes 20% at a coordinator node, but consumes 100% on one of the data node. Overall: 120% overall
2nd query consumed less CPU overall but had more impact as took down one of the data node. So if a user says give me the top expensive query, should we still return 1st query? Doesn't seem very right.

@ansjcy would do you think about the approach that separates tasks and queries: we do track task resource utilization and there is pretty clear link between query (or better to say, search) and the tasks its execution spawns across the nodes. If we capture the tasks information separately (as it is now) but made it available after query finishes and response is returned to the user (so the completion times will be captured accurately)? Yes, that could be a separate call, very likely (or as with explain, we could ask coordinator to consolidate task tracking for the query).

@sgup432

2nd query consumed less CPU overall but had more impact as took down one of the data node. So if a user says give me the top expensive query, should we still return 1st query? Doesn't seem very right.

Deciding "which query is more expensive" is out of scope for this issue. This issue focus only on "how to get the query-level resource usage (CPU, memory usage) metrics". It could be a future improvements of the top n queries feature - we can come up with a "scoring" mechanism to evaluate which query is more expensive based on multiple metrics like latency, resource usage, index/shard involved etc.

@reta Thanks for the comment! Yes, in fact the implementation of this draft PR: https://github.com/opensearch-project/OpenSearch/pull/12473  is similar to what you described. We capture and store the task level resource usages in the query insights plugin after the tasks finish, and consolidate them on the cluster manager node. It would be nice if you can also take a look at the draft when you got time :)

@ansjcy
Sure. But I think calculating scoring(or resource estimation) will be an important to make sense of the data for the user and take decisions if needed.
Maybe you can expose an interface with default implementation being simpleSum. Eventually we can plugin any kind of implementation later if needed.

@sgup432 I think have per-query resource estimation would be a tremendously useful feature, however not easy to implement, if you have viable proposal - pleasure share, otherwise we sadly piggy back on the resource tracking approaches all the time ...


Fixed an issue with /p:SolutionDir

Fixes an issue with trailing slashes not added to SolutionDir when building from command line, as Xamarin Studio validates and adds these slashes itself, while the xbuild CLI does not.
Original issue: #5

Nice quickfix but what about Windows paths? I assume that they use backslashes.

I'm assuming xbuild sanitizes the paths, because I'm seeing both slashes used in various libraries.

As an example, I'm seeing this issue when using Realm, right when it's trying to copy the RealmWeaver DLL under SolutionDir/Tools, but actually ends up combining the paths to a new directory, as seen below:
Target CopyRealmWeaver:
    CopyRealmWeaver
    Copying file from '/Users/dids/Work/Xamarin/MyAwesomeApp/packages/Realm.Database.1.2.0/tools/RealmWeaver.Fody.dll' to '/Users/dids/Work/Xamarin/MyAwesomeAppTools/RealmWeaver.Fody.dll'

Here's the source for the above, which should highlight the issue as well.
In this case this happens when using /p:SolutionDir=/Users/dids/Work/Xamarin/MyAwesomeApp and not adding the trailing slash.
This is also mentioned here for VS/msbuild:
$(SolutionDir)		The directory of the solution (defined as drive + path); includes the trailing backslash '\'.

@Dids thank you :)


ConPTY support

Triggers that winpty.dll does not exist.
I would like to ask how to change this.
There are various ways. Please show me the way.
:term vim a number of times, the color of the status bar changes. This could not be completed.
I was late as I went to my father's grave visit. I'm sorry.

I had forgotten all about gVim. I will start from now.

I can not get the standard I/O of the console by all means.
Without it VTP can not be used.
Therefore ConPTY can not be used.
End.

Codecov Report

Merging #3474 into master will increase coverage by 0.01%.
The diff coverage is 52.38%.

@@            Coverage Diff             @@
##           master    #3474      +/-   ##
==========================================
+ Coverage   77.08%    77.1%   +0.01%
==========================================
  Files          99       99
  Lines      138960   138974      +14
==========================================
+ Hits       107114   107152      +38
+ Misses      31846    31822      -24

Impacted Files
Coverage Δ

src/option.c
85.43% <ø> (ø)
:arrow_up:

src/terminal.c
73.94% <25%> (-0.17%)
:arrow_down:

src/channel.c
83.06% <69.23%> (-0.11%)
:arrow_down:

src/gui.c
56.92% <0%> (-0.52%)
:arrow_down:

src/mbyte.c
62.29% <0%> (-0.07%)
:arrow_down:

src/screen.c
78.67% <0%> (-0.05%)
:arrow_down:

src/syntax.c
78.42% <0%> (-0.03%)
:arrow_down:

src/if_py_both.h
76.3% <0%> (-0.01%)
:arrow_down:

src/undo.c
83.18% <0%> (+0.06%)
:arrow_up:

... and 6 more

Continue to review full report at Codecov.

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

Oops.

What we announced in the associated blog post was a Pseudo Console, not a Pseudo Terminal/TTY.
https://github.com/Microsoft/console/issues/235

It does not seem to fit gVim. I will advance.

In gVim:

I'm sorry I have not finished it yet. Code reading is insufficient.

Windows 10 (1809) has been released. how is it?

I'm late.
Since the test did not succeed, I have read the code further.
I have commented out one test with this commit.
That will fail.
It looks line conhost.exe is deadlocked.
If you kill that conhost.exe process, Vim keeps running.
I am looking for a workaround.
AppVeyor now has an error. to correct.

About nonblocking test.
In Windows, pipe implementation is done in the file system called NPFS.
Generally, file systems do not support non-blocking.

Repeating to hang up immediately after committing...

I will retire.
Please use this code freely.
Thank you very much.

Why did you close this?  Is it not fully working and you are giving up?

@blayz3r  instead of bumping this issue, you should try out the patch and see if this fixes your problems.

Right. Can do that. Is the plan to merge it into vim proper. It looked like the project was just abandoned.


High CPU usage

local-path-provisioner is one of the most CPU consuming processes in my cluster:

It seemingly ate 20 minutes of CPU time in just 22 hours:
local-path-storage   local-path-provisioner-5fbd477b57-mpg4s    1/1     Running     5          22h

During that time, it only created 3 PV's:
❯ k logs -n local-path-storage local-path-provisioner-5fbd477b57-mpg4s
time="2019-04-22T03:00:46Z" level=debug msg="Applied config: {\"nodePathMap\":[{\"node\":\"DEFAULT_PATH_FOR_NON_LISTED_NODES\",\"paths\":[\"/opt/local-path-provisioner\"]}]}"
time="2019-04-22T03:00:46Z" level=debug msg="Provisioner started"
time="2019-04-22T05:13:19Z" level=debug msg="config doesn't contain node kube0, use DEFAULT_PATH_FOR_NON_LISTED_NODES instead"
time="2019-04-22T05:13:19Z" level=info msg="Creating volume pvc-5782375f-64bd-11e9-a240-525400a0c459 at kube0:/opt/local-path-provisioner/pvc-5782375f-64bd-11e9-a240-525400a0c459"
time="2019-04-22T05:13:25Z" level=info msg="Volume pvc-5782375f-64bd-11e9-a240-525400a0c459 has been created on kube0:/opt/local-path-provisioner/pvc-5782375f-64bd-11e9-a240-525400a0c459"
time="2019-04-22T10:37:15Z" level=info msg="Deleting volume pvc-5782375f-64bd-11e9-a240-525400a0c459 at kube0:/opt/local-path-provisioner/pvc-5782375f-64bd-11e9-a240-525400a0c459"
time="2019-04-22T10:37:19Z" level=info msg="Volume pvc-5782375f-64bd-11e9-a240-525400a0c459 has been deleted on kube0:/opt/local-path-provisioner/pvc-5782375f-64bd-11e9-a240-525400a0c459"
time="2019-04-22T10:38:20Z" level=debug msg="config doesn't contain node kube0, use DEFAULT_PATH_FOR_NON_LISTED_NODES instead"
time="2019-04-22T10:38:20Z" level=info msg="Creating volume pvc-bee28903-64ea-11e9-a240-525400a0c459 at kube0:/opt/local-path-provisioner/pvc-bee28903-64ea-11e9-a240-525400a0c459"
time="2019-04-22T10:38:24Z" level=info msg="Volume pvc-bee28903-64ea-11e9-a240-525400a0c459 has been created on kube0:/opt/local-path-provisioner/pvc-bee28903-64ea-11e9-a240-525400a0c459"
time="2019-04-22T11:25:29Z" level=info msg="Deleting volume pvc-bee28903-64ea-11e9-a240-525400a0c459 at kube0:/opt/local-path-provisioner/pvc-bee28903-64ea-11e9-a240-525400a0c459"
time="2019-04-22T11:25:33Z" level=info msg="Volume pvc-bee28903-64ea-11e9-a240-525400a0c459 has been deleted on kube0:/opt/local-path-provisioner/pvc-bee28903-64ea-11e9-a240-525400a0c459"
time="2019-04-22T11:26:18Z" level=debug msg="config doesn't contain node kube0, use DEFAULT_PATH_FOR_NON_LISTED_NODES instead"
time="2019-04-22T11:26:18Z" level=info msg="Creating volume pvc-72a9e446-64f1-11e9-a240-525400a0c459 at kube0:/opt/local-path-provisioner/pvc-72a9e446-64f1-11e9-a240-525400a0c459"
time="2019-04-22T11:26:23Z" level=info msg="Volume pvc-72a9e446-64f1-11e9-a240-525400a0c459 has been created on kube0:/opt/local-path-provisioner/pvc-72a9e446-64f1-11e9-a240-525400a0c459"

Any ideas what's the matter? It it doing some kind of suboptimal high frequency polling? It bugs me that my brand new, almost empty single node Kubernetes setup already has LA 0.6 without any load coming towards it.
It was deployed with:
kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-storage.yaml

without any modifications to the manifest.

I have the same experience.
My single node k3os cluster is running an idle instance of dokuwiki.
And local-path-provisioner is the top cpu scorer (wiithout having any work to do),

Same problem here:

After a reboot the CPU usage is ok for some time, then again rising.

I had the same with version 0.0.6. The upgrade to version 0.0.7 helped so far.

I will look into this issue.

Give v0.0.8 a try to see if solve the problem.

It's definitely better now, showing 0.3-0.5% CPU on average (and without "bursts" every 30 sec as I could have thought by looking at the commit). Aggregated CPU usage has also improved, it has been 1 cpu second for the first 4m 30s of real time.
I upgraded from 0.0.6 to 0.0.8 directly so not sure which version brought the actual fix.
Thank you for addressing the problem anyway.

Still an issue with rancher/local-path-provisioner:v0.0.9.
k3s crictl stats
CONTAINER           CPU %               MEM                 DISK                INODES
076e4ef48abe       25.04               44.45MB             39.09kB             13

The cluster is only running the https://github.com/helm/charts/tree/master/stable/prometheus-operator I guess it's related to the metrics polling.


Initial release

cc @darksonn @kpreid @jofas: do you want to coöwn and co-maintain this crate?

do you want to co-own and co-maintain this crate?

Sure, I do not mind.

cc …: do you want to coöwn and co-maintain this crate?

Happy to help out, but I'm bad at the “reviewing things on a consistent schedule“ aspect of “maintenance”. Do as you see fit.
I took a look through the code and I might come up with a few polishing PRs.


[Bug] wrong popup position for repo

Version
No response
Current Behavior

Expected Behavior
No response
Environment
- OS: MacOS Monterey M1
- Browser: Chrome 106.0.5249.119

Any additional comments?
No response

Hi @xxchan, thanks for your feedback. The issue might be due to a recent GitHub UI update, we will fix it ASAP.

Well, I cannot reproduce the issue on my machine. It seems the teaching bubble is still in its right position. Can you guys help to check if the bug occurs on your machine? @xgdyp @zhicheng-ning @wxharry @wj23027 @andyhuang18 @lhbvvvvv @Zzzzzhuzhiwei
Note: the teaching bubble won't show again if you once confirmed "不再提示" or "Don't show this again". You must reinstall the extension to make the teaching bubble show.

Hi xxchen, I cannot reproduce the bug either. Could you check which version of hypercrx are you currently using? The current version should be version 1.7.1.

I found this happens when used together with another extension: https://github.com/refined-github/refined-github

Refined GitHub, that's it! I remember.
https://github.com/X-lab2017/open-wonderland/discussions/142#discussion-4255880
xxchan @.***> 于 2022年10月30日周日 23:41写道：

I found this happens when used together with another extension:
https://github.com/refined-github/refined-github
—
Reply to this email directly, view it on GitHub
https://github.com/hypertrons/hypertrons-crx/issues/497#issuecomment-1296287246,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHXOSWEBRA2YLNLULHLMJ33WF2CJPANCNFSM6AAAAAARR4ZHZM
.
You are receiving this because you commented.Message ID:
@.***>

Unfortunately, hypercrx currently is not compatable to refine-github. Users may need to swtich off some of the features of refined-github to use hypercrx properly.

Can you guys help to check if the bug occurs on your machines?

It seems no problem in my environment.
- OS：Windows11 22H2
- Browser: Chrome 106.0.5249.120

Thank you for your feedback, I think we have found the cause so the issue will be closed :)


Payment Method page is 404

There are errors in the extention that is causing the System/Configuration/Payment Method page to show a 404. I've already tried uninstalling and reinstalling the extension.
Through a series of removing various snippets of XML, I finally tracked it down to a few of your modules.
<comment><model>amazon_payments/system_config_backend_enabled</model></comment>
Enabled.php on lines 103-112 Mage::getSingleton('amazon_payments/simplePath')->getJsonAmazonSpConfig() is causing an error.
In addition to that
<comment><model>amazon_payments/system_config_backend_popupcomment</model></comment>
Popupcomment.php on lines 22-33:
Mage::getUrl('amazon_payments/customer/authorize', array('_store' => 1, '_forced_secure' => true));
Mage::getUrl('amazon_payments/checkout/authorize', array('_store' => 1, '_forced_secure' => true));

These two lines are also causing errors. I can't find the details of the errors because they aren't showing up in exceptions or system logs. After commenting these lines the 404 goes away. I don't know what repercussions there are for doing this, so please advise on how to properly fix.
login_and_pay_for_magento-1.4.0
Magento 1.9.2
CentOS 6
MySQL 5.5.48
PHP 5.6.20

Further tracked the error down inside getJsonAmazonSpConfig() >> getSimplepathUrl() >> getListenerUrl()
This line is throwing some error causing the 404:
Mage::getUrl('amazon_payments/simplepath', array('_store' => 1, '_forced_secure' => true))

Looking at the common factor between all 3 of those lines we have found:
array('_store' => 1, '_forced_secure' => true)
Taking from that is the culprit that, when removed, solves our 404 issue:
'_store' => 1,
This makes sense why it would blow up, because our store view's ID is actually 7, not 1. You should probably update this code to support Magento installations that contain multiple store views. In the meanwhile, I'm going to find all other locations where the store ID is explicitly set.


Allow passing log files directly instead of scanning

Hi there,
I want to try building a GUI for gitaligned to run against arbitrary projects for fun. However, cloning entire repositories just for their logs seems a little heavy-handed (even with the --bare flag). It would be nice if I could, for example, pull a list of commits from the GitHub API, massage it into the git log format and pass it to the program.
As far as I can tell, this would only require to expose this function on the command line:
https://github.com/soypat/gitaligned/blob/a37e99043f591cfad60d04dc6e329a00d632f172/gitscan.go#L92
Hope you consider it. Thank you.

I like the idea. I'll see what I can do

Thank you kindly.


Keras Backend ones_like with Lambda is not serializable

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Databricks Runtime 7.3
TensorFlow installed from (source or binary):  binary
TensorFlow version (use command below): 2.3
Python version: 3
CUDA/cuDNN version: 10.1
GPU model and memory: AWS p3.xlarge

Describe the current behavior
Wrapping a tf.keras.backend.ones_like in a tf.keras.layer.Lambda fails serialization.
The following code creates the model that fails to serialize:
x = keras.Input(shape=1, name="x")
ones_like_layer = keras.layers.Lambda(K.ones_like, name="ones_like")
ones_like_layer(x)
logits = keras.layers.Dense(1, activation="sigmoid")

model = keras.Sequential([x, ones_like_layer, logits], name="ones_like_model")

Errors:
TypeError                                 Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/backend.py in wrapper(*args, **kwargs)
    200     try:
--> 201       return target(*args, **kwargs)
    202     except (TypeError, ValueError):
TypeError: 'str' object is not callable
During handling of the above exception, another exception occurred:
TypeError                                 Traceback (most recent call last)
11 frames
/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/backend.py in wrapper(*args, **kwargs)
    203       # Note: convert_to_eager_tensor currently raises a ValueError, not a
    204       # TypeError, when given unexpected types.  So we need to catch both.
--> 205       result = dispatch(wrapper, args, kwargs)
    206       if result is not OpDispatcher.NOT_SUPPORTED:
    207         return result
TypeError: 'module' object is not callable

This happens on TF 2.3 and TF Nightly.  See https://colab.research.google.com/drive/1ih41e5b6jw_3iSm9pKSOcW_Kf5y8ktU5?usp=sharing .
Describe the expected behavior
The model should be serializable.
Standalone code to reproduce the issue
See above.
Other info / logs Include any logs or source code that would be helpful to
Workaround - instead of using the Lambda, just call ones_like directly.  This works but leads to the model being less interpretable.  This requires using the Functional model.
See also: https://github.com/tensorflow/tensorflow/issues/41244#issuecomment-698918718

Was able to reproduce the issue with TF v2.3 and TF-nightly. Please find the gist of it here. Thanks!

FYI - tf.ones_like also suffers from this serialization issues as well.
A workaround is:
class OnesLike(keras.layers.Layer):
  def call(self, x):
    return K.ones_like(x)

Adding the contributions welcome label to this issue for further investigation by the community. If you are interested in working on this issue, please leave a comment and I will assign it to you. Thanks!

@jeisinge When I update one line (Lambda layer), everything worked without any error. Please check the gist here
line before
ones_like_layer = keras.layers.Lambda(K.ones_like, name="ones_like")
line after updating
ones_like_layer = keras.layers.Lambda(lambda x:K.ones_like(x), name="ones_like")
Please verify once and close the issue if this was resolved for you. Thanks!

Unfortunately, I am still seeing the error in my production on TF 2.3.1.
With that being said, I just tested on Colab.  This workaround works on 2.3.0+ just like the OnesLike workaround.
The original code still fails on tf-nightly.  Is it required to use a Python lambda in a Lambda layer?  I thought that any functions would work there?

@nikitamaia With @tomerk commit https://github.com/tensorflow/tensorflow/commit/229cbce4caa531b9f9695e98b38909dfeed234aa on TF master/2.5.0x now we claim:
The `Lambda` layer exists so that arbitrary expressions can be used
  as a `Layer` when constructing `Sequential`
  and Functional API models. `Lambda` layers are best suited for simple
  operations or quick experimentation. For more advanced use cases, follow
  [this guide](https://www.tensorflow.org/guide/keras/custom_layers_and_models)
  for subclassing `tf.keras.layers.Layer`.

  WARNING: `tf.keras.layers.Lambda` layers have (de)serialization limitations!

So can we clarify with the team what we want to achieve here with a candidate PR?
|  jeisinge: Is it required to use a Python lambda in a Lambda layer? I thought that any functions would work there?
E.g. not all the lambda functions can be easy expressed inline (control flow etc..).

@tomerk, the docstring was updated in https://github.com/tensorflow/tensorflow/commit/229cbce4caa531b9f9695e98b38909dfeed234aa. Could we make it bit explicit for what limitation it could have?

It could be nice if we explain why we have this current limitation and if we want any contribution on this specific topic.

After looking at the above comments, I analysed the code by going in depth function call trace.
I compared below two scenarios:
Serializability of model is affected based on previous layer.
model = keras.Sequential([ones_like_layer, logits], name="ones_like_model") is serializable but model = keras.Sequential([x, ones_like_layer, logits], name="ones_like_model") is not.
The Lambda layer seems serializable but when Input layer is passed before Lambda . In that case, the FullArgSpec of ones_like before and after are as below:
Before
FullArgSpec(args=['tensor', 'dtype', 'name', 'optimize'], varargs=None, varkw=None, defaults=(None, None, True), kwonlyargs=[], kwonlydefaults=None, annotations={})

After
FullArgSpec(args=[], varargs='args', varkw='kwargs', defaults=None, kwonlyargs=[], kwonlydefaults=None, annotations={})

Observations

generic_utils.func_dump() and generic_utils.func_load() looks good and the error can't be there.
The closures are different in both the cases (before and after) for dumped function code. The closure before looks like (<function ones_like at 0x7f9ea3d35290>, <function ones_like at 0x7f9ea3d35320>) and closure after looks like ['ones_like', 'ones_like']. This may be the problem but I am not sure yet why and how.

@bhack , @qlzh727, @jvishnuvardhan - Can you point me to the direction where error can be?

Was able to reproduce your issue in Tf Nightly 2.6.0-dev20210528, please find the gist here. Thanks!

I think that you need to use something like:
import tensorflow as tf
from tensorflow import keras
x = keras.layers.Input(shape=(1), name="input_layer")
ones_like_layer = keras.layers.Lambda(lambda x: tf.ones_like(x), name="ones_like")
ones_like_layer(x)
logits = keras.layers.Dense(1, activation="sigmoid")
model = keras.Sequential([x, ones_like_layer, logits], name="ones_like_model")
keras.models.model_from_json(model.to_json())

Also from the documention:

Variables: While it is possible to use Variables with Lambda layers, this practice is discouraged as it can easily lead to bugs. For instance, consider the following layer:
python scale = tf.Variable(1.) scale_layer = tf.keras.layers.Lambda(lambda x: x * scale)
Because scale_layer does not directly track the scale variable, it will not appear in scale_layer.trainable_weights and will therefore not be trained if scale_layer is used in a Model.
A better pattern is to write a subclassed Layer:

class ScaleLayer(tf.keras.layers.Layer): def init(self): super(ScaleLayer, self).init() self.scale = tf.Variable(1.)
  def call(self, inputs):
    return inputs * self.scale

In general, Lambda layers can be convenient for simple stateless computation, but anything more complex should use a subclass Layer instead.

Hi @jeisinge! I just made few changes according to this thread  in lambda layer as below.
ones_like_layer = keras.layers.Lambda(lambda x:K.ones_like(x), name="ones_like") and I was able resolve this issue in 2.7. Attaching Gist for reference .Thanks!

Correct.
ones_like_layer = keras.layers.Lambda(lambda x: K.ones_like(x), name="ones_like")

Succeeds.
However, the original issue,
ones_like_layer = keras.layers.Lambda(K.ones_like, name="ones_like")

fails.  The workaround is fine for me.  Feel free to close out or add extra documentation!

Ok @jeisinge ! Thanks for confirming the same! Closing this issue as it seems to be resolved.


Bug in BatchNormalization layer

Please make sure that this is a Bug or a Feature Request and provide all applicable information asked by the template.
If your issue is an implementation question, please ask your question on StackOverflow or on the Keras Slack channel instead of opening a GitHub issue.
System information

Have I written custom code (as opposed to using example directory):
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):  ubunt 14.04
TensorFlow backend (yes / no):  yes
TensorFlow version:  1.13.1
Keras version:  2.2.4
Python version:  2.7
CUDA/cuDNN version:
GPU model and memory:

You can obtain the TensorFlow version with:
python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"
You can obtain the Keras version with:
python -c 'import keras as k; print(k.version)'
Describe the current behavior
Describe the expected behavior
Code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate the problem.
Other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.
There were many issues about the wiered behavior about BN layer. I had the same issue.
I checked the code in Bn layer, and did some experiments.
Bug:  At normalization.py   line 132
def call(self, inputs, training=None):
the parameter " training"  never passed in. it is always None no matter in what case.
I think during training , this parameter should be True, and False in testing phase.
Here are some proofs:

I added some print at line 179,
if training != None:
inputs = tf.Print(inputs,["Batch norm training: ", training])
else:
inputs = tf.Print(inputs,["Batch norm training is None\n"])
As wrote above,     "training" is alwaye None, no matter in fit or predict or evaluate.

I changed "def call(self, inputs, training=None):"  at normalization.py   line 132
to "def call(self, inputs)", and every thing was good, no errers were reported, which means
there was no place which passing "training" at all, the default parameter "None" were used all the time.

@channingxiao can you provide a standalone simple code to reproduce the issue? Thanks!

use any network with BatchNormalization layers, train with fit_generator, you can reproduce the issue.
Here is a simple net.
def Testnet(img_w, img_h, img_c):
input_shape = (img_h, img_w, img_c)
input_data = Input(name='images', shape=input_shape, dtype='float32')
x = Conv2D(8, (3, 3), strides=(1,1), padding = "same", kernel_initializer='he_normal', name='conv1')(input_data)
x = BatchNormalization(name='batc1')(x)
x = Activation('relu', name='actv1')(x)
x = MaxPooling2D(pool_size=(3,3), strides=(3,3), padding="same", name="pool1")(x)
model = Model(inputs=input_data, outputs=x)
return model

Any update on this issue?


Option to use relative file paths in xml report

Is your feature request related to a problem? Please describe.
There is an option for run command to store only relative file paths. It is very useful while running your tests inside one environment(e.g. docker) and using results in another one(e.g. on Jenkins node). It is also common to generate cobertura report in the same environment you are running tests, but this report always includes absolute path for sources(I think, because of this line). This way it is impossible for tools like Jenkins Cobertura plugin or Sonarqube to find source files properly(Sonarqube either fails to parse coverage report at all or raises warning, for example).
Describe the solution you'd like
json reports use paths from .coverage file and thus respect this relative_files setting from run section.
It would be nice either to not canonicalize paths for sources or to have an option which will skip path normalization(this way it may be more backward compatible)
Describe alternatives you've considered
I tried to use combine and define sources in [path] section of config but it ends up with absolute path in the end report anyway.

inspired by discussion in #597

This seems very reasonable :)

Same issue here :( CodeClimate outside of docker fails as the report is using absolute path.

As of f668d6f3, using [run] relative_files=True will make the XML report store relative file names.

This is now available in coverage v5.0.4


Playtime on the player info page does not appear correctly if the user has a day or more of playtime

If the player has a day or more of playtime, the player info page will cut that playtime off.

Is that's why I thought play time tracking is broken.
Am I actually this stupid?

For what it's worth, I've set up a DB trigger to make sure that the play time table never rolls back. So it's only possible for time to fail to count, rather than people actually going backwards.

Ok so that was true when I wrote that. I checked the table again and there are a few (rare) cases of losses of upwards to 50 minutes.

I have a rather severe issue with this. I have all roles unlocked, including all heads and captain. I asked to be whitelisted for MRP, and Nairodian said he only saw my playtime as six hours. I know I've played about 90 hours according to my steam time, and it was all on lizard. Somehow the DB lost all my playtime.

Fixed by e1c80e8d220a12e9b5cd0fc73d3c9791127b3806


Needed to download org.json.jar on OSX

Hello,
I see the last edit was quite a while ago, but I thought I'd post anyway.  I tried installing this extension, but got the following error:
$ /Applications/OpenRefine.app/Contents/MacOS/JavaAppLauncher
10:29:28.537 [            refine_server] Starting Server bound to '<IP_ADDRESS>:3333' (0ms)
10:29:28.551 [            refine_server] Initializing context: '/' from '/Applications/OpenRefine.app/Contents/Resources/webapp' (14ms)
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/Applications/OpenRefine.app/Contents/Java/lib/slf4j-log4j12-1.7.18.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Applications/OpenRefine.app/Contents/Resources/webapp/WEB-INF/lib/slf4j-log4j12-1.7.18.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
10:29:29.085 [                   refine] Starting OpenRefine 3.4.1 [437dc4d]... (534ms)
10:29:29.085 [                   refine] initializing FileProjectManager with dir (0ms)
10:29:29.085 [                   refine] /Users/douglasmennella/Library/Application Support/OpenRefine (0ms)
Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONWriter
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
        at java.lang.Class.privateGetPublicMethods(Class.java:2902)
        at java.lang.Class.getMethods(Class.java:1615)
...

The error only came when installing this extension.  I installed the extension in the workspace directory.  I'm running OpenRefine 3.4.1 on OSX Big Sur.
Downloading org.json and installing it under extensions/georefine-master/module/MOD-INF/lib/ makes it all work.
I don't know if you want/need to update the install instructions, but hopefully this issue will help someone else.
Regards,

Thanks, I haven't taken a look at this extension in a while. It seems like what probably happened is that OpenRefine no longer bundles this JAR and uses something else instead now. I'll add it to the distribution so that there shouldn't be any additional install steps necessary.


CHM, and -stdout option

Two more items from e-mail exchanges with @pabs3 .
Migrating away from docs as CHM, and depending on Microsoft HTML Workkshop for rebuilding the CHM:
There is a CHM generator on Linux in Free Pascal but I think on Linux
it would be far better to just use plain HTML.

http://wiki.lazarus.freepascal.org/chm

I had a quick look, the solution (requiring contributing developers installing a rarely used obscure compiler) seems worse than the current problem (400k of binary blob). Anyway, capture here for somebody else or my future self to look further.
A -stdout option is definitely needed, but the report written there
should be human readable, not XML.

That has been in my mind for a while, and architecturally, can be hooked up with the default (xml to temp location) with a new xslt transform to convert to txt, then put that to stdout. This gives a text output at end of run, but rather simple to do. OTOH, giving stdout as the tool runs requires a bit more structural change to the whole thing.

The -stdout option was added in
https://github.com/HinTak/Font-Validator/commit/b0955f80f801076c51083250e072ca5f8f0e93cc


404 when reporting issue

Issue Type
Bug
Description
The issue reporter opened a URI in the browser that shows a 404. It seems to have to do with the stacktrace included in the body, when I remove that it works:
https://go.microsoft.com/fwlink/?LinkId=534872&title=Cannot read property 'provideDecoration' of undefined&body=
%23%23%23 Issue Type
Bug

%23%23%23 Description

TypeError%3A Cannot read property 'provideDecoration' of undefined
	at %2Fusr%2Fshare%2Fcode-insiders%2Fresources%2Fapp%2Fout%2Fvs%2Fworkbench%2Fnode%2FextensionHostProcess.js%3A534%3A586
	at %2Fusr%2Fshare%2Fcode-insiders%2Fresources%2Fapp%2Fout%2Fvs%2Fworkbench%2Fnode%2FextensionHostProcess.js%3A98%3A524
	at new n.Class.derive._oncancel (%2Fusr%2Fshare%2Fcode-insiders%2Fresources%2Fapp%2Fout%2Fvs%2Fworkbench%2Fnode%2FextensionHostProcess.js%3A75%3A657)
	at Object.t.asWinJsPromise (%2Fusr%2Fshare%2Fcode-insiders%2Fresources%2Fapp%2Fout%2Fvs%2Fworkbench%2Fnode%2FextensionHostProcess.js%3A98%3A487)
	at %2Fusr%2Fshare%2Fcode-insiders%2Fresources%2Fapp%2Fout%2Fvs%2Fworkbench%2Fnode%2FextensionHostProcess.js%3A534%3A551
	at Array.map (native)
	at e.%24provideDecorations (%2Fusr%2Fshare%2Fcode-insiders%2Fresources%2Fapp%2Fout%2Fvs%2Fworkbench%2Fnode%2FextensionHostProcess.js%3A534%3A475)
	at e._doInvokeHandler (%2Fusr%2Fshare%2Fcode-insiders%2Fresources%2Fapp%2Fout%2Fvs%2Fworkbench%2Fnode%2FextensionHostProcess.js%3A579%3A983)
	at e._invokeHandler (%2Fusr%2Fshare%2Fcode-insiders%2Fresources%2Fapp%2Fout%2Fvs%2Fworkbench%2Fnode%2FextensionHostProcess.js%3A579%3A701)
	at e._receiveRequest (%2Fusr%2Fshare%2Fcode-insiders%2Fresources%2Fapp%2Fout%2Fvs%2Fworkbench%2Fnode%2FextensionHostProcess.js%3A578%3A836)

%23%23%23 VS Code Info

VS Code version%3A Code - Insiders 1.20.0-insider (8adf87c03d78597e385ef787e8fb1ef564f8995b%2C 2018-01-31T06%3A18%3A41.654Z)
OS version%3A Linux x64 3.13.0-108-generic

<details>
<summary>System Info<%2Fsummary>

|Item|Value|
|---|---|
|CPUs|Intel(R) Core(TM) i7-4770HQ CPU %40 2.20GHz (4 x 2194)|
|Load (avg)|0%2C 0%2C 0|
|Memory (System)|3.86GB (0.17GB free)|
|Process Argv|%2Fusr%2Fshare%2Fcode-insiders%2Fcode-insiders --enable-proposed-api|
|Screen Reader|no|
|VM|100%25|

<%2Fdetails>Extensions%3A none
Reproduces only with extensions

<!-- Generated by VS Code Issue Helper -->

VS Code Info
VS Code version: Code - Insiders 1.20.0-insider (eed7e193125f3d4cfebe2089d1b2a9c674388754, 2018-01-30T09:40:57.870Z)
OS version: Darwin x64 16.7.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz (8 x 2200)

Load (avg)
4, 3, 3

Memory (System)
16.00GB (0.05GB free)

Process Argv
/Applications/Visual Studio Code - Insiders.app/Contents/MacOS/Electron

Screen Reader
no

VM
18%

Extensions (21)

Extension
Author (truncated)
Version

EditorConfig
Edi
0.12.0

autofilename
Jer
0.1.3

vscode-docker
Pet
0.0.23

regex
chr
0.1.0

ssh
chr
0.0.3

vscode-eslint
dba
1.4.4

ghlink
dt
0.0.6

tslint
eg2
1.0.24

rest-client
hum
0.17.0

vscode-azureappservice
ms-
0.5.1

vscode-azurefunctions
ms-
0.5.0

vscode-cosmosdb
ms-
0.4.0

azure-account
ms-
0.3.0

azurecli
ms-
0.4.0

github-issues-prs
ms-
0.9.0

vsliveshare
ms-
0.1.0-preview.202

debugger-for-chrome
msj
4.1.0

vetur
oct
0.11.7

vscode-versionlens
pfl
0.19.1

vscode-open-in-github
sys
1.6.0

i18n-sample
vaz
0.1.0

Reproduces only with extensions

There still is a range of lengths that don't trigger the reporter's length check and then end at the 404.

What lengths? Could you give an example url?

Not sure what lengths, but this one shows a 404: https://go.microsoft.com/fwlink/?LinkId=534872&title=test&body=%0A%23%23%23%20Issue%20Type%0ABug%0A%0A%23%23%23%20Description%0A%0A123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890%0A%0A%23%23%23%20VS%20Code%20Info%0A%0AVS%20Code%20version%3A%20Code%20-%20Insiders%201.20.0-insider%20(3f8cf5311b631c5bc395df1e8b9c795358c1ef80%2C%202018-02-03T01%3A26%3A08.181Z)%0AOS%20version%3A%20Darwin%20x64%2016.7.0%0A%0A%3Cdetails%3E%0A%3Csummary%3ESystem%20Info%3C%2Fsummary%3E%0A%0A%7CItem%7CValue%7C%0A%7C---%7C---%7C%0A%7CCPUs%7CIntel(R)%20Core(TM)%20i7-4770HQ%20CPU%20%40%202.20GHz%20(8%20x%202200)%7C%0A%7CLoad%20(avg)%7C4%2C%203%2C%203%7C%0A%7CMemory%20(System)%7C16.00GB%20(0.07GB%20free)%7C%0A%7CProcess%20Argv%7C%2FApplications%2FVisual%20Studio%20Code%20-%20Insiders.app%2FContents%2FMacOS%2FElectron%7C%0A%7CScreen%20Reader%7Cno%7C%0A%7CVM%7C20%25%7C%0A%0A%3C%2Fdetails%3E%3Cdetails%3E%3Csummary%3EExtensions%20(20)%3C%2Fsummary%3E%0A%0AExtension%7CAuthor%20(truncated)%7CVersion%0A---%7C---%7C---%0AEditorConfig%7CEdi%7C0.12.0%0Aautofilename%7CJer%7C0.1.3%0Avscode-docker%7CPet%7C0.0.24%0Aregex%7Cchr%7C0.1.0%0Assh%7Cchr%7C0.0.4%0Avscode-eslint%7Cdba%7C1.4.5%0Aghlink%7Cdt%7C0.0.6%0Atslint%7Ceg2%7C1.0.24%0Arest-client%7Chum%7C0.17.0%0Avscode-azureappservice%7Cms-%7C0.5.1%0Avscode-azurefunctions%7Cms-%7C0.5.1%0Avscode-cosmosdb%7Cms-%7C0.4.0%0Aazure-account%7Cms-%7C0.3.0%0Aazurecli%7Cms-%7C0.4.0%0Agithub-issues-prs%7Cms-%7C0.9.0%0Avsliveshare%7Cms-%7C0.1.0-preview.202%0Adebugger-for-chrome%7Cmsj%7C4.1.0%0Avscode-versionlens%7Cpfl%7C0.19.1%0Avscode-open-in-github%7Csys%7C1.6.0%0Ai18n-sample%7Cvaz%7C0.1.0%0A%0A%0A%3C%2Fdetails%3E%0AReproduces%20only%20with%20extensions

The distro with the updated link didnt get updated in the release branch
Fixed with https://github.com/Microsoft/vscode/commit/ce8fa24b9276b3f4b0817f798692ed0068cfff6b


Add testing to CI

Previously in https://github.com/conda-forge/gymnasium-feedstock/pull/22, @h-vetinari added testing through running the whole gymnasium testing ci. However, this caused a segfault for unknown reasons.
In this PR, I aim to sequentially add testing to try and identify the package or cause of the issue (my suspicion is pygame, moviepy or jax is the issue)
Tests added

test_core.py - this is the most basic test that checks the base API
spaces/* - this is testing for all of the gymnasium spaces, this should not import external modules (except numpy)

@h-vetinari Is it possible to implement a patch for us to insert custom tests.
I would like to be able to create several environments and see if they are look. Then check if adding rendering causes an issue. Or if it is an issue with mujoco envs, etc

@pseudo-rnd-thoughts, thanks so much for tackling this! :)

Is it possible to implement a patch for us to insert custom tests.

Yes, definitely. In fact this is how things usually go on feedstocks, I just prefer running the full test suite for better coverage. You can write any sequence of python commands you want into a run_test.py, and it will be executed automatically by conda during the test phase. You can make this more explicit by renaming the file differently and calling it under the commands: subsection of the test section. Note you'll have to declare all additional files you want to have available in the test directory, under a files: subsection (you can also directly files from the sources if you use the source_files: subsection). Both of these will glob, e.g.
test:
  files:
    - a_folder
  commands:
    - ...

will put a_folder and all its contents in the folder where the test script is called. If you need to do specific things between python invocations, you can also write a run_test.sh and similarly combine shell commands.
If the core set of tests is not that big, you can of course include any file you need into the fPR/feedstock.

@h-vetinari Sorry, I have taken a while to get back to this, do you have any example, I had a go in cd14b3239c42be55f357bbfef3b272d104e80736 go just seemed to break more things.
Do you know an example repo for me to have a look at that contains custom tests?

I also had a look into the tests and got some interesting insights:

When I leave the tests disabled, build and install the package locally, run the test suite and install the dependencies required for it (like torch from PyPI), the tests pass with a few skips and warnings.
When I activate the original test environment from the build artifact (build_artifacts/gymnasium-split_*/_test_env_placehold_*) and run the test suite, it does not segfault.
However, the build is done inside a docker container. When I make a docker container from the image quay.io/condaforge/linux-anvil-cos7-x86_64 use the volume binds from .scripts/run_docker_build.sh, go into the container, activate the same test environment as before and run the same test suite, it segfaults.
Further tests show, that even something like import gymnasium.envs.box2d segfaults.
Using faulthandler I get a stacktrace and it points to pygame's __init__.py, line 235 which contains just import pygame.font. However, when I execute this on its own, it does not segfault, so the stacktrace is not revealing the real reason.
I can run the test suite of pygame without segfault (still inside the docker container).

I did not expect the last point and cannot really interpret the findings. Still wanted to share with you. Do you have any idea?

OK, got one more interesting observation, I currently do not understand:
When I do import pygame before import gymnasium as gym, everything works. I tried a RecordVideo wrapper with a LunarLander environment and got a video. When I swap these two lines, I get a segmentation fault. We might use this as a workaround to make the tests pass, but do you have any clue, what the import order changes in this case?

Hey, is there some way I can reproduce this error myself? (Ideally locally, or in whatever environment you're using)
My guess is that there might be something weird in gymnasium's __init__.py (potentially in one of the imports inside of it), so one strategy to find the issue might be essentially a bin-search on that file, inserting import pygame at various lines.

@RedTachyon: Yes, try the following steps to reproduce (please tell me if there are any errors):

Get the feedstock: git clone https://github.com/conda-forge/gymnasium-feedstock.git, cd gymnasium-feedstock
Modify recipe/meta.yaml:

comment in - pytest -v tests/ in the test section of gymnasium-all
[maybe optional] Enable gymnasium-atari: comment in the dependency of gymnasium-all on gymnasium-atari, remove skip: true as well as the test section for gymnasium-atari and add atari-shimmy as run dependency for gymnasium-atari.

Build the package python build-locally.py, select a python version (I used python 3.9) → creates the test environment, but should fail with a segmentation fault.
[optional] Try the test environment without docker container:

Activate test environment: conda activate build_artifacts/gymnasium-split_<TAB>/_test_env<TAB>
Run tests: pytest -v build_artifacts/gymnasium-split_<TAB>/test_tmp/tests/ → should fail without segmentation fault.

Make a docker container: docker run -d -it --name gym_build_env -v ./recipe:/home/conda/recipe_root:rw,z,delegated -v .:/home/conda/feedstock_root:rw,z,delegated quay.io/condaforge/linux-anvil-cos7-x86_64 /bin/bash -c "trap : TERM INT; sleep infinity & wait".
Attach to it: docker exec -it gym_build_env /bin/bash
Go to the build directory cd /home/conda/feedstock_root/build_artifacts/gymnasium-split_<TAB>
Activate  test environment: conda activate _test_env<TAB>
Run tests: pytest -v test_tmp/tests/ → should fail with a segmentation fault.
Since these are bind mounts, you can make new files outside the docker container in your gymnasium-feedstock directory, which you can execute in the docker container. Also, you can edit any files in build_artifacts/gymnasium-split_<TAB>/_test_env<TAB>/lib/python3.<TAB>/site-packages/. This is useful to edit the source of gymnasium and pygame.

I don't think it is something in gymnasium's __init__.py file, because I got a segfault with import gymnasium.envs.box2d.lunar_lander, where I made gymnasium/envs/box2d/__init__py empty and gymnasium/envs/box2d/lunar_lander.py only contains a single line: import pygame. If I do the same in an own package, there is no segfault. From trying around and looking at the stacktraces, I think there might be missing something in the docker filesystem regarding fonts, but it is actually just a wild guess. I will try to narrow it down further. Maybe you have more luck. I also saw a maybe useful comment here about missing dependencies resulting in a segfault.

@RedTachyon: I forgot that gymnasium's __init__.py is still executed, even if I import a sub-package. Thanks for that pointer! Now I think you might be right. :-)

When I swap these two lines, I get a segmentation fault.

Is there any more context to the segfault? The first thing that comes to mind for now is something like https://github.com/conda-forge/conda-forge.github.io/issues/1551, but it could be something weird with symbol loading etc.
Thanks for investigating!

The stacktraces pointed to pygame.font or pygame.sysfont. That is why I thought there is some system dependency regarding fonts missing. However, now I seem to have found the issue: yum -y update && yum -y install mesa-libGL resolves the segfaults, as far as I can tell. I noticed, that cv2 could not be imported due to a missing libGL.so.1 and just tried it and it worked.
I managed to install it in the container as well and now get during the build process some test errors (e.g. because jax is missing), but no segmentation fault. There are missing more test dependencies. Some can be installed from conda-forge others have to be installed from PyPI. I can try to make a complete pull request with working tests to supersede #27 and #22. Are you OK with that?

@ChristofKaufmann That would be great, this might explain why macos is working

I concur that would be great!

Some can be installed from conda-forge others have to be installed from PyPI.

We should try to get as many dependencies from conda-forge (and - where missing - into conda-forge); the other tests we have to skip. If those are optional dependencies, it would be nice to have fallbacks in upstream directly that do something like:
try:
    import xyz
except ImportError:
    pytest.skip("xyz not available")

(just an illustration; this can be done better through tags/fixtures/etc.)

In shimmy, I used pip to install autorom[accept-rom-license] for one test, see here. I thought that is OK until autorom is on conda-forge. Why is this problematic?

Why is this problematic?

Among other things, because pip and conda are different paradigms, pip might install over your conda-packages, and you're not actually testing what users will install when they get the package.
There's some wiggle room for pragmatism, but very sparingly. Much better to either integrate those packages into conda-forge, or skip the respective tests (resp. patch out those requirements if they're non-essential).


Path description in Swagger

Path object and method definition based on current VIP implementation.
Other modifications (CATI-WS and VIP should be modified if modifications are approved):

play -> start (for consistency with 'create-and-start')
used DELETE method in delete execution for consistency with Path
used PUT instead of POST for directory creation (mkdir should be idempotent).
moved Path upload from path/content (with uri in content) to path/{uri}/content (PUT)
moved directory listing from path/directory/{uri} to path/{uri}/list
moved directory creation from path/directory/{uri} (PUT) to path/{uri}/mkdir (more explicit?)

The PR also contains previous commits that were in master but not in develop (they should have been).
@axlbonnet should also review this (couldn't find him in the list of suggested reviewers).
Addresses #50.

@axlbonnet I guess your latest PRs mostly discard this one, except for the following modification:

play -> start (for consistency with 'create-and-start')
Do you agree?

@glatard Why do you want to change play to start? Play is consistent with CARMIN specifications. I think we should keep it.

For now we have play and create-and-start. For consistency, we should have either (1) start and create-and-start or (2) play and create-and-play. I prefer (1) because "play" sounds more like music, sports or toys.

When I read specifications, I find two functions: createExecution and playExecution. CreateExecution initializes a new execution and is able to start it. PlyaExecution is only used if execution status is "Ready" (after initialization). We never have "create-and-start" method.
"create-and-start" was a temporary method implemented by Axel for VIP when initExecution metod (ancestor of createExecution) didn't start an execution after initialization. Do you remember we changed the initExecution into createExecution and startExecution into playExecution after this API change?
"create-and-start" never was part of CARMIN API specifications.

I agree with Mathieu, there is (normaly) no more "create-and-xxxx" method, there is only a "create" method on "POST /executions" which is unnamed in fact. I don't care about naming the other method "play" or "start", but i see no need to change for consistency, so keep "play" as it currently is seems more logic.


Markdown mode fails to use modeCfg.underscoresBreakWords properly

Hey there!
I use CodeMirror via IPython, which supports using embedded LaTeX in Markdown cells. The following text causes buggy behaviour:
a_{This text is italicized

The Markdown mode has a property called modeCfg.underscoresBreakWords which indicates whether underscores in the middle of works cause italics or bolding after them. If this is set (which it is in IPython), something like a_b does not cause italics. However, a_{ still does, because the condition is implemented like this:
if (!modeCfg.underscoresBreakWords) {
  if (ch === '_' && stream.peek() !== '_' && stream.match(/(\w)/, false)) {
    var prevPos = stream.pos - 2;
    if (prevPos >= 0) {
      var prevCh = stream.string.charAt(prevPos);
      if (prevCh !== '_' && prevCh.match(/(\w)/, false)) {
        ignoreUnderscore = true;
      }
    }
  }
}

Note that on line 2 of the above code block we require
stream.match(/(\w)/, false))

which does not hold if the next character is {.
This can be fixed simply by changing that second line to
if (ch === '_' && stream.peek() !== '_' && stream.match(/(\w|\{)/, false)) {

I'm not sure this is the right decision, of course, but given that I suspect a lot of people will want to use LaTeX in their Markdown, this is something that should be addressed. (Perhaps via another modeCfg flag). I'm afraid I'm not sure how you'd like to handle this, so I did not make a Pull Request.

We are tracking this for JupyterLab in https://github.com/jupyterlab/jupyterlab/issues/6774. In the ideal world the multiplexing mode would allow to get the information from the "outer" mode (e.g. gfm) and we could condition whether to open the "inner" mode using the information on the previous token type.

There is no mention of underscoresBreakWords anywhere in the CodeMirror codebase, so I think that's just not a feature that exists, and this may not have anything to do with the wrapping of modes.

This is correct, there is no underscoresBreakWords any more - it used to be here:
https://github.com/codemirror/CodeMirror/blob/ece5c232a43e9260b4c7393de5560ba2b60a4036/mode/gfm/gfm.js#L116
I was referring to the https://github.com/codemirror/CodeMirror/issues/2307#issuecomment-36150188 since I found this issue when searching for any prior requests to make the multiplexingMode more context-aware and it happened to discuss the exact issue I was trying to fix. As this comment and the previous one (https://github.com/codemirror/CodeMirror/issues/2307#issuecomment-36093610) referred to issue with nesting modes being applied incorrectly in naive multiplexingMode and asked if this is tracked in Jupyter project, and we now have a related issue I just wanted to leave a cross-reference for anyone searching in the future :)

Also, if anyone is interested I proposed a workaround for lack of context handling by multiplexingMode in https://github.com/jupyterlab/jupyterlab/pull/10867 but this is just a band-aid for now - certainly we will need to revisit this on our side with migration to CodeMirror 6 :)


server-mock.ts: rename ssrBoolean to ssrAttribute

Fixes https://github.com/solidjs/solid/issues/1020

Thanks I missed that one.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 89.005%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1242

Relevant Lines:
1325

💛  - Coveralls


Dark mode for solution popup as well

Currently, it is just in light mode, we can replace the background with a dark color. The color could be dark gray or blue like the Material Dark Themes from Google instead of the total black/AMOLED one.

Would appreciate it if the table is also in dark mode!


Unify audience claim

The 'aud' part of the payload is being converted to array, thats why we need to use UnifyAudience claim formatter to create lcobucci token.
Before the change:
{
  "iss": "iss",
  "aud": [
     "audience"
  ],
  "sub": "sub",
}

After the change
{
  "iss": "iss",
  "aud": "audience",
  "sub": "sub",
}

Check out the default method:
https://github.com/lcobucci/jwt/blob/4.2.x/src/Encoding/ChainedFormatter.php
:)

This change is needed to be compatible with software that only accepts audiences generated as strings like https://github.com/jitsi

Thank you @aerrasti.

Can you do a patch release including this one? Many thanks 🙏 !

Released in v2.15.1!


minor fixes for add and edit function

rootnodes have no parentrepo field, and updated old request.current to currentRequest

Replaced by #33


Features/emumeration optimizations

These changes reduce an O(n^2) enumeration for the common case of string inputs to O(n), amongst a few other things. I changed MatchState to create a Slice in any case where the input isn't already an IList, and Slice is now a thin wrapper around adapters that implement IList. I tried not to change publicly exposed API much, but MatchState's  Input property is read only and I didn't keep Slice's copy on write since it isn't currently used anywhere.
The benchmark project is currently just using the Calc sample parser, so it's mostly exercising input classes and string input, but I was able to get a good increase in performance with these changes on an input with around 10,000 numbers:
Before:

Method
Job
Runtime
Mean
Error
StdDev
Ratio

CalcParserBenchmark
.NET 5.0
.NET 5.0
8.659 s
0.0613 s
0.0512 s
0.91

CalcParserBenchmark
.NET Core 3.1
.NET Core 3.1
8.764 s
0.0649 s
0.0607 s
0.92

CalcParserBenchmark
.NET Framework 4.8
.NET Framework 4.8
9.551 s
0.1052 s
0.0821 s
1.00

After:

Method
Job
Runtime
Mean
Error
StdDev
Ratio

CalcParserBenchmark
.NET 5.0
.NET 5.0
899.6 ms
4.99 ms
4.16 ms
0.79

CalcParserBenchmark
.NET Core 3.1
.NET Core 3.1
1,002.2 ms
8.04 ms
7.52 ms
0.87

CalcParserBenchmark
.NET Framework 4.8
.NET Framework 4.8
1,145.5 ms
9.61 ms
8.99 ms
1.00

Sweet, thanks @steve7411! May I ask how you found IronMeta and what you're using it for?

I read about it in an article I found when I was searching for C# parser generators. I'd never heard of OMeta before, and it looked nice. I'm currently using it for an interpreter for a very old version of BASIC that was originally for CP/M.


Log in to BCO editor

The BCO editor can be found at https://data.tst.oncomx.org/bco_editor/
Your account is set up with your @gwu.edu email
Let me know if you have any issues, otherwise close ticket once you're able to successfully log in

Got an error message when logging in
'Login failed! Invalid email/password combination'

Are you able to reset your password?
On Tue, Jan 24, 2023 at 3:58 PM Daniel Lyman @.***>
wrote:

Got an error message when logging in
'Login failed! Invalid email/password combination'
—
Reply to this email directly, view it on GitHub
https://github.com/biomarker-ontology/biomarkerontology/issues/2#issuecomment-1402646462,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVQ2KO3ULTLCN2L52BYR35DWUA7AZANCNFSM6AAAAAAUFNJ3HE
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Karina Martinez
Senior Research Assistant
Department of Biochemistry and Molecular Medicine
The George Washington University
Ross Hall, Room 541
2300 Eye Street N.W.
Washington, DC 20052
@.***

I should use my GitHub username and password; correct?

My bad; just saw your note: Your account is set up with your @gwu.edu email
Login worked. Thanks


support list-policy for az keyvault

As a developer, I would like to see existing access policies assigned to a given key vault.
az keyvault list-policy ***

@jiasli add to next Sprint.

Access policies are shown in az keyvault show. There is no corresponding REST API to list policies: https://docs.microsoft.com/en-us/rest/api/keyvault/vaults
You may filter the result to show only the access policies:
az keyvault show -n {} --query "properties.accessPolicies"


Create two functions for copying tables from one workbook to another

We have a tabletodicts function to copy a table into a dict:
https://github.com/VirtualActuary/MiscVBAFunctions/blob/eea7e17ae4d4b623158b1961714e3bda806332a6/MiscVBAFunctionsLib/MiscF.bas#L1917

Implement the inverse: dictstotable
Implement a function to copy a table from one workbook to another, keeping number format, but valuepasting the values

@BartJan142 you can start on the first bullet point so long

CopyExcelTableValuesToNewSheet(WB, tablename, p.getProjWB, TableNameInOutput)
DictsToTable(TableDicts as Collection, OutputStartRange as Range) as ListObject

Converts a TableToDicts object back to a list object.

Args:
    TableDicts: Collection of dictionaries that represents a table
    OutputStartRange: 1x1 range where the first header of the table should start

Returns:
    ListObject of the new table

Have a wrapper function:
CopyExcelTableValuesToNewSheet(SourceWB as Workbook, Tablename as string, OutputWB as Workbook, TableNameInOutput as string) as ListObject

     TableDicts = DictsToTable(TableName, SourceWB)

     ' TODO: create new sheet, with name of table using
     Dim WS as worksheet
    set WS = OutputWB.Worksheets.add(name:=newSheetName(TableNameInOutput, OutputWB)

    set CopyExcelTableValuesToNewSheet = DictsToTable(TableDicts, WS.Range("C8")


redirect()->to lost $baseURL config

My config in App.php:
public $baseURL = 'http://localhost/test/public';
public $indexPage = 'index.php';
Code in  controller like this:
return redirect()->to('/admin/home');
redirect url is :http://localhost/admin/home, but  http://localhost/test/public/index.php/admin/home expected.

This is not a bug. Redirecting to '/...' effectively eliminates the test/public part of your base url.
You should setup your server so that your project's public folder is the document root, and your baseurl would then be "http://localhost". If you want to host several sites, you will need Apache virtual hosts or else configure your server to dish the CI4 test site on a different port.

I think this is a bug.  ALL url  that not start with "http" should be prefixed by $baseURL. Virtual host makes things complicated.


Tracing should support sampling

Please describe your use case / problem.
I am using Ambassador in a high traffic situation. I am interested in receiving trace data from this Ambassador instance. Configuring tracing is trivial, however the implementation does not support sampling. As a result, a very high rate of trace data is being sent which eventually results in issues for both the source and the destination.
Describe the solution you'd like
In addition to being able to enable tracing and configuration option to enable sampling should also be supported.
Describe alternatives you've considered
This could also be done on the receiving end though this only addresses the destination resource requirements and not the source.
Additional context

Envoy has supported this since 1.8.0, and so this should be a relatively straight-forward addition in Ambassador in the future https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/tracing

any update or workaround on this? right now this has been preventing from using the tracing functionality of ambassador

Please keep this issue open.

Opening this back up, as I am adding support for DataDog APM I am realizing that the default sampling rate is 100%, looks like it should be fairly trivial to get this configured I will have a look as part of adding DataDog support.

@stefansedich are you actively working on this issue? If not, I'll go ahead and take it.

@alexgervais my bad I should have updated this issue, I ended up dropping this as it turns out in my case the DataDog client was handling it and I did not have to do anything, all yours!


Contrast with this related design?

https://monero.stackexchange.com/a/895
It seems like a very similar idea, and I'm wondering how it differs. Yours is obviously more detailed but the major steps seem pretty similar.

The new design is more based on the protocol described in 2016, but with some differences...


FR: Allow Resources to be declared as "optional"

Expected Behavior
Task authors should be able to declare some Inputs as "optional".
Actual Behavior
Today all declared input resources must be supplied.

Example use-cases:

A "deployment" task that can deploy to a specified cluster, but defaults to the cluster it is running in.
A task that can optionally upload artifacts to an artifact store, but does not need to.

/assign pritidesai

/kind feature

gke-deploy Task in the catalog could use this functionality: https://github.com/tektoncd/catalog/pull/126
That task would ideally be able to accept either a cluster resource OR the necessary args to configure access to that cluster.  Very similar to the first example use case mentioned by @dlorenc

Design Doc: https://docs.google.com/document/d/1oe936Zspc8jL9Tb7kWd26bS6sf2emxUxTjt-aKv01Mc/edit#heading=h.duu98lpb6lg4


Update samples to run and validate in weekly pipeline

Updating  sample to be able to connect to azure services and run.
Updating samples to be able to test using Junit, so that we can validate they work as expected.
Run sample in a separate pipeline, which may run weekly or nightly.
Samples will use @Test annotation as discussed in Java Team meeting
Resources are created using test resource json file, which same for live test. Engineering system will work to separate this into separate file.
These samples are not run as part of live test, because it adds up lot of execution time.

This strategy could be used in other SDK as well to be able to run samples and validate them.
Related Issue : https://github.com/Azure/azure-sdk-for-java/issues/14690

yaml LGTM

yaml LGTM


Skipping outputs without entrypoints prevents using paths of e.g. file-loader resources

Use case
When building a manifest, I would like to have references to external files loaded from entry points, not just entry points. For example, my CSS loads a font file, and I would like to reference the hashed name of that file in a <link rel="preload"> tag in HTML using the manifest.
Expected behavior
When building something that uses an external file loader, e.g. in my case a CSS file that points to a font file, I would expect the font file to be part of the manifest.
Observed behavior
Font file is not part of the manifest.
Hypothesis
It seems this line ignores any outputs that lack the entryPoint key:
https://github.com/jfortunato/esbuild-plugin-manifest/blob/c1c747fc5a143da93e25727c63391d30a3e3d3db/src/index.ts#L70
Sadly, this also ignores things like external files.
Hypothetically, this check (and the mapping that follows) could perhaps see if the output either has a) an entryPoint or b) a single input, which seems to be the case for external files?

Starting with v1.0.0 all the generated outputs should be included in the manifest file.


Figure out what's wrong with LSP formatting

This is likely a neovim issue, but opening it here while I don't know exactly what's going on: every now and then, some files simple start getting formatted. This only happens with lsp formatting, prettier is fine. It also happens with multiple servers (I've observed it with diagnosticls and gopls, probably because those are the servers I use the most on my day to day).
I also noticed that it doesn't stop working for all files, only some of them, so it may be some issue with syncing the changes on didChange and didSave.
This issue is a placeholder for me to investigate what's going on and report/fix it upstream.

Turns out this is a problem in my config: whenever jumping to different root directories, new server instances are started, and that overrides the client used for formatting the code. So textDocument/formatting is sent to the incorrect server. I need to update lc/formatting.lua to associate client instances with buffers, not filetypes.