Error with .AddExtension(...). method

Hello,
I generate CA root selfsign certificate file and  CSR + private key file for web server name server1.test.internal .
I try to generate signed certificate file by reading data from CSR file and sign that file using CA root certificate public key.
I use this part of code to read data from CSR and add extensions to new generated certificate for web server.
Pkcs10CertificationRequest csr = ..
Org.BouncyCastle.X509.X509Certificate rootCert = ..
Asn1Set attributes = csr.GetCertificationRequestInfo().Attributes;
if (attributes != null)
{
for (int i = 0; i != attributes.Count; i++)
{
AttributePkcs attr = AttributePkcs.GetInstance(attributes[i]);
if (attr.AttrType.Equals(PkcsObjectIdentifiers.Pkcs9AtExtensionRequest))
{
X509Extensions extensions1 = X509Extensions.GetInstance(attr.AttrValues[0]);
foreach (DerObjectIdentifier oid in extensions1.ExtensionOids)
{
Org.BouncyCastle.Asn1.X509.X509Extension ext = extensions1.GetExtension(oid);
certGen.AddExtension(oid, ext.IsCritical, ext.Value.GetOctets());
}
}
}
}
Org.BouncyCastle.X509.X509Certificate issuedCert = certGen.Generate(issuerKeyPair.Private);
I getting error that sed that cannot add first extension added by certGen.AddExtension(...) when generating cetificate
throw new CertificateParsingException("cannot construct BasicConstraints: " + e);
Then I try to explicitly add some extensions manually  and another extensions by reading data from CSR (code below)
certGen.AddExtension(X509Extensions.AuthorityKeyIdentifier, false,
new AuthorityKeyIdentifierStructure(rootCert));
certGen.AddExtension(X509Extensions.SubjectKeyIdentifier, false,
new SubjectKeyIdentifierStructure(csr.GetPublicKey()));
Asn1Set attributes = csr.GetCertificationRequestInfo().Attributes;
if (attributes != null)
{
for (int i = 0; i != attributes.Count; i++)
{
AttributePkcs attr = AttributePkcs.GetInstance(attributes[i]);
if (attr.AttrType.Equals(PkcsObjectIdentifiers.Pkcs9AtExtensionRequest))
{
X509Extensions extensions1 = X509Extensions.GetInstance(attr.AttrValues[0]);
foreach (DerObjectIdentifier oid in extensions1.ExtensionOids)
{
Org.BouncyCastle.Asn1.X509.X509Extension ext = extensions1.GetExtension(oid);
if (oid.Equals(X509Extensions.KeyUsage) ||
oid.Equals(X509Extensions.ExtendedKeyUsage) ||
oid.Equals(X509Extensions.SubjectAlternativeName))
{
certGen.AddExtension(oid, ext.IsCritical, ext.Value.GetOctets());
}
}
}
}
}
This time I got error:
throw new CertificateParsingException("cannot construct KeyUsage: " + e);
This is the first extension added by following line of code:
certGen.AddExtension(oid, ext.IsCritical, ext.Value.GetOctets());
Does anyone have any idea how to use a piece of code below in the right way?
certGen.AddExtension(oid, ext.IsCritical, ext.Value.GetOctets());
For example when you set wish to set X509Extensions.AuthorityKeyIdentifier and use command below
certGen.AddExtension(X509Extensions.AuthorityKeyIdentifier, false,
new AuthorityKeyIdentifierStructure(rootCert));
this is working OK. But if you wish to set X509Extensions.AuthorityKeyIdentifier using code
certGen.AddExtension(oid, ext.IsCritical, ext.Value.GetOctets());
this isn't work. Obviously eror exist inside method .AddExtension(...).

I just publish my WPF application on GitHub that using Bouncy Castle library
https://github.com/vladano/GenCert
To fix the bug mention upper, I imported whole Bouncy Castle source code inside my VS project.
Inside my source code, file GenerateSignRequest.cs on line 654 you will find:
// !!! NOT working !!!
//certGen.AddExtension(oid, ext.IsCritical, ext.Value);
      //OK
      certGen.AddExtension(oid, ext.IsCritical, ext.Value, true);

To fix this bug I has added inside original file X509V3CertificateGenerator.cs following methods
/// <summary>
    /// Add an extension to this certificate.
    /// </summary>
    /// <param name="oid">Its Object Identifier.</param>
    /// <param name="critical">Is it critical.</param>
    /// <param name="extensionValue">The value.</param>
    public void AddExtension(
       DerObjectIdentifier	oid,
	bool				critical,
	Asn1Encodable		extensionValue,
            bool isCopy = false)
            {
		extGenerator.AddExtension(oid, critical, extensionValue, isCopy);
            }

	/// <summary>
	/// Add an extension with the given oid and the passed in value to be included
	/// in the OCTET STRING associated with the extension.
	/// </summary>
	/// <param name="oid">OID for the extension.</param>
	/// <param name="critical">True if critical, false otherwise.</param>
	/// <param name="extValue">The ASN.1 object to be included in the extension.</param>
	public void AddExtension(
	    DerObjectIdentifier	oid,
	    bool				critical,
           Asn1Encodable		extValue,
               bool isCopy=false)
	   {
		byte[] encoded;
                    byte[] encodedTmp;
                    try
		{
                        encoded = extValue.GetDerEncoded();
                        if (isCopy)
                        {
                               encodedTmp = new byte[encoded.Length - 2];
                               Array.Copy(encoded, 2, encodedTmp, 0, encoded.Length - 2);
                              encoded = encodedTmp;
                        }
              }
              catch (Exception e)
	  {
		throw new ArgumentException("error encoding value: " + e);
          }
	   this.AddExtension(oid, critical, encoded);
       }

This is ugly and not optimized solution but it works.
When someone fix bouncy castle code I will be glade to reference that bouncy castle (BC) library from my visual studio project and not to use BC source code inside my project.
But using BC code on this way is a very convenient solution to figure out how BC works :)


Implement FromCIDR ingress tests

Requires https://github.com/cilium/cilium-cli/pull/1498 and I pulled out https://github.com/cilium/cilium-cli/pull/1501 to a separate PR because it broke CI on cilium/cilium.
Review commit by commit.

connectivity/check: Deploy host-netns daemonset by default
internal/cli/cmd: Clarify --nodes-without-cilium
.github/workflows: Label nodes for --nodes-without-cilium
.github/workflows: Install static routes for nodes without Cilium
connectivity/check: Validate --external-from-cidrs
Rename current CIDR tests to to-cidr.go
connectivity: Refactor scenarios passed to tests
connectivity: Implement FromCIDR tests
.github: Prepare workflows for tests with a 3rd node

Providing commit msg of the most important commit for convenience:

connectivity: Implement FromCIDR tests
These should cover the tests from the Cilium (github.com/cilium/cilium)
Ginkgo suite for FromCIDRs, see 1.

Kind hit https://github.com/cilium/cilium-cli/issues/1204
External workloads hit https://github.com/cilium/cilium-cli/issues/1503

Pushed to fix up an error msg and code comments, so the push had no functional impact. The CI was already green given MLH marked it as ready to merge.


No non animated custom dialog possible

What steps will reproduce this issue?
I use following dialog settings:
dialogSettings = new MetroDialogSettings
            {
                AffirmativeButtonText = "OK",
                NegativeButtonText = "Nein",
                FirstAuxiliaryButtonText = "Abbrechen",
                AnimateHide = false,
                AnimateShow = false
            };

I let shown up an custom dialog like this:
            var dialog = new PrinterDialogView();

            var printerDialogViewModel = new PrinterDialogViewModel(instance =>
            {
                this.dialogCoordinator.HideMetroDialogAsync(context, dialog);
            });

            dialog.Content = new PrinterDialogView() { DataContext = printerDialogViewModel };

            return await this.Dispatcher.Invoke(async () =>
            {
                await this.dialogCoordinator.ShowMetroDialogAsync(context, dialog, dialogSettings);

                await dialog.WaitUntilUnloadedAsync();

                return printerDialogViewModel.PrinterDialogResult;
            });

Expected outcome
As you can see I want to shown up a non animated custom dialog. The settings working great with standard dialogs, but not with my custom dialog. It's always animated. In my customdialog I use no extra style. It just inherites from CustomDialog.
--
Environment

MahApps.Metro v1.2.4
Windows 10
Visual Studio 2015
.NET Framework 4.6.1

@panhans This should be already fixed. So please try the pre-release version from NuGet. Thx

@punker76 I tried out the pre release. The shown animation is deactivated but the unload animation is still persistent in my case. :\

@panhans You must put your custom dialog settings to the hide method too...
var printerDialogViewModel = new PrinterDialogViewModel(instance =>
            {
                this.dialogCoordinator.HideMetroDialogAsync(context, dialog, dialogSettings);
            });


GH-84, GH-69 Improve Partitioner deprecation note

Fixes GH-84 (https://github.com/spring-projects/spring-integration-kafka/issues/84)
Fixes GH-69 (https://github.com/spring-projects/spring-integration-kafka/issues/69)

The deprecation for the partitioner option hasn't mentioned the partition-id (partition-id-expression) option.
Add built-in conversion for the String <-> byte[] to avoid serialization for Strings
Expose charset option to configure String <-> byte[] conversion.
Fix deprecation message for the KafkaConsumerContextParser

Pushed

Requires test updates (breaking now, as they rely on String serialization) - will fix on merge.

Merged w/minor changes https://github.com/spring-projects/spring-integration-kafka/commit/71fec6ec2b95e4a226936460e0bc620bf82b12c4


Initial update() fails with sqlite3.OperationalError: no such table: status

In attempting to do first runs of secfsdstools, it yields the error:
sqlite3.OperationalError: no such table: status
The error points to an issue where a sqlite3 table does not exist.  A search of the code did not reveal any sqlite setup instructions.
Is there a script you could share to perform the initial sqlite database setup?
Here are the steps to reproduce the error. Using a fresh install with no database setup

from secfsdstools.update import update
update()
and the error:
2023-08-29 22:39:08,469 [INFO] configmgt  reading configuration from /root/.secfsdstools.cfg
Traceback (most recent call last):
File "", line 1, in
File "/opt/conda/envs/secanalyzing/lib/python3.10/site-packages/secfsdstools/update.py", line 27, in update
config = ConfigurationManager.read_config_file()
File "/opt/conda/envs/secanalyzing/lib/python3.10/site-packages/secfsdstools/a_config/configmgt.py", line 94, in read_config_file
return ConfigurationManager._read_configuration_and_check_for_udpates(home_cfg_file_path)
File "/opt/conda/envs/secanalyzing/lib/python3.10/site-packages/secfsdstools/a_config/configmgt.py", line 144, in _read_configuration_and_check_for_udpates
ConfigurationManager._check_for_update(config)
File "/opt/conda/envs/secanalyzing/lib/python3.10/site-packages/secfsdstools/a_config/configmgt.py", line 152, in _check_for_update
updater.update()
File "/opt/conda/envs/secanalyzing/lib/python3.10/site-packages/secfsdstools/c_update/updateprocess.py", line 146, in update
if not self._check_for_update():
File "/opt/conda/envs/secanalyzing/lib/python3.10/site-packages/secfsdstools/c_update/updateprocess.py", line 70, in _check_for_update
last_check = self.db_state_accesor.get_key(Updater.LAST_UPDATE_CHECK_KEY)
File "/opt/conda/envs/secanalyzing/lib/python3.10/site-packages/secfsdstools/a_utils/dbutils.py", line 225, in get_key
result = self.execute_fetchall(sql)
File "/opt/conda/envs/secanalyzing/lib/python3.10/site-packages/secfsdstools/a_utils/dbutils.py", line 87, in execute_fetchall
return conn.execute(sql).fetchall()
sqlite3.OperationalError: no such table: status

Hi Tony
Sorry for that, that should happen automatically. I assume you are on
version 0.5.1?
There is a class DbCreator() (
https://github.com/HansjoergW/sec-fincancial-statement-data-set/blob/v0.5.1/secfsdstools/b_setup/setupdb.py)
which takes care of that.

from secfsdstools.b_setup.setupdb import DbCreator
DbCreator(db_dir="").create_db()
 is the path that is configured inside the config file under
"dbdirectory".
Please let me know if this solves he problem.
Cheers
Hansjörg
Am Mi., 30. Aug. 2023 um 01:21 Uhr schrieb Tony Shouse <
@.***>:

In attempting to do first runs of secfsdstools, it yields the error:
sqlite3.OperationalError: no such table: status
The error points to an issue where a sqlite3 table does not exist. A
search of the code did not reveal any sqlite setup instructions.
Is there a script you could share to perform the initial sqlite database
setup?
Here are the steps to reproduce the error. Using a fresh install with no
database setup
from secfsdstools.update import update
update()
and the error:
2023-08-29 22:39:08,469 [INFO] configmgt reading configuration from
/root/.secfsdstools.cfg
Traceback (most recent call last):
File "", line 1, in
File
"/opt/conda/envs/secanalyzing/lib/python3.10/site-packages/secfsdstools/update.py",
line 27, in update
config = ConfigurationManager.read_config_file()
File
"/opt/conda/envs/secanalyzing/lib/python3.10/site-packages/secfsdstools/a_config/configmgt.py",
line 94, in read_config_file
return
ConfigurationManager._read_configuration_and_check_for_udpates(home_cfg_file_path)
File
"/opt/conda/envs/secanalyzing/lib/python3.10/site-packages/secfsdstools/a_config/configmgt.py",
line 144, in _read_configuration_and_check_for_udpates
ConfigurationManager._check_for_update(config)
File
"/opt/conda/envs/secanalyzing/lib/python3.10/site-packages/secfsdstools/a_config/configmgt.py",
line 152, in _check_for_update
updater.update()
File
"/opt/conda/envs/secanalyzing/lib/python3.10/site-packages/secfsdstools/c_update/updateprocess.py",
line 146, in update
if not self._check_for_update():
File
"/opt/conda/envs/secanalyzing/lib/python3.10/site-packages/secfsdstools/c_update/updateprocess.py",
line 70, in _check_for_update
last_check = self.db_state_accesor.get_key(Updater.LAST_UPDATE_CHECK_KEY)
File
"/opt/conda/envs/secanalyzing/lib/python3.10/site-packages/secfsdstools/a_utils/dbutils.py",
line 225, in get_key
result = self.execute_fetchall(sql)
File
"/opt/conda/envs/secanalyzing/lib/python3.10/site-packages/secfsdstools/a_utils/dbutils.py",
line 87, in execute_fetchall
return conn.execute(sql).fetchall()
sqlite3.OperationalError: no such table: status
—
Reply to this email directly, view it on GitHub
https://github.com/HansjoergW/sec-fincancial-statement-data-set/issues/2,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AD4AEL6KURLVAVFW2AMFHHLXXZ2ONANCNFSM6AAAAAA4DU7N7U
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Thank you. Update() is now running for the initial setup.


Dynamically Timeline Update

Hi there,
I used this in my project and need to update the timeline by event listener(onclick). can you add this or i'm missing something to read(props)

set allowDynamicUpdate prop to true and pass a new set of timelines data and the timeline should update.

can i change the timleine active  button through allowDynamicUpdate props

i am not sure i understood your question. can you elaborate

I want to say that
I need to create a custom button so that i can navigate the timeline item same as when we click the control buttons

this is not possible at the moment without the inbuilt control, but i am going to add this in the next minor release

set allowDynamicUpdate prop to true and pass a new set of timelines data and the timeline should update.

Thanks brother saved my life


New checks to test NetworkACLs open to 22, 3389 and any port

Include new controls from to check AWS Network ACLs. (more controls related to NACLs in the kitchen)
From CIS AWS v1.3, control 5.1:

[check45] Ensure no Network ACLs allow ingress from <IP_ADDRESS>/0 to SSH port 22
[check46] Ensure no Network ACLs allow ingress from <IP_ADDRESS>/0 to Microsoft RDP port 3389

Extra checks:

[extra7138] Ensure no Network ACLs allow ingress from <IP_ADDRESS>/0 to any port

If there are Network ACLs with this rules, control is marked to "Info" because ACLs are stateless which means that the following ACL blocks traffic from <IP_ADDRESS>/0 to 3389 port even if this rule is set  200 | RDP (3389) | TCP (6) | 3389 | <IP_ADDRESS>/0 | Allow

Rule number
Type
Protocol
Port range
Source
Allow/Deny

100
RDP (3389)
TCP (6)
3389
<IP_ADDRESS>/0
Deny

200
RDP (3389)
TCP (6)
3389
<IP_ADDRESS>/0
Allow

*
All traffic
All
All
<IP_ADDRESS>/0
Deny

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Ready to merge @toniblyx


lazysizes + matchHeight

Hello!
I know that someone posted a question about lazysizes+masonry (https://github.com/aFarkas/lazysizes/issues/83) but I'm using matchHeight (https://github.com/liabru/jquery-match-height) on my project.
How do i fire up $.fn.matchHeight._update() after the image has been lazyloaded?

Hello!
I used the code snippet you gave and removed function for masonry.
$('.grid').each(function(){
	var $masonry = $(this);
	var update = function(){
		$.fn.matchHeight._update();
	};
	$('.grid-item', $masonry).matchHeight();
	this.addEventListener('load', update, true);
});

It is now working! Thanks!


Increment version numbers using bash script

fixes: https://github.com/github/vscode-github-actions/issues/130
This abstracts the major minor patch logic into a simple bash script, and then uses that in the release.yml job.
This will have merge conflicts with the languageserver package-lock pr  but fortunately they should be easy to resolve, as the previous pr modifies the logic around the job and this modifies the job itself.
As in all these automation prs the only way for us to test is to merge, which is annoying.
Script test:

This works: https://github.com/github/vscode-github-actions/pull/157
And https://github.com/github/vscode-github-actions/actions/runs/4832862346


Add bivariate table block with vectorized inputs and vectorized output

The common declarations, equations and graphics between CombiTable2D and CombiTable2DVectorized moved to a new base class CombiTable2DBase.

Seems good.

Thank you for your approval.

A major concern is that there is only one table for the vectorized case and they will thus share "last" pointer.

You are right. This is another case where internal states of external objects (here: a cached index of last interval) is (kind of) problematic. We could introduce GetLastIndex/SetLastIndex functions but I doubt the performance will suffer al lot, given the benchmark analysis I sent to you by private mail on May 24, 2017.

TODO for me: Test models for ModelicaTest


Fixed iptables rule duplication, and cluster expansion issues

Every time monit restart was used on the riak-cs job,
the restrict_riak_requests_to_clister_ip_range.sh script
would duplicate a few rules, partly due to some of the ports
having service names in /etc/services (on some platforms), and
partly due to a bad rule addition. monit restart should no longer
cause duplicate rules to show up in iptables.
Additionally, the rules should now be updated in a fashion that
allows additional nodes to be added to the cluster/firewall rules,
and talk to the original nodes. Previously, new rules were appended
after any initial DROPs, which could lead to problems.

Any chance of this being included in a future release of cf-riak-cs?

@benlaplanche neither @geofffranks nor I can view https://www.pivotaltracker.com/story/show/111087420 - can you please make the tracker project public?

cc @benlaplanche

Hi @geofffranks,
I'm sorry I haven't gotten back to you sooner about this. We'd be glad to accept your PR, but we feel it's important to let you know that more or less, we have stopped putting effort into adding features to this product, nor are we planning on doing new releases.
If seeing this in a coming release is important to you, then we don't want to disappoint you. Otherwise let us know and we'll go ahead and merge it into Master.
--
Marco Nicosia
Product Manager
Pivotal Software, Inc.


Proper attribution?

I'm not suuuper concerned about this, but the current credit, which simply points to the contributions graph, puts me as one of the smallest contributors to the project, which makes me a little uncomfortable, as I have contributed most of the current codebase.
I'm not actually entirely sure how the contribution graph got to the place that it is.
Perhaps the document should also link to the graph for my fork, which is where a lot of the current code comes from?

Yeah I meant to do a better contributor section... Sorry about that. Gonna make a PR.


dora grid ... -t 0 crashes if the job hasn't logged anything yet

🐛 Bug Report
When I run dora grid with the -t parameter to monitor the logs, the command stops if the job has not logged anything (e.g. it's still pending).
It might be worth to continue monitoring even when the log does not exists yet.
$ dora grid my_grid -t 0
WARNING: Log .../dora_outputs/xps/d3843038/latest/61700001_0_log.out does not exist

I agree this would be a good idea


declaring package in subfolder and the "should be listed in the project's dependencies" error

Hi,
I'm trying to configure eslint with the airbnb config for my react native project.
To have nicer import statements I've a package.json in my src folder in which i declare a new 'src' package so I can have import like:
import ExamForm from "src/containers/examFormContainer";
and not like:
import ExamForm from "../../../../containers/examFormContainer";
but can't find how configure eslint-plugin-import
to not throw the "scr should be listed in the project's dependencies".
How I can configure it?
this is the sub folder package.json file
{
    "name":"src",
    "version":"0.1.0"
}

Thanks,
Frank

No one can help?

+1
I would like to know how to deal with this situation as well?

I've added the dependencies to my package.json under "dependencies" as follows:
  "api": "./src/api",
  "core": "./src/core",
  "common": "./src/common"

This will effectivly create symlinks in your node_modules folder to the specified directories. And it will also resolve the warnings/errors you get.

Thanks.
But I've disabled the check.
Maybe after this project I will try it.
Frank


Add Open Graph meta tags

Tested with https://www.opengraph.xyz/url/
Also, I feel like there should be a HTML formatter, but I suppose it would get very confused with the Flask stuff
Pull request checklist:

[X] CHANGELOG.md was updated, if applicable
[X] I have tested all changes

The image on twitter seems to be the only thing that doesn't work for me

I'm unsure. I know Twitter does have their own meta tags using a similar specification (for example, in this very PR), but according to their docs it should fallback to Open Graph.


Plugin LocationPicker

#41

pick the location from Mapbox map and return coordinates with an address of it from reverse geocode.
TODO: add search service that can find the location by name.
@zugaldia @tobrun

Look who's back :) Thank you @bkhezry for yet another contribution!
I'm tagging @cammace for PR review because he wrote our original location picker, and also @langsmith in case it's worth adopting this plugin in the demo app and update the current example.

thank you for this contribution @bkhezry this could be a great addition to the places plugin which recently got merged, let's us investigate the best way forward, we'll post back when we know more.

@bkhezry, thank you so much for this contribution. I extracted some of the ideas brought up from your PR and merged a Place Picker activity into master (in https://github.com/mapbox/mapbox-plugins-android/pull/262). It will be ready for use in your app with the next places plugin release. Let me know if you have any questions.

@cammace thank you :-), I'll see it.


can't see proper hilight in vim's omni completion popup menu

[x] I am on the latest Hyper.app version
[x] I have searched the issues of this repo and believe that this is not a duplicate

OS version and name: Windows 10 (Build 162757.1)
Hyper.app version:  1.3.3 (from appveyor artifact)
The issue is reproducible in vanilla Hyper.app: Is Vanilla

Issue

Hey there, please try again with the new Hyper v2 release and open a new issue if the problem stills exists. Thank you!

env windows10 using wsl bash
issue stills exist in working with nvim


ignore np.MachAr deprecation warning [skip circle]

hopefully this fixes azure CI

This is also part of #9917 which I'll hopefully merge this morning, assuming I can get the Azure timeout under control...

Shall we close this one then?
-------- Original Message --------
On Nov 1, 2021, 08:02, Eric Larson wrote:

This is also part of #9917 which I'll hopefully merge this morning, assuming I can get the Azure timeout under control...
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

I added a closes line to my PR


Adding a changeThreadUserNickname

Thanks! @Schmavery and I will test this some time today.

Whoops! I got some problems with my work, I must deleted it so I pushed a old code. Now its good!

Ok seems to be working on my side. Thanks a ton!


compatible with Python 3.6

Currently Python 3.6 doesn't support time.time_ns() method. For compatible with Python 3.6, time.time_ns() should be supported by the way as follows:
if not hasattr(time, 'time_ns'):
    time.time_ns = lambda: int(time.time() * 1e9)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.ziyi.jxf seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Adding custom metadata in helloworld client example

In relation to #79. While it may be straightforward to some that gRPC metadata can directly be set as custom headers in the HTTP2 layer, it was not to me.
I think that adding it in the example may be useful to some until the metadata check box is ticked.

@hawkw all done, however I do not merge rights despite the approval.

@D4nte sorry about that, I just merged it. Thanks for the contribution!


Refactor Blobs Fees Adjustments

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

Current dependencies on/for this PR:

main

PR #149

PR #150   👈

This stack of pull requests is managed by Graphite.

Merge activity

Dec 28, 3:09 PM: @rphmeier started a stack merge that includes this pull request via Graphite.


Abstract mixins and generic this don't mix

Bug Report

🔎 Search Terms

abstract mixin generic 2416
🕗 Version & Regression Information

This starts in 4.2 (because abstract mixins we not a feature before this version)

This is the behavior in every version I tried, and I reviewed the FAQ for entries about abstract mixins

⏯ Playground Link

Playground link with relevant code
💻 Code

type Constructor = abstract new (...args: any[]) => {};
type AbstractInstanceType<T> = T extends { prototype: infer U }
  ? U
  : never;

function mixin<TBase extends Constructor>(Base: TBase) {
  abstract class MyClass extends Base {
    abstract member(): void;
    another(): string { return 'hi' }
    factory<T extends typeof MyClass>(this: T): AbstractInstanceType<T> {
      // please don't focus on use of 'any' here - it is not relevant to the issue
      return new (this as any)();
    }
  }
  return MyClass;
}

abstract class Broken extends mixin(class {}) {
  another() {return ''}
  factory<T extends typeof Broken>(this: T): AbstractInstanceType<T> {
    return new (this as any)();
  }
}
class Working extends mixin(class {}) {
  member() {}
  another() {return ''}
  factory<T extends typeof Working>(this: T): AbstractInstanceType<T> {
    return new (this as any)();
  }
}

🙁 Actual behavior
"Cannot assign an abstract constructor type to a non-abstract constructor type.(2416)" on the Broken.factory implementation line.
🙂 Expected behavior
Broken class should work with no type errors (just as Working does)

I'm noticing the ambient output seems to indicate the problem:
Actual behavior
declare const Broken_base: (abstract new (...args: any[]) => {
    member(): void;
    another(): string;
    factory<T extends any & {
        new (): {};
    }>(this: T): AbstractInstanceType<T>;
}) & {
    new (): {};
};

Expected
declare const Broken_base: (abstract new (...args: any[]) => {
    member(): void;
    another(): string;
    factory<T extends (abstract new (...args: any[]) => {
    member(): void;
    another(): string;
    factory<T extends any & TBase>(this: T): AbstractInstanceType<T>;
}) & {
        new (): {};
    }>(this: T): AbstractInstanceType<T>;
}) & {
    new (): {};
};

This doesn't seem like a bug. The correct type to write here is
  factory<T extends { new(): Broken }>(this: T): AbstractInstanceType<T> {
    return new (this as any)();
  }


notification sort

love the product and just have a recommendation... can a setting be added to sort the notifications per subscription the opposite way ?  right now... it's newest at the top forced.   I would like the newest at the bottom like everything else I use.  Thanks for the consideration!

Web or Android? I suppose both?

I was thinking android (I don't really use the web app in this case) but imagine it'd be useful for both :)


Feat update group

Supersedes and closes #34. I wanted to refactor several core functions from promises to async/await style in order to also consolidate some of the code. Since there were overlapping changes in both of my feature branches, I decided to merge the changes for #33 into those for this new PR.

Implements #33.

adds configuration contribution to extension
adds configuration class to extension to manage configuration access and update
updates the editor group tree data provider minimize() method to optionally prompt for a group name if enabled in configuration

Implements possible solution for #20

adds new command contribution to extension for "update minimized group" functionality with enablement based on the number of minimized groups being greater than 0
adds new title menu contribution pointing to new update command
adds context item and update logic to support new command enablement
updates minimize() function to be optionally called with new update: boolean parameter in signature which will prompt for the group to update

Please let me know if there are any questions/concerns.

@suhay Are you still maintaining this repository? Feel free to add me as a collaborator if you need some help maintaining it. I'd love to get these features merged and continue to review open issues and PRs as I find time. I use this extension daily and would personally benefit from these and other features/improvements.
Thanks!

@suhay reiterating the previous message - please let me know. thanks!

@suhay Still offering support here; I personally use this extension (as it appears several others do) and would love to support it.


Add LUAU_EXPORT_DLL option to CMakeLists

Adds a LUAU_EXPORT_DLL option to CMakeLists. Currently LUAU_EXTERN_C is the only way to use Luau with non-C++ languages, however certain languages don't support use with extern and provide an interoperability layer through dynamic libraries, an example of this can be CSharp with platform invoke.

I think it'd be a good idea to include the compile options in LUACODE_API so the struct would be available too, however there could be some incompatibility issues I am not aware of.

Could this pr get merged or rejected? I've been keeping a secondary version of Luau up-to-date with these changes to support a C# Luau binding

Thank you for interest in improving Luau, but this PR is not exactly what we are looking for right now.
Instead of defining LUA_API_C_EXPORT/LUACODE_API_C_EXPORT, CMake should only control LUA_API/LUACODE_API values and make compiler decisions there, luaconf.h/luacode.h shouldn't be modified.


Automated cherry pick of #1584: fix create server sku not found error

Cherry pick of #1584 on release/2.10.0.
#1584: fix create server sku not found error

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.10.0@a0e199d). Click here to learn what that means.
The diff coverage is 0%.

@@               Coverage Diff                @@
##             release/2.10.0   #1588   +/-   ##
================================================
  Coverage                  ?   7.72%
================================================
  Files                     ?     409
  Lines                     ?   62342
  Branches                  ?       0
================================================
  Hits                      ?    4818
  Misses                    ?   57116
  Partials                  ?     408

Flag
Coverage Δ

#aFlag
7.72% <0%> (?)

Impacted Files
Coverage Δ

pkg/compute/models/skustools.go
2.67% <0%> (ø)

pkg/compute/models/skus.go
1.48% <0%> (ø)

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 a0e199d...153be86. Read the comment docs.


Use cloud.google.com/go/monitoring/apiv3 for metrics APIs

Move to using cloud.google.com/go/monitoring for metrics APIs. This causes some breaking changes in CLI params and behavior as the new client uses grpc and does some awkward things with iterators. The behavioral differences are called out as comments.
Opening as draft for the moment as I need to do more longer term testing on scrape time + resource usage.
Resolves #75

Still working on this?


(V 1.1.0) Sometimes stuck while installing tweaks

Dear, 1st of all ThanQ for such release (Auto exploit selector)
Everything was fine and great BUT sometimes when installing tweaks, it freezes at the black screen (while downloading and configuring) and RESTART alone, I have to re-jailbreak again and remove the tweak and install it again.
Issues were on (OPENSSH & (Snap+) which is from "unlimapps repo")
IOS 11.0.3, I was using electra without any issues, will b back to it UNTIL there is a stable release (: ♥

This is the first time this error has been reported.
I was unable to reproduce this when installing openSSH, do you mind providing a screen recording of this issue? Furthermore, I was unable to find the package “Snap +” on the repo https://test.unlimapps.com

Well, there is always a 1st time...
Now I'm back to Electra, when I go home I'll sideload same version again (I can switch between them easily but more time)
Anyway, this is exactly what I faced: When trying to install OpenSSH, at the lever of CA Cert, the loader just freezed and I waited a lot then restarted automatic and re-jailbreak again it was there, just in case I removed it along with other files and installed it again with no issues...
Same happened to (Snap+) after that which was from https://beta.unlimapps.com from @eni9889 (he is closing test one u mentioned at the time) 1st time while installing freezed, restarted then its installed in Cydia, removed it & installed again with no issues...
My main issue to switch from Electra to urs is that uasharedtools is having issues with Electra, dunno abt urs thats why wanna try it, Cydia is much faster and waiting for the purchase to b approved and come! ♡

@Samgisaninja
Just jailbroken with version 1.02, 1st thing I did was updating cydia and this happened, here is a 2 minutes video showing that, last seconds it rebooted (sorry I was taking video 4m another phone & forgive me being coughing as I'm having flu) I was afraid that If i took screen record it'll b disappear...
I uploaded it to my drive, here is the link:
https://drive.google.com/file/d/1IpUp4rCImuZash6edYQfNYEcbjuxUPRE/view?usp=drivesdk

@d3ibis I don’t have permission to view that link
@babyburger does Cydia show any red errors when installing?

No reply in 18 days, cmon guys lol. Closing.


Self-monitor validation performance

If rippled is configured as a validator, it should monitor its own performance. Currently, we do log cases where build one ledger and later accept a different one as fully validated. But it would really be nice to have statistics on validation performance.
Specifically, we should track:

The fraction / indexes of ledgers we are not sending validations for
The fraction / indexes of ledgers we send validations for, but they don't match the ledger hash we later accept as fully valid
The fraction / indexes of ledgers we send validations for and which are subsequently accepted as fully valid (happy path)

We can, and should, track this for non validators too. Instead of being based on validations sent, it can be based on ledgers built as a result of consensus rounds.
Exported from RIPD-1287

Writing this info to a log file seems best, but we don't want to create another log. We should be able to estimate the file's rate of growth. Could offer sample scripts for how to view/aggregate the data.
May be something for @thejohnfreeman / @Bronek to look into.

I am starting to think that writing this to the existing perflog would be a decent solution:

the data gets persisted between restarts etc.
we get to use the existing perflog infrastructure
perflog would still have to be filtered e.g. by Grafana scripts to find the relevant info, but I guess it already is anyway

At the same time, we could also add some of this information to get_counts


can resolve method setRetries(int)

implementation  'com.github.pedroSG94.rtmp-rtsp-stream-client-java:rtplibrary:1.5.8‘
and
import com.pedro.encoder.input.video.CameraOpenException;
import com.pedro.rtplibrary.rtmp.RtmpCamera1;
but can resolve method 'setReTries(int)'.
can you tell me why can reolve this method? thank you!

This feature is no available in 1.5.8. I will update 1.5.9 soon


Add the bloom filter to equals() and hashCode() in IndexingConfig

add bloom filter for equals, hashCode function in indexing config
added a unit test for serialization/deserialization of bloomfilter
config

Codecov Report

Merging #3588 into master will increase coverage by 11.92%.
The diff coverage is 0%.

@@              Coverage Diff              @@
##             master    #3588       +/-   ##
=============================================
+ Coverage     58.91%   70.83%   +11.92%
  Complexity        4        4
=============================================
  Files          1157     1009      -148
  Lines         58631    46254    -12377
  Branches       8124     6209     -1915
=============================================
- Hits          34543    32766     -1777
+ Misses        21686    11327    -10359
+ Partials       2402     2161      -241

Impacted Files
Coverage Δ
Complexity Δ

...m/linkedin/pinot/common/config/IndexingConfig.java
54.28% <0%> (-1.06%)
0 <0> (ø)

...a/manager/realtime/RealtimeSegmentDataManager.java
50% <0%> (-50%)
0% <0%> (ø)

...in/pinot/core/query/pruner/ValidSegmentPruner.java
57.14% <0%> (-28.58%)
0% <0%> (ø)

...lix/EmptyBrokerOnlineOfflineStateModelFactory.java
86.66% <0%> (-13.34%)
0% <0%> (ø)

.../impl/dictionary/LongOffHeapMutableDictionary.java
81.81% <0%> (-5.46%)
0% <0%> (ø)

...elix/core/relocation/RealtimeSegmentRelocator.java
68.75% <0%> (-5.21%)
0% <0%> (ø)

...impl/dictionary/DoubleOnHeapMutableDictionary.java
71.11% <0%> (-4.45%)
0% <0%> (ø)

...troller/helix/core/retention/RetentionManager.java
73.07% <0%> (-3.85%)
0% <0%> (ø)

...e/operator/dociditerators/BitmapDocIdIterator.java
60.71% <0%> (-3.58%)
0% <0%> (ø)

...inot/transport/netty/NettyTCPClientConnection.java
82.31% <0%> (-1.37%)
0% <0%> (ø)

... and 164 more

Continue to review full report at Codecov.

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


Allow prevent_destroy meta-arg to be overridden per resource

Description of your changes

Fixes #158
For certain Terraform resources like Azure's PostgreSQL server configuration, we should not be including the lifecycle.prevent_destroy meta-arg for updates. This PR proposes a backwards-compatible change that allows us to override this behavior. The default behavior stays the same, unless explicitly configured for a resource, we always include (apart from deletions) the prevent_destroy: true meta-argument in the generated configuration.
I have:

[X] Read and followed Crossplane's contribution process.
[X] Run make reviewable to ensure this PR is ready for review.
[ ] Added backport release-x.y labels to auto-backport this PR if necessary.

How has this code been tested

Tested using the example manifest of PostgreSQLConfiguration resource of provider-jet-azure on top of https://github.com/crossplane-contrib/provider-jet-azure/pull/98.

@ulucinar Another alternative could be to copy the implementation from the native provider. All the structure and flows of Jet providers are just like native implementation, so it should work OK if you'd prefer to have those resources in Jet Azure.

Should we close this one (for now) given the original issue resolved without needing this?


restrict-plus-operands: Minor error message change.

PR checklist

[ ] Addresses an existing issue: #0000
[x] New feature, bugfix, or enhancement

[x] Includes tests

[ ] Documentation update

Overview of change:
Suggest template literals when an operand is a string.
Most violations in Google code base is "string + number". Users might do .toString() to pass this check if they didn't know about template literals.
Is there anything you'd like reviewers to focus on?

CHANGELOG.md entry:

Thanks for your interest in palantir/tslint, @bowenni! Before we can accept your pull request, you need to sign our contributor license agreement - just visit https://cla.palantir.com/ and follow the instructions. Once you sign, I'll automatically update this pull request.

I am covered by the Google corporate CLA.


Make DRW an option instead of raw pointer

With the reassurance of the new testing changes, this PR starts to remove some of the unsafe in the code base, starting with converting the global DRW context from a raw pointer to an Option<Drw>. It's obviously annoying to have to unwrap (or let else) all over the place, but this accurately captures the semantics of all the is_null checks in the unsafe case.

I found a much better solution to this.


Polyfill modes

Implement polyfill modes:

index center point-in-poly (current implementation)
index boundary geometry intersects poly (any vertex point-in-poly)
index boundary geometry fully contained by poly (all vertices in poly)

Any others?
Edit: also look at whether or not it makes sense to use the NG geometry overlay, and adding test cases for current open upstream polyfill bugs to see if we're good or if there's anything that needs to be fixed for the next release.

Added new VertexTestMode option to Fill which allows for picking between center point-in-poly (VertexTestMode.Center, default), any boundary vertex in poly (VertexTestMode.Any), and all boundary vertices in poly (VertexTestMode.All).  Tests are pretty light at the moment, but will improve that in a later release when I have time to come back and look at the overlay stuff mentioned above (will split off to separate issue).
Some quick samples with the Uber SF test poly @ resolution 9:
VertexTestMode.Center (existing polyfill implementation):

VertexTestMode.Any:

VertexTestMode.All:


[Bug]: The Type field is missing on page "Standard Accounts"

Describe the issue
The Type field is missing on page "Standard Accounts"
Without this field is not possible to create the correct record using web client.
Expected behavior
Users can create a new record at the standard accounts page with filled Type of account
Steps to reproduce
When the enum "Standard account Type" extended like in app "SAF-T Modification DK"

Open page Standard accounts
Create a new record
The type field value is None and can't used in GL Account Mapping.

Additional context
No response
I will provide a fix for a bug

[x] I will provide a fix for a bug

@bnielse / @AndersLarsenMicrosoft, could you triage this issue please?


Will the training code for diffuse and specular networks be released?

Dear authors,
Thanks a lot for releasing the implementation of this tremendous work. I wonder whether the training code for the diffuse and specular network will be released?
Best
Heng

Thanks for your interest. Unfortunately I am recently on vacation and also in bad health (maybe Covid 🤒). I’ll start working on releasing full codebase next week. If everything works well, code will be available within two weeks.


What dataset was used?

Was it regular objaverse or objaverse-xl?

It was trained on the regular Objaverse dataset.

Will the training data be release？


In installation instructions.
Blocks on moving templated .go files to a different file extension.

Fixed issue in 63cc9ca166d953be94f3ee85932ad4be1f37aa40 with templates, go get doesn't work out of the box still due to generated code. Don't particularly want to commit generated code to master, but that's apparently what the go tool wants. Will investigate solutions.
Dockerfile added to repo to simplify usage for docker users.


New event in Item Attribute Value table

Hello,
Could you please add publisher in GetValueInCurrentLanguage function in table Item Attribute Value? And to do EXIT (Value) instead of EXIT(''):

This change would allow us to have additional attribute types.
Thanks,
Radovan

Hi! I have forwarded the request to the application team. We will get back to you as soon as possible.

@atoader Do you plan to support Dates for attribute types out of the box in future release?

What do you mean by supporting Dates for attribute types? Could you give me an example? As far as I know, this is not on the roadmap.

Adding additional option in type field for 'date' when creating an Item attribute:


Force players to create their decks before inviting / being invited

To reduce waiting times for when you have invited a player, force players to create their decks before inviting / being invited. So that you only can choose a deck when starting a game, not build a deck.

Naming it creating a character instead of creating a deck makes more sense, and is more similar to how it is implemented in various other games.
By renaming it, it is applicable also for choosing a class, and for #159 (if it would be a character-specific choice and not a game-specific choice), and all other possible variants of character configuration.


Added split functionality for Split Design #150

Added responsive design for displaying images as per the example in https://github.com/KwickerHub/WebCraftifyAI/issues/1193.

Heartfelt Thanks for Your Contribution to Our Open Source Project!
Dear @SarthakNikhal (Sarthak Nikhal),
I trust this message finds you in good health and high spirits. I am reaching out with a heart full of gratitude for your recent contribution to our open source project. Your dedication has not only elevated the functionality of our project but has also exemplified the collaborative spirit that lies at the core of thriving open source communities.
A heartfelt congratulations are in order for your exceptional work! Your commitment and expertise have played a pivotal role in the success of our project, and we consider ourselves truly fortunate to count you among our community members.
I must extend my sincere apologies for the delay in responding to your pull request. Your patience and understanding during this time are immensely appreciated. As our project continues to grow, we acknowledge the imperative need to enhance the quality and response time for contributions. To address this, we've kickstarted a call for maintainers and reviewers who can help us uphold the high standards of our project and ensure swift responses to pull requests.
Your involvement and insights would be invaluable in this initiative. If you, or someone you know, is interested in taking on a more active role in the project, please don't hesitate to reach out. We firmly believe that with a robust team of maintainers and reviewers, we can elevate both the quality of the project and the speed of our responses.
On an exciting note, I am thrilled to share that we have activated the sponsorship button for our project. This development allows supporters like yourself to contribute to the sustainability and growth of the project. Your ongoing support, whether through code contributions or sponsorship, is genuinely appreciated.
Once again, congratulations on your outstanding contribution, and thank you for being an indispensable part of our open source community. We eagerly anticipate your continued collaboration and shared success.
Best regards,
Ntem Kenyor K.
Lead
Kwickerhub

Please you can alway use this uel to review your code: https://roynek.com/alltrenders/codes/github_auto/


Add importBootstrapJS

Hi,
I've just added an option importBootstrapJS to allow users easily migrate from pure bootstrap to ember-bootstrap.
In our case when we are rewriting our components, it is a key feature to use bootstrap js and ember-bootstrap simultaneously till we upgrade them all.
Unfortunately, we can not use bootstrap in bower because of:
validateDependencies() {
    let bowerDependencies = this.app.project.bowerDependencies();
    if ('bootstrap' in bowerDependencies
      || 'bootstrap-sass' in bowerDependencies) {
      throw new SilentError('The dependencies for ember-bootstrap are outdated. Please run `ember generate ember-bootstrap` to install the missing dependencies!');
    }
  },

so I made this PR to allow on include.

I also fixed some styling issues.

Hi @Exelord. Thanks for your effort. Unfortunately I am not so sure if I really want to accept this. The purpose or this addon is to make bootstrap.js useless. I do understand your case, so it should be possible to import it from the app. But I don't think I want to actively support that with an import option, as it would give the impression that this is something we support, which I definitely don't want to!
I would prefer a way to allow this, without really supporting it! 😉  Maybe just change the validateDependencies implementation to just issue a warning rather than throwing an error? @srvance you have an opinion on this?
Besides that, there are some issues with your code changes:

you cannot use ES6 destrucuring in node 4, that's why tests are failing
you import bootstrap.js and bootstrap.min.js, which does not make sense to me. I would always import the unminified version and let ember-cli do the rest...

I agree with warning instead of error.
But I still need to have a bower dependency for bootstarp which was already added in npm :/
Maybe we can just rename the flag to sth with better meaning that this should only be used in case of migration.

Can you avoid the error by moving your bootstrap dependencies to npm instead of bower? I'm fine making it a warning, instead of an error, though.
As for removing the dependency, you can add it back in or reset the change to the file if we change the error to a warning. We're not removing bootstrap completely, just moving the way it's imported.
The blueprint is tailored to the most common cases, figuring if you know enough to need more complicated alternatives, you probably know enough to reconfigure it yourself.
@simonihmig I agree that we shouldn't explicitly support importing the JS files.

Ok, so I would then go this route:

we replace the error with a warning
as you only run the blueprint when installing the addon, or when explicitly calling ember g ember-bootstrap, it should still work fine if you re-add bootstrap to bower.json. I agree with @srvance we should optimize for the most common use case, which is ember-bootstrap is used without any other bootstrap related addons/imports, but still allow special cases to work. So I would keep the uninstall function in the blueprint, as this makes very much sense when upgrading from an older version. You can still import bootstrap.js installed into bower_components in your ember-cli-build.js using app.import()
maybe when we add #258, we could make the user have to confirm the uninstall

@Exelord do you want to update your PR accordingly? Would require the line where the error is thrown to be replaced with something like https://github.com/kaliber5/ember-bootstrap/blob/master/blueprints/ember-bootstrap/index.js#L205. Otherwise, as this is a pretty trivial change, I can do that as well...

Ok, I will implement this that way, but I still think that the option to import boostrap JS should be a built-in feature.
It's your package so I respect that decision

We can close this PR in favor of #297


Validation missing for campaign

Scenario 1

Create campaign with three stages ["approval", "deploy", "end"], and the firstStage is "foo"

Result:
Creation is successful
Create an activation to trigger that campaign
The campaign will run but nothing will happen

Expect: return an error message

Scenario 2

Create campaign with an empty list stages, and the firstStage is empty

Result:
Creation is successful
Create an activation to trigger that campaign
The campaign will run but nothing will happen

Expect: Creation should return an error message

Root cause: validation missing when creating the campaign. Didn't check if the firstStage in the stages list.
[not finished yet, will update more scenarios later.]

Assign to @RemindD , we need to block the firstStage which is not in the list. We need to block empty firstStage.


Replace social Auth manager

The current app registered at google for social auth management it linked to my personal account and points to dev address. Before launch we should:

register a new proper app under the official europython account (ping @malemburg can you do that?)
activate the GPlus App auth on that app otherwise it will not work..
set both the dev.europython.eu, europython.eu and ep2015.europython.eu as redirects
set the new app auth keys on settings.py

https://github.com/EuroPython/epcon/pull/60


No IntelliSense or Syntax Highlighting

Environment data

Language Server version: Pylance v2023.10.50
OS and version: Windows 11
Python version (& distribution if applicable, e.g. Anaconda): 3.11.1

Code Snippet

There is no syntax highlighting or intellisense by Pylance, I have added a video below.
Note: I would like to highlight that switching to the pre-release version of Pylance works, so maybe the problem has occurred now.
https://github.com/microsoft/pylance-release/assets/121673391/5f76f333-9bfc-436f-b74f-45822e120162

Expected behavior
Would show suggestions for the syntax.
Actual behavior
Shown in video.
Logs

2023-10-30 11:30:45.429 [info] Experiment 'pythonPromptNewFormatterExt' is active
2023-10-30 11:30:45.429 [info] Experiment 'pythonPromptNewToolsExt' is active
2023-10-30 11:30:45.429 [info] Experiment 'pythonSurveyNotificationcf' is active
2023-10-30 11:30:45.429 [info] Experiment 'pythonTestAdaptercf' is active
2023-10-30 11:30:45.429 [info] Test server listening.
2023-10-30 11:30:45.429 [info] Python interpreter path: C:\Python311\python.exe
2023-10-30 11:30:46.892 [info] > conda info --json
2023-10-30 11:30:49.343 [info] Starting Pylance language server.
2023-10-30 11:35:36.856 [info] Discover tests for workspace name: Lab 8 - uri: d:\Semester 5\Digital Image Processing\Labs\Lab 8\lab8.py

Can you please provide a log as described under "Filing an issue" in the troubleshooting guide?

Same thing, the stable version has an error like here. With extensions upgrade to pre-release there is no error in console, but syntax is not highlighted either.
win11 22621.2506
vs-code 1.84.2
pylance v2023.11.12
python-extension v2023.21.13141007

Thanks @khoben for your update!
Close as no user replies with the log mentioned above. Please open a new issue with a detailed log if the problem persists.


Feature request - Switchable config files for multiple environments

Is your feature request related to a problem? Please describe.
I often have configurations that I want to work only in pre-production environments. For example, I want to add site-wide authentication only for dev.
Describe the solution you'd like
Like the Node.js env files, I would like to create files with the environment name appended(e.g. staticwebapp.config.develop.json), and have a mechanism for switching the file for each environment.
Describe alternatives you've considered
As a workaround, I have customized the build script to switch the staticwebapp.config.json file.
See the following file for an example that works well.

https://github.com/k-miyake/swa-nuxt-ts/blob/main/.github/workflows/azure-static-web-apps-yellow-forest-05a08f81e.yml

Additional context
Once this is accomplished, we can protect dev environment with GitHub auth, for example.

This is a great suggestion. Thinking about the implementation, would something like this proposal work?

In the same folder as staticwebapp.config.json, you could optionally add one or both of the following:

staticwebapp.config.production.json - applied when deploying to the static web app's main production site
staticwebapp.config.local.json - applied when running locally

The contents from both the base staticwebapp.config.json and the environment-specific file (if exists) are merged to create the actual config for that deployment. If a setting is in both files, the one in the environment-specific version takes precedence.
It'd be possible to only include an environment-specific config file when the base config file does not exist.

There are a few things to consider:

How are the settings merged? Specifically, I think settings that are arrays, such as routes, will be problematic for merging. Perhaps we only merge based on the properties on the root level. For example, if a both files have a routes section defined, the environment-specific routes section wins.
Do we need to support the ability for the environment-specific version to remove/delete settings that are in the base config?
How do we know what the merged config file that was generated looks like? How do we troubleshoot and problems that arise?
What's a good naming convention for the files? It's difficult to remember where the environment name goes.
Maybe we don't support merging at all. If the environment-specific version exists, we could just use it without merging (this is what @k-miyake's implementation does)

@k-miyake Looks like you are trying to protect your non-production site. I should also add that we are working on https://github.com/Azure/static-web-apps/issues/236. It would allow you to protect a site with a simple password. You should be able to protect only preview environments, or all (preview + production) environments.

@anthonychu Thanks for the comment. My idea is the following.

It is better the base configuration file and environment-specific configuration files will be merged (just like .NET).
In the production, the base staticwebapp.config.json will be used.
In the local development, if staticwebapp.config.local.json is available, it will be used preferentially.
In addition, it is better if any configuration file can be selected in the deployment options.
If the above can be achieved, I don't think there is a need for a function to delete specific settings when merging.

I think it would be better to use built-in AAD or GitHub authentication to protect the staging environment, instead of the additional authentication mechanism discussed in #236.

Thanks for the feedback.
The reason I proposed a staticwebapp.config.production.json is because often the production environments require specific settings that are different than staging environments (currently these are pull requests, but we are investigating other types of staging environments). If there is no staticwebapp.config.production.json, it would mean that every time you merge a PR to main, you'll need to update staticwebapp.config.json with the production config. If you forget to do this, you would break production.
Agree that merging would be better, but it has issues. Here's one that's outlined pretty well in this article: https://rimdev.io/avoiding-aspnet-core-configuration-pitfalls-with-array-values/
Can you clarify what you mean by "In addition, it is better if any configuration file can be selected in the deployment options."? Do you want to be able to specify any arbitrary json file like 'foo.json' as the config? Would you still need merging if you use this?

I meant that it would be useful  to have an option to name {environment-name} in staticwebapp.config.{environment-name}.json. However, I don't care much about the naming.

@anthonychu #236 sounds like it may help with one of our issues - when a staging url is generated e.g. https://salmon-mountain-xxxxxxx-20.azurestaticapps.net, the "-20" isn't in the AD reply URI list so auth won't work. I read you can edit the manifest and use wildcards but this isn't recommended.
Is there another way around this?

What about just doing this with variables in the config file itself?
Something like... {dot.named.variable} where you could use the keywords branch and stage in the dot name.  When the file is read during deployment, substitute the actual git branch name and the deployment stage (local, pre, prod) into the dot name and follow that path down the JSON structure.
For example:
{ "route": "/login", "rewrite": "/.auth/login/aad?http://{branch.stage.baseURL}/mypage.html" }
And then:
{ "variables": "main" : { "local" : { "baseURL" : "localhost:4280" } } }
If you only want to differentiate based on branch, then just leave the stage off...
 "...{branch.myVariable}..."   =  "variables": { "myBranch" : { "myVariable" : "foo" } }"
if only differentiate on stage...
 "...{stage.myVariable}..." =  "variables" : { "pre" : { "myVariable" : "bar" } }
You could even get funky and mix and match...
"variables" : {
   "devBranch" : {                          // name of the branch
      "myVarA" : "devBranchValue",          // name variable at branch level
      "local" : {                           // name of the stage
         "myVarB" : "devBranchLocalValue"   // name of variable at branch.stage level
      },
      "pre" : {
         "myVarB" : "devBranchPreValue"
      },
      "prod" : {
         "myVarB" : "devBranchProdValue"
      }
   },
   "local" :  {                              // name of stage
      "myVarC" : "localValue",               // name of variable at stage level
      "devBranch" : {                        // name of branch
         "myVarD" : "localDevBranchValue"    // name of variable at stage.branch level
      }
    },
   "pre" : {
      "myVarC" : "preValue",
      "devBranch" : {
         "myVarD" : "localDevBranchValue"
      }
   }.
   "prod" : {
      "myVarC" : "prodValue",
      "devBranch" : {
         "myVarD" : "localDevBranchValue"
      }
   }
}

I suppose you could even put objects in the variables as well.
      "route" : "/api/protected",
      "allowedRoles" : "{branch.roleVar}"

[ ... ]

      "main" : {
         "roleVar" : [ "role1", "role2" ]
      },
      "test" : {
         "roleVar" : ["role3"]
      }

In my experimenting for #196 I have a node script that runs before the site build that generates staticwebapp.config.json based on another file staticwebapp.config.common.json and adds a route & changes the navigationFallback based on an env var. I had been wondering (but have been distracted) if there could be a better way. This issue looks interesting, but I was also wondering....what if staticwebapp.config.json could be staticwebapp.config.js and export a default function and have access to env vars? This may be a separate idea, but I thought I'd throw it out there just in case its helpful here.

This is an interesting idea to consider for JavaScript apps. We do support non-JavaScript frameworks and static site generators so we would still need a language agnostic way to do this.

@smakinson Would you mind sharing the node script? I am also interested in this functionality, thank you!

@lukasvice Sure. Here are the package.json scripts and the node script.
"build:swaconfig": "node ./src-scripts/generate-staticwebapps-config.js",
"predev": "env DEV=true yarn run build:swaconfig",
"prebuild": "yarn run build:swaconfig

const write = require('write')
// staticwebapp.config.common.json is what is used in all situations.
const configTemplate = require('./staticwebapp.config.common.json')

// env vars must be defined in the yarn script
const IS_DEV = process.env.DEV

function generateConfig () {
  const prerenderApiPath = '/api/prerender'

  if (IS_DEV) {
    // handle local dev situation if needed
  } else {
    // add the prerender specific routes

    // The / rewrite MUST be last!
    // NOTE: This is needed if /index.html exists.
    configTemplate.routes.push({
      route: '/',
      rewrite: prerenderApiPath
    })
    configTemplate.navigationFallback = {
      rewrite: prerenderApiPath,
      exclude: ['/images/*.{png,jpg,gif}', '/css/*']
    }
  }

  write('./staticwebapp.config.json', JSON.stringify(configTemplate))
  console.log('staticwebapp.config.json created successfully!')
}

generateConfig()

1 year later. Any more discussion on this? I'm also looking for a way to set up each environment differently from each other.

Found this while looking for solutions to the same problem. Depending on how your deploying, the Pipeline AzureStaticWebApp@0 task has a property that can be used to set the config file location.

config_file_location - Config file location
string.
The directory location of the staticwebapp.config.json file, relative to the working directory.

I am still leaning toward using a script to replace any values that need to be dynamic between environments before deploying. But sharing the above in case it is useful for others.


Add debug view to child monitor fragment

Task

JIRA

Description

Added debug view that shows current crying probability and information
about last sent notification. Also refactored DebugNotificationManager
to properly clear the notification after app is closed.
I've changed NotifyBabyCryingUseCase to mantain one subscription
initialised in the constructor instead of keeping disposable.

          3 Warnings

:warning:
app/src/main/res/layout/fragment_child_monitor.xml#L50 - Missing contentDescription attribute on image

:warning:
app/src/main/res/layout/fragment_child_monitor.xml#L183 - Missing contentDescription attribute on image

:warning:
app/src/main/res/values/styles.xml#L9 - The resource R.style.ToolbarTheme appears to be unused

          1 Message

:book:
:link: BM-600

JaCoCO Code Coverage 10.33% :white_check_mark:

Class
Covered
Meta
Status

co/netguru/baby/monitor/client/feature/debug/DebugView
0%
0%
:white_check_mark:

co/netguru/baby/monitor/client/feature/debug/DebugModule
0%
0%
:white_check_mark:

co/netguru/baby/monitor/client/feature/debug/DebugState
0%
0%
:white_check_mark:

co/netguru/baby/monitor/client/feature/debug/DebugNotificationManager
0%
0%
:white_check_mark:

co/netguru/baby/monitor/client/feature/machinelearning/MachineLearningService
0%
0%
:white_check_mark:

co/netguru/baby/monitor/client/feature/babycrynotification/NotifyBabyCryingUseCase
100%
0%
:white_check_mark:

co/netguru/baby/monitor/client/feature/communication/websocket/WebSocketServerService
0%
0%
:white_check_mark:

co/netguru/baby/monitor/client/application/ApplicationModule
0%
0%
:white_check_mark:

co/netguru/baby/monitor/client/application/App
0%
0%
:white_check_mark:

co/netguru/baby/monitor/client/feature/server/ChildMonitorFragment
0%
0%
:white_check_mark:

co/netguru/baby/monitor/client/feature/firebasenotification/FirebaseNotificationSender
0%
0%
:white_check_mark:

APK file size

size

29.9MB

Number of method references

Dex file
count

classes.dex
39353

  Generated by :no_entry_sign: Danger


Fix issue whereby suggested example timeslots on the appts search end…

…point is invalid (not a list)
Also, add the other valid options for timeslots

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 87.32%. Comparing base (7d2b808) to head (634d076).

Additional details and impacted files
@@            Coverage Diff            @@
##               main     #887   +/-   ##
=========================================
  Coverage     87.32%   87.32%
  Complexity     3581     3581
=========================================
  Files           372      372
  Lines         12629    12629
  Branches       1026     1026
=========================================
  Hits          11028    11028
  Misses         1132     1132
  Partials        469      469

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


time differences should be durations

echo '{ts:2018-03-24T17:30:20Z}' | zq 'cut delta:=(ts+1s)-ts' -

is
{delta:1970-01-01T00:00:01Z}

but should be
{delta:1s}

Yep. This has been us for a while. I just closed #1792 as a duplicate.

Just closed another duplicate, #3741. Note that community user @cogphn took the time to react with a 🎉 emoji to that other issue, so there's outside interest in seeing this addressed. I've therefore added the Community label here and will discuss with the team boosting its priority.

Verified in Zed commit 28f95a3.
The output is now a duration type as was originally anticipated.
$ zq -version
Version: v1.2.0-64-g28f95a3c

$ echo '{ts:2018-03-24T17:30:20Z}' | zq 'cut delta:=(ts+1s)-ts' -
{delta:1s}

Thanks @nwt!


Can't get beta 1.7.3 far lands to generate above y=128

I have tried changing the "height" tag (line 15) from 128 to 256 in both beta.json and modern_beta.json, but I cannot get the far lands to generate above y=128. I know that it should be possible, since those same far lands generate below y=0 into deepslate, while the "real" beta 1.7.3 couldn't have done this at all.

Update: I've found that there's a worldHeight parameter in ModernBetaChunkGenerator, but I can't figure out how that gets initialized since it seems to go back into MC code.

Yeah, I should make the maximum height configurable in the chunk provider instead of being dependent on the noise config.


CZ: UTF-8 Encoding Issues and Invalid DSC Certificates

Affected Country: CZ
Issue Description
Reference: https://github.com/eu-digital-green-certificates/dgc-testdata/tree/main/CZ/2DCode/raw (5 scripts under this)
It seems that files are not using UTF-8 Encoding, and DSC Certificate provided is not a valid one.

Ref: https://report-uri.com/home/pem_decoder
Proposed Solution
Help fix test file encoding and CERTIFICATE value.

Also: the cases 1, 3, 4 seem to have BOMs?

Hi about certificate, data are just a public key not a cert. So this works:
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEQLV3BtN60prQ7I1EG5gLwQGsirtP
CYl9fCo3/8pqrT/CJBuk8yrd9REuSSmvriCCTOfxjC2b5qrZhiJgNIc7ZQ==
-----END PUBLIC KEY-----
But I guess the expected content is certificate.
We will fix that with encoding. Thx for feedback

@daniel-eder , This issue is not resolved. All the files are still having encoding issues. Please re-open and also revert known_issues.csv

@bhavin-qryptal can you verify this again on latest main? While #230 did not fix it, it seems #234 did.
This test is from after we merged #234 and removed the known issues: https://github.com/eu-digital-green-certificates/dgc-testdata/runs/2684757827 and it passed. The PR also had the issues in xpasses.

@daniel-eder , Yes indeed, you are correct. Please ignore my earlier comments.


Add missing parenthesis to NotBefore error message

The NotBefore condition is missing a leading parenthesis in its error message.
On master:

Current time is earlier than NotBefore condition TIME < TIME)

On branch:

Current time is earlier than NotBefore condition (TIME < TIME)

thanks!

cryptosystem looks good, maybe in a future, we could use a 3rd party lib (or a fork of it) and delegate all the "magic"

Let me know what you had in mind. We rely pretty heavily on ruby-saml so I'd be happy to help out.


Fix sync-panther-analysis-from-upstream action

This is a change to a workflow and our customers will have to manually apply it to their repos for it to work as it fixes the broken sync. We will need to reach out this week.
Background
This fixes our sync process. It uses secrets.GITHUB_TOKEN as it is standard practice and skips trying to edit workflow files.
Editing .github/workflow/* and attempting to sync them downstream causes a github internal error saying: refusing to allow a GitHub App to create or update workflow `.github/workflows/check-packs.yml` without `workflows` permission
This was obfuscated from us because we were using a Github action that just crashes when that happens.
This limitation likely caused our workflow to break months ago when we added on: pull_request in our workflows.
Changes
This is a major rewrite. We have to ask our customers to manually adjust their repo to this code, but we need to do that anyways because the sync workflow is broken.
It also bumps the merge attempt to be twice a day instead of once a week, but since we only merge to release once a week (or when we need to more urgently) so it should not adjust standard cadence.
It uses github.event.repository.default_branch instead of YOUR_REPO_PRIMARY_BRANCH_NAME.
Testing

Tested in another repo: https://github.com/panther-labs/panther-analysis-internal/actions/runs/8584268333 and it opened this PR https://github.com/panther-labs/panther-analysis-internal/pull/112

That said, should we sync from main in this repo? We batch all of the weekly changes into the release branch and only merge into main once a week.

I think we need to pull from release, which I think that is what the code is doing as it is now. If we were to pull from main, we would slam downstream repos with constant PRs.

should we sync from main in this repo?

@egibs you are right, this should go into release, however, this makes me realize that the code in the PR needs a little more work: we need to make sure we are grabbing the most recently tagged version of release - as it is now it will grab everything from release and we are merging into release more often than I thought (I thought it was once a week, but that is the tagging.


Chore/merge release 1.5 to main

Introduction :pencil2:
Merge and rebuild public folder
Check SRI
NOTE: This PR is giant. It is capturing changes that are already on main (see .env.sample). This is due to r1.5 not being frequently merged back to main. It's also due to three-dot and two-dot comparison in GH (https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-comparing-branches-in-pull-requests#three-dot-and-two-dot-git-diff-comparisons). See https://github.com/UK-Export-Finance/dtfs2/compare/main..chore/merge-release-1.5-to-main for two dot comparison

Please close this PR as it is replaced by https://github.com/UK-Export-Finance/dtfs2/pull/3000


[PENDING] Library will soon be deprecated

This is a future notice that this library will soon be deprecated.
The window size class library is now included in Compose Multiplatform 1.7.0 (currently pre-release). This library will be deprecated as soon as 1.7.0 goes stable.

Thanks for the info :)

Yep, just updated this issue’s description.

Hi, today 1.7.0 goes GA. However, based on the release note, it lacks a commonized calculateWindowSizeClass() method, which I believe is still necessary for adaptive UI. There are two options:

Adapt this library to depends on the new material3-window-size-class and simply provide a commonized calculateWindowSizeClass() method
Still deprecate this library but extract the commonized calculateWindowSizeClass() implementation into a GitHub Gist for future reference, or create a new library just for commonized calculateWindowSizeClass()

I am fine with either options

Thanks for the update.
I have no plans to make any further changes to this library, so will proceed with the deprecation as planned.
As to comminization, I think that this is best handled at the app level. AFAICT, the JetBrains team hasn’t added a common function yet, because they haven’t implemented the necessary hooks on certain platforms. All of the major platforms have a calculateWindowSizeClass() function though, so it's just a case of adding some trivial expect/actual functions.

I guess it might be a good idea to archive the repository as well.


Created getTarget() method which exposes the target and a noop indexer

This change exposes the proxy target through a getTarget() method. This method can be used to eject the target object from it's proxy, allowing it to be copied by the structuredClone algorithm. This has become needed for serialising proxies and transferring proxies to workers.
While we could easily unwrap a proxy in consumers of this library by creating a copy and removing deleteFromIndex, it's a fragile approach and will break consumer implementations if we add more methods to the proxy index.
I also introduced a noop capture function (which SSP has currently implemented) for the same reason.

Alright, this has been simplified and I think most of the suggestions have been addressed.

Alright, this has been simplified and I think most of the suggestions have been addressed.

I think we just need a test for the getTarget method and isProxy property. I might just write those up now so I can publish this update today

merged in #5 👍


Update third party support question summary.

this removes a duplicative 'and and' construction in the search
summary when one of the support filters is used.

https://trello.com/c/fVpk5C97/468-bug-search-summary-for-user-support-has-and-and

:+1:


Add gentle failover test

Gentle failover is a load balancer feature that will route some traffic to the secondary locality when the number of unhealthy backends exceeds a certain threshold (>50%). This feature requires that the backend VMs remain alive but the gRPC servers report an unhealthy status, which means this PR depends on https://github.com/grpc/grpc-java/pull/7127 for the ability to dynamically set the server to a healthy/unhealthy status.
This PR supersedes https://github.com/grpc/grpc/pull/23143. Currently our only test environment that supports gentle failover is prone to connecting to a TD instance in a different region, requiring that primary/secondary expectations be swapped.

Successful kokoro run:  https://source.cloud.google.com/results/invocations/79802bd3-c2b2-4c4c-b78e-7d862333ebb3/targets

Kokoro run including gentle failover: https://source.cloud.google.com/results/invocations/0a12337a-3735-4d10-9c13-7137dc4fed4f/targets

https://github.com/grpc/grpc/issues/23239


Improved UI with select

<select> and specially <select multiple> need a better UI. I suggest Selectize or something similar. Example:
$('select').selectize()

that's all.

Yeap, that's something in our roadmap.

Close by #31


Feature: support only running tests for modified files

I took a stab at fixing #71 - this solution works for me, and hopefully should be flexible enough for others to make work relatively easily with their directory structures. But feedback is appreciated!
I added docs to the README, hopefully they should be sufficient explanation for how to use it.
Basically how it works:
On startup, run all tests, and watch for events (same as before).
On startup, collect a list of all the valid test filepaths (using py.test --collect-only)
On new events, update (if necessary) the valid test filepaths
On new events, collect the list of modified files from the events, and for each modified file, call an end-user-supplied function to convert the modified file path into its respective test file path. The test file paths are then appended to the args for the call to pytest. If any of the given test file paths are not in the list of valid tests, then run all tests.
Thanks!
edits: clarify explanation of implementation details

Interesting, but rather complex (from a quick look).
Do you expect the transformation function to figure out what test (file) needs to run for some changed code?
Do you know about pytest-testmon, or pytest-incremental?
You could trigger / use those instead.

@blueyed Thanks for taking a look!

Do you expect the transformation function to figure out what test (file) needs to run for some changed code?

Yes, I wasn't sure how else to do it (as different projects might have different conventions they follow).

Do you know about pytest-testmon, or pytest-incremental?

I did not! But I do now :) I'll take a look at them when I have some time later this week. Thanks for the suggestions, hopefully they can help simplify the code.


My icons fill themselves

Hey! Today I downloaded the Lucide icons (https://lucide.dev/) for use with Icon Folders. Although I downloaded the icons without being filled with color, when I add them to Obsidian they appear filled. I checked the theme I have installed and I shouldn't have to modify the icons. There is also no custom setting in my CSS code that should do this, what could be happening, is there a way to fix it with CSS?

Thank you for reporting. The issue should be fixed in the new release!

Wow, that was fast. It's working now, thanks


two landing page emojis don't display on windows

I am seeing this:

on my chrome on my windows 10 machine.
Probably some emojis aren't available here yet.

Oh, snap, this is how it's supposed to look like. I guess I have to find alternatives.

They should be supported.
https://unicode.org/emoji/charts/full-emoji-list.html#1f9ec
It's weird that not even the flags show up for you.

Fixed. If anyone has a good emoji idea for "headless" or "detached" let me know :)


Service Catalog API Issues

Description:
This is to keep track of service catalog REST API related issues.

Service Catalog - Delete service by UUID is not working.
What has been implemented is delete by serviceKey. This needs to support UUID.

Service Catalog - serviceKey parameter is not exposed
serviceKey parameter needs to be exposed in ServiceEntry DTO
{"id":"ad3e1603-4976-4bdf-b4c3-059be6be9359","name":"Swagger Petstore 1","displayName":"Petstore-Endpoint-1","description":"This is a sample server Petstore server","version":"1.0.0","serviceUrl":"https://<IP_ADDRESS>:9443/api/am/service/catalog/services","definitionType":"OAS3","securityType":"BASIC","mutualSSLEnabled":false,"usage":null,"createdTime":"2021-02-02 20:16:00.809","lastUpdatedTime":"2021-02-02 20:16:00.809","md5":"e2a249160f86a87decf1525cf9c67996d754f66047ebd8c2eb6863a0d6e83fed","definitionUrl":null}

Service Catalog - expose swagger.yaml from the REST API
swagger.yaml needs to be exposed in https://<IP_ADDRESS>:9443/api/am/service-catalog/{version}/swagger.yaml
Fix included in https://github.com/wso2/carbon-apimgt/pull/9683 without supporting anonymous mode.

Service Catalog - include version v0 in the resource path
Rename the service catalog rest api to api#am#service-catalog#v0.war and deploy so that it will accept  https://<IP_ADDRESS>:9443/api/am/service-catalog/v0/..

Service Catalog - support /services instead of /service-entries
/service-entries was used instead of /services due to the issue comes with CXF where it tries to do a service listing. Try to fix it by disabling it.

In the list of services returned in /service-entries GET, Create time, display name, service URL, etc are missing (null), even though the data is visible/available in the service catalog database table

Service Catalog - DB column names inconsistency
ENTRY_NAME, ENTRY_VERSION, SERVICE_KEY column names are not consistent. Need to use consistent naming.

Need to validate the service definition before adding the services.

Handle API Import Export
When an API created using service is exported and imported, service references needs to be preserved.

When API imported Service-Key entry needs to be added to the mapping table.
It might be a stale entry while Service is added
UX buttons needs to be disabled until service is available.

https://github.com/wso2/product-apim/issues/10016

Closing since the feature is implemented. We can track individual issues using the label Feature/ServiceCatalog.