Add version and date to the releases in the documentation

On the page https://modpagespeed.com/doc/download is no information about the version or the release date on Latest Stable Version or Latest Beta Version

See https://modpagespeed.com/doc/release_notes which has the release dates.
Closing this issue


Support rank gauss normalization in feature transform.

Issue #, if available:
Description of changes:
Implement Rank Gauss. It maps the numeric feature values to gaussian distribution based on ranking.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

you should add tests in tests/unit-tests/gconstruct/test_construct_graph.py as well

you should add tests in tests/unit-tests/gconstruct/test_construct_graph.py as well

Added


feat(frontend): New user profile store not persisted in localStorage

Motivation
Simplify how user profile is stored in the frontend.
In this PR, create and use a new userProfileStore that doesn't persist data in localStorage.
Changes

New store user-profile.store
User the new userProfileStore instead of the one from settings.store.
Remove the userProfileStore from settings.store

Tests
Tested manually.

@peterpeterparker @AntonioVentilii-DFINITY as discussed offline I changed the userProfileStore. Please review. Thanks!

@peterpeterparker ready for another review


List values

Thanks for the library, very useful!
In the example
obj = {
    'keyD': 1,
    'keyA': 2,
    'keyC': [4, 3],
    'keyB': 4,
}

And
obj_unordered = {
    'keyC': [3, 4],
    'keyA': 2,
    'keyB': 4,
    'keyD': 1,
}

Hash equivalently and then as you say the objects aren't equivalent. Could you explain the desire for them to share a hash? It's not the behaviour that I naively expected.

Hi @genthalili, understood, thanks very much for taking the time to answer!


Add builtin sublevels :sparkles:

I initially wanted to wait with this and instead fork subleveldown and keep that functionality in a separate module, but I figured that would require breaking changes later on. In addition, I've yet to benchmark abstract-level versus levelup and abstract-leveldown; including sublevels now saves me from having to benchmark twice.
Adds a db.sublevel(name[, options]) method that works the same as subleveldown except it returns an abstract-level database instead of a levelup database. Data-wise there's no change, so an abstract-level sublevel can read sublevels previously created with (and populated by) subleveldown.
Uses code and tests from subleveldown. Where possible, I converted functional tests (against a memdown db) to unit tests (against a mocked database). The abstract test suite also repeats itself, to run both on a regular database, and a sublevel of the database.
Comes with some new features compared to subleveldown:

db.batch(..) takes a sublevel option on operations, to atomically commit data to multiple sublevels
Sublevels support Uint8Array in addition to Buffer
AbstractLevel#_sublevel() can be overridden to add additional methods to sublevels.

Review of the following is welcome: function signatures of the public API, docs (README.md and UPGRADING.md), TypeScript types, and LICENSE (see above comment). The code itself is covered by tests (now including the new sublevel option for batches) but a high-level review on that would be welcome too (in terms of code complexity, plugin compatibility, extensibility, etc).

Merging because I have some cleanup to do on the main branch (has some fixup commits I forgot to squash). Retroactive review is of course still welcome.


Add AwsSigV4 signing functionality

Signed-off-by: Harsha Vamsi Kalluri<EMAIL_ADDRESS>Description
Adds the ability to sign requests natively using awsSigV4. An example is given in the README on how to sign every request.
Issues Resolved
Fixes #252
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

did we want to bump the minor version to reflect the new feature? https://github.com/opensearch-project/opensearch-js/blob/main/package.json#L14

did we want to bump the minor version to reflect the new feature? https://github.com/opensearch-project/opensearch-js/blob/main/package.json#L14

My assumption was that this would go as a 2.x release instead of a 2.0.x? I could be wrong.
Does it make sense to bump version here of a separate commit before the release?

This is a great start! Haven't looked at the detailed implementation yet. Consider #187 (comment) and other comments in that issue.
My biggest ask is to refactor this in some kind of optional, namespaced module. This is vendor-specific code and thus I don't think it should be included by default in everybody's client usage. WDYT?

I agree with you. I've separated out the signer from the main injection point and users will have to require it explicitly to use it.

did we want to bump the minor version to reflect the new feature? https://github.com/opensearch-project/opensearch-js/blob/main/package.json#L14

My assumption was that this would go as a 2.x release instead of a 2.0.x? I could be wrong.

Yes, if there are no breaking changes and only new features, this is 2.1 per semver. After release we should have incremented the patch version to 2.0.1. So please bump the version in package.json to 2.1.0 as part of this PR?

Does it make sense to bump version here or a separate commit before the release?

Here.

Excellent. I have some asks re:naming of classes/namespaces. Let's get that right since these are hard to change later?
Also license checker is complaining, I didn't look at the errors, needs to be 🍏.

Excellent. I have some asks re:naming of classes/namespaces. Let's get that right since these are hard to change later?
Also license checker is complaining, I didn't look at the errors, needs to be 🍏.

@dblock looks like @aws-sdk/credential-provider-node has tslib dependency. This is the error that the license checker throws<EMAIL_ADDRESS>is licensed under "0BSD" which is not permitted by the --onlyAllow flag
Not sure what the course of action here is.

@dblock looks like @aws-sdk/credential-provider-node has tslib dependency. This is the error that the license checker throws<EMAIL_ADDRESS>is licensed under "0BSD" which is not permitted by the --onlyAllow flag
Not sure what the course of action here is.

Add it to the list of approved licenses in package.json in this PR, while I go check with someone paid to say whether this is A-OK or not.

@dblock looks like @aws-sdk/credential-provider-node has tslib dependency. This is the error that the license checker throws<EMAIL_ADDRESS>is licensed under "0BSD" which is not permitted by the --onlyAllow flag
Not sure what the course of action here is.

Add it to the list of approved licenses in package.json in this PR, while I go check with someone paid to say whether this is A-OK or not.

I just realized that we do not need that package. A user should just get the credentials from his machine and pass them in as arguments. We don't need to deal with that license now.

@harshavamsi Looks like you'll also need to rebase CHANGELOG. I think this is almost done!

@dblock all checks are passing, this should be good to go.

I've made a port of aws-opensearch-connector inspired by this PR for the docs.
It surely requires more works (maybe reuse the class and test to sign request from this PR) and needs tests.
The intent is to help moving forward the issue with expired credentials
https://github.com/opensearch-project/opensearch-js/pull/289

opened https://github.com/harshavamsi/opensearch-js/pull/1
it adds the support for AWS V2 and handle the credentials issue
updated the docs

thank you so much for this @harshavamsi, I haven't tested it just looked at the PR. ~At first glance I'm not sure this take care of renewing the credentials after they expire, or does it ?~ Tested and it does not refresh the credentials after they have expired.
If a node application register the client once with getClient():
const endpoint = ""; // OpenSearch domain URL e.g. https://search-xxx.region.es.amazonaws.com
const { Client } = require('@opensearch-project/opensearch');
const { AwsSigv4Signer } = require('@opensearch-project/opensearch/aws');
const { defaultProvider } = require("@aws-sdk/credential-provider-node");

async function getClient() {
  const credentials = await defaultProvider()();
  var client = new Client({
    ...AwsSigv4Signer({
      credentials: credentials,
      region: "us-west-2",
    }),
    node: endpoint,
  });
  return client;
}

when the credentials acquired at the time the client was instantiated expires all requests will fail
Edit: the library we are currently using Extends the Transport class from this library to retrieve the credentials on each request, see: https://github.com/yosefbs/aws-opensearch-connector/blob/master/src/AmazonTransport.js
Edit2: for the context if you are using the code provided in the aws documentation to sign the request and are using instance role or any other temporary session token credentials based, the client request will stop working once the credentials retrieved when you instantiated the client expires https://docs.aws.amazon.com/opensearch-service/latest/developerguide/request-signing.html#request-signing-node
Instantiating a client once when the node application start is a common use case. Without any knowledge that this does not take care of refreshing the credentials this could lead to outage in production environment as testing are often made with either temporary instances or aws user keys thus it makes it unusable unless you use AWS access keys (not recommended) or reinstantiate the client on every request (probably not a good idea)
The test to reproduce require a short life session token, I'm not sure if there is a way to use aws credentials and specify an very short lifetime so you could reproduce this case more easily

Excellent catch, thanks for this! I have some questions that I'm going to leave on your PR.

@dblock thoughts on https://github.com/harshavamsi/opensearch-js/pull/1#pullrequestreview-1092303311

@harshavamsi @dblock opened this as an alternative approach to leave more options to the implementation
https://github.com/harshavamsi/opensearch-js/pull/2

@harshavamsi @rawpixel-vincent Do we want to merge this as is and consider https://github.com/harshavamsi/opensearch-js/pull/2 on top, or do you want me to wait till you guys discuss that PR?

@dblock @rawpixel-vincent I think that we can merge this but I have some concerns. The newer implementation has breaking changes for how this should be used. It is not too dramatic but would be inconsistent if we let this go through and follow up with another set of breaking changes.
On the flip side we haven't completely hashed out the details of that implementation. I can see some potential issues with something like client.close() and the connection still being open because of the setTimeout to refresh credentials. I think it would need more tests and will take potentially longer to complete. WDYT?

I agree with @harshavamsi it would be best to avoid changing twice the api and wait until we have something that works for everyone. and merging this without taking care of the expired credentials can potentially cause issues for consumer that they won't catch until sending to production.

Hi @harshavamsi heads up that there is more coming, will update

Hi @harshavamsi @dblock
opened https://github.com/harshavamsi/opensearch-js/pull/3 that improves the client initialization and improve the sdk credentials expiration/renew handling

I'll wait till you both (@harshavamsi and @rawpixel-vincent) are satisfied with the implementation. LMK if I can be of any help!

@dblock I've been testing the client with https://github.com/harshavamsi/opensearch-js/pull/3 it works fine and I'm happy with it.
I'm waiting for @harshavamsi to review and will help to get it ready to merge

@dblock @harshavamsi good for me 🎉 thank you for allowing me contribute on this!
I'll open an issue and PR on https://github.com/yosefbs/aws-opensearch-connector to add a deprecated on the Readme and forward to the AwsSigV4 docs here once it's released.

@harshavamsi I wait for your feedback on the review from @dblock and then let me know if you want to address it or leave it to me 🙏🏻

@rawpixel-vincent @dblock I've made changes where you've requested them. I've addressed the comments as well.

I merged this, great work!

I opened https://github.com/opensearch-project/opensearch-js/issues/290 for a possible improvement.

@harshavamsi @dblock the tests are not running after they been moved to lib/aws see #294


Bulk update via executeBatch() returns undocumented value "-3" in the result-array if PRIMARY KEY is violated

CrateDB version: 2.3.3
JDBC driver: 2.2.0
JVM version: 8.0_144
OS version / environment description: Windows 10
Problem description:
When using bulk insert via JDBC and the insert causes a PRIMARY KEY violation, result "-3" is returned in the result-int-array, which is not documented in the JDBC spec or in Crate documentation. Not sure what should actually happen in this case according to the JDBC spec, but other JDBC driver seem to throw an exception in this case.
See also discussion on slack at https://crate-community.slack.com/archives/C0L7GCE6R/p1519283159000190 and https://stackoverflow.com/questions/48921660/what-does-return-value-3-indicate-when-sending-a-jdbc-bulk-insert-to-crate-io
Steps to reproduce:
    @Test
    public void reproduceBulkReturnMinus3() throws SQLException {
        Properties properties = new Properties();
        properties.put("user", "crate");
        Connection conn = DriverManager.getConnection("crate://localhost:5432/", properties);

        PreparedStatement dropStatement = conn.prepareStatement(
                "DROP TABLE testtable");
        try {
            dropStatement.executeUpdate();
        } catch(PSQLException e) {
            // ignore table not known exception
            assertTrue(e.getMessage().contains("ERROR: TableUnknownException: Table 'doc.testtable' unknown"));
        }

        PreparedStatement createStatement = conn.prepareStatement(
                "CREATE TABLE testtable "
                        + "(id string primary key, "
                        + "name string primary key, "
                        + "value string)");
        createStatement.executeUpdate();

        PreparedStatement statement = conn.prepareStatement(
                "INSERT INTO testtable "
                        + "(id, name, value) "
                        + "VALUES (?, ?, ?)");

        statement.setString(1, "id1");
        statement.setString(2, "name1");
        statement.setString(3, "value1");
        statement.addBatch();

        statement.setString(1, "id1");
        statement.setString(2, "name1");
        statement.setString(3, "value1");
        statement.addBatch();

        // Other JDBC drivers would throw an Exception here because of the primary key violation
        int[] results = statement.executeBatch();
        logger.info("Had bulk-result(" + results.length + "): " + StringUtils.abbreviate(Arrays.toString(results), 1024));

        assertArrayEquals(new int[] {1, 1}, results);
    }

Issue #6359 sounds also related, albeit not exactly the same as there "-2" was returned on a query.

Value -3 is defined in the JDBC API and specification, it is constant Statement.EXECUTE_FAILED, and -2 is Statement.SUCCESS_NO_INFO.

Ok, sorry, you are right, my fault.


Add meshNavigation.edgeLoopBetweenVertices

For the new lips rigger. This is a more stable way to find edge loops than the "find extreme verts" approach and works if the verts are specified in advance.

@miabrahams sorry for the super late reply.  I have missed the notification of this PR. Merging now and will be included in the next release. Thanks!


Add license information

Hello!
I found your project from https://hackaday.com/2023/11/22/linux-fu-easy-kernel-debugging/
Could you please add information about the license of this repository — is it allowed to copy, change and use the code in any purpose?
It would be great to see any popular open source license.
As I see in https://pypi.org/project/easylkb/ :

License: MIT License

but I can't find this in the repository itself.

so sorry for the delay - I will add proper license info soon, hopefully this week! thank you for your inquiry 💓

license file was added -
https://github.com/deepseagirl/easylkb/blob/main/LICENSE

The MIT license! Amazing! Thank you!


cli: IPv6-related fixes

PR: https://github.com/cockroachdb/cockroach/pull/38924
From release notes:

CockroachDB now requires square brackets to specify IPv6 addresses in --join, --host, --listen-addr and similar flags, for example --listen-addr=[::1]. The syntax without square brackets had been deprecated since CockroachDB 2.1. [#38924][#38924] {% comment %}doc{% endcomment %}

No docs updates needed. Notes about IPv6 addresses have already been added.


Feat/echarts sunburst chart

This PR includes the following tickets

DX-926 - Echarts Pie Chart
DX-925 - Echarts Sunburst Chart
DX-935 - Echarts Circlepacking Chart

This PR also includes the following tickets

DX-933 - Echarts Circular Graph Chart
DX-934 - Echarts Force Graph Chart

This PR also includes the following tickets

DX-930 - Echarts Bubble Chart
DX-927 - Echarts Area Stack


BUG: Tests fail on MacOX

Tests fail when run on MacOX runners, as per #3029
EDIT: lightgbm issue resolved, now getting a pytorch error:
=========================== short test summary info ============================
ERROR  - OSError: dlopen(/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/torch/lib/libtorch_global_deps.dylib, 0x000A): Library not loaded<EMAIL_ADDRESS>  Referenced from: '/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/torch/lib/libtorch_global_deps.dylib'
  Reason: tried: '/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/torch/lib/../../functorch/.dylibs/libiomp5.dylib' (no such file), '/usr/lib/libiomp5.dylib' (no such file)
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!

@connortann I can take this, I've reproduced this locally.

Reopening as macos tests still fail on #3029

I'll see what I can do tmr, torch tests are a little tricky for me to debug because i dont have cuda on my macbook

@connortann MacOS Tests are passing now. I just cleared the Cache for MacOS under Actions and reran tests.

Unfortunately it seems like the bug is still present. Now that #3029 was merged, the subsequent PR CI runs are all failing on MacOS, see e.g. https://github.com/slundberg/shap/actions/runs/5365701428/jobs/9734686072?pr=3040
ERROR  - OSError: dlopen(/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/torch/lib/libtorch_global_deps.dylib, 0x000A): Library not loaded<EMAIL_ADDRESS>  Referenced from: '/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/torch/lib/libtorch_global_deps.dylib'
  Reason: tried: '/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/torch/lib/../../functorch/.dylibs/libiomp5.dylib' (no such file), '/usr/lib/libiomp5.dylib' (no such file)
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
============================== 1 error in 28.54s ===============================

Could a short-term patch be to only run 'core' tests on Mac?

@connortann I pushed up what I think is the fix in #3041 , please take a look when you have the time. I've confirmed that the test CI passes while reading torch from the cache.

That looks sensible, approved - good to merge on the rebased checks pass.
The tests still take a long time on macos as you observed. I suppose it's not necessarily a big deal, as PRs can still be merged before non-required checks pass.
Longer term, it would be great to work towards a much faster CI suite- ideally, low single digit minutes!

@thatlittleboy  I'm seeing this issue crop up again unforunately:
https://github.com/slundberg/shap/actions/runs/5561868125/jobs/10160081638

@connortann Tests are failing on MacOS but it's a different problem altogether. I believe it's because lightgbm made a 4.0 release two days ago, it's probably related to that.
I'll close this for now and open another issue to track this problem.


Deployed Portfolio Appication

This is the link to my deployed website using GitHub pages: https://kingnoel.github.io/microverse_portfolio/

Status: ✔ Project Approved ✔
Hi @kingnoel,
Everything is looking great! Please, merge this branch :shipit:
Congratulations! 🎉
Highlights

Live version working fine. ✔

Optional suggestions
Every comment with the [OPTIONAL] prefix is not crucial enough to stop the approval of this PR. However, I strongly recommend you take them into account as they can make your code better.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

As described in the Code reviews limits policy you have a limited number of reviews per project (check the exact number in your Dashboard). If you think the code review was unfair, you can request a second opinion using this form.

Thank you very much!


[FEATURE] Publish SVG and PSD Versions of App Icon

I would like to request that the maintainers publish SVG and PSD versions of the app icon. This would greatly assist with other projects and repositories that maintain lists of app icons. This request aligns with a related issue in the dashboard icons.
Having these files available would facilitate better integration and inclusion of the Stump app in homepage apps and other dashboard project. Thank you for considering this request!

Hey 👋 I'm happy to upload an SVG of the icon. I would have to dig deep to find the original PSD though, so I can't promise that one will get added. As an aside, I'm curious why SVG over PNG/WebP?

This request aligns with a related issue in the https://github.com/walkxcode/dashboard-icons/issues/733

Neat! Thanks for the context

Hey 👋 I'm happy to upload an SVG of the icon. I would have to dig deep to find the original PSD though, so I can't promise that one will get added. As an aside, I'm curious why SVG over PNG/WebP?

For the PSD, I just asked for it because I thought it may be easier to make alternate icons in the future if it was available.
If it's a bunch of work to find the PSD, then the SVG alone would be fine. For Dashboard-Icons, they just want a PNG and SVG. You may need to ask the maintainer for more details, but I think they ask for SVG because it's easier to scale vector graphics than PNGs and WebP.
https://github.com/walkxcode/dashboard-icons/blob/main/CONTRIBUTING.md

I've put up an SVG image and will merge the PR in a moment. It will live in the develop branch until the next release 🙂


Remove initial_fetch_timeout from SDS clusters for workload

Unlikely gateway, where a secret may legitimately not exist in the cluster, we expect to always fetch the default and ROOTCA cert. As a result, we should remove the initial_fetch_timeout so we wait indefinitely for it.
cc @lambdai @JimmyCYJ

we expect to always fetch the default and ROOTCA cert.

FWIK the fallback on timeout is a predefined "thing" (forgive me I don't know the exact behavior), definitely not the default.
Is default better than that "thing"?

default and ROOTCA  are the predefined SDS resource names, default is the resource for key/cert and ROOTCA is the one for root cert. Shall we just set it to 0 here , to let workload proxy to wait for the resources without a timeout?

That's what I was suggesting Jimmy, yeah.
On Thu, Jul 9, 2020, 11:19 AM Jimmy Chen<EMAIL_ADDRESS>wrote:

default and ROOTCA are the predefined SDS resource names, default is the
resource for key/cert and ROOTCA is the one for root cert. Shall we just
set it to 0 here
https://github.com/istio/istio/blob/7b7a581c0297da7f90c019460e5d1ac16aca12de/pilot/pkg/security/model/authentication.go#L128
, to let workload proxy to wait for the resources without a timeout?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/25339#issuecomment-656278733, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEYGXIZGBOKFPT234YRP2LR2YC37ANCNFSM4OVCLSFQ
.

@adiprerepa thanks for your fix and  thanks howard for the test and confirmed it is fixed


Need access build-macstadium-macos1014-x64-2

To debug https://github.com/eclipse/openj9/issues/10313 (which I believe is the same issue as https://github.com/eclipse/openj9/issues/9416) I need to retrieve the build and core files from build-macstadium-macos1014-x64-2.

@gdams Could you grant me access with the same key as you used for https://github.com/AdoptOpenJDK/openjdk-infrastructure/issues/1362#issuecomment-638842862? Thanks!

key added:
ssh<EMAIL_ADDRESS>

@Leonardo2718 Is this access still required?

@sxa @gdams It looks it won't be possible for me to recover a core file from this machine so I no longer require access. Same for #1362.


Problem recurring payment

Hi,
I'm trying to set up recurring payment on my site except I have the SDK returning to me: Bad request. One or several required parameters are missing or incorrect. An incorrect resource ID also raises this kind of error.
$PayIn 							= new \MangoPay\PayInRecurringRegistration();
$PayIn->CreditedWalletId			= $mp_wallet_id;
$PayIn->AuthorId 					= $mp_client_id;
$PayIn->FirstTransactionDebitedFunds 				= new \MangoPay\Money();
$PayIn->FirstTransactionDebitedFunds->Currency	= $currency;
$PayIn->FirstTransactionDebitedFunds->Amount		= $amount;
$PayIn->FirstTransactionFees 					= new \MangoPay\Money();
$PayIn->FirstTransactionFees->Currency 			= $currency;
$PayIn->FirstTransactionFees->Amount 			= $fees;
$PayIn->EndDate 				= $endDate;
$PayIn->Frequency 			= $frequency;
$PayIn->CardId 				= $card_id;
$result = $this->mangoPayApi->PayIns->CreateRecurringRegistration($PayIn);
What is bad?
Thank you

Hi @Maximus697,
It's hard to say without knowing the value set in your PayIn object.
Can you provide a dump of $PayIn just before calling the MangoPayApi ?
Also, getting the API detailed error message would help you understand the exact problem.
I would suggest you to do the following :
try {
   $result = $this->mangoPayApi->PayIns->CreateRecurringRegistration($PayIn);
} catch (Exception $e) {
   //dump or log the value of
   // $e->GetErrorDetails()->Message and get_object_vars($e->GetErrorDetails()->Errors)
}


chore(master): release 11.0.2

:robot: I have created a release beep boop
11.0.2 (2024-02-01)
Bug Fixes

Debug GHA (3d053b8)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/ptarmiganlabs/butler/releases/tag/v11.0.2 :sunflower:


Search error

Originally reported by @bobwhitelock on the middlemanapp.com repo: https://github.com/middleman/middlemanapp.com/issues/720

Searching for templates raises an exception and crashes the app; to reproduce:

Go to https://directory.middlemanapp.com/#/templates/all

Type something in the search box, e.g. 'blog', or click one of the links below

An exception is raised and the search does not occur:

  main.js:10494 Uncaught TypeError: Cannot read property 'toLowerCase' of null
    at https://directory.middlemanapp.com/javascripts/main.js:10494:75
    at Array.filter (native)
    at o.<anonymous> (https://directory.middlemanapp.com/javascripts/main.js:10493:35)
    at i.b.get (https://directory.middlemanapp.com/javascripts/main.js:4127:22)
    at r (https://directory.middlemanapp.com/javascripts/main.js:3529:14)
    at Ember._ChainNode.b.value (https://directory.middlemanapp.com/javascripts/main.js:3960:28)
    at Ember._ChainNode.b.didChange (https://directory.middlemanapp.com/javascripts/main.js:4005:22)
    at Ember._ChainNode.b.didChange (https://directory.middlemanapp.com/javascripts/main.js:4010:53)
    at v (https://directory.middlemanapp.com/javascripts/main.js:3717:60)
    at Ember.propertyDidChange (https://directory.middlemanapp.com/javascripts/main.js:3708:Th1)

This doesn't appear to occur when searching for extensions or services. Thanks

Error still seems to happen at that link


question about train_valid.sh

I think maybe you miss ".py" for every file name in train_valid.sh.
Original Code:
python3 create_folds --n_folds 5
python3 -m train --fold 0 --type T1wCE --model_name resnet10
python3 -m train --fold 1 --type T1wCE --model_name resnet10
python3 -m train --fold 2 --type T1wCE --model_name resnet10
python3 -m train --fold 3 --type T1wCE --model_name resnet10
python3 -m train --fold 4 --type T1wCE --model_name resnet10
python3 -m validation

python train.py: runs the script train.py as the main program.
python -m train: Treats the module named train as the main program and executes it. This is very useful for running modules in packages.
It is fine to run it using both methods:
python3 train.py --fold 0 --type T1wCE --model_name resnet10
python3 -m train --fold 0 --type T1wCE --model_name resnet10


I encounter a problem "`initialize': can't convert Pathname into String (TypeError)"

The exception is as follows:

My command likes  synx xxx.xcodeproj, can u give me any suggestions? Thx

I think this should be fixed now that variant groups are handled correctly in #63. Can you try again?

I'm going to say it's safe to assume this is fixed now.


[WCAG2.2][Terminal]: Other than dragging, there is no alternate option provided for the users to move the tabs.

Windows Terminal version
1.19.10302.0
Windows build number
26040.1000
Other Software
Test Environment:
OS: Windows 11 Version 23H2 (OS Build 26040.1000)
App: Windows Terminal
Screen Reader: Narrator
Steps to reproduce
1.Open Windows Terminal.
2.Add 4 different tabs.
3.Now try to move the tabs from one position to other using keyboard.
4.Observe the issue.
User Experience:
People with motor impairments who cannot operate content by the only way to actuate a function is by dragging a target element from its initial position to some other position will feel difficulty here, if there is no option provided to user to move the tabs.
Guideline link:
https://www.w3.org/WAI/WCAG22/Understanding/dragging-movements
Attachment:
Other than dragging,no alternative mechanism is provided to move the tabs..zip
Expected Behavior
There should be an alternate mechanism to be provided in order to move the tabs from one position to other.
Actual Behavior
Other than dragging, no alternative mechanism is provided for the users to move the tabs from one position to other.

@Saiteja341 There is! There's already the moveTab actions: Move tab
https://github.com/microsoft/terminal/blob/f30cbef34df5624173a45bdb53667a2cf145f4a9/src/cascadia/TerminalSettingsModel/defaults.json#L387-L388
I'm going to close this one as fixed, since those have been there for a few years now.

Closing this, as we can add custom action shortcut for 'Move' from settings.


Microsoft account linking (for MC) doesn't work

Tried two separate browsers, logged in and out of my Microsoft account several times, and made sure I'm connecting it to the correct account (one I have MC on), but every single time I get this rather generic error message.

The fact it doesn't work on neither Firefox nor Chrome makes me think it's not on my end.
Sure, it's probably an issue on Microsoft's end, but I simply can't know with a message as generic as that, as I can log into the aforementioned account just fine, so I'm not sure why it can't authenticate,
It's the only link that I'm having issues with (that corresponds to a platform I actually use).

I simply can't know with a message as generic as that

That's the "goal" here, to have a generic message that doesn't give information about an attacker about what could have gone wrong if they're attempting to attack the authentication flow. It makes troubleshooting for end users a bit more annoying though, especially when bugs start to sneak in, which is likely what's going on, considering the Minecraft authentication via Microsoft is very cumbersome (and consist of some reverse-engineered parts).
I just pushed & deployed a few small tweaks, can you see if these help or not at all?

Unfortunately it still doesn't appear to work, same error at the same point (after hitting "Yes" on the Microsoft prompt to connect the account)

Update:
Didn't notice this until now, but I did actually recieve an email telling me the app was successfully granted access, so it's probably not on their end.

It's unfortunately for the case of Minecraft account linking more complicated; while I had no doubt the OAuth2 authentication was working fine, once you authorized PronounDB to access your account I have to:

forward this authentication to Xbox Live servers;
get a new authorization from Xbox Live servers to authenticate to Minecraft auth servers;
authenticate to Minecraft auth servers.

This process is rather complex, and the issue is arising somewhere here. The lack of clear documentation from Microsoft is making things tougher, and the issue is probably due to a quirk of Xbox Live that is unexpected in my authentication flow. I'll try to investigate this deeper and find what's going on.

Alright, I understand that it's quite the process.

Alright so, turns out it's an issue inherently caused by Microsoft's trash policies that I wasn't ever informed of.
 I unfortunately can't do anything about this as far as I'm aware, and I wasn't even aware of this possibility before I saw the error code & its description during my exploration of how the authentication works.
Sorry this happens to you, but I'm going to close this issue. Thanks for raising the point that authentication errors clearly lacked clear information, as there are errors which indeed deserved being disclosed to the user.


Various improvements

Codecov Report

Merging #2 (cc6de33) into main (9d7b10c) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #2   +/-   ##
=======================================
  Coverage   21.42%   21.42%
=======================================
  Files           1        1
  Lines          56       56
=======================================
  Hits           12       12
  Misses         44       44

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Historical items

Currently there is no way to list all of the previously reported incidents. All we'd need is the same page (minus the components list) with a list of all incidents.

:+1:

:+1:


added android, grpc, orchid, qdrant and zudoku icons

Add New Icon(s)
Icon Details

Icon ID
Icon

android

qdrant

grpc

zen

orchid

zudoku

Notes
closes #245, closes #244, closes #253, closes #251, closes #255, closes #268
Checklist

[X] Added icon(s) to the appropriate directory
[x] Updated documentation with the new icon(s)
[X] Verified the icon(s) display correctly
[X] If the icon has light and dark, verified the auto switch works correctly
[x] The Svg does not contain any sort of strokes

problem with the weaviate icon... there's an image in it, going to fix it

@LelouchFR, you can add zen to the title

@LelouchFR, you can add zen to the title

oh yeah my bad... but got pushed, so in the logs it will not show up, but it's ok


CSS not laoded

BlazorSortableList doesnt work correctly for me because the CSS containing
::deep .sortable-ghost {
  visibility: hidden;
}

::deep .sortable-fallback {
  opacity: 1 !important
}

is not loaded. What should I do ?
<link href="_content/BlazorSortableList/SortableList.razor.css" rel="stylesheet" />
doesnt work

omg, so I had to add this:
<link href="{YOUR-ASSEMBLY-NAME}.styles.css" rel="stylesheet" />
Could you consider using JS initializers so that consumers of this library dont have to put these things into their code ?
https://learn.microsoft.com/en-us/aspnet/core/blazor/fundamentals/startup?view=aspnetcore-8.0#javascript-initializers


chore: ensure we take the longest tag, v1.0.0 instead of v1

:tada: This PR is included in version 1.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


preindex localsettings gets production environment

When running localsettings the deploy_env is set to `production' which results in errors in the preindex localsettings:
EMAIL_SUBJECT_PREFIX = '[{{ deploy_env }}] '
SERVER_ENVIRONMENT = '{{ deploy_env }}'

Oh. I didn't even realize that. So it seems that when creating the localsettings.py for the preindex directory, I should pass in "{{ deploy_env }}_staging" somehow. I'll look into the smoothest way to do that. Thanks!

I already made a PR with a fix: https://github.com/dimagi/commcarehq-ansible/pull/46


Switch integration tests to use edge-oriented test data

Ran into a discrepancy between the way the integration tests work and the way the back end works.
The test data pipeline outputs nodes and edges separately for Cypress, and as KGTK edge format for the back end. The nodes and edges have the pre-KGTK semantics, where nodes were considered separate (and separately sourced) from the edges they appeared in.
Given this scenario:
edge1 that connects node1, edge has source P0, P1
edge2 that connects node1, edge has source P0, P2
The test data pipeline outputs a single node, the first, with sources P0, P1. Whereas KGTK treats the union of sources of edges involving a node as the node's sources. The latter is the correct interpretation.
Depends on work switching mowgli-etl to only output KGTK. We may want to also switch mowgli-etl to only output edges and not nodes.

@stouffers FYI, a long-term issue.


TMIW URL is removed by Strava from activity upload details

Following suit of SUUNTO: #480
Even the domain without the https protocol is censored out. I need to go the same route as SUUNTO and I'll check training peaks and under armour.

Under Armour (Map My Fitness) doesn't even display the comment so it's not affected. Training Peaks displays it still.

Under Armour (Map My Fitness) doesn't even display the comment so it's not affected. Training Peaks displays it still.
Boom https://road.cc/content/news/strava-no-longer-allows-you-add-links-310685


#58: Create (adjust) endpoint for accepting data flow metadata

Closes #80 (answer - yes, they can be updated, but we are also keeping history of it in a separate table)
Closes #58
Note: I'll change the API endpoints according to https://github.com/AbsaOSS/atum-service/issues/141 in a subsequent PRs, outside of #58.

Changes:

slightly changing existing table additional_data - removed the updated_by and updated_at columns*1
creating a new table additional_data_history (almost the same as additional_data but adjusted to being able to keep the history - different UNIQUE constraint and two more columns)
implemented a new function runs.write_additional_data and removed the obsolete one in future/ folder
adding author field into AdditionalDataSubmitDTO
adding a new server's API endpoint /writeAdditionalData (this will change later according to #141)

*1 I consider a single Additional Data record to be a 'tuple' (key->value pair) and I consider the authorship to be created by someone who created the tuple itself, not just the 'key' part of it. So by this logic if there is an 'update', then actually it's almost like a new 'record' would be created - it still is update in SQL, but the created_by and created_at values are not kept in the main table (they are then moved to the additional_data_history table - if there would be just a single table for all this, maybe it would make sense to have those 2 columns); so basically I don't necessarily 'care' about who originally created the key in the AD (but even if we need this, it's searchable in additional_data_history ...). Obviously we can have many different ways of doing this, but this approach seems to fullfil all potential use cases and involves relatively small number of columns.

You can test it for example like this, feel free to change values as you like:
elect * from runs.write_additional_data(
	'{
    	"keys": ["partition1", "partition2"],
		"version": 1,
		"keysToValuesMap": {
			"partition1": "value1",
			"partition2": "value2"
		}
	}'::jsonb,
	'"ok2" => "1",
   "publisher" => "postgresqltutorial.com",
   "language"  => "English",
   "ISBN"   => "978-1449370000",
	"qnull"    => "11.5 ounces"'::hstore,
	'laco2'
)

@lsulak @TebaleloS
I think it's not the best time to merge this code. I will be soon finished with #150 and then the endpoint can be implemented in the new way (we can organize a pair-programming session for next week and do it together). Most of the code will stay the same, but the endpoint definition and the fa-db function will have to change a bit.

Whoever wants to test this, can run this REST API request for example:
POST to /api/v1/createOrUpdateAdditionalData
{
    "partitioning": [
        {"key": "partition1", "value": "value1"},
        {"key": "partition2", "value": "value2"}
    ],
    "additionalData": {
        "ad_key1": "ad_value1",
        "ad_key2": "ad_value2"
    },
    "author": "laco"
}

@lsulak
Firstly, I must say, I'm really impressed with the work you've done on the code. It's clear, concise, and well-structured. Great job! I can see the effort and thought you've put into this, and it's truly commendable.
Now, to make this even more amazing, I have a small but significant suggestion. It would be fantastic if we could add some tests for the fa-db object, similar to what we have for the existing classes. Tests will not only ensure that our code is working as expected but also make future changes safer and easier. Also please introduce tests for the functionality introduced to PartitioningService and PartitioningController.
Additionally, since the SQL code performs quite a few operations, it would be beneficial to use Balta for testing its conditional logic.
Once you've added the tests, I'd be more than happy to review them.

@lsulak Firstly, I must say, I'm really impressed with the work you've done on the code. It's clear, concise, and well-structured. Great job! I can see the effort and thought you've put into this, and it's truly commendable.
Now, to make this even more amazing, I have a small but significant suggestion. It would be fantastic if we could add some tests for the fa-db object, similar to what we have for the existing classes. Tests will not only ensure that our code is working as expected but also make future changes safer and easier. Also please introduce tests for the functionality introduced to PartitioningService and PartitioningController.
Additionally, since the SQL code performs quite a few operations, it would be beneficial to use Balta for testing its conditional logic.
Once you've added the tests, I'd be more than happy to review them.

Thanks! I'm definitely planning to cover the DB functions with Balta, I'm just 'waiting' for https://github.com/AbsaOSS/atum-service/pull/110, because it provides a great reference point on how to do this and also covers some of our functions quite extensively.

some tests for the fa-db object
I'll think about these

tests for the functionality introduced to PartitioningService and PartitioningController.
not much is actually happening there, mostly just ZIO boilerplate code. I'm not sure if it brings any value to cover everything 1:1 with unit tests. There is no custom processing, calculation or operations - mostly really just ZIO related code - it's great that we have a reference unit tests and that we can extend it or use it for some other, more complicated endpoints in the future, but again I don't see a real value of us covering everything, especially if it's just a wrapper around 'standard'  / 3rd party library stuff that is supposed to work (that's why we are using it and was tested by other people in the past)

@lsulak Firstly, I must say, I'm really impressed with the work you've done on the code. It's clear, concise, and well-structured. Great job! I can see the effort and thought you've put into this, and it's truly commendable.
...
Once you've added the tests, I'd be more than happy to review them.

Thanks! I'm definitely planning to cover the DB functions with Balta, I'm just 'waiting' for #110, because it provides a great reference point on how to do this and also covers some of our functions quite extensively.

some tests for the fa-db object

okay, I'll take a look and I'll think about these; EDIT: you mean this, right? CreatePartitioningIfNotExistsSpec

tests for the functionality introduced to PartitioningService and PartitioningController.

not much is actually happening there, mostly just ZIO boilerplate code. I'm not sure if it brings any value to cover everything 1:1 with unit tests. There is no custom processing, calculation or operations - mostly really just ZIO related code - it's great that we have a reference unit tests and that we can extend it or use it for some other, more complicated endpoints in the future, but again I don't see a real value of us covering everything, especially if it's just a wrapper around 'standard' / 3rd party library stuff that is supposed to work (that's why we are using it and was tested by other people in the past)

It's crucial to remember that when we encounter repetitive code, it's not an excuse to avoid testing! On the contrary, it's a call to action. It's an opportunity to think innovatively, to introduce the missing abstractions that can transform our code. By reducing repetition, we're not just simplifying our code, we're making it more testable. And when our code is more testable, it's stronger, more reliable, and more robust. So, let's embrace this challenge, let's improve our code and test it all together.
The following is an example of how we can reduce repetition in this particular case. By introducing appropriate abstractions and restructuring our code, we can make it more efficient, readable, and testable.
trait ServiceCallHandler {
  def handleServiceCall[A, B](serviceCall: IO[ServiceError, Either[StatusException, A]], onSuccess: A => B): IO[ErrorResponse, B] = {
    serviceCall
      .mapError { serviceError: ServiceError =>
        InternalServerErrorResponse(serviceError.message)
      }
      .flatMap {
        case Left(statusException) =>
          ZIO.fail(GeneralErrorResponse(s"(${statusException.status.statusCode}) ${statusException.status.statusText}"))
        case Right(result) =>
          ZIO.succeed(onSuccess(result))
      }
  }
}

@accessible
trait PartitioningController extends ServiceCallHandler {
  def createPartitioningIfNotExists(partitioning: PartitioningSubmitDTO): IO[ErrorResponse, AtumContextDTO]
  def createOrUpdateAdditionalData(additionalData: AdditionalDataSubmitDTO): IO[ErrorResponse, AdditionalDataSubmitDTO]
}

class PartitioningControllerImpl(partitioningService: PartitioningService) extends PartitioningController {
  override def createPartitioningIfNotExists(partitioning: PartitioningSubmitDTO): IO[ErrorResponse, AtumContextDTO] = {
    handleServiceCall(
      partitioningService.createPartitioningIfNotExists(partitioning),
      _ => {
        val measures: Set[MeasureDTO] = Set(MeasureDTO("count", Seq("*")))
        val additionalData: AdditionalDataDTO = Map.empty
        AtumContextDTO(partitioning.partitioning, measures, additionalData)
      }
    )
  }

  override def createOrUpdateAdditionalData(additionalData: AdditionalDataSubmitDTO): IO[ErrorResponse, AdditionalDataSubmitDTO] = {
    handleServiceCall(
      partitioningService.createOrUpdateAdditionalData(additionalData),
      _ => additionalData
    )
  }
}


Add Permission Constraints to certain fields on a model rather than the entire model.

As ...
Patti - Platform Admin
I want ...
To be able to create a constraint on a specific model field to allow/deny specific users or groups the ability to add/change/null the value of that field.
So that ...
We can limit the scope of users that have the ability to set certain parameters of an object. For example, to be able to deny the ability to set the Status of a Device to Active except for the DC team.
I know this is done when...

A User in GroupA can edit the name, description and/or serial number of a Device, but if they try and modify the Status it doesn't allow them.
A User in GroupB can still edit the Status of a Device.

Optional - Feature groups this request pertains to.

[ ] Automation
[X] Circuits
[X] DCIM
[X] IPAM
[X] Misc (including Data Sources)
[X] Organization
[X] Plugins (and other Extensibility)
[X] Security (Secrets, etc)
[ ] Image Management
[X] UI/UX
[ ] Documentation
[ ] Other (not directly a platform feature)

Database Changes
Not that I know of
External Dependencies
No

As a workaround, I have mocked up a proof of concept of using an override view for Prefix below. The main limitation with this workaround is that it doesn't really scale very easily.
from django.shortcuts import render

from nautobot.ipam.views import PrefixEditView

class DisablePrefixStatusOverrideView(PrefixEditView):
    def post(self, request, *args, **kwargs):
        """Override post method to limit the ability to change the Status to a specific Group."""
        obj = self.get_object(kwargs)
        form = self.model_form(data=request.POST, files=request.FILES, instance=obj)
        # Only process the custom validation if the form is otherwise valid
        if form.is_valid() and request.user.groups.filter(name="Disable Status").exists():
            current_obj = self.queryset.get(pk=obj.pk)
            current_status = current_obj.status
            new_status = form.cleaned_data["status"]
            if current_status != new_status:
                form.add_error(
                    "status",
                    f"You don't have permission to change Status from {current_status} to {new_status}.",
                )
                return render(
                    request,
                    self.template_name,
                    {
                        "obj": obj,
                        "obj_type": self.queryset.model._meta.verbose_name,
                        "form": form,
                        "return_url": self.get_return_url(request, obj),
                        "editing": obj.present_in_database,
                        **self.get_extra_context(request, obj),
                    },
                )
        return super().post(request, *args, **kwargs)

override_views = {"ipam:prefix_edit": DisablePrefixStatusOverrideView.as_view()}

In addition, it is highly desirable to allow individual model fields to be configured to have role-based restrictions (read/write/delete permissions at a User Role level).


Jiapli/olive runtime state center

introduce a new class called Footprints which will log all the model_id and related configs during olive.engine.run. This class can serve following model selection/model package/visualization.
remove duplicated function from search results.

introduce a new class called Footprints which will log all the model_id and related configs during olive.engine.run. This class can serve following model selection/model package/visualization.
remove duplicated function from search results.

Why is Footprint associated with Engine and not search strategy? Engine is sending signals after each pass run to search strategy anyway and the search strategy is responsible to interpret the signals.

Can you also update the example tests?

Engine run will return a Footprint object. Is this expected? Does user need to know this Footprint class and get their desired result from this Footprint object by themselves?

introduce a new class called Footprints which will log all the model_id and related configs during olive.engine.run. This class can serve following model selection/model package/visualization.
remove duplicated function from search results.

Why is Footprint associated with Engine and not search strategy? Engine is sending signals after each pass run to search strategy anyway and the search strategy is responsible to interpret the signals.

I was thinking to use Footprint to log all the runtime model information(model_id/model_config/etc.) during engine.run (pass_run/evaluation no matter what kind of search stretegy olive adapts).  It is not used to handle the signals.
Another concept called search_results is used for search strategy actually. Footprints and search results should not be the same thing.

Engine run will return a Footprint object. Is this expected? Does user need to know this Footprint class and get their desired result from this Footprint object by themselves?

Will provide docs for that. Also can dump the info into local file for downstream usage.
Please also share you thoughs. We can discuss that for final output.

It kinda confused me that Engine has an attribute called footprints which is a Footprint object, while this Footprint class also has an attribute called footprints which is a dict. Can you somehow rename these to make it clearer? Like footrpint in Engine and  footprint_node_dict in  Footprint?

It kinda confused me that Engine has an attribute called footprints which is a Footprint object, while this Footprint class also has an attribute called footprints which is a dict. Can you somehow rename these to make it clearer? Like footrpint in Engine and footprint_node_dict in Footprint?

Updated it to nodes.

It kinda confused me that Engine has an attribute called footprints which is a Footprint object, while this Footprint class also has an attribute called footprints which is a dict. Can you somehow rename these to make it clearer? Like footrpint in Engine and footprint_node_dict in Footprint?

Done.

Is get_best_execution method in search_strategy.py still needed?


[vcpkg_find_acquire_program] add gettext's msgmerge program

Describe the pull request
Adds support for gettext's msgmerge program

What does your PR fix? Fixes #13518

Which triplets are supported/not supported? Have you updated the CI baseline?
Downloads tool for Windows, adds hints for macOS and Linux.

Does your PR follow the maintainer guide?

Yes. Note that I intentionally did not replace the program name and version in the URL with variables because the upstream zip also includes the iconv binaries, so to not mislead a future updater that updating a version variable is enough.

theoretically #11776 can built all of gettext but that is currently blocked by #12936

/azp run

@JackBoosY looks like osx build has stalled and was killed, hence the failure. Mind triggering the build again?

On a second thought, while this allows ports to use the msmerge, it requires modification of the personal project's CMakeList as well, should it also require msgmerge.
Moreover, brew install gettext or apt install gettext would be required for macOS\Linux hosts as well as for your CI runs, which can potentially cause conflicts with the gettext library installed using a portfile.

theoretically #11776 can built all of gettext but that is currently blocked by #12936

When you say "theoretically", does it mean it does that already but e.g. it hasn't been tested, or does it require additional work?

Fine, please ping me if this issue needs to be considered.

@JackBoosY unfortunately, the vcpkg's native gettext implementation did not eventually arrive with the generator tools included. I can't find it now, but I saw @Neumann-A confirming it somewhere in https://github.com/microsoft/vcpkg/pull/11776 or related PRs.
From the conversation I had with @ras0219 on Slack,  it seems that the current approach remains the same as before, i.e. to use the msys2 gettext package on Windows in case tools are needed:

I believe right now what generally happens is that on Linux/OSX we expect the generator tools from your system and on Windows we get the generator tools from msys2.

Therefore I believe that this PR adding msgmerge to vcpkg_find_acquire_program takes things a step forward.  Ideally, all generator tools should be added, too.
I would appreciate your input and hopefully the correct approach to gettext usage can find its way into official Maintainer Guidelines.

https://github.com/microsoft/vcpkg/pull/14333/commits/cd0c4444a845a84e1ddae98a5bbfdbc82ad15782 adds feature tools to gettext. I don't know when I have time to move it out into a separate PR.
Building all the tools requires some time and also another patch to make autopoint und gettextsize relocatable. (Both are shellscripts hardcoding an absolute prefix.)

See https://github.com/microsoft/vcpkg/pull/16612


disable --mtime by default

the mtime of a file normally reflects the last modification time of the file on disk rather than what the contents of the file represent. yt-dlp goes against this convention by default, which can cause issues when users don't know about yt-dlp's special mtime behavior, e.g. premature deletion of files by cleanup scripts or time-based file searches.
instead of behaving in this unconventional way by default, yt-dlp should not modify the mtime of its output files unless the user specifically asks for that.
Template

Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8 and ran relevant tests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check all of the following options that apply:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Fix or improvement to an extractor (Make sure to add/update tests)
[ ] New extractor (Piracy websites will not be accepted)
[x] Core bug fix/improvement
[ ] New feature (It is strongly recommended to open an issue first)

ah, my bad. i was under the assumption that youtube-dl was superseded by this project. in that case, i'll direct the patch at upstream.

I don't think they will change it either. Both projects try their best to maintain backward compatibility

I don't think this default that has been in place "forever" can be changed.
Perhaps it is the case that there is a subset of users who care and want --no-mtime to be the default, and everyone else would be pleasantly surprised by the change, if they noticed at all. I doubt it.
Historically, yt-dl seems to have followed wget in its CLI design. As was pointed out in https://github.com/ytdl-org/youtube-dl/issues/1709, wget has a similar option:
       --no-use-server-timestamps
           Don't set the local file's timestamp by the one on the server.

           By default, when a file is downloaded, its timestamps are set to
           match those from the remote file. This allows the use of
           --timestamping on subsequent invocations of wget. However, it is
           sometimes useful to base the local file's timestamp on when it was
           actually downloaded; for that purpose, the
           --no-use-server-timestamps option has been provided.

But we don't seem to have added the --timestamping function.

And yt-dlp already has the --mtime option that I intend to add to yt-dl.


Remove spec

I opened a PR to the execution-apis repository to track the Builder API specification, so we should probably remove it from this repository.
https://github.com/ethereum/execution-apis/pull/209

Codecov Report

Merging #98 (0a2a17c) into main (aeb7489) will increase coverage by 0.18%.
The diff coverage is 58.04%.

@@            Coverage Diff             @@
##             main      #98      +/-   ##
==========================================
+ Coverage   59.85%   60.03%   +0.18%
==========================================
  Files           8        7       -1
  Lines         700      518     -182
==========================================
- Hits          419      311     -108
+ Misses        219      155      -64
+ Partials       62       52      -10

Flag
Coverage Δ

unittests
60.03% <58.04%> (+0.18%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

lib/rpcserver.go
25.53% <25.53%> (ø)

lib/gen_executionpayloadheader.go
59.45% <44.82%> (ø)

lib/gen_executionpayload.go
59.45% <59.45%> (ø)

lib/gen_getheaderresponse.go
64.70% <64.70%> (ø)

lib/gen_getheaderresponsemsg.go
66.66% <66.66%> (ø)

lib/service.go
66.48% <71.00%> (+17.50%)
:arrow_up:

lib/jsonrpc.go
100.00% <0.00%> (+33.33%)
:arrow_up:

Continue to review full report at Codecov.

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

will merge once https://github.com/ethereum/execution-apis/pull/209 is merged 👍

Done in https://github.com/flashbots/mev-boost/pull/121


Fix parsing of set_verification_key permission from mainnet

This PR allows for the parsing of the set_verification_key permission format that's emitted by mainnet/compatible nodes. This allows us to import the accounts dumped by the fork_config GraphQL query.

!ci-build-me

!ci-build-me

!ci-build-me

Force-pushed to remove an accidental merge.

!ci-build-me

This was overruled in favour of a more-complex bash-driven migration script (see https://github.com/MinaProtocol/mina/pull/15003). Closing.


depthai: 2.21.0-1 in 'humble/distribution.yaml' [bloom]

Increasing version of package(s) in repository depthai to 2.21.0-1:

upstream repository: https://github.com/luxonis/depthai-core.git
release repository: https://github.com/luxonis/depthai-core-release.git
distro file: humble/distribution.yaml
bloom version: 0.11.2
previous version for package: 2.20.2-1

depthai
* Improved x/y accuracy for SpatialLocationCalculator/SpatialDetectionNetwork
* Support for median and mode, default changed to median in SpatialLocationCalculator/SpatialDetectionNetwork
* Multi stereo support, ability to run stereo between any 2 calibrated cameras
* Support for LEFT/RIGHT alignment in stereo node
* Support to invalidate edge pixels: setNumInvalidateEdgePixels in Stereo Node
* BrightnessFilter - If the input frame pixel is too dark or too bright, the disparity will be invalidated. Default pixels with value 0 are invalidated in Stereo Node
* Added disparityToDepthUseSpecTranslation, rectificationUseSpecTranslation, and depthAlignmentUseSpecTranslation options for advanced usage in Stereo Node
* Fix for RGB-depth alignment when RGB is configured to 12 MP
* Crash dump support - support to retrieve crash context from the device which can be shared with developers
* Configurable 3A fps - setIsp3aFps
* IMU - support to retrieve connected IMU type, and firmware version. Refactored firmware update API
* BMI270 - enable interrupt mode, timestamps are more consistent now
* BNO086* - fix for sequence number
* AR0234 improved AE smoothness, increased max gain to 400x (first 25.6x analog),
* OV9782 on RGB/CAM-A socket max FPS: 120 (previously was only for OV9282), also improves image quality in very bright light,
* OV9782/9282 minimum exposure time decreased: 20us -> 10us, helps in very bright light. TODO update tuning to make use of it, currently only possible to use with manual exposure
* HW sync (trigger mode) enabled for OAK-D-LR, for cameras with matching FPS
* FW: fix for UART0 / '/dev/ttyS0' init failure in Script node
* POE power cycle fix - in rare occasions POE devices got stuck after reboot, requiring a manual power cycle
* [XLink] Increased max number of links from 32 to 64
* Update FW with performance metrics when DEPTHAI_LEVEL=info is enabled
* Handle EEPROM boardOptions bit 7 for separate I2C on L/R cameras
* Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

Closed and re-opened to kick over GitHub Actions


DELTASPIKE-750 Updated documentation

I shortly had a problem that was described in jira ticket 750 (no error message if a custom property file was not found). Now that it got fixed by Gerhard Petracek, I'd like to update the documentation so that future users know how to correctly implement the changes in their custom property files

Amended and merged.
Feel free to close this PR.
Thanks!


valgrind reports "Conditional jump or move depends on uninitialised value(s)"

Hello guys,
When running a simple single line program I get a valgrind error:
let _ = Regex::new(r"(\}\})|\{(\{|[^{}}]+\})");

I saw very similar issue here, but I'm not sure it's the same case: https://github.com/rust-lang/regex/issues/274
Can you look at it?
Crate version: Latest (1.10.5)

I don't see anything suspicious there. As mentioned in #274, valgrind is known for giving false positives in Rust programs. That doesn't mean it's always wrong, but please do more investigation first. Consider, for example, that the regex crate is tested with Miri.

Also, please provide textual reproductions in the future. When you provide a screenshot, you're asking others to re-type everything shown in the image.......


Use opam pin add for stdpp and iris .dev

As discussed here, opam pin add should be used for stdpp, iris (and possibly many other packages)

This is only about .dev packages though.

Triage note: low prio since the dev pick is anyway almost always broken.


Allow arithmetic_overflow lint in a cast test

The cast tests generate some code with branches that contain min/max
operations that would overflow if they were reachable. Recent rustc
changes have gotten more aggressive with const-propagation, causing that
code to trigger the deny-by-default arithmetic_overflow lint, but we
can explicitly allow it in this case.

bors r+


chore: test lint

👀 PR includes

✨ Feature

[ ] New feature

🎨 Enhance

[ ] Code style optimization
[ ] Refactoring
[ ] Change the UI
[ ] Improve the performance
[ ] Type optimization

🐛 Bugfix

[ ] Solve the issue and close #0

🔧 Chore

[ ] Test case
[ ] Docs / demos update
[ ] CI / workflow
[ ] Release version
[ ] Other ()

📝 Description
🖼 Screenshot

Before
After

❌
✅

🔗 Related issue link

🔍 Self Check before Merge

[ ] Add or update relevant Docs.
[ ] Add or update relevant Demos.
[ ] Add or update relevant TypeScript definitions.

本地 和 CI 打包顺序不一样， CI上多包互相依赖时 打包一直有问题， 在测试

@xingwanying 在debug，怀疑是cache的锅


Enhancement/documentation

Documented stuff in code, refactored and type hinted

I have now tested, everything works fine oh yeah


afFieldValueContains bug

It looks like that in http://autoform.meteor.com/fieldvalues afFieldValueContains has bug.
If check and uncheck "foo", the B field is not removed. You need to check "bar" to have it disappear.

+1


community: GLiNER link extraction

Description: This allows extracting links between documents with common named entities using GLiNER.
Issue: None
Dependencies: None

Looks good -- could you update the in code doc-strings and we can merge?

Resolved merge conflicts

Updated the formatting of the doc-strings to use code block correctly


Omit fields from a query

I'm facing the following scenario: In some cases (like feature flags being set or not set) I want to omit a response fields completely from a query sent to the server. The reason: the server does not support this field yet, for example, so it would throw an exception, because it does not know about this field (yet).
How could I achieve this? I have already read about how to achieve it with inputs in the issues section, but how do I do it with query response fields?
Using two different queries for it is not really an option, because a query can contain multiple of those response fields and that would generate a lot of queries real quick 😉
Some example to illustrate this (hand-written pseudo code, can contain syntax errors 😉):
query FetchUser {
  fetch_user() {
    id: ID!
    imageUrl: String!
  }
}

Right now we'd do something like this, writing the query manually:
var $query = r'''
query FetchUser {
  fetch_user() {
    id: ID!
    $userImageFeatureFlag ? 'imageUrl: String!' : ''
  }
}
''';

Is this possible in any way with graphql_codegen?
Thanks

Hey @budde377 . Yeah we did have a look at @skip and @include. We're using Apollo GraphQL server and unfortunately it will not simply skip the field if it is annotated with @skip, it will somehow evaluate it first and then complain that your query does not match the schema since the schema / the server does not know about the field that is to be skipped 🤦 So that doesn't work unfortunately.
As I mentioned, just using different queries works fine as long as you have only 1 or 2 fields. Since it grows exponentially and we sometimes have 5 or 6 affected fields, this is unfortunately not an option.

Okay so if I understand the problem correctly you electively want to write your queries to multiple schemas depending on some input.
In short the codegen doesn't support dynamic queries; the operations you write are the one that are sent.
There might be an argument for an operation preprocessor who could figure out this and only send the right query but I think it requires more work and thought.
Until then, I'd advise you to think if you can't impose some constraints on your api. I'd expect your use case is usually handled by establishing good release guaranties and deprecation policies. But I of course don't know your use case in detail.


Confirm to stop UI thread.

I want to replace regular browser's confirm with snotify, but my main requirament is to block execution until users says Yes or No.

OK makes sense.


Documentation around 4 -> 5 upgrade; ArgumentError: Start sender first

I'm unsure what I need to do to make the 4 to 5 upgrade work. I see the README file has some detail:

Using a singleton instance of the DogStatsD client instead of creating a new instance whenever you need one; this will let the buffering mechanism flush metrics regularly
Or properly disposing of the DogStatsD client instance when it is not needed anymore using the method Datadog::Statsd#close

but I thought we were using a singleton instance, and I don't think we want to be sprinkling #close around the code. The current way we're creating the instance is in an initialiser:
require 'datadog/statsd'

Rails.configuration.statsd = Datadog::Statsd.new(
  tags: {
    env: Rails.env
  },
  disable_telemetry: Rails.env != 'production'
)

then we use it like so:
Rails.configuration.statsd.distribution('elasticsearch.client.response_time', duration, tags: tags)

Deployed on Heroku using Puma, we're getting an error #<ArgumentError: Start sender first> that is crashing the Rails (<IP_ADDRESS>) process on boot. Is there something else we should be doing?

Is there anyone who could take a look at this?

Hi @wjessop
Sorry for the delay, I'm happy to help you figure this out.
What you're seeing appears to be some kind of forking-related error, could you provide some more details on how your Puma server is configured? Particularly anything related to "Workers" as this appears to be how Puma creates new processes.
Here's my repro attempt if its helpful to compare (this is just rails new plus a scaffold and a bit of datadog configuration)
https://github.com/scottopell/demo-app-rails6
To give you a bit more insight, when the statsd client is forked (I'm guessing this is the case as the rails initializer probably runs once at startup, and then puma forks the process), we should be starting a new sender thread in the new process, but it appears that is not happening in your case, which is leading to this error.

Here's our current datadog initialiser:
# frozen_string_literal: true

require 'datadog/statsd'

# set up statsd monitoring
unless Rails.configuration.respond_to?(:statsd)
  statsd = Datadog::Statsd.new(
    tags: {
      env: Rails.env
    },
    disable_telemetry: Rails.env != 'production'
  )

  Rails.configuration.statsd = statsd
end

The Puma config:
# frozen_string_literal: true

require 'puma_worker_killer'
require 'barnes'

workers Integer(ENV.fetch('WEB_CONCURRENCY', 1))
threads_count = Integer(ENV.fetch('PUMA_MAX_THREADS', 1))
threads(threads_count, threads_count)

preload_app!

rackup DefaultRackup
environment ENV.fetch('RACK_ENV', 'development')
worker_timeout 15
worker_shutdown_timeout 8

on_worker_boot do
  # Worker specific setup for Rails 4.1+
  # See: https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server#on-worker-boot
  Makara::Context.release_all
  ActiveRecord::Base.establish_connection

  SemanticLogger.reopen
end

# Puma worker killer. Bandaid for memory issues.
before_fork do
  PumaWorkerKiller.enable_rolling_restart(3600) # Overriding 6 hour default to do it every hour to kill off memory-hungry workers that hang around.
  Barnes.start # see https://devcenter.heroku.com/articles/language-runtime-metrics-ruby
end

Env for the staging environment where we were trying this out:
WEB_CONCURRENCY: 2
PUMA_MAX_THREADS: 5

I figure the same as you, I'm probably missing some config but don't know what that would be.

Thanks for the extra details, I'm unfortunately still not able to reproduce this.
I have a few questions that can hopefully help us get to the bottom of this:

Can you confirm that changing only the version of dogstatsd-ruby causes the issue you're seeing? From which version to which other version are you changing?
Could you also provide your ruby version and any relevant gem versions (puma, barnes, puma_worker_killer, anything that may have anything to do with threads/forking really)
Do both workers emit this error? Or does one continue running okay?
Does this error happen immediately on application startup? Or after some amount of time (maybe the same interval as puma_worker_killer?)
Do you have any logs you can share with a stack trace and any relevant events that happen before this error?

Without a reproduction I'm stuck reading through the code and I'm unfortunately not having much luck figuring out how you'd get into this state.
As a workaround, you could try setting single_thread: true in the statsd constructor, which may help? If it does help that may help us narrow down what's going on here.

ping @wjessop in case you missed the above

@wjessop one more ping if you still need help

Hey Scott, if you've got it a canonical example of what a datadog config looks like when using Puma in pre-forking mode would be really helpful here.

@scottopell Any chance you could give an example?


remove composer.lock

https://gist.github.com/basz/2575cdb5e6a0dd482ed19b2e4be02696

@weierophinney Why is the composer.lock situation inconsistent between different zf-repos?

I think this is still undecided, so maybe we should clarify it once and for all in https://github.com/zendframework/maintainers/
As usual, I will add that I do not like having a lock file for very wobbly stuff anyway :-P It doesn't represent what end users will get anyway.

Someone mentioned to me the lock files are there so travis can test lowest dependancies and such...
I haven't looked into how its done in zf repo's, but are you aware composer can install with a lowest flag...
no need for composer.lock files in this example  https://github.com/bushbaby/BsbFlysystem/blob/master/.travis.yml

this has been discussed in zendframework/zendframework#7660 and I'm currently working on making the presence of the lockfile consistent across all components.
the main reason behind this is to help contributors and mantainers.

Thanks for raising the topic and causing some clarifications here @basz!
As already said by @stefanotorresi it's a wanted feature. And as it doesn't hurt anyone not wanting the composer.lock to run composer update instead of composer install it's not really an issue to have the file. So I'll close this PR.


Widget inside MarkerIcon can't be pressed

Greetings,
is it possible interact with Widgets inside a MarkerIcon?
I tried an Inkwell as well as a button but the map keeps having the priority.
really appreciate the work on this plugin. Thanks!
MarkerIcon(
        iconWidget: InkWell(
          onTap: (){
            print("Inkwell click");
          },
          child: Container(
            width: 300,
            height: 300,
            decoration: BoxDecoration(
              color: Colors.red,
              borderRadius: BorderRadius.circular(50),
            ),
            child: Column(
              children: [
                Text('Marker'),
                Icon(Icons.location_on),
                ElevatedButton(onPressed: () => {print('Click button')}, child: Text('Button', style: TextStyle(color: Colors.white, fontSize: 120),)),
              ],
            ),
          ),
        ),
      ),

for now that's not possible for now since Marker now only show as Image
Im working in solution to allow those type of Markers sorry for that


Version <IP_ADDRESS>D had Upload Execute problems are they fixed?

Just asking, bc the problems only appear when I tested them on another computer and not on localhost?
When uploading from disk, the application won't run.

Hello @mixedeffects
Please use the latest version to avoid these problems.

alright, ty.


Support UnityFS

Streaming Asset files as MoM now uses are UnityFS files (format 6).  Need to support this.

File Header:
0-7 bytes: UnityFS
8-11: 6 (version)
12-Null: 5.x.x (Some kind of version?)
Null-Null: 5.3.7p2 (Unity Revision used)
Next 8 bytes: file size
Next 4 bytes: compressed header size (66)
Next 4 bytes: full header size (91)
Next 4 bytes: Flags (0x43) - 0x80 header at end, 0x40 entry info present, 0x01 LZMA, 0x03 LZ4 - All are entry info with LZ4 compression.
Next compressed header bytes (66) - LZ4 compressed header info
Compressed header:
0-15 bytes: Unknown
16-19 byes: Storage block count
For each storage block 10 bytes unknown
next 4 bytes: File count
Each File:
0-7: Offset
8-15: Size
16-19: flags
20-Null: Name

I was just investigating LZ4 implementations that run in Mono 2 with a permissive licence when I realised - I'm probably going about this all wrong.  We have unity, we should be able to load these up directly in unity.
One day if I do #248 this will need to change, but for now this is a much better approach.

Import of text now works.


Death review changes

Pulled in luponix' death review UI changes:

Fixed spacing for damage values > 99
Adds toggle button  for death review
Adjusted background texture

I have also addded "deathreview" to the MPTweaks caps and now do a server check to prevent sending review message to old clients

I pulled in luponix's branch to preserve history.  Can you just the caps update on top of master?


Add a new validation to the review job to prevent environment variables from being used in their definition

Describe Request:
There is no validation in orbs PRs to prevent environment variable to be used in the job definitions default values.
Examples:
This is an example of an invalid job definition that should fail in the review step:
description: "Save Go modules to cache."
parameters:
  key:
    description: "User-configurable component for cache key. Useful for avoiding collisions in complex workflows."
    type: string
    default: ""
  path:
    description: "Path to cache."
    type: string
    # /home/circleci/go is the GOPATH in the cimg/go Docker image
    default: "/home/circleci/go/pkg/mod"
  project-path:
    description: |
      The path to the directory containing your Go project files: go.mod, go.sum.
      Defaults to $CIRCLE_WORKING_DIRECTORY.
    type: string
    default: $CIRCLE_WORKING_DIRECTORY
steps:
  - save_cache:
      key: v1-<< parameters.key >>-go-mod-{{ arch }}-{{ checksum "go.sum" }}
      key: v1-<< parameters.key >>-go-mod-{{ arch }}-{{ checksum "<< parameters.project-path >>/go.sum" }}
      paths:
        - << parameters.path >>

Supporting Documentation Links:

example of related reported issue: https://github.com/CircleCI-Public/go-orb/pull/96

I see there are some environment variables used in some orbs. But those are evaluated, usually using bash eval to get their values at some point.

Another example is echo "${AWS_CLI_STR_ROLE_SESSION_NAME}" | circleci env subst here, where the env var AWS_CLI_STR_ROLE_SESSION_NAME contains another env var.
So using this is valid but only if the inner scripts eval the provided environment variable.

This is definitively depends on how the string is used in the specific shell scripts or run steps configured. The logic to check if the environment variable is being used correctly will have to also check the underlying shell scripts.
A possible validation would be:

identify all parameters which default value is en environment variable
check which step is using the parameter
check the run/script to validate that the environment variable is being used correctly


chore(workspace): temp disable staging docs deploy, staging token is broken

Summary
Left the build command intact as we need that to test whether everything is okay but commented out deploy for now as the staging token is seen as invalid.

We've been switching most of our staging docs landers to Vercel (or Netlify). We can help set this up here soon -- or you can open up a Vercel account to integrate and just invite us -- let us know!
/cc @gksander (who's on leave for a few more weeks)


Timeout error occurs periodically causing the app to fail to start

The BC Wallet intermittently times out. This was reported by a wider team member yesterday, by another user today as well as Google Play automated testing.
@bryce-mcmath noted the issue appears to occure between step 5 and 6 of the app initialization.
The following screen captures were reported by Google Play automated testing.

Something to keep an eye on is it was reported ~2pm today and yesterday. Worth noting if this happens at a specific time of the day.

If I keep re-installing the app I can somewhat reliably get delay where it is sending device info to the mediator. Presumably this is for push notifications. Notice the timestamp on the right.

Issue occurred about about 9:15-9:30 today April 15th. Production Android showed issue. Harder to reproduce in dev setup. Issue occurs after ~20 seconds.

Happend on the dev rig. I can see the

After some investigating and adding some logging in AFJ, I found the timeout originates at the end of the getMediationConnection method. It gets stuck here: https://github.com/openwallet-foundation/credo-ts/blob/eb2c51384c077038e6cd38c1ab737d0d47c1b81e/packages/core/src/agent/Agent.ts#L247
This aligns with the 20 seconds before timeout that we have been experiencing as well: https://github.com/openwallet-foundation/credo-ts/blob/eb2c51384c077038e6cd38c1ab737d0d47c1b81e/packages/core/src/modules/connections/services/ConnectionService.ts#L883-L884

Resolved by bcgov/openshift-aries-mediator-service/#39

Resolved by bcgov/openshift-aries-mediator-service#39


Change DomainAvailable::available to be a bool

From RFC 5731:
This element MUST contain an "avail" attribute whose value indicates
object availability (can it be provisioned or not) at the moment the
<check> command was completed.  A value of "1" or "true" means that
the object can be provisioned.  A value of "0" or "false" means that
the object can not be provisioned.

(Fixed up the clippy failure.)


Sending CMSampleBuffer causes error in Broadcast Extension.

I have been working on sending CMSampleBuffer data out of a broadcast extension and this has been causing me trouble, sending strings though peertalk in the extension is working, but when I send CMSampleBuffers is causes an error. Here is my code:
ptManager.sendObject(object: sampleBuffer, type 102)
That does not work but when I do this:
ptManager.sendObject(object: "test", type 102)
it does work, what is going on here?

Did you figured it out?? I am also having same error.
MY extension crashed as is says memory 50mb exceed error.

Hi, I remember solving this but i am unsure how exactly I managed to do it. I will check over my code and see if I can find the solution.

That would be great thanks

In case you did not see my edit I no longer can access the original project, so unfortunately I cannot give you the solution I had found. I am sorry about that but there is nothing I can do.

Do you remember any special case where you handled it?
Like compressed Data byte then send

My upload extension crashes cause of 50 mb memory limit by iOS. I think peertalk retaining data inside that is why memory exceeding

Do you remember any special case where you handled it?
Like compressed Data byte then send

I remember that i was sending screen data over the connection but I don't remember what I did to fix it, I think I added video compression to fix it but that's as much as I can remember, it has been around 2 years since then.


openmolcas: init at 20180529

Motivation for this change
Openmolcas is an advanced electronic structure program packages.
Things done

globalarrays package (required by openmolcas)
openmolcas package

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

Success on x86_64-linux (full log)
Attempted: openmolcas
Partial log (click to expand)
strip is /nix/store/1hi76hr87bd1y1q1qjk0lv8nmcjip1c8-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/l9h7a9sdbdz4d0lynsik2k9cxn820psv-openmolcas-20180529/lib  /nix/store/l9h7a9sdbdz4d0lynsik2k9cxn820psv-openmolcas-20180529/bin  /nix/store/l9h7a9sdbdz4d0lynsik2k9cxn820psv-openmolcas-20180529/sbin
patching script interpreter paths in /nix/store/l9h7a9sdbdz4d0lynsik2k9cxn820psv-openmolcas-20180529
/nix/store/l9h7a9sdbdz4d0lynsik2k9cxn820psv-openmolcas-20180529/sbin/help_basis: interpreter directive changed from "/usr/bin/env python3" to "/nix/store/p6m6075ydqyai95lm9z3wq5q97z0ji4j-python3-3.6.6-env/bin/python3"
/nix/store/l9h7a9sdbdz4d0lynsik2k9cxn820psv-openmolcas-20180529/sbin/help_doc: interpreter directive changed from "/usr/bin/env python3" to "/nix/store/p6m6075ydqyai95lm9z3wq5q97z0ji4j-python3-3.6.6-env/bin/python3"
checking for references to /build in /nix/store/l9h7a9sdbdz4d0lynsik2k9cxn820psv-openmolcas-20180529...
moving /nix/store/l9h7a9sdbdz4d0lynsik2k9cxn820psv-openmolcas-20180529/sbin/* to /nix/store/l9h7a9sdbdz4d0lynsik2k9cxn820psv-openmolcas-20180529/bin
patching script interpreter paths in /nix/store/l9h7a9sdbdz4d0lynsik2k9cxn820psv-openmolcas-20180529/bin
/nix/store/l9h7a9sdbdz4d0lynsik2k9cxn820psv-openmolcas-20180529/bin/pymolcas: interpreter directive changed from "/usr/bin/env python" to "/nix/store/p6m6075ydqyai95lm9z3wq5q97z0ji4j-python3-3.6.6-env/bin/python"
/nix/store/l9h7a9sdbdz4d0lynsik2k9cxn820psv-openmolcas-20180529


When regenerating response the item is entered into the database still

Consider adding hook to delete the entry into the database for Textgen context commands.

For this to work correctly, it would need to remove entries from the database when selecting Remove Last Reply as well as Regenerate within text-generation-webui.

Thank you for your work on this.


Feature Request: Apply to span tags

Not sure if this is possible or not and I tried to do it once with Redactor and it didn't end well, but I'm curious to see if this would work with span tags so you could style inline elements?

I've just released a new addon that is a replacement for this one and supports span tags (as well as headings): https://github.com/jacksleight/statamic-bard-texstyle
Migration is as simple as possible, there's a guide in the docs.


Conhost "find and color" feature doesn't work with DBCS text

Environment
Windows build number: Version 10.0.18363.1198
Windows Terminal version (if applicable):

Steps to reproduce

Open a cmd shell in conhost.
Output some text from a double byte character set (e.g. こんにちは).
Output the same text with the characters repeated (e.g. ここんんににちちはは).
Select an instance of the text from step 2.
Press Ctrl+Shift+4 to search for matching text and color it in green.

Expected behavior
All the instances of text from step 2 should be colored in green.

Actual behavior
The search mistakenly matches the instances of text from step 3 (where the characters are repeated).

The problem is caused by the code that extracts the search text from the screen buffer here:
https://github.com/microsoft/terminal/blob/d09fdd61cbb11b7ef2ccdd4820349ffe898ad583/src/host/selectionInput.cpp#L695-L701
It's copying one screen cell at a time from the selected range, but that means each character is copied twice with DBCS text, since there are two cells per character.

Btw, if you're wondering why I care about these weird cases of undocumented functionality, it's because I'm trying to finish off a PR for #7865, and that touches on all of these areas. And I can't tell if my changes are working when the existing code is already broken. So I thought it best to get these fixes in place first, rather than bundling them into my PR which is complicated enough as it is.


Istio operator fails to reconcile ingress gateway service when gateway spec doesn't contain override for ports

Bug description
After upgrading Istio operator to 1.8.1 from 1.7.5 it fails to reconcile existing custom ingress gateway service.
Operator logs:
2020-12-14T16:23:31.486226Z    info    installer    Updating Service/istio-system/istio-ingressgateway-private (istio-controlplane/)
 2020-12-14T16:23:31.486518Z    error    klog    Observed a panic: &runtime.TypeAssertionError{_interface:(*runtime._type)(0x28a9640), concret
 goroutine 1013 [running]:
 k8s.io/apimachinery/pkg/util/runtime.logPanic(0x295da80, 0xc0022d76b0)
     k8s.io/apimachinery@v0.19.3/pkg/util/runtime/runtime.go:74 +0xa6
 k8s.io/apimachinery/pkg/util/runtime.HandleCrash(0x0, 0x0, 0x0)
     k8s.io/apimachinery@v0.19.3/pkg/util/runtime/runtime.go:48 +0x89
 panic(0x295da80, 0xc0022d76b0)
     runtime/panic.go:969 +0x1b9
 istio.io/istio/operator/pkg/helmreconciler.saveNodePorts(0xc00000f520, 0xc00000f560, 0x0, 0x0)
     istio.io/istio/operator/pkg/helmreconciler/common.go:164 +0x396
 istio.io/istio/operator/pkg/helmreconciler.applyOverlay(0xc00000f520, 0xc003178028, 0x4, 0x4)
     istio.io/istio/operator/pkg/helmreconciler/common.go:130 +0x386
 istio.io/istio/operator/pkg/helmreconciler.(*HelmReconciler).ApplyObject.func1(0x0, 0x507b17)
     istio.io/istio/operator/pkg/helmreconciler/apply.go:210 +0x270
 k8s.io/client-go/util/retry.OnError.func1(0xcf1089, 0xc00317ced0, 0xc00327f6b8)
     k8s.io/client-go@v0.19.3/util/retry/util.go:51 +0x3c
 k8s.io/apimachinery/pkg/util/wait.runConditionWithCrashProtection(0xc00327f6d8, 0xcf6900, 0x0, 0x0)
     k8s.io/apimachinery@v0.19.3/pkg/util/wait/wait.go:211 +0x69
 k8s.io/apimachinery/pkg/util/wait.ExponentialBackoff(0x989680, 0x4000000000000000, 0x0, 0x3, 0x0, 0xc00327f6d8, 0xc00317a548, 0x0)
     k8s.io/apimachinery@v0.19.3/pkg/util/wait/wait.go:399 +0x55
 k8s.io/client-go/util/retry.OnError(0x989680, 0x4000000000000000, 0x0, 0x3, 0x0, 0x2f7f478, 0xc00327f920, 0x0, 0xcf0ea6)
     k8s.io/client-go@v0.19.3/util/retry/util.go:50 +0xa6
 k8s.io/client-go/util/retry.RetryOnConflict(...)
     k8s.io/client-go@v0.19.3/util/retry/util.go:104
 istio.io/istio/operator/pkg/helmreconciler.(*HelmReconciler).ApplyObject(0xc00180e190, 0xc003178028, 0xc003178000, 0x2e70eb0, 0xf)
     istio.io/istio/operator/pkg/helmreconciler/apply.go:191 +0x7a5
 istio.io/istio/operator/pkg/helmreconciler.(*HelmReconciler).ApplyManifest(0xc00180e190, 0x2e70eb0, 0xf, 0xc00305a000, 0x7b81, 0x0, 0x0, 0x0,
     istio.io/istio/operator/pkg/helmreconciler/apply.go:105 +0xc2f
 istio.io/istio/operator/pkg/helmreconciler.(*HelmReconciler).processRecursive.func1(0xc002bb5450, 0xc00180e190, 0x2e70eb0, 0xf, 0xc002bb5440,
     istio.io/istio/operator/pkg/helmreconciler/reconciler.go:192 +0x413
 created by istio.io/istio/operator/pkg/helmreconciler.(*HelmReconciler).processRecursive
     istio.io/istio/operator/pkg/helmreconciler/reconciler.go:169 +0x19f[]
 - Processing resources for Ingress gateways.panic: interface conversion: interface {} is nil, not []interface {} [recovered]
     panic: interface conversion: interface {} is nil, not []interface {}

Gateway spec from operator config:
- enabled: true
  k8s:
    service:
      loadBalancerSourceRanges:
      - x.x.x.x/32
    serviceAnnotations:
      service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp
      service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: "60"
      service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"
      service.beta.kubernetes.io/aws-load-balancer-type: nlb
  label:
    istio: private
  name: istio-ingressgateway-private

Looking at the code from stacktrace I see that it tries to copy ports from overlay, but it contains no override for ports. I have only override for loadBalancerSourceRanges through k8s.service.loadBalancerSourceRanges.
https://github.com/istio/istio/blob/f1aa586d3a2d0abd922d50077465ed96c53ff108/operator/pkg/helmreconciler/common.go#L129
https://github.com/istio/istio/blob/f1aa586d3a2d0abd922d50077465ed96c53ff108/operator/pkg/helmreconciler/common.go#L163
Could be a duplicate of https://github.com/istio/istio/issues/26507.
I can workaround this by specifying ports when loadBalancerSourceRanges is also present, but that is not expected.
Expected behavior
If there is no override for ports in overlay then don't try to save or require ports.
Version
1.8.1
How was Istio installed?
Istio operator helm chart (without istioctl).
Environment where the bug was observed (cloud vendor, OS, etc)
AWS EKS 1.18

I'm curious whether it is working before you upgrade istio operator from 1.8.1 to 1.7.5.
I'm asking because you're customize the ingressgateway name to istio-ingressgateway-private, so the ports part is required. If you change the ingressgateway name to default one: ``istio-ingressgateway`, it should be working.

drive by comment: I am not familiar with the code, but as I user I would expect the config yaml in the issue to work. Port should not be required

AFAIK, that's one of the differences between the build-in gateway and customized gateway.
We don't specify the ports in values.yaml or profile for customized gateway, that's why we need to manually specify the ports.

@morvencao It was working before. I downgraded back to 1.7.5 and it says that spec.ports is required as you mentioned. Not sure how we avoided that on 1.7.5🤔 I worked around it by specifying default ports explicitly and it even works on 1.8.1.
We run multiple ingress gateways in multi-tenant cluster. I expect every gateway service to use default ports if not mentioned otherwise. It seems like it is indeed a current behavior as far as you don't specify anything under k8s.service in gateway config like source ranges as it doesn't trigger service overlay 😄 Maybe we can make overlay fallback to default ports if these are nil.

This seems like a bug possibly introduced in recent versions of istio. I applied the config to Istio Operator with version 1.7.3 and it worked fine without having to specify the ports explicitly as is the case in recent version.

Istio-1.7.x also doesn't support this:
~/istio-1.7.3/bin/istioctl install -f iop-173.yaml
Detected that your cluster does not support third party JWT authentication. Falling back to less secure first party JWT. See https://istio.io/docs/ops/best-practices/security/#configure-third-party-service-account-tokens for details.
✔ Istio core installed
✔ Istiod installed
- Processing resources for Ingress gateways.                                                                                2020-12-23T04:17:34.522243Z	error	installer	failed to create "Service/istio-system/istio-ingressgateway-private": Service "istio-ingressgateway-private" is invalid: spec.ports: Required value
✘ Ingress gateways encountered an error: failed to create "Service/istio-system/istio-ingressgateway-private": Service "istio-ingressgateway-private" is invalid: spec.ports: Required value
- Pruning removed resources

you need to either set ports with service.ports k8s setting or with legacy helm values:

service.ports k8s settings:

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  components:
    ingressGateways:
    - namespace: istio-system
      name: istio-ingressgateway-private
      enabled: true
      label:
        istio: private
      k8s:
        ports:
        - port: 15021
          targetPort: 15021
          name: status-port
          protocol: TCP
        - port: 80
          targetPort: 8080
          name: http2
          protocol: TCP
        - port: 443
          targetPort: 8443
          name: https
          protocol: TCP
        - port: 15012
          targetPort: 15012
          name: tcp-istiod
          protocol: TCP
        - port: 15443
          targetPort: 15443
          name: tls
          protocol: TCP

helm values:

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  values:
      istio-ingressgateway:
        name: istio-ingressgateway-private:
        ports:
        - port: 15021
          targetPort: 15021
          name: status-port
          protocol: TCP
        - port: 80
          targetPort: 8080
          name: http2
          protocol: TCP
        - port: 443
          targetPort: 8443
          name: https
          protocol: TCP
        - port: 15012
          targetPort: 15012
          name: tcp-istiod
          protocol: TCP
        - port: 15443
          targetPort: 15443
          name: tls
          protocol: TCP

Found the root cause, the ports was override when applying k8s overlay, fixed this in https://github.com/istio/istio/pull/29787


Fail when trying to publish existing version

Similar to #10
I am using this package to publish other things to the NPM, at the moment if you try to publish without a version bump the package runs, and in the log it says something like
[publish] skipping "npm version" because "0.1.4" matches package.json
[publish] 0.1.4 is already published

It would be great if when this happened the action failed, so you know it didn't publish, and you forgot a version bump or something.

No. This is intentional behavior.
From README, emphasis mine.

If the version in package.json is already published, we exit with a 0 code. Previously, we exited with a 78 code, which was Actions v1-speak for "neutral", but this has been removed from Actions v2.

I personally want this behavior. I don't want it to look like my builds are failing even though they worked fine and I haven't decided it's time for a version bump.
To be fair, I see merit in adding this as an optional feature.