KernelBuilder from qiskit circuit with multiple registers

One user encountered a bug with QPP whereby he tried to create a JIT kernel using the KernelBuilder.from_qiskit() call, and the QuantumCircuit had 2 separately named registers. This resulted in a Subsystems Mismatch Dimension runtime error in QPP.

KernelBuilder was a side project, I plan to get rid of it

Actually I might move this to XACC


add "piper" as tts option

Piper: https://github.com/rhasspy/piper?tab=readme-ov-file
Piper "A fast, local neural text to speech system that sounds great and is optimized for the Raspberry Pi 4." (but it works just fine on other platforms)

I see this is a duplicate, no mind


packed tx fixes

There were a few subtle bugs with #1258
moving a transaction_metadata constructed from a packed_transaction was creating a stale const transaction& value.
_pending_transaction_metas was not getting properly cleared after block production.

as a bonus, we now have a test case in chain_test that actually exercises push_block


Define a way for code generators to indicate the origin of generated code

When a user sees a reference to generated code it would be useful for them to be able to navigate to the location that caused the code to be generated. It might be more useful than being able to navigate to the generated code, which is what server currently supports. The problem is that server doesn't have any way to know what the code generator used when it decides to generate the code.
Consider adding a way for code generators to inform the analysis server of the location on which generated code is based and support to the analysis server that would use this information for navigation.
One possible way to do this would be to introduce an annotation:
@BasedOn('package:my_package/file.dart', 'MyClass.property')
Object someGeneratedProperty;

One downside of this is that the annotation would need to be defined somewhere, and that would potentially require packages to add a dependency that they otherwise wouldn't need. The meta package is fairly widely used, so it might be a good candidate for where to add such an annotation if we decide to go that way.
An alternative would be to define some kind of comment syntax, but that's likely to be more error-prone.
(This issue is a follow-up to a thread in the analyzer-discuss group.)

@davidmorgan @jakemac53 @natebosch @grouma @matanlurey

I'm also interested in such feature, but I prefer the more general way that would just specify an offset and length in a file. I'm generating Dart sources based on content in a non-Dart file, so I don't have a name available.
Maybe we can have multiple options, with one of them being a Dart member reference? When providing raw offsets that update quickly, the annotation could provide information about a matching analyzer plugin. The plugin would then provide real-time updates when the source changes, so something like
@RedirectNavigation.withPlugin('plugin_name', 'some_identifier', defaultLocation: ...)
Object somePropertyWithPlugin; // can provide updates on edits, useful when not targeting a Dart file
@RedirectNavigation.toDart('uri', 'Class.member')
Object anotherProperty; // for code generators without a plugin, will be good enough

The plugin could then send a map of identifiers to source locations via a notification. The analysis server could use that to patch the target in real time. For code-generators that don't have an analyzer plugin, users would still get acceptable results if they re-run their generator often enough.

Note that many code generators cannot add dependencies at all because they generate to part files.

Note that many code generators cannot add dependencies at all because they generate to part files.

They usually have an annotation package though.
So their annotation package can do:
export 'package:meta/meta.dart';

class MyAnnotation {
...
}

Exporting other packages is highly discouraged. Your api is now effectively unioned with the package:meta api and you are thus tightly coupled to it. To be technically correct you would have to pin an exact version dependency on meta and copy its changelog etc, and publish in lock step with it.

Yeah, there are definitely issues with using an annotation. Are there better ways to approach the problem?

A comment using a specific format maybe?
/** @Navigation(...) */
int value;

Most of the typical drawbacks of a comment wouldn't apply to code generators (they don't need code completion or have to worry so much about typos etc). So a comment approach might be reasonable.

This sounds like something that should be handled using source map files.
As I understand it (big caveat) a source map explicitly links code in one file to code in another file (not necessarily in the same language, but it can be). There is a comment format for specifying the source-map file in the generated file.

Using source maps would require the codegen author to track offsets into the output file as it is generating it. We could add some infrastructure around that to try to mitigate the cost for codegen authors, but I believe the overall complexity of that system would be higher than writing into the output file directly.

Note that source_maps would also have bad invalidation semantics if they were ever imported from other build steps during the build. If they are only needed for analysis_server that might not be an issue though.

My point is the source maps is an existing standard for solving this exact problem, and it's already supported by (some) IDEs and debugging tools.
Let's not invent a new custom format to solve the same problem. If code generators need help generating source maps, then by all means let's help them with that.
Even if it turns out it only works well when compiling to JavaScript, we are compiling to JavaScript, and we are already generating source maps when doing so. Making those source maps link back to the original source, not the generated source, would still be convenient.

One drawback to any scheme which maps back to an offset instead of a higher level concept is that it won't work if anyone is generating code which would want to map back to a file in another package. I don't know if this use case comes up. It wouldn't make sense to publish something to pub pointing to an offset in a dependency, whereas pointing to a class in a package or import would be stable across non-breaking versions.

Writing source maps is definitely too complex for me.
Generating the source map would be more difficult than making the code-generator itself.
Another problem is that most code-generators relies on source_gen's SharedPartBuilder.
This means that multiple code-generators may output to the same Dart file – which makes handling offsets relatively difficult.


git difftool --dir-diff broken when using links pointing outside of git folder

Hi,
I am using git 2.17 and 2.22 and see the following issue.
git difftool -d
fatal: could not open '/tmp/git-difftool.pQZ8DA/left/test2' for writing: No such file or directory
I do not have a newer version available to try.
I could not find anything when searching the issues nor the web.
Sorry for that, if its already solved.
Is this issue fixed already in a newer version?
If so which version would I need?
Here a minimum example:
Many thanks in advance and BR, Joachim
rm -rf git_dir_issue
mkdir git_dir_issue
cd git_dir_issue
mkdir some_folder_outside_git
echo bar > some_folder_outside_git/bar
mkdir some_other_folder_outside_git
echo foo > some_other_folder_outside_git/foo
mkdir another_other_folder_outside_git
echo foo2 > another_other_folder_outside_git/foo2
mkdir another_other_folder_outside_git/test
echo foo3 > another_other_folder_outside_git/test/foo3
mkdir git_repo
cd git_repo
git init
touch test
git add test
git commit -a -m 'test'
git branch test_branch
ln -s ../some_folder_outside_git test2
git add test2
git commit -a -m 'test2'
git checkout test_branch
ln -s ../another_other_folder_outside_git/test test2
git add test2
git commit -a -m 'test2a'
git checkout master
ln -fs ../some_folder_outside_git test2
git commit -a -m 'test2a'
git difftool -d test_branch
=> fatal: could not open '/tmp/git-difftool.pQZ8DA/left/test2' for writing: No such file or directory

This repository is just for the git-scm.com website, not Git itself. You'll have more luck getting an answer from the mailing list or one of the other venues mentioned in https://git-scm.com/community.

Hi Jeff,
Sorry I did read to fast over the description of the git-scm website. My
fault.
I have posted the issue i have on the google group as suggested!
Thanks and BR, Joachim
Am Fr., 31. Juli 2020 um 03:05 Uhr schrieb Jeff King <
<EMAIL_ADDRESS>
Closed #1492 https://github.com/git/git-scm.com/issues/1492.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/git/git-scm.com/issues/1492#event-3606413976, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AMNDNCZXHVPV5HDWMEEM7J3R6IKENANCNFSM4POSHOYA
.


email and hostname format validation fails

I disagree with the rationale used to close #403: "validating email addresses isn't really a reasonable concept".  If the authors of JSON Schema believed that, they would not have created an email format.   There is significant discussion about the intent of validating that a recipient actually exists at a particular email address vs. validating syntactic conformance with RFC 6854, but the goal of any schema is to validate syntax.  Saying "not a reasonable concept" disrespects the existence of RFCs that define the syntax required for interoperability.  I appreciate that handrews participated in the discussion of format as a second class citizen, but some users clearly need for it to behave as a first class assertion in order to implement the purpose of https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-7.1:
   The "format"
   annotation keyword is defined to allow schema authors to convey
   semantic information for a fixed subset of values which are
   accurately described by authoritative resources, be they RFCs or
   other external specifications.

I suggest having a look at https://stackoverflow.com/questions/201323/how-to-validate-an-email-address-using-a-regular-expression.
        try:
            jsonschema.validate(
                instance=val,
                schema={'type': 'string', 'format': name},
                format_checker=jsonschema.draft7_format_checker)
        except jsonschema.exceptions.ValidationError as e:
            raise ValueError(e.message)
        return val

When calling jsonschema 3.2.0 with jsonschema.draft7_format_checker, some invalid hostname and email strings are rejected but others are accepted.   The Checker Notes table indicates that no additional packages are required for date, email, hostname, ipv4, or regex formats.
ValidationError is raised for email format on "http://www.foo.com/index.html" and "john", but is not raised for "john@".
ValidationError is raised for hostname format on "_http._sctp.www.example.com" (underscores are allowed in DNS service names but not in hostnames), but is not raised on "tag-.example.com" (label cannot begin or end with a hyphen.
https://jsonschemalint.com/#!/version/draft-07/markup/json correctly rejects the above bad email and hostname examples.  The jsonschemalint authors apparently have a different opinion about the "reasonableness" of performing syntax validation on email addresses and hostnames.  I submit that returning a boolean answer for an authoritatively-defined fixed subset of values is both possible and reasonable.  My code does it, including for types other than string, but I wanted to delegate JSON Schema defined formats to your package.  That's when the unit tests started failing.

Hi.
This just isn't going to change unfortunately. It's trivial already for anyone such as yourself that insists on doing it to plug in whatever fancy validation you feel like.

If the authors of JSON Schema believed that, they would not have created an email format.

I'm not one of the authors on a draft, but I have participated in JSON Schema (the spec) for quite awhile now. "It exists therefore it's a good idea" (without putting words in your mouth) is not persuasive -- you cannot put cats back in bags. The email format exists, so now even I agree we should not remove it until we have a better way of specifying this level of granularity, which yes @handrews is working quite hard on. But the entirety of this train of thought isn't very solid, considering that by default, format does no validation at all, so even if I agreed "it exists" is a good reason to enforce it, you're not going to get very far there I don't think.

disrespects the existence of RFCs that define the syntax required for interoperability

Consider them disrespected I guess. I don't mean to be (that) dismissive, but the reason this is a bad idea is already that email clients and email servers don't really care about the RFC either. Blame them :)

some users clearly need for it to behave as a first class assertion in order to implement the purpose of https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-7.1:

See above -- if you have a function that implements the kind of validation you want, do inject it into your FormatChecker. It just won't be default behavior for FormatChecker.
The hostname issue is definitely something that should be fixed (first by adding a test upstream) -- I'd have to double check that you're correct there but that one definitely up for fixing.

The jsonschemalint authors apparently have a different opinion about the "reasonableness" of performing syntax validation on email addresses and hostnames.

Sure. An additional part of the "problem" is different environments have different "normal" cases -- in Javascript, though I still disagree, it's a lot more understandable to think you should provide email validation behavior by default.
https://nedbatchelder.com/blog/200908/humane_email_validation.html is a good summary of my opinion too.

OK, I'm sorry it won't change, given that implementing the change by using the SO regex is trivial.  I have to agree with the OP that doing a half-baked implementation is the worst possible solution - either ignore it as an annotation, or implement it correctly as an assertion.
Peace.


为什么无法直接勾选checkbox

Describe the bug
用markdown语法写的checkbox无法网页端直接勾选, 必须自己编辑为- [x]才可以
Steps to reproduce
用markdown语法写的checkbox无法网页端直接勾选, 必须自己编辑为- [x]才可以
The version of Memos you're using
v0.21.0
Screenshots or additional context
No response

I am facing the same issues with the checkbox.
I need to edit the post to make the checkbox be able to show as a checkoff

Fixed with https://github.com/usememos/memos/commit/ba7dbc1fcaf140e6a3f02c5068eae7cfa8da7854


[11] Add NiceTextField

For #11
This PR adds a new UI element - a Nice text field!

There's certainly some iterating to be done here, but I think this gives us a decent foundation to start with. It supports all the basic stuff we usually want like secure entry, different keyboards, etc and a decent amount of styling by piggy-backing on a lot of the button styling options.

@AZielinsky95  just noticed this never got merged 😅  any reason to not just merge it now?


integration with Yao.jl

This is a very nice package, I'm not sure if this is what @mtfishman mentioned in JuliaCon, but just to file an issue as a backlog.
I notice the current implementation use a rather simple circuit representation, so would be nice to integrate with YaoBlocks which has tons of implemented quantum algorithms built on it, so then you should be able to run these algorithms using this PastaQ as well.
In the future, might also be nice to let YaoLang support this as a compile target. So let me know if you are interested or need my help on this.
Bests
Roger

Hi Roger,
Thanks for reaching out. Yes, this is the package I was talking about at JuliaCon.
Indeed, the package has very few built-in quantum circuits/quantum algorithms (really just a random circuit and recently QFT). It would be interesting to look into YaoBlocks to see what is available there and how easily we could make use of it. Are there examples or documentation for how it is used?
Thanks,
Matt

actually I just realize this is simpler than I thought! here is a demo of defining
https://github.com/GTorlai/PastaQ.jl/blob/8cdd6cd76b56172628752d812f5717e4ab94e510/src/circuits/circuits.jl#L150
in Yao
A(i, j) = control(i, j=>shift(2π/(1<<(i-j+1))))
B(n, k) = chain(n, j==k ? put(k=>H) : A(j, k) for j in k:n)
qft(n) = chain(B(n, k) for k in 1:n)

now when you run Yao's qft(4) it gives you an equivalent representation to the list you generate here. But it is organized in a tree (so called AST), we have define methods about how to execute the compositions, thus you only need to define how primitives are executed:
so let's start with defining a custom register for PastaQ
using YaoBase
struct PastaQReg{State <: Union{MPS, MPO}} <: AbstractRegister
    state::State
    # there might be some other meta info
    # but I just ignore them for now
end

then define how certain gates are applied to this register
instruct!(r::PastaQReg, gate::Val{:X}, locs::Tuple{N, Int}) where N = # how you apply an X gate to the MPS/MPO at locations given by the tuple locs
instruct!(r::PastaQReg, gate::Val{:X}, locs::Tuple{N, Int}, control_locs::NTuple{C, Int}, control_bits::NTuple{C, Int}) where {N, C} where N = # how you apply a controlled X gate to the MPS/MPO

then when you call Yao.apply!(register::PastaQReg, circuit) it will find out which instruct! to execute and dispatch it to PastaQ methods. This should at least work for simple quantum circuit cases, for quantum channels, I think we eventually need to move to YaoLang's IR which is designed for hybrid programs.

@mtfishman I'd like to revive this since now we are participating UnitaryHack: https://github.com/unitaryfund/unitaryhack
I can list this as an issue first, and to further develop the integration, I can submit a proposal to https://julialang.org/jsoc/#summer_2021_open_source_promotion_plan which we still have some slots to get students (by May 14th I think)
I think the first step integration should be fairly easy and can be a UnitaryHack task, the benefit of the integration would save you a lot of extra work I believe such as #200, #201 etc. and since we just start integrating JuliaQX: https://github.com/JuliaQX/YaoQX.jl I think in near future you can get a native distributed tensor network backend too.
Thus I'm wondering if you would like to co-mentor the project so we can get some students or contributors to work on it since I assume neither you and I have enough time at the moment.
The core idea is here is to build around the new YaoIR around YaoCompiler which supports more advanced compilation techniques.

@mtfishman close this in favor of https://github.com/QuantumBFS/YaoPastaQ.jl

FYI, you shouldn't need to implement #200 #201 anymore now, they are or will be supported by Yao.


Update bare hugo theme with install instruction fixes

Unfortunately the install instructions for the newly added bare hugo theme are slightly incorrect (see https://github.com/orf/bare-hugo-theme/issues/2).
I've updated the readme, and this PR updates the submodule.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Ok. Thanks. Typically themes are updated by @digitalcraftsman but I will merge this since there is a problem with the theme's README

Thank you! ⭐

Also, just a note (CC @digitalcraftsman), you can configure Dependabot to create pull requests when submodules are updated once a day. I do this with a few of my projects, it's pretty fluid and saves a lot of time.

Thanks for the link @orf
I will quote your comment in the related issue. It's about time we configured theme updates automatically.


Sample script does not fix locale or sudo for ubuntu:devel, default sudoers dangerous

Hiya,
I played around with the scripts a bit, and I noticed that the sample script does a couple of bad things.
First, instead of adding the primary user directly to the sudoers with no password, the user should be added to the group sudo with the shell command
usermod -aG sudo $defaultusername
Second, it should install sudo if the package manager is supported.
Third, for some reason with the ubuntu:devel docker image, you need to decompress with gzip the UTF8 charmap:
gzip -d /usr/share/i18n/SUPPORTED/charmaps/UTF-8.gz
before generating the locale, or else it won't work.  I don't know if this happens with the ubuntu:latest docker image, but I checked a couple of times with ubuntu:devel.

Hi,

I played around with the scripts a bit, and I noticed that the sample script does a couple of bad things.
First, instead of adding the primary user directly to the sudoers with no password, the user should be added to the group sudo with the shell command

The script has a few design choices that I was forced into due to WSL's limitations. Since the distribution you are installing might not work out of the box, I try not to launch the new rootfs and do things there, instead try to manipulate files from the outside.
That's why I manually open the /etc/{passwd,shadow,group,gshadow} files and migrate your current root password and your regular user account. While manipulating the group file, I could add an entry of your regular user belonging to the sudo group.
However, I'm not going to do that, since the sudo group is distribution-specific. Debian and Ubuntu uses that, but Fedora/RHEL/Arch uses wheel. The usermod command may also not be installed on all distributions out of the box.
The bottom line is, the installer tries to do as much possible, without taking any distribution-specific steps.

Second, it should install sudo if the package manager is supported.

The provided hook already does this, but it's not enabled by default. Rename hook_postinstall_all.sample.sh to hook_postinstall_all.sh, and the installer will run it during every installation.
This is also the part which adds the user to sudoers with NOPASSWD, so I'm assuming you overlooked this.
I presume the best option would be to have an argument or environment variable control whether the regular user should be added to sudoers with NOPASSWD or not.

Third, for some reason with the ubuntu:devel docker image, you need to decompress with gzip the UTF8 charmap:

Haven't really used ubuntu:devel. I'll look into this, and update the sample hook script to do this, if necessary.

@RoliSoft I guess if you're adding the user directly to sudoers, don't give them NOPASSWD.  Worst case scenario if locked out, they can do
lxrun /setdefaultuser root

9803686 fixes the locale issue. For me, SUPPORTED was only a text file, not a directory, therefore the correct path to ungzip was /usr/share/i18n/charmaps/UTF-8.gz.
I'll see what to do about the sudoers thing.

Yeah, it was only a text file.  I reconstructed that path from my bash history, and I had accidentally tried to cd SUPPORTED by accident probably

22b0903 adds user to sudo or wheel depending on the distribution being APT or RPM-based.
The sudo command on ubuntu:devel seems to be broken, which imho just introduces more issues for the average user than NOPASSWD:
sudo: no tty present and no askpass program specified

You can run it with sudo -S, and you can add an alias to your .bash_profile, but I'm not going to modify the user's dotfiles automatically.

@RoliSoft It works fine here on 14905.  I'm pretty sure that support for Xenial's and Yakkety's sudo command was added in 14902.


staging-next

Tracking the next merge iteration.

What's the status of darwin? Last time I looked at the staging-next jobset it didn't look great.

@LnL7: the mass fail due to gdbm was fixed via #44875.

@vcunat Ah, great. Let me know if there's something else.

wget seems to fail as it expects --with-ssl=openssl instead of what's effectively --with-ssl=${openssl}:
modified   pkgs/tools/networking/wget/default.nix
@@ -34,8 +34,8 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional (libpsl != null) libpsl
     ++ stdenv.lib.optional stdenv.isDarwin perl;

-  configureFlags = [
-    (stdenv.lib.withFeatureAs (openssl != null) "ssl" openssl)
+  configureFlags = [
+    (stdenv.lib.withFeatureAs (openssl != null) "ssl" "openssl")
   ];

   doCheck = false;

Similarly with fwknop I believe:
modified   pkgs/tools/security/fwknop/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     "--with-iptables=${iptables}/sbin/iptables"
     (stdenv.lib.enableFeature buildServer "server")
     (stdenv.lib.enableFeature buildClient "client")
-    (stdenv.lib.withFeatureAs wgetSupport wget "${wget}/bin/wget")
+    (stdenv.lib.withFeatureAs wgetSupport "wget" "${wget}/bin/wget")
   ] ++ stdenv.lib.optionalString gnupgSupport [
     "--with-gpgme"
     "--with-gpgme-prefix=${gpgme.dev}"

I see quite some reproducible qt4 regressions on all platforms.

I'm unable to reproduce these build failures:

ntl
cntk
adapta-gtk-theme (needs a restart due to gnome-keyring timeout)

ntl: we had that discussed before staging in https://github.com/NixOS/nixpkgs/pull/43679#issuecomment-406412428
cntk (for linux) and adapta-* restarted to clear the transient builder problems

Remaining regressions affecting multiple packages:

[ ] something around libtool --tag https://hydra.nixos.org/build/79858747
[ ] /homeless-shelter around TeX Live https://hydra.nixos.org/build/79876544
[ ] older firefox (and tor) versions https://hydra.nixos.org/build/79874738

Current comparison link for the lazy: https://hydra.nixos.org/eval/1474723?compare=1474536  I think it's already acceptable for merge to master (or close to that), given there are some security fixes included.

I agree. Note the merge conflict.

I was able to build both latest firefox and tor-browser on top of this branch with the following diff applied
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index 8b93c952a81..ed8446a4aa4 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -147,21 +147,21 @@ stdenv.mkDerivation (rec {
     rm -f configure
     rm -f js/src/configure
     rm -f .mozconfig*
   '' + (if lib.versionAtLeast version "58"
   # this will run autoconf213
   then ''
     configureScript="$(realpath ./mach) configure"
   '' else ''
     make -f client.mk configure-files
     configureScript="$(realpath ./configure)"
-  '') + ''
+  '') + lib.optionalString (!isTorBrowserLike) ''
     export MOZCONFIG=$(pwd)/mozconfig

     # Set C flags for Rust's bindgen program. Unlike ordinary C
     # compilation, bindgen does not invoke $CC directly. Instead it
     # uses LLVM's libclang. To make sure all necessary flags are
     # included we need to look in a few places.
     # TODO: generalize this process for other use-cases.

     BINDGEN_CFLAGS="$(< ${stdenv.cc}/nix-support/libc-cflags) \
       $(< ${stdenv.cc}/nix-support/cc-cflags) \
@@ -196,22 +196,22 @@ stdenv.mkDerivation (rec {
     #"--enable-system-cairo"
     "--enable-startup-notification"
     #"--enable-content-sandbox" # TODO: probably enable after 54
     "--disable-tests"
     "--disable-necko-wifi" # maybe we want to enable this at some point
     "--disable-updater"
     "--enable-jemalloc"
     "--disable-maintenance-service"
     "--disable-gconf"
     "--enable-default-toolkit=${default-toolkit}"
-    "--disable-xcode-checks"
   ]
+  ++ lib.optional stdenv.isDarwin "--disable-xcode-checks"
   ++ lib.optional (lib.versionOlder version "61") "--enable-system-hunspell"
   ++ lib.optionals (lib.versionAtLeast version "56" && !stdenv.hostPlatform.isi686) [
     # on i686-linux: --with-libclang-path is not available in this configuration
     "--with-libclang-path=${llvmPackages.libclang}/lib"
     "--with-clang-path=${llvmPackages.clang}/bin/clang"
   ]
   ++ lib.optionals (lib.versionAtLeast version "57") [
     "--enable-webrender=build"
   ]

but it's a hack as these things should depend on firefox versions, but I'm too lazy to check all the variants and modify the expression (and I can't on Darwin). Beats the failing build, though.
The main problem is that putting BINDGEN_CFLAGS into mozconfig makes configure phase barf some crazy errors in firefoxPackages that are or based of older firefoxes.

@oxij: thanks!  I made you the author.

I think I'll let someone else stabilize at least one following staging iteration.


Add option to bypass TV show details overview and go directly to seasons view

Please please.... BIG ISSUE for me!
I need not only an option to bypass TV show details, but also an option to bypass the seasons list and an option to bypass the episode details.
My small kids use Mizuu for their TV series and it is too complicated for them to go through all those TV show details, episode details etc. The first goal of Mizuu is to provide a quick (!) access to my movie and TV show collection.
So far I have to:
click on a TV show -> scroll down to find a list of seasons -> click on a season (seasons have the same cover so kids can not distinguish between different seasons) -> scroll down and find an episode -> click on an episode -> click on that little arrow to play the episode
This is really extremely user unfriendly.
I would love to have an option in the settings that would allow me to bypass ALL show details / lists of seasons / episode details. I would love to:
click on a TV show -> scroll down and find an episode -> click on an episode to play it
Seasons and episodes could (should) be on one screen. I would love to have one long list of episodes in the right half of the screen. List of seasons would be in the left half of the screen. When you click on a season, the list of episodes would "jump" to the first episode of that season. When you click on the episode, it starts playing.
Right now I am downgrading back to "Mizuu beta" from mid-2013. The user interface was better back then...

In all honesty, Mizuu isn't designed to be used by kids, and I'll never add just a list of all episodes that start playback when you press them. It's designed to be a media management software - not an application for kids.
If you want easy TV show playback, just use the play icon from the overview screen. It'll start the playback of the first episode you haven't watched.

Media management software (database of detailed information about titles) or media center (visually appealing and easy access to movies and TV shows)?
For me, detailed info of individual TV show episodes is really redundant. I was (maybe wrongly) expecting Mizuu to be a kind of Media center.
A quotation from the Mizuu home page:
"Everything at your fingertips – as it should be."
Sorry, but individual episodes are not "at my fingertips". Yes, the last unwatched episode is at my fingerprints..... But it is too complicated to play specific episode from a TV series.
Honestly, I love Mizuu for its ability to grab covers, screenshots, backgrounds from internet databases. Another quotation from your home page:
"Your movie and TV show collection is presented as a grid of beautiful cover images. The tabbed interface provides an easy-to-use overview of your content."
YES! This is what I love. Grid of beautiful cover images, grid of screenshots from TV series. All movies and TV shows / episodes with correct names. Easy-to-use means easy to play (one or two clicks).
I do not expect you to ditch all your hard work in designing the screens with all those TV show details, episode details, actors etc. But at the same time I believe that the user should have the ability to choose the level of detail (do I prefer "click to play" or do I want to see all TV episode details)?

No one ever said that it has to be either a media management software or a media center application. It can easily be both. What I did say is that it's not designed for kids.
You're the first person ever to have contacted me regarding problems with the user flow. I'm not saying that it means that others haven't thought of it, but they obviously haven't thought of it to be as much of an issue as to contact me about it. In other words: It's - at least - sufficient for almost all users.
Settings for stuff like the level of detail to display are incredibly counter-productive, and it makes user support and maintenance even harder. If you as an app developer need to have settings like that then you might as well confess to yourself that your solution doesn't work. If the user needs to actively do something in order to make it fit their purpose, then you're doing something wrong.
Like I said, I have no intention of adding a list of episodes, like you described. It has countless problems that are - in my humble opinion - worse than the issue you're pointing out.

See my email...


Past History

Hello, Im really sorry if my question bother, I never coded before.
I’m using this code because I put an Airtag on my bike and it was stolen but I don’t precisely know when. It works perfectly for me, but I would like to know if it’s possible to find the logs of before you create the code on your Mac, and find at least the day when my bike changed country (it was at least a month ago). If yes, Is it possible to explain it to me ?
Thank you for your time ! (and sorry if my english is poor)

I didn't write the code or look at it but from what I've read you can't do this and you need to have the program running and can't access the logs before you started it.

Neither Apple nor your personal devices store the history of AirTags or any FindMy items. The only way to obtain the history is to log the current locations as they're updated in the FindMy app. So if this FindMyHistory program was not running, there is no way to access previous location information for an AirTag.
A quick side note: You may have seen an "AirTag Found Moving With You" notification on an iPhone. Upon clicking the notification you're able to see a map of the AirTag's location history. This is just the location history of your iPhone since the AirTag was detected moving with your iPhone. It's unrelated to the location updates of the AirTags associated with your personal Apple account.


[certify] Add new port

Certify is a header-only library which abstracts away the details of accessing a platform's TLS keystore and performing verification of a TLS peer's certificate, according to RFC2818. The library depends on OpenSSL and is designed to be easy to integrate with boost::asio::ssl.
This PR adds support for the certify library to vcpkg.

You have to run vcpkg x-add-version certify and commit the changes.

Superceded by #16783. Thanks everyone!


ARM v5 Release

Describe the feature
Discussed in https://github.com/aler9/rtsp-simple-server/discussions/1175

Originally posted by MT00x September 29, 2022
It would be possible to have a version for ARM v5 ?

You can still build a binary for any architecture by building it from source, by following instructions in the README.


[BugFix] Remove limit for committing empty transaction

What type of PR is this：

[ ] bug
[ ] feature
[x] enhancement
[ ] others

Which issues of this PR fixes ：

Fixes #2862
Problem Summary(Required) ：

This PR removes the limit for the empty transaction.
The previous implement forbids empty transactions and would return the error all partitions have no load data.
But when loaded data are filtered by JSON path or where condition, the JSON/CSV scanner may return a zero rows and the transaction would be aborted with the error all partitions have no load data. The result is confusing for the user. Besides, in routine load, the commit offset would not be advanced.
For compatible consideration, empty_load_as_error is added to fe config. The default behaviour stay the same as before.

[FE PR Coverage check]
:heart_eyes: pass : 0 / 0 (0%)

run starrocks_fe_unittest

[FE PR Coverage check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage check]
:heart_eyes: pass : 2 / 2 (100.00%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/common/Config.java
1
1
100.00%

:large_blue_circle:
com/starrocks/transaction/DatabaseTransactionMgr.java
1
1
100.00%

Does this also happen for other types of loads besides kafka routine loads ?
Maybe it is also necessary to deal with this situation for other loads?

Does this also happen for other types of loads besides kafka routine loads ? Maybe it is also necessary to deal with this situation for other loads?

It works for all

Does this also happen for other types of loads besides kafka routine loads ? Maybe it is also necessary to deal with this situation for other loads?

It is expected to work for all load types, including routine load and stream load.

run starrocks_fe_unittest

[FE PR Coverage check]
:heart_eyes: pass : 2 / 2 (100.00%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/common/Config.java
1
1
100.00%

:large_blue_circle:
com/starrocks/transaction/DatabaseTransactionMgr.java
1
1
100.00%

run starrocks_fe_unittest

[FE PR Coverage check]
:heart_eyes: pass : 2 / 2 (100.00%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/common/Config.java
1
1
100.00%

:large_blue_circle:
com/starrocks/transaction/DatabaseTransactionMgr.java
1
1
100.00%


Modifier Keys with custom Keyboard layout cancel code complete dialog

Tested versions
Reproducible in:

4.3.stable.arch_linux
latest Git build (4.4, commit id 658270e742ea46d049b4f29a9762d9ee9c0734af)
v3.6.stable.official [de2f0f147]

System information
Arch Linux, KDE 6, Wayland, custom xkeyboard-config
Issue description
I use a custom keyboard layout (Neo Mine).
This layout has some special modifier keys for additional layers on the Keyboard.
In the script editor the layout work as it should, except some modifier keys cancel the code complete dialog (like pressing ESC).
The problematic keys are shown here as left M4 and right M3.

The left M4 is recognized by the godot hotkey configurator as "Section" key.
Keyboard Event Viewer shows this:

The right M3 is recognized by the godot hotkey configurator as "Apostrophe" key.
Keyboard Event Viewer shows this:

I need the left M4 modifier key to have up/down arrows and enter in my "home zone" to choose and confirm from the code complete dialog. But like said, this is impossible due to the cancel with the M4 key.

It would be great if godot would ignore these keys in the code complete dialog, or generally keys that don't input any key (except esc).
Or if i could tell godot which keys to ignore.
Steps to reproduce
Install custom keymap with modifier keys on other positions than default
Minimal reproduction project (MRP)
Any gdscript inside godot script editor works

For some reason any key event that has a unicode value from the C0 group (control characters) will cancel code completion, this also includes the NUL character which is set for the events from this issue, since they don't produce any characters. So the issue is observable with a default keyboard layout and some control keys as well (e.g. on my keyboard: numlock or scrolllock). We should probably remove this behavior and only use the ui_cancel action to cancel completion.

Oh thanks for the quick response.
Just compiled your code changes and can confirm it solves my problem.
Thank you very much!


Better Apple TV remote

Example of apple TV remote
Only button i haven´t gotten working is tap powerbutton/home_hold for top corner menu

type: custom:android-tv-card
remote_id: remote.apple_tv_stue
slider_id: media_player.stue_sonos_2
keyboard_id: media_player.allente_3
title: Apple TV stue
rows:
  - - poweron
    - poweroff
  - - skip-backward
    - play
    - pause
    - skip-forward
  - - slider
  - - menu
    - home
  - - touchpad
  - - appletv
    - netflix
    - disney
    - primevideo
    - allente
  - - NRKTV
    - TV 2 Play
    - max
    - skyshowtime
    - Plex
  - - Viaplay
    - Discovery+
    - spotify
    - youtube
touchpad_style:
  height: 200px
  background-image: url("https://upload.wikimedia.org/wikipedia/commons/a/ab/Apple-logo.png")
  background-size: contain
  background-repeat: no-repeat
  background-position: center
  opacity: 0.1
custom_actions:
  hold_home:
    icon: mdi:chevron-double-down
    hold_action:
      action: more-info
      key: home
  poweroff:
    icon: mdi:power-off
    tap_action:
      action: key
      key: suspend
  poweron:
    icon: mdi:power-on
    tap_action:
      action: key
      key: wakeup
  home:
    tap_action:
      action: call-service
      service: remote.send_command
      service_data:
        command: home
        entity_id: remote.apple_tv_stue
  up:
    tap_action:
      action: call-service
      service: remote.send_command
      service_data:
        command: up
        entity_id: remote.apple_tv_stue
  down:
    tap_action:
      action: call-service
      service: remote.send_command
      service_data:
        command: down
        entity_id: remote.apple_tv_stue
  skip-backward:
    icon: mdi:rewind-10
    tap_action:
      action: call-service
      service: remote.send_command
      service_data:
        command: skip_backward
        entity_id: remote.apple_tv_stue
  skip-forward:
    icon: mdi:fast-forward-10
    tap_action:
      action: call-service
      service: remote.send_command
      service_data:
        command: skip_forward
        entity_id: remote.apple_tv_stue
  left:
    tap_action:
      action: call-service
      service: remote.send_command
      service_data:
        command: left
        entity_id: remote.apple_tv_stue
  right:
    tap_action:
      action: call-service
      service: remote.send_command
      service_data:
        command: right
        entity_id: remote.apple_tv_stue
  center:
    tap_action:
      action: call-service
      service: remote.send_command
      service_data:
        command: select
        entity_id: remote.apple_tv_stue
  play:
    tap_action:
      action: key
      key: play
  pause:
    tap_action:
      action: key
      key: pause
  menu:
    icon: mdi:arrow-left
    tap_action:
      action: key
      key: menu
  primevideo:
    tap_action:
      action: call-service
      service: media_player.select_source
      data:
        source: Prime Video
      target:
        entity_id: media_player.apple_tv_stue
  netflix:
    tap_action:
      action: call-service
      service: media_player.select_source
      data:
        source: Netflix
      target:
        entity_id: media_player.apple_tv_stue
  spotify:
    tap_action:
      action: call-service
      service: media_player.select_source
      data:
        source: Spotify
      target:
        entity_id: media_player.apple_tv_stue
  disney:
    tap_action:
      action: call-service
      service: media_player.select_source
      data:
        source: Disney+
      target:
        entity_id: media_player.apple_tv_stue
  youtube:
    tap_action:
      action: call-service
      service: media_player.select_source
      data:
        source: YouTube
      target:
        entity_id: media_player.apple_tv_stue
  appletv:
    tap_action:
      action: call-service
      service: media_player.select_source
      data:
        source: TV
      target:
        entity_id: media_player.apple_tv_stue
  max:
    tap_action:
      action: call-service
      service: media_player.select_source
      data:
        source: HBO Max
      target:
        entity_id: media_player.apple_tv_stue
  skyshowtime:
    tap_action:
      action: call-service
      service: media_player.select_source
      data:
        source: SkyShowtime
      target:
        entity_id: media_player.apple_tv_stue
  Plex:
    icon: mdi:plex
    tap_action:
      action: call-service
      service: media_player.select_source
      data:
        source: Plex
      target:
        entity_id: media_player.apple_tv_stue
  TV 2 Play:
    icon: TV2
    tap_action:
      action: call-service
      service: media_player.select_source
      data:
        source: TV 2 Play
      target:
        entity_id: media_player.apple_tv_stue
  Discovery+:
    icon: Discovery
    tap_action:
      action: call-service
      service: media_player.select_source
      data:
        source: discovery+
      target:
        entity_id: media_player.apple_tv_stue
  Viaplay:
    icon: Viaplay
    tap_action:
      action: call-service
      service: media_player.select_source
      data:
        source: Viaplay
      target:
        entity_id: media_player.apple_tv_stue
  NRKTV:
    icon: nrktv
    tap_action:
      action: call-service
      service: media_player.select_source
      data:
        source: NRK TV
      target:
        entity_id: media_player.apple_tv_stue
  allente:
    icon: all
    tap_action:
      action: call-service
      service: media_player.select_source
      data:
        source: Allente
      target:
        entity_id: media_player.apple_tv_stue
custom_icons:
  nrktv: |-
    M 3.13,16.15
           C 3.13,16.15 3.13,8.07 3.13,8.07
             3.13,8.07 0.35,8.07 0.35,8.07
             0.35,8.07 0.35,16.15 0.35,16.15
             0.35,16.15 3.13,16.15 3.13,16.15 Z
           M 11.16,16.15
           C 11.16,16.15 11.16,8.07 11.16,8.07
             11.16,8.07 8.39,8.07 8.39,8.07
             8.39,8.07 8.39,16.15 8.39,16.15
             8.39,16.15 11.16,16.15 11.16,16.15 Z
           M 17.67,16.15
           C 17.67,16.15 17.67,8.07 17.67,8.07
             17.67,8.07 14.89,8.07 14.89,8.07
             14.89,8.07 14.89,16.15 14.89,16.15
             14.89,16.15 17.67,16.15 17.67,16.15 Z
           M 3.30,8.07
           C 3.30,8.07 5.12,16.15 5.12,16.15
             5.12,16.15 8.21,16.15 8.21,16.15
             8.21,16.15 6.39,8.07 6.39,8.07
             6.39,8.07 3.30,8.07 3.30,8.07 Z
           M 13.04,11.17
           C 13.95,11.17 14.70,10.43 14.70,9.51
             14.70,8.59 13.95,7.85 13.04,7.85
             12.12,7.85 11.38,8.59 11.38,9.51
             11.38,10.43 12.12,11.17 13.04,11.17 Z
           M 23.65,16.15
           C 23.65,16.15 21.14,12.06 21.14,12.06
             21.14,12.06 23.58,8.06 23.58,8.06
             23.58,8.06 20.30,8.06 20.30,8.06
             20.30,8.06 17.86,12.06 17.86,12.06
             17.86,12.06 17.86,12.06 17.86,12.06
             17.86,12.06 20.36,16.15 20.36,16.15
             20.36,16.15 23.65,16.15 23.65,16.15 Z
           M 23.65,16.15
  Viaplay: >-
    M 1.2096 6.2899 C 0.4493 7.8106 0 9.5386 0 11.3702 C 0 13.2019 0.4493
    14.9299 1.2096 16.4506 L 11.3702 11.3702 Z M 11.3702 0 C 8.5709 0 6.0134
    1.0022 4.009 2.6957 L 15.8976 9.0893 V 13.6512 L 4.009 20.0448 C 5.9789
    21.7382 8.5709 22.7405 11.3702 22.7405 C 17.6602 22.7405 22.7405 17.6602
    22.7405 11.3702 C 22.7405 5.0803 17.6602 0 11.3702 0 Z
  all: >-
    M 12.9334 12.4106 V 4.4906 H 8.9813 C 8.9813 4.4906 8.9628 5.647 8.9628
    5.7394 C 8.2421 4.7626 7.0462 4.3138 5.251 4.3058 C 3.395 4.3243 1.819
    5.1374 0.9874 6.3175 C 0.3353 7.194 0 8.3107 0 9.6703 C 0 11.088 0.3353
    12.1862 0.9874 13.0442 C 1.8638 14.256 3.2974 14.8896 5.1058 14.8896 C
    7.1359 14.8896 7.9385 14.5174 8.7014 13.8838 C 8.7014 14.3114 8.8123 14.7602
    8.8889 14.7602 H 13.1551 C 12.9703 14.5174 12.9334 13.361 12.9334 12.4106 Z
    M 8.3107 11.2358 C 7.957 11.6635 7.3973 11.9249 6.4838 11.9249 C 5.515
    11.9249 4.9183 11.5711 4.6015 11.1038 C 4.3586 10.7501 4.2293 10.1719 4.2293
    9.6307 C 4.2293 9.071 4.3771 8.4559 4.6754 8.0837 C 5.0292 7.656 5.6258
    7.3577 6.5578 7.3577 C 7.3973 7.3577 7.9543 7.6375 8.2896 8.0098 C 8.6249
    8.3635 8.8123 8.9971 8.8123 9.6307 C 8.815 10.23 8.6275 10.8451 8.3107
    11.2358 Z m 6.0905 3.5719 c -0.0739 -0.037 -0.1452 -0.2878 -0.0739 -1.0613 c
    0 -1.5655 0 -9.9238 0 -12.2338 c 0 -0.7656 -0.1346 -1.2936 -0.1716 -1.4626 h
    4.2478 c 0.0449 0.1294 0.1716 0.6151 0.1716 1.2936 c 0 2.0671 -0.095 9.3178
    0 12.5321 c 0 0.5412 0 0.8395 0.1109 0.9319 Z M 19.9188 14.759 c -0.0739
    -0.037 -0.0739 -0.1478 -0.0739 -1.0613 c 0 -1.5655 0 -9.9238 0 -12.2338 c 0
    -0.7656 -0.1346 -1.2936 -0.1716 -1.4626 h 4.2478 c 0.0449 0.1294 0.1716
    0.6151 0.1716 1.2936 c 0 2.0671 0 9.5146 0 12.5321 c 0 0.5412 0 0.8395
    0.1109 0.9319 Z
  TV2: |-
    M 2.26,9.74
           C 2.26,8.33 2.48,7.12 3.04,5.81
             3.42,4.92 3.95,4.09 4.58,3.36
             7.90,-0.52 13.66,-1.11 17.76,1.86
             19.66,3.24 21.11,5.51 21.53,7.82
             21.78,9.18 21.70,10.58 21.70,11.95
             21.70,11.95 16.75,11.95 16.75,11.95
             16.75,11.09 16.80,9.74 16.69,8.93
             16.53,7.78 15.86,6.48 14.98,5.73
             14.49,5.33 13.99,5.01 13.39,4.80
             12.95,4.65 12.37,4.55 11.90,4.56
             9.18,4.59 7.20,7.15 7.20,9.74
             7.20,9.74 2.26,9.74 2.26,9.74 Z
           M 2.26,24.00
           C 2.26,24.00 2.26,19.73 2.26,19.73
             2.26,19.63 2.25,19.49 2.28,19.39
             2.33,19.26 2.48,19.12 2.57,19.01
             2.57,19.01 3.28,18.19 3.28,18.19
             3.28,18.19 6.42,14.59 6.42,14.59
             6.42,14.59 8.14,12.62 8.14,12.62
             8.29,12.45 8.64,12.00 8.83,11.93
             8.92,11.90 9.07,11.90 9.17,11.90
             9.17,11.90 15.17,11.90 15.17,11.90
             15.17,11.90 14.27,12.96 14.27,12.96
             14.27,12.96 12.30,15.22 12.30,15.22
             12.30,15.22 10.00,17.86 10.00,17.86
             10.00,17.86 8.64,19.39 8.64,19.39
             8.64,19.39 21.70,19.39 21.70,19.39
             21.70,19.39 21.70,24.00 21.70,24.00
             21.70,24.00 2.26,24.00 2.26,24.00 Z Z
  Discovery: |-
    M 20.89,2.51
           C 20.89,2.51 21.19,2.51 21.19,2.51
             21.19,2.51 21.19,4.12 21.19,4.12
             21.19,4.12 22.90,4.12 22.90,4.12
             22.90,4.12 22.90,4.52 22.90,4.52
             22.90,4.52 21.19,4.52 21.19,4.52
             21.19,5.07 21.32,5.87 20.99,6.33
             21.37,6.65 21.51,6.90 21.77,7.33
             22.76,8.97 23.02,10.57 23.00,12.45
             22.95,16.30 20.25,19.55 16.67,20.72
             15.89,20.97 14.98,21.18 14.16,21.19
             14.16,21.19 11.95,21.19 11.95,21.19
             11.52,21.19 11.05,21.25 10.64,21.09
             11.68,20.46 12.51,19.78 13.21,18.78
             15.48,15.57 14.70,11.39 11.65,8.99
             10.33,7.95 8.87,7.56 7.23,7.43
             7.23,7.43 7.23,2.71 7.23,2.71
             7.23,2.71 11.75,2.71 11.75,2.71
             11.75,2.71 13.76,2.71 13.76,2.71
             15.63,2.71 17.70,3.38 19.18,4.52
             19.18,4.52 19.18,4.12 19.18,4.12
             19.18,4.12 20.89,4.12 20.89,4.12
             20.89,4.12 20.89,2.51 20.89,2.51 Z
           M 20.89,4.52
           C 20.89,4.52 19.28,4.52 19.28,4.52
             19.28,4.52 20.89,6.03 20.89,6.03
             20.89,6.03 20.89,4.52 20.89,4.52 Z
           M 6.23,8.28
           C 8.69,7.96 10.94,8.76 12.50,10.74
             13.67,12.24 13.78,13.56 13.76,15.36
             13.73,17.32 12.38,19.32 10.74,20.30
             9.24,21.21 8.31,21.21 6.63,21.19
             3.58,21.15 0.82,18.17 0.80,15.16
             0.80,14.11 0.75,13.69 1.08,12.65
             1.85,10.26 3.80,8.73 6.23,8.28 Z

I'll add it to the README!

updated with custom icons now

Neat. I'll add these as default icons and use this as an excuse to make it so that the default icons that come with this repo can be used with custom actions.

is there any way to make icons in the title of the card?
i would like it to look like this.

Not really. The title functionality is defined by Home Assistant, and is the same as titles in grids, vertical/horizontal stacks, and entities cards.
I was going to say to try doing what I do for title cards with icons using card-mod, but I wasn't able to get it to work with my card, possibly due to custom cards loading later.

Ah, was hoping it might work...

Updated Apple TV example in 3.2.5, along with a bunch of icon improvements since I got into a rabbit whole and discovered a but with icons and templates.


HYD-6736 Turn chroma-common into a python package

Currently chroma-common is not a python package and other packages
link to it through symbolic links (chroma-agent and chroma-manager).
This is inconvenient for a number of reasons including having to have
unit tests for chroma-common reside in directories other than
chroma-common and IDEs not be to resolve the links to common code
which adds inconvenience during development.
Change chroma-common into a stand-alone python package and distribute
alongside the other IML packages. This provides separation of the
common code and an ability to test in isolation and enables code to
import the package directly rather than through symbolic links.

  - Create python package dir structure for chroma-common with
    boilerplate files
  - Remove symlinks to chroma_common
  - Update imports to reference chroma_common package directly
    rather than symlinks to chroma-common dir
  - Build as a package containing source but no install scripts
  - Add chroma_common directory to sys.path in
    update_chroma-externals.py
  - Add __init__.py to chroma-common/chroma_common
  - Remove __init__.py from chroma-common/
  - Make and install common package on builder before manager
    to satisfy import dependencies when building docs
  - Add chroma_common directory to sys.path in chroma-agent/Makefile
  - Add chroma_common directory to sys.path in tests framework for
    unit-tests and services where needed including log collection
  - Ensure package file name of chroma-common are consistent with
    chroma-manager, e.g. ...elX.<ARCH>.rpm
  - Tidy chroma package dependency tree in spec files
  - Add "make -C ../chroma-common develop" last to manager target
    "make develop"
  - Set chroma_common/lib/util.py _use_threads_default to True as
    we only want Manager unit tests not to use threads because
    unittest runs within a database transaction
  - Explicitly set _use_threads_default to False in IMLUnitTestCase
    which is then applied to all manager unit tests
  - Use print function syntax in behave tests to be compatible
    with up-to-date versions of python behave

Signed-off-by: Tom Nabarro<EMAIL_ADDRESS>

#40 is the replacement for this PR


Add "loaded" event

It would be wonderful if this component had an "loaded" event, in order to communicate with other components and trigger actions.

@fernao Just when the component is loaded or the image in the component has loaded?
Will work on it

It used to have a placeholder image but this required javascript lazyloading when it now uses native loading attribute.
I will add lots of events for the parent to be able to look at :) including what you're wanting

@fernao added some events and ability to add a slot as a placeholder before load, also done this one the Vue 2 legacy.
On NPM:
v2.2.0 for Vue 3
v1.5.0 for Legacy Vue 2


broken links

The inversify config.ts and examples links are broken.

Closing this issue because we only report issues in the main core repo I have created a cloe https://github.com/inversify/InversifyJS/issues/438


WIN32: Support unicode characters

Defining UNICODE macro makes compiler automatically detects unicode and changes functions to their W versions from Windows API (no need thus to specifically write fileExistsW, createFileW,...)
Closes #52

nice, it needs PR to master too...


Transfer to WebTorrent organization

Hey @fisch0920, I moved all my personal WebTorrent repos into a new WebTorrent organization.
If it's okay with you, can you transfer this repo to the "webtorrent" organization? 🙏

No problem :)

👍

This is done now! https://github.com/webtorrent/bittorrent-peerid


failed to solve: process "/bin/sh -c cd components &&   yarn" did not complete successfully: exit code: 1 / update failed 06/05/2024

i do this commands:
git fetch
remote: Enumerating objects: 3589, done.
remote: Counting objects: 100% (3584/3584), done.
remote: Compressing objects: 100% (332/332), done.
remote: Total 3589 (delta 1796), reused 3446 (delta 1714), pack-reused 5
Receiving objects: 100% (3589/3589), 1.69 MiB | 4.42 MiB/s, done.
Resolving deltas: 100% (1796/1796), completed with 287 local objects.
From https://github.com/DefectDojo/django-DefectDojo
   f66e6dbb0..9693fa096  master                 -> origin/master
   8931ed4c6..2cc78128f  bugfix                 -> origin/bugfix
 * [new branch]          dependabot/npm_and_yarn/components/dev/datatables.net-2.0.6 -> origin/dependabot/npm_and_yarn/components/dev/datatables.net-2.0.6
 * [new branch]          dependabot/npm_and_yarn/components/dev/datatables.net-dt-2.0.6 -> origin/dependabot/npm_and_yarn/components/dev/datatables.net-dt-2.0.6
 + 3f66f61a9...c6d40a6c0 dependabot/pip/dev/django-crispy-forms-2.1 -> origin/dependabot/pip/dev/django-crispy-forms-2.1  (forced update)
 + 566dc2dde...f7afac7a9 dependabot/pip/dev/urllib3-2.2.1 -> origin/dependabot/pip/dev/urllib3-2.2.1  (forced update)
   e5c83b9ad..668b03e27  dev                    -> origin/dev
   23800d19c..47164ca39  gh-pages               -> origin/gh-pages
 * [new branch]          hblankenship-doc-patch -> origin/hblankenship-doc-patch
 * [new branch]          hblankenship-patch-1   -> origin/hblankenship-patch-1
   4eb0a4cce..6e6d787f2  helm-charts            -> origin/helm-charts
 * [new branch]          release/2.34.0         -> origin/release/2.34.0
 + 6415338c6...b411d69d1 renovate/mysql-10.x    -> origin/renovate/mysql-10.x  (forced update)
 + ac3ccd247...5421bbd98 renovate/mysql-9.x     -> origin/renovate/mysql-9.x  (forced update)
 + c73482753...54f3592fc renovate/postgresql-ha-14.x -> origin/renovate/postgresql-ha-14.x  (forced update)
 * [new tag]             2.34.0                 -> 2.34.0

then pulled
git pull

here log:
https://gist.github.com/johnfelipe/9a2c520daf0002ba242917596e8f7c9d
git merge origin/master
Already up to date.

BUILD AGAIN
cd django-DefectDojo
./dc-build.sh
Checking docker compose version
Supported docker compose version
Building docker compose
[+] Building 341.5s (32/39)                                      docker:default
 => [uwsgi internal] load build definition from Dockerfile.django-debian   0.0s
 => => transferring dockerfile: 4.83kB                                     0.0s
 => [nginx internal] load metadata for docker.io/library/python:3.11.4-s  22.0s
 => [uwsgi internal] load .dockerignore                                    0.0s
 => => transferring context: 120B                                          0.0s
 => [uwsgi internal] load build context                                    0.2s
 => => transferring context: 6.19MB                                        0.2s
 => [nginx base 1/1] FROM docker.io/library/python:3.11.4-slim-bullseye@s  0.0s
 => CACHED [nginx build 1/4] WORKDIR /app                                  0.0s
 => CACHED [nginx build 2/4] RUN   apt-get -y update &&   apt-get -y inst  0.0s
 => [uwsgi build 3/4] COPY requirements.txt ./                            18.0s
 => [uwsgi build 4/4] RUN CPUCOUNT=1 pip3 wheel --wheel-dir=/tmp/wheels  118.0s
 => CACHED [uwsgi django  2/12] RUN   apt-get -y update &&   mkdir -p /us  0.0s
 => [uwsgi django  3/12] COPY --from=build /tmp/wheels /tmp/wheels         0.0s
 => [uwsgi django  4/12] COPY requirements.txt ./                          0.0s
 => [uwsgi django  5/12] RUN export PYCURL_SSL_LIBRARY=openssl &&     pi  46.7s
 => [uwsgi django  6/12] COPY   docker/entrypoint-celery-beat.sh   docker  0.0s
 => [uwsgi django  7/12] COPY wsgi.py manage.py docker/unit-tests.sh ./    0.0s
 => [uwsgi django  8/12] COPY dojo/ ./dojo/                                0.6s
 => [uwsgi django  9/12] COPY docker/extra_fixtures/* /app/dojo/fixtures/  0.0s
 => [uwsgi django 10/12] COPY tests/ ./tests/                              0.0s
 => [uwsgi django 11/12] RUN   rm -f /readme.txt &&   rm -f dojo/fixtures  0.2s
 => [uwsgi django 12/12] RUN     addgroup --gid 1337 defectdojo &&     ad  1.6s
 => [uwsgi] exporting to image                                             4.2s
 => => exporting layers                                                    4.2s
 => => writing image sha256:b2c87213cdbc522429daf5a96b8c40de705ed6e24d1d8  0.0s
 => => naming to docker.io/defectdojo/defectdojo-django:latest             0.0s
 => [nginx internal] load build definition from Dockerfile.nginx-debian    0.0s
 => => transferring dockerfile: 3.48kB                                     0.0s
 => [nginx internal] load metadata for docker.io/library/nginx:1.26.0-alp  2.4s
 => [nginx internal] load .dockerignore                                    0.0s
 => => transferring context: 120B                                          0.0s
 => [nginx internal] load build context                                    0.1s
 => => transferring context: 231.07kB                                      0.1s
 => [nginx stage-3 1/5] FROM docker.io/library/nginx:1.26.0-alpine@sha256  2.6s
 => => resolve docker.io/library/nginx:1.26.0-alpine@sha256:ca16009a8c25f  0.0s
 => => sha256:572be995fb17299a231739208707efa025543f32b 10.98kB / 10.98kB  0.0s
 => => sha256:091275ae680776b2922329c9b3f581863a6de95856c 3.99MB / 3.99MB  0.8s
 => => sha256:680080a33f4ff2b0d8aedac2d12fda4dec7b4522728f1bc 629B / 629B  0.9s
 => => sha256:ca16009a8c25f52193506d4c90c98efbad4b6cbe733 9.06kB / 9.06kB  0.0s
 => => sha256:6a0a9d8f730f67d04eac41a3411155f519fdce3bd9c 2.50kB / 2.50kB  0.0s
 => => sha256:b04f45f24a9c66d04eee91e92f732179b6f37f834b8751f 957B / 957B  1.1s
 => => extracting sha256:091275ae680776b2922329c9b3f581863a6de95856c04671  0.4s
 => => sha256:26087820d60a54635a5c91a255fc080b80bb15c40b880e2 394B / 394B  1.2s
 => => sha256:bd75bb60cdbb992a9f78232b550adf88b3199f1c885 1.21kB / 1.21kB  1.2s
 => => sha256:125d178ee43c0b386693c2635ecce90f8aad572f9a7 1.40kB / 1.40kB  1.4s
 => => sha256:0e4a02da9f62b5bc6ac6a424775ec683d55e630f1 13.04MB / 13.04MB  1.8s
 => => extracting sha256:680080a33f4ff2b0d8aedac2d12fda4dec7b4522728f1bc5  0.0s
 => => extracting sha256:b04f45f24a9c66d04eee91e92f732179b6f37f834b8751f1  0.0s
 => => extracting sha256:26087820d60a54635a5c91a255fc080b80bb15c40b880e24  0.0s
 => => extracting sha256:bd75bb60cdbb992a9f78232b550adf88b3199f1c8853d369  0.0s
 => => extracting sha256:125d178ee43c0b386693c2635ecce90f8aad572f9a7a05f1  0.0s
 => => extracting sha256:0e4a02da9f62b5bc6ac6a424775ec683d55e630f1b407752  0.6s
 => CACHED [nginx build 3/4] COPY requirements.txt ./                      0.0s
 => CACHED [nginx build 4/4] RUN CPUCOUNT=1 pip3 wheel --wheel-dir=/tmp/w  0.0s
 => [nginx collectstatic 1/7] RUN   apt-get -y update &&   apt-get -y in  67.2s
 => [nginx collectstatic 2/7] RUN pip3 install  --no-cache-dir  --no-ind  36.0s
 => [nginx collectstatic 3/7] COPY components/ ./components/               0.0s
 => ERROR [nginx collectstatic 4/7] RUN   cd components &&   yarn         23.5s
------
 > [nginx collectstatic 4/7] RUN   cd components &&   yarn:
0.573 yarn install v1.22.10
0.638 [1/5] Validating package.json...
0.642 [2/5] Resolving packages...
0.761 [3/5] Fetching packages...
17.12 error An unexpected error occurred: "https://registry.yarnpkg.com/bootstrap-social/-/bootstrap-social-4.11.0.tgz: getaddrinfo EAI_AGAIN registry.yarnpkg.com".
17.12 info If you think this is a bug, please open a bug report with the information provided in "/app/components/yarn-error.log".
17.12 info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
------
failed to solve: process "/bin/sh -c cd components &&   yarn" did not complete successfully: exit code: 1

something happend with network i think, is already updated

A quick Google for getaddrinfo EAI_AGAIN shows that that's a network error. Nothing to do with the DefectDojo source code or build process.
Looking at the replies, it boils down to:

Try it again
Use a different network


Add image adjustments in the toolkit? (brightness, contrast, gamma)

I think the visuals in VR for MSFS needs a few simple settings, brightness, contrast and gamma.
I understand it is not really a post process filter that is needed, and ASOBO need to implement a sort of exposure compensation in game, BUT:
Would it be possible to do some sort of brightness/gamma controls via OpenXR-Toolkit?

Duplicate of #9


Possible to trigger runtime reconfiguration?

Something like  reconfigure exists?

Reloading the application will reload the configuration, but other than that, one would have to load the config manually and call Application.set_env for each config setting in order to mimic reloading the configuration. So in theory it's possible to write such a feature, but one doesn't exist in the standard library as far as I'm aware.

@bitwalker, that how it works from application_controller(that is a part of how release_handler using application_controller for doing it), to do it, I simple plan to port this code to exrm directly. Only one thing stays, if we want to suspend/resume processes for the update.

@liveforeverx Nice! The other thing would be that exrm is not bundled with releases generally (at least I don't know why someone would be including a compile-time release tool with their release), it seems to me that this might be a good candidate for an external lib perhaps?

application_controller is in kernel, and we need only application_controller for making reconfigure.

Missed part of first message, yes, it is something, to mimic manually.

HI!
I see it like that:

Add possibility to set node arguments for config schema file and conform config file on exrm
Create a plugin for exrm, which called exrm_reload. The plugin will have a method run which will generate new sys.config via conform (using the arguments from first step) and apply this config for all applications via application_controller. The exrm_reload will be runtime dependency.

If you don't mind I'll do it

@surik Go for it! Just a quick question though: how is the plugin executed? I'm also assuming it's not a plugin for exrm, but rather an extension of exrm that can be called via RPC to a node?

@bitwalker You're right, It's just application which we able to call via RPC. I called it plugin because it uses some configuration from exrm (1st step) but actually it doesn't depend on exrm.
I'm thinking can I call it exrm_reload or i should use other name.

@surik exrm_reload sounds fine to me!


[spike] integrate portals zaps into swapper

portals offers "one click defi" which looks like a swap into a defi position
https://build.portals.fi/docs/guides/using-portals
spike into integrating this into our swapper

Some Qs

how do we find these assets?
can we charge fees?
how do we display these tokens / positions after a user has them?

Output from this spike would be

tickets for the full implementation work with some general estimate on level of effort
documentation of above questions and any other's that arise from that
communicate any concerns with product on UX that might need to be considered that would be different than the existing swapper

https://shapeshift.notion.site/Two-Smol-Swappers-646613460477490497f91287e4966fbc

can we charge fees?

Absolutely:

https://api.portals.fi/docs#/Portal/PortalController_portalV2

how do we find these assets? / how do we display these tokens / positions after a user has them?

How do we find them?

https://api.portals.fi/v2/tokens is the goer, and we should update the asset generation script to parse and use these as assets. We could start as a low lift with one chain only, and only one page, to validate this!

How do we display them

Once added to generated asset data, these will live as ERC20 tokens in the app, business as usual

How do we display the DeFi positions?

ideally: we don't and let Zapper do it
effectively: Zapper isn't so good with all chains and will miss many opportunities. IMO, having them as tokens is a good MVP, but eventually, we could use the DeFi opportunities abstraction to parse and upsert https://api.portals.fi/v2/tokens list as DeFi opportunities. For all intents and purposes, the shape is very similar to Zapper's, which will make things relatively easy to work with  (note relatively in bold, there is definitely quite the lift here)

What about market-data?

Historical market data isn't going to be available, but that's nothing different than e.g how we used to do UNI-V2 opportunities - we absolutely can and should upsert the current price of all https://api.portals.fi/v2/tokens tokens in the market-data slice

Actual issues to be created from this, and spike to be closed on Monday if we agree we're there spike-wise

https://github.com/shapeshift/web/issues/7305
https://github.com/shapeshift/web/issues/7304
https://github.com/shapeshift/web/issues/7303
https://github.com/shapeshift/web/issues/7306


Azure keyvault provider: support credentials from 'az login'

Follow up to https://github.com/variantdev/vals/pull/39
This enhances the Azure Key Vault provider to also allow authentication through az login.

@mumoshu merge please? 🙏

@mumoshu merge please? 🙏


Option to render CSS into component

This PR adds the option less.component to the RequireJS config and – if set to true – renders the LESS code as CSS into the component where it was required from.
We are currently using this to enable LESS in RactiveJS components.
Example:
import Ractive from 'ractive';
import css from 'less!./App';
import template from 'text!./App.html';

const App = Ractive.extend({
  template,
  css
});

export { App };

Would be glad if you considered this, please let me know what you think.

Close in favor of #90


Base64

This PR adds accelerated base64 encoding and decoding to simdutf. The standard adopted is WHATWG forgiving-base64: inputs may contain ASCII white spaces.
References:

https://github.com/nodejs/performance/issues/128
https://github.com/nodejs/node/pull/38433
https://github.com/nodejs/node/pull/51670

@WojciechMula You may find this interesting:

static_assert failed: 'invalid template argument for uniform_int_distribution: N4950 [rand.req.genl]/1.5 requires one of short, int, long, long long, unsigned short, unsigned int, unsigned long, or unsigned long long'

So I am reverting.

Thanks @WojciechMula
You are co-credited for the PR.

@WojciechMula We can't blame Microsoft because it was explicitly documented in the standard.

very exciting

One thing to note
To do this efficiently for JavaScript runtimes, a version which accepts UTF-16 input (or otherwise 2 byte chars) is important because otherwise one must go through a UTF-16 -> latin1 conversion step beforehand. It is not unusual for an ASCII-only JavaScript string to end up being stored internally as UTF-16. There are many reasons why, like if it was a string literal from source code which was passed from runtime to engine as UTF-16.  Or if it was originally a substring from a non-ascii string

@Jarred-Sumner It is coming.

Forgiving-base64 is also the algorithm we ended up choosing for the default behavior in my proposal for native base64 in JS, happily. I've just added a link to the readme pointing implementers to this library.

@bakkot Fantastic. Stay posted, feedback invited.

@Jarred-Sumner See https://github.com/simdutf/simdutf/pull/382 where support for UTF-16 inputs has been added.


Missing 'to' in sentence

Missing 'to' in this sentence: "the ability query the data on the blockchain without sacrificing performance is a challenge."

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

ID: 5723d76a-19f1-4a43-fd31-0fbf2d715ee2
Version Independent ID: 15560467-3bd1-d6aa-8216-43ca7eaba907
Content: Azure SQL Database ledger overview - Azure SQL Database
Content Source: articles/azure-sql/database/ledger-overview.md
Service: sql-database
Sub-service: security
GitHub Login: @JasonMAnderson
Microsoft Alias: janders

@vitoc Thank you for the feedback. We are actively investigating and will get back to you soon.

@vitoc Thanks for reporting this. We have created a PR. This PR could take few days to get approved and will then be live in this document.
We will now proceed to close this thread. If there are further questions regarding this matter, please comment and we will gladly continue the discussion.


Strange "+~" result

I'm just learning Pony, but I think the semantics of the "+~ " operator is defined incorrectly.
The "+ ~ " operator assumes that it is translated into a pure machine code. Of course, the help specifies that the result is unpredictable.
However, the meaning of this operation is to translate to the exact machine code of the addition operation.
I can see that this is not happening
actor Main
	new create(env: Env) =>
		var w = U32.max_value()
		var x = w + 1
		env.out.print("w + 1       " + x.string())	// 0

		x = w + U32(1)
		env.out.print("w + U32(1)  " + x.string())	// 0

		x = w +~ 1
		env.out.print("w +~ 1      " + x.string())	// 0

		x = w +~ U32(1)
		env.out.print("w +~ U32(1) " + x.string())	//<PHONE_NUMBER>, but must be 0

		let y = U32.max_value() - 1
		x = y +~ 2
		env.out.print("y +~ 2      " + x.string())	// 0

		x = y +~ U32(2)
		env.out.print("y +~ 2      " + x.string())	// 0

Unfortunately, I couldn't figure out from the generated assembler exactly what happened.
However, even the fact that the result of operation "w +~ 1" differs from the result of operation "w +~ U32(1)" is alarming. And it doesn't exactly match for the simple machine command "add" on Intel x64
ponyc -v
0.33.2-aff95ec [release]
(windows 7 x64)

Thanks for sharing your concerns, but I think we are good here.
Contrary to common belief +~ does not directly translate to the raw machine instruction for add. It translates directory to the LLVM add with the nuw flag. https://releases.llvm.org/9.0.0/docs/LangRef.html#add-instruction
When compiling your pony program in debug mode (using --debug), no optimizations are applied, and +~ should translate to an add instruction, your result will be undefined and depend on how this instruction behaves. Again, those operations are in fact undefined, you shouldn't rely on how they behave. Expect your computer to catch fire in those cases!
I see the same output as you above, when compiling in release mode. Release mode applies several optimization to the generated LLVM IR. Given all operations above show undefined behaviour, I do not see a problem with the actual output. Especially since all operations above depend on constant values alone, and should be folded into a single static numeric result, which, again, could be anything (maybe the number of your local fire departement).
So I think your initial assumption that +~ will directly translate to a raw add instruction is mistaken. Not completely mistaken, as in mostly all cases it does. But in case of undefined behavior, it could be anything.

the meaning of this operation is to translate to the exact machine code of the addition operation

This is not true. The ponyc compiler (and the underlying LLVM machinery) are free to optimize undefined behavior into something that might be surprising. Compare e.g. https://godbolt.org/z/2BDmpy which is roughly the same LLVM IR, produces by ponyc --debug ... when processed with clang using -O3, so with heavy optimizations enabled.

FTR, the given example produces "0" for all on my machine (Linux x64) as it does on playground; https://playground.ponylang.io/?gist=4e6c3e3cdf3cdb26c8501ed6b24ca627


remove the hash from the ignoreUrls in docs

Hello, the docs for ignoreUrls have a mysterious hash that me and my team think may be a mistake in the docs. I have updated it to prevent others from having the same discussion.
... or maybe is has some mysterious power we can't figure out?

I signed it!


Add Level Order Traversal For Binary Tree (C++)

Closes #192

Hey @rudrakshi99 , I've added testcases and time and space complexities. Please let me know if there are any more changes.

Add the 2 test cases in the comments also at the end with input and output. Do refer to our code folder, you will get an idea.

@rudrakshi99  I've made the required changes.

Just replace null with nullptr then we are good to merge.

I have made the required changes. Kindly review it.


[BugFix] Skip the temporary directory created by spark when list hive directory recursively

Why I'm doing:
Spark job/sql will created temporary named _temporary to storing  intermediate work for ensuring consistency of the final result.  StarRocks does not skip the _temporary directory and its files when querying a Hive table, which can cause the query to fail or yield incorrect results.
What I'm doing:
Skip directory named _temporary when recursively listing Hive directories
Fixes #42060
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[x] Yes, this PR will result in a change in behavior.
[ ] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[x] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

[x] This is a backport pr

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.2
[x] 3.1
[ ] 3.0
[ ] 2.5

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

@haiboself Please sign the CLA, and then the commit can be accepted.

done, thanks~


Feat: Integrate ansys visualization tool

Integrate ansys-visualization tool

Great work 🙂
A couple of minor changes, let me know when you fix them.

Thanks for reviewing. I have updated the comments. Please re review


Code files cannot be downloaded from The Coding Train website. More details below.

When I want to download some code from the Coding Train Website, the browser takes me to https://minhaskamal.github.io/DownGit/ And when I try to download the .zip file in my Chrome browser, Chrome blocks the file saying that "This file is dangerous so chrome has blocked it."
I hope this issue gets resolved soon.

duplicate of #2178


go/types: Scope.Innermost is incorrect for type parameters

Scope.Innermost should return the innermost lexical environment block (Scope) for an identifier, but it returns the wrong answer for references to type parameters outside the function body, because the position of the type parameter is not in the pos-end range of the function body scope.
This problem is not a blocker for gopls, only a problem for the test case in  https://go.dev/cl/544035.
The fix for this issue will allow us to remove the  "continue if name is U" statement.

Marking for 1.22 for visibility, in case we get to it. Not a release blocker.


How use with Vite.js, especially displayName for debugging.

When using with CRA, its possible to see name of component inside css classes, but I cannot figure out how to make a nice developing/debugging experience when using with Vite.js. Is there any advices how to show in classes names of components when using with Vite.js?

I suggest using https://www.npmjs.com/package/vite-plugin-babel-macros and importing from styled-components/macro. We have this working nicely in our vite setup (although that's with a custom plugin that should do the same as the package I pointed you too).

Hi @rockwotj, please could you share your code how you set it up?
I have this config
// vite.config.ts
import { defineConfig } from 'vite';
import reactRefresh from '@vitejs/plugin-react-refresh';
import macrosPlugin from "vite-plugin-babel-macros"

export default defineConfig({
  plugins: [
    reactRefresh(),
    macrosPlugin(),
  ],
});

And then I just import from styled-components/macros
// App.tsx

import styled from 'styled-components/macros';

But I get a Typescript error

Hi @rockwotj, please could you share your code how you set it up?
Or could you please tell me what am I doing wrong?

Looks like it's not installed. Did you run npm install?

Oh my bad, I was using plural /macros instead of singular /macro 🤦♂
Now it's working properly, thanks a lot!

@ronaldruzicka I added the macros plugin and started importing styled like this:
import styled from 'styled-components/macro
But I still don't get proper class names, they are still randomized/minified. Is there anything else I should do?

@IvanBernatovic you need to have a config file to get display names, see the docs for more: https://styled-components.com/docs/tooling#experimental-config

@IvanBernatovic I didn't use any other config. I just included that macrosPlugin in the vite.config.ts and then used import styled from 'styled-components/macro'; in the component and it worked.
I have these versions:
"styled-components": "^5.3.0"
"vite-plugin-babel-macros": "^1.0.5",

But maybe try that experimental config as well.

@rockwotj @ronaldruzicka Thank you for your responses! I tried to add config as per styled-components docs but it still didn't work. I tried many things but in the end, solution was even simpler than this approach. This is what worked for me in vite.config.js:
// vite.config.js

export default defineConfig({
  plugins: [
    react({
      babel: {
        plugins: [
          [
            'babel-plugin-styled-components',
            {
              displayName: true,
              fileName: false
            }
          ]
        ]
      }
    })
  ]
})

No need to install any other plugin for babel macros (nor vite nor babel macros plugin) and no need to change exports to import styled from 'styled-components/macro'.

@IvanBernatovic
I'm new to Vite. What additional config should I have to run the same plugin in a Typescript project?
If I just add it as in your example, I get lots of errors from vite. It seems that it tries to parse all TS typecasts as react components :)
E.g.  it thinks that <ISomeInterface> is a component and complains.

@IvanBernatovic I'm new to Vite. What additional config should I have to run the same plugin in a Typescript project? If I just add it as in your example, I get lots of errors from vite. It seems that it tries to parse all TS typecasts as react components :) E.g. it thinks that <ISomeInterface> is a component and complains.

Unfortunately, I can't help you with that as I don't have this setup (vite+typescript+styled-components) so I can't tinker around with config. Maybe if you had a reproducible example (a repo or codesandbox project) I could take a look.
Did you try other approaches from previous comments?

E.g. it thinks that <ISomeInterface> is a component and complains.

@velsa That's a known peculiarity of tsx. For generics you can use <T extends unknown> (you don't need this if there are two or more params, only one). For casting you can use as. See https://github.com/Microsoft/TypeScript/issues/6897 and lots more if you google tsx generic cast

@IvanBernatovic

But I still don't get proper class names, they are still randomized/minified. Is there anything else I should do?

Just connecting some dots, this was almost certainly because of https://github.com/styled-components/styled-components/issues/3635

Btw, for anyone interested, I eventually did the following:
  plugins: [
    // For all styled components:
    // create classnames from fileName and displayName in development
    react({
      babel: {
        presets: ['@babel/preset-typescript'],
        plugins: [
          '@babel/plugin-transform-typescript',
          [
            'babel-plugin-styled-components',
            {
              ssr: false,
              pure: true,
              displayName: true,
              fileName: false,
            },
          ],
        ],
      },
    }),
  ];

I added vite react plugin which accepts babel configuration and I am also doing TS transform ('@babel/plugin-transform-typescript) before using babel-plugin-styled-components.
This approach seems to play nicely with vite )

@rockwotj @ronaldruzicka Thank you for your responses! I tried to add config as per styled-components docs but it still didn't work. I tried many things but in the end, solution was even simpler than this approach. This is what worked for me in vite.config.js:
// vite.config.js

export default defineConfig({
  plugins: [
    react({
      babel: {
        plugins: [
          [
            'babel-plugin-styled-components',
            {
              displayName: true,
              fileName: false
            }
          ]
        ]
      }
    })
  ]
})

No need to install any other plugin for babel macros (nor vite nor babel macros plugin) and no need to change exports to import styled from 'styled-components/macro'.

not working on production.
Did someone managed to make it work on production mode?

@rockwotj @ronaldruzicka Thank you for your responses! I tried to add config as per styled-components docs but it still didn't work. I tried many things but in the end, solution was even simpler than this approach. This is what worked for me in vite.config.js:
// vite.config.js

export default defineConfig({
  plugins: [
    react({
      babel: {
        plugins: [
          [
            'babel-plugin-styled-components',
            {
              displayName: true,
              fileName: false
            }
          ]
        ]
      }
    })
  ]
})

No need to install any other plugin for babel macros (nor vite nor babel macros plugin) and no need to change exports to import styled from 'styled-components/macro'.

This works for me too, but needed to also add ssr: false. :warning:  Without this hot-reload of styles was not reliable at all - changing properties works, but removing would just keep last value always persisted (until next reload).
react({
  babel: {
    plugins: [
      ['babel-plugin-styled-components', { ssr: false, pure: true, displayName: true, fileName: true }]
]}})

On the other hand I am not confident if this is proper solution or some kind of ugly thing like we all hate from CRA (Rewire/Craco). Would be nice if Vite would be able to support such basic styled-components functionality out of the box or at least have documented how to do it correctly.

Hey, I'm trying to use vite-plugin-babel-macros inside my project. It works, but I'd like not to have the fileName displayed inside the generated class. I tried like this, but I still have the fileName inside the class:
export default defineConfig({
    plugins: [
        react({
            babel: {
                plugins: [
                    [
                        "babel-plugin-styled-components",
                        {
                            fileName: false,
                            displayName: true,
                            meaninglessFileNames: ["index", "styles"],
                        },
                    ],
                ],
            },
        }),
        macrosPlugin(),
    ],
})

How can I fix it? Thanks!

Hi guys
I managed to have this config working in at least couple of ways (only displayName, namespace, fileName...) but the result is that elements has now classes with prefixes done accordingly to the configuration plus additional not prefixed class that is actually used in generate CSS. This is not what I expected, I hoped to have CSS styles assigned to prefixed classes. Is there a way to add some prefixes to classes that are actually used?

@MeLlamoPablo works for me, thanks.
For anyone who needs to customize the config a bit more, here all the available params: https://styled-components.com/docs/tooling

@rockwotj @ronaldruzicka Thank you for your responses! I tried to add config as per styled-components docs but it still didn't work. I tried many things but in the end, solution was even simpler than this approach. This is what worked for me in vite.config.js:
// vite.config.js

export default defineConfig({
  plugins: [
    react({
      babel: {
        plugins: [
          [
            'babel-plugin-styled-components',
            {
              displayName: true,
              fileName: false
            }
          ]
        ]
      }
    })
  ]
})

No need to install any other plugin for babel macros (nor vite nor babel macros plugin) and no need to change exports to import styled from 'styled-components/macro'.

I also got the same issue my vite-config doesn't change anything it remains the same when I install vite.
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [react()],
})

I try a lot of things to solve this issue but till now I can't able to solve this issue in my system.
 "dependencies": {

    "eslint-plugin-styled": "^0.1.0",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "styled-components": "^6.0.3",
    "vite-plugin-babel-macros": "^1.0.6"
  },
  "devDependencies": {
    "@types/react": "^18.2.14",
    "@types/react-dom": "^18.2.6",
    "@vitejs/plugin-react": "^4.0.1",
    "babel-plugin-styled-components": "^2.1.4",
    "eslint": "^8.44.0",
    "eslint-plugin-react": "^7.32.2",
    "eslint-plugin-react-hooks": "^4.6.0",
    "eslint-plugin-react-refresh": "^0.4.1",
    "vite": "^4.4.0"
  }

I also installed the babel macros but the issue is not solved
code app.js :
import styled from 'styled-components/macros';
function App() {

  return (
   <Container>
      hello
   </Container>
  )
}

export default App

const Container=styled.button`
  color: red;
`

issue :

15 |    window.$RefreshSig$ = RefreshRuntime.createSignatureFunctionForTransform;
16 |  }
17 |  import styled from "styled-components/macros";
|                      ^
18 |  function App() {
19 |    return /* @PURE */ jsxDEV(Container, { children: "hello" }, void 0, false, {

Is there a way to configure styled-components to show fileName and/or displayName in classes when using @vitejs/plugin-react-swc for the react transpilation?

Disabling ssr helped in my case (Nx, Vite, latest versions of SC and babel plugin)

Just leaving this for anyone stuck like I was. I needed an older version of styled-components in order to get the /macro folder working with my Vite/React/Styled-components project. The version I settled on was 5.3.0. I believe the folder was removed after 5.3.0 because of low usage. After getting the correct version, a compilation of the advice above worked for me.

So In 2024, what is the way to get this working? I have spent about two hours messing around with this and I still simply get an error every time I try to spin up my app. Debugging is terrible. Why is this a separate package and not a config for the base library? Who doesn't need readable class names when debugging?

So In 2024, what is the way to get this working? I have spent about two hours messing around with this and I still simply get an error every time I try to spin up my app. Debugging is terrible. Why is this a separate package and not a config for the base library? Who doesn't need readable class names when debugging?

I'm using the @vitejs/plugin-react-swc plugin, which itself accepts an array of plugins. This is the config I'm using
[
      '@swc/plugin-styled-components',
      {
        displayName: true,
        fileName: true,
        ssr: false,
      },
    ]

So basically no babel plugin, but if you can make the switch, this works perfectly fine.

@Sheraff Thanks for the pointer. For me, unfortunately, it gives me a deadlock when trying to build, no idea why. Would love to hear if it happens to anyone else and if they could resolve it.

@aesy You're not alone, @vitejs/plugin-react-swc doesn't seem to do the trick for me. During development, index.html loads, but after that, Vite just crashes silently.

[vite] Pre-transform error: failed to handle: assertion failed: !result.is_null() (x2)
I am getting this error
This is the config i am using
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react-swc'
import { nodePolyfills } from 'vite-plugin-node-polyfills'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [react({
    plugins: [[
      "@swc/plugin-styled-components",
      {
        displayName: true,
        ssr: true,
        namespace: "wylo",
      }
    ]]
  }), nodePolyfills()]
})

For those having trouble with @swc/plugin-styled-components, I found luck with downgrading to<EMAIL_ADDRESS>https://github.com/vitejs/vite-plugin-react-swc/issues/190#issuecomment-1907977402
Before that, vite was just crashing for me.
SWC Config
install
npm install --save styled-components
npm install --save-dev @vitejs/plugin-react-swc<EMAIL_ADDRESS>
vite.config.js:
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react-swc'

export default defineConfig({
  plugins: [
    react({ plugins: [["@swc/plugin-styled-components", {}]] })
  ],
})

Babel Config
install
npm install --save styled-components
npm install --save-dev @vitejs/plugin-react babel-plugin-styled-components
```
### vite.config.js
```
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'

export default defineConfig({
  plugins: [react({
    babel: {
      plugins: [['styled-components', { displayName: true }]]
    },
  })],
})
```

## Babel Macros Config
### Install
```
npm install --save styled-components
npm install --save-dev vite-plugin-babel-macros @vitejs/plugin-react-swc
```
### vite.config.js
```
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react-swc'
import macrosPlugin from 'vite-plugin-babel-macros'

export default defineConfig({
  plugins: [
    macrosPlugin(),
    react()
  ],
})
```
### usage
```
import styled from 'styled-components/macro'

const Container = styled('div')`
  border: 4px solid green;
`
```

Thank you all for your responses. I am hesitant to bind myself to old versions, and as I am beginning a new project, I think I will simply opt for a different way to manage styling inside of React rather than using styled components.

SWC Config
install
npm install --save styled-components
npm install --save-dev @vitejs/plugin-react-swc @swc/plugin-styled-components @swc/core @vite/plugin-legacy terser

vite.config.js:
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react-swc'
import legacy from '@vitejs/plugin-legacy'

export default defineConfig({
  plugins: [
    react({ plugins: [["@swc/plugin-styled-components", {}]] }),
    legacy(),
  ],
  define: {
    'process.env.NODE_ENV': `'${mode || 'production'}'`, // browser throws an error about process not defined on determineTheme.ts
    'SC_DISABLE_SPEEDY': "true", // needed to enable vendor prefixing using 'vite build'
    // using process.env.SC_DISABLE_SPEEDY doesnt work due to the way styled-components checks for process.env
    // https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/constants.ts#L17
    // I'm guessing process.env ternary worked in webpack but doesn't work with vite
    // you also need to wrap the app with <StyleSheetManager enableVendorPrefixes={true}>
  }
})

package.json
  "dependencies": {
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "styled-components": "^6.1.8"
  },
  "devDependencies": {
    "@swc/core": "^1.3.106",
    "@swc/plugin-styled-components": "^1.5.115",
    "@vitejs/plugin-legacy": "^5.2.0",
    "@vitejs/plugin-react-swc": "^3.5.0",
    "terser": "^5.27.0",
    "vite": "^5.0.8"
  },


Viewing the data structure

Hello,
My apologies for the basic question, but is there an easy way to inspect the data structure of the editor at any moment?
Or -if not- could you maybe point me to the name of the js object that holds the rich text?
Thank you very much.

https://hufe.club/canvas-editor-docs/en/guide/command-get.html#getvalue


Partial revert "vendor: Bump netlink to include timeouts"

This is a partial revert of commit 3ee6824ef14b (" vendor: Bump netlink
to include timeouts") to roll back to an earlier version of the forked
upstream library which includes only upstream commit 9de6d08565b3
("Allow to set/get netlink socket timeout for default handle"), which
was the original target of the backport, plus the forked commit
d826f2a4c934 ("netlink: xfrm, add optional field to XfrmPolicyTmpl")
which resolves a known issue with encryption.
Mitigates issues with newer versions of the upstream library which
break the build by changing the public route structure definition and
introducing dependencies on unix libraries that are not exported on all
platforms (see the deleted lines for more details).
These changes were only present on the v1.9 branch as they were
performed as part of the backporting duties on that PR only, not on
master or the v1.8 branch backport.
Implemented via:
$ go mod edit -replace github.com/vishvananda/netlink=github.com/cilium/netlink@d826f2a4c934c4404b5da0f2b974ec253d8002d5
$ go mod tidy
go mod vendorgo: downloading github.com/cilium/netlink v1.0.1-0.20210223023818-d826f2a4c934
$ go mod vendor

There should be no impact on fixed bugs in existing releases, in effect this reverts the following upstream commits:
https://github.com/vishvananda/netlink/commit/3bf47faadc7f87746ce454fb8f7ff2bb68d9f917
https://github.com/vishvananda/netlink/commit/ec93726159aeeb86e36a0e4b6d120089434fe02e
Fixes: 3ee6824ef14b (" vendor: Bump netlink to include timeouts")

test-backport-1.9

test-backport-1.9


Change the Azure Artifacts download to this

Currently when you go to Azure Artifacts and click Connect to feed, you see this:

Given that Gen 1 credential providers are soon to be deprecated, shouldn't the bits in this repo be what is linked to from there?
Edit: apologies if this is the wrong place to raise it

hi @slang25 , thanks for the feedback. We're taking a look the entire "connect to feed" experience, but we've also talked about updating outdated versions and such in it before we make large updates. Hoping we can get it updated beforehand since we've gotten a few suggestions now.

Thanks for raising the issue! The instructions in the Connect to feed dialog now recommend using this cred provider instead.


In the python support lib, the list of numpy types is wrong, it mixes kind and type/char

In GitLab by @jbigot on Feb 26, 2021, 15:33

In GitLab by @ksiero on Mar 5, 2021, 12:01
mentioned in commit 9c281efc9ccfe13fb38952b98e3bd32d8d9334f0

In GitLab by @ksiero on Mar 5, 2021, 14:51
mentioned in commit 51e5ad924d56af5610551aab44d315deaa032ef4

In GitLab by @ksiero on Mar 5, 2021, 12:03
mentioned in commit 53490c2c284606a6a9d232d9c2cfb7b38b7a4516

In GitLab by @ksiero on Mar 26, 2021, 14:29
mentioned in commit a3884cf79a0cdc0a193dccdc1495a439bcb9a54d

In GitLab by @ksiero on Mar 24, 2021, 15:15
mentioned in commit e26d214d14698ba263aeb590882d7a78af4f7496

In GitLab by @ksiero on Mar 17, 2021, 09:21
mentioned in commit e63f7ac09c9b50832c4b2e43f957756e3796d9e7