Timouts of VertxTestContext parameters of the same method are checked sequentialy

Version
4.5.4
Context
Testing
Reproducer
@ExtendWith(VertxExtension.class)
public class Tests {

    @Test
    @Timeout(2000)
    public void test1(Vertx vertx, VertxTestContext context) {
        vertx.setTimer(2500, __ -> System.out.println("timer")); Will not be printed
    }

    @Test
    @Timeout(2000)
    public void test2(Vertx vertx, VertxTestContext context1, VertxTestContext context2) {
        vertx.setTimer(1500, __ -> context1.completeNow());
        vertx.setTimer(2500, __ -> System.out.println("timer")); // Will be printed
    }

    @Test
    @Timeout(2000)
    public void test3(Vertx vertx, VertxTestContext context1, VertxTestContext context2) {
        context1.completeNow();
        vertx.setTimer(2500, __ -> System.out.println("timer")); // Will not be printed
    }

}

Timouts are checked sequentialy :

context1 waits up to 2 seconds
If the time out is not reached, context1 waits up to 2 seconds again

Is this behavior expected ? Perhaps this needs to be better documented ?
Having mutliples VertxTestContext parameters in the same method does not seem to be a good practice.

Right, there is no use case for having multiple VertxTestContext parameters in a test method.


add minimal IPython/Jupyter info to Jupyter.org

in preparation for IPython 3.0.
Adds simple bullet illustration of what's Jupyter and what's IPython and a brief paragraph about IPython 3.0 and the future.
also use the real Jupyter logo while we are at it, and stop using the Minion font that no longer makes sense with the new logo.
coLaboratory link in the footer is also removed
preview at http://minrk.github.io/jupyter.github.io/

ping @ellisonbg, @fperez for what info we want on this page
I presume we will actually deploy a proper website here at some point, but this should help people have some idea what Jupyter is in the meantime.

Looking good!

+1, I think in a subsequennt PR we shoudl add FAQ like "How do I install Jupyte", "Can I try it ?", list of kernels....

Yup, we should definitely spend the time to set up a proper website for Jupyter.

Do we want to also use the new favicon while we're at it?

[troll]
I think the white background should have a drop shadow, as in the notebook, to
convey the "document" meaning.
I think we should try to user test wether the text should be justified or not.
And I don't think the abstraction and mental model the users developed using our website are not well defined.
[/troll]

Sidenote, not trolling; link to google group would be nice.

Do we want to also use the new favicon while we're at it?

Done.

link to google group would be nice.

Done.

Damned I was going to send you a PR.

:shipit:

+1. I'm sure we'll do lots more in the future, this is good for now.


Implementing Keyboard Shortcuts

Framing here:
https://github.com/dust-tt/decisions/issues/139

Hey :wave:
To help board readability & usefulness,  cards with ~2 weeks+ inactivity can freely be moved out of board :) When you feel it's time to start working on it, free to move it back in for discussion in Eng runner or Olympus :+1:


[+Price] NCP-Classic Cloud Driver Implementation

Completed via https://github.com/cloud-barista/cb-spider/pull/1010


Updating docsy to 2bfdac43ca13cb6605f1103581f77ba6e08a6c72

Updating docsy to lates.
cc @shangxinli

cc @shangxinli one last one for you!


Changing paths to main.css and bundle.js

Is there a way to change the generated paths to these files, or remove them altogether? My app uses a static path and cache hashes to call files, so I'd need to have them in the paths in index.html. Either that or remove the calls and re-add them manually via a custom template.

You can change Styleguidist’s Webpack config via updateWebpackConfig. Run styleguidist server --verbose to check the actual config.
So you can replace HtmlWebpackPlugin with your own, like without inject option:
https://github.com/sapegin/react-styleguidist/blob/master/scripts/make-webpack-config.js#L69-L73

@sapegin That seems to work, but not I get this error: style-guide.bundle.js:51 Uncaught Error: Cannot find module "./StyleGuide.js". Is this because I changed the path to the bundle js file? Seems odd that it would call any other js file relative to it's location, especially since ./StyleGuide.js is in the npm module.


chore: Mark "breaker" as obsolete

"Breaker" variable shall be considered discouraged since it takes TA's work to break the events. This way we do not test add-on but samples config.

Codecov Report

Merging #715 (18a01d2) into develop (1eec65a) will decrease coverage by 0.01%.
The diff coverage is 83.33%.

@@             Coverage Diff             @@
##           develop     #715      +/-   ##
===========================================
- Coverage    86.86%   86.84%   -0.02%
===========================================
  Files           51       51
  Lines         2771     2775       +4
===========================================
+ Hits          2407     2410       +3
- Misses         364      365       +1

Impacted Files
Coverage Δ

...on/standard_lib/sample_generation/sample_stanza.py
88.46% <80.00%> (-0.32%)
:arrow_down:

...k_addon/standard_lib/index_tests/test_generator.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Please fix pre-commit


Use special tokens specific to the fine-tuned adapter during decoding

During fine-tuning, it's possible that special tokens are added that are specific to the adapter. During decoding, we should be using the special tokens, and ensure the correct stop tokens, padding, etc. are properly honored.
Repro from @runvnc, related: #68
Model ID: https://huggingface.co/qblocks/mistral_7b_norobots/tree/main
QLoRA repo example uses this AutoTokenizer with special tokens:
https://github.com/artidoro/qlora/blob/7f4e95a68dc076bea9b3a413d2b512eca6d004e5/qlora.py#L347

Will this be completed? Planning to use adapters with special tokens like the below ones:
https://huggingface.co/Dogge/llama-3-8B-instruct-Bluemoon-Freedom-lora/
https://huggingface.co/Dogge/llama-3-70B-instruct-uncensored-lora


Timeline: PHP error with 'edit any entry' action

atal error: Unknown action: 'edit any entry' in module 'bx_events' related code in /var/path_to_una/modules/base/general/classes/BxBaseModGeneralModule.php on line 1930  in /path_to_una/inc/utils.inc.php on line 1568
To reproduce:

Create Post in context of some Event.
Go to Timeline and open related item in new tab (http://my_una.me/page.php?i=item&id=xxxx).
Go to Studio and disable Events module.
Refresh the tab with Timeline item.
The error should appear. If not, you need to switch to some other profile of yours and refresh again.

i've installed channels, made some from timeline then uninstall channels. error happens on timeline for non-registers users

The issue was fixed here #2808


Insert and remove from sys path in generic pipelines

Currently in generic pipeline we simply sys.path.append the path to the snapshot repo. This is fine if running in a docker container once, but for development it can be a bit of a nightmare, especially if you're playing with multiple different repos that have implemented generic pipelines. Since we appended, you'll get previously loaded pipelines instead of the one you expect.
I suggest we do what torch.hub does, and instead sys.path.insert(0, repo_dir), import the module, and then sys.path.remove(repo_dir).
Something like:
import sys
import json
from pathlib import Path
from huggingface_hub import snapshot_download

PIPELINE_FILE = 'pipeline.py'
CONFIG_FILE = 'config.json'

# Taken directly from torch.hub
def import_module(name, path):
    import importlib.util
    from importlib.abc import Loader
    spec = importlib.util.spec_from_file_location(name, path)
    module = importlib.util.module_from_spec(spec)
    assert isinstance(spec.loader, Loader)
    spec.loader.exec_module(module)
    return module

def load_pipeline(repo_id, **kwargs):

    if Path(repo_id).is_dir():
        repo_dir = Path(repo_id)
    else:
        repo_dir = Path(snapshot_download(repo_id))

    pipeline_path = repo_dir / PIPELINE_FILE
    sys.path.insert(0, repo_dir)
    module = import_module(PIPELINE_FILE, pipeline_path)
    sys.path.remove(repo_dir)

    return module.Pipeline(repo_dir)

CC @osanseviero

cc @Narsil

IMO generic is not meant to be used very much. If it's tedious to use it's OK.
AFAIK, generic is just meant to be used as a demo purpose for some external libraries without having to fully implement the pipeline. It is not meant to be a real used path so I don't think we should do anything to optimize for it.
If anything, I would remove generic by making implementing a new pipeline more trivial than the other way around.
Messing with the path in general is asking for trouble.


portforward.forward incorrectly rejects context names that contain /

portforward version: 0.7.0
Python version: 3.10.13
Operating System: Ubuntu 20.04.6

Description
I want to use a context other than the current kubectl one. However the library rejects the name of the cluster because it contains a / even though kubectl has no issues with it. Context names that contain slashes are typical of Openshift/OKD clusters so shouldn't cause errors (see here for examples).
What I Did
I ran these lines:
ctx = portforward.forward('myns', 'mypod', 6081, 9090<EMAIL_ADDRESS>ctx.__enter__()
This error is raised:
ValueError: kube_context contains illegal character '/'
Full ipython trace:
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[63], line 1
----> 1 ctx.__enter__()

File ~/.localpython/lib/python3.10/contextlib.py:135, in _GeneratorContextManager.__enter__(self)
    133 del self.args, self.kwds, self.func
    134 try:
--> 135     return next(self.gen)
    136 except StopIteration:
    137     raise RuntimeError("generator didn't yield") from None

File ~/code/myproj/venv/lib/python3.10/site-packages/portforward/__init__.py:70, in forward(namespace, pod_or_service, from_port, to_port, config_path, waiting, log_level, kube_context, bind_ip)
     30 @contextlib.contextmanager
     31 def forward(
     32     namespace: str,
   (...)
     40     bind_ip: Union[ipaddress.IPv4Address, ipaddress.IPv6Address, str, None] = None,
     41 ) -> Generator["PortForwarder", None, None]:
     42     """
     43     Connects to a **pod or service** and tunnels traffic from a local port to
     44     this target. It uses the kubectl kube config from the home dir if no path
   (...)
     67     :return: forwarder to manual stop the forwarding
     68     """
---> 70     forwarder = PortForwarder(
     71         namespace,
     72         pod_or_service,
     73         from_port,
     74         to_port,
     75         config_path,
     76         waiting,
     77         log_level,
     78         kube_context,
     79         bind_ip,
     80     )
     82     try:
     83         forwarder.forward()

File ~/code/myproj/venv/lib/python3.10/site-packages/portforward/__init__.py:110, in PortForwarder.__init__(self, namespace, pod_or_service, from_port, to_port, config_path, waiting, log_level, kube_context, bind_ip)
     98 def __init__(
     99     self,
    100     namespace: str,
   (...)
    108     bind_ip: Union[ipaddress.IPv4Address, ipaddress.IPv6Address, str, None] = None,
    109 ) -> None:
--> 110     self._async_forwarder = AsyncPortForwarder(
    111         namespace,
    112         pod_or_service,
    113         from_port,
    114         to_port,
    115         config_path,
    116         waiting,
    117         log_level,
    118         kube_context,
    119         bind_ip,
    120     )

File ~/code/myproj/venv/lib/python3.10/site-packages/portforward/__init__.py:160, in AsyncPortForwarder.__init__(self, namespace, pod_or_service, from_port, to_port, config_path, waiting, log_level, kube_context, bind_ip)
    157 self.waiting: float = waiting
    159 self.config_path: str = _config_path(config_path)
--> 160 self.kube_context: str = _kube_context(kube_context)
    162 _validate_port("from_port", from_port)
    163 bind_ip = _validate_ip_address(bind_ip)

File ~/code/myproj/venv/lib/python3.10/site-packages/portforward/__init__.py:257, in _kube_context(context)
    254     raise ValueError(f"kube_context={context} is not a valid str")
    256 if "/" in context:
--> 257     raise ValueError("kube_context contains illegal character '/'")
    259 return context

ValueError: kube_context contains illegal character '/'

Indeed. I remember adding that but I dont know why anymore. Probably because it is the same validation like for namespaces. I will change it.

A patch is pushed. The GH action is about to build release 0.7.1. :v:


[SPARK-40264][ML] add batch_infer_udf function to pyspark.ml.functions

What changes were proposed in this pull request?
Add a batch_infer_udf function to pyspark.ml.functions to help users construct a pandas_udf for ML/DL model inference in Spark.  This UDF adds standardized behavior for:

conversion of the Spark/Pandas DataFrame to numpy arrays.
batching of the inputs sent to the model predict() function.
caching of the model and predict() function on the executors.

And the user just needs to provide a predict_batch_fn() function for inference on a batch.
For example, here is some sample code for inference using an MNIST model:
from pyspark.ml.functions import batch_infer_udf

def predict_batch_fn():
    import tensorflow as tf
    model = tf.keras.models.load_model('/path/to/mnist_model')
    def predict(inputs: Union[np.array, Dict[str, np.array]]) -> Union[np.array, Dict[str, np.array]]:
        return model.predict(inputs)
    return predict

mnist = batch_infer_udf(predict_batch_fn,
                        return_type=ArrayType(FloatType()),
                        batch_size=100,
                        input_tensor_shapes=[[-1, 784]])

df = spark.read.parquet("mnist_data")
preds = df.withColumn("preds", mnist(struct(df.columns))).toPandas()

Why are the changes needed?
To simplify batch inference of ML/DL models in Spark.
Does this PR introduce any user-facing change?
Yes, adds a new function in pyspark.ml.functions.
How was this patch tested?
Unit tests added.

Can one of the admins verify this patch?

But I think we'd better design and discuss the API first. @mengxr Do you have any suggestions ?

@WeichenXu123 Could you make a pass on the implementation?

Pls also fix the linter failure: https://github.com/leewyang/spark/actions/runs/3397174449/jobs/5649073867#step:16:71

Pls also fix the linter failure: https://github.com/leewyang/spark/actions/runs/3397174449/jobs/5649073867#step:16:71

Updated to latest master, which got rid of the linter error, but added a new "appveyor" check, which seems to be failing in some SparkR tests.  Not sure what to do with that one.

Pls also fix the linter failure: https://github.com/leewyang/spark/actions/runs/3397174449/jobs/5649073867#step:16:71

Updated to latest master, which got rid of the linter error, but it added a new "appveyor" check, which seems to be failing in some SparkR tests. Not sure what to do with that one.

The Ci failure has been fixed by https://github.com/apache/spark/commit/9cd55052ccefc1421d30bfc751e2a013973d3ac6
You can merge master to address the CI failure @leewyang

Some more comments, mainly about doc and adding more data checking. PR is near ready!

@mengxr Could you make a final pass ? The PR is LGTM once all my comments addressed.

BTW, I'm seeing a change in behavior in the pandas_udf when used with limit in the latest master branch of spark (vs. 3.3.1), per this example code:
import numpy as np
import pandas as pd
from pyspark.sql.functions import pandas_udf
from pyspark.sql.types import DoubleType

data = np.arange(0, 1000, dtype=np.float64)
pdf = pd.DataFrame(data, columns=['x'])
df = spark.createDataFrame(pdf)

@pandas_udf(returnType=DoubleType())
def times_two(x):
    print(x.shape)
    return x*2

# 3.3.1: shape = (10,)
# master: shape = (500,)
df.limit(10).withColumn("x2", times_two("x")).collect()

Not sure if this is a regression or an intentional change, but it does impact performance for this PR, since a given model will be run against 500 rows instead of 10 (even though the final results show only 10 rows).  Basically, it looks like the limit function is being applied after running the pandas_udf on a full partition, whereas it used to be applied before running the pandas_udf.

@leewyang Does df.limit(10).cache().withColumn address the issue ?
@HyukjinKwon Looks like https://github.com/apache/spark/pull/37734#issuecomment-1315678614 is a regression, does spark optimizer changed ?
@mengxr Could you make a final review ?

@WeichenXu123 Yes, using df.limit(10).cache().withColumn makes it only process 10 rows inside the pandas_udf, which addresses the performance issue, thanks!

Nit:
We can add 2 new examples for:

Return with struct type containing fields of array type, and  PredictBatchFunction returns dict with keys matching struct fields.
Return with struct type, but PredictBatchFunction returns list of dict.

Since spark 3.4 code freezing is coming soon, I will merge this PR right now, @leewyang Could you file a follow-up PR for my suggested doc change ?

Merged to apache/spark master.


Pub/Sub dotnet API not releasing the connections/sockets correctly?

User reports receiving the following error [1] while using the PubSub API on multiple machines running POSReady 7 (based on Windows 7).
Restarting the service fixes it, but it will occur again after a few days.
They reported that they are using version 1.10.0 of the Google.Apis package, and the Google.Apis.Pubsub.v1 package is version <IP_ADDRESS>1
Is the API not releasing the connections/sockets correctly, or is there a better way for the customer to call the API (code snippet in the steps to reproduce)?
Project ID(s): togotechnologies
Log/Graph data:
[1] -
System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full
at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.InternalBind(EndPoint localEP)
at System.Net.Sockets.Socket.BeginConnectEx(EndPoint remoteEP, Boolean flowContext, AsyncCallback callback, Object state)
at System.Net.Sockets.Socket.UnsafeBeginConnect(EndPoint remoteEP, AsyncCallback callback, Object state)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult, TransportContext& context)
at System.Net.Http.HttpClientHandler.GetRequestStreamCallback(IAsyncResult ar)
--- End of inner exception stack trace ---
at Google.Apis.Requests.ClientServiceRequest`1.Execute() in C:\Users\mdril\Documents\GitHub\google-api-dotnet-client\Src\GoogleApis\Apis\Requests\ClientServiceRequest.cs:line 96
Reproduction steps:
The customer submitted this code as an example of what is called to when the error occurs
var request = new PullRequest
{
MaxMessages = 1,
ReturnImmediately = true
};
_pubSubService.Projects.Subscriptions.Pull(request, "subscriptionName").Execute();
where _pubSubService is a field that is re-used for each request.

For issues with Google.Apis.Pubsub.v1 (rather than Google.Pubsub.V1) please file an issue in https://github.com/google/google-api-dotnet-client
(I'll comment on it there. I'd just transfer the issue myself, but I'm not sure that github supports that.)

Maybe the response to the user here is to use whatever client library is
supported in this repo?  Not entirely clear on the difference.
On Fri, Oct 28, 2016 at 3:03 PM, Jon Skeet<EMAIL_ADDRESS>wrote:

For issues with Google.Apis.Pubsub.v1 (rather than Google.Pubsub.V1)
please file an issue in https://github.com/google/google-api-dotnet-client
(I'll comment on it there. I'd just transfer the issue myself, but I'm not
sure that github supports that.)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/google-cloud-dotnet/issues/494#issuecomment-257002372,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARrMFtAep1nmxuMQPtGYmmQH7Wf7Io3sks5q4kcGgaJpZM4KjuPW
.

--
Kir Titievsky | Product Manager | Google Cloud Pub/Sub
https://cloud.google.com/pubsub/overview

Well, it depends. The client library in this repo will be the preferred approach (using gRPC), but is still in beta at the moment - the API surface is still not stable. The version in the other repo is stable and should be fine - although it's less pleasant to use than this one. I would certainly recommend that they upgrade to the latest version though - we've fixed a number of bugs since 1.10, and it's possible that one of them is related to the problem.

@jskeet The issue has been filed in the google-api-dotnet-client repository as well.

Many thanks, @jskeet.
On Fri, Oct 28, 2016 at 5:22 PM, Sam Starkenburg<EMAIL_ADDRESS>wrote:

@jskeet https://github.com/jskeet The issue has been filed in the google-api-dotnet-client
repository https://github.com/google/google-api-dotnet-client/issues/863
as well.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/google-cloud-dotnet/issues/494#issuecomment-257031858,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARrMFs67bT2T_WbMPCyo_hi-Qq7SoYq-ks5q4meIgaJpZM4KjuPW
.

--
Kir Titievsky | Product Manager | Google Cloud Pub/Sub
https://cloud.google.com/pubsub/overview

1.10 is the most recent one that supports .net 4.0.
Is there no more support for .net 4.0?


[Network] Network live test fixes

Fixes issues with network live tests:

Fixes issue with NicConvenienceScenarioTest where the supplied username was rejected
Fixes issue with VnetPeeringCreate where commands in the set up steps hadn't been updated for a command change.

Codecov Report

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

@@           Coverage Diff           @@
##           master    #2406   +/-   ##
=======================================
  Coverage   72.33%   72.33%
=======================================
  Files         323      323
  Lines       18273    18273
  Branches     2701     2701
=======================================
  Hits        13217    13217
- Misses       4221     4223    +2
+ Partials      835      833    -2

Impacted Files
Coverage Δ

src/azure-cli-core/azure/cli/core/_util.py
66.66% <0%> (ø)
:white_check_mark:

...dback/azure/cli/command_modules/feedback/custom.py
34.69% <0%> (ø)
:white_check_mark:

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 2b77c3c...7d11243. Read the comment docs.


Issue/15/obscond input

Change Description

[x] My PR includes a link to the issue that I am addressing #15

Solution Description

Previously, I randomly assign each object with a pixel inside the mask for its observing condition. Here, I added an option in observing_condition_degrader to assign observing conditions based on the object's position if they are included in the catalogue. The default columns are ra and dec but they can also be changed by passing the column names in renameDict. If objects are found outside the mask, they have the default LSST 10 year survey condition from the error model. If ra, dec were not in the input catalogue, they will be attached based on the assigned pixels. This is for convenience of de-reddening or other operations that requires sky positions later.
Code Quality

[x] I have read the Contribution Guide
[x] My code follows the code style of this project
[x] My code builds (or compiles) cleanly without any errors or warnings
[x] My code contains relevant comments and necessary documentation

Project-Specific Pull Request Checklists

New Feature Checklist

[x] I have added or updated the docstrings associated with my feature using the NumPy docstring format
[ ] I have updated the tutorial to highlight my new feature (if appropriate)
[x] I have added unit/End-to-End (E2E) test cases to cover my new feature
[ ] My change includes a breaking change

[ ] My change includes backwards compatibility and deprecation warnings (if possible)

I general looks very nice. One minor thing is that I think that in general you can do
if key in a_map:
Which is nice and readable.

This is implemented now .

Thanks @eacharles and @drewoldag for comments! Could you check if you are happy with the changes? If so, I can merge the PR.

@hangqianjun this looks good. Thanks for addressing the comments! 👍

I’m happy too..  thanks!On Oct 24, 2023, at 9:36 AM, Drew Oldag @.***> wrote:
@hangqianjun this looks good. Thanks for addressing the comments! 👍
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>


Provide a list of CVEs for released containers

Description
Potential customer asking for alerts/feed for CVEs in the containers we ship so they know when they need to upgrade e.g. stack containers.

We could enable Docker Scout for the images pushed to the docker hub. Docker Scout Free plan allows integration with 3 repos without an additional fee.


JSON output parsed as {}

See this action run. It logs the full event payload and has debugging enabled:
https://github.com/gr2m/helpdesk/runs/3255305558?check_suite_focus=true
I seems as if the values are parsed as part of the title? Maybe the problem is that the line breaks are \r\ns instead of just \ns?

Yes, this seems to be related to the windows line breaks. I did not think about different line breaks. I assume this is only the case when you update the issue afterwards. However worth addressing. I'll have a look later this week.


Use hydrate() instead of render()

As of React 16 a new method is available for hydrating server side rendered HTML on the client side, .hydrate().
How should we address this with hypernova-react? Do we create a separate branch to implement new features from React 16 and up? or do we merge to the current master with backward compatibility?

committed in forked repo damianleung@05e1619ac6fcce0bb3dce5f8cf8b7a902adf53c0

We can publish a breaking change with the new behavior.

That would close off pre-v16 support; we need to find a way to add this that's semver-minor.

That would close off pre-v16 support

We can backport fixes if necessary and this library doesn't change much so it's safe to do unless there's a non-gross way to semver-minor this.

Let's exhaust our options to do it semver-minor tho, before drawing a line in the sand.

@ljharb @goatslacker made it a semver minor change so it's backward compatible. Also reverted the package version, let you guys handle the version bump. https://github.com/damianleung/hypernova-react/pull/1/commits/70f466cda4ed5c5664221fc04840df85d7c13b4e

The peer deps on react and react-dom need to continue allowing 0.14 and v15, as well as adding in 16.
Please feel free to submit the PR and we can review there!

Closed in #30.


Updates for Camunda Modeler 5

Hello, Valentin from Camunda here.
With Camunda Modeler 5.0.0 we are making some changes to how we handle plugins.
First off, our docs have moved here.
In short, plugins now work for Cloud bpmn-js diagrams, and will automatically be picked up. This plugin was identified as non breaking but also without any use in cloud bpmn diagrams (yet anyways). If you'd like to opt-out of cloud diagrams, you'll have to use the new plugin registration helper functions that were shipped in https://github.com/camunda/camunda-modeler-plugin-helpers v5.0.0, i.e replacing registerBpmnJSPlugin with registerPlatformBpmnJSPlugin
Or you could extend the plugin to support Cloud, or keep it in this state, whatever you decide is best.
Note that opting out will break backwards compatibility, since those registration functions do nothing pre Camunda Modeler 5, so you may want to reference an older build of your plugin somewhere for people using older versions of Camunda Modeler, if you decide to go that direction.
Feel free to ask me anything about this 😄

Hi Valentin,
thank you very much for getting in touch. A colleague of mine already share this article with me about migrating modeler plugins, so I am aware about Camunda Modeleder 5. I already tried some alpha version and I was happy to see tooltips directly, but still I was not aware of registerPlatformBpmnJSPlugin (Probably, I would stick to registerBpmnJSPlugin in order to stay backward compatible).
Updating references, checking general plugin-functionality and maybe support Camunda Cloud diagrams are all part of my todo-list, that I will hopefully check off very soon! 👍🏼
Greetings Florian 😊


change each individual image on button

how can I achieve this?
for button in plusButtonView.buttons
        {
            switch plusButtonView.descriptions
            {
            case "Current Location": button.setImage(UIImage(named: "currentLocation"), forState: UIControlState.Normal)
            case "Global":           button.setImage(UIImage(named: "global"),          forState: UIControlState.Normal)
            case "Friends":          button.setImage(UIImage(named: "friends"),         forState: UIControlState.Normal)

            default: println("something went wrong along the way");
            }
        }

this didn't do anything at all

I'm just dumb, here's the working code..
for (var i=0; i<plusButtonView.buttons.count; i++)
        {
            switch i {
            case 0: plusButtonView.buttons[i].setImage(UIImage(named: "currentLocation"), forState: UIControlState.Normal)
            case 1: plusButtonView.buttons[i].setImage(UIImage(named: "global"),          forState: UIControlState.Normal)
            case 2: plusButtonView.buttons[i].setImage(UIImage(named: "friends"),         forState: UIControlState.Normal)

            default: println("something went wrong along the way");
            }
        }

I can't seem to get this working in Objective-C rather than Swift - any ideas?

I tried this with no luck though:
for (int i=0; i < moreButtons.buttons.count; i++)
{
switch (i) {
case 0: [[moreButtons.buttons objectAtIndex:i] setImage:[UIImage imageNamed:@"CallIcon"] forState:UIControlStateNormal];
break;
case 1: [[moreButtons.buttons objectAtIndex:i] setImage:[UIImage imageNamed:@"CallIcon"] forState:UIControlStateNormal];
break;
case 2: [[moreButtons.buttons objectAtIndex:i] setImage:[UIImage imageNamed:@"CallIcon"] forState:UIControlStateNormal];
break;
}
}

try morebuttons.view.buttons? download alcatraz.io and "fuzzy autocomplete" to get better autocompletion and you will have a much better time


Enhancement: Support remote schema stitching/execution over other transports (e.g. gRPC)

Feature Request
What feature are you missing?
Alternatives for more efficient transport protocol support for remote schema binding/execution.  HTTP has unnecessary overhead for service-to-service communications.
How could this feature look like in detail? Tradeoffs?
Posting as a possible enhancement per conversation with @schickling on the Slack channel:
Remote schema stitching and execution requires every remote service run as a GraphQL Server exposed over a HTTP-based API. In a microservices-based architecture where those remote services are only involved in service-to-service communication, leveraging HTTP as the transport introduces a fair amount of unnecessary overhead. Consider adding a way to leverage other back-end efficient transport protocols to communicate between the root GraphQL API server and the remote services.
Issue also cross-posted to graphql-bindings repository: https://github.com/graphql-binding/graphql-binding/issues/53

This would be amazing!!


Support search by k8s label

need a design how to support search by JSON type.

resolved by PR https://github.com/intuit/katlas/pull/93


Unify precomputed quantities, clean up diagnostics

Purpose

This PR is split off from #1482. Its purpose is to ensure that all computations of velocity, kinetic energy, and thermodynamic state are done consistently, and to clean up some of the diagnostics code. Since the kinetic energy was previously computed incorrectly in thermo_state! (using norm_sqr instead of compute_kinetic!), this PR is expected to slightly change simulation results.
Content

Rename precomputed_quanitites! to set_precomputed_quantities!, and rewrite set_precomputed_quantities! so that merging in #1482 requires as few changes as possible.
Rename the precomputed quantity ᶜu_bar to ᶜu, per Tapio's request.
Delete thermo_state.jl. Remove thermo_dispatcher from p and delete the definition of ThermoDispatcher. Replace all computations of ᶜu, ᶜK, and ᶜts outside of precomputed_quantities.jl with calls to set_precomputed_quantities!. In particular, make horizontal_limiter_tendency!, remaining_tendency!, and implicit_tendency! all begin by zeroing out the tendency and calling set_precomputed_quantities!. Simplify the definition of thermo_state_type and move it from the deleted thermo_state.jl to type_getters.jl. Define the (broadcastable) functions ts and thermo_state in precomputed_quantities.jl; these functions replace all of the other code that was in thermo_state.jl (the thermo_state function internally does what ThermoDispatcher used to do).
Isolate precomputed_quantities from the rest of the default_cache, initialize the precomputed_quantities using set_precomputed_quantities! when the default_cache is constructed, and pass the default_cache wherever these quantities are needed in additional_cache (i.e., radiation_model_cache).
Rename water_vapor, cloud_liquid, and cloud_ice in the hdf5 diagnostics files to q_vap, q_liq, and q_ice.
Replace dry_diagnostic and moist_diagnostic in save_to_disk_func with dycore_diagnostic and precip_diagnostic. Define common_diagnostics (dry and moist) that should be generated for both GS and SGS quantities, and include them in dycore_diagnostic. Replace the duplicated computation of the zero-moment microphysics diagnostics with a call to the function that computes those diagnostics in precipitation.jl (precipitation_tendency!). Generate the q_rai and q_sno diagnostics for one-moment microphysics, and generate the grid-mean cloud_fraction diagnostic for EDMF. Change the condition for generating EDMF diagnostics to p.atmos.turbconv_model isa TC.EDMFModel.
Move the include call for callbacks.jl after the include calls for the tendency files, so that the duplicate computation of the zero-moment microphysics diagnostics can be removed.
Remove all unused variables from horizontal_limiter_tendency!, horizontal_advection_tendency!, explicit_vertical_advection_tendency!, implicit_vertical_advection_tendency, Wfact!, default_cache, radiation_model_cache, save_to_disk_func, rrtmgp_model_callback, turb_conv_affect_filter!, and all of the plotting functions in post_processing_funcs.jl; some of these variables are no longer used because the calls to compute_kinetic! and thermo_state! were removed, but many of them were not being used to begin with.
Increment the ref_counter and reset the MSE tables to 0.

[x] I have read and checked the items on the review checklist.

Longrun build is running here. I'll merge this in now.

bors r+

bors cancel

bors r+

bors r-

bors r+


No way to catch errors from goroutines automatically

Please answer these questions before submitting your issue. Thanks!

Thanks to go keyword it is easy to write concurrent algorithms, but also it is easy to make errors, which one cannot catch. For example:
package main

func main() {
	go func(){
		// = panic() = exit(2) + print(stacktrace)
		i := 0
		i = 1 / i
	}()
}

And you cannot catch it unless you manually add defer to every go invocation, like that:
func main() {
	go func(){
		defer func() {
			err := recover()
			...
			panic(err)
		}()

		// = panic() = exit(2) + print(stacktrace)
		i := 0
		i = 1 / i
	}()
}

You may catch such errors only by reading stderr from target process and guessing it is a Go stacktrace. Which is a hack.
What did you expect to see?
I need a mechanism to catch errors and send them with tracebacks (e.g. into https://sentry.io ). Like postmortem library Breakpad for C++ .
But there is no way to hook a defer to every new goroutine. It may be realized via special API to call newdefer/deferproc internal function from runtime/panic.go .
P.S. Similar discussion is about  atexit , where Ian Lance Taylor writes that
"The only fully reliable mechanism is a wrapper program ..."

This has been discussed before.  It is not going to change at this point.
You can fix it in your own code, for your own goroutines, by using a function like
func Go(f func()) {
defer func() {
if r := recover(); r != nil {
// do something
}
}()
go f()
}
For the general case, use a wrapper program.
If you want to raise a proposal with a specific suggestion for how to address this general problem, please feel free to use the proposal process described at https://github.com/golang/proposal/blob/master/README.md .  I don't personally think that such a proposal is likely to be accepted, but we are always open to good new ideas.
This issue has no specific suggestion for how to fix this, so I am going to close this.

@ianlancetaylor: Your suggestion does not work. The Go function would not recover the a panic in f(). This is the acutual problem here. See https://play.golang.org/p/YP5n7-lzcz

@iigorr Try https://play.golang.org/p/kuMqW29Ja1

This "func Go" wrapper is not a solution - we may have many functions with very different parameters - so we need to create many Go-wrappers? It is not usable at all.
We need easy way to wrap catch all panics from all goroutines!

Why was this issue closed without any further discussion?

Because this issue really needs a proposal for it to be actionable.

So is there a proposal now?

FYI: We finally end up with  wrapper and prohibiting the team to  use "go" operator directly.
However I  still dislike this solution. Language should provide a way to catch  all errors w/o wrapping every "go" operator.
recovery.SafeGo(logger, func() {
              method(all parameters)
	})

func SafeGo(logger logging.ILogger, f func()) {
	go func() {
		defer func() {
			if panicMessage := recover(); panicMessage != nil {
				stack := debug.Stack()

				logger.Errorf("RECOVERED FROM UNHANDLED PANIC: %v\nSTACK: %s", panicMessage, stack)
			}
		}()

		f()
	}()
}

@calixwu There is no proposal here.  If somebody has a proposal, please open a new issue.  See https://golang.org/s/proposal.  But it is very unlikely that the language will change.  People who want to use SafeGo as in the previous comment can already write it.

@ianlancetaylor ok...

It's sad there is no way to have a global panic capture embedded in the language,.... this issue may be re-opened and considered.

@mangelajo I'm sorry, but this issue is closed.  Please see the comment above: https://github.com/golang/go/issues/20161#issuecomment-561699692.


Opera 12 + flexbox + baron

In Opera 12 offsetWidth equals 0 for some cases of nested flexboxes, this causes bugs with baron container width.
http://jsfiddle.net/bsxs860d/ — in Chrome offsetWidth: 298, in Opera 12 — offsetWidth: 0

example with baron, setting width to 0 http://jsfiddle.net/lastw/bsxs860d/2/


Fixed #26712 -- Avoided unnecessary SET TIMEZONE queries on PostgreSQL.

A change of the USE_TZ or TIME_ZONE settings doesn't necessarly require a change to the active connections' timezones.

This LGTM. The main thing I'm concerned about is the potential for someone to still introduce a timezone-setting query inadvertently into a test in a SimpleTestCase, and have to go through the same debugging process @aisipos did again. The failure mode there is not very obvious, it just contaminates the db connection timezone state for the remainder of the test suite.
It might be worth considering whether we can actually prohibit all database queries within a SimpleTestCase, for faster and more obvious failure. But I guess that's really orthogonal to this PR; this PR at least improves the situation.

It might be worth considering whether we can actually prohibit all database queries within a SimpleTestCase, for faster and more obvious failure.

That's what we do since c15b0c27927afd141d311dd9bfe68540cf44a8d6. I think the origin of the failure wasn't obvious because of the stack trace leading to the setting_changed receiver attempt to create a cursor. The call to ensure_timezone() should make things a bit clearer I suppose.
There are two remaining cases that can trigger a SET TIMEZONE on PostgreSQL:

Enabling/disabling USE_TZ while setting TIME_ZONE to a different value;
Changing a connection's setting_dict['TIME_ZONE'] to a different value.

It believe that only 1. can cause trouble here as you should be using TestCase or TransactionTestCase if you're fizzling with a database's connection.
The only solution I can think to solve 1. would be to defer the SET TIMEZONE execution to the first attempt to execute() through a cursor of the affected connection. I'm afraid this could lead to hard to debug scenarios and could break test utilities such as assertQueryNum().

@aaugustin, any thoughts about this change?

I think this change is fine. It needs a warning in the release notes because changes to the connection's time zone during tests will leak, while they used to be reset.

I think this change is fine. It needs a warning in the release notes because changes to the connection's time zone during tests will leak, while they used to be reset.

Can you come up with a testcase that would cause a time zone leak with the new approach?
Changing the connection's time zone without overriding the TIME_ZONE setting was always a source of possible leaks.

I assume cursor.execute("SET TIME ZONE Europe/Paris") in a TransactionTestCase should leak?
Indeed there's only a backwards-incompatibility if the user relied on overriding TIME_ZONE to reset the time zone in such a test.
Given the conditions needed to trigger the problem, this starts looking like a really edgy edge case... I don't have a strong opinion on whether to explain it in the release notes.

I assume cursor.execute("SET TIME ZONE Europe/Paris") in a TransactionTestCase should leak?

As connections are reloaded between each TransactionTestCase tests tear down init_connection_state will be called and reset the correct time zone for each of them before the next test runs.

Given the conditions needed to trigger the problem, this starts looking like a really edgy edge case... I don't have a strong opinion on whether to explain it in the release notes.

As we can't come up with conditions to trigger a leak I don't think it's necessary.

necessarly -> necessarily in first commit message and "workarounds" (one word) in second, otherwise LGTM.

Right. I give up ;-)


Error formating numbers

Looks like the numbers formatter always fails when using decimals.
It should never fail, even if the decimal is not provided.
   $log.getInstance('main').info('===> This works: "%s"', "string text");
   $log.getInstance('main').info('===> This fails: "%d"', 10);

Stack trace:
"June 19, 2016 3:44 PM::[main]> " "Error: [sprintf] expecting number but found undefined
[4]</</sprintf.format@http://localhost:3000/bower_components/angular-logger/dist/angular-logger.js:3893:1
sprintf@http://localhost:3000/bower_components/angular-logger/dist/angular-logger.js:3860:16
[2]</</LoggingEnhancer/self.countSprintfHolders@http://localhost:3000/bower_components/angular-logger/dist/angular-logger.js:215:1
maybeApplySprintf@http://localhost:3000/bower_components/angular-logger/dist/angular-logger.js:158:31
enhanceLogline@http://localhost:3000/bower_components/angular-logger/dist/angular-logger.js:149:25
[2]</</LoggingEnhancer/this.enhanceLogging/<@http://localhost:3000/bower_components/angular-logger/dist/angular-logger.js:122:30
[...]
" "===> This fails: "%d"" 10

@Toub angular-logger uses whatever version of sprintf you are currently using. It seems an issue with sprintf. Can you try with some other versions as well?
On a sidenote, I also released a new patch version, 1.3.2.

I know this is a long time ago, but I'm getting the same error.
This fails: this.$log.debug("cropAspectRatio => %f", this.cropAspectRatio);
This works: this.$log.debug(sprintf("cropAspectRatio => %f", this.cropAspectRatio));
i'm no sure what's going on. I'm using 1.3.2 of angular-logger and 1.1.2 of sprintf-js


[Devops-890] nixify plutus

Building plutus with nix for automated hydra CI testing.

Thanks for the review @mchakravarty ! I think we should move away from multiple stack.yaml files as soon as we can. It makes it much harder to manage the CI scripts as new things are added. The way the pkgs/generate.sh script works is it reads a stack.yaml file (which can have multiple packages, see the updated stack.yaml in the root, or better yet the one used by cardano-sl) and it builds dependency trees for all the packages, and then generates a nix equivalent. This means whenever the cabal or stack.yaml file is updated (say to add an additional package), it will  create a nix equivalent when pkgs/generate.sh is ran so that can be used by anyone using nix or the hydra CI system.
My intention is to run CI on hydra, not buildkite, as there are no build impurities here. Hydra is like buildkite, except it runs the build in a completely isolated sandbox using nix. You can see the two updated build statuses above linking to the hydra builds. It also caches the build to s3 so nix users don't have to build it locally, they can just pull the pre-built version from the binary cache.
If we really don't want the prototype building in hydra, I suggest I just remove it from release.nix but leave the nix files there in case anyone wants to use the prototype.
As for OSX, I should clarify here, only the hedgehog and shellcheck tests that are reporting build statuses back to github are running on linux. The build itself is building binaries for osx and linux: https://hydra.iohk.io/eval/245195

I moved the plutus-prototype files to it's own subdirectory, and updated the stack.yaml to point there instead '.'. I also removed the stack.yaml from the language-plutus-core subdirectory. For the new package being added later this week, they should do similar, add the project to the root stack.yaml and keep the cabal and source files in a subdirectory.  This should illustrate how we should be handling multiple projects in a single git repository.

@disassembler Thank you very much for the explanation! It makes perfect sense, and I agree that this is the right way forward.


Copying and pasting dist folder's contents from Classifai_FrontEnd to classifai's webroot

This is an automatically created PR :robot::robot:

It will triggered once codes in dist folder from repo Classifai_FrontEnd has been pushed.
Files & sub-folder in dist folder of repo Classifai_FrontEnd will be copied into classifai's webroot
Committed frontend PR's URL can be found in the commit history below.

The compiled code did not reflect changes in #201 on my side
Example:

No guiding cross line

Commit details

@codenamewei I think you need to turn on the toggle button first
https://user-images.githubusercontent.com/83570177/127662784-2aa9a2b3-0d82-4f27-a120-f1025579ffca.mp4

The compiled code did not reflect changes in #201 on my side
Example:

No guiding cross line

Commit details

@codenamewei I think you need to turn on the toggle button first
classifai.mp4

yep. missed that. working awesome!


Capture failed: No such file or directory, org-superstar

What did you expect to happen?
Tried to capture a new TODO.
What actually happened?
Got an exception:
condition-case: Capture abort: Cannot open load file: No such file or directory, org-superstar

Additional details:

https://github.com/C0DK/dotfiles/tree/master/home/.config/doom

System information:

emacs   version    27.0.90
        features   XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND GPM DBUS GLIB NOTIFY INOTIFY ACL GNUTLS LIBXML2 FREETYPE HARFBUZZ LIBOTF ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS LIBSYSTEMD JSON PDUMPER LCMS2 GMP
        build      Apr 13, 2020
        buildopts  (--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib --localstatedir=/var --mandir=/usr/share/man --with-gameuser=:games --with-sound=alsa --with-modules --without-gconf --without-gsettings --with-x-toolkit=gtk3 --without-xaw3d --without-m17n-flt --with-cairo --without-compress-install 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -g -flto -s -fuse-ld=gold' CPPFLAGS=-D_FORTIFY_SOURCE=2 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now)
        windowsys  x
        daemonp    server-running
doom    version    2.0.9
        build      HEAD -> develop 10031153b 2020-04-16 03:37:19 -0400
        dir        ~/.dotfiles/home/.config/doom/
system  type       gnu/linux
        config     x86_64-pc-linux-gnu
        shell      /usr/bin/zsh
        uname      Linux 4.19.114-1-MANJARO #1 SMP Thu Apr 2 17:04:36 UTC 2020 x86_64
        path       (~/bin /usr/local/bin ~/.local/bin ~/go/bin ~/.config/emacs/bin/ ~/.local/bin ~/bin /usr/local/bin ~/.local/bin ~/go/bin ~/.emacs.d/bin/ ~/.local/bin /usr/local/bin /usr/bin /bin /usr/local/sbin /usr/lib/jvm/default/bin /usr/bin/site_perl /usr/bin/vendor_perl /usr/bin/core_perl /usr/lib/jvm/default/bin /usr/bin/site_perl /usr/bin/vendor_perl /usr/bin/core_perl /usr/lib/emacs/27.0.90/x86_64-pc-linux-gnu/)
config  envfile    envvar-file
        elc-files  0
        modules    (:completion company ivy :ui doom doom-dashboard doom-quit hl-todo modeline nav-flash ophints (popup +all +defaults) unicode vc-gutter vi-tilde-fringe window-select workspaces zen :editor (evil +everywhere) file-templates fold format multiple-cursors rotate-text snippets word-wrap :emacs (dired +ranger) electric ibuffer vc :term term :checkers syntax (spell +everywhere) :tools debugger editorconfig ein (eval +overlay) gist (lookup +docsets) lsp magit make pass pdf rgb :lang common-lisp csharp data emacs-lisp fsharp go (java +meghanada) javascript latex markdown (org +dragndrop +capture +export +publish +present) python rest sh web :app calendar (rss +org) :config literate (default +bindings +smartparens))
        packages   ((ox-twbs) (elfeed) (prettier-js) (ranger))
        unpin      (n/a)
        elpa       (n/a)

You are probably missing doom refresh after git pull.

I recommend doom upgrade. It does all the housework for you (not just doom refresh).

You guys are the freaking greatest - Awesome quick response time. It came after an upgrade, and clearing of the emacs cache. Hope to find time to contribute to this project soon! Thanks again!
However i still get the error in org capture.
this was the output of my doom upgrade, however:
Package cl is deprecated
Package error: (error Could not find package org-superstar in recipe repositories: (org-elpa melpa gnu-elpa-mirror emacsmirror-mirror))
Package error: (error Could not find package org-pdftools in recipe repositories: (org-elpa melpa gnu-elpa-mirror emacsmirror-mirror))
Compiling your literate config...
Followed link to /home/cdk/.dotfiles/home/.config/doom/config.org
Tangled 17 code blocks from config.org

Done!
> (Re)generating core autoloads...
  > Generating core autoloads...
  > Byte-compiling core autoloads file...
  ✓ Generated .local/autoloads.elc
> Updating packages (this may take a while)...
  > (261/297) Updating treemacs...
      From https://github.com/Alexander-Miller/treemacs
         8853f54..1b82dac  master     -> origin/master

  ✓ (261/297) treemacs updated (8853f54 -> 1b82dac)
  > (284/297) Updating eglot...
      From https://github.com/joaotavora/eglot
         e02479a..1056ef5  master     -> origin/master

  ✓ (284/297) eglot updated (e02479a -> 1056ef5)
✓ Updated 2 package(s)
> (Re)building packages...
  → Building treemacs...
  → Building treemacs...done
  → Building eglot...
  → Building eglot...done
  ✓ Rebuilt 2 package(s)
> (Re)generating package autoloads...
  > Generating package autoloads...
  > Byte-compiling package autoloads file...
  ✓ Generated .local/autoloads.pkg.elc
✓ Finished! (135.8593s)

Same as #2909 which duplicates #2802, https://github.com/hlissner/doom-emacs/issues/2802#issuecomment-606654151 has the workaround.

#2802 (comment) fixed it. Thanks!


Bad link in online doc Customization -> Themes section

Problem description

The other variables
We have tried to normalize the implementation by adding many more variables: typography, breakpoints, transitions, etc. You can see below what the theme object looks like with the default values. If you want to learn more, we suggesting having a look at material-ui/style/theme.js.

The link to material-ui/style/theme.js is bad as the file is no longer in the source.

Material-UI: 1.0.0-Beta7

Thanks for raising the issue. It's fixed.


[APIDigester] Provide a category when serializing diagnostics representing API/ABI breakage

Previously, the 'category' field in .dia files was unused by Swift (Clang uses it though). This PR sets the category of diagnostics emitted by the API digester which represent breaking changes to be 'Swift API Digester: Breaking Change'. I'd like to use this in SwiftPM so that it can easily identify breaking changes when parsing digester diagnostics, and then format them differently from other errors that may occur when presenting results to the user.
Right now, the DiagnosticEngine uses an APIDigesterBreakingChange option to flag a diagnostic as being part of this category. This probably will work fine for now, but if we ever want to introduce more than a handful of categories it might be worth updating the diagnostic macros to make 'Category' distinct from 'Options'

@swift-ci please smoke test

@swift-ci please smoke test

@nkcsgexi thanks for reviewing!


Rotated labels

Hello,
is it anyhow possible to rotate labels (LabelStyle)?
I need the labels to get fixed rotation and stay like that no matter the viewport's rotation.

Screenshot is Cordova version of our app using OpenLayers.

After a short look into LabelRenderer, it seems, that this isn't possible.

Yes, I guess.
I started the issue to possibly discuss any possibilites, including editing the renderer somehow.

Took another look at the label renderer and sadly, it doesn't look possible.

Try to use the new user defined renderers. You get a canvas and can draw whatever you want. Should be possible and not so difficult.

I get a Skia canvas? There is no such method that allows me to draw rotated text (DrawText()).

Yes, you get one. And you don’t rotate the text, you rotate the canvas in the other direction and than draw the text.

Well, there will be one canvas for one label? It won't work otherwise, I need every label to have different rotation.

It is always the same canvas. But you could rotate it for each draw in another direction.
canvas.Save();
canvas.Rotate(30);
canvas.Restore();
canvas.Save();
canvas.Rotate(12);
canvas.Restore();

Or you could rotate by the difference.

Ok, will try. Thank you.

See here.

Good. Custom renderers are really helpful here. First because everyone can solve their own problems. Second because this will result in more merge requests for new functionality.

Worked like a charm. Thank you for the advice.

@hajmajeboss Perhaps it is possible to create a PR out of this. I guess LabelStyle should get a Rotation field. Anything else? Could there be complications?

Why not add Rotation property and RotareWithMap property to LabelStyle and render it accordingly?

Hello ! I ran into this problem today and I'm wondering if there could be a PR for this with what @hajmajeboss had mentioned above

@leo-costa Yes, this is an addition that makes sense. Rotate and RotateWithMap could be seen as separate issues but for the feature described above you will need both.
This is the current functionality.

The labels don't rotate. Which is what you want in most cases.
RotateWithMap
RotateWithMap should be a boolean. Should default be false. If true the label will rotate with the map, so in the screenshot above the labels would be rotated 45 degrees. Not a common use case in itself.
Rotate
Individual rotation of the label. If RotateWithMap is false they will simply be rotated relative to the top of the form. If RotateWithMap is true they will be rotated relative to the north of the map.

@leo-costa I created a new issue for this, lets discuss this there:
https://github.com/Mapsui/Mapsui/issues/983


Fix extreme events and extreme index ancestors

Before you start, please read our contribution guidelines.
Please discuss your idea with the development team before getting started, to avoid disappointment later. The way to do this is to open a new issue on GitHub. If you are planning to modify an existing functionality, please discuss it with the original author(s) by tagging them in the issue.

Tasks

[x] Create an issue to discuss what you are going to do, if you haven't done so already (and add the link at the bottom)
[x] Give this pull request a descriptive title that can be used as a one line summary in a changelog
[x] Make sure your code is composed of functions of no more than 50 lines and uses meaningful names for variables
[x] Circle/CI tests pass. Status can be seen below your pull request. If the tests are failing, click the link to find out why.
[ ] Preferably Codacy code quality checks pass, however a few remaining hard to solve Codacy issues are still acceptable. Status can be seen below your pull request. If there is an error, click the link to find out why. If you suspect Codacy may be wrong, please ask by commenting.
[ ] Please use yamllint to check that your YAML files do not contain mistakes
[ ] (Only if really necessary) Add any additional dependencies needed for the diagnostic script to setup.py, esmvaltool/install/R/r_requirements.txt or esmvaltool/install/Julia/Project.toml (depending on the language of your script) and also to package/meta.yaml for conda dependencies (includes Python and others, but not R/Julia)
[ ] If new dependencies are introduced, check that the license is compatible with Apache2.0

New recipe/diagnostic

[ ] Add documentation for the recipe to the doc/sphinx/source/recipes folder and add a new entry to index.rst
[ ] Add provenance information

Modified recipe/diagnostic

[ ] Update documentation for the recipe to the doc/sphinx/source/recipes folder
[ ] Update provenance information if needed
[ ] Assign the author(s) of the affected recipe(s) as reviewer(s)

New data reformatting script

[ ] Test the CMORized data using recipes/example/recipe_check_obs.yml, to make sure the CMOR checks pass without errors
[ ] Add the new dataset to the table in the documentation
[ ] Tag @mattiarighi in this pull request, so that the new dataset can be added to the OBS data pool at DKRZ and synchronized with CEDA-Jasmin

Modified data reformatting script

[ ] Test the CMORized data using recipes/example/recipe_check_obs.yml, to make sure the CMOR checks pass without errors
[ ] Tag @mattiarighi in this pull request, so that the updated dataset can be added to the OBS data pool at DKRZ and synchronized with CEDA-Jasmin

If you need help with any of the tasks above, please do not hesitate to ask by commenting in the issue or pull request.

Closes #1718

For me it runs like that, please check!
It looks like ancestors for provenance can either be set as list or as vector of characters in R, but not as the combination of both to be a non nested list in the (phython) Core.

Thank you @katjaweigel

To be cherry-picked...

Done


Can't reformat correctly in a round with trailing_comma_on_call_site enabled

Expected Behavior
Reformat correctly in a round with trailing_comma_on_call_site enabled.
Observed Behavior
Need to format correctly code below for 3 times.
Original:
interface Foo {
  fun foo()
}

fun bar(foo: Foo) {
  foo.foo()
}

fun main() {
  bar(object : Foo {
      override fun foo() {
        TODO("Not yet implemented")
      }
  })
}

Steps to Reproduce
First round reformat:
fun main() {
  bar(object : Foo {
    override fun foo() {
      TODO("Not yet implemented")
    }
  },)
}

Second round reformat:
fun main() {
  bar(object : Foo {
    override fun foo() {
      TODO("Not yet implemented")
    }
  },
  )
}

Third round:
fun main() {
  bar(
    object : Foo {
      override fun foo() {
        TODO("Not yet implemented")
      }
    },
  )
}

You can start from the second step, also need 2 rounds to format.
Your Environment

Version of ktlint used: 0.47.1
Relevant parts of the .editorconfig settings https://github.com/Goooler/DemoApp/blob/trunk/.editorconfig
Name and version (or code for custom task) of integration used (Gradle plugin, Maven plugin, command line, custom Gradle task): CLI
Version of Gradle used (if applicable): Nope
Operating System and version: MacOS 12.5.1

Yep. Noticed this too. For instance here: https://github.com/vanniktech/gradle-code-quality-tools-plugin/pull/245/files#diff-7885ec759a167c69428552655473fc77195bb3733559c7e27bb3b2d26d36452aL21
Note though that I'm stuck on the second loop and it won't do the third and place object : Instantiator { into it's own line

In the examples above, the trailing comma should not have been added. Currently it is added because the VALUE_ARGUMENT_LIST is a multiline statement and any newline inside the VALUE_ARGUMENT_LIST is considered to be a reason to add the trailing comma.


How to setup iso transfer in UDE examples

Hi, In "Write a UDE client driver",  I want to know how to handle the URB to support ISO transfer
For example I need to setup following parameters for ISO transfer
offset / length /status
Thanks in advance

This is for Write a UDE client driver](https://docs.microsoft.com/windows-hardware/drivers/usbcon/writing-a-ude-client-driver).
Hi @HamiguaLu
Thanks for reaching out to our team. This particular channel is monitored by the men and women who write the  driver documentation posted on docs.microsoft.com/drivers. Though we'd like to, we don’t have the resources to help you with your code.

Your best bet is to use one or both of the two really good forums where other driver developers and Microsoft engineers can be found. The first is the MSDN Windows Hardware WDK and Driver Development forum: https://social.msdn.microsoft.com/Forums/windowshardware/.
The other is the NTDEV forum from OSR Online: https://community.osr.com/.

You can post your question in those locations, and the community of developers usually give feedback fairly quickly.

Again, thanks for reaching out. Best of luck with this issue.
Eliot


Add Svelte 5 support

Looks like all that is needed is to add it to the peer deps range but need to verify

Hi @ghostdevv ,thank you for this great implementation of Turnstile for Sveltekit. How is Svelte 5 support coming along. Thanks for any updates! :)

Svelte 5 just came out today.

Thanks! Now I can remove --force from everything!

This has been released in v0.9.0! I opted to go with using the Svelte 4 compatibility mode rather than making a Svelte 5 only version. In the future I will do a Svelte 5 only version, which will be a breaking change - but I'll give everyone some time to update to Svelte 5. The compatibility mode works fine here, and it'll mean I won't need to try and maintain two versions of the library to ensure everyone is getting the new features. I tested this both in Svelte 4 & 5 and it seemed to work fine, but let me know if there are any issues!
cc: @teneon @Estr0gen @retr0cube

This has been released in v0.9.0! I opted to go with using the Svelte 4 compatibility mode rather than making a Svelte 5 only version. In the future I will do a Svelte 5 only version, which will be a breaking change - but I'll give everyone some time to update to Svelte 5. The compatibility mode works fine here, and it'll mean I won't need to try and maintain two versions of the library to ensure everyone is getting the new features. I tested this both in Svelte 4 & 5 and it seemed to work fine, but let me know if there are any issues!
cc: @teneon @Estr0gen @retr0cube

greate job chief


Back button in create event

Se agrego el boton en el form de crear, se cambio un poco el estilo del logo que no estbaa quedando en linea con la palabra regresar

⚠ the button was created in:
- Create event: but it does not have the required styles, it does not go under the create event title, it goes over the word and must be on a white background.
Current

New event

Event detail

Expected result

Clicking the blue button brings up this list, the view doesn't exist yet, you could make a blank page and put the return button.

Tested locally and in deployment
Works as expected
Don't break another implementations


 I try to screen-cap before it instantly shut down. "ModuleNotFoundError: No Module Named 'pygrabber'."

Downloaded the wrong files. whoops.


Add getting started node <=> client tutorial

After discussion with @Dominik1999 and @hackaugusto we decided to propose the addition of a getting started guide enabling a newcomer to user the core features of the Miden rollup.
I have been able to deploy an EC2 instance on AWS running the node. We are able to send queries and get responses from it's RPC. We can now use it as a testing ground for the Miden rollup.
Depends on: https://github.com/0xPolygonMiden/miden-node/pull/200

Thank you! Looks good! Once @igamigo and @Dominik1999 comments are addressed, this is good to merge.
Let's create an issue to revisit this in the future. The primary reason is that while the node/client are rapidly changing, this section is likely to get out of sync pretty quickly.
Another reasons is that we'd eventually want a more comprehensive "Getting started" guide which would cover probably a few more topics (e.g., running node in the local environment, writing firs smart contract, maybe something else) but probably not in as much depth.

Opened: https://github.com/0xPolygonMiden/miden-base/issues/453


[Proposal] Make the sklearn dependency soft / optional

The guts of pescador are pure python (fishsnake), with two exceptions:

pyzmq for background threading
sklearn for BaseEstimator inheritance

The former is kind of core to what pescador is, whereas the second is just for maintaining a common interface with another library (which you could very well never touch). Worth noting, sklearn, and thus scipy, are bloating this build on travis, and any project that touches pescador.
Granted there's a decent chance that anyone using pescador is probably going to be using one or both of those libs, but it's kinda bumming me out that pescador build / install times are almost double digit minutes, while the tests themselves take seconds.
discuss.

Yeah, that's reasonable, but it will take some api breakage to do it properly.  (Moving StreamLearner into its own submodule.)

What's the timeline for v0.2?

None as of yet, since I haven't seen much need for major revision until now.

Because I'm a lazy individual, #23 also implements a modification to the travis configs that should bring the build time back down to manageable.

Alternately: how do you feel about just dropping the streamlearner object?  I don't think it gets used much (ever?) and dklearn does a reasonable enough job of this sort of thing anyway for people that just want out-of-core learning.

I have a new repo of basically "pescador tools" that I could wrap it into. It might make sense there. Otherwise, I think it's probably fine to drop it.
https://github.com/cjacoby/streambuilder
It's only a few days old, and I'm still in the middle of setting up a bunch of things, but you should get the idea. (The current readme is a tad out of date, but at least explains what I'm getting at.) I found myself building this thing at least twice, so I decided to make a repo of it.


Question about Index.ts

I'm submitting a ...
[ ] bug report
[ ] feature request
[*] question about the decisions made in the repository

Do you want to request a feature or report a bug?
No

What is the current behavior?
For all the components, I've notice there is a index.ts inside we can find:
In the root of the component
export * from './baPageTop';

Then for each other component inside that one:
export * from './baSidebar.component.ts';
I would like to know if do I need to do the same for all my components?
What is the reason for it?
Thanks a lot guys

Hi @abnersouzarocket, basically the idea of the index file is that you can put there as many exports as your component has.
Then, importing them somewhere else you will be able to import them as one entry with one import statement instead of multiplying imports per each file.
For example, we have the index file in the validator folder https://github.com/akveo/ng2-admin/tree/master/src/app/theme/validators, which exports both validators we have. Now, when we need both of them somewhere else we can import them in one line. Same goes for the components. Hope this answers to your question!

I think I got the idea so in that case for the example you gave:
I can import like this:
import { EmailValidator, EqualPasswordsValidator } from '../../theme/validators';
instead of:
import { EmailValidator } from '../../theme/validators/email.validator';  import { EqualPasswordsValidator } from '../../theme/validators/equalPasswords.validator';
Thanks a lot, I've seen this type of approach when I was using React.


MariaDB: Unique Constraint on Branches doesn't respect casing

Description
In a repo with two branches feature/test_case and feature\Test_Case gitea throws a 500 exception when syncing branches as the unique constraint is violated.
SyncRepoBranches: Error 1062 (23000): Duplicate entry '<redacted_branch_name>' for key 'UQE_branch_s'
This error happened after an upgrade to 1.21.0 on an existing repo.
Workaround is to rename one of the branches.
Typically having this type of different branch names only based on casing is not needed (imho it's a bug ;) ) - but we shouldn't have a 500 page when accessing the repo.
Gitea Version
1.21.0
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
No response
Git Version
No response
Operating System
Linux
How are you running Gitea?
Official binary
Database
MySQL/MariaDB

I got the same error in Gitea log after updating to 1.21.
...dules/context/api.go:105:ServerError() [E] SyncRepoBranches: Error 1062 (23000): Duplicate entry '<BRANCH_NAME>' for key 'branch.UQE_branch_s'
But I can't find such branch in DB.
mysql  Ver 8.0.28 for Linux on x86_64 (MySQL Community Server - GPL)

Related: https://github.com/go-gitea/gitea/issues/25909

Are we "allowed" to remove a unique constraint in a patch release?

I got the same error in Gitea log after updating to 1.21. ...dules/context/api.go:105:ServerError() [E] SyncRepoBranches: Error 1062 (23000): Duplicate entry '<BRANCH_NAME>' for key 'branch.UQE_branch_s'
But I can't find such branch in DB. mysql Ver 8.0.28 for Linux on x86_64 (MySQL Community Server - GPL)

It helped: https://github.com/go-gitea/gitea/issues/25909#issuecomment-1637254581

Are we "allowed" to remove a unique constraint in a patch release?

Anything reasonable is possible, but I think the solution is to make the field case-sensitive.


Lost problems tableview header

Testing #150750
Not sure what I did to get into this state, but I lost the header for the table view. Toggling back and forth between treeview restored it.

In trying to repro, I had found that everytime I created a new text file, the header would disappear before my eyes. I resized my VS Code window to make a gif out of it, and suddenly that repro stopped reproing. :( So now I don't know what happened.

I am unable to repro this with the latest VS Code release.


Cache purging destroying conversations loaded without a query

We're loading some conversations directly from a Client instance (client.getConversation(id, load)) and are noticing that after some time it would stop listen to events and messages list (which uses layer-react) would be cleaned.
After some debugging, we found that it was happening due to cache purging (reducing CACHE_PURGE_INTERVAL to trigger it faster).
Seems that _checkAndPurgeCache uses _isCachedObject to check if an object should be purged or not, and as we're not loading the Conversation using a Query _isCachedObject returns false.

Ah... sorry for the delayed response; gmail sends most of these to my priority inbox...  Filters updated!
So, yes, this is a concern I've had, so I'll briefly discuss the rationale for this, how it works, and what can be done about it.  To be clear, while I feel like something of this sort is necessary, I'm not entirely comfortable with the side effects that you've encountered so am happy to hear ideas.
Rationale: Long lived applications can not afford to have memory just accumulate; some reasonable criteria is needed to purge cache.  For a tab open weeks or months, the memory footprint of that tab should not grow as more and more messages, conversations, etc... arrive and are cached.  Thus, a cache cleanup mechanism is needed.
How it works: If you have a layer.Query instance, and that Query contains your message in its data, its considered to be "in-use" and therefore not available for garbage collection.  This is especially focused on cases where new Message notifications arrive for messages in Conversations your not interacting with (i.e. don't have a Query for); something that could easily accumulate over weeks of use. Its expected that almost all interactions with Layer data is via Queries.  Where does this break down?

New message notifications: A new message arrives on a Conversation your not currently looking at, you want to pop up a notification about that Message.
Apps that call getMessage(id, true)

What we've done to address this: we give a user 10 minutes to use it or lose it.  Not ideal, but for use case #1 thats typically good enough.
Solutions and work arounds:

https://docs.layer.com/api_reference/web-3.0/#!/api/layer.Client-static-property-CACHE_PURGE_INTERVAL is a static property you can change to any number you like.  Perhaps a week works better for you?  layer.Client.CACHE_PURGE_INTERVAL = XXX;
You could experiment with creating a Query, and then manually manipulating its data property (this is a bit of a hack, but if it works, insures that objects stashed here won't be garbage collected).  Make sure that the Query model and dataType are set correctly.
You could just use message.toObject() and stash a local copy of the object without any event handlers or methods.  This won't get updates/events, but preserves your data.

I'd start with #1 and only try the others if that doesn't work for you.
Michael


statistics and charts

Can you elaborate on this?

We need to track user behavior, page loads, interactions, sales etc. Instead of rolling our own we should look into using Google analytics. It has support for e-commerce and is easy to install and parameterize into configuration.


Add a fill rate at the attribute level

Allow a user to specify a given attribute has a 20% (or some other value) fill rate.

This was done awhile ago


Subtract and add not using scale

BcMathCalculator add and subtract methods ignore scale set up for calculator, thus giving wrong results.
$total = '0.00125148';
$fee = '0.00005006';
$calc = new BcMathCalculator($bitCoinScale = 8);
$amount = $calc->subtract($total, $fee);
var_dump($amount); // string(1) "0"

@dzona - I'm curious about this too - did you come to any conclusions? 0 is clearly hard-coded for add() and subtract() in lieu of $this->scale:
Add:
https://github.com/moneyphp/money/blob/8655b0f62763acb893bad53be35323af25ad557c/src/Calculator/BcMathCalculator.php#L46-L49
Subtract:
https://github.com/moneyphp/money/blob/8655b0f62763acb893bad53be35323af25ad557c/src/Calculator/BcMathCalculator.php#L59-L62
🤔

scale is a must for any operation to provide proper results.


Error on Modal.Action types

Bug report 🐞
Version & Environment

Version of vscode: 1.47.2
Version of zeit-ui/react: ^1.8.0-canary.7

Expection
i expect no error when i copy/paste the code from the examples
Actual results (or Errors)
I got a typescript error on the example for Modal:
    <Modal open={state} onClose={closeHandler}>
    <Modal.Title>Modal</Modal.Title>
    <Modal.Subtitle>This is a modal</Modal.Subtitle>
    <Modal.Content>

Some content contained within the modal.

    </Modal.Content>
    <Modal.Action passive onClick={() => setState(false)}>Cancel</Modal.Action>
    <Modal.Action>Submit</Modal.Action>
  </Modal>

the error i get in vscode and the browser:

I'm not sure why but Mocal.Action seems to not have the proper Props passed in the types.

Thanks for the bug report, version v1.8.0-canary.8 is now available.
Any update, please reply to me.

no more error in vscode with the new version. Thanks ! i think we can close this one :)


pdm ignores sklearn's dependencies

[x] I have searched the issue tracker and believe that this is not a duplicate.

Make sure you run commands with -v flag before pasting the output.
Steps to reproduce

pdm init
pdm add sklearn

Actual behavior
π pdm add sklearn
Adding packages to default dependencies: sklearn
  Finish resolving
✔ Resolution success
Changes are written to pdm.lock.
Changes are written to pyproject.toml.
Synchronizing: ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 2/2

2 packages are installed:
  - aaa 0.0.0
  - sklearn 0.0

Expected behavior
It should also install scikit-learn.

π pip install sklearn
Processing /Users/Nasy/Library/Caches/pip/wheels/22/0b/40/fd3f795caaa1fb4c6cb738bc1f56100be1e57da95849bfc897/sklearn-0.0-py2.py3-none-any.whl
Collecting scikit-learn
  Using cached scikit_learn-0.22.2.post1-cp38-cp38-macosx_10_9_x86_64.whl (7.2 MB)
Collecting numpy>=1.11.0
  Downloading numpy-1.18.2-cp38-cp38-macosx_10_9_x86_64.whl (15.2 MB)
     |████████████████████████████████| 15.2 MB 5.1 MB/s
Collecting scipy>=0.17.0
  Using cached scipy-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl (28.8 MB)
Requirement already satisfied: joblib>=0.11 in /Users/Nasy/.pyenv/versions/3.8.1/lib/python3.8/site-packages (from scikit-learn->sklearn) (0.14.1)
Installing collected packages: numpy, scipy, scikit-learn, sklearn
Successfully installed numpy-1.18.2 scikit-learn-0.22.2.post1 scipy-1.4.1 sklearn-0.0

Environment Information
pdm version:
# Paste the output of `pdm info && pdm info --env` below:
Python Interpreter: /Users/Nasy/.macports/bin/python3.8 (3.8.2)
Project Root:       /Users/Nasy/temp/aaa
{
  "implementation_name": "cpython",
  "implementation_version": "3.8.2",
  "os_name": "posix",
  "platform_machine": "x86_64",
  "platform_release": "19.4.0",
  "platform_system": "Darwin",
  "platform_version": "Darwin Kernel Version 19.4.0: Wed Mar  4 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64",
  "python_full_version": "3.8.2",
  "platform_python_implementaiton": "CPython",
  "python_version": "3.8",
  "sys_platform": "darwin"
}

Incorrect metadata are reported to PyPI: https://pypi.org/pypi/sklearn/json
Workaround:
$ pdm config pypi.json_api false
$ pdm cache clear
$ pdm lock && pdm sync

I am considering turning off json_api by default in the next release.

Interesting.  Thanks.

People are hoping to accelerate dependency resolution by consulting PyPI JSON API, but it turns out to be impractical, unfortunately. The metadata on PyPI are usually broken and incomplete, so finally I decided to go back to file metadata analysis.

Incorrect metadata are reported to PyPI: pypi.org/pypi/sklearn/json
Workaround:
$ pdm config pypi.json_api false
$ pdm cache clear
$ pdm lock && pdm sync

I am considering turning off json_api by default in the next release.

There is a typo pdm config pypi.json_api false -> pdm config set pypi.json_api false


Improve performance of regex_replace

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
Currently by far the worst performing query in ClickBench for datafusion is query 28:
SELECT REGEXP_REPLACE("Referer", '^https?://(?:www.)?([^/]+)/.*$', '1') AS k, AVG(length("Referer")) AS l, COUNT(*) AS c, MIN("Referer") FROM hits WHERE "Referer" <> '' GROUP BY k HAVING COUNT(*) > 100000 ORDER BY l DESC LIMIT 25;

It seems this is due too REGEXP_REPLACE in this query.
Describe the solution you'd like
Introduce a benchmark and improve the performance of REGEXP_REPLACE (with a scalar) in DataFusion.
Describe alternatives you've considered
n/a
Additional context
There are some more efficient patterns in arrow-rs for writing (string/regex) kernels. This could be used here as well.
Optimizations that might be beneficial:

reusing the null buffer from the input array (instead of rebuilding in the iterator)
special casing scalar type, so no hashmap has to be used for storing / retrieving compiled regexes

I definitely agree that there is a lot of room for improvement. Was playing with a couple of ideas, and especially for the second point you've mentioned I think it might be a decent-ish gain by itself. Took the liberty of creating a separate issue describing the approach, #3613 FYI. Maybe we can treat this one as the meta issue.

reusing the null buffer from the input array (instead of rebuilding in the iterator)

I was looking into this one; but even on cases where the array is very sparse (in testings, I've used %20 data / %80 nulls), there doesn't seem to be an observable difference between building the underlying data buffers by ourselves and reusing the existing null buffer vs rebuilding everything. The experiment is in this branch, and the results are (on release mode):

baseline is ~0.721s ish
that branch is ~0.690s ish

So a ~5% speed-up, but I highly suspect it might be just noise. (There is also a chance that I completely misunderstood the concept 😄 so am very open to input on the experiment code on what else I can try).

It might be that regexes themselves are so expensive, that the "null buffer" reuse has minimal benefit.

It might be that regexes themselves are so expensive, that the "null buffer" reuse has minimal benefit.

Initial profiling indicates even with a very simple regex, for the query in that example, we spent around ~%25 of the whole execution time in into_array which is due to our usage of adapter even in the specialized mode.
https://cs.github.com/apache/arrow-datafusion/blob/15289610318e4acad48e40f5adabe0c5a9e8f9b9/datafusion/physical-expr/src/regex_expressions.rs#L307
So perhaps we could extend the initial adapter with a system that can also receive hints (regarding whether the arrays needs to be padded or not).

Now benchmarking null buffer re-use code on top of #3762, I can see a ~%20 improvement on a very sparse array. It might be worth it, but I also have to benchmark without unsafe (one question would be whether it is fine to have an unsafe in the implementation for a relatively low speed-up).

@Dandandan should we close this issue as well since all the sub-issues are now resolved, #3613, #3762, #3803?

Thanks @isidentical that makes a lot of sense!
Thank you for all the improvements🙏

Thank you for the amazing ideas / pointers and your reviews ❤


Added missing [install] section for .service systemd unit

Signed-off-by: Fabian Arrotin<EMAIL_ADDRESS>

This was merged in #49. Thanks!


[BUG] ImportError: cannot import name 'Orientation' from 'libcamera' (/usr/lib/python3/dist-packages/libcamera/init.py)

Describe the bug
After upgrading to picamera2-0.3.16 this line causes issues File "/usr/local/lib/python3.9/dist-packages/picamera2/utils.py", line 1,
Added a comment in conflicting commit with more details
To Reproduce
upgrade libcamera & picamera2:
...
Successfully installed picamera2-0.3.16
$libcamera-hello --version
libcamera-apps build: 7e4d3d71867f 17-07-2023 (07:34:42)
libcamera build: v0.0.5+83-bde9b04f

Expected behaviour
normal import behavior
Console Output, Screenshots
Traceback (most recent call last):
...
    import picamera2 as Picam2
  File "/usr/local/lib/python3.9/dist-packages/picamera2/__init__.py", line 9, in <module>
    from .picamera2 import Picamera2, Preview
  File "/usr/local/lib/python3.9/dist-packages/picamera2/picamera2.py", line 24, in <module>
    import picamera2.utils as utils
  File "/usr/local/lib/python3.9/dist-packages/picamera2/utils.py", line 1, in <module>
    from libcamera import ColorSpace, Orientation, Rectangle, Size, Transform
ImportError: cannot import name 'Orientation' from 'libcamera' (/usr/lib/python3/dist-packages/libcamera/__init__.py)

Hardware :
Raspberri Pi 4B
uname -a
Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr  3 17:24:16 BST 2023 aarch64 GNU/Linux
(same happened on Linux 5.13.32)

Can you say where you have got your version of libcamera from?
It sounds to me like you're running something horribly old, and any even vaguely recent version of Picamera2 will never work.
If you have a spare SD card, are you able simply to install an up-to-date image to test your camera? Can you say why this doesn't work for you? Thanks.

@davidplowman
What is not obvious is the compatibility of the libcamera/picamera2 versions.
For example, currently for me it is OK with the current distributions 3.14 and up to date libcamera distrib.
Should I expect a similar problem if I wanted to try 2.16?

We always recommend updating libcamera, rpicam-apps and Picamera2 from apt together, because we always ensure they work together. The root of the problem is that libcamera doesn't have a stable API, though I think things are getting better with some of the version numbering, so that's something we could try to improve.
I think we'd make Picamera2 have a minimum supported libcamera version. We're unlikely to keep newer versions of Picamera2 backwards compatible with older libcameras unless it's straightforward to do and doesn't complicate code paths internally.

okay, I could start from scratch (before I was tied to kernel 5.13.32) due to the camera driver issue.
Initially it didn't detect the camera again but some of these steps in issue 218 made the trick.
setup for reference, after clean image of :
Linux raspberrypi 6.1.0-rpi7-rpi-v8 #1 SMP PREEMPT Debian 1:6.1.63-1+rpt1 (2023-11-24) aarch64 GNU/Linux
installed;
sudo apt-get update
sudo apt-get upgrade
sudo apt-get autoremove

sudo apt install -y python3-libcamera python3-kms++
sudo apt install -y python3-pyqt5 python3-prctl libatlas-base-dev ffmpeg python3-pip
sudo apt install -y python3-opencv
sudo apt install -y opencv-data vim

> https://learn.adafruit.com/circuitpython-on-raspberrypi-linux/installing-circuitpython-on-raspberry-pi#setup-virtual-environment-3157129

sudo apt-get install -y i2c-tools libgpiod-dev python3-libgpiod
sudo apt install --upgrade python3-setuptools
sudo apt install python3.11-venv

$ sudo vim /boot/firmware/config.txt
Add at the end:
[all]
camera_auto_detect=0
dtoverlay=ov9281
dtparam=i2c_vc=on

Ready to start debugging my own app. Thanks!
just a note from your comment on https://github.com/raspberrypi/picamera2/issues/849#issuecomment-1914261726
request = picam2.capture_request(flush=True)
array = request.make_array('main')
request.flush()

AttributeError: 'CompletedRequest' object has no attribute 'flush'

I'm closing this issue. Thanks for your fast response.

okay, I could start from scratch (before I was tied to kernel 5.13.32) due to the camera driver issue.
Initially it didn't detect the camera again but some of these steps in issue 218 made the trick.
setup for reference, after clean image of :
Linux raspberrypi 6.1.0-rpi7-rpi-v8 #1 SMP PREEMPT Debian 1:6.1.63-1+rpt1 (2023-11-24) aarch64 GNU/Linux
installed;
sudo apt-get update
sudo apt-get upgrade
sudo apt-get autoremove

sudo apt install -y python3-libcamera python3-kms++
sudo apt install -y python3-pyqt5 python3-prctl libatlas-base-dev ffmpeg python3-pip
sudo apt install -y python3-opencv
sudo apt install -y opencv-data vim

> https://learn.adafruit.com/circuitpython-on-raspberrypi-linux/installing-circuitpython-on-raspberry-pi#setup-virtual-environment-3157129

sudo apt-get install -y i2c-tools libgpiod-dev python3-libgpiod
sudo apt install --upgrade python3-setuptools
sudo apt install python3.11-venv

$ sudo vim /boot/firmware/config.txt
Add at the end:
[all]
camera_auto_detect=0
dtoverlay=ov9281
dtparam=i2c_vc=on

Ready to start debugging my own app. Thanks!
just a note from your comment on https://github.com/raspberrypi/picamera2/issues/849#issuecomment-1914261726
request = picam2.capture_request(flush=True)
array = request.make_array('main')
request.flush()

AttributeError: 'CompletedRequest' object has no attribute 'flush'

I'm closing this issue. Thanks for your fast response.

I tried all above changes mentioned in the last comment by @juanmf , ye i am facing the same issue.
File "/usr/local/lib/python3.9/dist-packages/vilib-0.2.1-py3.9.egg/vilib/__init__.py", line 2, in <module>     from .vilib import Vilib   File "/usr/local/lib/python3.9/dist-packages/vilib-0.2.1-py3.9.egg/vilib/vilib.py", line 25, in <module>     from picamera2 import Picamera2   File "/usr/local/lib/python3.9/dist-packages/picamera2/__init__.py", line 9, in <module>     from .picamera2 import Picamera2, Preview   File "/usr/local/lib/python3.9/dist-packages/picamera2/picamera2.py", line 24, in <module>     import picamera2.utils as utils   File "/usr/local/lib/python3.9/dist-packages/picamera2/utils.py", line 1, in <module>     from libcamera import ColorSpace, Orientation, Rectangle, Size, Transform ImportError: cannot import name 'Orientation' from 'libcamera' (/usr/lib/python3/dist-packages/libcamera/__init__.py)

It sounds as though you may be running an older version of Pi OS and have tried to install a version of Picamera2 that is newer? I would recommend:

Upgrade to Pi OS Bookworm if you can.
If you need to use an older version of Pi OS, only use the version of Picamera2 available in apt, as this will be the correct version for the OS.

@davidplowman , I am using Bullseye OS.
 $ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

I will try with Bookworm OS once and Update. Thanks for the quick response.


Use watcher to track unamanged kube-dns pods in Cilium Operator

Listing all pods, even if with a filter will load the etcd kvstore as
the filtering is done in kube-apiserver. To avoid doing this operation
every 10 seconds we can have a single watcher that keeps track of all
unmanaged kube-dns pods locally.

test-me-please

test-me-please

test-me-please

will need rebase once https://github.com/cilium/cilium/pull/11435 is merged

Coverage decreased (-0.07%) to 37.961% when pulling b33db47064635ff93011704f2cfeb8932e74c09e on pr/do-not-list-unmanaged-pods into 37139c33fb791d375ca852a01e176b603810cd54 on master.

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

retest-net-next

K8s1.17 hit https://github.com/cilium/cilium/issues/11314


export PDF stops working

VS Code 1.84.1 on WSL2
One day, it stopped exporting PDF. The exporting progress bar just keeps running without error message.
Exporting as HTML works fine.

It is difficult for anyone to help you with only current informations. Could you share the log in the console of VS Code Developer Tools while exporting PDF with Marp? (Help -> Toggle Developer Tools -> "Console" tab)
As mentioned in https://github.com/orgs/marp-team/discussions/113, it is also worth trying to set the specific path to the Linux Chrome/Chromium browser in the settings of the extension.

this is all the output from Console: (nothings else happening except for the progress bar)
[Extension Host] Execute Marp CLI [-c /tmp/.marp-vscode-cli-conf-LBAxbxkXv_YWK-DfX93_d.json /home/THE_FILE_NAME.md -o /home/THE_FILE_NAME.pdf] ({})
console.ts:137 [Extension Host] [  INFO ] Converting 1 markdown...
w @ console.ts:137
$logExtensionHostMessage @ mainThreadConsole.ts:39
S @ rpcProtocol.ts:456
Q @ rpcProtocol.ts:441
M @ rpcProtocol.ts:371
L @ rpcProtocol.ts:297
(anonymous) @ rpcProtocol.ts:161
y @ event.ts:1140
fire @ event.ts:1171
fire @ ipc.net.ts:650
z @ ipc.net.ts:1015
(anonymous) @ ipc.net.ts:875
y @ event.ts:1140
fire @ event.ts:1171
acceptChunk @ ipc.net.ts:394
(anonymous) @ ipc.net.ts:350
(anonymous) @ browserSocketFactory.ts:230
y @ event.ts:1140
fire @ event.ts:1171
j.onload @ browserSocketFactory.ts:91
console.ts:137 [Extension Host] [  WARN ] Insecure local file accessing is enabled for conversion from
../../../../../../../../home/THE_FILE_NAME.md.

I also noticed the following error when the project is opened but before using marp. Maybe it is relevent.
ERR [Extension Host] (node:23419) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `node --trace-deprecation ...` to show where the warning was created)

One more piece of information that may be useful, especially when people need a work-around: the version that had the problem is v2.8.0. After I rolled back to v.2.7.0, the problem is gone.

The export command is internally using Marp CLI so https://github.com/marp-team/marp-cli/issues/561 may be a original cause. Could you try whether the same problem will be reproduced in Marp CLI, and share the debug log about Puppeteer if reproduced? (Run with DEBUG environment value as puppeteer:*)
https://github.com/marp-team/marp-cli/issues/561#issuecomment-1808371166


Fix several broken tables and a few section headers

Summary
This PR fixes several malformed RST tables and a few section headers. No content has changed.

Hello @neflyte,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.


support go-restful

Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
https://github.com/emicklei/go-restful
Describe alternatives you've considered
No response
Additional context
No response

Merged into main


Form/Dialog Layout?

Is it possible to specify the "Width" of a Form/Dialog?
Also, for individual columns, how do you specify the length of a LookupEditor? I have tried "Width", "Size" and "MaxLength".  Size and MaxLength both seem to limit the number of characters that can be entered into a column and "Width" doesn't seem to have any effect (on columns in the "Row" class, it does work on the "Columns" class). (And yes, I know about the "OneThirdWidth", "HalfWidth", etc... is that the only option for limiting column widths in the "Row" class?)
I'm starting to understand the Framework and I'm very impressed with it.
Thanks for everyone's help!

Yeah. Use CSS. EACH form/ grid has it's own class. U can edit less files for that

Thank you.  (That's actually what I did. I just want to make sure I wasn't missing a "Serenity Attribute". I'm still new to the Framework and trying to do things "Best Practice" to minimize changes when future versions are released.)

What about the "Size" and "MaxLength" attributes. Can you explain the difference, and scenarios for using each?

@ShayneJud
I am sure you have figured this out by now - but just in case others are reading this:
Size is for the database field , for example I have a decimal field and I need a precision value.

Size(2) is the precision of that field for 0.00
Size(4) is the precision of that field for 0.0000


Allow float fmt and fix 3.7

Hello,
This PR replaces PR#103 with a more efficient and retro-compatible implementation.
This PR does two things:

pairwise function is now compatible with 3.7 as well as all tested python versions
Allow the use of float format in FileSettings:
Use:
fs = FileSettings(units="metric", zeros="trailing", format=(float,3))

This configuration will be used in writer_gerber_value to use a float representation.
Why ? Most tools are now compatible with floats in excellon files, and this allows the use of larger PCB, especially in the case of panelized PCBs using opiopan's library.
I only changed the first element of the format tupple for two reasons:

It is very compatible with the rest of the code (no modifications other than the intended one)
Tools configuration still require the 3nd number of the format variable to write their diameters.

Mikaël

Coverage decreased (-0.005%) to 81.062% when pulling c08457f7addf2001f07fac5d30091b33b3ddcb0c on MarinMikael:allow_float_fmt_and_fix_3.7 into 2601ae8eab8d7be807bdbed264cd943e441a8da0 on curtacircuitos:master.

LGTM, merging. Thanks @MarinMikael , sorry for the long wait in the PR queue, hopefully things will move faster now.


Fix cli script

This PR fixes the generic CLI script (which I tend to use for my workflow):
using Revise; include("examples/hybrid/cli_options.jl");
dict = parsed_args_per_job_id();
parsed_args = dict["edmf_soares"]; # (edmf_soares is the job_id)
parsed_args["enable_threading"] = false; # can re-set specific parsed args
include("examples/hybrid/driver.jl")

s is not defined when !(@isdefined parsed_args) is false
hyperdiff_name is false (Bool) for this particular example, and results in the Uncaught diffusion model type. error

The second bullet is a bit odd to me, since this is run in CI. Two thoughts on why this may fail:

cli_defaults(s) is used differently, and results in different results than when !(@isdefined parsed_args) is false
Maybe only parsing (types-strings) need to be fixed when !(@isdefined parsed_args) is false.

I am a bit concerned about parsed_args being returned in
params, parsed_args = create_parameter_set(FT, parsed_args, cli_defaults(s))

Users may be surprised that parsed args they've defined may be overwritten. We should probably be very clear about the precedence that these parameters are used, define them once and ensure that they are never re-defined. I like the way we do this in the flame graph script (here). cc @nefrathenrici

bors r+

Hmm, not sure why this PR is still open. It looks like it was merged into main already?


Refresh tokens should not be stored in database as it makes the whole architecture state full.

It totally depends on case to case basis. If you prefer to have some analytics or observe ability or any sort of policies. It might be OK for you.
But for general or abstract  use cases, i prefer to not store the refresh tokens in data stores.
Any how if you disagree, you may close this issue.