Improving Caching Headers & Hit Counters

I think would be better to have some cache headers for each request allowing the proxy to efficiently cache the requests.
For example, the badge for the stable version can be cached longer than the number of downloads, let's say for 6h? As for the number of downloads once the approximation reaches the order of millions maybe could be 24h? Whereas at smaller numbers could be hourly.
This would enable to reduce the requests at the backend and increase the stability of the system.
In regards to the hit counters I guess we could change the system in place and move it away from the PHP code and trigger the counters in another way, it could be via some processing of logs in AWS, it could be by triggering events from nginx to store into redis (eg. nginx&lua). Just brainstorming a couple of ideas.

I think would be better to have some cache headers for each request allowing the proxy to efficiently cache the requests.
For example, the badge for the stable version can be cached longer than the number of downloads, let's say for 6h? As for the number of downloads once the approximation reaches the order of millions maybe could be 24h? Whereas at smaller numbers could be hourly.
This would enable to reduce the requests at the backend and increase the stability of the system.

It's a very good idea for me! ;)

In regards to the hit counters I guess we could change the system in place and move it away from the PHP code and trigger the counters in another way, it could be via some processing of logs in AWS, it could be by triggering events from nginx to store into redis (eg. nginx&lua). Just brainstorming a couple of ideas.

If move the hit on nginx how could we verify that the requested package really exists?
Currently if I'm not mistaken we are tracking many kinds of statistics on redis. Could it help to do some cleaning and only track things we show?

let's say for 6h? As for t

maybe we can reuse the cache-header from packagist, or maybe etag can work with image?

ops there's already a PR sorry.

It could be considered as a work in progress PR, open to anyone ;)

@fabiocicerchia we can close this?


Sometimes motionless videos are generated.

Sometimes motionless videos are generated.
is there any parameters for more movements at generate video?

A simple way is to add smooth motion and verbs to the prompt, which can increase the range of motion.


Follow up on mutants which equal the source

This issue follows on from https://github.com/sourcefrog/cargo-mutants/issues/25 with the added suggestion of boolean/numeric literals (maybe &str but I imagine that's less necessary).
So in serde, you can't supply literals to the default_value attribute which leads to this pattern in peoples code:
fn true_value() -> bool {
	true
}

#[derive(Deserialize)]
pub struct Foo {
	#[serde(default="true_value")]
	bar: bool
}

Currently, cargo-mutants will replace true with true, given the prevalence of serde in the ecosystem I imagine these functions are present in a lot of projects - although I have no data to back that up beside anecdotal evidence.

In this case one could mark true_value as skipped.
But yes, I agree it would be nice to skip functions where we can tell they
return the same value as the mutation.
Martin
On Thu, Aug 3, 2023 at 8:22 AM xd009642 @.***> wrote:

This issue follows on from #25
https://github.com/sourcefrog/cargo-mutants/issues/25 with the added
suggestion of boolean/numeric literals (maybe &str but I imagine that's
less necessary).
So in serde, you can't supply literals to the default_value attribute
which leads to this pattern in peoples code:
fn true_value() -> bool {
true}
#[derive(Deserialize)]pub struct Foo {
#[serde(default_value="true_value")]
bar: bool}
Currently, cargo-mutants will replace true with true, given the
prevalence of serde in the ecosystem I imagine these functions are present
in a lot of projects - although I have no data to back that up beside
anecdotal evidence.
—
Reply to this email directly, view it on GitHub
https://github.com/sourcefrog/cargo-mutants/issues/134, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACUR45Y6T7I5DL26HNS5ZLXTO623ANCNFSM6AAAAAA3C6GZUQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Avoid using the pool.ntp.org DNS name

Problem/Motivation
The NTP Pool project strongly prefer that people don't configure software to use pool.ntp.org by default: https://www.ntppool.org/en/vendors.html#open-source
Expected behavior
That the add-on defaults to using a "vendor" pool, see https://www.ntppool.org/en/vendors.html#vendor-zone
Actual behavior
The addon defaults to pool.ntp.org
Steps to reproduce
The defaults are here: https://github.com/hassio-addons/addon-chrony/blob/main/chrony/config.yaml#L25-L26
Proposed changes
We should acquire and use a vendor prefix supplied by the NTP Pool project.  The user experience will be the same, as the vendor prefix delegates to the pool, but we help the NTP Pool project manage the safety of the pool.

The addon utilises the packages in Alpine, which originally I believe are supported by Redhat.  I would suggest that the documentation/recommendation change needs to take place upstream.  From looking at the analytics there are ~3500 installs of the addon which I doubt is a major concern.


From Jenkins HTTP 404/Not Found

Gitea version (or commit ref):
Git version:
Operating system:
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[ ] MSSQL
[ x] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[ ] Not relevant

Log gist:

Description
Error from Jenkins with connect to Gitea
org.jenkinsci.plugin.gitea.client.api.GiteaHttpStatusException:
HTTP 404/Not Found
at org.jenkinsci.plugin.gitea.client.impl.DefaultGiteaConnection.getObject
(DefaultGiteaConnection.java:900)
Any help is appreciated.
Many thanks
...
Screenshots

Sorry, the problem is the name of the Organization.
Fix with correct value.

This demands a better Error Message to the user.

We do not maintain the Gitea Jenkins plugin, you can find the repository here: https://github.com/jenkinsci/gitea-plugin


docs: Add LSP type information

blink.cmp has nice type information, but the current recommended installation script doesn't expose those types to lua-ls. This should help with getting completions from lua-ls.

(Only the first two lines matter. The rest is just automatically removed spaces.)

Thank you!


To support further work, an architecture for the design of this library should be written

This ticket is to design and document the architecture of this library.
That includes:

The actual functionality that it will provide
How that functionality will be separated into separate concerns and modularized

Closing as dupe


layer query and templates

The geojson query template has been flagged as a layer query which requires a layer request parameter.
The getLayer method will attempt to retrieve a layer template from the templates if the layer param is not found in the locale.layers.

I dismissed the security alert as not relevant. This should be addressed but not in this PR.
The issue is related to the params.user object which is assigned in the API method. User roles may be merged into a layer/template object and an error.message maybe returned from a failed query.
The security of the user object must be controlled in the API module which is yet to be tested and documented.
Message objects returned from failed requests should be escaped which may require a library. I will revise this in the relevant PR. https://github.com/GEOLYTIX/xyz/issues/1309

query endpoint is widely used to request data not related to a specific layer, such as non-spatial data based on location id.
How is this going to be supported?


discovery: Normalize service name

What does this PR do?
Normalize the service name using the helper functions from pkg/trace.

Motivation
https://datadoghq.atlassian.net/browse/USMON-1221

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


Replace all _meta.fields with _meta.get_fields.

According to https://docs.djangoproject.com/en/1.8/ref/models/meta/ to
access all the fields of the _meta object you should call get_fields(). This
is new with Django 1.8. The _meta.fields is now a property with a docstring
saying it's Private API intended only to be used by Django itself.

Looks good. Have you verified that they return the same results?


Splitting tantivy and call for official maintainers

The addition of tantivy-py is the most exciting thing I have seen in tantivy in the last month :)
So far, in the wild, ppl have been using tantivy with C#, node, lua, elixir, with different grades of bindings. I think tantivy-search should host some (python, and maybe C and or node) promising bindings, in order to ensure their perennity and so that these project benefit from tantivy-search growing community...
But that does not mean I should be their main maintainer. In fact, I should probably not dissolve my time further.
@poljar we kind of have been throwing you issues here and there, but just to officialize this, are you ok to be official maintainer of your own project? (you already have the write access of course).
Does someone else want to take over the search-benchmark ? Same question for tantivy-cli ?

Sure, maintaining the bindings shouldn't be a big burden anyways. Apart from the possible API changes around them and adding support for differing collectors there's not much stuff going on there.
Of course not counting possible API changes on the rust tantivy side.

Finding the best way to package it for PyPI. Advertise. ....
And then routing the occasional bug report to tantivy when relevant. :)

There is already a test package up https://test.pypi.org/project/tantivy/
Finding a way to build the python documentation will be needed, that's true. And the CI setup. So a little bit more than I mentioned but not by much.

@poljar Would there be a way to ship binaries or is it too much of a rabbit hole?

Should be possible. pyo3-pack should make that easier, we still will need to use setuptools to build the source dist.
One pyo3 project that has a working CI setup and publishes binary wheels is fastuuid.

I mostly scared of the libc. Here is a site describing accurately what can and cannot be done.
https://www.python.org/dev/peps/pep-0513/#key-causes-of-inter-linux-binary-incompatibility

pyo3-pack takes this into consideration and the fastuuid lib does use a docker image to build the wheels, more info here: https://github.com/PyO3/pyo3-pack#manylinux-and-auditwheel

I can likely take over the search benchmark and tantivy cli, it was my plan to integrate both these tools into toshi both for benchmarking and also cli tools for toshi

@hntd187
cli tools for toshi > That would be great ! We could then sunset tantivy-cli!


Can't find com.kizitonwose.calendar.sample.databinding.

Library information:

Version: [e.g. 2.0.0]
View or Compose module: [e.g. View]

Question:
Hi, I can't find calendar.sample.databinding folder in given path. There are only 3 folders and main.

This is created locally when you build the project and used by ViewBinding. It is not included in source control.


sparklyr docker image is available for China user

here is my post on zhihu.
https://zhuanlan.zhihu.com/p/21574497

@harryprince I understand this issue is being used to communicate there is a new sparklyr docker image. While this is great news and I'll encourage users that ask for a docker image to check this out, I believe submitting a blog post would be more helpful to the community.
Please feel free to reopen this issue if I misunderstood. Cheers.


Quest  -  Create a Registration Encounter

User story : Make sure the backend has information from the health worker profile (i.e., a new client is registered and associated with the health worker who added them).
Prerequisite Task

[ ] https://github.com/opensrp/fhircore/issues/857

@RaaziaTarique Can we have a generic implementation of this Static Practitioner ID tagged to the extracted encounter from the QuestionnaireResponse generated post Client registration  before we have the server side work complete ?
CC @maimoonak

How is this related to G6PD?


Updated connector name to be 'DataMotion' instead of 'Secure Message Delivery' and added link to our how-to guide for "X-API-Key" and "X-API-Secret" descriptions

When submitting a connector, please make sure that you follow the requirements below, otherwise your PR might be rejected. We want to make you have a well-built connector, a smooth certification experience, and your users are happy :)

[ ] I attest that the connector works and I verified by deploying and testing all the operations.
[ ] I attest that I have added detailed descriptions for all operations and parameters in the swagger file.
[ ] I attest that I have added response schemas to my actions, unless the response schema is dynamic.
[ ] I validated the swagger file, apiDefinition.swagger.json, by running paconn validate command.
[ ] If this is a certified connector, I confirm that apiProperties.json has a valid brand color and doesn't use an invalid brand color, #007ee5 or #ffffff. If this is an independent publisher connector, I confirm that I am not submitting a connector icon.

If you are an Independent Publisher, you must also attest to the following to ensure a smooth publishing process:

[ ] I have named this PR after the pattern of "Connector Name (Independent Publisher)" ex: HubSpot Marketing (Independent Publisher)
[ ] Within this PR markdown file, I have pasted screenshots that show: 3 unique operations (actions/triggers) working within a Flow. This can be in one flow or part of multiple flows. For each one of those flows, I have pasted in screenshots of the Flow succeeding.
[ ] Within this PR markdown file, I have pasted in a screenshot from the Test operations section within the Custom Connector UI.
[ ] If the connector uses OAuth, I have provided detailed steps on how to create an app in the readme.md.

Hi @plmvas! Our certification engineer, Srikanth, is currently on emergency leave. Please expect a delay with your PR. He will return January 31st, 2022. We apologize for any inconveniences.

@plmvas Sorry for the delay in response, Your connector pull request is approved and merged, you can submit your connector artifacts to the Connector certification tab in ISV Studio to move forward in the certification process, Thanks.


Artist Acknowledgement: Generate Thank On Twitter Component/Control

We want to detect if the buyer + seller have twitter accounts and generate share/content to post on Twitter to thank the purchaser.

Deployed


fix(puppeteer-core): add filter to setDiscoverTargets for firefox

What kind of change does this PR introduce?
Bugfix.
Did you add tests for your changes?
No, existing tests cover change.
Summary
The filter option will likely be soon supported by Firefox, and the browser type will be filtered out by default. So the same filter as Chrome should be supplied to include all wanted targets to avoid a regression.
Does this PR introduce a breaking change?
No.
Other information
Firefox patch: https://phabricator.services.mozilla.com/D167209

Thanks for the PR. I didn't know Firefox implements a tab target: does it really exist? I have never seen it in the logs.

It doesn't exist but I thought it would be best if they used the same or if it was possibly introduced in the future.

I would say let's remove the tab target from the filter to avoid confusion about its existence and let's land this after the Firefox change lands into the Nightly builds. If Firefox ever supports a tab target, we can add it back.

Sure, sounds good. (BTW: this change is fine on older Firefox versions, as the extra parameter is just ignored)

Updated filter.

Let's land after the Firefox change appears in the Nightly build.


Relax NG 3

Hey, it's Brett. I've been trying to fix my third RelaxNG exercise, but I'm a bit stumped. I was hoping to make the title and the author name their own individual tags, but I'm not sure . The xml code is also labeling the lines as syntax errors, so I might be stuck. Any ideas what I'm doing wrong here, and any suggestions on what I can do to fix it?
Here are the codes for xml and RelaxNG:
If_relax_ng.zip

@bwm5473 I am embarrassed to have missed this post from long ago, but you may want to review it again now that you're needing a schema for the project. Briefly the problem is that you needed to define mixed{} content for elements like <heading>, since they are a mix of text flowing unpredictably around elements. Your schema is setting things in a strict sequence which does not match your XML.
Also, you only permitted line elements to contain an attribute, so your schema forbids those elements to have any content at all besides just the tags.


how the console actually work with a running fabric network

Need a bit document talking about how this app works with a running fabric network. where does it find endpoints of various nodes, channels, certificates.

+1

We should have the following pieces to documented... @litong01 @shubham-edx would these help?

Architecture diagram on how things flow between browser to grpc-web, peer/orderer
How to find pieces to construct JSON file for import from an existing fabric?

Thanks for the pointers. Will close this.

Hey @varadgit ,
Thanks for responding. Yes, these two points would definitely help.

one part of this (architecture diagram) is addressed here
https://github.com/hyperledger-labs/fabric-operations-console/pull/40

So I think the next part can be addressed by reading the swagger/open api file we have. The details for what is needed for an import is broken down by component with details. Its all in this JSON.

https://github.com/hyperledger-labs/fabric-operations-console/blob/main/packages/athena/json_docs/json_validation/ibp_openapi_v3.yaml

I'd recommend pasting it into https://editor.swagger.io/ and jumping to the Import a ca, Import a peer, and Import an ordering service sections. Once you click an API, click the Schema text to see the descriptions of each field.
closing, feel free to re-open if your question wasn't addressed.


[BACKLOG-23000] Amqp implement authentication - create an authentication composite and refactor mqtt and jms to use it

[BACKLOG-23000] Amqp implement authentication - create an authentication composite and refactor mqtt and jms to use it

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -fn -f 'pom.xml' -pl 'ui,plugins/streaming/impls/jms,plugins/streaming/impls/mqtt' -P '!assemblies' -Dsurefire.runOrder=alphabetical -Daudit -amd clean install

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'ui,plugins/streaming/impls/jms,plugins/streaming/impls/mqtt' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/ui/ConnectionForm.java
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/ui/JmsConsumerDialog.java
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/ui/JmsDialogSecurityLayout.java
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/ui/JmsProducerDialog.java
  plugins/streaming/impls/mqtt/src/main/java/org/pentaho/di/trans/step/mqtt/MQTTConsumerDialog.java
  plugins/streaming/impls/mqtt/src/main/java/org/pentaho/di/trans/step/mqtt/MQTTProducerDialog.java
  plugins/streaming/impls/mqtt/src/main/java/org/pentaho/di/trans/step/mqtt/MqttDialogSecurityLayout.java
  ui/src/main/java/org/pentaho/di/ui/core/widget/AuthComposite.java

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes (click to expand)
org.pentaho.di.trans.steps.salesforceupsert.SalesforceUpsertMeta

Instruction Change: -0.1% :small_red_triangle_down:

:new: org.pentaho.di.ui.core.widget.AuthComposite

Coverage: 0% :exclamation:


Similar Project

Hey guys, just wanted to let you know I built a similar app server for the Amazon SDK for Node.js inspired by this project:
https://github.com/tlovett1/alexa-skill-test

Thanks. If you are interested in having that part of the alexa-js org, we'd be happy to have you - transfer it to me and I'll transfer it into the org right away. Of course you keep doing what you're doing.


sql to migrate foriegn key omits ON DELETE and ON UPDATE constraint declarations

The example SQL for enumerating foreign keys omits the ON UPDATE and DELETE portions of the FK constraint declarations. This results in different FK constraint declarations on the migration target db vs the migration source db.
Specifically the AddQuery portion of the select below STRING_AGG(concat('ADD CONSTRAINT ', Queries.foreignkey, ' FOREIGN KEY (', column_name, ')', 'REFERENCES ', foreign_table_name, '(', foreign_column_name, ')' ), ',')) as AddQuery
This has impacted a (AWS RDS) migrated production database in our org, which now raises FK violation errors on record deletes due to the missing DELETE CASCADE constraint DDL.
SELECT Queries.tablename
       ,concat('alter table ', Queries.tablename, ' ', STRING_AGG(concat('DROP CONSTRAINT ', Queries.foreignkey), ',')) as DropQuery
            ,concat('alter table ', Queries.tablename, ' ',
                                            STRING_AGG(concat('ADD CONSTRAINT ', Queries.foreignkey, ' FOREIGN KEY (', column_name, ')', 'REFERENCES ', foreign_table_name, '(', foreign_column_name, ')' ), ',')) as AddQuery
    FROM
    (SELECT
    tc.table_schema,
    tc.constraint_name as foreignkey,
    tc.table_name as tableName,
    kcu.column_name,
    ccu.table_schema AS foreign_table_schema,
    ccu.table_name AS foreign_table_name,
    ccu.column_name AS foreign_column_name
FROM
    information_schema.table_constraints AS tc
    JOIN information_schema.key_column_usage AS kcu
      ON tc.constraint_name = kcu.constraint_name
      AND tc.table_schema = kcu.table_schema
    JOIN information_schema.constraint_column_usage AS ccu
      ON ccu.constraint_name = tc.constraint_name
      AND ccu.table_schema = tc.table_schema
WHERE constraint_type = 'FOREIGN KEY') Queries
  GROUP BY Queries.tablename;

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 258e62a7-a977-1cdf-7dbf-b94ab034e918
Version Independent ID: 509124d0-7f20-3a1e-237e-d6d047d096a4
Content: Tutorial: Migrate RDS PostgreSQL online to Azure Database for PostgreSQL - Azure Database Migration Service
Content Source: articles/dms/tutorial-rds-postgresql-server-azure-db-for-postgresql-online.md
Service: dms
GitHub Login: @arunkumarthiags
Microsoft Alias: arthiaga

@camallen Thank your for taking the time to detail this oversight in the midst of a production issue that we introduced to your environment. Please let me know if you require additional assistance with the production issue as I can seek PG or engage support. Do you have a back-up you can restore to without negating the after the fact transactions?

@arunkumarthiags Can you please review the code example(s) referenced in this document and ensure they are as required for the topic and accurate.

Just tested this and it is correct when cascades are used. Please merge this update. We are also working on an update so users don't have to drop foreign keys in PostgreSQL targets anymore.

Dropping/recreating FKs in Postgres are not required anymore. #please-close


Can't install on Craft 5: No plugin exists with the handle "craft-toolbelt".

EDIT: I've got it working by following the instructions in your readme but I think there is something you might need to do for the Plugin Store end :)
Hi there, I'm having a strange issue when trying to install your plugin.
I have a fresh brand new install of Craft 5 and when I try to install your plugin I get the error:
*** failed to install craft-toolbelt: No plugin exists with the handle "craft-toolbelt".
I've tried it both through the plugin store and using the command (from the Craft CMS plugin store) composer require "zaengle/craft-toolbelt:^5.0.6" -w && php craft plugin/install craft-toolbelt whilst inside the DDEV shell.

Additionally, the plugin page says "0 active installs" but I know at least 1 colleague who is using your plugin! :D

Ohhhhh, I think it might be because the plugin handle is actually toolbelt but the package name is craft-toolbelt?

Hmm, is it because the plugin handle is actually toolbelt but the package is craft-toolbelt?
If you look at Blitz, for example, the command to install it on the plugin page is composer require "putyourlightson/craft-blitz:^5.5.1" -w && php craft plugin/install blitz whereas yours is craft-toolbelt

Hi @robzor, thanks for reporting this. As you surmised, it looks like something went awry (or, more likely, I made a boo-boo) when the plugin was submitted to the plugin store, and the handle is listed there incorrectly as carft-toolbelt when it should be just plain toolbelt. Suspect this explains the broken stats too. I can't edit that field in Craft Console, but I've asked P&T support to fix it, so hopefully this should get resolved soon

This has been fixed by P&T

Hi Tom, sorry I was away on me hols. Thanks for sorting this :)


Run windows pytests in subprocesses

Also removes a command in the workflow .yaml that prints bench_results.csv (which won't be generated since benchmarks are disabled)

pytest-forked does not support Windows -- other options for managing memory effectively in pytest must be explored. Closing this PR for now.


x/pkgsite:

What is the URL of the page with the issue?
https://pkg.go.dev/github.com/google/uuid?tab=doc
What is your user agent?
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36

Screenshot

What did you do?
I loaded the page, took no actions.

What did you expect to see?
Golang documentation, explaining UUID functions within Go.
What did you see instead?
Black Lives Matter
Why its broken?
I don't care about BLM, or WLM, or any of this political non-sense. I am here to write code. You are here to support code writers, not give political statements.

You are here to support code writers, not give political statements.

Unfortunately the people that control the go.dev website think otherwise. This is a dup of #39850, see the comments there for a link to a mailing list discussion about this. Closing here.


docs: explain that +layout files do not affect +server.js

closes https://github.com/sveltejs/kit/issues/12401
This PR adds a note to suggest using the server handle hook instead of a server layout file.

Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[ ] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[ ] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[ ] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. Changesets that add features should be minor and those that fix bugs should be patch. Please prefix changeset messages with feat:, fix:, or chore:.

Edits

[x] Please ensure that 'Allow edits from maintainers' is checked. PRs without this option may be closed.

preview: https://svelte-dev-git-preview-kit-13152-svelte.vercel.app/
this is an automated message


redirect in getServerSideProps

is this working with the new redirect declaration?
I cant get it to store the session with redirect otherwise its working.
 this does not help either
 await req.session.commit();

 return {
    props: { },
     redirect: {
       permanent: false,
       destination,
     },
  };

cheers!

Hoj, I made it work with next-connect and express-session like recommended.
Thank you for both libs!
Cheers

Hoj, I made it work with next-connect and express-session like recommended.
Thank you for both libs!
Cheers


Version Tagging Issue

I'm attempting to pull in Queue 1.0.0 from Wally but it is bringing in version 1.1.0 instead. On the Wally website, downloading version 1.1.0 returns 1.0.0 which makes me think there is an issue with how the versions are tagged.
I'm not sure if you're able to remedy this but it would be much appreciated - I don't want to go through the process of forking this repository but may have to because I need access to version 1.0.0

Closing this issue, it had to do with how I was defining the dependency in my wally.toml file!


updating readme.md file

Hi @alabulei1
I have made the asked changes in this pull request and deleted the older one.
Please have a look at it and suggest any necessary changes that you think need to be incorporated.


fixed suboptimal usage of ipywidgets.Output widget

Description of new feature, or changes

Fixes suboptimal usage of ipywidgets.Output in HaloNotebook.  See Output's API documentation for more info.
resolves #140
resolves #59
Checklist

[ ] Your branch is up-to-date with the base branch
[ ] You've included at least one test if this is a new feature
[ ] All tests are passing

Related Issues and Discussions

People to notify

Pull Request Test Coverage Report for Build 431

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 ?%

Totals

Change from base Build 429:
0%

Covered Lines:

Relevant Lines:
0

💛  - Coveralls

Hi @norweeg
Can I help in order to fix the pipeline? I tried locally with two python versions (2.7 and 3.7) both of them  seem to succeed. Do you have an idea what the problem could be?

Hi @norweeg
Can I help in order to fix the pipeline? I tried locally with two python versions (2.7 and 3.7) both of them seem to succeed. Do you have an idea what the problem could be?

I suspect that these tests are bad.  The code was originally doing all the formatting of the output and manually writing it into the output buffer, which is extremely unnecessary and defeats the purpose of using the Output widget, which specifically captures any output printed or displayed with print or display.  The tests appear to be looking for the output that would have been manually formatted and written in the buffer and therefore are bad tests

Gently bumping this, since it hasn't seen activity in a while, and also happens to affects me. :)

Gently bumping this, since it hasn't seen activity in a while, and also happens to affects me. :)

I will get back on this!  I need to write tests, but a significant amount of the existing tests need to be reworked as they check values of internal attributes of the ipywidgets.Output class when the whole purpose of this PR is to get away from directly formatting and writing output, but rather allow the Output widget to perform that function for us

@norweeg Thanks for the PR, and my sincere apologies for the delay. I do agree testing requires a revamp. Do you plan to work on this?


QGTY server implementation

I think we need server implementation with shared types

I'd love to share more about this with you, let's move on to discussions!


import cv2

Not sure what were supposed to do to move forward here. cv2 insnt recognized? Sorry If I'm missing something basic

hello LostHero, your problem can be fixed by typig in the command prompt this :
pip install opencv-python
and keep in mid that we all were beginners at some point so no need to be sorry <3


Doc Feedback: Broken references

Location : https://apim.docs.wso2.com/en/latest/install-and-setup/setup/deployment-best-practices/performance-test-results-mi/
At the end of the page, "Results" paragraph, image links are broken.

@chamindi-a is this hard to fix?

@gspadotto : I appreciate you bringing this issue to our attention. It's a relatively straightforward fix. The images have already been rectified in the staging environment, and we will soon apply these corrections to the live link.


Fix Git installation issue

https://askubuntu.com/questions/140246/how-do-i-resolve-unmet-dependencies-after-adding-a-ppa

We have installed Y-PPA Manager. Added ppa:git-core/ppa (trusty).
$sudo apt-get install y-ppa-manager
$sudo apt-get update
$sudo apt-get install git


Issue in curl commands while downloading files from spring Instalizer

In Exercise-2>task-1>step-1, after running the provided curl command curl https://start.spring.io/starter.tgz -d dependencies=web -d baseDir=simple-microservice -d bootVersion=2.7.0 -d javaVersion=17 | tar -xzvf -, by default it is downloading the files of Gradle project instead of the files of Maven project from Spring Initializr web page.

Due to the incorrect files being downloaded, while performing Exercise-2>task-3>step-1, produces the error message as No such directory found  when the command ./mvnw spring-boot:run & is being run.

Oh Spring has changed its default build tool from Maven to Gradle, I think you have found a huge issue here, thank you!!!

This has been fixed in https://github.com/microsoft/azure-spring-cloud-training/commit/c93525468ae9f07d2c31d8ae266367bd320257c4 - thanks @Divyasri199 for this important bug report!


Wald-Friedman Lecture

Looks like it's carrying out the same computations over and over (but not infinitely). For example, the twelfth code block yields:
Converged in 13 steps
Compute iterate 5 with error 1.9261818620389288
Compute iterate 10 with error 0.00013175562270539842
Converged in 13 steps
Compute iterate 5 with error 1.9261818620389288
Compute iterate 10 with error 0.00013175562270539842
Converged in 13 steps
Compute iterate 5 with error 1.9261818620389288
Compute iterate 10 with error 0.00013175562270539842
Converged in 13 steps
Compute iterate 5 with error 1.9261818620389288
Compute iterate 10 with error 0.00013175562270539842
Converged in 13 steps
Compute iterate 5 with error 1.9261818620389288
Compute iterate 10 with error 0.00013175562270539842
Converged in 13 steps
Compute iterate 5 with error 1.9261818620389288
Compute iterate 10 with error 0.00013175562270539842

I will take a look at the convergence criteria or what's going on.

Thanks. The other plots look good, but the Bellman Equation plots are fixed at 0 (and they're titled differently than the thing on the website). Maybe something broke there in undeprecation.

FYI, I think the stack here is stopping_dist => simulate_tdgp => simulate => solve_model. I think the issue here is when I moved from solve_model! to solve_model, in that we need the information we compute from one run for the next run. Otherwise, we're running the same computation every time.


Remove SDX_HOME and add release tag to travis for sdx-common

Codecov Report

Merging #34 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #34   +/-   ##
=======================================
  Coverage   80.41%   80.41%
=======================================
  Files           9        9
  Lines         286      286
=======================================
  Hits          230      230
  Misses         56       56

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 6374165...d8ec5ea. Read the comment docs.

 (2) Remove erroneous use of SDX_HOME in makefiles

Superseded by #36


Consider changing version number to 1.0.0

I guess this is for the pedantic, but maybe I fall into that category? A leading zero in a semver (or any other) version numbering schema communicates that the library in question is unstable or under development. Rather the opposite, to me it seems like this library is quite stable, and has been for some years.
Would you mind just changing the version number to 1.0.0 to reflect this? I don't mind if no new features are introduced. Quite to the opposite, 1.0.0 releases are preferably very boring.
Thank you!

@emanuelpalm Thanks, this is very flattering. :) Will do soon!

:+1:

First, I plan to finish all the current issues and add some more documentation. Then I'll listen to your advice, it's time to do the "boring" 1.0.0 release. :)


Extract members from project reviewers in summon

If a Differential has project reviewers, query the project and extract
the individual members to use for the summon message.

Thanks!


pony_continuation is not thread-safe even in the single producer case

The documentation of pony_continuation states that the function is thread-safe as long as only one actor pushes a continuation to another actor. This is not true as the producer (pony_continuation) doesn't synchronize-with the consumer (ponyint_actor_run). Fixing this problem would require a CAS loop, which would be expensive and would remove the wait-free property of message dequeuing (well, wait-free amortized since the cold path of ponyint_pool_free is only lock-free).
This function isn't used in the runtime. What are the real-world use cases? Would it be conceivable to change the semantics (e.g. state that an actor should only push a continuation onto itself) or to remove the function?

I'm not aware of any third party uses of this feature.
Digging through history I couldn't find any clues about the feature - it seems to predate the point when ponyrt and ponyc repos were merged together.
Getting context from @sylvanc is probably our only path forward.

According to @sylvanc it is a documentation bug - the docs should say that this function is only safe when an actor pushes a continuation to itself.
This feature is used by the Encore Language which runs on the pony runtime.  Encore uses this to implement blocking futures, which is something that we currently think we want to avoid in Pony.

This is a documentation bug :) It should be that only an actor can post a continuation to itself.


[WIP] isomorphic-style-loader example

This is a work in progress. I've got server-rendering working, but only in production. The next.js hot-reloader in dev mode doesn't work with multiple webpack configs, but I'm looking into either updating that or working out a webpack config that will write CSS files correctly to dist.
First, I tried using emit-file-loader, writing both the output of css-loader and isomorphic-style-loader. The former isn't really what we want (because then what would be the point of using isomorphic-style-loader?), and the latter has require statements that are expected to only be used from within a bundle (with special characters and such in the URLs that only webpack understands).
So, I switched gears and created a separate config for CSS files. This bundled the CSS file to something workable. By the way, this separate CSS module is only necessary server-side. The client-side bundles included everything fine from the beginning.
This got me to a working page in production mode. But, depending on how I initialized the css property in pageWithStyles.js, it would either only work server-side, or only work client-side. There must be some race condition, but I need a deeper understanding of either next.js or react-dom's renderToString.
Basically, isomorphic-style-loader adds styles to the context through its own HOC's componentWillMount method. However, if I initialize css to an empty array in getInitialProps, it's like componentWillMount is not called server-side, but it does get called client-side. So, you see a flash of unstyled text.
If I use defaultProps, as you see in this PR, server-rendering works fine (componentWillMount is called server-side), but as soon as the client-side code executes, that css property gets cleared again and the styles disappear. I'm not sure how that can happen because I figured componentWillMount would be called again on the client on load, but I'm either wrong about that or something is setting CSS and then clearing it later, but before the first render.
Ref https://github.com/zeit/next.js/issues/1615

@timmywil if you look at RSK, the client side uses a different insertCSS function. That's probably the cause of the headache.
const insertCss = (...styles) => {
  const removeCss = styles.map(x => x._insertCss())

  return () => { removeCss.forEach(f => f()); }
}

@winglian It's not.

When I run this example, I stuck in this step, and the server is not up. Do you have any ideas?

@lenny0702 Right, this currently only works in production mode (npm run build && npm start) because next's custom hotreloader is reading the config and it doesn't expect multiple configs.
@winglian Sorry for the short answer. If I could just understand how the styles are getting cleared on the client-side on load, I think something like the insertCss function you showed would be helpful. It's disconcerting that some very small changes switch things up and make it work on the client, but not the server.

I think I'm one step closer.
Try npm run build && npm start. Visit http://localhost:3000. The header should be red and there should be no flash of unstyled content.
I'm still working on getting npm run dev working.

npm run dev now works, but does not hot-reload CSS. That's all that's left to get this to a working state. However–and this is a big however–I've had to do a few hacks to get this working (including removing webpack chunking, which may result in longer build times). In the end, I'm not sure I can recommend actually doing this unless someone comes up with suggestions for improvement.

I'm going to close this for inactivity. Cleaning up old PRs. i'd love to take this in one day though ❤


Add a Stabilization Matrix for Spin

Add a matrix to the documentation that shows the features as experimental or stable.

@itowlson has created a really great prototype of this at https://gist.github.com/itowlson/cb1ff61d942e9cdf416471519fd97c40
This appeals to both Spin and Cloud and therefore should be in a central place (as apposed to just in Cloud docs or just in Spin docs). We are toying with the idea of having a central place for these sorts of common/reusable resources. See https://github.com/fermyon/developer/issues/291

We've agreed on a few terms to use when describing stability: experimental, stabilizing, stable, deprecated.
I've added a stability table for the CLI to the developer docs here: https://github.com/fermyon/developer/pull/468
Another thing we could do is add a stability table for the host services available in spin and what their stability levels are. For example, this table is from @itowlson's gist:

Host services
Stability
Maturity
Cloud

Outbound HTTP
Stable
Production
Yes

Outbound Redis
Stable
Production
Yes

Dynamic config
Beta
Dev
Limited

PostgreSQL
Beta
Dev
Yes

MySQL
Beta
Dev
Yes

Key-value storage
Beta
Dev
No

I think once we add a host services table, I'd be satisfied as marking this item as complete. What do ya'll think?

Host Capabilities/Interfaces (bikeshed open?)
Stability
Cloud

HTTP
Stable
Yes

Redis
Stable
Yes

Outbound HTTP
Stable
Yes

Outbound Redis
Stable
Yes

Dynamic config
Experimental
Limited

PostgreSQL
Experimental
Yes

MySQL
Experimental
Yes

Key-value storage
Stabilizing
No

Please see https://github.com/fermyon/developer/pull/491, which implements this update.


[Feature Request]: Stay logged in button

Describe the feature you'd like
A checkbock in the login screen "stay logged in" so that you don't have to enter your password all the time.
Describe the benefits this feature would bring to BookStack users
No constant password entry
Additional context
No response

Hi @christianhz01,
We already have a "remember me" option for standard email/password authentication.
Are you using LDAP as your primary authentication mechanism? If so, the discussion in #1910 would be relevant.

Hi Dan,
thanks for the answer, the resolution for me is the "SESSION_LIFETIME=" in the .env.
Tanks!


Search results in tree structure

When i search a phrase via search bar, All files that contains the phrase appears but all in the same level.I think its maybe more useful if the files appears as tree structure by its parent folders.

VSCode Version:  1.19.1
OS Version: Windows 10
Reproduces without extensions: Yes

/duplicate of https://github.com/Microsoft/vscode/issues/20224


heat client don't populate correctly the "files" parameter

Reproduce
Create an Orchestration template that references external files:
heat_template_version: newton

resources:
  a_file:
    type: https://pastebin.com/raw/hVbif6z9
 # the linked resource references get_file: https://www.google.com/robots.txt

I expect

the stack to be created

Instead

I got an error
Heat complains about get_file: https://www.google.com/robots.txt not in the files dict
getting the files dict from heat, the file is not there

openstack stack files list mystack
...
NO https://www.google.com/robots.txt around

The error is probably the MIQ counterpart of the horizon one https://bugs.launchpad.net/horizon/+bug/1467781

@bzwei which is the miq code in charge for calling the stack?

@ioggstream https://github.com/ManageIQ/manageiq-providers-openstack/blob/master/app/models/manageiq/providers/openstack/cloud_manager/orchestration_stack.rb#L4
service.stacks.new.save(create_options)["id"]

It uses fog gem to create stack

@bzwei how can we get the fog gem?

@bzwei here's a stub of file gathering. It's my first ruby code... @suuuper  shouldn' t be hard to make it work for http resources too. .https://gist.github.com/ioggstream/bedea98dc53aa61b0ebd48cd1bb73486

@ioggstream Thanks for all the findings. We now have sufficient information to fix the problem, just need to find a time.

@bzwei as we're on cloudforms is there an easy way to apply the patch once you release it?

@ioggstream Is this an urgent issue? We don't have the capacity to fix the problem right now, likely until September.
I also see template having get_file is an embedded template. If we scan the master template we will not find these files.

@bzwei afaik a cloudforms' case have been open on that -
This updated snippet - very simple and without proper error handling - should resolve get_file in  nested templates https://gist.github.com/ioggstream/bedea98dc53aa61b0ebd48cd1bb73486

@ioggstream Is there a link to the CloudForms' case? We also need a bugzilla RFE to track the work.

@bzwei https://bugzilla.redhat.com/show_bug.cgi?id=1471948 , case is linked to the BZ.

@bzwei I'm working on that. Feedback welcome on https://github.com/fog/fog-openstack/pull/317

This issue should be closed since it has been resolved by fog/fog-openstack#317.


[stable/redis-ha] implement fullnameOverride option into _helpers.tpl

Is this a request for help?: yes

Is this a BUG REPORT or FEATURE REQUEST? (choose one): FEATURE REQUEST

Please add upstream the option to specify fullnameOverride , to override the fullname of the deploy as is already possibile in many other charts.
example add the following code into _helpers.tpl:
{{- define "redis-ha.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}

Version of Helm and Kubernetes: Helm 2.11, Kubernetes 1.10
Which chart: redis-ha
Kind regards

@ugoviti This should be fixed now with #10032 merged


[x/vdom:Reconciler] Add support for uniqifying keys; add examples

Codecov Report

Merging #144 into master will increase coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #144      +/-   ##
==========================================
+ Coverage   99.52%   99.53%   +0.01%
==========================================
  Files          43       27      -16
  Lines        2312     1515     -797
==========================================
- Hits         2301     1508     -793
+ Misses          6        4       -2
+ Partials        5        3       -2

Flag
Coverage Δ

#dot_changes
100% <ø> (ø)
:arrow_up:

#dot_ops
98.19% <ø> (+1.03%)
:arrow_up:

#dot_ops_bolt
97.56% <ø> (ø)
:arrow_up:

#dot_ops_pg
97.39% <ø> (ø)
:arrow_up:

#dot_refs
100% <ø> (ø)
:arrow_up:

#dot_streams
100% <ø> (ø)
:arrow_up:

#dot_streams_text
100% <ø> (ø)
:arrow_up:

#dot_test_seqtest
100% <ø> (ø)
:arrow_up:

#dot_x_fold
?

#dot_x_nw
?

#dot_x_rt
?

#dot_x_types
?

#dot_x_undo
?

#dot_x_vdom
?

Impacted Files
Coverage Δ

x/types/map.go

x/nw/queue.go

x/types/array.go

x/nw/server.go

x/types/string.go

x/fold/fold.go

x/types/counter.go

x/nw/common.go

x/nw/store.go

x/nw/poller.go

... 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 0f2590d...43f5a48. Read the comment docs.


Implement Bitcoin

Requirements:

Business requirements, customer or story on why it should be included in application
Description of relevance to Baseline Protocol Implementation

With having a did:elem being used for on-boarding users, Ethereum is the natural follow up in terms of blockchains to align with. Priority is as follows:

ETH
ERC20
NFT's
Bitcoin

Meaning that this won't fit into the road map for Core or [Minimal Release](Minimal Release). Don't plan on implementing this until there is a specific story related to adoption.


Replace Sleepy with D++

Please play around and test before merging/rebasing.

What changed with the two networking DLLs?

libcrypto-1_1-x64.dll
libssl-1_1-x64.dll

Can we make this compile for Mac and Linux as well, but with DPP disabled? (like the case for Sleepy right now)

The big topic here is how we actually migrate from Sleepy to DPP.
What we have right now is reasonably stable (with Sleepy) and a lot of people are using it. Since the DPP implementation is new, it's bound to have breaking issues.
So the problem with removing Sleepy and adding DPP in a single big-bang change is that we go from the stable Sleepy implementation to the unstable DPP one for an otherwise in-production product which will probably break it for some time until we fix all the bugs.
So I'm thinking of two alternative approaches for this migration - neither of which are great:

Don't remove Sleepy yet. Have both Sleepy and DPP together with a compiler or settings option to switch between them. That we can test and flesh out DPP before we switch everyone over and remove Sleepy.

Maintain a separate branch that does this big-bang change. Then we release the DPP binary into internal/beta and iterate on that until it is ready. But this will involve a lot of potentially messy rebases against main.

DLLs probably just came with DPP, I'm not sure if they're any different aside from size.
I can try to go with the first approach and ifdef both Sleepy and DPP. Thanks for the feedback!


Question: Why not use native JS features?

Hi @getify! Great work here. I just wanted to know your thought process in one of your design decisions.
I was going through the keys function on https://github.com/BYOJS/storage/blob/main/src/adapter.local-storage.js#L62-L68 and I saw that you used an approach using for loop:
function keys() {
	var storeKeys = [];
	for (let i = 0; i < window.localStorage.length; i++) {
		storeKeys.push(window.localStorage.key(i));
	}
	return storeKeys;
}

For some reason I was expecting something like:
function keys() {
	return Object.keys(window.localStorage);
}

So the question: Why choose for loop over Object.keys or Object.entries?

Hmmm... I've never seen this before. As far as I can tell, it's not documented behavior on MDN nor even in the HTML spec.
The fact that the API exposes the key() function, seems like evidence that this was the intended way to enumerate its contents. I wonder if browsers decided on their own to make them enumerable through Object.keys() / Object.entries() / Object.values()?
I would want to find evidence of the intentional design of that behavior before I'd want to rely on it.

Every Document has a local storage holder which is either null or a Storage object. This Storage object defines the interface for the localStorage and sessionStorage.
When we try to get the localStorage by doing window.localStorage it gives us the Storage object which is stored inside the local storage holder and by default this is a simple key value store and is similar to an Object.
So, if we check if localStorage is an instanceof Object we can see it returns true:
window.localStorage instanceof Object; // true

Being an object, all its keys are enumerable and when we use Object.keys, all it does:
1. Let obj be ? ToObject(O).
2. Let keyList be ? EnumerableOwnProperties(obj, key).
3. Return CreateArrayFromList(keyList).
So, only takes the EnumerableOwnProperties and ignores the inherited properties like getItem, setItem etc.
No matter how we set the data into the localStorage it is enumerable by default:
window.localStorage['my key 1'] = 'my value 1';
window.localStorage.setItem('my key 2') = 'my value 2';

Object.keys(window.localStorage); // ['my key 2', 'my key 1']

It seems to be the default behavior because the Storage Interface mentions that both storage.setItem(key, value) and storage[key] = value does the same thing.
But, getting the item seems different. When we try to retrieve an item from localStorage using getItem, it returns null if the item is not present and when we use the . notation or [] notation to get an item which is not present, gives undefined. This can be clear by looking at the algorithm getItem uses:

If this's map[key] does not exist, then return null.
Return this's map[key].

And when we use the . or [] notation, as the key is not present in the object itself, we get undefined.
An specific algorithms is also used for the key method where the keys of the internal maps are created and then the key at index is returnedhttps://html.spec.whatwg.org/multipage/webstorage.html#dom-storage-key:

If index is greater than or equal to this's map's size, then return null.
Let keys be the result of running get the keys on this's map.
Return keys[index].

Now, both the for loop method and Object.keys does the same thing, but it seems everything boils down to performance and preference. That would be something interesting to look into as well.
@getify sorry about the long comment. This was an interesting look into the topic, thanks for the intriguing reply which led me to do some basic research in this topic!
Good luck!

It's not "just like any other plain object", it's a special object, with a specifically designed and documented API provided by the browser (not even JS). That API is how you're supposed to interact with it.
I've never seen any real world code that's using it "as just a plain object".  MDN doesn't mention any of this (at least as far as I could see), and I didn't even know it was possible. I think that hints at how outside of the mainstream the approach is.
Even though it seems it's possible, I don't think there's sufficient justification to deviate from the API and use it like a normal object. No significant upside as far as I can tell, and possible nuanced differences to chase down (like null vs undefined on retrieving a value, as you mentioned).

It was a good few hours while I was at it. Answers the main question I asked for now. Cheers!

Also, it seems it has some nuanced behavior if you set a property called "length" into Storage, since the object has its own default magical length property/getter (similar to arrays).
// doesn't work
window.localStorage.length = 42;

// works, but now shadows/overrides the automatic `length` property/getter
window.localStorage.setItem("length",42);

Appreciate the feedback and looking into it via research. I definitely learned something here. :)


Missing break!

Summary
Spotted while browsing fast! going back to visible line breaks 😊

From the Contributor Guide.

The words that you include in link text should be friendly. In other words, they should be normal English words or the title of the page that you're linking to.

There is a bad example in the contributor guide which is similar to the links in this file:
For more details, see [https://msdn.microsoft.com/library/ms173763.aspx](https://msdn.microsoft.com/library/ms173763.aspx).

Hi @Youssef1313, thanks for your feedback.
The links in the additional resources sections in this guide are all formatted this way, with a title separated from the actual address, because the intent is for the links to be useful and informative even when printed.
That's why the link text is the actual absolute link that will be resolved from the docs-relative .md file link.

Approving this based on the changes that are in this PR which looks fine to me.


Azure SDK Review - [Azure Identity]

New SDK Review meeting has been requested.
Service Name: Azure Identity
Review Created By: Paul Van Eck
Review Date: 10/05/2023 02:05 PM PT
Hero Scenarios Link: Not Provided
Architecture Diagram Link: Not Provided
Core Concepts Doc Link: Not Provided
APIView Links: .NET, Java, Python, Javascript,
Description: Primary topic of discussion will be API changes to allow WAM (Web Account Manager) broker support in our Identity libraries.
Detailed meeting information and documents provided can be accessed here

Meeting updated by Paul Van Eck
Service Name: Azure Identity
Review Created By: Paul Van Eck
Review Date: 10/05/2023 02:05 PM PT
Hero Scenarios Link: Not Provided
Architecture Diagram Link: Not Provided
Core Concepts Doc Link: Not Provided
APIView Links: .NET, Java, Python, Javascript,
Description: Primary topic of discussion will be API changes to allow WAM (Web Account Manager) broker support in our Identity libraries.
Detailed meeting information and documents provided can be accessed here

Meeting updated by Paul Van Eck
Service Name: Azure Identity
Review Created By: Paul Van Eck
Review Date: 10/05/2023 02:05 PM PT
Hero Scenarios Link: Not Provided
Architecture Diagram Link: Not Provided
Core Concepts Doc Link: here
APIView Links: .NET, Java, Python, Javascript,
Description: Primary topic of discussion will be API changes to allow WAM (Web Account Manager) broker support in our Identity libraries.
Detailed meeting information and documents provided can be accessed here

Java API view for our new library


fix: detect & use short ASNs for lsappinfo query

done was not sending notifications on my machine, on the macOS sonoma beta.
i did some digging and it turned out that lsappinfo was returning a kind of ASN that cannot be directly used to query for a bundle ID:
$ lsappinfo front
ASN:0x0-a90a9:
$ lsappinfo info 'ASN:0x0-a90a9:'
$

looking at the lsappinfo manpage, it turns out that ASN's starting with 0x0- have to be queried differently:
$ lsappinfo front
ASN:0x0-a90a9:
$ lsappinfo info '0xa90a9'
"WezTerm" ASN:0x0-a90a9: (in front)
    bundleID="com.github.wez.wezterm"
    bundle path="/Applications/WezTerm.app"
    executable path="/Applications/WezTerm.app/Contents/MacOS/wezterm-gui"
    .. et cetera ..

this PR adds a function __done_lsappinfo that tries to detect this type of ASN and convert it to the correct form before getting the bundleID:
$ __done_lsappinfo
com.github.wez.wezterm

this fixes the issue for me and i am once again seeing notifications.
it should retain compatibility with the longer style of ASN. i've tested this function manually as best i can to ensure it preserves ASNs in the longer format, however as my machine is not using any of these long ASNs i can't be entirely sure it works end-to-end.

oh, and thanks for providing a maintained fork of done! :)

Looks like @franciscolourenco is maintaining done again so you should submit this there too, but I'll merge this and cut a release for you. Sorry I didn't see the PR till now.

ah, looks like an equivalent fix was already added there. thanks anyway :)


gdb fails on OS X 10.11.1

Trying to install gdb, linker fails:
Thanos$ brew install homebrew/dupes/gdb
==> Installing gdb from homebrew/homebrew-dupes
==> Downloading http://ftpmirror.gnu.org/gdb/gdb-7.10.tar.xz
Already downloaded: /Library/Caches/Homebrew/gdb-7.10.tar.xz
==> ./configure --prefix=/usr/local/Cellar/gdb/7.10 --with-system-readline --with-lzma --with-python=/usr
==> make
Last 15 lines from /Users/Thanos/Library/Logs/Homebrew/gdb/02.make:
  "_rl_ding", referenced from:
      _cli_mld_beep in cli-out.o
  "_rl_directory_completion_hook", referenced from:
      _gdb_print_filename in completer.o
  "_rl_readline_state", referenced from:
      _gdb_display_match_list in completer.o
  "_rl_resize_terminal", referenced from:
      _tui_async_resize_screen in tui-win.o
  "_rl_sort_completion_matches", referenced from:
      _gdb_display_match_list in completer.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [gdb] Error 1
make[1]: *** [all-gdb] Error 2
make: *** [all] Error 2

Please brew gist-logs gdb, Thanks.

https://gist.github.com/2c61ce80527dd90ee6ee
On a side note I successfully built it from source.

+1 facing the same problem. Will build from source. Thanks.

gdb got re-homed in the core, so let's move this issue there if necessary. Didn't seem to be a problem for our CI though, so perhaps an issue local to you folks, although I'm not sure quite what. Give us a shout in the core if you can still reproduce there, Thanks!


Tests for kue.js

This PR creates unit tests for the kue.js file. We hope to create unit tests for the entire kue repo.
Connects to #280
@behrad, we can either create individual PRs for each file, or keep adding to this PR as we get more tests written. Either way, I wanted to get this in front of you as quickly as possible so you had a chance to give feedback.

Looks like some of the bdd tests are failing, but not sure that's related to what I did here. All the failures are the same: jobs.client.connection_option is undefined. Looks like it should be jobs.client.options instead. Want me to fix that?

Good stuff @tobalsgithub Can you check why tests are failing?

See my comment right before yours.

Actually, looks like connection_options instead of connection_option would work as well. Don't really understand how this was working before and is now breaking.

Went ahead and updated the tests to fix the connection issues

Strange!
:+1: @tobalsgithub


removes changelog.md git merge line

https://github.com/openziti/ziti/pull/509 addresses this issue.


Release v3.3.2

update release notes
bump Patroni version
bump pyright version

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 99.862%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
13769

Relevant Lines:
13788

💛  - Coveralls

👍


Upgrade Sample to Angular 18

Angular 18 was released in May 2024, so it's time to upgrade this sample. Most likely the angular-oauth2-oidc library version will work just fine with the latest Angular version, and we can just upgrade.
See also: https://github.com/manfredsteyer/angular-oauth2-oidc/issues/1413

Hi @jeroenheijmans and @manfredsteyer
Is there any plan to upgrade this library to support Angular 18?
We are blocked in our project due to this

Good question @claudia9! Be ware though, you've posted your question on this "satellite" repository, which is just a sample implementation with the library. I don't think your project would be blocked by my sample being a bit out of date. You may want to chip in at the relevant issue for the library itself?
Having said that, for most previous Angular versions we could just upgrade Angular itself while keeping the existing version of the angular-oauth2-oidc library in use. I wouldn't be surprised if that's the case with verison 18 as well. Have you tried upgrading yet and ran into actual issues? Might be good to add those to the discussion in linked issue.
Not sure when I myself would have time to update my sample repository here. I would welcome a PR from the community, just be sure to keep it very focused on just that upgrade, for inspiration check the Angular 17 upgrade changes.

Just confirmed that v17 of the library works just fine with latest Angular, as far as my sample is concerned. You can check the latest main version to see it in action. I recommend trying it in your own projects too if you need it.
(It can still be useful to have the library get an upgraded version of the package, if only for clarity. But that's outside the scope of my sample repository.)


Transition creating too many child when clicking fast

I have made a demonstration on the problem
https://codesandbox.io/s/m5nrr1pyr8
I'm looking at the react-router example here (https://codesandbox.io/embed/xo0lrqw2nz), and it doesn't seem to have the problem. I think it has got something do with the keys prop? I don't understand why it's value is location.pathname. I would really appreciate your help.

I am experiencing the same issue...
https://codesandbox.io/s/42rx0lq2z0
I would expect the transitioned item to appear/disappear with a wobble as I click quickly. Instead, Transition creates more nested items as I click.
How do I make it reuse the same item and continue the animation from where it stopped?


⚠ Bofrost.lu has degraded performance

In 60b1631, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1220 ms

Resolved: Bofrost.lu performance has improved in bbf9011 after 21 minutes.


MacOS bazel build -c opt :encoder_main fails to build

Hi, I want to build lyra encoder, decoder for macos target. For now it requires android ndk which I don't want to install, ofc.
Build error
I also tried with --config=clang_toolchain, same error.
$ bazel build -c opt :encoder_main
DEBUG: Rule 'com_google_protobuf' indicated that a canonical reproducible form can be obtained by modifying arguments commit = "fd8aabf32d1d1ae3319e280fed07aa6eb24d150d", shallow_since = "1614800268 -0800" and dropping ["tag"]
DEBUG: Repository com_google_protobuf instantiated at:
  /Users/sotomi/projects/lyra-audio-codec/WORKSPACE:26:15: in <toplevel>
Repository rule git_repository defined at:
  /private/var/tmp/_bazel_sotomi/f57c4149873f470db18811454562e7ef/external/bazel_tools/tools/build_defs/repo/git.bzl:199:33: in <toplevel>
DEBUG: Rule 'gmaven_rules' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "c166ae9f06069025eab59ad74c102db23badc93abb6582ca69c42a0f441c52b5"
DEBUG: Repository gmaven_rules instantiated at:
  /Users/sotomi/projects/lyra-audio-codec/WORKSPACE:139:13: in <toplevel>
Repository rule http_archive defined at:
  /private/var/tmp/_bazel_sotomi/f57c4149873f470db18811454562e7ef/external/bazel_tools/tools/build_defs/repo/http.bzl:353:31: in <toplevel>
ERROR: /Users/sotomi/projects/lyra-audio-codec/WORKSPACE:124:23: fetching android_ndk_repository rule //external:androidndk: Either the path attribute of android_ndk_repository or the ANDROID_NDK_HOME environment variable must be set.
ERROR: Analysis of target '//:encoder_main' failed; build aborted: Either the path attribute of android_ndk_repository or the ANDROID_NDK_HOME environment variable must be set.
INFO: Elapsed time: 0.259s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (0 packages loaded, 0 targets configured)
    currently loading: @androidsdk//
    Fetching @local_jdk; fetching
    Fetching @local_config_cc_toolchains; Building xcode-locator

Versions
Apple clang version 13.1.6 (clang-13<IP_ADDRESS>.5)
Target: x86_64-apple-darwin21.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

bazel 5.2.0-homebrew
MacOS 12.3.1 (intel)

We experimental added support for Mac in the new Lyra 1.2.0 release. Please let us know if this fixes your issues.

Lyra is locked into using Bazel 5.3.2. It's almost impossible to downgrade a package using homebrew.
Will the issue with not being able to build with the latest Bazel being looked at?


Diffutils with load more

While using diffutils with load more then it is crashing and saying inconsistency detect. Indexoutofbound exception.

Thanks for reporting and it sounds like a bug!
Do you have an code snippet to share for more context?

Hi Actually I don't have code snippet, As I have done modification later on in your code and then use it. there is so many problems I am facing while using load more. You may try to set load more enabled true and then set your data using diffutils.
Also you there is a bug like if I want to turn of the pagination once I reach to end of all pages then when user swipe refresh with first page API call then my pagination should again be enabled but it is not working.
Also another bug is that when user set custom load more resource layout then it is crashing if they don't put button. so actually there are so many issues which I was facing in load more integration. but I used your library as module, and done modification and everything works fine. but not diffUtils related issue.
So I dropped plan to use this unless it is not stable.
Hope to have fix soon regarding all above issues, so that we can use your library as it is. and thank you very much for preparing such awesome library which reduced so much boilerplate code.

@urvish91 Thanks for reporting these important issues, really helpful!
I've created some bug and improvement tickets and will try to fix them asap!
Will get back and refer to this issue in coming PRs :)
Thanks for finding this library useful and don't hesitate to report bugs or request features! 🎖


Create cumulative line chart like in nvd3

Copy the functionality of the cumulative line chart in nvd3.
Deliverable:
A demo of a cumulative line chart.  There should be a draggable index line, and when that line is dragged, it 're-zeroes' the the data using the formula:
(y - indexVal) / (1 + indexVal)

The best way to do this is to create a new sub chart type, called ForestD3.CumulativeLine, that extends from the ForestD3.Chart. Overwrite the render and data methods.


Pressing Enter key when updating price does same thing as pressing Escape - it cancels all changes

If I click on price in the merchant NPC sheet, a dialogue box to update the price appears. I can update the price easily, but I must click the "update" box to save the entry. Pressing the "Enter" key will close the dialogue box and not save the price - the same results as pressing the "Escape" key. Escape and Enter should not have equivalent functions in this use-case.
IS: "Enter" does not save adjustments when changing the price of an item using NPC Merchant sheet
SHOULD BE: "Enter" saves the adjustment and is identical to clicking "update" while "Escape" does not save the adjustment and is identical to clicking "Cancel"

Fixed in 2.6.0


Warn about Proxies with version numbers different from the Broker

It seems that it will only warn about the diffrent versions on the v1/health endpoint as only on thoese requests the proxy seems to add the special header.

@Threated , could you make sure the Proxy always sends its User-Agent header?

@Threated This could tie in with the proposed/discussed Reqwest::Client change

@Threated Please check if this is still compatible to #154


Seems to be trying to call strip on an is_surveillance flag

If you use the --is-surveillance flag, e.g.
ocarina put biosample --adm1 UK-ENG --is-surveillance \
    --central-sample-id EXET-13A00C \
    --received-date 2020-11-22

it returns an error suggesting it is trying to call strip() on the boolean associated with the variable is-surveillance
Response========================================================================
{
    "errors": 1,
    "ignored": [],
    "messages": [
        "'bool' object has no attribute 'strip'"
    ],
    "new": [],
    "request": "e9712f2a-1f92-4cf2-ab72-5191bccb4c0c",
    "success": false,
    "tasks": [],
    "updated": [],
    "warnings": 0
}

Fixed by https://github.com/SamStudio8/majora/commit/bd84f18b7bd56e056d84e5d5a1062f700022044a
Thanks


ENH Add Warning if Coreg Distances are Bad

Fixes #6552

This adds a method to check for bad coregistration. Currently, this will raise a warning if the coregistration distances are greater than 5mm.
This function is  now called in compute_dig_mri_distances and in 'dig_mri_distances'

This is a whole function because it should continue to be updated as the definition of a "bad coregistration" is expanded.

This looks like it might be failing exactly where it is supposed to. Since it warns when the coregistration distance is greater than 5mm, and it appears to only be throwing exceptions when the test calls actual data.
It may be this just needs an added warning filter, but I don't really want to mess with the test filters without some serious research into how they work.
If it is an actual problem with the function, I may need to understand the test datasets - which would require some time to go understand properly.  I may need to leave this as is until I have more time to understand that part.

I think we probably want to have compute_dig_mri_distances(dist_limit=np.inf) or something by default, and only for some calls do we want to set coreg.compute_dig_mri_distances(dist_limit=5) (where any distances > 5mm for non-omitted points would emit an error). For example, we don't want a warning emitted into the console when using the mne coreg GUI -- we'd want a visual cue in the GUI itself to warn about this.

It may be this just needs an added warning filter,

Taking one of your failing tests for example:
mne/tests/test_coreg.py:391: in test_coreg_class_gui_match
    coreg.fit_fiducials(verbose=True)
<decorator-gen-387>:10: in fit_fiducials
    ???
mne/coreg.py:1764: in fit_fiducials
    self._log_dig_mri_distance('Start')
mne/coreg.py:1728: in _log_dig_mri_distance
    errs_nearest = self.compute_dig_mri_distances()
mne/coreg.py:1987: in compute_dig_mri_distances
    _warn_bad_coregistration(distances)
mne/surface.py:1765: in _warn_bad_coregistration
    warn('Warning: Bad coregistration. Median coregistration ' +
mne/utils/_logging.py:390: in warn
    warnings.warn_explicit(
E   UserWarning: Warning: Bad coregistration. Median coregistration distance is greater than 5.0 mm

With the new syntax I would do:
    coreg.fit_fiducials(verbose=True)  # existing code, still okay
    with pytest.warns(RuntimeWarning, match='is greater than'):
        coreg.fit_fiducials(verbose=True, max_dist=5)

And you do a few of these max_dist=5's in the code. Hopefully for fit_icp you can do it and it doesn't warn (which you can assert just by not wrapping the fit_icp(..., max_dist=5) it in a pytest.warns context manager, because we treat warnings as errors).

This PR has a pretty tough rebase for +40 −12 changed lines so I'll close, probably better to open a clean PR if desired. But feel free to reopen and force-push (or merge main into your branch) if you want @TzionaN !


Multisig claim

This PR enables council multisig (which was selected by DAO) to claim coverage from the T coverage pool if needed. Only the council multisig can claim a specific amount of funds by calling RiskManagerV2::claimCoverage(amountToSeize).

(TOB-PR216-1) Missing zero-address checks
Severity: Informational
Difficulty: High
During the construction of a RiskManagerV2 contract, there is no zero-address check for the tbtcToken address.
https://github.com/keep-network/coverage-pools/blob/62c117d855fc1d60cbf7556768c8d078c9aaeef8/contracts/RiskManagerV2.sol#L86
Setting this address to the zero-address, by mistake, may lead to undefined behavior.
Recommendations

[ ] Short term, add a zero-address check before setting the tbtcToken address.
[ ] Long term, improve unit test coverage to find edge cases similar to this one.

(TOB-PR216-2) Insufficient post-condition checks for unit tests
Severity: Informational
Difficulty: N/A
The unit tests created for this PR do not sufficiently test the state of contracts after an action is taken. This applies to the following 2 scenarios:

beginCouncilMultisigUpdate tests: The newCouncilMultisig address should be checked to make sure that it is equal to _newCouncilMultisig, assuming that the owner and not thirdParty calls the function. Additionally, another test should be added to check that setting _newCouncilMultisig to address(0) causes the transaction to revert.
finalizeCouncilMultisigUpdate tests:  The newCouncilMultisig value should be checked to make sure that it is set to address(0).

Recommendations

[ ] Short term, add the post-condition checks mentioned above to the unit tests for this PR.
[ ] Long term, ensure that unit tests check the values of all state variables that are impacted by the action performed in the unit test.

Code Coverage
We performed a security review of this PR for a total of 8 engineer hours.  Here is a non-exhaustive list of our approaches taken during this review.

Are the correct access controls in place to prevent anyone from seizing funds?
Are the correct access controls in place to prevent anyone from becoming the next councilMultisig?
Can the GOVERNANCE_DELAY be bypassed?
Can finalizeCouncilMultisigUpdate be called more than once to cause undefined behavior?
Is the councilMultisigInitiated value updated correctly across the various functions?
Does getRemainingCouncilMultisigUpdateTime correctly track the remaining time before the newCouncilMultisig can be finalized?
Do the unit tests sufficiently cover all possible edge cases? (see TOB-PR216-2).
Are there any front-running opportunities?

d719ec9

Agree. Addressed in d719ec9

(TOB-PR216-1) Missing zero-address checks
Severity: Informational Difficulty: High
During the construction of a RiskManagerV2 contract, there is no zero-address check for the tbtcToken address.
https://github.com/keep-network/coverage-pools/blob/62c117d855fc1d60cbf7556768c8d078c9aaeef8/contracts/RiskManagerV2.sol#L86
Setting this address to the zero-address, by mistake, may lead to undefined behavior.
Recommendations

[ ]  Short term, add a zero-address check before setting the tbtcToken address.
[ ]  Long term, improve unit test coverage to find edge cases similar to this one.

Agree, addressed in d719ec9

(TOB-PR216-2) Insufficient post-condition checks for unit tests
Severity: Informational Difficulty: N/A
The unit tests created for this PR do not sufficiently test the state of contracts after an action is taken. This applies to the following 2 scenarios:

beginCouncilMultisigUpdate tests: The newCouncilMultisig address should be checked to make sure that it is equal to _newCouncilMultisig, assuming that the owner and not thirdParty calls the function. Additionally, another test should be added to check that setting _newCouncilMultisig to address(0) causes the transaction to revert.
finalizeCouncilMultisigUpdate tests:  The newCouncilMultisig value should be checked to make sure that it is set to address(0).

Recommendations

[ ]  Short term, add the post-condition checks mentioned above to the unit tests for this PR.
[ ]  Long term, ensure that unit tests check the values of all state variables that are impacted by the action performed in the unit test.

Agree. Addressed in 55735ab

Replaced by https://github.com/keep-network/coverage-pools/pull/223.


Allocate real blockSize when loading files for distributedLoad

Fix https://github.com/Alluxio/alluxio/issues/13005
DistributedLoad failed in this case due to reserving too much space (e.g., 128MB space reserved in #13005 just for loading 300KB files).
When write concurrency is high, it can take a lot of wasted space and possibly causing distributedLoad failed.
This PR also optimizes the performance of distributedLoad by reducing master RPCs by moving getStatus call out of loop

Codecov Report

Merging #13093 (51adb61) into master (3aaf75b) will decrease coverage by 13.07%.
The diff coverage is 42.10%.

@@              Coverage Diff              @@
##             master   #13093       +/-   ##
=============================================
- Coverage     43.72%   30.65%   -13.08%
+ Complexity     8851     5657     -3194
=============================================
  Files          1348     1348
  Lines         77438    77435        -3
  Branches       9408     9408
=============================================
- Hits          33862    23738    -10124
- Misses        40693    51690    +10997
+ Partials       2883     2007      -876

Impacted Files
Coverage Δ
Complexity Δ

...t/block/stream/UfsFallbackLocalFileDataWriter.java
52.30% <0.00%> (ø)
7.00 <0.00> (ø)

...ain/java/alluxio/job/plan/load/LoadDefinition.java
6.34% <0.00%> (-75.91%)
3.00 <0.00> (-14.00)

...lluxio/job/plan/replicate/ReplicateDefinition.java
14.81% <0.00%> (-77.78%)
3.00 <0.00> (-6.00)

...erver/src/main/java/alluxio/job/util/JobUtils.java
0.00% <0.00%> (-88.71%)
0.00 <0.00> (-9.00)

...n/java/alluxio/client/block/AlluxioBlockStore.java
76.85% <100.00%> (+4.85%)
26.00 <1.00> (ø)

...va/alluxio/client/block/stream/BlockOutStream.java
73.72% <100.00%> (-0.66%)
31.00 <0.00> (-1.00)

...n/java/alluxio/client/block/stream/DataWriter.java
64.70% <100.00%> (ø)
0.00 <0.00> (ø)

...luxio/client/block/stream/LocalFileDataWriter.java
61.03% <100.00%> (ø)
8.00 <0.00> (ø)

...mon/src/main/java/alluxio/shell/CommandReturn.java
0.00% <0.00%> (-100.00%)
0.00% <0.00%> (-6.00%)

...mon/src/main/java/alluxio/util/ExceptionUtils.java
0.00% <0.00%> (-100.00%)
0.00% <0.00%> (-6.00%)

... and 406 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 3aaf75b...51adb61. Read the comment docs.

alluxio-bot, merge this please


AbstractMethodError in builds running Gradle <7 with plugins built in Gradle 7+

Expected Behavior
Standalone plugins built in Gradle 7+ should be usable in builds running earlier versions of Gradle.
Current Behavior
Standalone plugins built in Gradle 7+ may throw this exception when used in builds with earlier versions of Gradle (6.8 for example):
Caused by: java.lang.AbstractMethodError: Receiver class org.scoverage.ScoverageExtension$CheckConfig does not define or inherit an implementation of the resolved method 'abstract java.lang.Object getProperty(java.lang.String)' of interface groovy.lang.GroovyObject.

Context
In the gradle-scoverage plugin, one of our users recently encountered an issue with running the latest version of the plugin -- which is built with Gradle 7 -- in a build running with Gradle 6.8.
I was able to reproduce the issue and found out that either running the build with Gradle 7, or alternatively using a plugin version prior to 6.0.0 -- in which we upgraded Gradle from 6 to 7 -- resolves the issue.
I also found mentions of this issue here and here.
Steps to Reproduce

Create a new project with the following files (+ empty settings.gradle):

// build.gradle

plugins {
    id 'scala'
    id 'java-library'
    id "org.scoverage" version "6.0.0"
}

repositories {
    mavenCentral()
}

ext {
    scalaVersion = "2.12"
}

dependencies {
    compileOnly "org.scala-lang:scala-library:2.12.10"
    testImplementation "org.scalatest:scalatest_${scalaVersion}:3.0.8"
    testImplementation "org.scalatestplus:junit-4-13_${scalaVersion}:<IP_ADDRESS>"
}

// src/main/scala/org/Hello.scala

package org

class Hello {

  def foo(): String = {
    val s = "a" + "b"
    s
  }
}

// src/test/scala/org/HelloSuite.scala

package org

import org.junit.runner.RunWith
import org.scalatest.FunSuite
import org.scalatest.junit.JUnitRunner

@RunWith(classOf[JUnitRunner])
class HelloSuite extends FunSuite {

  test("foo") {
    new Hello().foo()
  }
}

Make sure your gradle wrapper is version <7 -- for instance, 6.8.

Run ./gradlew clean checkScoverage --stacktrace:

$ ./gradlew clean checkScoverage --stacktrace

> Task :reportTestScoverage
[info] Found 1 subproject scoverage data directories [/Users/x/repos/issue-173/build/scoverage]

> Task :reportScoverage
[info] Found 1 subproject scoverage data directories [/Users/x/repos/issue-173/build/scoverage]

> Task :checkScoverage FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':checkScoverage'.
> Receiver class org.scoverage.ScoverageExtension$CheckConfig does not define or inherit an implementation of the resolved method 'abstract java.lang.Object getProperty(java.lang.String)' of interface groovy.lang.GroovyObject.

* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':checkScoverage'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:187)
        at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:263)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:185)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:166)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109)
        at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
        at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
        at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:374)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:361)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:354)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:340)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
Caused by: java.lang.AbstractMethodError: Receiver class org.scoverage.ScoverageExtension$CheckConfig does not define or inherit an implementation of the resolved method 'abstract java.lang.Object getProperty(java.lang.String)' of interface groovy.lang.GroovyObject.
        at org.scoverage.ScoveragePlugin$_configureCheckTask_closure8$_closure46$_closure47.doCall(ScoveragePlugin.groovy:343)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:664)
        at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:637)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.run(ExecuteActionsTaskExecuter.java:539)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
        at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:524)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:507)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$300(ExecuteActionsTaskExecuter.java:109)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.executeWithPreviousOutputFiles(ExecuteActionsTaskExecuter.java:258)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:247)
        at org.gradle.internal.execution.steps.ExecuteStep.lambda$execute$1(ExecuteStep.java:33)
        at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:33)
        at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:26)
        at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:63)
        at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:35)
        at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:49)
        at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:34)
        at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:43)
        at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:73)
        at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:54)
        at org.gradle.internal.execution.steps.CatchExceptionStep.execute(CatchExceptionStep.java:34)
        at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:44)
        at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:54)
        at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:38)
        at org.gradle.internal.execution.steps.CacheStep.executeWithoutCache(CacheStep.java:153)
        at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:67)
        at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:41)
        at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:49)
        at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:44)
        at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:33)
        at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:38)
        at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:24)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:92)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:85)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:55)
        at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:39)
        at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:76)
        at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:37)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:36)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:26)
        at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:94)
        at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:49)
        at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:79)
        at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:53)
        at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:74)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:78)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:78)
        at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:34)
        at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:39)
        at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:40)
        at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:28)
        at org.gradle.internal.execution.impl.DefaultWorkExecutor.execute(DefaultWorkExecutor.java:33)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:174)
        ... 30 more

Your Environment
Build scan URL: https://scans.gradle.com/s/almmhxde47whg
$ ./gradlew --version

------------------------------------------------------------
Gradle 6.8
------------------------------------------------------------

Build time:   2021-01-08 16:38:46 UTC
Revision:     b7e82460c5373e194fb478a998c4fcfe7da53a7e

Kotlin:       1.4.20
Groovy:       2.5.12
Ant:          Apache Ant(TM) version 1.10.9 compiled on September 27 2020
JVM:          11.0.11 (AdoptOpenJDK 11.0.11+9)
OS:           Mac OS X 11.3 x86_64

FWIW, I've also experienced this issue with an internal plugin. I've also spotted it here. So it doesn't look isolated to just the plugin being used here.

Same problem with an internal plugin

I'm also seeing a similar error with a similar setup.  I've compiled my plugin in gradle 7.6.1, but when I try and run it on 5.6.4 I experience this error:
Failed to apply plugin [id 'mypluginid']
   > Could not create an instance of type x509.CertificateExtension.
      > Could not generate a decorated class for class x509.CertificateExtension.
         > Cannot have abstract method GroovyObject.setProperty().

I don't know what GroovyObject.setProperty has to do with it, but it makes sense compiling with Groovy 3 vs Groovy 2.5.4 might carry differences that are hard to overcome.


How to add Listview as ChildView

Hi Chung,
Very Great work!!
I need to add a listview as child view.
Can you please suggest me how to do that.
Many Thankful to you in advance.

If you want add a ListView as child, then you may need to modify some code. Set the child view to ListView and reset the chid view's height.

Change child view's height. In line 91 'int middleViewHeight = clickedView.getHeight()+20;', the height is set to GridView item's height add 20 by default. You may change it to what you want.

Change the child view from GridView to ListView in line 135.

By doing these steps, I think it should work.