feat: improve UX by speeding up metadb serialize/deserialize

What type of PR is this?

Which issue does this PR fix:
What does this PR do / Why do we need it:
If an issue # is not available please add repro steps and logs showing the issue:
Testing done on this change:

Automation added to e2e:

Will this break upgrades or downgrades?
Does this PR introduce any user-facing change?:

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

Closing because https://github.com/project-zot/zot/pull/1842 is merged.


Speed regression with change of tensorflow backend version

We have observed some massive slowdowns in some Keras/tensorflow models with tensorflow versions newer than 1.4.1.
Not sure if the issue is with tensorflow or with the way keras creates the tensorflow models, so I am cross-posting these issue to both repos.
Here is a script reproducing the issue:
Setup
from pandas import get_dummies
from sklearn.datasets import make_classification

from keras.models import Sequential
from keras.layers import Dense, Dropout
from keras.callbacks import EarlyStopping

X, y = make_classification(n_samples=10000, n_features=10, n_informative=8,
                           n_classes=5, n_clusters_per_class=1, random_state=0)

model = Sequential()
model.add(Dense(10, input_dim=10, activation='relu'))
model.add(Dropout(0.2))
model.add(Dense(5, activation='sigmoid'))
model.add(Dropout(0.1))
model.add(Dense(5, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='rmsprop', metrics=['acc'])

yk = get_dummies(y)

Fitting
model.fit(X, yk, epochs=10, batch_size=50,
               callbacks=[EarlyStopping(monitor='loss', patience=2)])

Here are some timings for the fit method:

Tensorflow 1.4.1:  2.91 s ± 452 ms per loop  (obtained using ipython's %%timeit magic, 7 loops)
Tensorflow 1.5.0:  CPU times: user 2min 19s, sys: 5min 22s, total: 7min 41s Wall time: 1min 2s
Tensorflow 1.6.0: CPU times: user 5min 5s, sys: 12min 31s, total: 17min 36s Wall time: 2min 37s
Tensorflow 1.7.0: CPU times: user 5min 5s, sys: 12min 39s, total: 17min 45s Wall time: 2min 39s

So, it seems there was a massive slowdown in version 1,5, and then a further one in 1.6 (which similar speed in 1.7). All the tests are run on a conda environment with python 3.6.5 and keras 2.1.5, with the corresponding tensorflow versions all coming from the anaconda defaults channel.
The GPU accelerated version of keras/tensorflow (keras-gpu conda package) does not present the issue.
Thanks in advance!

Your test is biased.
This network will always be faster on CPU.
I suspect that your time 2.91s was using CPU. I get similar results when using tensorflow and not tensorflow-gpu.
using tensorflow-gpu 1.6 and 1.8, I added with tensorflow.device('/cpu:0'): and I get a similar runtime on Keras master branch.

Anyway, going from 2.91 s to 2min 19s indicates a fundamental runtime issue such as running with/without a BLAS. It is not Keras-related and comes from differences in setups (such differences can sometimes be introduced when upgrading TF).

Doesn't that explain your problem?

What do you mean? To me it just suggests that the issue is in some CPU specific code, as the GPU code does not have the regression. The code will still run slow on recent versions if I don't have a GPU available (eg, in AWS instances or some Docker containers).

Anyway, going from 2.91 s to 2min 19s indicates a fundamental runtime issue such as running
with/without a BLAS. It is not Keras-related and comes from differences in setups (such
differences can sometimes be introduced when upgrading TF).

All the anaconda versions should be compiled/linked against Intel MKL; the way I see it there are (at least) three possible sources of the problem:

A compilation issue on the anaconda side (eg incorrectly passing the MKL flags)
Some regression introduced by tensorflow
An issue with the way Keras is translating the functional API code into tensorflow operations (perhaps due to a change in tensorflow API?)

I am trying to figure out which one it is, but it is tricky as I am not familiar with the internals of either keras or tensorflow, hence my cross-posting to both github pages (and support request sent to anaconda). These issues are hard to deal with because they show up in real life situations through the interaction of many software pieces, instead of an isolated testing environment.
Any type of help is appreciated, if you can compare the timings on different keras/tensorflow versions compiled from source (not coming from the anaconda packages) and don't see the slowdown, then it is likely an anaconda problem.

Latest anaconda package for tensorflow 1.8 does not present the slowdown. Closing the issue.


Graph contrastive learning.

Tech Insights. Graph contrastive learning.
Zhu Y, Xu Y, Liu Q, et al. An empirical study of graph contrastive learning.

Overview
Getting high quality labeled dataset at scale for graph-related problems is often expensive. Graph neural networks tend to overfit small training data sets and fail to learn reusable, task-invariant knowledge.
Self-supervised learning has been hugely successful in multiple ML areas and has improved label efficiency. These techniques obtain supervisory signals from the unlabelled data by utilising the data’s underlying structure.

Graph Contrastive Learning
The goal of graph contrastive learning is to learn a low-dimensional representation to encode the graph’s structural and attribute information.
The contrastive learning paradigm tries to maximize the agreement between the latent representations under scholastic data augmentation. Essentially, it tries to distinguish between a pair of representations from the two augmentations of the same sample (positives) apart from the $k$ pairs of representation from the other (negative) samples.

[Chen et.al, 2020] A Simple Framework for Contrastive Learning for Visual Representation, in ICML 2020.

Experiments
The authors have explored multiple design dimensions for optimizing performance in this paper. These four dimensions as listed as follows:

Data augmentation
Contrasting Modes
Contrastive objectives
Negative mining strategies

Data augmentation: Topology augmentation, feature augmentation, or both create augmentation as an input to the model. Topology augmentation includes graph structural changes like edge adding, edge removal, etc.

Contrasting Modes: This method generates different types of positives and negatives for the model. The same-scale contrastive ways create samples for each node (local-local) or the entire graph (global-global). While the cross-scale contrasting generates samples between the node and the whole graph, i.e. (local-global).

Contrasting Objective: The following methods utilize negative samples:

Information Noice Contrastive Estimation (InfoNCE),
Jensen-Shannon Divergence (JSD),
Triplet Margin loss (TM).

Moreover, they also analyze the following objectives that eschew the need for explicit negative samples:

the Bootstrapping Latent loss (BL),
Barlow Twins (BT) loss,
VICReg loss.

Negative mining: Recent work argues that CL algorithms benefit from hard, negative samples (i.e. samples challenging to distinguish from an anchor instance). In this work, they have considered he following four negative mining strategies:

Hard Negative Mixing (HNM),
Debiased Contrastive Learning (DCL),
Hardness-Biased Negative Mining (HBNM),
Conditional Negative Mining (CNM).

Datasets and tasks: The models are first trained unsupervised, and the resulting embeddings are fed into a linear classifier to fit the labelled data. Model accuracy is reported for a different experiment, which has several combinations of the augmentation, mode, mining technique, and objective.

Observations

Topology augmentation greatly affects model performance. Augmentation functions that produce sparser graphs generally lead to better performance.

Feature augmentations bring additional benefits to GCL. Compositional augmentations at both structure and attribute level benefit GCL most.

Same-scale contrasting generally performs better. Downstream tasks of different granularities favor different contrasting modes.

Among negative-sample-based objectives, the use of InfoNCE objective leads to consistent improvements across all settings.

Bootstrapping Latent and Barlow Twins losses obtain promising performance on par with their negative-sample-based counterparts yet reduce the computational burden without explicit negative samples.

Existing negative mining techniques based on calculating embedding similarities bring limited benefit to GCL.

References

Graph Neural Networks: Foundations, Frontiers, and Applications.
Graph Neural Networks in Action.
Graph Contrastive Learning.


Added windows installation guide.

Information on how to install SDL2 development libraries on Windows.


Extending Physical Sky with presets and user set atmospheric scattering

See Physically Based Rendering Of The Mars Atmosphere

This could be extended with data for, as example, Venus, or Titan

It also depends on the spectral shading work to be done as part of color management.


[BUG] Incorrect flint index name during query rewrite

What is the bug?
After upgrading Spark to 3.4.1, skipping index won't be applied to rewrite applicable queries, because during query rewrite, an incorrect flint index name is constructed for the queried table.
How can one reproduce the bug?
Steps to reproduce the behavior:

Spin up EMR Serverless with emr-6.13.0 release
Create skipping index for a table and run an applicable select query
Check Spark driver log for
INFO FlintSpark: Describing index name flint_spark_catalog_default_{table}_skipping_index
Explaining applicable query shows Physical Plan using InMemoryFileIndex / CatalogFileIndex

What is the expected behavior?

Spark driver log should show
INFO FlintSpark: Describing index name flint_{datasource}_default_{table}_skipping_index
Explaining applicable query should show Physical Plan using FlintSparkSkippingFileIndex

What is your host/environment?

OS: 2.13
EMR-S: 6.13 (which uses Spark 3.4.1)

Do you have any screenshots?
If applicable, add screenshots to help explain your problem.
Do you have any additional context?
Using emr-6.13.0 release, EXPLAIN EXTENDED for query shows +- Relation spark_catalog.default.{table} in Analyzed Logical Plan, while for emr-6.11.0 release, it reads +- Relation default.{table}
Change in TableIdentifiers interface:

3.3: https://github.com/apache/spark/blob/45ba9224602eb18fe45e339cbb8cf2e8a4924f0b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/identifiers.scala#L43-L45
3.4: https://github.com/apache/spark/blob/branch-3.4/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/identifiers.scala#L51-L59

Root cause of the issue is https://github.com/opensearch-project/opensearch-spark/blob/main/spark-sql-applica[…]main/java/org/opensearch/sql/FlintDelegatingSessionCatalog.java. We should be returning the actual name of the datasource rather than spark_catalog. This will be a breaking change.

Root cause of the issue is https://github.com/opensearch-project/opensearch-spark/blob/main/spark-sql-applica[…]main/java/org/opensearch/sql/FlintDelegatingSessionCatalog.java. We should be returning the actual name of the datasource rather than spark_catalog. This will be a breaking change.

We did this by intention. The is because Spark compare catalog name with static string (spark_catalog) and take action differently. https://github.com/apache/spark/blob/master/sql/catalyst/src/main/scala/org/apache/spark/sql/connector/catalog/CatalogV2Util.scala#L386C1-L388C4

You shouldn't need to do that . Because we are delegating to default spark catalog, the session will still work correctly if you set catalog name properly. Take a look at how Iceberg does it: https://github.com/apache/iceberg/blob/main/spark/v3.5/spark/src/main/java/org/apache/iceberg/spark/SparkSessionCatalog.java
Let's assume we fix name() to return the configured name. The general flow will be that I create a FlintDelegatingSessionCatalog with name my_s3. Whenever, I run SQL queries on a table in catalog my_s3 that will use spark_catalog as all actions are delegated to that catalog, but the table identifier will be my_s3.${database}.{table}. Let's say I set sql.catalog.spark_catalog to Iceberg's SparkSessionCatalog, then the all actions would delegate to Iceberg's SparkSessionCatalog, which in turn delegates to the default SparkSessionCatalog if the table is not Iceberg. But the table identifier is still my_s3.${database}.${table}
Now by changing name() to return the configured name instead of spark_catalog we will be breaking existing behavior because the behavior was buggy in 3.3 and fixed in 3.4. In Spark 3.3, using or example of my_s3 catalog above, all database/table actions that specify my_s3 as catalog actually use spark_catalog as the catalog identifier for the table! In Spark 3.4, this behavior is fixed, so all table actions that specify my_s3 as catalog actually use my_s3 as the catalog identifier for the table.

Test create csv table with Iceberg catalog
./bin/spark-sql --packages org.apache.iceberg:iceberg-spark-runtime-3.4_2.12:1.5.1\
    --conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions \
    --conf spark.sql.catalog.spark_catalog=org.apache.iceberg.spark.SparkSessionCatalog \
    --conf spark.sql.catalog.spark_catalog.type=hive \
    --conf spark.sql.catalog.local=org.apache.iceberg.spark.SparkCatalog \
    --conf spark.sql.catalog.local.type=hadoop \
    --conf spark.sql.catalog.local.warehouse=$PWD/warehouse \
    --conf spark.sql.defaultCatalog=local

spark-sql ()> CREATE TABLE local.default.test (name STRING, age INT) USING CSV;
24/05/06 21:16:38 ERROR SparkSQLDriver: Failed in [CREATE TABLE local.default.test (name STRING, age INT) USING CSV]
java.lang.IllegalArgumentException: Unsupported format in USING: CSV
	at org.apache.iceberg.spark.Spark3Util.rebuildCreateProperties(Spark3Util.java:129)
	at org.apache.iceberg.spark.SparkCatalog.createTable(SparkCatalog.java:246)
	at org.apache.spark.sql.connector.catalog.TableCatalog.createTable(TableCatalog.java:199)
	at org.apache.spark.sql.execution.datasources.v2.CreateTableExec.run(CreateTableExec.scala:44)
	at org.apache.spark.sql.execution.datasources.v2.V2CommandExec.result$lzycompute(V2CommandExec.scala:43)
	at org.apache.spark.sql.execution.datasources.v2.V2CommandExec.result(V2CommandExec.scala:43)
	at org.apache.spark.sql.execution.datasources.v2.V2CommandExec.executeCollect(V2CommandExec.scala:49)
	at org.apache.spark.sql.execution.QueryExecution$$anonfun$eagerlyExecuteCommands$1.$anonfun$applyOrElse$1(QueryExecution.scala:98)
	at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$6(SQLExecution.scala:118)
	at org.apache.spark.sql.execution.SQLExecution$.withSQLConfPropagated(SQLExecution.scala:195)
	at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$1(SQLExecution.scala:103)
	at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:827)
	at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:65)
	at org.apache.spark.sql.execution.QueryExecution$$anonfun$eagerlyExecuteCommands$1.applyOrElse(QueryExecution.scala:98)
	at org.apache.spark.sql.execution.QueryExecution$$anonfun$eagerlyExecuteCommands$1.applyOrElse(QueryExecution.scala:94)
	at org.apache.spark.sql.catalyst.trees.TreeNode.$anonfun$transformDownWithPruning$1(TreeNode.scala:512)
	at org.apache.spark.sql.catalyst.trees.CurrentOrigin$.withOrigin(TreeNode.scala:104)
	at org.apache.spark.sql.catalyst.trees.TreeNode.transformDownWithPruning(TreeNode.scala:512)
	at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan.org$apache$spark$sql$catalyst$plans$logical$AnalysisHelper$$super$transformDownWithPruning(LogicalPlan.scala:31)
	at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper.transformDownWithPruning(AnalysisHelper.scala:267)
	at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper.transformDownWithPruning$(AnalysisHelper.scala:263)
	at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan.transformDownWithPruning(LogicalPlan.scala:31)
	at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan.transformDownWithPruning(LogicalPlan.scala:31)
	at org.apache.spark.sql.catalyst.trees.TreeNode.transformDown(TreeNode.scala:488)
	at org.apache.spark.sql.execution.QueryExecution.eagerlyExecuteCommands(QueryExecution.scala:94)
	at org.apache.spark.sql.execution.QueryExecution.commandExecuted$lzycompute(QueryExecution.scala:81)
	at org.apache.spark.sql.execution.QueryExecution.commandExecuted(QueryExecution.scala:79)
	at org.apache.spark.sql.Dataset.<init>(Dataset.scala:219)
	at org.apache.spark.sql.Dataset$.$anonfun$ofRows$2(Dataset.scala:99)
	at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:827)
	at org.apache.spark.sql.Dataset$.ofRows(Dataset.scala:96)
	at org.apache.spark.sql.SparkSession.$anonfun$sql$1(SparkSession.scala:640)
	at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:827)
	at org.apache.spark.sql.SparkSession.sql(SparkSession.scala:630)
	at org.apache.spark.sql.SparkSession.sql(SparkSession.scala:671)
	at org.apache.spark.sql.SQLContext.sql(SQLContext.scala:651)
	at org.apache.spark.sql.hive.thriftserver.SparkSQLDriver.run(SparkSQLDriver.scala:67)
	at org.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver.processCmd(SparkSQLCLIDriver.scala:415)
	at org.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver.$anonfun$processLine$1(SparkSQLCLIDriver.scala:533)
	at org.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver.$anonfun$processLine$1$adapted(SparkSQLCLIDriver.scala:527)
	at scala.collection.Iterator.foreach(Iterator.scala:943)
	at scala.collection.Iterator.foreach$(Iterator.scala:943)
	at scala.collection.AbstractIterator.foreach(Iterator.scala:1431)
	at scala.collection.IterableLike.foreach(IterableLike.scala:74)
	at scala.collection.IterableLike.foreach$(IterableLike.scala:73)
	at scala.collection.AbstractIterable.foreach(Iterable.scala:56)
	at org.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver.processLine(SparkSQLCLIDriver.scala:527)
	at org.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver$.main(SparkSQLCLIDriver.scala:307)
	at org.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver.main(SparkSQLCLIDriver.scala)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.apache.spark.deploy.JavaMainApplication.start(SparkApplication.scala:52)
	at org.apache.spark.deploy.SparkSubmit.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:1020)
	at org.apache.spark.deploy.SparkSubmit.doRunMain$1(SparkSubmit.scala:192)
	at org.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:215)
	at org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:91)
	at org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:1111)
	at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:1120)
	at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

Why DeletegateSessionCatalog name must be spark_catalog
1.Introduction

If return mycatalog as name in FlintDelegatingSessionCatalog, the following query will failed.

  override def beforeAll(): Unit = {
    super.beforeAll()
    spark.*conf*.set(
      "spark.sql.catalog.mycatalog",
      "org.opensearch.sql.FlintDelegatingSessionCatalog")

    *sql*(s"""
                 | CREATE TABLE **$***testTable*
                 | (
                 |   name STRING,
                 |   age INT
                 | )
                 | USING CSV
                 | OPTIONS (
                 |  header 'false',
                 |  delimiter '\t'
                 | )
                 |""".stripMargin)

    *sql*(s"""
                 | INSERT INTO **$***testTable*
                 | VALUES ('Hello', 30)
                 | """.stripMargin)
  }

An exception or error caused a run to abort: Table default.flint_sql_test does not support append in batch mode.;
AppendData RelationV2[name#4, age#5] mycatalog.default.flint_sql_test default.flint_sql_test, false
+- Project [cast(col1#2 as string) AS name#6, cast(col2#3 as int) AS age#7]
   +- LocalRelation [col1#2, col2#3]
org.apache.spark.sql.AnalysisException: Table default.flint_sql_test does not support append in batch mode.;
AppendData RelationV2[name#4, age#5] mycatalog.default.flint_sql_test default.flint_sql_test, false
+- Project [cast(col1#2 as string) AS name#6, cast(col2#3 as int) AS age#7]
   +- LocalRelation [col1#2, col2#3]

2.  CatalogV2Util.isSessionCatalog perform static check of catalog.name() is spark_catalog. if not, DataSourceV2Relation.create is called which return DataSourceV2Relation.

In CheckAnalysis, it invoke TableCapabilityCheck, V1Table does not support capability check, then it throw exception.

Spent a few hours researching this as well today and had the same findings.
Per your question on Iceberg, only the default default Spark session catalog can use CSV. Iceberg doesn't have that logic.
So I think it should work if you remove this logic: ```
--conf spark.sql.catalog.local=org.apache.iceberg.spark.SparkCatalog
--conf spark.sql.catalog.local.type=hadoop
--conf spark.sql.catalog.local.warehouse=$PWD/warehouse
--conf spark.sql.defaultCatalog=local

The easiest path forward will be to leave the existing behavior of using `spark_catalog` for everything. We should be able to plumb in data source name via Spark property and use that property value to since there should only be one data source at a time.

How to resolve catalog name in Flint
1. Current Status
flint index name is composed by flint_{catalog_name}{database_name}{table_name}_{index_type}. flint index builder and flint optimizer resolve catalog_name from table.qualifedName.
Current, Flint reolve catalog by doing following steps

call CatalogManager current_catalog method to retrive CatalogPlugin object.
resolve catalog from table.qualifiedName. it include 2 cases

prior Spark 3.4, catalog resolve to CatalogManager current_catalog object
since Spark 3.4, table.qualifiedName include catalog name, catalog resolve to spark_catalog object

fetch all registeed catalog names from CatalogManager, the reason is catalog name regester in CatalogManager through spark.sql.catalog.{catalog-name}, instead of call Catalog.name() method.
call CatalogManager.catalog(catalog-name) and compare with current catalog object. if it is not match, call Catalog.name().

Why the solution does not work since spark 3.4
since 3.4, catalog always resolve to spark_catalog instead of catalog-name configured / specified in query.
2. Proposed solution
The proposed solution is to change catalog resolve logic of step 3 and step 4 as below. The idea is reuse Spark current logic to reolsve CatalogPlugin, but customized catalogName resolve logic. spark.sql.defaultCatalog is used if Catalog.name is spark_catalog. it is a work around to solve https://github.com/opensearch-project/opensearch-spark/issues/319#issuecomment-2099515920.
def resolveCatalogName(CatalogPlugin catalog): String = {
    // FlintDelegateSessionCatalog always return spark_catalog
    // We use defaultCatalog value in this case.
    if (catalog.name() == "spark_catalog") {
      val defaultCatalog = conf.get("spark.sql.defaultCatalog")
      if (CatalogManager.isRegistered(defaultCatalog)) {
        return defaultCatalog
      } else {
        // it may happen when spark.sql.defaultCatalog is configured, but not implementation.
        // for instance, spark.sql.defaultCatalog = unknown
        throw new RuntimeException("unknown catalog name")
      }
    } else {
      // works for customized catalog, for instance OpenSearch Catalog
      return catalog.name()
    }
}

Preconditions
the solution requierd the following configurations for glue catalog

spark.sql.defaultCatalog = catalog-name
spark.sql.catalog.catalog-name = org.spark.sql.FlintDelegationSessionCatalog

Limitations

only one glue catalog can be supported

This approach looks good to me. Even today I think only one glue catalog can be supported at a time.


Use IG pointed to by ig.ini for configuration

This PR addresses CIMPL-584.
If there is an ig.ini file with an ig property, it will be used to identify the correct ImplementationGuide to be used for the Configuration and Instance processors. The approach for finding and parsing the ig.ini is similar to the one used by SUSHI.

@ngfreiter these should be resolved in 8790f38 and afdb5e5!


Enhancement: Global concurrency empty state

Adds an empty state for global concurrency.

@billpalombi @bunchesofdonald for check on copy


ChannelInvoker.newPromise should pass file and line to eventLoop.newPromise

We normally want debugging information to keep track of where our promises are allocated in debug modes. However, if someone does Channel.newPromise instead of eventLoop.newPromise, that information is lost. The core issue is here: https://github.com/apple/swift-nio/blob/fef728cab0cdb65459e3028d7ab7ffece0f34f6f/Sources/NIO/ChannelInvoker.swift#L182-L184
This indirection should preserve the #file and #line specific debugging logic we use elsewhere.

Hey guys, I think I've fixed this with my PR.


Document sBTC Mini

Definition of Done
We have an explanation of what sBTC Mini is, why it is being created, and the technical/economic differences between it and full sBTC.

Sbtc mini is a decentralized stacking pool on stacks 2.4 that distributes rewards in sBTC.
In Stacks 2.4, only this stacking pool contract can mint and burn sBTC. That means sBTC is secured by the locked stx in the stacking pool.
The stacking pool can have at most 100 members. It is active only if the stacked amount is 1m STX or more.
Pool members are responsible managing a bitcoin wallet that backs sBTC. They are responsible for handling deposits and withdrawals of bitcoin to and from the wallet as described on the sBTC page with the following exceptions:

btc withdrawal requests can only be submitted as a stacks tx.
if the pool is not active, sbtc is frozen until the pool is reactivated.

if the pool is not active, sbtc is frozen until the pool is reactivated.

I assume holders of sBTC will still be able to transfer sBTC and use the token - and just the ability to withdraw/deposit is frozen right?

@netrome Yes, correct. I'll update my comment.
Do you have a different/better proposal what happens if the pool is not active? The punishment is stopped as well.

Do you have a different/better proposal what happens if the pool is not active? The punishment is stopped as well.

I don't follow what "the punishment is stopped" means. Does mini have a means of penalizing signers if they don't fulfill their duties - beyond keeping their STX locked? I mean, they would still receive their BTC rewards right?

@netrome Stackers can drop out by revoking (the permission for the pool admin to extend locking), therefore, their STX can't be kept locked. Once they STX is not locked anymore, they won't receive any BTC rewards any more.
I don't understand the reward distribution algorithm yet, maybe we can make it so that the BTC rewards are frozen when the pool is not active.

I don't understand the reward distribution algorithm yet, maybe we can make it so that the BTC rewards are frozen when the pool is not active.

The BTC rewards are controlled by PoX consensus, and I'd assume that any changes there would be consensus breaking and therefore not in scope for Mini.
Then it sounds like we don't have any means to economically incentivize stackers to behave in Mini, which is along the lines of what I've heard before. We're relying on them to be benevolent.

BTC rewards are collected in the peg wallet (what is the new name for it?) and distributed like in any stacking pool proportionally to the stacked stx of each stacker.
We could deactivate the distribution if the pool is inactive the next cycle.

BTC rewards are collected in the peg wallet (what is the new name for it?) and distributed like in any stacking pool proportionally to the stacked stx of each stacker.
We could deactivate the distribution if the pool is inactive the next cycle.

sBTC wallet is the term used in the docs nowadays.
Who would deactivate the BTC reward distribution? Is that governed by the smart contract? Since anyone can just drop out of the pool I don't see a big benefit of this addition.

Isn't the flow

Join
Vote
Transfer
Audit
Get rewards

If you leave early, you don't get rewards for the current cycle.
If you misbehave, you don't get rewards for the upcoming cycle and you locking is extended.
Therfore, the punishment comes before the rewards.
The rewards for the punished cycle could be used to pay interest for the failed withdrawals.

Oh, I see the rewards can be distributed earlier.

Yeah, 2. 3. and 4. is happening independent of 5. Also, how does the reward deactivation work? Would the entire pool be cut out from getting BTC rewards and how does that work?
The biggest sBTC risk would be the signers all colluding together to steal the sBTC wallet BTC, and as I understand it we can't penalize them proportionally if they do so in 0.1. Therefore 0.1 relies on the assumption that signers are benevolent and play nice.

Yes, you are correct

outdated


Using set_event_callback

Firstly, thank you very much for this library, I'm new to both Rust and OpenCL and find this library with its tests and examples as a great resource.
I'm trying to use set_event_callback from opencl3/cl3 but cannot find any documentation or examples on how this can be done. Can you please point me to a doc/test if one is available for this?
My goal is for my code to be able to run kernel executions repeatedly while utilizing the GPUs to the maximum possible. So my plan was to avoid blocking actions in the execution path and use event callbacks in order to determine when the kernel execution has been completed. Once it completes, I can flag it and allow my code to start a new execution again. As I mentioned I'm new to this, so maybe what I'm trying to achieve is not possible.

Thank you Itay, I'm glad to hear that you find the library useful.
I'm sorry about the lack of a call to set_event_callback from opencl3, that was an oversight by me.
I've added a new method set_callback to the opencl3 Event struct and I've also added an example in test_event to show how it can be used to call a callback function. They are in the develop branch. Please let me know if you have any problems with them.
BTW, set_callback calls the OpenCL clSetEventCallback function.
As for your goal, it may be easier to achieve using OpenCL event lists to wait_for_events (see, clWaitForEvents) than by using callback functions.

Thank you for your quick response, works as expected, however I'm reading
more about wait_for_events and I can see the point you made about being
easier and more useful.
Itay Weinberger
CEO
joo.la http://joo.la/ | GitHub http://www.github.com/joola | Twitter
http://www.twitter.com/getjoola
On Sat, Aug 7, 2021 at 6:26 PM Ken Barker @.***> wrote:

Thank you Itay, I'm glad to hear that you find the library useful.
I'm sorry about the lack of a call to set_event_callback from opencl3,
that was an oversight by me.
I've added a new method set_callback to the opencl3 Event struct and I've
also added an example in test_event to show how it can be used to call a
callback function. They are in the develop branch. Please let me know if
you have any problems with them.
BTW, set_callback calls the OpenCL clSetEventCallback
https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clSetEventCallback
function.
As for your goal, it may be easier to achieve using OpenCL event lists to
wait_for_events (see, clWaitForEvents
https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_API.html#clWaitForEvents)
than by using callback functions.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kenba/opencl3/issues/25#issuecomment-894668630, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABAMMCIYDPA2CJWSPGUIWT3T3VGBBANCNFSM5BXHUVPQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

Thank you Itay, if you are happy with the new method then please feel free to close this issue.


Update package CAS.CommServer.DAClientConfiguration

A new packet referring only to the UAOOI must be generated.

Is blocker fo #10

Is blocker fo #10


Update crate version in Cargo

It seems that we have still 0.3.0 version in Cargo.
https://crates.io/crates/blurz
@dati91 what about bumping up the version?

Done.

Thanks!


Not able to configure OpenLDAP Authentication Provider

Rancher Server Setup

Rancher version: 2.6.7
Installation option (Docker install/Helm Chart):Helm Chart

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc):K3S

Proxy/Cert Details:

Information about the Cluster

Kubernetes version:v1.24.4+k3s1
Cluster Type (Local/Downstream):Local

User Information

What is the role of the user logged in? (Admin/Cluster Owner/Cluster Member/Project Owner/Project Member/Custom) Admin

If custom, define the set of permissions:

Describe the bug
Getting "server error while authenticating" and "Error creating connection for startTLS: LDAP Result Code 200 "Network Error": dial tcp 2XXXX:30078: i/o timeout"
when trying to configure OpenLdap as a Auth provider. I have tried using LDAP admin user and even user under different organization unit. But getting the same error. Also not getting error under k3s logs or events.
To Reproduce

Login in Rancher > User & Authentication >Auth Provide > Open Ldap
Open Ldap configuration

With LDAP admin user

Result
Error creating connection: LDAP Result Code 200 "Network Error": dial tcp 2XXXXXXX:30078: i/o timeout
Expected Result

LDAP authentication is enabled
Screenshots

Additional context

Adding Ldap search output of LDAP users I have tried here:
admin, test.com
dn: cn=admin,dc=test,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword:: XXXXXXXXXXXXXXXXXXXXXXXXXXX
testtg, TestTeam, test.com
dn: uid=testtg,ou=TestTeam,dc=test,dc=com
uid: testtg
uidNumber: 1058
mail: sXXXXXXXX@XXXXX
homeDirectory: /home/testtg
givenName: test
gidNumber: 10XX
cn: test name
sn: name
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: top
loginShell: /bin/bash
userPassword:: XXXXXXXXXXXXXXXXXXXXXXXXXXX

Can anyone suggest?


Random imports broken on CI/CD

I'm using GitHub Actions to build my Aleph app to a SSG and deploy it to GitHub pages. However, the build phase is failing due to broken imports that change from run to run - already seen react-dom, recharts, and now font-awesome:
ERROR swc: Unexpected eof at https://cdn.esm.sh/v53/@fortawesome/free-brands-svg-icons@5.15.4/deno/free-brands-svg-icons.js:2:114599
error: Uncaught (in promise) RuntimeError: unreachable
    at <anonymous> (wasm://wasm/01af0e1a:1:5988112)
    at <anonymous> (wasm://wasm/01af0e1a:1:6080963)
    at <anonymous> (wasm://wasm/01af0e1a:1:6153071)
    at <anonymous> (wasm://wasm/01af0e1a:1:6148359)
    at <anonymous> (wasm://wasm/01af0e1a:1:6153171)
    at <anonymous> (wasm://wasm/01af0e1a:1:6100310)
    at <anonymous> (wasm://wasm/01af0e1a:1:3790639)
    at <anonymous> (wasm://wasm/01af0e1a:1:3987607)
    at <anonymous> (wasm://wasm/01af0e1a:1:6138696)
    at transformSync (https://deno.land/x/aleph@v0.3.0-beta.15/compiler/dist/compiler.js:196:18)

I didn't manage to grab one of those unparseable modules to verify what exactly is causing the EOF error.

closed in https://github.com/alephjs/aleph.js/commit/e51fabe76f4abedbb7c4549e4eda8b3ede2d2379


Add support for DragonFlyBSD. And use pthread_setaffinity_np on BSDs as well.

Imre, could you please address the ssuggestions from Jim?


[WIP] Official 1.28 Release Docs

🛑 DO NOT MERGE 🛑 UNTIL KUBERNETES 1.28 IS RELEASED
Target Date: 2023-08-15
Release deadlines
From sig-release:

Description
Date

Docs deadline — Open placeholder PRs
Thursday 20th July 2023

Docs deadline — PRs ready for review
Tuesday 25th July 2023

Docs complete — All PRs reviewed and ready to merge
Tuesday 8th August 2023

v1.28.0 released
Tuesday 15th August 2023

For More Information
cc: Kat Cosgrove (@katcosgrove / Slack: @katcosgrove), Tania Duggal (@taniaduggal / Slack: @Tania Duggal),  Vibhor Chinda (@VibhorChinda / Slack: @Vibhor Chinda), Michael Levan (@AdminTurnedDevOps / Slack: @Michael Levan)
/hold

For safety, I'll also
/retitle [WIP] Official 1.28 Release Docs

/milestone 1.28

@Rishit-dagli an interesting CLA check failure here. If you'd like help clearing that, let us know.

Yeah I don't know why that fails because each commit to dev-1.28 does require the CLA. Could you please help me with this @sftim ?

Could you please help me with this @sftim ?

I'll highlight this in the docs maintainers channel on Kubernetes Slack.

@Rishit-dagli The commit co-authored by Kevin Hannon and Tim is not linked correctly to the Kevin's GitHub account. As a result, the CLA is failing.
Since this PR has multiple commits, it'd be best if you link it correctly by following the instructions on the troubleshooting page.
You can view Kevin's email ID and first name/last name by appending a .patch to this PR URL & doing cmd + f /ctrl + f.

This would require me to force push to dev-1.28 since if I rebased and fixed these authors details in another branch (tried this at https://github.com/Rishit-dagli/website/tree/easycla) and tried to merge that dev-1.28, the merge would try to preserve commits from dev-1.28  and my new changed branch (which would be changed commits since rebase would update the hash for all commits in between)?

/easycla

/easycla

Based on the discussion in this Slack thread, it seems we should go ahead with merging this using write access.

@Rishit-dagli do you know how to preview locally? You could do that.
Try this:
git checkout dev-1.28
git pull --ff-only # this also assumes you pulled from k/website
git checkout main
git pull --ff-only # this assumes you pulled from k/website
git checkout -b test-merge
git merge dev-1.28 --no-ff
# if there are merge conflicts etc, don't fix them here - find out why and fix the dev-1.28 branch first
make container-serve # now visit http://localhost:1313/ and look around

@Rishit-dagli do you know how to preview locally? You could do that.

Yeah, let me try previewing this.

The preview for what it would look like when this PR would be merged, generated using a local run: https://64da456df5a8af4f8e46d837--128-test.netlify.app/

It seems that the Netlify Build just times out.

Does anyone have any suggestions on making the netlify builds pass (PS: they run well locally see https://128-test.netlify.app/) or should we still merge (in which case could someone else test the build too)?

We haven't 100% figured out how to make Netlify builds happen reliably. I would still do the release even though the deploy preview isn't working.

/retitle Official 1.28 Release Docs
/approve

Sounds good we still need an approve and lgtm on this

@Rishit-dagli , you don't need the lgtm and approve labels since you will manually merge this
Please see this example PR for the 1.23 docs https://github.com/kubernetes/website/pull/29658


nginx: [emerg] unknown log format "specialLog" in /etc/nginx/conf.d/default.conf:7

2019-12-23: Used the example docker-compose.yml file to start the fusiondirectory-app.
I am getting the above error while starting nginx. I guess it has something to to with the update of the base image a couple of days ago.

No problem, let me fix this up immediately.

I've just pushed tag 2.0.0 and :latest to Docker hub for building. Sorry about this, I had meant to update all images to support the new base image but missed out on this one.

Hi, thanks. Nginx is starting now.
Now I am missing the plugins like personal, dns or mail.
I am not sure if it's the same or a new one:
While starting I am gettting:

chmod: /etc/php7/conf.d/00_bz2.ini: No such file or directory
...........
[cont-init.d] 20-php-fpm: exited 0.
[cont-init.d] 30-fusiondirectory: executing...
rm: can't remove '/assets/fusiondirectory-- plugins/applications/admin/applications': Directory not empty
.........
-** [fusiondirectory] Enabling the following plugins: alias, dns, ldapdump, ldapmanager, mail, personal, posix, sudo, webservice
tar: ./fusiondirectory-plugins/applications/admin/applications/class_applicationGeneric.inc: No such file or directory
.....
tar: error exit delayed from previous errors
Can't write to {/www/fusiondirectory}/include/variables.inc: No such file or directory at /usr/sbin/fusiondirectory-setup line 585.
.........
** [fusiondirectory] Fusiondirectory 1.3 initialized and ready to login

Alright. Let me spin up a local copy here and see whats happening. It's been a while since I have done a new build and some could be related to either the new base image (likely) or their source tree (just as likey). I'll need an hour and a half.

Alright, that is embarrassing. I'm building 2.0.1 and latest and also reverting back to PHP 7.2 as am seeing some warnings that need to be dealt with upstream. Cause is that I wasn't calling a variable properly. Tested on our Dev system and functioning as expected.

Just tested it, seems to work now. Plugins are working.


FOR IN ZIP and FOR IN ENUMERATE enhancements

While refactoring FOR loop code to make it easier to implement &{dict} iteration (#3485) I noticed some limitations in the current FOR IN ZIP and FOR IN ENUMERATE loops originally added by #1952.
Problems related to FOR IN ZIP are caused by the fact that nowadays these loops require having the same number of variables and values like in:
FOR    ${x}    ${y}    IN ZIP    ${LIST 1}    ${LIST 2}
    # ...
END

This means that it isn't possible to get lists to iterate over from a list variable like this:
FOR    ${x}    ${y}    IN ZIP    @{LISTS}
    # ...
END

Another problem is that it isn't possible to use just one loop variable that would get items from all lists like:
FOR    ${items}    IN ZIP    ${LIST 1}    ${LIST 2}
    # ...
END

With FOR IN ENUMERATE loops the problem is similar to the latter issue with FOR IN ZIP. It isn't possible to have just one FOR IN ENUMERATE loop variable that gets both the index and the item.
FOR    ${index and item}    IN ENUMERATE    a    b    c    d    e
    # ...
END

None of limitations are big but especially being able to use list variables with FOR IN ZIP loops could sometimes be handy. Fixing the problems while otherwise cleaning up the code is easy.

Using list variables with FOR IN ZIP is so handy that decided to increase severity.


Control (Vehicle State): adjust localization transform for reverse dr…

…iving

@kevin-y-wang Just add TODO here to deprecate in future

Update the commit with "TODO" for explaining the strategy

Modifications finished per comment. Thanks.

Another new commit is added into the pull request

Synchronize the vehicle_state_provider and trajectory analyzer for location transformation between center of rear-axis and COM


Failures on [cfe] Handle callable extension getters

There are new test failures on [cfe] Handle callable extension getters.
The tests
language/nnbd/resolution/question_dot_produces_nullable_type_test/02 Crash (expected CompileTimeError)
language/nnbd/static_errors/unchecked_use_of_nullable_test/102 Pass (expected CompileTimeError)
language/nnbd/static_errors/unchecked_use_of_nullable_test/102 Pass (expected CompileTimeError)
language/nnbd/static_errors/unchecked_use_of_nullable_test/62 Pass (expected CompileTimeError)
language/nnbd/static_errors/unchecked_use_of_nullable_test/62 Pass (expected CompileTimeError)

are failing on configurations
cfe-strong-linux
cfe-weak-linux
dartdevk-strong-linux-release-chrome
dartdevk-weak-linux-release-chrome
dartk-strong-linux-debug-x64
dartk-strong-linux-release-x64
dartk-weak-asserts-linux-debug-x64
dartk-weak-asserts-linux-release-x64

These are fixed now.


Docs menu layout bug with Safari

buggy display after scrolling a bit vertically

PR #30 should fix this. Can you please test and submit perhaps?
I deployed the fix here:
http://vert-x3-preview.michel-kraemer.com/docs/vertx-core/java/
Cheers,
Michel

it works now.

Great! I suppose you will submit the PR yourself or should we wait for Tim? Or should I do it myself? (sorry for my ignorance, I'm still new to your development process)


[Request] wrap links into html tags and other features

Hi KnugiHK,
Thanks for the great script !!

would be great to have all external links matchig http*// to be wrapped into html  tag, so that they can be klicked in messages
after all html files have been created, add a function that will create an overview html file, such as index.html with 2 frames (panes) or by using "aside" html tag, where the left pane will contain the contacts list, each contact linked to their single html  file, that will then be displayed in the right pane.
add a function that would pull the message info details from the db such as the timestamps when a message was delivered and viewed.
add an option to preserve original filedate when extracting files.
add an option to preserve subdirs
code here: https://github.com/jsharkey13/iphone_backup_decrypt/commit/95f6f376a1ab4ac8ec0e8afcb7315a78fe686421
Best regards

Feature 1 released in 0.9.7.

Yeah !

Regarding (2), it would be useful for the "index.html" page to be able to sort contacts by most recently contacted (to mirror conversation order in the app).

Regarding (2), it would be useful for the "index.html" page to be able to sort contacts by most recently contacted (to mirror conversation order in the app).

Tracked on #101.


Change cagra.build_index to cagra.build

This changes the build_index method to build in the python API for cagra. All of the other python api's use a build method for building the index, as do both the C++ and Rust api's as well.

/merge


Higher order type parameter support

Proposal

As we known, we can write higher order function in js
const makeTuple = x => y => [x, y]

Can we provide something like this in type level?
// define
type MakeTupleType <T> <U> = [T, U]
// use it
type MyTupleType = MakeTupleType<number><string>
// or some thing like
type MyTupleType1 = MakeTupleType<number>
type MyTupleType2 = MakeTupleType1<string>

// define
const makeMyTupleFunction = <T> <U> (x: T, y: U) => [x, y]

// use it
const makeMyNumberStringTuple = makeMyTupleFunction<number><string>
const myTuple = makeMyTupleFunction(1, '')

// or some thing like
const makeMyNumberAnyTuple = makeMyTupleFunction<number>
const myTuple = makeMyTupleFunction<string>(1, '')

Are there more concrete use cases other than these toy examples? Is there any important framework code that can be property typed, but will be otherwise impossible to declare its type without this feature?


Nested drawers?

Hi, how does this component work with nested drawers like in this example?
https://plnkr.co/edit/fojeyUjllAJ5UYejYf0m?p=preview&preview
Been thinking how to implement it myself. The example is referenced in this stack overflow question.
https://stackoverflow.com/questions/29807207/reactjs-sidebar-with-multiple-views

Hi there!
in order to have this, you need to put another drawer inside the body of the root drawer.
Here is an example for it.
import React, { useState } from 'react'

import Drawer from 'react-modern-drawer'
import 'react-modern-drawer/dist/index.css'

const App = () => {
    const [isRightOpen, setIsRightOpen] = useState(false)

    const toggleRight = () => {
        setIsRightOpen((prev) => !prev)
    }

    const btnStyle = {
        backgroundColor: '#03adfc',
        color: '#fff',
        borderRadius: '5px',
        border: 'none',
        padding: '10px 25px',
        cursor: 'pointer',
        margin: 5,
        width: 200,
    }

    return (

                <button style={btnStyle} onClick={toggleRight}>
                    Open Right
                </button>

            <Drawer
                open={isRightOpen}
                onClose={toggleRight}
                direction='right'
                size={300}
            >
                <DrawerBody />
            </Drawer>

    )
}

export default App

const DrawerBody = () => {
    const [showInside, setShowInside] = useState(false)

    const closeInside = () => {
        setShowInside(false)
    }

    const openInside = () => {
        setShowInside(true)
    }

    return (

Hello World! 🚀🥳

            <button onClick={openInside}>open</button>
            <Drawer
                open={showInside}
                onClose={closeInside}
                direction='right'
                size={300}
                enableOverlay={false}
            >
                I am inside
                <button onClick={closeInside}>close</button>
            </Drawer>

    )
}

I hope this helps you. :)

Thanks for the help. Just got as question, how do you close the outmost drawer when a click is outside? I haven't figured out how that is made by looking at the code.

How is it possible that the child also closes when the parent drawer closes?

Btw, any idea how to fix this error?

How is it possible that the child also closes when the parent drawer closes?

You can simply add a useEffect and check whether the drawer is open and if not, change the state of inner drawers to closed.


Implement round()

I found myself needing round() lately, see https://doc.rust-lang.org/std/primitive.f64.html#method.round.
A quick glance at compiler_builtins shows that they don't actually offer it either.

Sure, will see what I can do.

I suggest looking at the Berkeley SoftFloat implementation.

It's in CI now, but should be all good. Had to add trunc and copysign also to math the libm implementation.

Wow, that was fast.
Amazing work, thank you!


When I executed the T command in the debug program, the entire simulator stopped responding

i try to modify the cs:ip or the instruct, but the result is same.

please forgive i am not a native English speaker.

#161

@SuperMaxusa thank you.


Forecast for the update of the 'Holistic Solution' in the new versions

Have I written custom code (as opposed to using a stock example script provided in MediaPipe)
No
OS Platform and Distribution
Ubuntu
MediaPipe Tasks SDK version
No response
Task name (e.g. Image classification, Gesture recognition etc.)
Holistic
Programming Language and version (e.g. C++, Python, Java)
Python
Describe the actual behavior
Holistic solution
Describe the expected behaviour
Holistic solution updated in the short term
Standalone code/steps you may have used to try to get what you need

Other info / Complete Logs
First of all, congratulations on this remarkable project.
Regarding the 'holistic' solution, I noted on your website the announcement: "An upgraded version of this MediaPipe Solution is coming soon!"
It appears this message has been displayed for several months now. I am eager to learn whether there are plans to launch an enhanced, GPU-compatible version of 'holistic'.
While I understand precise timelines might be challenging, could you provide a general indication of whether any progress in this area is anticipated in either the first or second quarter of the year?
Thank you for your time and consideration.

Hi @ThiruSS,
The newly upgraded Holistic code has been completed. Primarily, it will be included in the upcoming release, initially planned for mid-January. However, due to a pipeline issue, the release has been rescheduled for, or within, the second week of February. Unfortunately, We are unable to provide an exact date at this time. Nevertheless, we anticipate that it will support GPU, similar to our other Python Task APIs.
Thank you!!

Any updates on this? Further delay expected, if I may ask ;)

Any further news on this model update?


Bug fix. CreateTablesAsync() did not create a table for the first type parameter.

CreateTablesAsync<T,T2,T3> and CreateTablesAsync<T,T2,T3,T4> did not create a table for type T.

Good catch! Thanks!


New package: SARSOP_jll v0.96.0+0

Registering package: SARSOP_jll
Repository: https://github.com/JuliaPOMDP/SARSOP_jll.jl
Created by: @zsunberg
Version: v0.96.0+0
Commit: cf573e746bd6297a1c7ce02a301a11f506f260ec
Reviewed by: @zsunberg
Reference: https://github.com/JuliaPOMDP/SARSOP_jll.jl/commit/cf573e746bd6297a1c7ce02a301a11f506f260ec#commitcomment-42799817

Please don't merge - this is not correct


Native MacOs Application

Hello,
I developed a macOS client incorporating this script to provide a more user-friendly interface.
Here is the link to the project page https://github.com/manueldidonna/comic2books
@celogeek many thanks for your exceptional work!

Thanks !

I add it to the readme


SafeHaskell not working

Given:
ghcide-safe.cabal:
cabal-version:       >=1.10
name:                ghcide-safe
version:             <IP_ADDRESS>
build-type:          Simple

library
  exposed-module:      Safe
                       TrustWorthy
  build-depends:       base >=4.12 && <4.13
  default-language:    Haskell2010

TrustWorthy.hs
{-# LANGUAGE Trustworthy #-}
module TrustWorthy where

import System.IO.Unsafe
import System.IO

trustWorthyId :: a -> a
trustWorthyId i = unsafePerformIO $ do
  putStrLn "I'm safe"
  return i

Safe.hs
{-# LANGUAGE Safe #-}
module Safe where

import TrustWorthy

safeId :: a -> a
safeId = trustWorthyId

Running ghcide gives me:
$ ghcide
ghcide version: 0.1.0 (GHC: 8.6.5) (PATH: /home/christiaan/.cabal/store/ghc-8.6.5/ghcide-0.1.0-9dff19bbe1a6479cf0636798849c8610d18a87b60e9dd627dabbfb830d06787a/bin/ghcide)
Ghcide setup tester in /home/christiaan/devel/ghcide-safe.
Report bugs at https://github.com/digital-asset/ghcide/issues

Step 1/6: Finding files to test in /home/christiaan/devel/ghcide-safe
Found 3 files

Step 2/6: Looking for hie.yaml files that control setup
Found 1 cradle

Step 3/6, Cradle 1/1: Implicit cradle for /home/christiaan/devel/ghcide-safe
Cradle {cradleRootDir = "/home/christiaan/devel/ghcide-safe", cradleOptsProg = CradleAction: Default}

Step 4/6, Cradle 1/1: Loading GHC Session
Loaded package environment from /home/christiaan/devel/ghcide-safe/.ghc.environment.x86_64-linux-8.6.5

Step 5/6: Initializing the IDE

Step 6/6: Type checking the files
File:     /home/christiaan/devel/ghcide-safe/Safe.hs
Hidden:   no
Range:    4:0-4:19
Source:   typecheck
Severity: DsError
Message:
  /home/christiaan/devel/ghcide-safe/Safe.hs:4:1: error:
  TrustWorthy: Can't be safely imported!
  The module itself isn't safe.
Files that failed:
 * /home/christiaan/devel/ghcide-safe/Safe.hs

Completed (2 files worked, 1 file failed)

I have also run into this.

Patch: https://github.com/digital-asset/ghcide/pull/489


Wrong link for "Persist user credentials across PowerShell sessions."

[Enter feedback here]
I'm currently on page "Install the Azure PowerShell 'Az' module".
When I follow "Persist user credentials across PowerShell sessions.", this is documentation using Azure/AzureRM module.
As AZ and Azure/AzureRM don't work well together, the link looks quite useless.
Could you provide right link, please?

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

ID: 03d5fafc-2cf8-9c41-1e89-568453f13ed6
Version Independent ID: bd4fb194-d6af-e442-5ced-793e09c3fa83
Content: Install Azure PowerShell 'Az' with PowerShellGet
Content Source: docs-conceptual/azurermps-6.13.0/install-az-ps.md
Service: azure-powershell
GitHub Login: @sptramer
Microsoft Alias: sttramer

@stej - We are currently in the process of updating documentation for the Az module, which will be released onto the site when the module reaches 1.0. It is currently in pre-release at this time, so features may change or be different from AzureRM. However, the instructions for maintaining context should work for both modules as described. The only difference may be the location of the context file, which under Az is stored in $HOME/.Azure or $env:USERPROFILE\.Azure.


BUG - Slider min. value disfunctional and not editable

Does the issue occur in the electron-app or the web-app?

[ ] midi-bricks-electron
[ ] midi-bricks-web-app
[x] both

Can you determine, which version was used?
Version: 1.3.10
Describe the bug
A: Minimum value is not editable.
B: Sliders' Minimum Value is disfunctional. A predefined value other than 0 is ignored. Slider goes down to 0.
Steps To Reproduce
Steps to reproduce the behavior:
A1. Go to a slider's Settings
A2. Try to change the 'Minimum Value'
A3. See error
B1. Open a preset which contains a slider with a defined Minimum Value other than 0
(B2. e.g. ALEC TRONIQ live 2019.e MIDI BRICKS 1.2.8-alpha.14_SANITIZED_BY_TIM.json  / Go to Page 1 "KEY MO")
B2. Move slider ("Rev Decay" or "Delay Amount")
B3. See slider going down to value 0
(B4. Check the outgoing MIDI value with Software or MIDIox or similar)
B5. Proceed to A2

solved in 1.3.18


[Runtime] Add SWIFT_ALWAYS_INLINE to various refcounting helpers.

Clang has decided not to inline certain functions on the refcounting fast paths, so we need to convince it otherwise.
rdar://problem/72150908

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - 405452198f8d603ac350c324099726067c1529f0

@swift-ci please test linux platform

Build failed
Swift Test OS X Platform
Git Sha - 405452198f8d603ac350c324099726067c1529f0

@swift-ci please test windows platform

@swift-ci please test macos platform

@swift-ci please test windows platform


libgen: foreign fiction not parsed correctly

The HTML from http://libgen.io/foreignfiction/index.php is not parsed correctly. While the page is rendered correctly the HTML cannot be fed directly into BeautifulSoup because of some tags being in places that they shouldn't. An alternative interface (currently in some beta phase, but much easier to parse) is available at http://gen.lib.rus.ec/fiction/. I expect more changes to this interface in the coming months, so parsing it correctly is likely a moving target.
It would probably be a good idea to ask the devs if there are plans to expand the JSON API (See #85), or check how the desktop application gets its data.

The desktop application uses an imported local copy of the databases. These are all publicly available but the current latest backups will consume roughly ~1G (compressed). If we'd have these, we could just SQL us to what we want. Should bookwyrm download these databases? Some plugin preparation step? New DB releases are tagged with a proper "Last modified".

Databases can be downloaded to ~/.local/share. For a start, bookwyrm can expect these files to exist and we'll find some neat way for it to automatically download them later.

The database backups are MySQL dumps, but we do not want to host our own MySQL server, so instead we can convert the dump to sqlite-compatible statements via mysql2sqlite. After some minor adjustments to the produced file (removing the libgen. prefix to crated tables) we can give the database to bookwyrm.

Databases can be downloaded from http://libgen.io/dbdumps/.

The easiest implementation of this approach would be to just feed every entry to bookwyrm so that it can do all the heavy lifting (takes no more than a few seconds on an SSD). The complexity of the libgen plugin will then lay in preparation: downloading the databases, unarchiving, and converting to sqlite dbs.

Local databases are now queried. Bottleneck is not the disk but when feeding the items to bookwyrm. Can likely be sped up by spawning some feeder threads, but current implementation is sufficient for now.

List of things to do/consider before we can close this issue:

[ ] Prompt user if database dumps should be downloaded  (from fresh, updated, etc.)
[ ] Download dumps for fiction and libgen
[ ] Uncompress the dumps
[ ] Remove MySQL-ness and convert to sqlite3 statements. (see https://github.com/dumblob/mysql2sqlite)
[ ] Generate actual database with sqlite3.
[ ] Delete temporary files

The JSON API can apprently be used to apply future updates to the database, but we'll tackle that later.
For now, the biggest question is how we should convert the dumps to sqlite3 statements. Do we need all the replacements done in the awk-script or only a subset? Best outcome is if we can do everything in pure Python.

For the time being, this behavior should be wrapped into a --prepare option, that, as the option implies, prepares any and all plugins that require preparation.


Best practices for numpy PRNG

Perhaps an interesting read
https://blog.scientific-python.org/numpy/numpy-rng/

Nice reading, thanks for that. What we do in promdens is exactly what the article recommends. The only thing that we should keep in mind is that the seed should be ideally 128 bits.


Include git guidance in the initial setup

The initial setup needs to include git credentials guidance.

Is this complete? or what info are we missing?

Yes. I think #2 closed this.


Note: geolocator-6.0.0+1\android\src\main\java\com\baseflow\geolocator\location\LocationManagerClient.java uses or overrides a deprecated API

🔙 Regression
The previous version of Geolocator didn't had this warning
Reproduction steps
Just compile an app with the new plugin or compile an existing app after a flutter clean
Configuration
Version: 6.0.0+1
Platform:

[ ] :iphone: iOS
[X] :robot: Android

Aditional info
It seems that the problem could be LocationProvider.AVAILABLE as Android Docs says: "Location provider statuses are no longer supported."

Hi @inceptusp, I have just released version 6.0.0+2 of the geolocator which removes the deprecation warning.
The warning was generated because we implemented the LocationListener.onStatusChanged method for backwards compatibility reasons. Since this method will not be invoked from Android Q and later this will not be causing any problems, hence we simply suppressed the deprecation warning.


Delete Image Given a Public ID

Try to solve #12
[{:ok, image}] = Cloudex.upload("test/assets/multiple/12205032.jpg")
Cloudex.delete(image.public_id)
# => {:ok, %Cloudex.DeletedImage{public_id: "ysaixlehebdcusajobmt"}}

Not 100% sure about having just delete method. delete_resource could also be good since the API endpoint is actually called delete_resource.
Expanding this to have a list is also another possibility that could be done in this PR.
Let me know what I can do to improve my PR 😁

Coverage decreased (-1.7%) to 54.61% when pulling 7f7742fcfaf5189de0f2d11d5808641db3f1bdd5 on pauloancheta:feature/add-delete-with-public-id into db43c38f5b6aba0ee8d489118677c43df0782e2d on smeevil:master.

Coverage decreased (-1.7%) to 54.61% when pulling 10ad2b4b2ab61f119fbe3f6e4aaaccb0e465724a on pauloancheta:feature/add-delete-with-public-id into db43c38f5b6aba0ee8d489118677c43df0782e2d on smeevil:master.

Hi,
Thank you for your time and work on this, looking good :)
If you like you can overload the delete with a list which will Enum.each the delete(item_id).
I'll merge this in as it is :D

just published the new update :)


NSD 4.3.0 does not start on FreeBSD

NSD 4.3.0 fails to start on FreeBSD with following error:
[2020-03-19 10:56:03.988] nsd[6411]: error: setsockopt(..., SO_SETFIB, 0, ...) failed: Bad address

The following change should fix this problem.
--- server.c.orig	2020-03-17 10:00:17 UTC
+++ server.c
@@ -1104,7 +1104,7 @@ set_setfib(struct nsd_socket *sock)
 {
 #if defined(SO_SETFIB)
 	if(setsockopt(sock->s, SOL_SOCKET, SO_SETFIB,
-	              (const void *)(uintptr_t)sock->fib, sizeof(sock->fib)) == -1)
+	              (const void *)&sock->fib, sizeof(sock->fib)) == -1)
 	{
 		log_msg(LOG_ERR, "setsockopt(..., %s, %d, ...) failed: %s",
 		                 "SO_SETFIB", sock->fib, strerror(errno));

Thanks for the fix and the report!

My bad. Very sloppy. Thanks for the patch! Since that means you specified a specific routing table, would love to know how you're using it and if it works for you at some point (if you can spare the time of course). Thanks again.

I have two routing tables.
I'm using ip-address option.
But, I do not specify setfib option in nsd.conf.

Hmmm, then there's possibly another logic error in the code. The SO_SETFIB should only be enabled if setfib is specified in the configuration. I think it's when using the wildcard addresses then(?) In which case the fib member of the nsd_socket struct isn't initialized to -1... I'll have a look

Seems like my hunch was right. Addon fix in #79. Thanks again for the report.


cant use dynaconf in python 3.6.1

I use 'pip install dynaconf' to install it on my mac.
It installed dynaconf-2.2.2 python-box-3.4.6 python-dotenv-0.10.3 toml-0.10.0
when I use from dynaconf import settings in my project. It shows
Traceback (most recent call last):
  File "run/tools/test.py", line 7, in <module>
    from dynaconf import settings
  File "/usr/local/var/pyenv/versions/3.6.1-virtual/lib/python3.6/site-packages/dynaconf/__init__.py", line 1, in <module>
    from dynaconf.base import LazySettings
  File "/usr/local/var/pyenv/versions/3.6.1-virtual/lib/python3.6/site-packages/dynaconf/base.py", line 7, in <module>
    from dynaconf import default_settings
  File "/usr/local/var/pyenv/versions/3.6.1-virtual/lib/python3.6/site-packages/dynaconf/default_settings.py", line 11, in <module>
    from dynaconf.utils.parse_conf import parse_conf_data
  File "/usr/local/var/pyenv/versions/3.6.1-virtual/lib/python3.6/site-packages/dynaconf/utils/parse_conf.py", line 5, in <module>
    from box import BoxKeyError
  File "/usr/local/var/pyenv/shims/box.py", line 3
    [ -n "$PYENV_DEBUG" ] && set -x
                      ^
SyntaxError: invalid syntax

Maybe your "/usr/local/var/pyenv/shims/box.py" is in a different version of box inside your virtualenv ("/usr/local/var/pyenv/versions/3.6.1-virtual/")?

@hilam I check the file "/usr/local/var/pyenv/shims/box.py" found Its not the python-box. It created by pyenv. Maybe dynaconf cant work with pyenv virtualenv on macos.

@jianglijie so this an issue to be reported both to  @pyenv and @cdgriffith box

This is a pyenv problem, which is creating a global  box  module and conflicting with python-box. pyenv should use some namespace to avoid it.


Fix docker tags in README

The README invocations currently start up a container from the latest image, which is out of date.
The quick fix is to make Travis push latest as well as the versioned tags.
Ideally, though, the README should be updated to point at the right tag every time a release is cut.

Done. Fixed travis docker pushes so that latest tag is always up-to-date rather than having users have to track version numbers.


Update idea-list.md

Changed misspelling of the word 'approached'. I noticed it when browsing the website.

 Hope that's fine :)


Add tradestatistics tests

Test that only one tradestatistics entry should be generated by a trade. :sweat_smile:
Ref: https://github.com/haveno-dex/haveno/issues/1099#issuecomment-2226871208

@woodser suggested changes applied.

@woodser suggested changes applied.


Ensure order of recording rule registration in PrometheusRule

It could happen that there are several
prometheus rules with the same name but different
expression.
Since the range in a for loop does not provide
always the same order, it could happen the
resulting prometheus rule list to be different.

thank you for the PR @fossedihelm
can you improve the unit test - https://github.com/machadovilaca/operator-observability/blob/432fa4d553248e7d4afa1c953b15f675c603b777/pkg/operatorrules/prometheusrules_test.go#L97
to have 2 recording rules with the same name, and make sure they are sorted by the expression?

I think we should also change the PR title to reflect the changes
wdyt about "Ensure order of recording rule registration in PrometheusRule"?

This unit test definitely needs to be refactored
I need to take a look at it later
Thank you for the fix :raised_hands:


[Smepmp] Fixes gen_pmp_instr when MML and MMWP are enabled

The problem that I was running into with machine mode lockdown (MML) and machine mode whitelist policy (MMWP) is that I needed the instructions under the pmp_setup label (eventually in PMP region 0) to be set to executable. Otherwise it would set MSECCFG and then trap on the instruction immediately after. However, we still want to set MSECCFG before configuring the PMP configs because some PMP setups are valid depending on the Smepmp mode.
My proposed solution is to change the gen_pmp_instr function to take these steps:

Set address of region 0 before setting MSECCFG
If  MML, initially set MSECCFG to MML=0, MMWP=0, RLB=1
If  MML, set the config of region 0 to LXWR=1100 and TOR
If MMWP, set the config of region 0 to LXWR=0111 and TOR
If MML or MMWP, set requested MSECCFG with RLB hardcoded to 1
Don't override region 0 config if +pmp_region_0 is passed
Change default region 0 config in MML mode to shared execute
Set all other addresses and configs as before
Set requested MSECCFG (including RLB)

Thanks @weicaiyang !


Travis notoriously fails for s390x with: No space left on device

Recently I tend to get on each push a Travis CI failure on the s390x build, with output like this:
https://travis-ci.org/github/openssl/openssl/jobs/686482210
with various  lines containing No space left on device.

It looks like this isn't an issue any more...

The issue is not really solved - just ran into it again: https://travis-ci.org/github/openssl/openssl/jobs/687354053

Ok.  However, that's nothing that we can "resolve", other than noting that there are intermittent failures there that aren't relevant to us.  If that happens for a longer period, we'll have to decide if it's worth keeping that job.  In my opinion, we should be a little more patient, though.

We could mark the build with allow_failures

It's just confusing and annoying to keep track whether a PR looks bad just because of that technical issue.
I'd assume that someone should be able to clean up or extend space on whatever machine that is.

I've e-mailed travis-ci support, but I am not holding my breath for the fix. Unless this is resolved by Monday, I'll open a PR with marking the build wit allow_failures.

Thanks @t8m.
This issue seems to be fixed already for a couple of weeks, thus closing it.


Add a better logo for the page

I can make a better logo for the Page

@HimanshuNarware Could you please assign the issue #80 for making a nice logo for the page. I'll send a couple of designs you could choose from and decide on. Thank you.

@HimanshuNarware can you assign #80 for me? I have previously designed logos using figma, canva and other tools.

@HimanshuNarware I am interested in doing this task. With my knowledge in HTML,CSS,JS I can do this task better. Sir please kindly assign this task to me.

@sau-mili  show me demo first

Can you please assign me ths one . #80

@HimanshuNarware , please assign this  issue #80 to me I can make logo for this page.

@Chaitali-sonare Please assign this task to me.

https://github.com/HimanshuNarware/CareerZunction_Intern/assets/131901164/4328fa07-63f9-454d-a058-a47570adb697
how about this @HimanshuNarware @Chaitali-sonare ?

I will add a letter-mark type logo, make it using illustrator and add it in the code.
maybe something like this;;

career.mp4
how about this @HimanshuNarware @Chaitali-sonare ?

@HimanshuNarware @Chaitali-sonare can you please tell me if it is alright or not?

Please assign this issue to me , I would like to work on it to add a better logo


Implement CacheSubnetGroup resource for ReplicationGroup to be created in a VPC

What problem are you facing?
Replication Group resource can be created in a VPC only if you create a cache subnet group and give its name during creation as opposed to EKS where you create individual subnets and give their IDs.

How could Crossplane help solve your problem?
It seems like CacheSubnetGroup is a logical resource where you can either create new subnets during creation or choose from existing ones. So, it's a bit tricky in Crossplane where every managed resource is independently managed. Implementation of that resource would probably look like Azure's resource groups where its sole interface is to list/add/remove the downstream resource.

Fixed by https://github.com/crossplane/provider-aws/pull/186


Text moving and hiding

Is the bug present when using the default Obsidian theme?
No
Is the bug present when snippets and plugins are disabled?
Yes
Minimal theme version
7.0.5
Describe the bug
When I type something on the limit of the line length, the text moves and part of the text on the left side gets covered (you can see that part of the number 1. on the top and the "W" in "War" disappears), and the text stays like this while I type. Sometimes moves enough for the whole number "1." to disappear completely. (I'll attach the video here)
The debug info is from a text I did on my sandbox.
Video: https://drive.google.com/file/d/1DFLDMZYeEf9dhlmszuRM0jLrnKFiTEh4/view?usp=sharing
Debug info
The debug info is from my sandbox (that's why the absence of plugins and snippets)
SYSTEM INFO:
Obsidian version: v1.3.5
Installer version: v1.3.5
Operating system: Darwin Kernel Version 22.5.0: Thu Jun  8 22:21:34 PDT 2023; root:xnu-8796.121.3~7/RELEASE_ARM64_T8112 22.5.0
Login status: not logged in
Insider build toggle: off
Live preview: on
Legacy editor: off
Base theme: dark
Community theme: Minimal v7.0.5
Snippets enabled: 0
Restricted mode: on
RECOMMENDATIONS:
Custom theme and snippets: for cosmetic issues, please first try updating your theme and disabling your snippets. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community theme and snippets.

Here the same. I think this display bug is related to the bug "Horizontal scrolling is not working #604" and the bug "Missing caret for folding headers #603". Here is a video of mine:
https://github.com/kepano/obsidian-minimal/assets/122787238/557aaf5b-1f82-4ae7-b6f0-3fd4cc18007c

I am not able to reproduce this. Maybe it is fixed in 7.0.6
If not, I need more detail, is readable line length on or off in Settings → Editor?

I also cannot replicate it now since 7.0.6, and I have used to keep “readable line length” as disabled.

Closing for now, please reopen if you can provide repro steps

I think it's fixed, I can't replicate it in 7.0.7, “readable line length” enabled and disabled. Thanks!


Research possible ways to do crone jobs in ASP.NET MVC apps

Implemented automatic everyday check for ending contests and if exists any - set their status to Finished.
commit #6aff00c


Add new Browse Category Playlists endpoints

This was released today:
-Get a List of Categories https://developer.spotify.com/web-api/get-list-categories/
-Get a Category https://developer.spotify.com/web-api/get-category/
-Get a Category’s Playlists https://developer.spotify.com/web-api/get-categorys-playlists/

I've done a Pull Request, see https://github.com/jwilsson/spotify-web-api-php/pull/27


Should we catch SagaCancellationException?

Probably, I'm missing something, but manual cancelations throw in production.
I have
export default function* rootSaga() {
  yield [
    takeLatest(SOME_ACTION, doSomeStuff),
    // ...
  ];
}

Where doSomeStuff is listening for messages via websockets, so when SOME_ACTION is called again it results in a SagaCancellationException, which is just an useful informative warning in development environment, but an Unhandled promise rejection in production.
UPD: It seems we always should have try-catch in the watchers even if the errors are handled in sub-functions.

UPD: It seems we always should have try-catch in the watchers

Can you explain ? The cancellation errors are not propagated to parent sagas;  so even if you don't wrap a saga in a try/catch the cancellation of the sub-saga wont propagate to the parent saga
I think the error is thrown because the middleware fails the done promise of doSomeStuff And the browser runtime detects the failed/unhandled promise

@yelouafi, yes. I didn't have try-catch in doSomeStuff as it just calls subtasks where I was catching the errors, but we need catching errors along all children tree, even if we can have nothing than SagaCancellationException there.
To clarify this, I have a lot of socket subscribers. When the category is changed, I cancel everything and subscribe again to new channels with new data. Since the watcher has a lot of subtasks children, there are a lot to cancel.

@zalmoxisus
@yelouafi
So what is the best solution to handle  the SagaCancellationException ,
if I have watcher and worker like this:
import types from './types';
import { takeLatest } from 'redux-saga';
import { put } from 'redux-saga/effects';
import api from '../../../api';

const {
  FETCH,
  FETCH_SUCCESS,
  FETCH_FAILED,
} = types.GAMES;

function* fetcher(action) {
  const { query } = action;
  const resp = yield api.listGames(query);
  if (resp.status === 200) {
    const { games } = yield resp.json();
    yield put({ type: FETCH_SUCCESS, list: games });
  } else {
    yield put({ type: FETCH_FAILED });
  }
}

function* fetchSaga() {
  yield* takeLatest(FETCH, fetcher);
}

export default [fetchSaga];

 SagaCancellationException  will happen when a FETCH happened, but  api.listGames not done yet.  do I need to take care this exception, and where I should to do the try-catch if I want to catch it.


regression Checkout As Guest e2e specs failing after cart refactor

in the it should keep guest cart content and restart part, the second login does not show the shipping page but rather, it redirects to the homepage for some reason.
The cy.wait() for the getShippingPage alias never finds the alias and fails.
Running against dev-17

Logs here: https://jkmaster.test.c3po.b2c.ydev.hybris.com/job/spartacus-regression-tests/621/console

QA results: test is working correctly, tried couple of times


Settings window doesn't remember its size and location

Environment
Windows build number: 10.0.19041.329
PowerToys version: 0.19.2
PowerToy module for which you are reporting the bug (if applicable):

Steps to reproduce

Open PowerToys
Right click on systray icon and click on settings
resize or move settings window
close settings window
right click on systray icon and click on settings
Expected behavior

pt settings would keep its position and size
Actual behavior

pt reverts to its original position and size
Screenshots

@Poopooracoocoo
closing as duplicate of https://github.com/microsoft/PowerToys/issues/3612


Postgres GENERATED columns

Description
Hi,
There are some deficiencies in the way dBeaver handles Postgres GENERATED columns.
WORKING AS EXPECTED:
(1) I can create a table with a generated column using the SQL editor, using a script like this:

CREATE TABLE table_name
column1 TEXT,
column2 TEXT,
column3 TEXT,
combined_column TEXT GENERATED ALWAYS AS (column1 ||  '  '  || column2 ||  '  '  || column3) STORED
);

(2) The DDL produced by DBeaver properly reflects the GENERATED nature of the column.
(3) Since GENERATED columns are by default read only, if I attempt to edit its content using DBeaver’s editor, the operation fails.
NOT WORKING AS EXPECTED:
(4) If I change something about the column definition (I originally created de GENERATED column as NOT NULL and wanted to change it back to NULL), DBeaver seems to completely forget that this column was initially created as GENERATED and produces a DDL to alter the table removing the GENERATED nature of the column.
(5)  DBeaver does not indicate anywhere (except in the DDL) that the column is GENERATED.  (Maybe this could be placed in the default area of the column definition, like the way pgAdmin shows it?)
I hope this description is enough to help you address these bugs.  Please let me know otherwise.
Many thanks for a great product!
Alex
DBeaver Version
Community Edition 24.1.3
Operating System
Windows 11
Database and driver
Postgres 16 database
PostgreSQL JDBC Driver
Steps to reproduce
see the main description.
Additional context
No response

Hello @aschoijett
I'm trying to reproduce your issue on Postgres 16
Steps:

I created a table using your DDL
I changed the Generated column to not null via UI
But it works for me well, and this column stays Generated.

Please provide more details to reproduce your issue.

Hi!
I'm very sorry but I cannot reproduce it now either!  But I did see it
last night.  Now, it was late and I may have been confused with the table
tab...
My apologies.
It would be great if there were a better way to "see" and manipulate the
definitions of these GENERATED columns using the UI in Dbeaver instead of
having to use the SQL editor to generate them and the DDL to discover them.
Many thanks!
*Alex Schoijett  |   *+1<PHONE_NUMBER>

http://www.libraworks.ca*

On Mon, Jul 22, 2024 at 12:29 PM MashaKorax @.***>
wrote:

Hello @aschoijett https://github.com/aschoijett
I'm trying to reproduce your issue on Postgres 16
Steps:

I created a table using your DDL
I changed the Generated column to not null via UI
But it works for me well, and this column stays Generated.

Please provide more details to reproduce your issue.
—
Reply to this email directly, view it on GitHub
https://github.com/dbeaver/dbeaver/issues/34936#issuecomment-2243362701,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASFRAW534DDGMUW56A4V3ADZNUXQPAVCNFSM6AAAAABLIRRXI2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBTGM3DENZQGE
.
You are receiving this because you were mentioned.Message ID:
@.***>


Write up CONTRIBUTING

Things to cover:

Build extension (NPM)
Build companion
Run script that sets up the native messaging host manifest

Explain what each thing does!

Will be tackled in #1


⚠ Bofrost.fr has degraded performance

In 66e5f33, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1945 ms

Resolved: Bofrost.fr performance has improved in 6994036 after 10 minutes.


fix #1030 change test_MSG to UT_DisplayPkt

Describe the contribution
Fixes #1030
Removed Test_MSG_PrintMsg and and replaced it with UT_DisplayPkt. Also removed Test_MSG_Sum since it was not being used.
Testing performed
Build and run unit test.
Expected behavior changes
None
System(s) tested on
Ubuntu 20.04
Contributor Info - All information REQUIRED for consideration of pull request
Alex Campbell GSFC

@excaliburtb - will impact custom header, I was lazy and used the sum function at first, better to test individual elements as done in the open source msg module.  UT_DisplayPkt is a direct replacement.

CCB 2020-12-16 APPROVED


Random Number issue

Random number does not return the last digit of its range. Add +1 to dfaces

Resolved and updated.


Automatic configuration of Camel cluster services

We should be able to do something similar to what Camel Spring Boot does to capture configuration for Camel cluster services and then use it to create the appropriate CamelClusterService.
See example for the FileLockClusterService:
https://github.com/apache/camel-spring-boot/tree/main/components-starter/camel-file-starter/src/main/java/org/apache/camel/component/file/springboot/cluster
We should aim to have auto configuration of each of the available CamelClusterService implementations that CQ supports. File, Kubernetes etc.

For what concerns the cluster service based on Kubernetes,  the camel-k master auto configuration customizer:

offers an opinionated way of configuring the master component so only a subset of the options are exposed whereas the spring boot one exposes all the options. Given that we are gogin to leverage the kubernetes client from Quarkus I guess we can  be opinionated here too.
offer additional capabilities like enabling rebalancing

In Camel Quarkus, we might implement KubernetesClusterService and FileLockClusterService. Other cluster services would not be in scope for the moment.
KubernetesClusterService has been done in ticket ~4086
FileLockClusterService could be treated in another ticket.


favicon

Pull Request Checklist
#316

[x] I have added screenshots and videos to show before and after the working of my code.
[x] I have ensured that the screen size is set to 100% while making the video.
[x] I have synced the latest fork with my local repository and resolved any conflicts.
[x] I have mentioned the issue number which I created before making this PR .
[x] I understand that if any the above conditions are not met , my PR will not be MERGED .

your issue was closed , kindly do not work on issue unless its been assigned to you


Add method to fill in missing values

So that JSON is more regular and dataviz tools can handle it better.

Maybe it can also be reused in a wrapper for pandas json_normalize - if you pass a key, first it ensures that the key is always present in all records..

https://github.com/lambdamusic/dimcli/releases/tag/v0.5.4
utils.normalize_key()


[Feature] Remove full screen mode for chat

Purpose

...

Does this introduce a breaking change?

[ ] Yes
[ ] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

Pull Request Checklist

[ ] Public API changes
[ ] Verified for cross-platform
[ ] Synced with iOS, Web team
[ ] Internal review completed
[ ] UI Changes

[ ] Screen captures included
[ ] Tested for Light/Dark mode
[ ] Tested for screen rotation
[ ] Tested on Tablet and small screen device (5")
[ ] Include localization changes

[ ] Tests

[ ] Memory leak analysis performed
[ ] Tested on API 21, 26 and latest
[ ] Tested for background mode
[ ] Unit Tests Included
[ ] UI Automated Tests Included

How to Test

Open...
Click on...

What to Check
Verify that the following are valid

...

Other Information

@pavelprystinka for below screen:
to "Show UI" can we say "Open partial view". can we add back button, as no way to go back once opened

Buttons text is updated


Revert "service: support multiple sockets in DSL"

Reverts Homebrew/brew#16026
This changed the service socket serialization code which will make it not possible to generate valid plist files for formulae with those blocks until they update their brew version. Which is to say that the local brew code will not be up-to-date with the JSON API for non-developer users. I'll work on making it more backwards compatible after reverting.

Note: There are only 3 formulae that use sockets right now in the service DSL but it seemed good to revert anyway. It shouldn't affect many users.

Good catch, thanks for revert @apainintheneck!


remove as call in BatchedOperations

Issue #574.

Should I refactor from DataRange for instance this or just leave it? https://github.com/twitter/summingbird/blob/f04e6c90849c3fa177cfdec3a7174c5aa02251f4/summingbird-scalding/src/main/scala/com/twitter/summingbird/scalding/ScaldingPlatform.scala#L106-L107

Let's leave the intersect method. DateRange does not have it, but we need it here.

Also, sorry the tests are broken now. Let's let #594 get merged, then merge develop here and see that the tests are green, then we'll merge.

Can you merge with develop and see if this goes green?

Thank you!


Javascript initiated dialog (e.g. alert) freezes Browser Preview

If script on a page invokes alert('Hello world') the page becomes unresponsive. Nor does the alert appear.
The issue probably affects confirm and prompt in the same way, plus any dialog arising from onbeforeunload.
I suspect Browser Preview needs to listen for Page.javascriptDialogOpening on which I guess it'll receive hasBrowserHandler as false. Then it could invoke a VSCode equivalent and call Page.handleJavaScriptDialog with the result.
Perhaps JS alert would map to Window.showWarningMessage, and confirm to showInformationMessage, and prompt to showInputBox.
@auchenberg - based on how rapidly you turned around #40 I'm hoping you can do something with the above. Sorry, I'm not currently set up to offer you a PR.

Looks good, though I wonder if the VSCode message that alert() produces should be modal, to mimic the way a browser alert() prevents user interaction anywhere else.

@gjsjohnmurray We don't have such thing as far as I'm aware.

Isn't that what the modal property of MessageOptions does?
https://code.visualstudio.com/api/references/vscode-api#MessageOptions


Fix Module.save : serialise loss & writer

TODO:

Write to a dictionnary of lists with Module.write by default
Test when overwriting with tensorboard methods, e.g.

module.write = summary_writer.add_scalar

#16

Dans unshift_flows.py essayer:
writer = SummaryWriter(args.output)

def write (name, val, n_it):
    writer.add_scalar(name, val, global_step=n_it)

module.write = write

Solves #16


Archived worfklow's node still in running phase

Pre-requisites

[X] I have double-checked my configuration
[X] I can confirm the issues exists when I tested with :latest
[ ] I'd like to contribute the fix myself (see contributing guide)

What happened/what you expected to happen?
When i tried to retry this archived workflow, it throw an error because some node are in running phase.

Version
v3.4.1
Paste a small workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflows that uses private images.
nothing

Logs from the workflow controller
nothing

Logs from in your workflow's wait container
nothing

@Tan-JiaLiang where logs


Better printing of dictionaries and lists in print_examples

This should make logs on Travis readable again without the need to "see raw log"