no cluster/group/topic in Kafka cluster status

Hello,
After starting burrow none of the Kafka Cluster consumers/groups is discovered.
Configuration:
[general]
logdir=/var/log
logconfig=config/logging.cfg
pidfile=burrow.pid
client-id=burrow-lagchecker
group-blacklist=^(console-consumer-|python-kafka-consumer-).*$
[zookeeper]
hostname=i-va-kafka21.our-domain.com
hostname=i-va-kafka22.our-domain.com
hostname=i-va-kafka23.our-domain.com
hostname=i-va-kafka24.our-domain.com
hostname=i-va-kafka25.our-domain.com
port=2181
timeout=6
lock-path=/burrow/notifier
[kafka "NJ"]
broker=xetl1.our-domain.com
broker=xetl2.our-domain.com
broker=xetl3.our-domain.com
broker=xetl4.our-domain.com
broker=xetl5.our-domain.com
broker-port=9092
zookeeper=xetl1.our-domain.com
zookeeper=xetl2.our-domain.com
zookeeper=xetl3.our-domain.com
zookeeper=xetl4.our-domain.com
zookeeper=xetl5.our-domain.com
zookeeper-port=2181
zookeeper-path=/consumers/group1
The Znode info:
[zk: localhost:2181(CONNECTED) 4] ls /consumers/group1
[offsets, owners, ids]
This call:
http://burrow.our-domain/com/v2/kafka
returns no cluster/group/topic
{
error: true,
message: "consumer group not found",
result: null,
request: {
url: "/v2/kafka/NJ/consumer/group1/status",
host: "burrow.our-domain.com",
cluster: "",
group: "",
topic: ""
}
}
This call:
http://burrow.our-domain.com/v2/kafka/NJ/
{
error: false,
message: "cluster detail returned",
cluster: {
zookeepers: [
"[xetl1.our-domain.com]:2181",
"[xetl2.our-domain.com]:2181",
"[xetl3.our-domain.com]:2181",
"[xetl4.our-domain.com]:2181",
"[xetl5.our-domain.com]:2181"
],
zookeeper_port: 2181,
zookeeper_path: "/consumers/group1",
brokers: [
"[xetl1.our-domain.com]:9092",
"[xetl2.our-domain.com]:9092",
"[xetl3.our-domain.com]:9092",
"[xetl4.our-domain.com]:9092",
"[xetl5.our-domain.com]:9092"
],
broker_port: 9092,
offsets_topic: "__consumer_offsets"
},
request: {
url: "/v2/kafka/NJ/",
host: "burrow.our-domain.com",
cluster: "NJ",
group: "",
topic: ""
}
}
from burrow.log
2016-07-10 13:59:03 [INFO] Starting Zookeeper client
2016-07-10 13:59:03 [INFO] Starting Offsets Storage module
2016-07-10 13:59:03 [INFO] Starting HTTP server
2016-07-10 13:59:03 [INFO] Starting Zookeeper client for cluster NJ
2016-07-10 13:59:03 [INFO] Starting Kafka client for cluster NJ
2016-07-10 13:59:03 [INFO] Starting consumers for 50 partitions of __consumer_offsets in cluster NJ
2016-07-10 13:59:17 [INFO] Starting Zookeeper client for cluster VA
2016-07-10 13:59:17 [INFO] Starting Kafka client for cluster VA
2016-07-10 13:59:17 [INFO] Starting consumers for 50 partitions of __consumer_offsets in cluster VA
2016-07-10 13:59:37 [INFO] Acquired Zookeeper notifier lock
I also tried to set only "/consumers" at the zookeeper-path (without the group)
What am i missing here ?

The problem is that you have not enabled Zookeeper offset checking for your Kafka cluster. You need to add the config zookeeper-offsets=true to the [kafka "NJ"] section of your config.

Already tried it before and again now.
still same satus
On Sun, Jul 10, 2016 at 10:42 PM, Todd Palino<EMAIL_ADDRESS>wrote:

The problem is that you have not enabled Zookeeper offset checking for
your Kafka cluster. You need to add the config zookeeper-offsets=true to
the [kafka "NJ"] section of your config.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/linkedin/Burrow/issues/89#issuecomment-231606938, or mute
the thread
https://github.com/notifications/unsubscribe/AD_E-yKX4tPYE6LBhvRnYzbZ5XiZk776ks5qUUsxgaJpZM4JI1q6
.

There's also a bug with non-chroot Zookeeper paths, as well, as noted in #80. Let me take a look at that right now, and see if I can get a patch committed to master for it.

Thank you for you quick help with this

OK, #80 was a red herring. There's nothing wrong there that I can tell. However, looking at your config again it appears to be a combination of not specifying zookeeper-enable and that your zookeeper-path config is not correct. That should point to the root of your Kafka cluster, not anything to do with consumers or a specific consumer. Judging from what you have in your config right now, it should be zookeeper-path=/

zookeeper-enable is not a valid variable.
i set zookeeper-path=/     as fist step but when it did not work i tried /consumers
anyway just tried it again
with:
zookeeper-path=/
zookeeper-offsets=true
still same issue

Sorry, I keep mistyping that config. zookeeper-offsets is the right one.
What does the call /v2/kafka/NJ/consumer return?
In addition, there is a significant amount of debug level logging in the Zookeeper offset checker. You can set your logging level to DEBUG and there will be a lot more information to work with here.

Done.
I see many of those:
2016-07-10 20:46:55 [DEBUG] Dropped offset (noadvance): cluster=NJ topic=servingStatusEvent1 partition=60 group=galtest_004 timestamp=1467899190927 offset=1252 tsdiff=0 lag=259
2016-07-10 20:46:55 [DEBUG] Dropped offset (noadvance): cluster=NJ topic=servingStatusEvent1 partition=63 group=galtest_004 timestamp=1467899190919 offset=1245 tsdiff=0 lag=262
2016-07-10 20:46:55 [DEBUG] Dropped offset (noadvance): cluster=NJ topic=servingStatusEvent1 partition=88 group=galtest_004 timestamp=1467899190934 offset=1252 tsdiff=0 lag=263
2016-07-10 20:46:55 [DEBUG] Dropped offset (noadvance): cluster=NJ topic=servingStatusEvent1 partition=49 group=galtest_004 timestamp=1467899190917 offset=1254 tsdiff=0 lag=263
2016-07-10 20:46:55 [DEBUG] Dropped offset (noadvance): cluster=NJ topic=servingStatusEvent1 partition=76 group=galtest_004 timestamp=1467899190920 offset=1234 tsdiff=0 lag=263
2016-07-10 20:46:55 [DEBUG] Dropped offset (noadvance): cluster=NJ topic=servingStatusEvent1 partition=53 group=galtest_004 timestamp=1467899190933 offset=1250 tsdiff=0 lag=261
2016-07-10 20:46:55 [DEBUG] Dropped offset (noadvance): cluster=NJ topic=servingStatusEvent1 partition=52 group=galtest_004 timestamp=1467899190932 offset=1244 tsdiff=0 lag=263
2016-07-10 20:46:55 [DEBUG] Dropped offset (noadvance): cluster=NJ topic=servingStatusEvent1 partition=46 group=galtest_004 timestamp=1467899190919 offset=1234 tsdiff=0 lag=262
2016-07-10 20:46:55 [DEBUG] Dropped offset (noadvance): cluster=NJ topic=servingStatusEvent1 partition=54 group=galtest_004 timestamp=1467899190925 offset=1248 tsdiff=0 lag=262
2016-07-10 20:46:55 [DEBUG] Dropped offset (noadvance): cluster=NJ topic=servingStatusEvent1 partition=48 group=galtest_004 timestamp=1467899190926 offset=1228 tsdiff=0 lag=262
2016-07-10 20:46:55 [DEBUG] Dropped offset (noadvance): cluster=NJ topic=servingStatusEvent1 partition=44 group=galtest_004 timestamp=1467899190936 offset=1236 tsdiff=0 lag=261
2016-07-10 20:46:55 [DEBUG] Dropped offset (noadvance): cluster=NJ topic=servingStatusEvent1 partition=59 group=galtest_004 timestamp=1467899190934 offset=1234 tsdiff=0 lag=261
2016-07-10 20:46:55 [DEBUG] Dropped offset (noadvance): cluster=NJ topic=servingStatusEvent1 partition=47 group=galtest_004 timestamp=1467899190916 offset=1227 tsdiff=0 lag=262
2016-07-10 20:46:55 [DEBUG] Dropped offset (noadvance): cluster=NJ topic=servingStatusEvent1 partition=45 group=galtest_004 timestamp=1467899190941 offset=1252 tsdiff=0 lag=257
2016-07-10 20:46:55 [DEBUG] Dropped offset (noadvance): cluster=NJ topic=servingStatusEvent1 partition=51 group=galtest_004 timestamp=1467899190917 offset=1234 tsdiff=0 lag=263

I think t works ok now. it just takes time
{
error: false,
message: "consumer group status returned",
status: {
cluster: "NJ",
group: "group1",
status: "OK",
complete: false,
partitions: [ ],
partition_count: 2000,
maxlag: null,
totallag: 0
},
request: {
url: "/v2/kafka/NJ/consumer/group1/status",
host: "burrow.our-domain.com",
cluster: "NJ",
group: "group1",
topic: ""
}
}

I stopped burrow, disabled the debug logging and let it run over night
i noticed it did not reach the "complete" state
i re-enabled logs and now i see it hangs on:
"Cannot get ZK notifier lock: zk: could not connect to a server"
I went to the burrow zookeeper and rmr burrow
started it again, and still get this ZK error...
if i don't use more than one burrow server, can i not use zookeeper for burrow (won't have this locking issue)


Botsing command syntax

Characteristics

Issue Type:  question
Severity:  question
Tool/Service/Component: Botsing
Execution Environment: Linux, Windows
Reporter: Ricardo Tejada<EMAIL_ADDRESS>
Description
I would like to give the parameters of the config.properties to Botsing using the command line,
botsing.parseCommandLine(command) as in the example.
But I'm not sure about the syntax.
Thank you.

Hi @RicardoTej
For passing any option, which is already available in the config file, with parseCommandLine, you need to give it as one of the elements of the input array with this format: -D[property name]=[property value]
For instance, if you want to change the directory of the generated test, you should pass: "-Dtest_dir=[directory]"

Thank you @pderakhshanfar
I will tell you if I find any problem

Now it works fine and it generates the tests,
but at the begin it produces this trace asking for the properties file
(it doesn't stop and it generates the tests)

I'm using this command

Am I doing something wrong ?
Thank you.

I think you completely removed the config file and it can not find it. Currently, we just handled these kinds of exceptions by printing the stack trace. However, I should replace it with a representative error message in the future. In general, the config file is used for passing the default values that we are not going to change them in most of our runs. It should be there, even if it is empty.

Yes, I removed it, then I will put it again.
Tahnk you.


Compile error with qpdf-11.9.1 and GCC gcc version: 15.0.0 20240919 (experimental)

[ 54%] Linking CXX executable test_xref
[ 54%] Built target test_xref
[ 54%] Building C object qpdf/CMakeFiles/qpdf-ctest.dir/qpdf-ctest.c.o
[ 55%] Linking CXX executable qpdf-ctest
[ 55%] Built target qpdf-ctest
[ 55%] Building C object qpdf/CMakeFiles/qpdfjob-ctest.dir/qpdfjob-ctest.c.o
[ 56%] Linking CXX executable qpdfjob-ctest
[ 56%] Built target qpdfjob-ctest
[ 57%] Building CXX object libtests/CMakeFiles/cxx11.dir/cxx11.cc.o
/depot/j/qpdf-11.9.1/libtests/cxx11.cc: In function ‘void do_inttypes()’:
/depot/j/qpdf-11.9.1/libtests/cxx11.cc:75:16: error: ‘uint8_t’ was not declared in this scope
 75 | check_size<uint8_t>(1, false);
 | ^~~~~~~
/depot/j/qpdf-11.9.1/libtests/cxx11.cc:10:1: note: ‘uint8_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
 9 | #include <regex>
 +++ |+#include <cstdint>
 10 | #include <type_traits>
/depot/j/qpdf-11.9.1/libtests/cxx11.cc:75:24: error: no matching function for call to ‘check_size<<expression error> >(int, bool)’
 75 | check_size<uint8_t>(1, false);
 | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/depot/j/qpdf-11.9.1/libtests/cxx11.cc:63:1: note: candidate: ‘template<class T> void check_size(size_t, bool)’
 63 | check_size(size_t size, bool is_signed)
 | ^~~~~~~~~~
/depot/j/qpdf-11.9.1/libtests/cxx11.cc:63:1: note: template argument deduction/substitution failed:
/depot/j/qpdf-11.9.1/libtests/cxx11.cc:75:24: error: template argument 1 is invalid
 75 | check_size<uint8_t>(1, false);
 | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/depot/j/qpdf-11.9.1/libtests/cxx11.cc:77:16: error: ‘uint16_t’ was not declared in this scope
 77 | check_size<uint16_t>(2, false);
 | ^~~~~~~~
/depot/j/qpdf-11.9.1/libtests/cxx11.cc:77:16: note: ‘uint16_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
/depot/j/qpdf-11.9.1/libtests/cxx11.cc:77:25: error: no matching function for call to ‘check_size<<expression error> >(int, bool)’
 77 | check_size<uint16_t>(2, false);
 | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/depot/j/qpdf-11.9.1/libtests/cxx11.cc:63:1: note: candidate: ‘template<class T> void check_size(size_t, bool)’
 63 | check_size(size_t size, bool is_signed)
 | ^~~~~~~~~~
/depot/j/qpdf-11.9.1/libtests/cxx11.cc:63:1: note: template argument deduction/substitution failed:
/depot/j/qpdf-11.9.1/libtests/cxx11.cc:77:25: error: template argument 1 is invalid
 77 | check_size<uint16_t>(2, false);
 | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/depot/j/qpdf-11.9.1/libtests/cxx11.cc:79:16: error: ‘uint32_t’ was not declared in this scope
 79 | check_size<uint32_t>(4, false);
 | ^~~~~~~~
/depot/j/qpdf-11.9.1/libtests/cxx11.cc:79:16: note: ‘uint32_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
/depot/j/qpdf-11.9.1/libtests/cxx11.cc:79:25: error: no matching function for call to ‘check_size<<expression error> >(int, bool)’
 79 | check_size<uint32_t>(4, false);
 | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/depot/j/qpdf-11.9.1/libtests/cxx11.cc:63:1: note: candidate: ‘template<class T> void check_size(size_t, bool)’
 63 | check_size(size_t size, bool is_signed)
 | ^~~~~~~~~~
/depot/j/qpdf-11.9.1/libtests/cxx11.cc:63:1: note: template argument deduction/substitution failed:
/depot/j/qpdf-11.9.1/libtests/cxx11.cc:79:25: error: template argument 1 is invalid
 79 | check_size<uint32_t>(4, false);
 | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/depot/j/qpdf-11.9.1/libtests/cxx11.cc:81:16: error: ‘uint64_t’ was not declared in this scope
 81 | check_size<uint64_t>(8, false);
 | ^~~~~~~~
/depot/j/qpdf-11.9.1/libtests/cxx11.cc:81:16: note: ‘uint64_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
/depot/j/qpdf-11.9.1/libtests/cxx11.cc:81:25: error: no matching function for call to ‘check_size<<expression error> >(int, bool)’
 81 | check_size<uint64_t>(8, false);
 | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/depot/j/qpdf-11.9.1/libtests/cxx11.cc:63:1: note: candidate: ‘template<class T> void check_size(size_t, bool)’
 63 | check_size(size_t size, bool is_signed)
 | ^~~~~~~~~~
/depot/j/qpdf-11.9.1/libtests/cxx11.cc:63:1: note: template argument deduction/substitution failed:
/depot/j/qpdf-11.9.1/libtests/cxx11.cc:81:25: error: template argument 1 is invalid
 81 | check_size<uint64_t>(8, false);
 | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
make[2]: *** [libtests/CMakeFiles/cxx11.dir/build.make:76: libtests/CMakeFiles/cxx11.dir/cxx11.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:990: libtests/CMakeFiles/cxx11.dir/all] Error 2
make: *** [Makefile:166: all] Error 2

I was able to compile 11.9.1 with older GCC releases though, so I think this is some error
related to the more recent gcc I guess. I have not yet tried to git clone the latest qpdf
source, so I don't know if this issue still remains or not.

I just checked with the latest git checkout from the sources here,
and the error could not be reproduced; qpdf compiled fine, thus
I close this issue here, so this is just information.


switch to non-recursive mode by default

Resolves #3587 and refs #3887
This PR updates the default mode of rustfmt to not format submods in external files, with an accompanying new CLI arg (--recursive)/config option to enable recursive submod formatting mode (which was the default behavior of rustfmt 1.x).
cargo fmt behavior remains unchanged, as cargo fmt will automatically pass the --recursive flag to rustfmt.
I went ahead and marked the new recursive config option as stable because it is relatively simple. Also because it would be pretty weird IMO if both recursive and skip_children were only available on nightly, especially with skip_children now deprecated (that would make it impossible to format sub mods on stable).
Lastly, I did a bit of refactoring in cargo fmt to consolidate/simplify the adding of args to rustfmt (for example the transformation of --message-format to --emit .. for rustfmt, --check, etc.) which had been discussed on some earlier threads.

Thanks for the feedback @scampi!


Visual artifacts above Chinese language fonts

in chinese language, render text not clean
iPhone 12 ios 15.6.1

This seems to go away when not using impeller. Also the text also renders significantly more bold than the Skia version:
Impeller

Skia

@esDotDev Could you provide instructions on enabling the Chinese language version? cc @bdero

@esDotDev Could you provide instructions on enabling the Chinese language version? cc @bdero

You can switch your test device to Chinese, or just uncomment this line here:
https://github.com/gskinnerTeam/flutter-wonderous-app/blob/4f55aa253616944b19941a5b19dbfa45fa2162ed/lib/logic/locale_logic.dart#L18

This is due to glyphs leaking into eachother when sampling from the atlas. One of the more extreme cases demonstrating the issue. Texture atlas is on the left and on-screen text is on the right.

I believe there are two compounding issues:

After the linear sampling change, we're including half a pixel too much on the top and left, and excluding half a pixel on the bottom and right. Fixing this should make most of the issue go away.
There's either some aspect of the text bounds we're not considering. The emboldened text is legitimately a couple of pixels taller than the non-boldened text, so figuring out this bug may end up resolving the more extreme comma case visible above.

This should be fixed by https://github.com/flutter/engine/pull/35960.

ios 1.0.3 fix


Roll Plugins from 3d44753ad9ba to b74525777205 (1 revision)

https://github.com/flutter/plugins/compare/3d44753ad9ba...b74525777205
2022-10-15<EMAIL_ADDRESS>Roll Flutter from 08e1729204f3 to a707d05e9d4c (6 revisions) (flutter/plugins#6577)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-plugins-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Process for pretraining  BERT and preprocessing the unlabeled data

Thanks for your code！Could you please share the code which pretrains BERT with the unlabeled review data from Amason and Yelp？It would be better if we could see the code which preprocessing the data before.
Looking for your reply.Thank you!

https://github.com/howardhsu/BERT-for-RRC-ABSA/blob/master/pytorch-pretrained-bert/src/gen_pt_review.py
Getting the raw text should be straightforward and we didn't release the
code.
On Thu, Aug 19, 2021 at 1:56 AM zjj0266 @.***> wrote:

Thanks for your code！Could you please share the code which pretrains BERT
with the unlabeled review data from Amason and Yelp？It would be better if
we could see the code which preprocessing the data before.
Looking for your reply.Thank you!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/howardhsu/BERT-for-RRC-ABSA/issues/21, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACRK372A76U3HTAD3GS2B6LT5TBLPANCNFSM5CNYA5HQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

--
Homepage: https://howardhsu.github.io/
Linkedin: https://www.linkedin.com/in/hu-xu-9852403b/
Google Scholar: https://scholar.google.com/citations?user=SaH2yWMAAAAJ
Twitter: https://twitter.com/Hu_Hsu
Email: @.***


Will no longer be updated to the Raku ecosystem

Hello,
Thank you for the time and effort you have put in what is now the Raku Programming Language.  The language and its ecosystem are moving forward.
This means that this distribution will no longer be checked for updates by the Raku ecosystem.
This means that you will need to move your module to the zef ecosystem on the next update you make to these distributions.  Otherwise your update will simply not be seen by the ecosystem.
If you are no longer interested in maintaining this distribution, you can have this distribution moved to Raku Community Modules Adoption Center, where members of the Raku Community will take care of them.
This can be as easy as confirming that in a response to this issue.
Again, thank you for your time and efforts!
On behalf of the Raku Steering Council,
Elizabeth Mattijsen

I've removed this distro from the p6c ecosystem.  It has not seen any updates in 9 years, and its functionality is basically provided by several other modules, e.g. Cro


how to get a Window Specification when I have a BaseWrapper object

quesion

Currently there is no way to get back to WindowSpecification. We're planning to implement creating new child WindowSpecification from current wrapper as a parent. Keeping already used WindowSpecification inside wrapper object doesn't make much sense because you already can keep it in a variable if you need.


fixed  closing tags for local server

SFINT-4932
Fixed the  closing tag causing error when starting the local dev server.
replaced : <path /> by : <path></path>
Reducing the need to fix it every time we start the local dev server

The changes look good! However I'm bit worried about formatting of the HTML files with prettier. Cause for now the majority of the HTML files in Quantic is not formatted with prettier and now we are starting to format some and we really do not want to end up with a repo where half the HTML is formatted with method A and the other i formatted with method B.
That's what I'd suggest:

Remove the formatting changes from this PR.
Open a new Jira  ticket specific to formatting the HTML in Quantic. This ticket would include having a small discussion or just a draft PR shared with the team to really decide as a team which formatting method is the one we we wanna follow and then we implement it in every HTML file.

What do you think @nathanlb ?

The changes look good! However I'm bit worried about formatting of the HTML files with prettier. Cause for now the majority of the HTML files in Quantic is not formatted with prettier and now we are starting to format some and we really do not want to end up with a repo where half the HTML is formatted with method A and the other i formatted with method B.
That's what I'd suggest:

Remove the formatting changes from this PR.
Open a new Jira  ticket specific to formatting the HTML in Quantic. This ticket would include having a small discussion or just a draft PR shared with the team to really decide as a team which formatting method is the one we we wanna follow and then we implement it in every HTML file.

What do you think @nathanlb ?

I removed the formatting from the PR and created the JIRA
maybe we can slot it in the next sprint planning or something

The changes look good! However I'm bit worried about formatting of the HTML files with prettier. Cause for now the majority of the HTML files in Quantic is not formatted with prettier and now we are starting to format some and we really do not want to end up with a repo where half the HTML is formatted with method A and the other i formatted with method B.
That's what I'd suggest:

Remove the formatting changes from this PR.
Open a new Jira  ticket specific to formatting the HTML in Quantic. This ticket would include having a small discussion or just a draft PR shared with the team to really decide as a team which formatting method is the one we we wanna follow and then we implement it in every HTML file.

What do you think @nathanlb ?

I removed the formatting from the PR and created the JIRA
maybe we can slot it in the next sprint planning or something

Totally agree on my side. Even if I am not a huge fan of pre-commit hooks with prettier, it's one OR the other and not half hehe :)
Also I believe there is a specific prettier module for LWC


Donation?

Hello,
I like your work and would like to send in a donation.  What's the best way to do that?

I second this, it's a great tool and definitely the most user-friendly utility out there!

Please keep working on this! update for FBNeo etc!

Also are overlays meant to be greyed out on the Windows version?

Hello and thanks for your interest (and sorry for the delay).
I won't take donations because I don't want to have a sense of obligation, but I appreciate the offer (and the kind comments) :)
@halpz: the overlays cannot be installed automatically if you're using RetroArch on Windows because I don't know where it's installed (and I don't even know where to copy the files), whereas Retropie and Recalbox have a fixed and predictable folde folder structure.


Is it possible to video stream and play in chat

Using renderCustomComponent() You can render any react component so is up to you.


Make trackpad-scrolling of the canvas faster and feel smoother

Currently, the user can scroll the canvas/scene by two-finger dragging on the trackpad. This feels a bit sluggish right now in that the scene doesn't scroll fast enough relative to the amount of dragging.

We should increase the speed at which the scene pans for a given amount of user dragging. This should be a settable (in code) parameter, so that we can experiment with different values. That would also give the possibility of later making it a data-driven parameter that is settable at runtime.
The dragging also feels less smooth than in some other apps I've used. I'm not sure why, but could this be because we drag by a set amount per tick/frame, but the framerate is not totally constant? If so, then we should scale the amount to pan by the elapsed time (estimated duration since last frame). In this case, the setting for the drag speed should be a speed, not an amount, so for example, pixels per second.

Figure out what SDL2 mouse event the dragging corresponds to. I think it might be something to do with the scroll wheel. Then make the changes. Start with a value that gives us about a 2x speedup vs what we have now, and we'll adjust this to find a value that feels good. @mentatbot
For context: There's typically a handle_event() function in each GUI control also in the GUI class itself. Have a look at GUI, GUIControl, and GUIContainer's handle_event() functions. Also look for sdl2 mouse wheel events -- I think this is what trackpad drags get mapped to.

Please take another look at this @mentatbot


[Bug][Manager] Fix database error when saving sink field

What happened
Database error when saving sink field if the format field is not configured.
What you expected to happen
Saving sink field success even if the format field is not configured.
How to reproduce
Does not configure the format field when saving the sink field.
Environment
No response
InLong version
master
InLong Component
InLong Manager
Are you willing to submit PR?

[X] Yes, I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Duplicated with https://github.com/apache/incubator-inlong/pull/3401


Add documentation for storybook setup

Adding storybook documentation
I'm so excited to be using stylexjs for out companies new component library. Unfortunately I am not able to get the project setup using storybook and webpack. Following the documentation for creating variables and themes, I am not able to get those variables to load into storybook globally. As soon as I use a color variable that I have defined with defineVars it is not being applied. I can also not see any CSS variables being applied to the dom. I wish there was some sort of documentation for setting this up as there is very little support on this topic on the internet.
Thanks a lot

The PostCSS plugin is likely the best approach for making this work. I don't have a lot of experience using Storybook myself, so if you could provide a basic setup you need we might be able to help.
The Discussions tab might also reveal some information about storybook. There have been previous members of the community who got it to work.


Update mac os devicelab prod pool fleet to new macos/xcode/ios versions

Start upgrade of prod devicelab hosts to new macos (12.0.1), xcode and ios versions.
Once testing in prod pool is complete and all hosts have been upgraded, remove the multi-value dimensions from .ci.yaml for mac_ios.

due to issue with providing multi values in .ci.yaml, we are going to move mac devices to prod and do a switchover.

This is already done!


Include the entry point selector in EntryPointNotFound error

Description
Include the selector felt value in the error, so that we can display the selector in the error message
Checklist

[ ] Linked to Github Issue
[ ] Unit tests added
[ ] Integration tests added.
[ ] This change requires new documentation.
[ ] Documentation has been added/updated.

Thanks for your contribution!!

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

Project coverage is 88.94%. Comparing base (d011ebe) to head (cd8c623).

Additional details and impacted files

@@           Coverage Diff           @@
##             main    #1251   +/-   ##
=======================================
  Coverage   88.94%   88.94%
=======================================
  Files          52       52
  Lines       15610    15618    +8
=======================================
+ Hits        13884    13892    +8
  Misses       1726     1726

Files
Coverage Δ

src/execution/execution_entry_point.rs
94.83% <100.00%> (+0.04%)
:arrow_up:

src/transaction/error.rs
100.00% <ø> (ø)

src/transaction/invoke_function.rs
95.83% <100.00%> (+0.01%)
:arrow_up:


Show confirmation dialog when deleting a feature

Hi! Thanks so much for working on this. We just set it up internally and are loving it.
Although the Delete button is red and scary, I still found myself a bit surprised when clicking "Delete" didn't require an extra confirmation step. This adds a simple JavaScript dialog to be confirmed before the delete form is submitted.

Seems fair. I am not a huge fan of dialogs, but safety first! 😀


having some trouble with whale_watch.py ?

Im trying to use this whale_watch.py script to find fused reads.
the error message is this   ::
TypeError: unsupported operand type(s) for -: 'str' and 'str'
I think this where the error is coming from ::
File "whale_watch.py", line 36, in fuse_reads
ss['diff'] = ss['start_time'].shift(-1) - (ss['start_time'] + ss['duration'])
Thanks for any assistance!
This might be something basic on my end .. in which case apologies.
Here is the whole error message i am getting   ::
Traceback (most recent call last):
File "whale_watch.py", line 289, in
main()
File "whale_watch.py", line 11, in main
fused_df, ss, fused_read_ids = fuse_reads(args.summary, args.paf, args.distance, args.top, args.alt, args.debug)
File "whale_watch.py", line 36, in fuse_reads
ss['diff'] = ss['start_time'].shift(-1) - (ss['start_time'] + ss['duration'])
File "/usr/lib/anaconda3/lib/python3.6/site-packages/pandas/core/ops.py", line 1069, in wrapper
result = safe_na_op(lvalues, rvalues)
File "/usr/lib/anaconda3/lib/python3.6/site-packages/pandas/core/ops.py", line 1037, in safe_na_op
lambda x: op(x, rvalues))
File "pandas/_libs/algos_common_helper.pxi", line 1212, in pandas._libs.algos.arrmap_object
File "/usr/lib/anaconda3/lib/python3.6/site-packages/pandas/core/ops.py", line 1037, in
lambda x: op(x, rvalues))
TypeError: unsupported operand type(s) for -: 'str' and 'str'

This error message suggests that the format of your sequencing summary file is not as expected. If could share the input file(s) that are causing this error I can take a closer look.

Thank you !! you are totally correct !
i found the formatting error (extra header lines from concatenating )
took them out and it now works beautifully
<3 <3 <3


Change new app screen greeting

We're all friends here, right? 💗
Summary
We're just making React run on phones, right?
Changelog

[General] [Changed] - Updated new app greeting screen title 💗
Test Plan
😅

Очень смешно 🎯
С днём победы

Could you rebase this PR?

Rebased!


Add --auto-trigger option to kev dev with Skaffold

Addresses #344
This PR adds additional command line flag specific to kev dev with --skaffold flow enabled.
By default kev dev will build/push/deploy first time and then wait for user input (in a form of ENTER button) to trigger another build/push/deploy iteration. It's the default to prevent unnecessary avalanche of rebuilds and deploys happening on each source code change.
In order to enable automatic build/push/deploy on each project source code change user must specify --auto-trigger flag.

@ezodude these are just a few different use examples. As for making --auto-trigger a the default behaviour I guess we could do that. The reasoning behind making that manual by default was to slow down the build/push/deploy loop and give user a chance to batch changes before releasing them to the cluster. But thinking about it now, perhaps it should be the opposite as you suggested above.


Resultset

Not that I'm against that you merge your own PR , but for this one there could/should have been at least a big squash of the vast majority of the temporary/tests commits..
and some few others things too that I'd have liked to comment on the final result..  it's never too late, in resultset.py :
    def __iter__(self):
        """ Iterating a ResultSet will yield one dict instance per serie result.
        """
        for key in self.keys():
            yield list(self.__getitem__(key))

docstring: it's not (anymore) dict instances which are yielded, but lists (of "points")
self.getitem(key) <=> self[key]  # the later being the preferred / pythonic way..

Not that I'm against that you merge your own PR , but for this one there could/should have been at least a big squash of the vast majority of the temporary/tests commits..

We both worked on the PR and I didn't want to remove your authorship. The good thing to do would have been to squash it all under one single commit :( But you're right. I still could have squashed commits in-between.
I'll wait for ResultSet to be stable before I make a new release, so its best to work on master.

We both worked on the PR and I didn't want to remove your authorship.

for such temporary crappy test commits it's ok ;)

The good thing to do would have been to squash it all under one single commit :(

ultimately yep.
we'll see as you say.


Two instances of ng-map, streetview panorama is always on the first one

Plunkr:
https://plnkr.co/edit/9xzDWXBWdCHmJwgfsW5u?p=preview
basically when I put two ng-map instances on the page, the one that shouldn't have streetview is shown in streetview mode

In my case, when I switch to streetview mode and navigate to another map on another page, the streetview view persists.


[RFC] Swap Cross Pools With ETH

Summary
The contract "StableAssetApplication" proposes  a swap of token "x" to token "y cross pools by depositing token "x in pool "In" and withdrawing token "y" from pool "Out" using "tapETH".
The idea is to  replace this process by swapping token "x" to ETH from the pool "In" and swapping ETH to token "y"  from the pool "Out".
Motivation

The default cross swap should use the swap functions to generate swap fee.

Action plan

Change the function "swapCrossPool" in the contract "StableAssetApplication"  to use the swap function instea of "mint" and "redeem" functions.
Update unit tests for this function.

Detailed design

Swap token "x" to "WETH" from the pool "In".
Swap "WETH" to token "y" from the pool "Out".

Implementation Timeline
2 days

It doesn't make sense to me: we are doing mint/redeemSingle and I think it's better in our use case. we have a mint fee of 0 and the 2*swap fee > redeem fee. plus, using two swaps actually moves some eth around.
if we use redeem single, we aren't moving any unrelated funds (i.e. eth).

aren't moving unrelated funds is a good point, again, less influence of external arbitrage.

traders should pay the swap fee. The objectif is not to reduce fee and propose for traders a swap alternative with less fee. Moreover, the mint fee cannot be  set to zero. Indeed, in this case  a trader can  mint tapETH for free and  do a single side redeem to recieve a token different of his deposit token, so he do a swap with a fee less than the swap fee.


ValueError: Cannot feed value of shape shape (1, 224, 224, 4) for Tensor 'input_imgs:0',

Haven't seen any issues on this as of yet, so I figured it was time to open one. Lots of faces trigger this error, and I'm not entirely sure why. Any help greatly appreciated!
Same error referenced in #85
Traceback (most recent call last):   File "demo.py", line 123, in <module>
demo                                              File "demo.py", line 104, in demo
face_shape,face_texture,face_color,landmarks_2d,recon_img,tri],feed_dict = {images: input_img})
File "C:\Users\USER\miniconda3\envs\sisr\lib\site-packages\tensorflow\python\client\session.py", line 929, in run
run_metadata_ptr)                                                                           File "C:\Users\USER\miniconda3\envs\sisr\lib\site-
packages\tensorflow\python\client\session.py", line 1128, in _run
str(subfeed_t.get_shape())))                                                              ValueError: Cannot feed value of shape (1, 224, 224, 4) for Tensor 'input_imgs:0', which has shape '(1, 224, 224, 3)

You have to make sure the input image has 3 channels (RGB) instead of 4 (RGBA). Some images with '.png' extension might have an extra alpha channel. Our model only receives images with 3 channels without the alpha channel.

You have to make sure the input image has 3 channels (RGB) instead of 4 (RGBA). Some images with '.png' extension might have an extra alpha channel. Our model only receives images with 3 channels without the alpha channel.


V1/V2: Passenger map showing other weeks data if link has no data for the selected week

If a link has some data for a previous week, but no data for the current week the link is not on the map, but if you hover with the mouse where it should be you see the popup like if there was an actual link
Week 10

Week 9

Edit: bug also present in V1

Good catch!
Fixed in https://github.com/patsonluk/airline/commit/9becb45f2fc437ace677c5c89fc7f3dee3edda86


Add all the information to Trial model

Everything we would need to analyze the data: polarity, position, etc. These could be reconstructed from the data we have but it would be easier just to save it.

Make a TrialExtra model


Added the missing @RobotKeywordOverload. This annotation is needed to…

Added the required annoation to enable the overloading. The only downside of this is that the parameter for the attribute name needs to have an =None declared or it won't work. It is a mandatory parameter though so...

Can you give any indication when this will be available through mvncentral?


Can't easily select the Derby and Nottingham icon on the CFF map

When hovering over the map, the East Mids popup masks the Derby and Nottingham icon.
Could do with re-locating the popup and / or enabling it to be dismissed.

Unmasked
Masked

Have removed tooltip for regions - but kept for pins


pam_mount: update to add support for LUKS2

Motivation for this change
Support for LUKS2 exists in the pam_mount git repo[1] but has not been
released yet. Ubuntu has been backporting a slightly different fix for a
while now[2]. This changes pam_mount to use git instead of the last
release.
[1] https://sourceforge.net/p/pam-mount/pam-mount/ci/d4434c05e7
[2] https://bugs.launchpad.net/ubuntu/+source/libpam-mount/+bug/1804408
Things done

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

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

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

Hmm. It looks like someone made a separate pr (#102934), after mine, that fixes this in a different way (checks in a patch rather than fetching from git). I did it that way because the manual discourages checking in patches if the code is available upstream. Ah well.
It looks like upstream has released 2.17 now, including this fix, so I'll make another PR to use that instead.


Create CanActivateDecoratorFactory

I would be nice to have CanActivateDecorator factory which we can use to create canActivate decorators for every class.
Every canActivate decorator will accept canActivate function and validate method, before method starts execution

done


Support DenyAssignments for MG-scoped Deployment Stacks

@marsontret No, #156 only adds Management Groups to the list of managed resources. Creating a deny assignment on those management groups is still not a supported scenario, which is why we are asking customers to upvote this if they have a scenario where this would benefit them.

Got it. Thanks.

I have one case which needs deny assignments on MG level.
I wanna provide via stack Azure Polices where definitions of policies and initiatives will be located on mg level (for easier sharing that to each sub or rg) but policy assignments on sub or rg level.
Goal is also to provide also deny assignments to make this setup readonly and be managed only via code.
For now I cannot do that even I split definitions (without deny) and assignments (with deny) to different stacks, because assignments reference to policy definition from mg level so I need choose this scope for deployment as least.

Hi @sbebrys -
I believe the following should work for your scenario:

Split the policy definitions and policy assignments.
Create an MG-scoped stack for the policy assignments, but set the deployment scope to a subscription.  You should be able to specify denySettings in this case.  Note: The deployment stack must be at the management group that is the direct parent of the target subscription.
The template should directly contain the policy assignments (referencing the policy definitions at management group scope).  This will be deployed to the subscription and protected by deny assignments, and subscription owners won't have access to the management group to modify the deployment stack.

Does that make sense? Let me know if you have any questions.

@sbebrys It looks like you aren't deploying to subscription scope.  You should pass --deployment-subscription  as an additional parameter.

@snarkywolverine great I miss that, thanks.
Finally It could works for me but only partial. I could push policy assignments to read-only state but not policy definitions itself, so still someone could change policy and its behavior outside assignments. Deny assignments on mg level could be helpful in this case.

Voting for this one, is there a plan to implement this functionality? This would be beneficial for cases where you want to protect your policy assignments and definition at the MG level

We would like to protect Subscription Budgets to be modded/deleted by its Contributers and Owners. DenyAssignments at MG level could achive just that. Upvoted.

I would like to upvote this.  I want to deploy policy assignments at the MG to require cost tracking and ownership tags on RG's and inherit to resources.  These are currently assigned to subscriptions but as new subscriptions are added the policies aren't being assigned.  Deploying this as a stack to the parent MG would make this automatic.  I want to deploy the assignments via Azure DevOps pipeline and prevent modification and deletion of the assignments from the portal.  Hope that makes sense.  Thanks.

@pbo-top Do the budgets exist at management group scope, or are they saved in the subscription?
If they're saved in the subscription, you should be able to achieve this scenario today with the following Pwsh command:
New-AzManagementGroupDeploymentStack ... -DeploymentSubscriptionId  -DenySettings ...
This creates the deployment stack at MG scope, but deploys directly to the specified subscription ID.  In this case, DenySettings are supported.  Does this address your scenario?
@paul-mccormack - will this solution work for your scenario as well?  Though note that tags are not currently supported as a denyable resource. See #151 for details.

@snarkywolverine - Hi,  Thanks for the reply.  I would need to test but from my understanding I would need to create a stack for every subscription under the management group and for future subscriptions that might be created?
I'm not looking to protect the tags with a deny, it's the policy assignments I want to protect.    Things like allowed regions, sku's, etc.  I want to run this from DevOps with only the connector service principal and the break glass account being excluded from the deny.  Effectively blocking anyone in the portal from removing the policy assignment and deploying something in a disallowed region, or some other thing we want to block or control.
As an example, and please let me know if I am misunderstanding.  Say I have MG1 which contains sub1, sub2 and sub3.  I would need to deploy three stacks at MG1 with DeploymentSubscriptionId sub1, sub and sub3 respectively.  Later someone creates sub4 and sub5.  Requiring another two stacks to be created to target them.
If that is the case and I want to ensure these policy assignments are automated for every current and future subscription, I could look at putting a workflow in place for creating new subs using DevOps then running this deployment as part of the workflow. But if the deny assignments inherit from the MG it would be a lot less work.

@paul-mccormack Thanks for clarifying the scenario. I'm guessing there are users who have access to the management group who shouldn't be able to modify the policy, which is why the deny assignment is valuable?  If so, what permissions do the users have in the MG?  Also, are you more concerned about malicious policy changes, or accidental ones?
Your answers can help us guide the design and figure out how easy it is to potentially implement something like this.

@snarkywolverine I guess the goal would be to control how the policies are modified, using Inf as Code to maintain a record and gain approval for the modifications.  Not all of our technical teams are at the same level with Bicep deployments.  We regularly find modifications happen in the portal with the good intention of retrospective code or documentation updates, which unfortunately sometimes get forgotten about.
So, potentially people who can elevate up to Owner role would need to be blocked by the deny assignment.  I think the approval mechanism gained by using a CI/CD pipeline would effectively control both malicious and accidental changes at the same time.  Hope that helps.  Thanks.

@snarkywolverine , sorry for a delayed answer.

@pbo-top Do the budgets exist at management group scope, or are they saved in the subscription?

Thanks for the suggestion, I'm playing with this using the az-cli and Bicep though, but it is actually what I'm trying to do - perform a Management Group deployment containing module with a Budget on a Subscription. But that generates this err:
{"code": "DeploymentStackInvalidDeploymentStackDefinition", "message": "The deployment stack 'test-budget-stack-001' is invalid, because deny assignments are only supported for deployments at subscription scope."}

Command:
az stack mg create `
--name 'test-budget-stack-001' `
--location 'swedencentral' `
--management-group-id 'deploy-stack-test-001' `
--template-file 'mg-wrapper.bicep' `
--parameters subscriptionID='234234-23234...`
--action-on-unmanage 'deleteResources' `
--deny-settings-mode 'denyWriteAndDelete' `
--deny-settings-excluded-principals '1231-123123-123123...' `
--deny-settings-apply-to-child-scopes

mg-wrapper.bicep:
targetScope = 'managementGroup'

param subscriptionID string

module subDeployModule 'budget1.bicep' = {
  name: 'deployToSub'
  scope: subscription(subscriptionID)
}

The budget1.bicep is just a Budget resource at Subscription targetScope.

@pbo-top have you been able to figure it out ?
We have very siliar use case where I need to make sure the stack is deployed on the MG level where users cannot touch it, but I need to actually deploy resources on the subscription level.
Deployment part is not a problem but no matter what, I cannot make the deny settings to work.

@pbo-top @MichalZezula Deployment Stacks absolutely supports this scenario!
The key is to skip the 'wrapper' bicep file, and instead deploy the subscription template directly, but using the DeploymentSubscription parameter.
PS: https://github.com/Azure/deployment-stacks/issues/137#issuecomment-2372453056
CLI: https://github.com/Azure/deployment-stacks/issues/137#issuecomment-2067033907
So the cmd for @pbo-top would be something like the following (adding a line break and rearranging parameters for clarity)
az stack mg create `
--name 'test-budget-stack-001' `
--location 'swedencentral' `
--management-group-id 'deploy-stack-test-001' `
--parameters subscriptionID='234234-23234...`
--action-on-unmanage 'deleteResources' `
--deny-settings-mode 'denyWriteAndDelete' `
--deny-settings-excluded-principals '1231-123123-123123...' `
--deny-settings-apply-to-child-scopes

--template-file 'budget1.bicep' ` <<< ***CHANGED***
--deployment-subscription 248248-....  <<< ***ADDED***

@pbo-top @MichalZezula Deployment Stacks absolutely supports this scenario!

@snarkywolverine  Thanks for the suggestion, yes ditching the wrapper made the deployment go through.
Now, looking at UI the Stack seems OK with the deny-setting:

But... this leaves me with the same problem that @paul-mccormack mentioned previously with policies. Users in the target Subscription who eg. have the IAM Contributer role can modify or delete the budget (the user has no rights at the MGMT levels). The ManagementGroup stacks' deny does not seem to have any effect at the Subscription level.

@pbo-top Can you elaborate on this: Users in the target Subscription who eg. have the IAM Contributer role can modify or delete the budget.
Full disclosure, I have not worked much with budgets - are they updateable outside of Azure? The deny assignments are only going to help within the context of Azure RBAC.
If a resource is updatable/deletable through Azure despite a deny assignment, I would appreciate a correlation ID on the update/delete call - that would indicate the deny assignment is not being respected for some reason.
The expectation from our side is that the deny assignment should protect the resource, and shouldn't be able to modify the stack to give themselves permission (since the stack lives at a different scope where users don't have permission).

@snarkywolverine
I don't know what MS is doing behind lines, aka. if Budgets can seen as resource at the same level as stuff one can place in a ResourceGroup, but the Budgets are governed by the IAM RBAC.
What I've tested is creating a Budget via a "mg" stack deployment as suggested above. This ends up as the screenshot I pasted, which is the stack seen after selecting the Management Group (named "Deploy Stack Test 001"), then selecting "Deployment Stacks".
I've made two test regarding the correlationId,

Deploy the MGMT stack, then in a new private browser logon with a test-user who is Contributer on the Subscription and nothing else. He can modify and delete the Budget. "correlationId": "e21ff930-0639-44b1-ba0c-00179557dbf1", "eventTimestamp": "2024-11-06T10:13:33.0989466Z",

Deploy the MGMT stack, then in a new private browser logon with a test-user who have IAM/RBAC "Cost Management Contributor" and nothing else. He can modify and delete the Budget. "correlationId": "997bded0-f233-4fc1-98b9-08cbc81e54c8", "eventTimestamp": "2024-11-06T11:17:08.1023723Z".

The last test was to see if there was some expecially funky with the higher privileged roles as Contributer or Owner, but it does appear so. Everybody who have an IAM/RBAC to fiddle with the Budget can do so, regardless of the deny's in the stack.

@pbo-top Sorry for the delay in responding. I am working with some of our partner teams to investigate the issues related to Microsoft.Consumption/budget.
Meanwhile, I have created #196 to track those issues -- the issue with Budget resources is different than the creation of deny assignments on an MG-scoped stack.

I've been running several tests today for the same scenario as well. And the conclusion I made in regards to this issue is that the entire "Deny Assignment" isn't even created on the Subscription level at all. If I have f.e. resourceGroups with child resources in the same DeploymentStack I notice that they do have a "Deny Assignment" visible on the IAM tab. I haven't tested yet if this changes if I add additional Subscription based resources.


Fix inconsistency in scripts for sync check and snapshot service

Issue summary

After a detailed review and comprehensive testing of the recently merged updates, I've identified a discrepancy: the script exhibits inconsistent behavior when executed through our Terraform setup versus when it's run manually.
What's the discrepancy? Encountering this kind of bug while running the sync check and snapshot service is a possibility, although it doesn't occur frequently. The bug is discussed in more detail in this Digital Ocean Community forum and also in related Github issues.
root@sam-forest-sync-check:~# cat init_log.txt
+ apt-get update
Get:1 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Hit:2 https://repos-droplet.digitalocean.com/apt/droplet-agent main InRelease
Hit:3 http://mirrors.digitalocean.com/ubuntu jammy InRelease
Get:4 http://mirrors.digitalocean.com/ubuntu jammy-updates InRelease [119 kB]
Get:5 https://download.docker.com/linux/ubuntu jammy InRelease [48.9 kB]
Err:2 https://repos-droplet.digitalocean.com/apt/droplet-agent main InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 35696F43FC7DB4C2
Get:6 http://mirrors.digitalocean.com/ubuntu jammy-backports InRelease [109 kB]
Get:7 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [661 kB]
Get:8 http://security.ubuntu.com/ubuntu jammy-security/main Translation-en [153 kB]
Get:9 http://security.ubuntu.com/ubuntu jammy-security/main amd64 c-n-f Metadata [11.2 kB]
Get:10 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [667 kB]
Get:11 http://security.ubuntu.com/ubuntu jammy-security/restricted Translation-en [106 kB]
Get:12 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 c-n-f Metadata [536 B]
Get:13 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [770 kB]
Get:14 http://security.ubuntu.com/ubuntu jammy-security/universe Translation-en [140 kB]
Get:15 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 c-n-f Metadata [16.4 kB]
Get:16 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 Packages [36.5 kB]
Get:17 http://security.ubuntu.com/ubuntu jammy-security/multiverse Translation-en [7060 B]
Get:18 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 c-n-f Metadata [260 B]
Get:19 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages [21.4 kB]
Get:20 http://mirrors.digitalocean.com/ubuntu jammy-updates/main amd64 Packages [873 kB]
Get:21 http://mirrors.digitalocean.com/ubuntu jammy-updates/main Translation-en [212 kB]
Get:22 http://mirrors.digitalocean.com/ubuntu jammy-updates/main amd64 c-n-f Metadata [15.6 kB]
Get:23 http://mirrors.digitalocean.com/ubuntu jammy-updates/restricted amd64 Packages [678 kB]
Get:24 http://mirrors.digitalocean.com/ubuntu jammy-updates/restricted Translation-en [108 kB]
Get:25 http://mirrors.digitalocean.com/ubuntu jammy-updates/restricted amd64 c-n-f Metadata [536 B]
Get:26 http://mirrors.digitalocean.com/ubuntu jammy-updates/universe amd64 Packages [965 kB]
Get:27 http://mirrors.digitalocean.com/ubuntu jammy-updates/universe Translation-en [210 kB]
Get:28 http://mirrors.digitalocean.com/ubuntu jammy-updates/universe amd64 c-n-f Metadata [21.5 kB]
Get:29 http://mirrors.digitalocean.com/ubuntu jammy-updates/multiverse amd64 Packages [41.6 kB]
Get:30 http://mirrors.digitalocean.com/ubuntu jammy-updates/multiverse Translation-en [9768 B]
Get:31 http://mirrors.digitalocean.com/ubuntu jammy-updates/multiverse amd64 c-n-f Metadata [476 B]
Get:32 http://mirrors.digitalocean.com/ubuntu jammy-backports/main amd64 Packages [40.8 kB]
Get:33 http://mirrors.digitalocean.com/ubuntu jammy-backports/main amd64 c-n-f Metadata [388 B]
Get:34 http://mirrors.digitalocean.com/ubuntu jammy-backports/universe amd64 Packages [22.3 kB]
Get:35 http://mirrors.digitalocean.com/ubuntu jammy-backports/universe Translation-en [15.4 kB]
Get:36 http://mirrors.digitalocean.com/ubuntu jammy-backports/universe amd64 c-n-f Metadata [576 B]
Fetched 6191 kB in 7s (848 kB/s)
Reading package lists...
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://repos-droplet.digitalocean.com/apt/droplet-agent main InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 35696F43FC7DB4C2
W: https://download.docker.com/linux/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: Failed to fetch https://repos-droplet.digitalocean.com/apt/droplet-agent/dists/main/InRelease  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 35696F43FC7DB4C2
W: Some index files failed to download. They have been ignored, or old ones used instead.
+ apt-get install -y ruby ruby-dev gcc make
E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 2299 (apt-get)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

Other information and links

We could try considering Debian instead. It'd be nice to pick something that gets updates for at least 2 years.

If it works fine in Ubuntu after the fixes, I don't see a need for the switch.

Here’s the contents of init_log.txt if we don’t place a sleep before line 6 of terraform/modules/daily_snapshot/service.init.sh:

This is not fixed. On https://github.com/ChainSafe/forest-iac/commit/a236fb0a498c472e5a4e025519bc7ef55ee1e362 deployment, the sync check service failed to obtain the lock.
root@forest-sync-check:~# cat init_log.txt
+ cloud-init status --wait

status: done
+ export DEBIAN_FRONTEND=noninteractive
+ apt-get -qqq --yes update
W: https://download.docker.com/linux/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
+ apt-get -qqq --yes install -y ruby ruby-dev gcc make
E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 9606 (unattended-upgr)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?


Android Torque Limits

Android needs torque limits so that it doesn't do crazy things like it currently does

addressed in PR #187


Print a tensor with name

When we print a tensor or a UniTensor, can we also print the name of the object?

We already have UniTensor& cytnx::UniTensor::set_name(const std::string & in) and you can see this name when printing out the diagram.


PHPStorm support

Hello,
Do you plan on including support for PHPStorm?
It would be nice.
Thanks!

What run configurations you would like to be supported in PHPStorm?

What run configurations you would like to be supported in PHPStorm?

I don't personally use run configurations within PhpStorm, but it'd just be great to have syntax highlighting available in .env files.
vlucas/phpdotenv is used in several big PHP frameworks (e.g. Laravel).

This plugin doesn't provide syntax highlight for .env files. Yet. Although that's a nice idea and I'lll see whether it's something that can be added.

@Ashald, the plugin doesn't work on PHPStorm.
I have two use cases, one using Behat for PHPStorm to run acceptance testing and I've wrote a php wrapper to call behat, but that lead to all sorts of issues.
At this point, i have a small sh that sources my .env file and executes the behat through CLI.

So if I U understand you right you looking for Behat run configuration support in PhpStorm? OK, I'll take a look!

Additionally:

PHPUnit
PHP Script
PHP HTTP Request

Would be nice!

Hi,

Enjoy!

@alex-kovalchuk .env syntax != .ini syntax
You can install .env files support plugin. It has syntax highlighting starting from 0.7 version.
https://plugins.jetbrains.com/plugin/9525--env-files-support


Can't build with 1.8.7p330

I get this:

Users/gnufied/.rvm/rubies/ruby-1.8.7-p330/bin/ruby extconf.rb
checking for main() in -lyajl_ext... yes
checking for json/json_gen.h... yes
checking for mach-o/dyld.h... yes
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include        --without-opt-include=${opt-dir}/include        --with-opt-lib        --without-opt-lib=${opt-dir}/lib        --with-make-prog        --without-make-prog        --srcdir=.        --curdir        --ruby=/Users/gnufied/.rvm/rubies/ruby-1.8.7-p330/bin/ruby
        --with-yajl_extlib
        --without-yajl_extlib
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/Users/gnufied/.rvm/rubies/ruby-1.8.7-p330/bin/ruby
        --with-yajl_extlib
        --without-yajl_extlib
extconf.rb:204: Unsupported platform: ["^error,msg=\"No symbol table is loaded.  Use the \\\"file\\\" command.\"", "^error,msg=\"No struct type named heaps_slot.\"", "^error,msg=\"No symbol table is loa
ded.  Use the \\\"file\\\" command.\"", "^error,msg=\"No symbol table is loaded.  Use the \\\"file\\\" command.\"", "^error,msg=\"No symbol table is loaded.  Use the \\\"file\\\" command.\"",

I'm still having this issue as well. Lion + latest xcode + rbenv


TypeError: Module specifier, 'lit' does not start with "/", "./", or "../".

Which package(s) are affected?
Lit Core (lit / lit-html / lit-element / reactive-element)
Description
Hi Lit experts, thank you for checking out this issue, it is only Safari that causes a problem, I am wondering if there is a workaround? the code below causes the   TypeError: Module specifier, 'lit' does not start with "/", "./", or "../".   error in Safari:
<!DOCTYPE html>

Import maps: Using a CDN that does not transform

  <simple-greeting name="World"></simple-greeting>

Reproduction
https://lit.dev/playground/#gist=0c4f66396b333c82cb27e7dd3b2129c0
Workaround
have not found a workaround
Is this a regression?
No or unsure. This never worked, or I haven't tried before.
Affected versions
2.0
Browser/OS/Node environment
Browser: Safari 16.3
OS: 13.2.1

This works in Safari 16.6 for me with no errors.

Looks like import maps landed in Safari 16.4: https://caniuse.com/import-maps

thank you @justinfagnani - this is very helpful, i really appreciate the reply! cheers. i (eventually) want to make a build that will work for older browsers too and also allow creating new Lit components without a build step - but this will work for now thanks again.


The text in VScode cannot be copied to other software

VSCode Version:1.51.0
OS Version:Windows 10 10.0.18363 （1909）

Steps to Reproduce:

Copy the text from VScode to VScode, it can copy successfully, there is no content in the system clipboard.

Copy the text from Vscode to Notepad, it can copy successfully, there is no content in the system clipboard.

Copy the text from Notepad to VScode, it can copy successfully, there is content in the system clipboard.

Copy the text from VScode to all other software, such as: Word, Excel, Chrome, Edge, copy is unsuccessful, there is no content in the system clipboard.
When the text was copied from VSCode, Excel was unable to operate for about 15 seconds and was stuck.

Copy text from other software into VScode, it can be copied successfully. There is content in the system clipboard.

This issue only appears on this computer, not on other computers.

Uninstall VSCode and reinstall, but the issue still exists.
Uninstall VSCode and install the previous version of VSCode, the issue still exists.

Does this issue occur when all extensions are disabled?: Yes

This might be about the HTML clipboard content, perhaps we write an empty content to the clipboard?

Secure encryption software causes this problem


Tooltips in elements with checkbox (Bootstrap 3)

Bootstrap tooltip doesn't seem to be working as expected when there's a checkbox.
<label class="checkbox" data-toggle="tooltip" data-placement="bottom" title="Demo Text">
  <input type="checkbox" value="1" name="rememberMe" /> Remember me
</label>

$(function() {
  $('[data-toggle="tooltip"]').tooltip()
})

Reproduction online
This answer on stackoverflow seems to be a working solution.
I'm not aware of the behavior of this in Bootstrap 4.

that jsfiddle works for me in chrome, firefox, ie11 and edge in windows. in what situations is it not working for you?

I should have explained it better.
It works good when you hover the element. Now, when you click the checkbox, then the tooltip will always stay visible no matter you hove out.

The issue is also mentioned in other stackoverflow questions such as:
http://stackoverflow.com/q/32915155/1081396
http://stackoverflow.com/q/32095144/1081396

Gotcha. This is normal (though annyoing, admittedly) behavior due to the fact that tooltips must also be triggered for keyboard users, so showing/hiding them is tied to element focus as well as mouse hover. When you click on a checkbox (or a <button>, for instance), you're also moving focus to it...and while it has focus, the tooltip will remain visible.

Bootstrap 3 is no longer being officially developed or supported.
All work has moved onto our next major release, v4. As such, this issue or pull request is being closed as a "won't fix." For additional help and support, we recommend utilizing our community resources. Thanks for your understanding, and see you on the other side of v4!
<3,
@mdo and team


Revert "SUPER SERIOUS SECURITY ISSUE"

No tests
/cc @blowdart
Reverts benaadams/System.Ben#2

Everyone knows you should only test the public API surface, so my PR contains the appropriate number of tests for that API. This is TDD 101 Ben.


Updated DG - Added alternative considerations

Codecov Report

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

@@            Coverage Diff            @@
##             master     #130   +/-   ##
=========================================
  Coverage     36.01%   36.01%
  Complexity      233      233
=========================================
  Files            61       61
  Lines          1627     1627
  Branches        180      180
=========================================
  Hits            586      586
  Misses         1000     1000
  Partials         41       41

Impacted Files
Coverage Δ
Complexity Δ

src/seedu/addressbook/commands/Command.java
87.5% <ø> (ø)
10 <0> (ø)
:arrow_down:

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 8eb6ee0...f9a1f2b. Read the comment docs.


Make it possible to match an optional key in dicts with a fallback value.

@jameshaydon I'm interested in working on this.

Hi @maxhallinan
No this poorly worded issues was actually about pattern-matching. The functionality you describe is currently implemented in lookup-default: https://github.com/radicle-dev/radicle/blob/master/rad/prelude/dict.rad#L61
although it might be better to make lookup-maybe a prim-fn since at the moment lookup-default and lookup-default perform 2 lookups.
Anyways the current issue was about matching keys in dicts. For example if we look at the pattern {:a 'a :b 'b :c 'c} then it'll only match dicts that have all the keys :a, :b and :c. But it might be the case that you also want to match dicts that only contain :a and :b, and in that case bind c to some default value.
I'm not sure how the default value should be specified in the pattern. Clojure's destructuring syntax is somewhat different and uses an :or key to specify a map of default values.

I'm not sure how I got confused here - I think your intention is obvious from the title :)
I see two approaches to destructuring with a default value. The first approach is to set a default for the structure itself. Clojure takes that approach.
(def foo { :a "A" })
(let [{a :a, :or { b "B" }} foo] ...)

The second approach is to set defaults at the assignment level. Common Lisp and JavaScript take that approach.
Common Lisp
(destructuring-bind (a &optional (b "B")) '("A") ...)

JavaScript:
const foo = { a: "A" };
const { a = "A", b = "B" } = foo;

A reasonable semantics for the first approach might be something like mappend, where a nil value is treated as the identity value of that type. In other words, the given dict and the default dict are merged and the destructuring is applied to the result. That means that the entire structure can be treated as optional, not just values within the structure. I'm not sure if Clojure's :or works that way.
The second approach seems more readable. Clojure's :or requires repetition of brackets and field names. The result is relatively verbose. Default values at the assignment level reduce syntax noise. The second approach also makes it easier to determine what the default for each assignment is. Looking for correspondences between the :or map and the destructuring pattern convey this information in a less direct way. Common Lisp's &optional keyword followed by a tuple is also a bit verbose. A better syntax might be the ?= symbol:
(match { :a "A" } { :a :b ?= "B" } :b)
;; "B"

Let me know what you think.

A reasonable semantics for the first approach might be something like mappend, where a nil value is treated as the identity value of that type. In other words, the given dict and the default dict are merged and the destructuring is applied to the result. That means that the entire structure can be treated as optional, not just values within the structure. I'm not sure if Clojure's :or works that way.

That is indeed how Clojure works, indeed the destructuring of a map always works even if the keys are not present (unlike our pattern matching), and just assigned the value to nil.
However we are trying to avoid having a nil value.
The problem with { :a :b ?= "B" } is that it will parse as a rather bizarre dict (with two keys, :a and ?=).
What is proposed in the title of this issue is to allow for binding a default value to a variable in the case that the value is not present. But "variables" are just one sort of pattern. So in fact the more general proposal is that: Pass a default value to a sub-pattern if the value is not present.
The way we are represent optional values in Radicle is with [:just 42] or :nothing pattern. It would be easy to make a pattern /maybe that is used as follows:
(match [:just 77]
       (/maybe 42 'x) x)

So the pattern (/maybe 42 subpat) will, for [:just foo] pass foo to the sub-pattern subpat, but for :nothing it will pass 42 instead. In the example the sub-pattern is just 'x and so this has the effect of binding x to 77 for [:just 77], or to 42 if :nothing.
Now if we made the dict pattern take optional values instead of values, we could be much more precise. The pattern:
{:a [:just 1]
 :b :nothing
 :c (/maybe 42 'x)
}

will only match dicts that:

contain the association of :a to 1.
does not contain the key :b,
might contain the key :c, if so bind the value to x, else bind 42 to x.

However it does make things much more verbose. We could maybe keep the current pattern for dicts, but have this more elaborate option under a named pattern, e.g.:
(/associations
  {:a [:just 1]
   :b :nothing
   :c (/maybe 42 'x)
  })

The advantage of this is that it's also a completely non-breaking change.

Not directly a response, but the :nothing syntax for "does not contain" makes me think: how do we state "a dict that contains only these keys, and nothing else"? It seems like it'd help make validation easier.
The most obvious solution - something like:
(match {:a 1 :b 2}
  (/keys-&rest {:a 'a} {}) "extra keys"
  ...

Makes it feel like we need pattern matching to not only supply bindings, but also an extra thing - unmatched values.

@jkarni Yes the fact that list/vector binding was "total" and the dict binding "partial" was something that irked my from the start. I still think partial-matching will be the most used form though (and so this is what the dict-syntax should be tied to).
So the pattern keys-&rest takes two sub-patterns specified and rest. First it checks that

The problem with { :a :b ?= "B" } is that it will parse as a rather bizarre dict (with two keys, :a and ?=).

You're right - I overlooked that this is not only destructuring but pattern matching too.
Most of my experience is with ML-style pattern matching. I like it because I can explicitly and unambiguously address one variant at a time. I don't have to do much thinking about which value matches the pattern, since the pattern closely resembles the value. Of course, patterns can be more or less specific, e.g. Foo a vs Foo 1. But the shape of the pattern describes the shape of the value.
It now occurs to me that patterns with optional make it less clear which values match the pattern. Even something trivial like your example requires a new level of mental state for me to comprehend. As I look at the pattern, I wonder what it means when a dict definitely has field :a, definitely does not have field :b, and might have field :c. My impulse is to step back and represent the variants more explicitly. In this case, that might mean tagging the dict with a type.
Pattern matching (it seems to me) is meant to emphasize differences between values so that those
differences can be handled precisely. Optional patterns de-emphasize those differences and I would guess that the handling becomes less precise. On the other hand, destructuring with default values means unifying all the variants into one. The effect is that the differences (presence/absence of fields) are erased. Defaults are used to conform all values to the same pattern. Understood this way, it seems possible that combining these features would be working at cross purposes.
This might just be the usual discomfort in the face of unfamiliar syntax.

@maxhallinan Indeed pattern matching in untyped languages has quite a different flavour, since values aren't neatly partitioned into types.
I still think that /associations as in https://github.com/radicle-dev/radicle/issues/323#issuecomment-482052170 would be quite useful, let me know if you want to implement it.

@jameshaydon sounds good! I'll implement this as described above.


bevy_color: Add Tailwind palette

Objective
Give Bevy a well-designed built-in color palette for users to use while prototyping or authoring Bevy examples.
Solution
Generate consts from Tailwind json.
Discussion
Are there other popular alternatives we should be looking at? Something new and fancy involving a really long acronym like CIELUVLCh? I'm not a tailwind user or color expert, but I really like the way it's broken up into distinct but plentiful hue and lightness groups. It beats needing some shades of red, scrolling through the current palette, choosing a few of CRIMSON, MAROON, RED, TOMATO at random and calling it a day.
The best information I was able to dig up about the Tailwind palette is from this thread: https://twitter.com/steveschoger/status/1303795136703410180. Here are some key excerpts:

Tried to the "perceptually uniform" thing for Tailwind UI.
Ultimately, it just resulted in a bunch of useless shades for colors like yellow and green that are inherently brighter.

With that said you're guaranteed to get a contrast ratio of 4.5:1 when using any 700 shade (in some cases 600) on a 100 shade of the same hue.

We just spent a lot of time looking at sites to figure out which colors are popular and tried to fill all the gaps.
Even the lime green is questionable but felt there needed to be something in between the jump from yellow to green 😅

I'm pretty we should include the tailwind license in the file and maybe also mention it in the docs

Here's how I did that in an old crate of mine https://github.com/IceSentry/bevy_ui_styled/blob/master/src/colors.rs

I'm pretty firmly of the opinion that this is fine from a licensing perspective. MIT allows users to relicense the code (as long as they provide attribution and a copy of the license). It doesn't include a patent grant, but this is a color palette: I don't think that's a relevant concern.

don't want to hamper any progress here, but couldn't this very easily be a standalone community crate?
this is of course true for the other palettes, but at least the css and stand-alone modules are more "ubiquitous".
the actual implementation is solid, though.

don't want to hamper any progress here, but couldn't this very easily be a standalone community crate?

It definitely could, but I'd like to have access to at least one "good" color palette: it's really painful trying to build nice examples and dev tools with only hand-authored magic values and the terrible CSS colors.

don't want to hamper any progress here, but couldn't this very easily be a standalone community crate?
this is of course true for the other palettes, but at least the css and stand-alone modules are more "ubiquitous".

Definitely. There are a few existing examples I know of:
https://github.com/guimcaballero/bevy_contrib_colors
https://lib.rs/crates/bevy_ui_styled
Which I am choosing to interpret as a sign that there is demand for this. IMO, the CSS palette we do provide may be ubiquitous, but it is also next to useless and is actively harming the look and feel of our examples and our users' projects. A bit dramatic and I would still be very open to providing a single better "bevy palette" instead.

yep. you've convinced me.

I want to point out that it's pretty easy to algorithmically generate a good-looking palette, similar to Tailwind, Material Design, or whatever framework du jour you prefer, especially if you use Oklch to do the calculations, which gives you consistent lightness across different hues.

BTW, I think the tailwind palette is fine. Yes, there are other palettes - MaterialUI, NextUI, Bootstrap, etc., but they are all about the same. We don't need more than one, and people know the name Tailwind, it has brand recognition.


consider these

Photoshop-style blend equations with destination alpha

The photoshop blend formulas are available in many places on the web, but
they all assume an opaque output target. Sometimes the output target is not
opaque (for example, with layer folders in Photoshop and the blend mode
not set to "normal").

The following formulas appear to be the ones used by Adobe Flash Player;
they might differ from Photoshop blend modes, and they do not include all of
the Photoshop blend modes (these formulas were developed for and verified in
Iggy, software I wrote for RAD Game Tools which "plays" Adobe Flash files).

                   out color                                                    out alpha
                   --------------                                               -----------
layer/over:    (   sc+(1-sa)*dc                                              ,  sa+da-sa*da   )
multiply:      (   sc*dc                                                     ,  sa+da-sa*da   )
screen:        (   sa*da - (da-dc)*(sa-sc)                                   ,  sa+da-sa*da   )
lighten:       (   max(sa*dc,sc*da)                                          ,  sa+da-sa*da   )
darken:        (   min(sa*dc,sc*da)                                          ,  sa+da-sa*da   )
add:           (   min(dc+sc,1)                                              ,  min(sa+da,1)  )
subtract:      (   max(dc-sc,0)                                              ,  min(sa+da,1)  )
difference:    (   abs(sa*dc-sc*da)                                          ,  sa+da-sa*da   )
invert:        (   sa*(da-dc)                                                ,  sa+da-sa*da   )
overlay:       (   dc < da/2.0 ? (2.0*sc*dc) : (sa*da - 2.0*(da-dc)*(sa-sc)) ,  sa+da-sa*da   )
hardlight:     (   sc < sa/2.0 ? (2.0*sc*dc) : (sa*da - 2.0*(da-dc)*(sa-sc)) ,  sa+da-sa*da   )

  sc = source color, sa = source alpha, dc = dest color, da = dest alpha

The inputs in the above equations must be premultiplied. If inputs are
non-premultiplied, replace "sc" with "sc*sa". (Outputs are always
premultiplied, hence destination is always premultiplied.)

-- Sean Barrett, 2012/09/19

https://code.google.com/p/imageresampler/

https://github.com/nothings/stb/blob/master/stb_image_resize.h

https://github.com/gameclosure/gcif

https://github.com/pornel/undither

https://github.com/rflynn/imgmin

https://github.com/pornel/pngquant

https://code.google.com/p/crunch/

https://github.com/syoyo/tinyexr
https://github.com/aras-p/miniexr

https://software.intel.com/en-us/articles/fast-ispc-texture-compressor-update

https://bitbucket.org/wolfpld/etcpak/wiki/Home

https://bitbucket.org/jthlim/pvrtccompressor

https://github.com/r-lyeh/rgba332

https://github.com/ARM-software/astc-encoder

https://github.com/castano/nvidia-texture-tools/tree/master/src BCs

http://www.jonolick.com/home/dxt-compression-part-4-entropy

https://github.com/GameTechDev/ISPCTextureCompressor

https://github.com/progschj/reziretsar

http://www.antigrain.com/lite/agg2_lite.zip

https://github.com/a1k0n/texturesynth

@templeblock wat? :D

^_^


Equivalence of u gate in converted QuantumCircuit

I was trying to check the equality of circuits when converting from qasm2 and qasm3 strings. I was using the following qasm strings for the conversion -

qasm2 = """
 OPENQASM 2.0;
 include "qelib1.inc";
 qreg q[1];
 u(2.5256,3.8774,2.1604) q[0];"""

 qasm3 = """
 OPENQASM 3.0;
 include 'stdgates.inc';
 // generic single qubit gate
 gate u(theta,phi,lambda) q { u3(theta,phi,lambda) q; }
 qubit[1] q;
 u(2.5256,3.8774,2.1604) q[0];"""

and the following script to check circuit equivalence -

from qiskit import QuantumCircuit
from qiskit.qasm3 import loads
qc1 = QuantumCircuit.from_qasm_str(qasm2)
qc2 = loads(qasm3)
print(qc1 == qc2)

This should produce a True output but I am getting False, even though on printing the data of circuits I get identical instructions -

In [26]: qc1.data
Out[26]: [CircuitInstruction(operation=Instruction(name='u', num_qubits=1, num_clbits=0, params=[2.5256, 3.8774, 2.1604]), qubits=(Qubit(QuantumRegister(1, 'q'), 0),), clbits=())]

In [27]: qc2.data
Out[27]: [CircuitInstruction(operation=Instruction(name='u', num_qubits=1, num_clbits=0, params=[2.5256, 3.8774, 2.1604]), qubits=(Qubit(QuantumRegister(1, 'q'), 0),), clbits=())]

There's a couple of things going on here.  First, the repr method of Instruction misleading always writes Instruction(...) and ignores the type.  As things happen, the OQ2 importer returns a library.UGate and the OQ3 importer returns an ad-hoc Gate instance.  This happens because both importers treat gates in their corresponding standard library specially, and define a custom gate object whenever they're dealing with a gate declaration.  The new OQ2 importer (qiskit.qasm2.loads) is more configurable, and can be told to use certain objects to represent certain symbols in the program.  We're planning to rewrite the OQ3 importer completely (obsoleting this package) with similar configurability in the future.
The second main point is that the == method for circuits is a tricky beast.  Quantum circuits represent executable programs, and there's an infinite number of ways of representing the exact same program in general.  There's no reasonable normalisation/canonicalisation that we could do that would make == always detect equal programs, so the result is that there'll be a lot of false negatives.


drivers: timer: nrf_grtc_timer: GRTC update

This PR gets rid of features regarding GRTC low power mode management as they were recently added to the hal_nordic nrfx driver.
Also the ticks calculation inside z_nrf_grtc_timer_get_ticks() function is fixed now.

Changing assignee. Even though this is a timer driver, all changes are specific to Nordic's GRTC driver. So assigning to @anangl

With the fixes to the test, it passes in simulation also. Would you be so kind as to enable it so it gets tested in CI?
diff --git a/tests/drivers/timer/nrf_grtc_timer/testcase.yaml b/tests/drivers/timer/nrf_grtc_timer/testcase.yaml
index 00ac1ed584b..b2ab050d51e 100644
--- a/tests/drivers/timer/nrf_grtc_timer/testcase.yaml
+++ b/tests/drivers/timer/nrf_grtc_timer/testcase.yaml
@@ -3,5 +3,6 @@ tests:
     tags: drivers
     platform_allow:
       - nrf54l15pdk/nrf54l15/cpuapp
+      - nrf54l15bsim/nrf54l15/cpuapp
       - nrf54h20dk/nrf54h20/cpuapp
       - nrf54h20dk/nrf54h20/cpurad

sure - done


[Flaky Test] Garden Controller Integration Test Suite

How to categorize this issue?

/area testing
/kind flake
Which test(s)/suite(s) are flaking:
• [FAILED] [10.869 seconds]
Garden controller tests
/home/prow/go/src/github.com/gardener/gardener/test/integration/operator/garden/garden_test.go:44
  [It] should properly maintain the Reconciled condition
  /home/prow/go/src/github.com/gardener/gardener/test/integration/operator/garden/garden_test.go:100

CI link:
https://prow.gardener.cloud/view/gs/gardener-prow/pr-logs/pull/gardener_gardener/7035/pull-gardener-integration/1602607380611207168
Reason for failure:
Anything else we need to know:

Probably similar to https://github.com/gardener/gardener/issues/6933

/assign

Another one: https://prow.gardener.cloud/view/gs/gardener-prow/pr-logs/pull/gardener_gardener/7228/pull-gardener-integration/1604823985462185984

Another one: https://prow.gardener.cloud/view/gs/gardener-prow/pr-logs/pull/batch/pull-gardener-integration/1605865569830047744

Another one: https://prow.gardener.cloud/view/gs/gardener-prow/pr-logs/pull/batch/pull-gardener-integration/1605886955113943040

Another one: https://prow.gardener.cloud/view/gs/gardener-prow/logs/ci-gardener-integration-release-v1-62/1612417668013363200

Another one: https://prow.gardener.cloud/view/gs/gardener-prow/pr-logs/pull/gardener_gardener/7386/pull-gardener-integration/1617746807616442368

One of the reasons for the test to fail is https://prow.gardener.cloud/view/gs/gardener-prow/pr-logs/pull/gardener_gardener/7228/pull-gardener-integration/1604823985462185984#1:build-log.txt%3A283.
The above error occurs because sometimes the etcd-main and sometimes etcd-events deployment fails to get/create the secret etcd-client.
This is so because both processes try to achieve this thing at the same time (0.001-second difference). So one of them successfully creates the secret etcd-client but the other one fails to create and according to this logic, it try to fetch it and fails cause secret is not yet sycned to cache.
One solution to prevent this issue can be to deploy etcd-main and etcd-event serialy instead of deploying it parallelly.

/assign

One solution to prevent this issue can be to deploy etcd-main and etcd-event serialy instead of deploying it parallelly.

Would this really fix the problem consistently? There should not be much difference when comparing sequential/parallel deployment of these two components (it is quite fast, so I wouldn't expect a significant time difference when doing it sequentially).
Our default timeouts are 5s for Eventually calls - this sounds like "large enough" for the caches to sync. @timebertt any hints/thoughts?

Would this really fix the problem consistently? There should not be much difference when comparing sequential/parallel deployment of these two components (it is quite fast, so I wouldn't expect a significant time difference when doing it sequentially).
I ran more than 1000 runs and there were 0 flakes.

For cache sync to work, there should be another reconciliation that is not happening in our case. There is a logical issue with reconciliation logic, which I wanted to fix with the PR fixing this flake.
Here :> https://github.com/gardener/gardener/blob/7dbfcc231ebdf0f36cd849c9bf7495d5a560b66d/pkg/operator/controller/garden/reconciler.go#L107-L109
We are not respecting the original error and returning the error from patchConditionToFalse which can be nil even though the original reconciliation fails this should not be the case as it will not trigger the new reconciliation.

We are not respecting the original error and returning the error from patchConditionToFalse which can be nil even though the original reconciliation fails this should not be the case as it will not trigger the new reconciliation.

When looking at https://github.com/gardener/gardener/blob/3ba69b27aa358c45cb8f8fe3b054fc04d77ab089/pkg/operator/controller/garden/reconciler.go#L134-L139
we do return the original error from r.reconcile and thus go into exponential backoff, correct?

We looked into the flake together with @timebertt and found that there seem to be at least two different issues causing the flakes.
The most recent flake is caused by too long interval/timeout settings when the kubeapiserverexposure component waits for readiness. We don't override this yet in the integration test setup, hence the default values (5s interval, 10m timeout) were used - which is obviously way too long).
However, the other flakes are still to be investigated. @timebertt @acumino @ary1992 maybe we can look into this together next week?

Another one: https://prow.gardener.cloud/view/gs/gardener-prow/pr-logs/pull/gardener_gardener/7393/pull-gardener-integration/1618581634880114688

We found the reason for the other flake:
The controller is performing retries of the garden reconciliation which re-creates resource-manager webhooks.
Because we only remove the webhooks once in the test, the second reconciliation fails deploying the etcds, because the patch to the Etcd objects runs into the webhook timeout.
Similar steps need to be faked in the test for every reconciliation, like removing the operation annotation from the Etcd objects.
We discussed the following mitigation:

skip deploying resource-manager webhooks in integration tests
fake external components' actions that need to be performed for every reconciliation in a fake reconciler (e.g., add a reconciler for removing the operation annotation)

things that only need to be faked once (e.g., patching the status) are kept in Eventuallys like it is today

@rfranzke will take over this task
/assign @rfranzke
/unassign @ary1992 @acumino