Add docker plugin upgrade

This allows a plugin to be upgraded without requiring to
uninstall/reinstall a plugin.
Since plugin resources (e.g. volumes) are tied to a plugin ID, this is
important to ensure resources aren't lost.
The plugin must be disabled while upgrading (errors out if enabled).
This does not add any convenience flags for automatically
disabling/re-enabling the plugin during before/after upgrade.
Since an upgrade may change requested permissions, the user is required
to accept permissions just like docker plugin install.
Fixes #28913
ping @anusha-ragunathan @tiborvass
Not setting any milestones at the moment, but it seems like this is needed for production use of plugins.

I thought about this too.
Images with different names (including tag) are different images. There is no notion of "version" or any other upgrade guarantee. So what we're actually talking about is: can we change the driver for existing objects such as volumes?
Anyway, I don't have a better idea so I guess +1 for this design with plugin upgrade. Although maybe it could be docker plugin install --replace $OLD $NEW.

I agree, I think the replace functionality is equally important, for different tags of the same driver. Without replace, a user trying another image (driver:test-v2) no longer has access to existing volumes? Although a docker restart might fix it, restart shouldn't be required..
They're really the same volumes, regardless of tag, for the same base driver image, in my opinion.

I'm recalling past arguments over docker run --replace ;)

I wasn't around for that discussion but sounds exciting. :-)
TBH, I'm not sure why a plugin doesn't specify its "name" that it provides in the config manifest. Then whatever the image name/tag is doesn't matter, its the name of the plugin that it provides. Only one plugin could be loaded at a given time that provides that "name". Internally in docker, the installed plugin is tied to this "name" (not the plugin ID). You could even do the disable, remove, add, enable workflow (without upgrade), and not lose access to your volumes.
But maybe that's just me! :-) There must be a requirement I'm missing for using the plugin ID the way it is now? I'm sure other plugin types don't have this problem, but volumes being persistent make the plugin ID a bit challenging in this case...

So, I'm not sure where to go from here... Also, seems like we need something like this for 1.13... but I don't want to paint us into a corner on UX here.

@cpuguy83 First, let me say thanks for taking a stab at this. I understand clearly that code talks, and words are cheap. So I definitely appreciate you working to address this.
That said, the more I think about this, the more I think that the plugin developer should be allowed/required to set a pluginName. The name would be used to map volumes to the plugin internally in docker, in place of the pluginID, and would also be displayed to the user.
The plugin name would be specified in the config.json manifest by the plugin developer, such as:
{
    "pluginName": "volume-plugin",
}

Volumes would be associated with the pluginName internally.
A docker plugin ls shows the name and the image:
NAME              IMAGE            TAG             DESCRIPTION     ENABLED
volume-plugin     repo/myvolumes   latest          Volume Plugin   false

I don't think this would be a huge change in the code, but has the following advantages:

The plugin developer chooses the name that binds volumes to the plugin: not an arbitrary pluginID.
The plugin name is de-coupled from an image tag. Why bind volumes to arbitrary or versioned tags. The plugin developer knows which tags are compatible with each other and sets the plugin name appropriately. Volumes are more than likely usable from any plugin version with the same name -- your data is not tied to a particular version.
Multiple plugins from the same image are supported. The plugin developer can use the same image but provide it a different name. For example, a volume plugin using the same image could provide volumes-option1, volumes-option2, etc. I know another issue filed requested this capability for a particular volume plugin (#27299)
Backwards compatibility for users: everyone is used to specifying a plugin by name, such as blockbridge, convoy, flocker, rexray, sshfs, nfs, cifs, etc. The plugin developer can set this name to be the same, and existing scripts still work, user expectations are the same.
Upgrade path is straightforward. Can simply remove the old plugin, and install/pull a new one. The plugin name stays the same, the plugin image tag/version can change without affecting your data.
docker plugin upgrade is just gravy. An easy way to pull a new image in place: it becomes a nice helper.

Reasons against this change?

The plugin code would have to change
It is late in 1.13
others?

As a developer of a plugin that's been containerized since august 2015, this list of advantages makes a lot of sense to me.
Thanks for your consideration and feedback.

@cpuguy83 1.13 was released
Should we proceed with this?

🤷♂ on what's right here, but likely something like this is still needed.

Let's close for now. We can still discuss, but I doubt this will be the final design.

We can repurpose this PR to accomodate a clean design. Reopening it.

@srust
In this case I don't think we want the developer to choose the name, as there can be no guarantee uniqueness.
The plugin name is at a technical level decoupled from the image reference, see --alias flag, although we need to do more here.  Specifically we need to store the image reference in addition to name/alias (when applicable).
Multiple plugins from the same image are supported (probably after you made the last comment) via --alias.
Users can choose back-compat by specifying --alias, though maybe it's good to add this to your own plugin docs with the correct alias to use. This can get weird really quickly though if the old plugin is still running.
After speaking with @anusha-ragunathan, we decided to go forward with this design.
This is also extensible in the future to do something like docker plugin upgrade --image foo awesome/plugin.
Thanks 🙇 👼

Ok, I have pushed an updated implementation.
Taking into account content-trust which must be handled on the client side, I have had to allow upgrading to (currently) arbitrary plugin images since the API needs to support the client passing through a remote to pull, it's really only a matter of adding the option to the CLI (which I did here)... but it's also supported to not specify anything and it just reads the image reference from the plugin inspect output.
We may want to ask the user to verify that the passed in image is what they really want... maybe contingent only on if it is a whole separate repo vs an exact match to repo+tag. Thoughts?
Maybe check interfaces implemented by the plugin as well?
I can beef up the tests once we are done with design review.

Few comments:

It might be valuable to display ImageReference as part of plugin ls.

I agree that if the user specifies a repo different from the ImageReference, we should throw a warning. Also, have a corresponding flag to use in CLI.

A bit concerned about deprecating --alias  (i.e hiding it) and replacing with --name

Throw error about "enabled" plugin before calculating and prompting for permissions.

Not sure what's causing it, but I noticed that the timestamp of the rootfs for cpuguy83/docker... was off during an upgrade. Didnt test other plugins.

It might be valuable to display ImageReference as part of plugin ls

Agreed, but maybe we can do this separately?

I agree that if the user specifies a repo different from the ImageReference, we should throw a warning. Also, have a corresponding flag to use in CLI.

👍

A bit concerned about deprecating --alias (i.e hiding it) and replacing with --name

The reason for this change is mostly to be less confusing, but for sure we don't need to do it.

Throw error about "enabled" plugin before calculating and prompting for permissions.

👍

Not sure what's causing it, but I noticed that the timestamp of the rootfs for cpuguy83/docker... was off during an upgrade. Didnt test other plugins.

Can you explain what you mean here?

Timestamp is a non-issue.
Design LGTM.

This has been updated with the latest requests.
Need to work out terminology/flag names.
I did not add "image" to the default output just because it makes it super wide, but it's available in the formatter, and is part of the raw format.

@cpuguy83 : docker_cli_plugins_test.go doesnt have the original upgrade test. Can you please add it back along with the suggested volume upgrade bits? i.e create a volume using a volume plugin and verify that the volumes are preserved before and after the upgrade.

what's the point of keeping the old rootfs around ?
also, because of ^, it's not possible to upgrade twice:
rename /var/lib/docker/plugins/ff569820f77c0241f7125a6e9893d64c3ba317d45912e53d8cb1015d2e3f5db3/rootfs /var/lib/docker/plugins/ff569820f77c0241f7125a6e9893d64c3ba317d45912e53d8cb1015d2e3f5db3/rootfs-old: directory not empty

@vieux We should be removing the old rootfs at the end. I've done tons and tons of upgrades against the same plugin with no issue.
Currently trying to work out an issue with the request to have propagated mount be external from rootfs.

PTAL

@cpuguy83 test failure

thanks to @tiborvass's help, I was able to update my plugin to support upgrades. (it basically drops a state.json on the host and we the plugin is upgraded it builds its internal state from the file)
@cpuguy83 we also had issues with propagated mounts during testing, looks like it happens only when propagated mounts and bind mounts overlap, so I avoided that to make it work without leaks.
(btw the issue I mentioned above was probably due to mount leaks, the remove of the -old rootfs was failing)
Pushed the plugin to vieux/sshfs:next and the code is here: https://github.com/vieux/docker-volume-sshfs/tree/stateful
here is my usecase:
#install plugin
$ docker plugin install vieux/sshfs:next DEBUG=1

#create volume
$ docker volume create -d vieux/sshfs:next -o sshcmd=root@<IP_ADDRESS>:/tmp/shared -o password=XXX sshvolume

#use volume
$ docker run -it -v sshvolume:/data alpine sh -c "touch /data/hello"

#disable plugin but don't remove the volume
$ docker plugin disable -f vieux/sshfs:next

##here docker volume ls doesn't show 'sshfsvolume', since the plugin is disabled

#fake upgrade
$ docker plugin upgrade vieux/sshfs:next vieux/sshfs:next

#enable plugin
$ docker plugin enable vieux/sshfs:next

##here docker volume ls shows 'sshfsvolume'

#reuse the plugin
$ docker run -it -v sshvolume:/data alpine sh -c "ls /data"
hello

I tried with the branch when the tests were GREEN, I'm tempted to say LGTM
I'll retry once the tests are green again.

Fixed the issue by adding a recursive unmount on plugin stop and before plugin remove.

This needs a plugin_upgrade.md https://github.com/docker/docker/tree/master/docs/reference/commandline with a working example. You can use https://github.com/docker/docker/pull/29414#issuecomment-277192456 for content.

Added docs.

This needs to be automated at some point, but for now, we need to add .Image to the list in https://github.com/docker/docker/blob/master/docs/reference/commandline/plugin_ls.md

@vieux : Not something urgent, but we shouldnt be writing plugin specific state files in the directory reserved for docker internals. i.e dont create sshfs-state.json in /var/lib/docker/plugins

Might be worth documenting the "bind mount on host outside rootfs" behavior of PropagateMount in https://github.com/docker/docker/blob/master/docs/extend/config.md.

@cpuguy83 test failure

LGTM we might add swagger and fix doc after rc2

Oh darn I missed the new endpoint for swagger... yeah I can take care of this after.

TestStackRemove is flakey, disregard.

LGTM

cherry-picked into 1.13.x through https://github.com/docker/docker/pull/30728


Payment proof for Android

Design is needed

@kaminskyelina can you tell me please in which project that issue is? How urgent is it?

@alexandrashelenkova it is ready in Desktop already
@sasha-abramovich  please decide about priority
Thank you

Please find screens here https://app.zeplin.io/project/5ba9be48f029d520c456f395/dashboard?seid=5c9cdeb9eb413e0ab96f31c2
And LMK if you have any questions

checked


WSL should support for loops

Migrated from https://bugs.webkit.org/show_bug.cgi?id=176682:
At 2017-09-11T03:57:22Z<EMAIL_ADDRESS>wrote:
WSL should support for loops

At 2017-09-11T04:32:34Z<EMAIL_ADDRESS>wrote:
Created attachment 320417
Patch

At 2017-09-27T19:34:52Z<EMAIL_ADDRESS>wrote:
rdar://problem/34693527

At 2017-09-11T17:48:01Z<EMAIL_ADDRESS>wrote:
Committed r221865: http://trac.webkit.org/changeset/221865


Fair dataframe API vs API vs SQL benchmarking.

Similar #1498. I think that as the queries are currently written it isn't a fair comparison between DataFrame API's.
For SQL it is fair as the TPCH benchmark states that all engines should parse the same SQL. However for DataFrames with different API's this is ofcourse harder.
TPCH is not only a operation benchmark, it is also an optimization benchmark. If we compare against SQL engines, the DataFrame API's shouldn't enjoy more optimizations than the SQL queries.
For this reason we removed hand written optimizations on the polars tpch benchmarks in Polars, pandas, Dask and modin:

https://github.com/pola-rs/tpch/pull/104
https://github.com/pola-rs/tpch/pull/111

To make the benchmarks apples to apples I think this should be done in this repo as well. The Dask queries for instance show hand written "leftsemi"

https://github.com/coiled/benchmarks/blob/13ebb9c72b1941c90b602e3aaea82ac18fafcddc/tests/tpch/dask_queries.py#L153
https://github.com/coiled/benchmarks/blob/13ebb9c72b1941c90b602e3aaea82ac18fafcddc/tests/tpch/dask_queries.py#L153
https://github.com/coiled/benchmarks/blob/13ebb9c72b1941c90b602e3aaea82ac18fafcddc/tests/tpch/dask_queries.py#L1120

pre-filtering:

https://github.com/coiled/benchmarks/blob/13ebb9c72b1941c90b602e3aaea82ac18fafcddc/tests/tpch/dask_queries.py#L10
https://github.com/coiled/benchmarks/blob/13ebb9c72b1941c90b602e3aaea82ac18fafcddc/tests/tpch/dask_queries.py#L123
https://github.com/coiled/benchmarks/blob/13ebb9c72b1941c90b602e3aaea82ac18fafcddc/tests/tpch/dask_queries.py#L239

< actually almost all queries in some form >
And pre-aggregation computation where this defined in the aggregation context.
In many group-by's:

https://github.com/coiled/benchmarks/blob/13ebb9c72b1941c90b602e3aaea82ac18fafcddc/tests/tpch/dask_queries.py#L18

For this one, we are lenient towards pandas API's upstream as there isn't a good way to describe this. But since dask-expr is developed I believe Dask should just inline this and leave this to the optimizer.
If we compare DataFrame API's and SQL I truly believe it is important that we give all implementations a fair starting position. Optimization engines could come to the same conclusions, but have to spend compute to do so, and often will not come to the most optimal conclusions.

Thanks for opening this issue and apologies for the lack of engagement on https://github.com/coiled/benchmarks/issues/1498 so far.
Our intention is not to publish any unfair results and we are interested in comparing engines on equal footing to the best of our ability.
You are mentioning a couple of different topics and some of them require further discussion. From what I can tell, you are raising these problems

Premature filtering and projections
leftsemi joins
Definition of groupby aggregations

I will grant you that 1.) is indeed not correct in some situations. This wasn't done intentionally and we still have to address this.  I think https://github.com/coiled/benchmarks/issues/1498 describes this problem already such that I will not open a separate issue.
I think the two other issues require a bit further debate.
Leftsemi
Dask is using a leftsemi statement in three queries, namely query 4, 18 and 20
Let's talk about Q4 in detail since it's the simplest example. The functional definition of the query according to the TPC-H specification is
select
    o_orderpriority,
    count(*) as order_count
from
    orders
where
    o_orderdate >= date '[DATE]'
    and o_orderdate < date '[DATE]' + interval '3' month
    and exists (
        select
            *
        from
            lineitem
        where
            l_orderkey = o_orderkey
            and l_commitdate < l_receiptdate
    )
group by
    o_orderpriority
order by
    o_orderpriority;

The leftsemi join method is used to implement the exist statement on a correlated subquery (see the where clause l_orderkey = o_orderkey) in the above SQL expression. Translating this to a DataFrame is a little difficult since SQL is a declarative language and DataFrames are typically imperative.
My attempt to put into words what the above query is describing...
"Take every row of left (i.e. order) for which there exists a matching (l_orderkey = o_orderkey) row in right (i.e. lineitem) which also satisfies the condition l_commitdate < l_receiptdate".
This is pretty much the definition of a leftsemi join with a filter applied, isn't it?
Comparing this to how polars is implementing this query, namely joining the table with a simple left join and subsequently dropping duplicates on ["o_orderpriority", "l_orderkey"] is semantically a different operation. If the left table already included duplicates, this operation would yield a different result. The left table does not include duplicates and it is therefore yielding the same result. However, that approach includes knowledge about the data while the leftsemi join does not.
The cases for query 18 and 20 are more complex and instead of exists they describe subqueries with in and > operators but the argument is pretty much the same.
I would actually encourage polars to use a semi join as well. Thoughts?
Groupby aggregations
As an example, you are pointing here to Q1 and especially how the following line is being translated.
select
    ...
    sum(l_extendedprice*(1-l_discount)*(1+l_tax)) as sum_charge,
    ...
from
    lineitem
...

In dask and pandas we currently don't have a way to express more complex columnar expressions like this. Instead, we do...
lineitem_filtered["sum_charge"] = (
    lineitem_filtered.l_extendedprice
    * (1 - lineitem_filtered.l_discount)
    * (1 + lineitem_filtered.l_tax)
)
...
gb = lineitem_filtered.groupby(["l_returnflag", "l_linestatus"])

total = gb.agg(
    {
        ...
        "sum_charge": "sum",
        ...
    }
)

I fully agree that the way polars can describe this operation using expressions is more elegant. We currently don't support this but have it on our roadmap (see https://github.com/dask/dask-expr/issues/386).
I see how optimizers could produce suboptimal results or how time spent on optimization could skew the results but I would argue that this is negligible. On the other hand, this does unlock a whole range of optimizations that we currently don't have access to so I would likely argue that engines like polars or spark have an advantage over dask and pandas because of this. I think we have to acknowledge this bias but I wouldn't want to stop comparing engines because of this. There is no DataFrame standard similar to the SQL ISO definition so we have to make the best out of what we have.

Comparing this to how polars is implementing this query, namely joining the table with a simple left join and subsequently dropping duplicates on ["o_orderpriority", "l_orderkey"] is semantically a different operation. If the left table already included duplicates, this operation would yield a different result. The left table does not include duplicates and it is therefore yielding the same result. However, that approach includes knowledge about the data while the leftsemi join does not.

Sorry, I don't think I follow. What do you think is neglible? If an optimizer doesn't come to certain conclusion a query can explode in runtime. For instance q5 doesn't even finish if we turn off optimizations.

sorry if I haven't made myself clear. I was specifically and exclusively referring to the introduction of column expressions. The introduction of column expressions would have to be interpreted by the optimizer which could yield suboptimal results and additional computation overhead compared to what we are doing right now since we are already writing down the aggregation in a different, more explicit form.
However, I believe that the optimization overhead introduced by using columnar expressions opposed to a version without is negligible since this should not be the cost driving part of the optimization. I might be wrong, of course. I'm not familiar with how this is implemented in polars and we haven't invested much time to think about how it will be done in dask-expr so this may not be true.
When I'm talking about whether things are negligible, I'm also thinking about the very large runs on scale 1k or 10k which all run for minutes so if the optimizer is done in less than a second, I don't care much about how fast it is.
FWIW If we disabled query optimizations, dask wouldn't be able to run most of the queries at all. (We've been writing a bit about this over here)

I think they should be another point added as well. Join reordering.
This has huge impact over performance. Polars doesn't have join re-ordering optimizer yet, but still we choose to keep true to the SQL translation. However I see Dask queries having a manually chosen better ordering. This is not fair to Polars and SQL solutions as those need to figure out the join ordering themselves and if they don't the memory/runtime can explode.
I think that the current benchmarks are completely apples to peaches as it is now.

(as a heads-up, Florian is out on vacation this coming week, and may be
less responsive)
On Sat, May 25, 2024 at 5:59 AM Ritchie Vink @.***>
wrote:

I think they should be another point added as well. Join reordering.
This has huge impact over performance. Polars doesn't have join
re-ordering optimizer yet, but still we choose to keep true to the SQL
translation. However I see Dask queries having a manually chosen better
ordering. This is not fair to Polars and SQL solutions as those need to
figure out the join ordering themselves and if they don't the
memory/runtime can explode.
I think that the current benchmarks are completely apples to peaches as it
is now.
image.png (view on web)
https://github.com/coiled/benchmarks/assets/3023000/3335f120-d497-49b0-880d-051c2ede6613
—
Reply to this email directly, view it on GitHub
https://github.com/coiled/benchmarks/issues/1515#issuecomment-2131212969,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACKZTAF45GE2JPPFUI3CSTZEBVKLAVCNFSM6AAAAABIBQVFS6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZRGIYTEOJWHE
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

--
https://coiled.io
Matthew Rocklin CEO, Dask Maintainer

Yes, join ordering is something that is done manually to some extend right now. We've been transparent about this when publishing the results, see https://docs.coiled.io/blog/tpch.html#dask
There is an open issue to support automatic join reordering in dask-expr here https://github.com/dask/dask-expr/issues/1065
The query you are pointing to is Q9. This is actually an interesting example. The functional SQL definition is
select
        nation,
        o_year,
        round(sum(amount), 2) as sum_profit
    from
        (
            select
                n_name as nation,
                year(o_orderdate) as o_year,
                l_extendedprice * (1 - l_discount) - ps_supplycost * l_quantity as amount
            from
                part,
                supplier,
                lineitem,
                partsupp,
                orders,
                nation
            where
                s_suppkey = l_suppkey
                and ps_suppkey = l_suppkey
                and ps_partkey = l_partkey
                and p_partkey = l_partkey
                and o_orderkey = l_orderkey
                and s_nationkey = n_nationkey
                and p_name like '%green%'
        ) as profit
    group by
        nation,
        o_year
    order by
        nation,
        o_year desc

Following this very strictly would mean you'd have to join part to supplier first. However, there is no relation defined between those two tables. The relation is introduced via partsupp which only comes at fourth position so the ordering has to be amended to even make sense for an imperative API.
The relations between the tables are defined in the where-clause so we could instead also follow the where-clause ordering which would again look differently. I think the polars implementation is a subtle variation of the where-clause ordering but that may be accidental.
In this example, the reordering was required to make sense of the query. There are other examples where we did reorder manually to make the query faster. One example is Q18 where we started off with the same ordering as the tables listed in the from clause of the functional SQL. In this example, polars uses an ordering that is also different to how the tables are listed in SQL and we adopted this here instead for improved performance.
There are a couple of other examples around where we looked at query ordering ourselves. For example, Q21 which is already pretty tricky to express and requires some interpretation due to using multiple correlated subqueries with self joins and I honestly don't know what "true" SQL ordering would look like.
So, you are very right. We are comparing apples to peaches again because we are comparing a declarative language to an imperative API. There is no universal, unambiguous set of rules (that I am aware of) that translates SQL to a DataFrame API. This example shows that even with a join order optimizer as part of the DataFrame API, this ambiguity still exists to some extend.
I'm sorry if this feels unfair to polars as the only other DataFrame API library. We just used the polars code that was in your repo at the time but haven't gone through optimizing it. I'm not sure how to do this better.

Yes, join ordering is something that is done manually to some extend right now. We've been transparent about this when publishing the results, see https://docs.coiled.io/blog/tpch.html#dask

A comment doesn't reach as far as a graph. ;) I just modified the q9 according to the dask query ordering and saw a 2.5x improvement on the Polars side.
I agree that doing fair benchmark between a declarative vs imperative API is hard. However, what I do think is important is to do the same wherever it is possible.

I'm sorry if this feels unfair to polars as the only other DataFrame API library. We just used the polars code that was in your repo at the time but haven't gone through optimizing it. I'm not sure how to do this better.

We can start by applying the same join orderings for the DataFrame API's, if you do a manual join reordering for Dask you should do it for Polars as well, and I don't think a comment is enough here as that means the chart will be misleading and those will be often shared without context.
I can do a pass in the Polars queries upstream to make them more similar to the Dask ones. And I think any hand written optimization should be tried to applied to other tools whenever possible. Upstream we will make an effort to do the same.


dh-systemd has been removed from Bullseye.

As per https://bugs.debian.org/822670, the dh-systemd package has been merged with the main debhelper package since version 9.20160709
For some time, a transitional dh-systemd package existed which simply depended on debhelper. However, this was removed from bullseye.
The fix should be as simple as depending on debhelper (>= 9.20160709), which available on all supported Debian releases and all supported Ubuntu releases except for xenial.

Hey @fcollingwood, thank you for your PRs and for digging into this issue! I'll get your PRs reviewed by the weekend.

Actually this one seems straightforward enough that I can review right now :)
Thank you!

Hi @luizribeiro, I'm still getting to grips with Guthub and how it works, so I may have made a screw-up or two. I'll do some more digging later to see if I have or not.

@fcollingwood, no worries, welcome! :) Apparently a few things are quite broken in our CI setup for mariner, I'll try to dedicate a few hours for this this weekend too.

In my tinkering last night, all I did was remove the installation of dh-systemd in the Dockerfile.
What I completely missed was that every instance of ubuntu-latest needs to be changed to debian-latest in:
ci.yaml
package.yaml
And anywhere else it may be found. I think I also found another attempt to install dh-systemd in another file, but can't think of what it OTOH
Long story short, it's still failing

I can't figure out how to bundle up a collection of commits/branches. into a single merge/pull. Consequently everything is failing as there are multiple dependencies between various commits/branches

@luizribeiro on another subject - I've extensively hacked ctb.py to detect the ctb file version, and unencrypt the V4 files so that Mariner can pull the header information. Tested it on Phrozen Mega 8K (V4 Encrypted .ctb) and  Mighty 4K (V3 Unencrypted .ctb) and it works beautifully. Problem is, it contains the V4 encryption key extracted from Shitubox. Don't know if that'll be allowed here?

@luizribeiro I think I may have got the hang of it...
Make a branch, make all changes in the branch, then do a pull request on the branch. Solution was staring me in the face...


Automatic PR from RestAPI-PR1165

Generated from RestAPI PR: https://github.com/Azure/azure-rest-api-specs/pull/1165

Codecov Report

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

@@           Coverage Diff           @@
##           master    #1113   +/-   ##
=======================================
  Coverage   56.46%   56.46%
=======================================
  Files        2050     2050
  Lines       57454    57454
=======================================
  Hits        32442    32442
  Misses      25012    25012

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 ded0e80...d211046. Read the comment docs.

Merge, since the client is not released yet


Fail to create the PRs

It seems there is a missing step on the README.
It fails as:
https://github.com/OSSystemsEmbeddedLinux/meta-ossystems-base/runs/2921092978?check_suite_focus=true#step:3:93

@otavio Looks like you're trying to run the action against pull requests from a forked repo. To enable that, please use pull_request_target as the event type instead of pull_request. Please also be aware of the security notes GitHub describes about using this: https://docs.github.com/en/actions/reference/events-that-trigger-workflows#pull_request_target
Closing as duplicate of #41.


Metadata Issue: Update Metadata for Intestine 2D Example

Based on the data provider's input, please make the following changes to the Sample Metadata card (image below) for 2d Intestine Sample (https://apps.humanatlas.io/cde/example/0):

Change Technology from CODEX to CyCIF
Change Source Data from 2D Intestine Sample to 2D Large Intestine Sample
Change Organ from Intestine to Large Intestine

@J-Yash @LibbyUX updated the metadata here . Please verify. Thanks

@bhushankhope I reviewed. Looks good. Feel free to close the issue. Thanks!


Abnormal perception results when running a modified simple-inference.ipynb

Greetings, everyone!
I am trying to use a pretrained model car_onestage/voxelnet-27855.tckpt and with config file car.fhd.onestage.config. I would like to pass in only one frame of LiDAR trace of Nuscenes at a time.
My code is adapted from simple-inference.ipynb with very little modification, but it turns out giving abnormal detection results.
What did I change?
1.
I have commented out
#config_tool.change_detection_range(model_cfg, [-50, -50, 50, 50])

Instead of doing a pointcloud read from info files

info = infos[564]
v_path = info["point_cloud"]['velodyne_path']
v_path = str(root_path / v_path)
points = np.fromfile(
    v_path, dtype=np.float32, count=-1).reshape([-1, 4])

I just directory passed in the binary path,
    v_path = 'dataset/n008-2018-05-21-11-06-59-0400__LIDAR_TOP__1526915252897831.pcd.bin'
    points = np.fromfile(
        v_path, dtype=np.float32, count=-1).reshape([-1, 5])
    points = points[:, :4]

I reshaped the array with 5 because the Nuscenes LiDAR binary contains 5 fields ['x', 'y', 'z', 'intensity', 'ring']
After running the scripts, the output map looks like (which is not quite reasonable)

Could anyone figure out any step I am missing since I have got stuck for hours? Any response will be highly appreciated. Thank you!
My script is attached:
#!/usr/bin/env python3

import numpy as np
import matplotlib.pyplot as plt
import pickle
from pathlib import Path

import torch
from google.protobuf import text_format
from second.utils import simplevis
from second.pytorch.train import build_network
from second.protos import pipeline_pb2
from second.utils import config_tool

if __name__ == '__main__':
    config_path = "second/configs/car.fhd.onestage.config"

    config = pipeline_pb2.TrainEvalPipelineConfig()
    with open(config_path, "r") as f:
        proto_str = f.read()
        text_format.Merge(proto_str, config)
    input_cfg = config.eval_input_reader
    model_cfg = config.model.second
    # config_tool.change_detection_range(model_cfg, [-50, -50, 50, 50])
    device = torch.device("cuda" if torch.cuda.is_available() else "cpu")

    ckpt_path = "models/pretrained_models_v1.5/car_onestage/voxelnet-27855.tckpt"
    net = build_network(model_cfg).to(device).eval()
    net.load_state_dict(torch.load(ckpt_path))
    target_assigner = net.target_assigner
    voxel_generator = net.voxel_generator

    grid_size = voxel_generator.grid_size
    feature_map_size = grid_size[:2] // config_tool.get_downsample_factor(model_cfg)
    feature_map_size = [*feature_map_size, 1][::-1]

    #Here is the thing I changed
    v_path = '/home/fang/Desktop/nuscenes_subset/n008-2018-05-21-11-06-59-0400__LIDAR_TOP__1526915248396167.pcd.bin'
    anchors = target_assigner.generate_anchors(feature_map_size)["anchors"]
    anchors = torch.tensor(anchors, dtype=torch.float32, device=device)
    anchors = anchors.view(1, -1, 7)

    points = np.fromfile(
        v_path, dtype=np.float32, count=-1).reshape([-1, 5])

    points = points[:, :4]
    dic = voxel_generator.generate(points)
    voxels, coords, num_points = dic['voxels'], dic['coordinates'], dic['num_points_per_voxel']

    print(voxels.shape)
    # add batch idx to coords
    coords = np.pad(coords, ((0, 0), (1, 0)), mode='constant', constant_values=0)
    voxels = torch.tensor(voxels, dtype=torch.float32, device=device)
    coords = torch.tensor(coords, dtype=torch.int32, device=device)
    num_points = torch.tensor(num_points, dtype=torch.int32, device=device)

    example = {
        "anchors": anchors,
        "voxels": voxels,
        "num_points": num_points,
        "coordinates": coords,
    }
    pred = net(example)[0]

    print(pred)

    boxes_lidar = pred["box3d_lidar"].detach().cpu().numpy()
    vis_voxel_size = [0.1, 0.1, 0.1]
    vis_point_range = [-50, -30, -3, 50, 30, 1]
    bev_map = simplevis.point_to_vis_bev(points, vis_voxel_size, vis_point_range)
    bev_map = simplevis.draw_box_in_bev(bev_map, vis_point_range, boxes_lidar, [0, 255, 0], 2)

    plt.imshow(bev_map)
    plt.savefig('map.png')

It might be the problem mentioned in #201 , try to divided the intensities by 255

@cm56uw thanks so much for helping me out!
After normalizing the intensities for Nuscenes data binary,
points[:, 3] = points[:, 3] / 255.0

it works much better.


Consider use of native JS classes in place of sass_types

Given that our C++ bridge can easily use existing classes to represent types, I was wondering if we should not select some existing npm modules for example for color handling (or write ours) to do the job. Writing our JS classes in C++ is crazy.
And string should be native string, null should be null.
Pity JS has no tuples, could do for colors for example.
thoughts?

@chriseppstein @Jakobo @davidkpiano I'd be keen to hear your thoughts on this.

#1310 is the first step to implement this.

I've given this some thought and I don't think this is a good idea, for two main reason.
Using native objects means we're completely ruling out any future opportunities to extend these types. IMHO these features are too young to know whether we'll want to do this later on.
Using native classes/primitives for some types but not other is a bad experience for developers. There is no widely available JS equivalent for a Sass Map (es6 Map aren't available on all the runtimes we support), and no JS equivalent for Sass Colors.

Instead I'd propose moving Sass types into their own npm package that node-sass plugin authors can use.

Actually I like the idea of moving sass types into separate npm packages. JavaScript packages like sass-color, sass-map etc. Some existing packages for handling CSS colors could provide interface we need with ease. There is no need for any native code there.
We should provide null, true, false and a string, using V8 values.
I consider the current solution ugly and cumbersome. Maps do not behave like maps at all. C++ code is hard to maintain. Providing native support for null took me like 5 minutes time (most spent on providing compatibility).
C++ sass types need to die. Really.

Discussion on creating a sass-types package moved to #1320.


Refine GitHub actions

add cache of node modules
add a workflow of bundling

Codecov Report

Merging #473 into develop will decrease coverage by 4.24%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop     #473      +/-   ##
===========================================
- Coverage    95.26%   91.02%   -4.25%
===========================================
  Files           41       41
  Lines         1500     1381     -119
  Branches       298      289       -9
===========================================
- Hits          1429     1257     -172
- Misses          71      121      +50
- Partials         0        3       +3

Impacted Files
Coverage Δ

packages/ckb-sdk-rpc/src/index.ts
44.00% <0.00%> (-54.34%)
:arrow_down:

packages/ckb-sdk-rpc/src/exceptions/batch.ts
46.66% <0.00%> (-53.34%)
:arrow_down:

packages/ckb-sdk-rpc/src/method.ts
50.00% <0.00%> (-50.00%)
:arrow_down:

packages/ckb-sdk-rpc/src/exceptions/rpc.ts
57.14% <0.00%> (-42.86%)
:arrow_down:

packages/ckb-sdk-core/src/loadCellsFromIndexer.ts
84.61% <0.00%> (-15.39%)
:arrow_down:

packages/ckb-sdk-utils/src/ecpair.ts
97.50% <0.00%> (-2.50%)
:arrow_down:

packages/ckb-sdk-core/src/index.ts
66.66% <0.00%> (-1.22%)
:arrow_down:

packages/ckb-sdk-utils/src/crypto/blake2b.ts
91.56% <0.00%> (-0.15%)
:arrow_down:

packages/ckb-sdk-core/src/signWitnesses.ts
96.55% <0.00%> (-0.12%)
:arrow_down:

...ackages/ckb-sdk-core/src/generateRawTransaction.ts
98.55% <0.00%> (-0.10%)
:arrow_down:

... and 15 more


Only listen for mouse events from master devices

XInput2 has a concept of master and slave devices,
where a slave device is the actual physical device,
attached to a master device representing the cursor or keyboard
focus.
See http://who-t.blogspot.co.uk/2009/05/xi2-recipes-part-1.html
Mouse events were being received from both the master and slave
devices, but we are only interested in events from the master device.
Fixes #533

Thanks!


Error (401) Unauthorized while executing Invoke-SiteMigration.ps1 during task "Beginning zip deployment"

After executing the Invoke-SiteMigration.ps1 I'm receiving error 401 Unauthorized during publishing of zip file.
Investigative information
Please provide the following:

UTC Timestamp: 6/28/2023 10:30:00 AM
Migration Tool App version: Latest PowerShell Scripts
OS Version: Windows Server 2022

Repro steps
Provide the steps required to reproduce the problem:
Executing script as described here: https://github.com/Azure/App-Service-Migration-Assistant/wiki/PowerShell-Scripts
The execution of Invoke-SiteMigration.ps1 leads to an error 401 during zip publishing. All previous steps succeed.
Expected behavior
Provide a description of the expected behavior.
Zip content gets published.
Actual behavior
Provide a description of the actual behavior observed.
Zip content publishing fails

Hi @ASchwarz1984 - I have a first guess for why this is happening, which is that this is due to Basic Authentication being disabled on the site. Could you check if you have it disabled by looking at the site resource in Azure Portal > go to Configuration and General Settings > see what's shown for Basic Authentication (on or off).
The PowerShell scripts use basic auth with the publish profile credentials to do the content migration.

Thank you @krolson. I can confirm that Basic Authentication was disabled due to Azure Policy enforcement. I've modified the script to pause after Web App creation to be able to update the web app configuration and allow basic authentication temporarily.

(Noting here that PowerShell scripts no longer use Basic Authentication for the content publishing step)


Fail to log in with SCRAM-SHA-1 mechanism

I use Ejabberd for XMPP server. It offers 3 mechanisms: PLAIN, DIGEST-MD5, SCRAM-SHA-1. Following to secure priority, stanzaio client chooses SCRAM-SHA-1, it fails to log in. After remove SCRAM-SHA-1 from build/stanzaio.bundle.js, stanzaio client choose DGEST-MD5, client can log in Ejabberd server. It also work with PLAIN mechanism.
Did you test SCRAM-SHA-1 mechanism on authentication ?
(I use demo.html to log in XMPP server)

I have the same problem with mongoosim, using latest branch. Any suggestions?


Fixing badge zooming in april hotfix2

This PR fixed #19171

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 4 (0.0%)  changed or added relevant lines in 1 file are covered.
4 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.006%) to 42.156%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/sql/workbench/contrib/executionPlan/browser/azdataGraphView.ts
0
4
0.0%

Files with Coverage Reduction
New Missed Lines
%

extensions/machine-learning/src/common/processService.ts
2
81.48%

extensions/notebook/src/book/bookTreeView.ts
2
38.21%

Totals

Change from base Build<PHONE_NUMBER>:
-0.006%

Covered Lines:
27756

Relevant Lines:
61508

💛  - Coveralls


Did i just achieve tweak injection?

 We have an repo as well https://repo.cypwn.xyz 😫every major and popular tweak is pirated on our repo.
Not before.

Stop already

I will stop the day coolstar leaves the community.
Not before.

 Who are you? Hearse trying to be fun?

Stop already

I will stop the day coolstar leaves the community.
Not before.

 Who are you? Hearse trying to be fun?

Im the biggest supporter of cypwn! Piracy live long

Stop already

I will stop the day coolstar leaves the community.
Not before.

 Who are you? Hearse trying to be fun?

Im the biggest supporter of cypwn! Piracy live long

As an admin of CyPwn I need to say that trolls like this one that spam issues on developers’ repos and directly refers to our server and repo are not any of our staff members or people who maintain the CyPwn repo.
We do not condone this kind of behavior, and we will ban people who are confirmed to do this.
Sry Linus for this mess, we appreciate your hard work!

Im not an troll! Im helping! Everyone start pirate tweaks! DO it!
Linus can you make jailbreak tools for 14.1, i dont want coolstars taurine on my phone!

Im not an troll! Im helping! Everyone start pirate tweaks! DO it! Linus can you make jailbreak tools for 14.1, i dont want coolstars taurine on my phone!

Maybe the first thing to do if you want someone to do anything for you is to disrespect them and spam their repo with garbage, but what do I know


Unusable permed skills

From this bug report:
https://kolmafia.us/threads/getpermedskills-not-correctly-showing-all-skills-in-avatar-path.28216/
I munged his supplied charsheet to be usable
I created CharSheetRequest List<ParsedSkillInfo> parseSkills(final String responseText)
I stuck his charsheet into my "data" directory and did
test load sscharsheet.html
test charsheet-skills

and reproduced his issue.
The CharSheet skill parsing is now done via xpath, which is new to me.

This PR contains the new CharSheetRequest method, "test charsheet-skills", and the test HTML file.

Presumably, next:
Write a test which uses the new method and the test fixture to demonstrate the failue.
Fix the skill parsing.

I am giving up on this. I don't see the value.

Closed by mistake


fix(table charts):  Associate search input with its label

SUMMARY

Previously, screen readers could not clearly read the search input's label because the span inner text was not associated with the input. Changing span to label fixes screen reader accessibility, but impacts component styling, so I chose to add an inner span around the text and connect it to the input using aria-labelledby.
TESTING INSTRUCTIONS

Add a table chart to dashboard. Navigate to search box using a screen reader.
ADDITIONAL INFORMATION

[x] Has associated issue: 26175
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

Thanks @APH1997! In order for us to get this into the main repo, can you point this PR to https://github.com/apache/superset master?


@mmumshad - Q5 in practice test - os upgrades has no correct answer. Node01 was drained in the previous question so one of the answers needs to be node02,node03

@mmumshad - Q5 in practice test - os upgrades has no correct answer. Node01 was drained in the previous question so one of the answers needs to be node02,node03
https://kodekloud.slack.com/archives/CDR9R5QRG/p1562244131386100?thread_ts=1562244131.386100&cid=CDR9R5QRG

Fixed.


Store tas for filter

I forgot to do this pull request before working on the ta filter, but is this the right place I should store the ta list?

@rathukugan this is the correct place - but you should really just store the TA user names, not the TA objects themselves. (You can use a pluck method here I think)


Example for MethodChannel.invokeMethod isn't null-safe

On the page:
https://api.flutter.dev/flutter/services/MethodChannel/invokeMethod.html
The following example is given:
  static Future<bool> isLicensed() async {
    // invokeMethod returns a Future<T> which can be inferred as bool
    // in this context.
    return _channel.invokeMethod('isLicensed');
  }

_channel.invokeMethod will return Future<T?>, so this example will fail because isLicensed wants to return a Future.
I'm not sure what the correct solution is here because it's not clear in what cases null will be returned.  In platform_channel.dart:
  Future<T?> invokeMethod<T>(String method, [ dynamic arguments ]) {
    return _invokeMethod<T>(method, missingOk: false, arguments: arguments);
  }

missingOK is false, so the bug  is perhaps that invokeMethod shouldn't return Future<T?> but instead should return Future since the case that could return null is specifically disallowed.

@kaladron
The link I see has following comments which seem to indicate it does handle null safety:
static Future<bool> isLicensed() async {
    // invokeMethod returns a Future<T?>, so we handle the case where
    // the return value is null by treating null as false.
    return _channel.invokeMethod<bool>('isLicensed').then<bool>((bool? value) => value ?? false);
  }

https://api.flutter.dev/flutter/services/MethodChannel/invokeMethod.html#services.MethodChannel.invokeMethod.1

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


current deployment is incompatible with IBM IKS version >1.15

Please consider updating manifests to IBM IKS version >1.15
Current deployment resource is apps/v1 but automated version is still:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: docker-dind

yes @y0zg . I'll be updating the repo soon. Thanks.

@y0zg - Please take the latest code and retry. I have updated the code repository for the Kubernetes 1.16. It should work now. Thanks.

@y0zg - I hope it have worked for you. Closing this issue because of inactivity. Thanks.


Automated cherry pick of #9872: fix(region): AWS buckets in us-east-1 have null location

Cherry pick of #9872 on release/3.4.
#9872: fix(region): AWS buckets in us-east-1 have null location

Codecov Report

Merging #9876 (57a3ebb) into release/3.4 (fc16c37) will decrease coverage by 0.03%.
The diff coverage is 0.39%.

@@               Coverage Diff               @@
##           release/3.4    #9876      +/-   ##
===============================================
- Coverage         6.19%    6.15%   -0.04%
===============================================
  Files              761      766       +5
  Lines           118405   119169     +764
===============================================
  Hits              7330     7330
- Misses          110412   111175     +763
- Partials           663      664       +1

Flag
Coverage Δ

aFlag
6.15% <0.39%> (-0.04%)
:arrow_down:

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

Impacted Files
Coverage Δ

pkg/apis/input.go
0.00% <ø> (ø)

pkg/cloudcommon/db/quotas/errors.go
0.00% <0.00%> (ø)

pkg/cloudcommon/db/quotas/handler.go
0.00% <0.00%> (ø)

pkg/cloudcommon/db/quotas/register.go
11.11% <0.00%> (-2.41%)
:arrow_down:

pkg/cloudcommon/db/quotas/usageworker.go
0.00% <0.00%> (ø)

pkg/cloudcommon/db/rbac.go
0.75% <0.00%> (-0.03%)
:arrow_down:

pkg/cloudcommon/db/sharablebase.go
6.01% <0.00%> (-0.06%)
:arrow_down:

pkg/cloudcommon/notifyclient/notify.go
1.78% <0.00%> (-0.03%)
:arrow_down:

pkg/cloudprovider/instance.go
0.00% <ø> (ø)

pkg/compute/guestdrivers/aliyun.go
2.72% <0.00%> (-0.98%)
:arrow_down:

... and 84 more

Continue to review full report at Codecov.

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

Codecov Report

Merging #9876 (57a3ebb) into release/3.4 (fc16c37) will decrease coverage by 0.03%.
The diff coverage is 0.39%.

@@               Coverage Diff               @@
##           release/3.4    #9876      +/-   ##
===============================================
- Coverage         6.19%    6.15%   -0.04%
===============================================
  Files              761      766       +5
  Lines           118405   119169     +764
===============================================
  Hits              7330     7330
- Misses          110412   111175     +763
- Partials           663      664       +1

Flag
Coverage Δ

aFlag
6.15% <0.39%> (-0.04%)
:arrow_down:

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

Impacted Files
Coverage Δ

pkg/apis/input.go
0.00% <ø> (ø)

pkg/cloudcommon/db/quotas/errors.go
0.00% <0.00%> (ø)

pkg/cloudcommon/db/quotas/handler.go
0.00% <0.00%> (ø)

pkg/cloudcommon/db/quotas/register.go
11.11% <0.00%> (-2.41%)
:arrow_down:

pkg/cloudcommon/db/quotas/usageworker.go
0.00% <0.00%> (ø)

pkg/cloudcommon/db/rbac.go
0.75% <0.00%> (-0.03%)
:arrow_down:

pkg/cloudcommon/db/sharablebase.go
6.01% <0.00%> (-0.06%)
:arrow_down:

pkg/cloudcommon/notifyclient/notify.go
1.78% <0.00%> (-0.03%)
:arrow_down:

pkg/cloudprovider/instance.go
0.00% <ø> (ø)

pkg/compute/guestdrivers/aliyun.go
2.72% <0.00%> (-0.98%)
:arrow_down:

... and 84 more

Continue to review full report at Codecov.

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


Is the support for HTTP3 in consideration?

Guys:
As the  HTTP3(http over quic) is becoming stable, any plan to support http3 ?
As I know, Gin is integrated with quic-go to support HTTP3.

I'll have a check. Thanks!

有后续嘛？


Rename zerver_huddle database table to zerver_directmessagegroup to align with the class name

Extracted from #28640, we've renamed the Django class but not the database table.  This is likely a somewhat sensitive operation but can likely be done safely without downtime using something like https://brandur.org/fragments/postgres-table-rename.
I won't be reviewing work on this until after the 9.0 release, as it's disruptive and has no immediate practical benefit, so not tagging as help wanted for now.

hey @timabbott ,can you assign this issue to me!

hey @timabbott, can I work on this issue?

Hey @timabbott , could you please assign the issue.

@zulipbot claim


Add status command

closes #1471 by adding the status command that prints the state of a
machine.
Signed-off-by: Sergio Botero<EMAIL_ADDRESS>

Thanks for the PR, @sergiobuj! Just the one issue. Also we'll need to add some docs for the command.

Hi,
I just added the info in the docs and changed the description. Please let me know if that looks ok so I can squash the commits and sign them off.

:+1:
/cc @nathanleclaire @ehazlett

Looks pretty good.  Please add a few small integration test, probably to the core test at test/integration/core/core-commands.bats, which exercise this feature.  Come to think of it, you could probably just change:
@test "$DRIVER: machine should show stopped after stop" {
  run machine ls
  [ "$status" -eq 0  ]
  [[ ${lines[1]} == *"Stopped"*  ]]
}

to use machine status instead of the ${lines[1]} check.

Hi @nathanleclaire, I changed the logging and added the integration test (sorry I missed it).
Please let me know if I am missing anything else. Thanks!

LGTM
I'm going to have to hold off on merging and ask you to rebase until after https://github.com/docker/machine/pull/1490 is merged, though (it will be soon).

Ok, let's do that.

@sergiobuj Thanks, I will ping you when ready!

@sergiobuj OK, please rebase to the relevant section. If you need any help let me know.

@nathanleclaire done, let me know how that looks.

LGTM


Next version for 1.8.1-X.X.X should be 1.8.2-X.X.X

Version number increment must be applied to the first version group when there are more than one separated by -
@reviewbybees

I think this warrants a major version bump in the pom

I think this warrants a major version bump in the pom

Fair enough.

This pull request originates from a CloudBees employee. At CloudBees, we require that all pull requests be reviewed by other CloudBees employees before we seek to have the change accepted. If you want to learn more about our process please see this explanation.

:bee:

:bee:


chore(deps): update common-dev-assets digest to ba8da70

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
9afd4ef -> ba8da70

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

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


DFK AFUJ003-M12

I`m trying to use DFK AFUJ003-M12 to use pipeline like
gst-launch-1.0 tcambin ! videoconvert ! autovideosink
Then, I can see the window popping up but that window is white. (I attach the picture of screen shot of that.)
It seems normal log is displayed in terminal.
Using other computer, I did well in this way.
How can I display movie from DFK AFUJ003-M12 ?
DFK AFUJ003-M12
DFK AFUJ003-M12

Hello
Is the other computer a Linux system too? If yes, what is the difference between them?
Also I would like to know, which computer model you use, on which the camera does not provide a live video.
Thank you in advance!
Stefan

Thank you for your answer.
I use ubuntu 14.04.1 on Intel NUC (NUC7i7BNH).
I did well when I used ubuntu 14.04.5 on Intel NUC(NUC D34010WYK) using same camera.
I think difference between them is minor version of ubuntu.
Is this difference the matter?

May be the difference is, the camera being connected to an USB 2.0 port only? What happens if you try a low resolution video format an a low frame rate? You can use the tcam-ctrl tool in order to query the camera's properties, video formats and frame rates.
Stefan

Closing this issue since we need feedback on Stefans questions. Please re-open when neccessary.


try to remove all ripsaw state from K8S cluster before starting test

including security and CRD.
tested with smallfile CI on AWS EC2 cluster

/rerun all

Results for ec2_jjb

Test
Result
Retries
Duration (HH:MM:SS)

test_backpack
Pass
0
00:06:10

test_byowl
Pass
0
00:06:54

test_fiod
Fail
3
00:21:51

test_fs_drift
Pass
3
00:21:43

test_hammerdb
Fail
3
00:25:02

test_iperf3
Pass
0
00:07:18

test_pgbench
Pass
1
00:11:14

test_smallfile
Fail
3
00:27:37

test_sysbench
Pass
0
00:09:07

test_uperf
Pass
2
00:52:37

test_vegeta
Pass
2
00:27:29

test_ycsb
Pass
0
00:03:30

I was deleting the wrong CRD.   This needs to delete the CRD that references the UUID, and it can only be done at the end of a CI test, not at the beginning of the next one.  And in fact it is being done there in cleanup_resources.      Trying again by just deleting deploy/, not CRD.   Still an improvement IMO.

/rerun ec2-jjb/test_fiod

Results for ec2_jjb

Test
Result
Retries
Duration (HH:MM:SS)

test_backpack
Pass
0
00:06:02

test_byowl
Pass
0
00:01:49

test_fiod
Pass
0
00:10:02

test_fs_drift
Pass
0
00:05:46

test_hammerdb
Pass
0
00:04:25

test_iperf3
Pass
0
00:03:01

test_pgbench
Pass
0
00:02:59

test_smallfile
Pass
0
00:05:59

test_sysbench
Pass
0
00:01:38

test_uperf
Pass
0
00:17:58

test_vegeta
Pass
0
00:05:31

test_ycsb
Pass
0
00:02:37

pausing this because I'm concerned that deploy/4* are global, not namespace-local, so deleting in each test case could impact other concurrent CI runs in the same cluster.

pausing this because I'm concerned that deploy/4* are global, not namespace-local, so deleting in each test case could impact other concurrent CI runs in the same cluster.

@bengland2 I took a look at the test.sh and I think you are right. We would need to add in some logic to tag benchmark-operator-kube with a -$UUID as well

closing this for now.


Expose getProductDeviceConfiguration and getProductDeviceConfigurationSchema

Coverage decreased (-0.1%) to 37.97% when pulling 1221e078365336b905402bdd10d0c1d72977b289 on feature/get-product-device-config into 6012bdbdff45c6b3cd5411ba2bfddf0f72f968f4 on master.


Add FreeBSD support

This set of changes makes it possible to compile flow on FreeBSD.
It does require libinotify to be install separately, but otherwise seems fine.  I'm not sure how to make the local libinotify a dependency through the opam build system.
Additionally, the current install instructions in README.md specify that opam init --comp 4.03.0 is sufficient to change versions but on FreeBSD it is necessary to use opam switch 4.03.0 since the init subcommand will not replace the system version (currently 4.02.3 on FreeBSD) which is automatically installed as a dependency of opam.

I don't think the appveyor failure is mine?

@gabelevi this is not really my area of expertise. Can you take a look?

There was an additional patch added later that didn't make the merge, will this be handled separately, or should I make a new PR, or is it not wanted (it is only really a small clean-up and minor optimisation)?


docs: add -n fresh to install command

The old command resulted in a binary named main. The changes in this PR specify the name to avoid that.

Thanks


Docs: Correct Stevie's name on committers page

A bit over-zealous with the ending Ws.

@edlinklater tests? :p


[DO NOT MERGE] Create main.yml

Sample GitHub Actions Workflow
Testing for now

Closing this as testing on my forked repo first.
I Will created a PR once I make the whole flow working.


Stress Management: Mental health support and consultancy.

I would like to propose a feature that adds stress management, mental health support and consultancy to the platform .
This feature will provide users with tools to manage stress, access mental health resources, and consult with mental health professionals when needed.
Feature Overview:
Stress Detection: Implement a system to monitor stress levels through user inputs, surveys, or AI-based facial recognition techniques (optional).
Mental Health Resources: Provide educational content, tips, and guided exercises to help users manage stress, such as meditation, breathing exercises, and cognitive behavioral techniques.
Consultation Services: Offer integration with mental health professionals for personalized consultation services through the platform, either via chat, video calls, or scheduled appointments.

I would like to propose a feature that adds stress management, mental health support and consultancy to the platform .
This feature will provide users with tools to manage stress, access mental health resources, and consult with mental health professionals when needed.
Feature Overview:
Stress Detection: Implement a system to monitor stress levels through user inputs, surveys, or AI-based facial recognition techniques (optional).
Mental Health Resources: Provide educational content, tips, and guided exercises to help users manage stress, such as meditation, breathing exercises, and cognitive behavioral techniques.
Consultation Services: Offer integration with mental health professionals for personalized consultation services through the platform, either via chat, video calls, or scheduled appointments.


Fix zh-CN locale

Some small fixes for zh-CN locale

As mentioned in the Readme Crowdin is used for translations. Please use https://crowdin.com/project/coffee-app


Feat/food list

Recipe App: Food List for Inventory Food
In this milestone, I:

Generated food model
Generated FoodsController and added new and create actions to add new food item to inventory
Generated InventoryFood model and added associations
Generated InventoryFoodsController and added index actions to render inventory food items in view

Congradulations! your project is completed, it's time to merge it !


Technical documentation in english only

I tried to contribute to the docs just now and it is just not fun. (See also https://github.com/maproulette/docs/pull/38.)
I wonder if one step to make this easier where to keep all those really technical docs in english only.
IMO it is far more important to have great english docs about technical stuff that can be updated super easily that it is to have them translated.
This suggestion does not apply to user facing docs that explain the UI and such, this is only about the API and data structure docs.

Another idea would be to switch to the great static side generator astro which has great i18n support using pages build in https://docs.astro.build/en/guides/internationalization/.

Regarding the discussion to switch frameworks...
Astro seems to work similarly to 11ty, where each translation is a route, creating a language specific page for each doc page.  I'm at this point worried static sites aren't a scalable solution for a site that will probably support 18+ languages.  If we moved to a new framework, I'd advocate react/nextjs over a static site generator.  A react application will have more libraries that can get us away housing all of the docs in json that's compatible with transifex.  But if there's another way I'm open to it.

IMO it is far more important to have great english docs about technical stuff that can be updated super easily that it is to have them translated.

Totally agree with this.  If the community wants to drive back in this direction, it may be viable too.


Fix switch task will throw exception when there is not parameters

Purpose of the pull request

Brief change log

Verify this pull request

This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

(or)
If your pull request contain incompatible change, you should also add it to docs/docs/en/guide/upgrede/incompatible.md

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

Comparison is base (d77bbcc) 38.53% compared to head (7bef47e) 38.53%.

:exclamation: Current head 7bef47e differs from pull request most recent head 812ced2. Consider uploading reports for the commit 812ced2 to get more accurate results

Additional details and impacted files
@@             Coverage Diff              @@
##                dev   #15594      +/-   ##
============================================
- Coverage     38.53%   38.53%   -0.01%
+ Complexity     4772     4771       -1
============================================
  Files          1310     1310
  Lines         44880    44844      -36
  Branches       4808     4785      -23
============================================
- Hits          17294    17279      -15
+ Misses        25704    25683      -21
  Partials       1882     1882

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


fnc_BE_refresh is Undefined

My setup:

Latest arma 3 game/server version
Dedicated server (setup using TADST)
Client running on the same pc as the server
Antistasi (LordGolias edit, master branch) running on Altis
Default mission parameters

What happend:
During the creation of a new game, the following errors appeared:

Error in expression
<eExec ["fnc_MAINT_arsenal", 2]; [] call fnc_BE_refresh; if ((player == AS_comman>

Error position:
<fnc_BE_refresh; if ((player == AS_comman>

Error Undefined variable in expression: fnc_be_refresh

Steps to reproduce:

Start a dedicated server
Load the Antistasi mission (Altis)
Choose 'new game'
Look in your client's .rpt and notice the errors qouted above

Fixed in 0f22e5f0b784eae37a3757d550b20665f8bb0c64. Thanks @JohnnyDeeee for the report!


Connect to mongodb

is it possible to connect to mongodb using this extension?

Currently it needs to leverage the JDBC DataSources from the Quarkus. So I not sure it could work with mongodb.


Rotation of watermark

Implement rotation of watermark. You should create a new rotation parameter for the watermark and pass it through the DSL method.

done


remove matchScore=1.1 from Kitchen Garden

This is a follow up to https://github.com/openstreetmap/id-tagging-schema/pull/1135#discussion_r1615146725, it seems like matchScore is not required here and is causing unexpected behaviour (see that comment for details)

the preview confirms that this works, and you can still select a specific garden:type. If you select a value with a dedicated preset, then that preset takes over

Thanks for the screenshots, I agree with this.
A follow up could be to add translated strings to the garten type field so they have more of a match between them.

Mh… merging this causes errors at https://github.com/openstreetmap/id-tagging-schema/actions/runs/9403688023
Habe to look into this later.

Regarding the GitHub Actions issue, I've opened #1254


Enable logos to switch colors properly on theme switch

Run any Vizro app and add an SVG file named "logo.svg" to the assets folder. You can use this example: Amazon logo
Is there a way to change the font color of the SVG when switching themes? @pruthvip15, could you look into this? I tried my best but didn't succeed 😢
I've tried all of these already, but would be great if you could try out as well:

Applying the CSS filter property and inverting the colors on switch didn't work for this logo because it also alters the orange stripe, which is not ideal. In this case, I only want to change the color of a specific trace.
I have also tried all the solutions from this Stack Overflow thread: https://stackoverflow.com/questions/22252472/how-can-i-change-the-color-of-an-svg-element. I applied a variable to the fill property of the relevant traces and attempted to switch colors using CSS variables, but it had no effect.

Steps to reproduce:

Download the logo, rename it to "logo.svg," and place it inside the assets folder.
Run any Vizro app, such as this minimal example.

import vizro.models as vm
from vizro import Vizro

page = vm.Page(
    title="Card",
    components=[
        vm.Card(
            text="""
                ### Card Title
                Commodi repudiandae consequuntur voluptatum.
            """,
        ),
    ],
)

dashboard = vm.Dashboard(pages=[page])
Vizro().build(dashboard).run()

Switch themes and check if logos properly switched colors

A couple of alternative solutions. These would be much less nice but let me note them here in case we can't get it working with svgs alone. We could have two files logo_dark and logo_light and then switch between them. There's a few possible mechanisms for that:

put both logo_dark and logo_light in the DOM and then show/hide using CSS classes like this
clientside callback that switches the image src (but ideally fetches it from some local cache rather than doing a server request)

I think @pruthvip15 wanted to summarise his findings here still. Essentially, it's possible, but the user would have to change the traces of the underlying svg, which is not optimal and probably also not very intuitive. At the same time we would have to change our source code. Because we use html.Img to place our logo inside the dashboard, the svgs can not dynamically change their trace color anymore as far as I undrstood @pruthvip15. He can explain in detail :)
So even if we could get it working with svgs, I think your proposed solution was also the one that @pruthvip15 and @Joseph-Perkins preferred. We can discuss later 👍
@pruthvip15 - would you be so kind and summarise what you wrote me on slack here? Thank you!! 🙏

Agrred with @antonymilne and @huong-li-nguyen .
Since logos are images manipulating the svg might not always result in the desired result.
Adding an option for the user to provide logos according to the mode will be the easier and right way to do it


Always show deposit/withdraw buttons for vaults

Comment from x48:

If wallet is not connected button should show as disabled
opacity: .5
cursor: not-allowed
If wallet is not connected show tool tip with copy (“Connect your wallet to deposit (or withdraw)”) (blocked --need tooltip copy from copy team… unblock yourself by finding the copy team… ask x48)

Closed #99 and reopened a new PR at https://github.com/iearn-finance/yearn-finance/pull/138

This can be moved to done I believe as it's been merged


A way to get proper errors

Hello,
Whould it be nice to have access to errors when invoke ?
like :
pub mod error; in the lib ?
and a simple :
pub enum Error {
    #[error("JS Binding: {0:?}")]
    Binding(#[from] JsValue),

Same is perhaps better on Error::Serde (the #[from] part without transforming the value)
I tried to change that on a fork but the builds & tests didn't get far, is the project looking for maintainers ?

The error enum is public now, a larger change to the way custom errors are propagated is a bit more tricky, see #18 for details on that.


Cleanup backend codes

The backend codes will be cleaned up. Remove unneccesary codes or comment out them.


Ability to generate constructs for CloudFormation 3rd party resources

Could this tool be extended to auto-generate AWS CDK constructs for CloudFormation 3rd party resources?
Examples:

https://github.com/org-formation/aws-resource-providers/tree/master/security-hub/action-target
https://github.com/iann0036/cfn-tf-custom-types/

The answer looks like is yes, based on this AWS CDK RFC: https://github.com/aws/aws-cdk-rfcs/pull/266.


Cow: Watch intelliqit.com

Cow requests the watch of the watch_keyword intelliqit\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

intelliqit\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Makyen in Charcoal HQ


Can Query Performance Insights be enabled at the Logical Server level?

I have a logical server with an elastic pool containing many databases. I would like to enable QPI at the logical server level instead of going to each database to enable it.
Is this possible?

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

ID: d03a2c0e-6a41-56c3-690f-48ec38b45de6
Version Independent ID: 049a57b7-9181-e8bd-c027-5f690db1ad05
Content: Query performance insights for Azure SQL Database
Content Source: articles/sql-database/sql-database-query-performance.md
Service: sql-database
GitHub Login: @danimir
Microsoft Alias: v-daljep

@seangwright Hi there! QPI is now enabled for all databases by default, so there is no manual enabling required any longer.

@seangwright I understand. I would advise to log in a support ticket through Azure portal asking where do you want this to be turned on.

Will do. Thanks!

 Perhaps your Query Store was on, and then the storage space filled up, this is a common issue for that message shown. If this is the case, storage space needs to be either expanded, or cleared, or database workload needs to be optimized to fill less of the Query Store space. How enable Query Store, or clean the storage space, is documented on this page: https://docs.microsoft.com/en-us/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store. Note that T-SQL commands described in the article need to be executed from a tool such is SSMS (desktop tool that connects to Azure SQL Database).


right prompt

This is a feature request that we got over at scopatz/xonsh#674 that I thought I would pass along.  Apparently, zsh and others have an "RPROMPT" or right prompt ability.  I realize that this may be out of scope, but we'd certainly use it in xonsh if PTK supported it.  Maybe @arkhan can add more?

Hi @scopatz, @arkhan,
Prompt-toolkit doesn't support this RPROMPT yet, but we can definitely implement that. It's an interesting feature.
I just tried RPROMPT in zsh, and it seems that it is hidden when the text flows over it. Is that what you would expect?
We can probably implement that in the default layout from prompt_toolkit.shortcuts by adding a right aligned float. One that is only displayed if the underlying region is still empty.
Are there any other variations to this RPROMPT, known in other shells? Maybe we need a more generic, universal solution, that is more flexible than what I currently have in mind.
Jonathan

Hi @jonathanslenders RPROPMT is totally new to me.  The first I have heard of it has been from @arkhan.  I agree that the implementation is way easier if you allow it to be overwritten when the input becomes too long. Is this what you were expecting @arkhan?

if the idea is to have separate prompt, left and right

Hi all, rprompt has been added to prompt-toolkit. It's commited to the master branch.
Can you have a look at this commit https://github.com/jonathanslenders/python-prompt-toolkit/commit/a666010fc4bfa302e5f34cab868a48869ba6bc6d and see whether that is what you expect?

cool, but how to instegrate in xonsh...?

Thanks @jonathanslenders!  @arkhan this is something that will need to be changed in xonsh.ptk.shell Please feel free to open up a PR to xonsh for this, otherwise it will have to wait for someone else to get to it.  Thanks!

@jonathanslenders I have now implemented what I believe are the correct hooks in scopatz/xonsh#696

Thanks again!

+1

Ok, closing this. A new release should follow one of these days.


Publish 8.7-20240320011614+0000

Publish 8.7-20240320011614+0000

@bot-gradle test and merge

The merge queue build has started. Click here to see all failures if any.


fix: workflow retry Fixes #9193

Signed-off-by: Armand Picard<EMAIL_ADDRESS>Fixes #9193

[x] Create the PR as draft .
[x] Run make pre-commit -B to fix codegen and lint problems.
[x] Sign-off your commits (otherwise the DCO check will fail).

[x] "Fixes #" is in both the PR title (for release notes) and this description (to automatically link and close the issue).
[x] Add unit or e2e tests. Say how you tested your changes. If you changed the UI, attach screenshots.
[ ] Github checks are green.
[ ] Once required tests have passed, mark your PR "Ready for review".

If changes were requested, and you've made them, dismiss the review to get it reviewed again.

Hey @armandpicard thanks for working on this: please feel free to open the PR despite that particular test not passing.
This is documented but the test hasn't been removed yet: https://github.com/argoproj/argo-workflows/issues/9861

I'm probably just being ignorant here but I'm confused about using "template name" for finding nodes. The same template can be used by multiple steps of a Workflow, right? If that's the case, are we at risk of finding the wrong Node?

In this case the BoundaryID should be set. I'll make it more strict if there is a boundaryID then I only use the boundaryID to find the retry node.

@armandpicard - just checking in here. there's a couple unresolved comments above from reviewers. do you want to resolve and re-open this PR? we can then get it approved and merged.

@juliev0 does the change in edeb1a6  are fine for your comments ?

@juliev0 does the change in edeb1a6 are fine for your comments ?

Hey @armandpicard. I'll try to revisit this today.

Hi @armandpicard. Which of my comments were resolved by that commit? Did you address my question above here?

Hi @armandpicard - we wanted to check in to see if you could clarify this:

Did you address my question above https://github.com/argoproj/argo-workflows/pull/10081#pullrequestreview-1196625417?

Superseded by #12701


[Go Live][Sept 30]

Push content to live

Docs Build status updates of commit fd94cdb:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.gitignore
:white_check_mark:Succeeded

msteams-platform/apps-in-teams-meetings/create-apps-for-teams-meetings.md
:white_check_mark:Succeeded
View

msteams-platform/assets/images/messaging-extension-invoke-locations.png
:white_check_mark:Succeeded
View

msteams-platform/bots/how-to/conversations/conversation-messages.md
:white_check_mark:Succeeded
View

msteams-platform/overview.md
:white_check_mark:Succeeded
View

msteams-platform/resources/schema/manifest-schema.md
:white_check_mark:Succeeded
View

msteams-platform/samples/integrate-web-apps-overview.md
:white_check_mark:Succeeded
View

msteams-platform/tabs/tabs-link-unfurling.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Update past-talks.csv

Closing since these updates were covered in https://github.com/specterops/chronology/pull/6


Pulsar Go client docs

@merlimat This is ready for review (pending completion of the client, of course).

retest this please

@aahmed-se This is ready for review.

@merlimat @hrsakai is this PR ready to go?

ping @merlimat @hrsakai

@sijie I'll push some updates to this PR in a few hours

@sijie @srkukarni @hrsakai Updated, PTAL


[WFCORE-5896] Remove AuthConfigFactory wrapping, this was used to co-exist with PicketBox.

https://issues.redhat.com/browse/WFCORE-5896

Core - Full Integration Build 11398 outcome was FAILURE using a merge of 8f298104ce35d099a4dcd6f6eb4e62e12df056e4
Summary: Exit code 1 (Step: Build & test full (Maven)) (new) Build time: 00:03:23

Core - Full Integration Build 11540 outcome was FAILURE using a merge of 8f298104ce35d099a4dcd6f6eb4e62e12df056e4
Summary: Exit code 1 (Step: Build & test full (Maven)) Build time: 00:02:36

Core - Full Integration Build 11400 outcome was FAILURE using a merge of 8f298104ce35d099a4dcd6f6eb4e62e12df056e4
Summary: Exit code 1 (Step: Build & test full (Maven)) Build time: 00:02:32


Modular System Prompt + Option to let assistant see current window title

Modular System Prompt
I have separated the clipboard instructions and the date/time fetching of the default_prompt into two separate "modules". Users can from config.py select what combination of these to include, while the default_prompt.py and chat_prompt.py now only focus on the basic behavioural instructions.
Just like with the prompt files, users can very easily add new modules by copying and editing an existing one in the system_prompts\modules directory. Then include it by appending their new file to the new config.py option:
# Options:
# - "clipboard": Allow the assistant to write to the clipboard when requested
# - "time": Add the current time to the system prompt
# - "window_title": Add the current window title to the system prompt
# Or create your own module in the "system_prompts\modules" folder, then add the name of the file here.
ACTIVE_PROMPT_MODULES = ["clipboard", "time", "window_title", "user_custom_module"]

Window Title Module
I also made a entirely new module that give the assistant the name of the currently focused window title. This often includes relevant information, such as when watching a YouTube video, the video title is included in the window title, so the assistant takes that into context.
This gives the ability to simply ask "Do you know what this is about?" in a new chat while the YouTube page is in focus, and the assistant will respond using the video title as the topic context.

Something to think about is whether we should include the window_title module as a default. I have had good results so far, but it might be too early to make it a default, as it might make the assistant randomly refer to the current window when you don't want it to. Similar to how the assistant sometimes put stuff in the clipboard when you didn't ask it to.
The more stuff we put in the system prompt, the higher the risk that the assistant gets confused. Depends a lot on how clever the LLM model is.

Oh dude this is awesome! Great work. The 'modular system prompt' will clean things up a lot and the 'Window Title Module' is a great bit of context for the LLM, I'll be keen to play with this, thanks @Jobus0


Allow "Advanced Settings" in the Builder

Options include:

Render type (random vs. progressive).
Number of iterations.

Consider a drawer: https://ant.design/components/drawer/. The drawer could be triggered on a gear button:
<Button size="large" icon="setting" />

Other options:

Turn off snapping.

Done in 9b552d3.


Entity model things

These mappings are ported from the #1709 1.14.4 PR

The ID for snow golems was minecraft:snowman prior to the Flattening.


Setting max current using sliders

Is your feature request related to a problem? Please describe.
We provide services through switches, and service calls. Some simple services like setting the max charging current could be represented in the user interface as simple controls.
Describe the solution you'd like
Use a slider for setting max charging current.
Describe alternatives you've considered
None
Additional context
entity_view
from goecharger

We should be able to use the input_number integration for this. Not sure how to set this up without user interaction though, maybe similar to the switch and sensor platforms?

Guys I found another hass integration using the slider:
https://github.com/cathiele/homeassistant-goecharger

@jeremycoppey, do you want to add to the readme initially? Here is my setup:
Configuration.yaml
input_number:   charge_limit_slider:     name: Charge limit (A)     min: 0     max: 32     step: 1
Automations.yaml
`- id: '1627073230475'
alias: Max Charge Limit
description: ''
trigger:

platform: state
entity_id: input_number.charge_limit_slider
condition: []
action:
service: ocpp.set_charge_rate
data:
limit_amps: '{{ states(''input_number.charge_limit_slider'')|int }}'
mode: single`

Yes, that's a nice starting point!
I would like the ocpp integration to create the slider entities by itself, without the need to update yaml files.

Yes, that's a nice starting point!
I would like the ocpp integration to create the slider entities by itself, without the need to update yaml files.

That would be nice, may be a little tricky as you will need to set it up after everything else so that the charger's support for either power or current can be queried.

Can we convert to whatever is supported in the service handler?

Can we convert to whatever is supported in the service handler?

That would work, for AC chargers I expect most set the limit based on current.

ok, i found out how to setup a slider control in a similar way to a switch. You just create a file number.py with a async_setup_entry function, which is initiate by forwarding from the async_setup_entry in init.py. The slider class can be derived from homeassistant.components.input_number.InputNumber, it just needs the device info added to make sure the entity is nicely grouped in the device overview.
@drc38:

I want to do an async call to ChargePoint.set_charge_rate on change.  Will it work if I just use the current limit?
Should we keep the set_charge_rate service, or can the slider replace it completely?
If we keep the service, we should make sure the slider value is always reflecting the last charge_rate set.

Sounds great, in response to your questions:

the async call will work with only a current limit specified
the handle service can go when the slider is implemented, the custom services are not ideal
the slider should reflect the last charge rate set, if not accepted then it should revert to value before sliding it

@lbbrhzn thought I'd give it a try but I am stuck on how the entry forwarding needs to work. If you could take a look https://github.com/drc38/ocpp/tree/slider any assistance appreciated!

@drc38, I suspect you need to rename input_numeric.py to number.py to get it working.
Here's my take at it:
https://github.com/lbbrhzn/ocpp/tree/add-number-platform
The number shows up in the gui, but is not calling any service.


Using with turbolinks

Feature Request
When using inline script with nonce parameter, the nonce value is changed for the page request called by turbolinks. This makes the browser not able to run the inline scripts, since they have the wrong nonce value.
Expected outcome
Expect to have some sort of option to send same nonce value for same session when page is not 'reloaded', and only parts of the page is replaced.
Current behaviour is new nonce value for every request.
Not sure if this is a turbolinks or secureheaders issue.

I would say this is an issue integrating secureheaders when using turbolinks but neither is really to blame. It seems they are architecturally incompatible without some glue. It'd probably be better to add the glue to secureheaders out of simplicity unless the turbolinks pattern has identified similar issues.
I'm personally not familiar with turbolinks so I'd love it someone else could chime in. We use PJAX, but we also don't use nonces.
I'm just guessing here, but if you sent the nonce value as a parameter to the next "page request" and set that value as a nonce manually it could work. Tighter integration would definitely be welcome.

@oreoshake I've looked a bit into this, and I'm closing the issue, as the simplest solutions was to yank out inline js and move it to external js files. Since turbolinks does not have an option to pass data back for each request, it will be quite some monkey-patching.
I'll reopen or create a PR if I find a better solution.


Number of subscriptions per topic => 2,000 per-topic for the Standard and Premium tier.

[Enter feedback here]
Current:
Number of subscriptions per topic => 2,000 per-topic for the Standard tier.
Reader may think it only applies to Standard tier.
Recommend:
Number of subscriptions per topic => 2,000 per-topic for the Standard and Premium tier.

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

ID: 17b26254-ce8c-76eb-c3e9-b80c3ecc45ba
Version Independent ID: fc16f0d4-dae7-8494-e25a-6c5398215b4b
Content: Microsoft Azure Service Bus quotas and limits - Azure Service Bus
Content Source: articles/service-bus-messaging/service-bus-quotas.md
Service: service-bus-messaging
GitHub Login: @axisc
Microsoft Alias: aschhab

@JackyChiou Thanks for your feedback. We will review the issue and get back to you shortly.

@JackyChiou Thanks for reporting this item! I have updated the doc and it will be published soon. We appreciate the feedback!


Logo Redesign to Enhance Doctorverse Branding

Description of the new feature.
I am Shweta Meena. Under GSSOC'24, I'm interested in redesigning the logo of DoctorVerse to enhance its visual appeal and better represent its mission as a trusted healthcare marketplace. Please assign me this task!

Describe briefly how you would implement this new feature.
The current design is also very good, but I think it can be made even more attractive by adding some vibrant colors and making a few minor changes.

Screenshots Example (if applicable)
No response
Additional information
No response
Contributor terms

[X] I agree to follow the Contributing Instructions

@jain-rishabh-21 I have created some designs for the logo. Here they are. Let me know which design suits you best and if there are any changes you would like to make.

Thank you for liking my design suggestion.
I would like to proceed by forking the repository and implementing the changes. Could you please confirm if this is okay?

Yes sure! Go ahead!


common: Remove stray quote from include to silence warning

common: Remove stray quote from include to silence warning

Hi! Can you remove the merge to master from this?

I just squashed and merged. Thanks for these.

Ah thanks - I'll fix master merge in the future


Bug: Hovering triggers on both

When hovering with your mouse over the like or the dislike button, both buttons show the hover state.

Hey, thank you for reporting this bug and sorry that the project was so inactive.
The issue should be now fixed with the new update to version 2.8. You can go to the Paw Up! userstyle.org page and press the Update Style button to update the userstyle. If it still occurs after the update, please reopen this issue.


Convenience additions to SQL handling

If only one connection is defined, preselect that connection in the SQL tab

When opening a new SQL tab
When defining the first connection

Add checkboxes for Connection Wizard

for SQL server: integratedsecurity=true, applicationIntent=ReadOnly | ReadWrite
for Postgres: sslmode= disable | allow | prefer | require | verify-ca | verify-full

Add support for file and mem based h2 connections in Connection Wizard

add checkbox for ACCESS_MODE_DATA=r

Add Support for Oracle in Connection Wizard

fixed in 8752acd


Use of $Keys anywhere in a type hierarchy makes type-at-pos return

As the title states, using $Keys anywhere in the hierarchy of a type causes type-at-pos on any instance of that type to return <unknown>.
Repro:
type-at-pos-repro.js
// @flow
const A = 'A';
const B = 'B';
const C = 'C';
const types = {
  A,
  B,
  C,
};
//export type ValidType = 'A' | 'B' | 'C'; // Swapping this line for the next causes type-at-pos to work right.
export type ValidType = $Keys<typeof types>;
export type TypedObject = {
  type: ValidType,
  trueOrFalse: boolean,
};

const a = {type: 'A', trueOrFalse: false};
(a: TypedObject)

billschalle-mbp:flow-fiddle billschaller$ flow type-at-pos --strip-root type-at-pos-repro.js 17 7
(unknown)
type-at-pos-repro.js:17:7,17:7

See the following locations:
type-at-pos-repro.js:17:11-41:
object literal

Type-at-pos is a pretty important part of the nuclide-flow workflow, so this seems pretty impactful.

Note: This type-checks OK, and if you try to cast an invalid shape as TypedObject, it does error.

:+1: Also noticed. It's a pity, because utility types are very powerful, but this issue degrades the whole experience.

This works now.


Editing record shows alert "Column 0 not found in table"

I tried to go to the record editing page for an existing record:
https://dev.isrd.isi.edu/chaise/recordedit/#1/legacy:dataset/id=263
And see a fatal error with alert: "Column 0 not found in table".

It was an issue associated with the parse function and not changes a piece of code in the viewer app to use that structure. This can be tested here. Changes are in this commit.
Assigning back to @karlcz to make sure it is fixed.

Heh, I see that this now works and stops on the next alert about record editing being disabled.


[1.x] Duplicate errors

This issue seems related to #408.
I'm getting two errors logged in Sentry for one error happening in my app. We're using php 5.6.31. I'm demonstrating this error by just purposefully throwing a standard Exception in a controller with a made-up error message. Here's a screenshot of the Sentry issue queue showing the duplicates:

It looks like one of them is the "real" error, and one of them appears to be an error about the error. The good one contains helpful metadata, and the secondary one contains the stack trace captured by the first in a string, and shows vendor/sentry/sentry/lib/Raven/ErrorHandler.php as #0 in the stack trace.
The good error says "Exception /dashboard/boost/all/cbhomes in system/application/controllers/dashboard/boost.php
This is a Sentry event for Mark to see."
The unwanted secondary error says "ErrorException /dashboard/boost/all/cbhomes
in system/application/controllers/dashboard/boost.php
Uncaught exception 'Exception' with message 'This is a Sentry event for Mark to see.' in /var/www/html/system/application/controllers/dashbo..." and it continues by showing the stack trace from the good error in plain text as part of the error message itself.

Are you using any official integration, like the Symfony bundle? Or just the base SDK client?
Do you have any other packages installed that wire up an error handler?

One of these is the exception, and the other is the fatal error that PHP
reports when there is an uncaught exception.
If your app has an exception handler to catch the exception after Sentry
captures it (and do whatever is appropriate such as print a nice error page
with HTTP 500 status code) then it won't be uncaught. Otherwise the fatal
error comes into play.
It's important for Sentry to capture some fatal errors (such as memory
limit); others are ignored via logic in
Raven_ErrorHandler::shouldCaptureFatalError()
On Fri, Dec 7, 2018, 8:26 AM Josh Lewis<EMAIL_ADDRESS>wrote:

I'm using an older version of CodeIgniter.
So does this mean that I need to de-register all other error handlers, or
what's the recommendation?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/getsentry/sentry-php/issues/720#issuecomment-445286255,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAMziX85Wr14IaVnGe_fr9YgLR8qmRbks5u2pbTgaJpZM4ZHE0x
.

Did some more digging and discovered that on PHP 7, with no other pertinent code changes, the uncaught exception is silenced and what I've called the "real" exception still gets logged. Which is good!
I'm guessing this has to do with the explicit PHP_VERSION_ID check in shouldCaptureFatalError(), and also the expectation that the uncaught exception message is formatted using PHP 7's style.
In PHP 7, the format is the one shouldCaptureFatalError() looks for:
Uncaught Exception: Some error message here
But in PHP 5.6 (and possibly earlier versions), the format of the same error is like this instead:
Uncaught exception 'Exception' with message: 'Some error message here'
Do you think there's a way this could be tweaked so that the same desired silencing effect can be had on PHP 5.6, and potentially even earlier?

I've made a pull request (#830) with the code we're using to fix this issue.

It seems like these methods have been removed in 2.x - what have you done here to prevent this issue?

This is a patch for a 1.x/raven-php bug.

@Spriz the issue here is due to nested error handlers in PHP. We fixed it altogether in 2.x, and it's not easy to fix due to the fact that any nested handler can manipulate the error, and make the fix unuseful.

Regardless, for the vast majority of cases where this appears (unmanipulated exceptions) the fix is still useful on PHP5. And it does (functionally) the same thing as the code path for PHP7, so it's a version parity issue between the PHP 5 and PHP 7 code paths in version 1.x. It would be nice to see the fix merged so we can move closer to using the official distribution again. Please don't forget that PHP5 is supported on enterprise systems (RHEL7,CentOS7) for several more years yet. Thank you for your time.

I'm closing this because 1.x is not supported anymore and because ages passed since the last message. Feel free to update to the newer version as the issue should be solved


Code the http consumer that communicates with mayaserver's orchestration provider(s)

Mayaserver should be able to make HTTP client requests to Nomad.

Release 0.0.5 & on-wards does this


Properties in ComposedModel

The Azure OpenAPI specification uses "properties" in definitions that also have allOf i.e. are a ComposedModel.
I don't know if this is valid or not, but Swagger should support parsing this.

fixed by #2084

Awesome, thanks so much @frantuma! I don't want to rush you, but do you have a release planned soon? I'd like to get past my SNAPSHOT dependency :)

@beikov released 1.0.71

Thank you so much!


Feature Suggestion: getFasta -subtract

Hi Team Bedtools,
Than you for your excellent software.  I would like to propose a feature that would be useful to those of us who are using bedtools for removing vector sequences from long reads.
Propose: getFasta -v <fasta> <bed>
would getFasta sequences from regions in a fasta file that are NOT contained in the bed. I don't believe this feature currently exists and it would be a handy to have.
zach cp

This is already possible by using the complement tool to get the complement of your BED, then use getFasta on that.

nice! (thanks)


nassi:0.1.1

I am submitting

[ ] a new package
[x] an update for a package

Version 0.1.1

Fixed labels option not working for branches in other elements.
Added switch statements (thanks to @Geronymos).

Thank you :)

Thank you :)