Enable udev by default (it can be useful when using usbip)

We can support usbip with the Microsoft Store version of WSL (I think that's the one that introduced the change, also turned on WSLg)
Related is https://github.com/nix-community/NixOS-WSL/pull/175#discussion_r1048284393 which is where it got disabled, because it wasn't necessary rather than because it broke things
See https://github.com/nix-community/NixOS-WSL/issues/111 for NixOS-WSL usbip discussion

The rationale it's disabled by default is that it's not typically needed, so it shouldn't be installed. Is there anything else needed for usbip or does it just work out of the box if udev is enabled?

It works out of the box* even without this, just udev rules don't work without this of course.
*The corporate firewall has all public network ports closed without being able to bypass (presumably excluding system DHCP probably) so I cannot use anything with WSL that needs to listen on the Windows host and connect to it from WSL. So I have a wireguard tunnel between the two, which I can change the connection profile to be private (I couldn't for the WSL/Hyper-V switch). This just means I cannot use the helper usbip
win admin> usbipd.exe wsl attach -b 2-1

and have to instead do
win admin> usbipd.exe bind -r 2-2
wsl$ sudo usbip attach -r <IP_ADDRESS> -b 2-1

where <IP_ADDRESS> is the win host side of the wireguard tunnel.
Of course I don't blame IT, I think closing public network ports sounds reasonable, but not being able to change the network connection profile for Hyper-V switches is annoying

You can just turn udev on for your config.
The average WSL user does not need udev.

Sure, and I already do this, but the question is why not have it enabled as the default? Maybe it's just because my colleagues also work with embedded software, but everyone else I know uses WSL with usbip (and udev rules for openocd). It doesn't make that much of a difference:
❯ git show
commit 9a806060b71a021ec5d71c2fabdb250893be1082
Author: Kovacsics Robert<EMAIL_ADDRESS>Date:   Thu Mar 9 00:15:35 2023 +0000

    Add udev config

diff --git a/flake.nix b/flake.nix
index 7ec08e9..42077e0 100644
--- a/flake.nix
+++ b/flake.nix
@@ -39,6 +39,14 @@
         ];
       };

+      nixosConfigurations.mysystem-udev = nixpkgs.lib.nixosSystem {
+        system = "x86_64-linux";
+        modules = [
+          ./configuration.nix
+          { services.udev.enable = true; }
+        ];
+      };
+
     } //
     flake-utils.lib.eachSystem
       [ "x86_64-linux" "aarch64-linux" ]

❯ nix build '.#nixosConfigurations.mysystem.config.system.build.installer' -o mysystem-installer
❯ nix build '.#nixosConfigurations.mysystem-udev.config.system.build.installer' -o mysystem-installer-udev
❯ ls mysystem-installer*/tarball/*.tar.gz
╭───┬────────────────────────────────────────────────────────────┬──────┬──────────┬──────────────╮
│ # │                            name                            │ type │   size   │   modified   │
├───┼────────────────────────────────────────────────────────────┼──────┼──────────┼──────────────┤
│ 0 │ mysystem-installer/tarball/nixos-wsl-installer.tar.gz      │ file │ 395.0 MB │ 53 years ago │
│ 1 │ mysystem-installer-udev/tarball/nixos-wsl-installer.tar.gz │ file │ 396.8 MB │ 53 years ago │
╰───┴────────────────────────────────────────────────────────────┴──────┴──────────┴──────────────╯

Though perha

I don't think the size of the tarball is an issue at all. I'm more interested in how much having udev affects startup times. It's probably not much, but if it is something like 5 seconds or more, I'd rather leave it as opt-in and put the relevant flag in configuration.nix with a comment instead

Good news on that front (sorry about the ugly sed expression, it just highlights the lines matching udev for GFM diff syntax highlighting):

Couple runs of `wsl.exe --shutdown`, then using `systemd-analyze` to check the startup time

❯ systemd-analyze blame | sed 's/.*udev.*/+&/; t; s/.*/ &/'
 1.280s wsl_resolv.service
 1.086s tailscaled.service
  605ms home-manager-rmk.service
  521ms<EMAIL_ADDRESS>  515ms dbus.service
  492ms systemd-logind.service
  242ms dev-sdc.device
  212ms systemd-resolved.service
  184ms systemd-tmpfiles-clean.service
  147ms WSL2-VPN.service
+  69ms systemd-udev-trigger.service
   49ms systemd-journal-flush.service
   44ms clamav-freshclam.service
   44ms systemd-journald.service
   41ms nscd.service
+  32ms systemd-udevd.service
   23ms systemd-tmpfiles-setup-dev.service
   21ms dev-mqueue.mount
   21ms clamav-daemon.service
   20ms sys-kernel-debug.mount
   19ms alsa-store.service
   18ms<EMAIL_ADDRESS>   18ms dev-hugepages.mount
   17ms<EMAIL_ADDRESS>   15ms systemd-modules-load.service
   14ms systemd-tmpfiles-setup.service
   13ms logrotate-checkconf.service
   13ms<EMAIL_ADDRESS>   12ms sshd.service
   10ms systemd-binfmt.service
    9ms systemd-update-utmp.service
    6ms systemd-sysctl.service
    6ms sys-fs-fuse-connections.mount
    5ms systemd-user-sessions.service
    5ms atop-rotate.service
    5ms<EMAIL_ADDRESS>    4ms<EMAIL_ADDRESS>
 1.669s wsl_resolv.service
  843ms home-manager-rmk.service
  215ms tailscaled.service
  195ms<EMAIL_ADDRESS>  187ms dev-sdc.device
  138ms systemd-resolved.service
  130ms dbus.service
  111ms systemd-logind.service
   81ms WSL2-VPN.service
   76ms systemd-tmpfiles-setup.service
   48ms systemd-journald.service
+  47ms systemd-udev-trigger.service
+  44ms systemd-udevd.service
   35ms systemd-journal-flush.service
   33ms dev-hugepages.mount
   32ms dev-mqueue.mount
   31ms sys-kernel-debug.mount
   30ms nscd.service
   30ms<EMAIL_ADDRESS>   29ms systemd-sysctl.service
   28ms<EMAIL_ADDRESS>   28ms<EMAIL_ADDRESS>   27ms<EMAIL_ADDRESS>   16ms systemd-tmpfiles-setup-dev.service
   15ms clamav-daemon.service
   14ms alsa-store.service
   11ms<EMAIL_ADDRESS>   11ms systemd-user-sessions.service
    9ms logrotate-checkconf.service
    8ms systemd-update-utmp.service
    8ms systemd-binfmt.service
    7ms sshd.service
    2ms sys-fs-fuse-connections.mount

I'm using a decent laptop (Lenovo P15s)
❯ neofetch
          ▗▄▄▄       ▗▄▄▄▄    ▄▄▄▖            rmk@cc-wsl
          ▜███▙       ▜███▙  ▟███▛            ----------
           ▜███▙       ▜███▙▟███▛             OS: NixOS 23.05.20230226.9952d6b (Stoat) on Windows 10.0.19044 x86_64
            ▜███▙       ▜██████▛              Kernel: <IP_ADDRESS>-microsoft-standard-WSL2
     ▟█████████████████▙ ▜████▛     ▟▙        Uptime: 3 mins
    ▟███████████████████▙ ▜███▙    ▟██▙       Packages: 1194 (nix-system), 322 (nix-user)
           ▄▄▄▄▖           ▜███▙  ▟███▛       Shell: zsh 5.9
          ▟███▛             ▜██▛ ▟███▛        Theme: WhiteSur-Light [GTK2/3]
         ▟███▛               ▜▛ ▟███▛         Icons: Adwaita [GTK2/3]
▟███████████▛                  ▟██████████▙   Terminal: st
▜██████████▛                  ▟███████████▛   CPU: 11th Gen Intel i7-1165G7 (8) @ 2.803GHz
      ▟███▛ ▟▙               ▟███▛            GPU: Microsoft Corporation Basic Render Driver
     ▟███▛ ▟██▙             ▟███▛             Memory: 1989MiB / 15857MiB
    ▟███▛  ▜███▙           ▝▀▀▀▀
    ▜██▛    ▜███▙ ▜██████████████████▛
     ▜▛     ▟████▙ ▜████████████████▛
           ▟██████▙       ▜███▙
          ▟███▛▜███▙       ▜███▙
         ▟███▛  ▜███▙       ▜███▙
         ▝▀▀▀    ▀▀▀▀▘       ▀▀▀▘

That's better than I expected! I'm gonna merge it then
Off-Topic question: What ls replacement are you using?

@nzbr It's the built-in one to https://www.nushell.sh/ actually, it's nushell that's clever and supports structured data :) It is definitely experimental though, I've got plenty of things I plan on contributing to it

Unless it has nerdfont symbol support, I don't think I could use it :(

Jokes aside: those new shells are not fully grown up yet and often feel more like toys. Also that nothing continues to work is always a big bummer.


Add widget app

Using new schema add widget app, delete measurement_groups ...

 Add widget app

#34 Pull request merged 8/15/2019.


Support for Laravel 10

It seems that some composer dependencies conflict with the requirements of laravel 10 framework. This issue does not allow projects that use this package, to upgrade to laravel 10.
No breaking code changes were necessary, however a small update on the composer.json file was required. The package was tested on a brand new laravel 10 project and it worked without any issues
Updated
Composer.json now requires the following:

illuminate/contracts: ^10.0
orchestra/testbench: ^8.0

Additional comments

Packages like phpunit or nunomaduro/collision could be updated, however this is not necessary and could be examined further whether this is something that should change. At the moment this can be ignored as some versions are still not stable to support these changes
If it is strictly necessary to support both laravel 9 and laravel 10 on newer version of this package, then I can change the composer.json to support both versions (e.g. ^9.0|^10.0). In my opinion this is not necessary though as no changes have been made that affect the two. In my opinion a new version (e.g. 2.0) shall be enough.

Very detailed description <3

If it is strictly necessary to support both laravel 9 and laravel 10 on newer version of this package, then I can change the composer.json to support both versions (e.g. ^9.0|^10.0)

Yes, please. Since L10 is still pretty new, not many systems want to upgrade right away. And there are no changes in this package so v2 doesn't make sense. So let's support L9, for now.
Thanks again @Mikhail-Konstantinou

@l3aro Now this change should support both laravel 9 and laravel 10. I tested again my laravel 10 application it seems to be working. Let me know if you need anything else


"Invalid byte sequence in conversion input" while using an emoji in a command

VS Code Version: 1.54.3
OS Version: 5.9.16-1-MANJARO

Steps to Reproduce:

Go to VSCode terminal and execute the following command notify-send -a "Reminder 🐍" -t 5000 -u "normal" "Blink"
It will do the same while executing a Python script from VS Code which executes the same command.
While moving the cursor from left to right or vice-versa after navigating the previously executed command (via up-arrow key), characters get replaced with adjacent characters (weird issue) and the most right one remains there and isn't navigable.

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

Please provide a screenshot or a gif illustrating the problem (attaching images won't work via email, you need to go to github.com). See this wiki page for more general info on how to report actionable terminal issues.
/label "needs more info" integrated-terminal

Commands I executed in Terminal:

echo "Hello 🐍"
notify-send -a "Reminder 🐍" -t 5000 -u "normal" "Blink"

Also,
I tried to navigate to left and right using arrow keys on my keyboard, but it there's a weird glitch which can be seen in the gif attached below.

Whenever I try to commit from gitlens, I'm facing another issue it redirects to my terminal for GPG key but my own terminal starts glitching as well.


Make the document name configurable

User Story
As a User of the Terraform AWS SSM Agent for Lacework,
I would like to have a way to configure the name of the document that I will create,
So I don't have duplication collisions with the document name.

We are already able to customize the document name with the input prefix


Update darteditor caveat

Sorry, I forgot to include this in the other commit.

Thank you for the contribution. It was merged directly as 83814a84a7ecfc91cf6655b66e8482a989278c55 to keep commit history cleaner. Your contribution is still credited to you.


os/signal: Notify for SIGUSR2 from the same proc inside a goroutine doesn't work

A process can't use os/signal.Notify inside a goroutine to signal itself with SIGUSR2.
Works as expected (outside the goroutine):
func main() {
	var c = make(chan os.Signal, 1)
	signal.Notify(c) // outside the goroutine

	var done = make(chan struct{})
	go func() {
		fmt.Println(<-c)
		done <- struct{}{}
	}()
	if err := syscall.Kill(os.Getpid(), syscall.SIGUSR2); err != nil {
		panic(err)
	}
	<-done
}

Doesn't work as expected (inside the goroutine):
func main() {
	var done = make(chan struct{})
	go func() {
		var c = make(chan os.Signal, 1)
		signal.Notify(c) // inside the goroutine

		fmt.Println(<-c)
		done <- struct{}{}
	}()
	if err := syscall.Kill(os.Getpid(), syscall.SIGUSR2); err != nil {
		panic(err)
	}
	<-done
}

Expected: Doesn't hang
Actual: Hangs
The Notify documentation doesn't say it has to be called in the main goroutine.

Beware of race conditions...
func main() {
    var done = make(chan struct{})
    var done2 = make(chan struct{})
    go func() {
        var c = make(chan os.Signal, 1)
        signal.Notify(c) // inside the goroutine
        done2 <- struct{}{} //signal registration
        fmt.Println(<-c)
        done <- struct{}{}
    }()
    <-done2  //wait for registration
    if err := syscall.Kill(os.Getpid(), syscall.SIGUSR2); err != nil {
        panic(err)
    }
    <-done
}

Marvin

Ouch, didn't see it. Thanks!


Update howto-vm-sign-in-azure-ad-windows.md

Two Sections to be changed.

Addition of a new error and how to solve
Curl command to endpoints

@AJM20202021 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#label:"aq-pr-triaged"

Note that the pull request reports issues and is not ready to merge.

PG has reviewed and updated already. #please-close


[REVIEW] [infra-557] - Adding space select functionality for position

Description
Adding the ability to use space to select position
Acceptance Criteria
Tested locally via nix-shell

https://github.com/charmbracelet/bubbletea/blob/b8ef6f85ea1f0f6a05496a845a4d33483c0bf717/key.go#L287

https://github.com/charmbracelet/bubbletea/blob/b8ef6f85ea1f0f6a05496a845a4d33483c0bf717/key.go#L287

@jshcmpbll cool idea, I like it! But I think it should only work on the checkbox and submit items. Since the name of the user will have a space and that results in it jumping to the Email section.
Additionally something I noticed while testing this locally:
If logged in and selected the following scenario:
> Full Name
> Email

[ ] Senior Software Engineer
[x] Software Engineer

[ Submit ]

Highlight [ Submit ] and press the <spacebar> it will remove your selection for the role resulting in:
> Full Name
> Email

[ ] Senior Software Engineer
[ ] Software Engineer

[ Submit ]

 Resume status: not found


feat: add model for at-risk learners (FC-0051)

This change adds a new model, dim_at_risk_learners, which aims to collect a list of learners who meet the criteria for being at risk of dropping out of a given course.

Thanks for the pull request, @SoryRawyer! Please note that it may take us up to several weeks or months to complete a review and merge your PR.
Feel free to add as much of the following information to the ticket as you can:

supporting documentation
Open edX discussion forum threads
timeline information ("this must be merged by XX date", and why that is)
partner information ("this is a course on edx.org")
any other information that can help Product understand the context for the PR

All technical communication about the code itself will be done via the GitHub pull request interface. As a reminder, our process documentation is here.
This is currently a draft pull request. When it is ready for our review and all tests are green, click "Ready for Review", or remove "WIP" from the title, as appropriate.

@bmtcril It's ready, I was just unsure about the logic for determining at-risk users so I figured I'd leave it in draft until that was cleared up.

@SoryRawyer 🎉 Your pull request was merged!  Please take a moment  to answer a two question survey so we can improve your experience in the future.


Limit of 4-way detect with 4 duplicates

However, I only used 3 of inputs, the last one is burnt

What's the actual limit? Any reference about?

It is not obvious to me what the ideal strategy would look like or if one could apply known results (e.g. "Optimal Quantum Cloning Machines" of Buzek and Hillery), given the particular set-up of the level (i.e. only a discrete set of inputs states is given, and the outputs are only judged as correct if they match exactly).
My own solution (which used all four input copies) averages 927 correct, although I suspect that it would be possible to do much better. Maybe we should start a leaderboard?

I assumed it reasonable to read the question as "output two bits indicating its rotation" so the set-ups fits more

It is not obvious to me what the ideal strategy would look like or if one could apply known results (e.g. "Optimal Quantum Cloning Machines" of Buzek and Hillery), given the particular set-up of the level (i.e. only a discrete set of inputs states is given, and the outputs are only judged as correct if they match exactly).
My own solution (which used all four input copies) averages 927 correct, although I suspect that it would be possible to do much better. Maybe we should start a leaderboard?

I improved mine, now 927 still using only 3 copies

It is not obvious to me what the ideal strategy would look like or if one could apply known results (e.g. "Optimal Quantum Cloning Machines" of Buzek and Hillery), given the particular set-up of the level (i.e. only a discrete set of inputs states is given, and the outputs are only judged as correct if they match exactly).
My own solution (which used all four input copies) averages 927 correct, although I suspect that it would be possible to do much better. Maybe we should start a leaderboard?

I improved mine, now 927 still using only 3 copies

I can only fix 1/4 of the rest, by measuring again in the outputting direction(1/2 1/2) and rotate 90 degree if incorrect(can't get exact direction, no qubit remain)
{"name":"Clone-a-saurus","tag":"extraA","version":"v1.1.7","tiles":[4,2,76,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,74,2,5,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,54,40,84,40,56,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,3,89,65,2,65,2,68,2,2,5,24,44,48,85,2,2,62,2,78,-1,-1,15,84,3,70,72,60,84,1,23,51,21,-1,-1,24,42,84,-1,-1,-1,3,67,2,68,2,32,5,1,24,47,21,-1,-1,23,40,25,-1,-1,-1,84,42,56,-1,-1,21,69,71,23,51,23,85,2,2,62,32,79,-1,-1,-1,-1,-1,-1,-1,21,1,3,62,60,84,-1,24,44,22,26,1,-1,-1,-1,-1,-1,-1,-1,43,61,22,42,22,48,44,48,26,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,84,84,-1,-1,-1,23,26,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,74,2,6],"gates":[[18,5,"qCompare","free",0,-1.570796326795,0,2,-1],[18,8,"qCompare","free",1,-1.570796326795,0,4,-1],[16,0,"qCreate","free",0,0,0,2,492],[16,13,"qCreate","free",0,0,0,2,492],[2,0,"qCreate","free",2,0,0,1,492],[1,4,"cCreate","free",0,1,0,0,-1],[2,4,"switch","free",0,1,0,1,-1],[3,4,"trash","free",0,0.785398163397,0,0,-1],[4,4,"switch","free",0,1,0,1,-1],[5,4,"cCreate","free",2,1,0,0,-1],[2,5,"qCombine","free",0,0,0,0,-1],[2,5,"qCombine","free",1,0,1,0,-1],[4,5,"qCombine","free",0,0,0,0,-1],[4,5,"qCombine","free",1,0,1,0,-1],[4,8,"cCreate","free",2,1,0,0,-1],[3,8,"switch","free",2,1,0,1,-1],[2,8,"trash","free",0,0.785398163397,0,0,-1],[3,7,"qCombine","free",0,0,0,0,-1],[3,7,"qCombine","free",3,0,1,0,-1],[3,6,"trash","free",0,0.785398163397,0,0,-1],[6,5,"qFlip","free",0,0,0,0,-1],[6,5,"qFlip","free",0,1.570796326795,1,0,-1],[5,6,"qControl","free",0,0,0,0,-1],[6,6,"qControl","free",2,1.570796326795,0,0,-1],[7,6,"measure","free",0,5.497787143782,0,0,-1],[8,6,"trash","free",0,0.785398163397,0,0,-1],[5,7,"qFlip","free",0,1.570796326795,0,0,-1],[5,7,"qFlip","free",0,1.570796326795,1,0,-1],[8,8,"qFlip","free",1,0,0,0,-1],[9,8,"qControl","free",1,1.570796326795,0,0,-1],[8,8,"qFlip","free",1,0,1,0,-1],[8,10,"measure","free",1,0,0,0,-1],[7,10,"switch","free",3,0,0,1,-1],[8,10,"measure","free",1,4.712388980385,1,0,-1],[7,11,"trash","free",0,0.785398163397,0,0,-1],[8,11,"trash","free",0,0.785398163397,0,0,-1],[10,9,"rotate","free",0,0,0,0,-1],[10,10,"switch","free",2,1,0,1,-1],[10,9,"rotate","free",0,4.712388980385,1,0,-1],[11,9,"measure","free",0,0,0,0,-1],[12,9,"trash","free",0,0.785398163397,0,0,-1],[11,7,"cCombine","free",3,0,0,0,-1],[11,8,"cSplit","free",3,0,0,0,-1],[11,6,"cSplit","free",3,0,0,0,-1],[13,5,"upgrade","free",0,0,0,0,-1],[13,8,"upgrade","free",0,0,0,0,-1],[11,5,"cCombine","free",0,0,0,0,-1],[12,5,"cSplit","free",0,0,0,0,-1],[16,5,"rotate","free",0,0,0,0,-1],[16,8,"rotate","free",0,0,0,0,-1],[16,7,"switch","free",0,1,0,1,-1],[16,8,"rotate","free",0,1.570796326795,1,0,-1],[16,6,"switch","free",2,1,0,1,-1],[16,5,"rotate","free",0,1.570796326795,1,0,-1],[12,10,"cSplit","free",0,0,0,0,-1],[14,10,"cSplit","free",0,0,0,0,-1],[13,10,"cCombine","free",0,0,0,0,-1],[1,5,"delay","free",0,0,0,7,-1],[17,6,"trash","free",0,0.785398163397,0,0,-1],[15,9,"cCombine","free",0,0,0,0,-1]]}


Bump up Editors quickstarts to Java 8

Ran Intellij Java8 inspection over files
After all quickstarts are updated, move up required version:
https://developers.google.com/docs/api/quickstart/java

Is there any code in these quickstarts that's not Java 8 idiomatic? Like should we be taking advantage of some new Java 8 syntax?

I was really hoping to find SOMETHING so I set this up:
https://blog.jetbrains.com/idea/2016/12/intellij-idea-inspection-settings-for-refactoring-to-java-8/
I was super surprised nothing got flagged, maybe I did it wrong?

There's nothing in the quickstarts that's made better by Java 8 syntax or APIs.


CMake: Ninja support is broken

Ninja support is broken. Initially there was a linker issue, now there is even more bit rot.
[ ] We have a linker issue due to the generated Makefile and Ninja scripts invoking the linker differently: https://gitlab.kitware.com/cmake/cmake/issues/17448
[ ] This trick 83cf82b7a8c6f3fe816a6fd693b3f4795f9dbe31 wasn't portable to Ninja unfortunately. Need to find a portable solution or do if(NINJA).

The second point is fixed by this patch that does if(NINJA).
Support for build-time configuration of the QEMU command with Ninja is
also developed, but is undergoing testing.
https://github.com/zephyrproject-rtos/zephyr/pull/5518


Wrong Item Set Selected

I went to play Malphite top but instead got the jungle Malphite item sets.
Is there a better way to select between Jungle/Top item sets?

Did you click on the menu in the game and select Malphite Top instead?

Ah. First time with item sets. Didn't realize you could select them in game :)
Thanks!


Unable to easily mock Athena result CSV

We are able to mock Athena query results via:
   resp = requests.post(
        "http://motoapi.amazonaws.com/moto-api/static/athena/query-results",
        json=query_results,
    )
    assert resp.status_code == 201

But there is no way to mock the output of get_execution_results. this poses a few problems:

unable to have any control over request status (in cases where you want to test that retries are happening for instance)
unable to have any control over the output location

I am more interested in the latter. This would be a lot more useful if we could somehow assign results via a CSV, and have the query-results mocked from that. But in the simplest case, being able to control that datapoint to point to a file we have put to a mock bucket
would go a long way in the case where the code under test needs to access the file directly.
Here is an example of how I had to hack this into my tests:
from moto.athena import athena_backends
from moto.athena.models import Execution
from moto.core import DEFAULT_ACCOUNT_ID

@pytest.fixture
@mock_aws
def mock_athena_results():
    # place the mocked athena results in "s3"
    s3 = boto3.client("s3", region_name=os.getenv("AWS_DEFAULT_REGION"))
    bucket_name = 'test-bucket'
    key = f"query_results/output.csv"

    with open('some/csv/file.csv', "r") as f:
        contents = f.read()
        s3.put_object(Bucket=bucket_name, Key=key, Body=contents)

    # Hack moto to mock the execution results to have the correct path to our csv results
    exec = Execution(
        query="SELECT * FROM notused",
        config={
            "OutputLocation": f"s3://test-bucket/query_results/output.csv"
        },
        context={
            'Database': 'default'
        },
        workgroup={},
        execution_parameters={}
    )
    # moto tries to mock the file location to _look_ correct, but we need it to be an actual result
    exec.config['OutputLocation'] = f"s3://test-bucket/query_results/output.csv"

    # This is a hack to get moto to return the correct execution object by having a factory that
    # pretends to be a list of executions
    class MockExecutionFactory:
        def __get__(self, instance, owner):
            return [
                exec
            ]

        def __set__(self, instance, value):
            pass

        def __setitem__(self, key, value):
            pass

        def __getitem__(self, key):
            return exec

    athena_backends[DEFAULT_ACCOUNT_ID]["us-east-1"].executions = MockExecutionFactory()
    return

The above works, but its pretty janky. I suppose this is more of a feature request than anything. Or even better yet, having a way to control execution id (not with seeding, thats still too unpredictable and fragile) such that it can be explicitly set.

Hi @dmarra, thanks for raising this.
My assumption is that the application takes whatever OutputLocation is given, downloads the result from S3 and does whatever it needs to do with the result.
Would it work if Moto would actually write the configured query results to S3? Then the actual OutputLocation doesn't matter, and the only test setup is to configure the expected results via the static/athena/query-results endpoint.

That could work! The only issue with that is that the Athena output JSON is.... perhaps a bit overengineered. It's a pain to mock many rows of data in that format. But that being said, if this is the easiest way to get the enhancement in, then I think its way better than nothing. Makes sense too, since it works with the current design.

To clarify:

It would have to respect the bucket given as output (but the file name could be the auto-generated execution ID)
The output format is CSV. I don't think Athena has a way to change that, so it should be fine to just always have the output in CSV format in the bucket

Hi @dmarra, this is now part of moto >= 5.0.12.dev3.
It uses the bucket provided by the user, and the file name is the execution ID, so it follows the same format as AWS.
Please let us know if you run into any issues!


java.lang.RuntimeException: Could not invoke RNPureJwt.sign Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'n8.e$b n8.e.getterVisibility()' on a null object reference

Facing this issue in release version of android app.  Working fine in debug app.

I have the same problem, and only in production as well. However, it works correctly in debug. I've tried modifying the proguard file, but I haven't had any luck.

Any solution?


🐞 [Bug]: VM created from go client isn't listed on the dashboard anymore

Is there an existing issue for this?

[X] I have searched the existing issues

which package/s did you face the problem with?
Dashboard
What happened?
The VM deployed from the go client (TFCMD in this case) isn't showing in the dashboard full VM or micro VM.
Steps To Reproduce
No response
which network/s did you face the problem on?
Dev
version
a004c81
Twin ID/s
No response
Node ID/s
No response
Farm ID/s
No response
Contract ID/s
No response
Relevant screenshots/screen records

Relevant log output
.

Verified,
I tried the same thing on testnet first, and it worked fine on the VM listed, so I tried again on devnet, and it did work too. For some reason, I don't know why it didn't show in the issue.


Moving to JDK 11?

Summary:
I see this warning in the console, so maybe we should consider moving to JDK 11+
warning: Current JDK version 1.8.0_312-b07 has a bug (https://bugs.openjdk.java.net/browse/JDK-8007720) that prevents Room from being incremental. Consider using JDK 11+ or the embedded JDK shipped with Android Studio 3.5+.

Would you like to work on the issue?
No

Good idea. I would request that the person submitting the PR also do a brief test of the app's functionality and report on that in the PR.

Changing the entire JDK is a big deal and should require a lot of file changes , is this really a good first issue

@Rishavgupta12345 Hmm, could you provide an example of the file changes that would be required, please?

@Rishavgupta12345 Hmm, could you provide an example of the file changes that would be required, please?

I don't know exactly but the plugins which work on old JDK and are deprecated in the new ones will give errors and have to be replaced by the latest plugins and functions

don't know exactly but the plugins which work on old JDK and are deprecated in the new ones will give errors and have to b

Can you share the plugins that need to be updated?

Hello everyone,
with @xenom34 we would like to try to participate in this issue.
Is it possible to be assigned on it?
Thanks (:

@JamunaSivanupandian It is yours, thanks!
Your first task is to check whether the app actually already uses JDK11 (or later) or not. 😊

@JamunaSivanupandian  Any progress to share? :-)

sorry..there is no progress..i am a newbie and i saw it is a good first issue so i would like to contribute but unfortunately i cant find exactly where to change and what is the exact issue..

@JamunaSivanupandian
You could try to increase both JavaVersion.VERSION lines in app/build.gradle and see whether the project still builds or not :-)
But as Paul says above I think the JDK used depends on what is installed on each person's machine, and there does not seem to be an problem with higher JDKs, so maybe this issue can just be closed?

Hello, can I take this issue?

Hello, @nicolas-raoul . Sorry I am a newbie. Can you provide a direction I could work on this issue?
I saw there is a failing check symbol for the latest commit. And I could not build the project. Does the failing check symbol related to the build issue?

When I build the project, there's an error saying that values-yue-hant file in the app\src\main\res folder is missing.
Is this issue related to someone removing values-yue-hant?
https://github.com/commons-app/apps-android-commons/pull/5573

Yes sorry you can remove that folder. Thanks!

Hello, @nicolas-raoul
I find that the project can be built with jdk17. Should I update to JDK 17 or stick with JDK 11 as planned?

Hello,
I find that the project can be built with JDK 17 but not JDK 11 as current AGP requires a Gradle JVM that supports version 17 . Can I update to JDK 17 instead of JDK 11?


chore/solana canary releases

Description
Solana package canary release package version & changelog updates.

@svenvoskamp @tomiir these are including only canary release changelog and version changes. I pushed the package changes directly into #1725 and didn't want to make that PR much bigger.
When we ready to merge both PRs, let's merge this first and then the #1725.
Also, I think I should discard the changes in .changeset/ folder, right?


Add support for pasting screenshots that SK copies to the clipboard

I am not really happy with this solution, but it implements everything necessary.
There's a temporary file created because SKIV isn't really capable of loading arbitrary images from memory at the moment. I used TIFF because it encodes quickly and produces a small file.
Ideally, SKIV would be able to take the DirectX::Image created by copying the contents of the clipboard and load it somehow, without requiring a trip to the disk. But that needs redesign that I'm not familiar enough with the code to do.

I got distracted by adding support for new clipboard formats, lol.
Anyway, my initial idea was to handle it through a child thread of some kind as I imagine processing the image in the clipboard might take awhile and lock up the UI as a result if done through the main thread. But that would introduce a lot more complexity since currently some of the clipboard formats are required to be handled through the main thread...
However as far as I can tell, experimenting a bit, the processing of the image from the clipboard is actually surprisingly quick?
I haven't really decided yet how to go about it but one idea I might play around with is to move the clipboard handling to viewer.cpp and specifically within the image worker thread that makes the LoadLibraryTexture() call. So e.g. use ImGui to read the Ctrl+V hotkey, then spawn the worker thread with a flag indicating that it should just look in the clipboard. The worker thread would then perform all of the usual relevant clipboard actions, as well as do stuff like download the image if given a link, before finally making the usual LoadLibraryTexture() call, but instead of a path to the image it would include the DirectX::Image object.
Food for thought, but should definitely be doable.


[WelcomeUX] Welcome preview should have pointers to other resources

Testing #18091
I think it's very easy to get to the end of the editor preview, and wonder - "is that it?" Would be nice to have pointers to next steps (e.g. debugging, terminal, git etc.)

Good idea - done


Remove 'Detach' action for attached tables under Quick Access node

Storage Explorer Version: 1.14.0-dev
Build: 20200602.3
Branch: master
Platform/OS: Windows 10/ macOS Mojave
Architecture: ia32/x64
Regression From: Not a regression
Steps to reproduce:

Expand one storage account -> Tables.
Select one table then attach it via SAS.
Add the attached table to Quick Access.
Check the context menu of the attached table under Quick Access node.

Expect Experience:
No 'Detach' action displays.
Actual Experience:
The action 'Detach' displays well.

Verified this issue on build 20201219.2. Fixed.


mathlib Limits don't bother using references

cleanup Limits.hpp
add -Waddress-of-packed-member where available
fixes #11408


Allow NotifcationManager to be created on demand

What does the pull request do?
Make NotificationManager attach to the Toplevel on creation, instead of on template applied on the host. This allows managed notifications to be created through the TopLevel on all platforms.
What is the current behavior?
Managed notifications are only created using a WindowNotificationManager instance that requires a Window object. This prevents single view platforms from accessing it.
What is the updated/expected behavior with this PR?

How was the solution implemented (if it's not obvious)?

Checklist

[ ] Added unit tests (if possible)?
[ ] Added XML documentation to any related classes?
[ ] Consider submitting a PR to https://github.com/AvaloniaUI/Documentation with user documentation

Breaking changes

Obsoletions / Deprecations

Fixed issues

You can test this PR using the following package version. 11.0.999-cibuild0026048-beta. (feed url: https://nuget.avaloniaui.net/repository/avalonia-all/index.json) [PRBUILDID]

You can test this PR using the following package version. 11.0.999-cibuild0026123-beta. (feed url: https://nuget.avaloniaui.net/repository/avalonia-all/index.json) [PRBUILDID]


Incompatibility with Iron Router in Cordova

When using the iron:router package, cordova resolves as the following "welcome / config" screen. Web client and server routes continue to work as expected when cordova does not load.
Removing meteortypescript:compiler and enabling a typescript task runner instead resolves the issue. Had to remove the mobile-experience default package to remove app loading screen and see what was going on. Curious if anyone else can duplicate issue.

This doesn't happen anymore in version 3.


Support for Django 3?

Currently, setup.py has the following requirement:
'Django>=1.11,<3.0'`

Does djangocms-column specifically NOT support Django 3+, or can the requirement be changed? I'm using CMS on Django 3.0.7 and would like to be able to use column as well. I see PR #43 only has one minor change to models.py requiring six, which I believe CMS already requires, plus the change to setup.py. Is there any reason this PR can't be merged?

Yes, and even if you still use Django 2.2, it doesn’t work with django-cms>3.7.2, which is a bit strange, as djangocms-column was installed with djangocms-installer afair.
Even if I want to get rid of djangocms-column, as I have written a grid plugin for Fomantic UI, we still have content, which would disappear when I delete djangocms-column .


Watch-administration command not working properly

PHP Version: 8.2   | Shopware Version: 6.6.1  | Affected area / extension: Platform(Default)

Expected behaviour:
The command should start a process that watches for changes in the administration code files (JavaScript, CSS, etc.) and should reload the site immediately.
Actual behaviour:
When I run this command it throws these errors:

ERROR in ./scripts/codemods/js-vue3-feature-flag-removal/index.ts:2:16
TS2307: Cannot find module 'fs' or its corresponding type declarations.
1 | import { Project, ts } from "ts-morph";
2 | import fs from 'fs';
|                ^^^^
3 | import path from 'path';
4 |
5 | const noArgumentProvided = process.argv.length === 2;

ERROR in ./scripts/codemods/js-vue3-feature-flag-removal/index.ts:3:18
TS2307: Cannot find module 'path' or its corresponding type declarations.
1 | import { Project, ts } from "ts-morph";
2 | import fs from 'fs';
3 | import path from 'path';
|                  ^^^^^^
4 |
5 | const noArgumentProvided = process.argv.length === 2;
6 | if (noArgumentProvided) {

ERROR in ./scripts/codemods/js-vue3-feature-flag-removal/index.ts:5:36
TS2339: Property 'argv' does not exist on type 'Process'.
3 | import path from 'path';
4 |
5 | const noArgumentProvided = process.argv.length === 2;
|                                    ^^^^
6 | if (noArgumentProvided) {
7 |     console.error('Please provide a target directory.');
8 |

ERROR in ./scripts/codemods/js-vue3-feature-flag-removal/index.ts:9:13
TS2339: Property 'exit' does not exist on type 'Process'.
7 |     console.error('Please provide a target directory.');
8 |
9 |     process.exit(1);
|             ^^^^
10 | }
11 |
12 | function fromPlatformRootDirectory(...paths: string[]) {

ERROR in ./scripts/codemods/js-vue3-feature-flag-removal/index.ts:13:25
TS2304: Cannot find name '__dirname'.
11 |
12 | function fromPlatformRootDirectory(...paths: string[]) {
13 |     return path.resolve(__dirname, '../../../../../../../../', ...paths);
|                         ^^^^^^^^^
14 | }
15 |
16 | const targetDirectory = process.argv[2];

ERROR in ./scripts/codemods/js-vue3-feature-flag-removal/index.ts:16:33
TS2339: Property 'argv' does not exist on type 'Process'.
14 | }
15 |
16 | const targetDirectory = process.argv[2];
|                                 ^^^^
17 | if (!fs.existsSync(fromPlatformRootDirectory(targetDirectory))) {
18 |     console.error('Target directory does not exist.');
19 |

ERROR in ./scripts/codemods/js-vue3-feature-flag-removal/index.ts:20:13
TS2339: Property 'exit' does not exist on type 'Process'.
18 |     console.error('Target directory does not exist.');
19 |
20 |     process.exit(1);
|             ^^^^
21 | }
22 |
23 | const project = new Project({

ERROR in ./scripts/codemods/twig-feature-flag-removal/index.ts:1:16
TS2307: Cannot find module 'fs' or its corresponding type declarations.
1 | import fs from 'fs';
|                ^^^^
2 | import path from 'path';
3 | import readline from 'readline';
4 |

ERROR in ./scripts/codemods/twig-feature-flag-removal/index.ts:2:18
TS2307: Cannot find module 'path' or its corresponding type declarations.
1 | import fs from 'fs';
2 | import path from 'path';
|                  ^^^^^^
3 | import readline from 'readline';
4 |
5 | const terminalInterface = readline.createInterface({

ERROR in ./scripts/codemods/twig-feature-flag-removal/index.ts:3:22
TS2307: Cannot find module 'readline' or its corresponding type declarations.
1 | import fs from 'fs';
2 | import path from 'path';
3 | import readline from 'readline';
|                      ^^^^^^^^^^
4 |
5 | const terminalInterface = readline.createInterface({
6 |     input: process.stdin,

ERROR in ./scripts/codemods/twig-feature-flag-removal/index.ts:6:20
TS2339: Property 'stdin' does not exist on type 'Process'.
4 |
5 | const terminalInterface = readline.createInterface({
6 |     input: process.stdin,
|                    ^^^^^
7 |     output: process.stdout
8 | });
9 |

ERROR in ./scripts/codemods/twig-feature-flag-removal/index.ts:7:21
TS2339: Property 'stdout' does not exist on type 'Process'.
5 | const terminalInterface = readline.createInterface({
6 |     input: process.stdin,
7 |     output: process.stdout
|                     ^^^^^^
8 | });
9 |
10 | function modifyCode(inputCode: string): string {

ERROR in ./scripts/codemods/twig-feature-flag-removal/index.ts:79:96
TS7006: Parameter 'givenSrcPath' implicitly has an 'any' type.
77 | }
78 |
79 | terminalInterface.question('What is the source directory of the files you want to change? \n', givenSrcPath => {
|                                                                                ^^^^^^^^^^^^
80 |     const srcPath = path.resolve(givenSrcPath);
81 |
82 |     // Read all files recursively ending with .html.twig

ERROR in ./scripts/codemods/twig-feature-flag-removal/index.ts:84:47
TS7006: Parameter 'file' implicitly has an 'any' type.
82 |     // Read all files recursively ending with .html.twig
83 |     function throughDirectory(directoryPath: string, files: string[] = []) {
84 |         fs.readdirSync(directoryPath).forEach(file => {
|                                               ^^^^
85 |             const absolutePath = path.join(directoryPath, file);
86 |
87 |             if (fs.statSync(absolutePath).isDirectory()) {

ERROR in ./scripts/componentImportResolver/generate.ts:6:23
TS2307: Cannot find module 'path' or its corresponding type declarations.
4 |  */
5 | import { ArrowFunction, CallExpression, Project, SourceFile, ts} from "ts-morph";
6 | import * as path from "path";
|                       ^^^^^^
7 | import * as fs from "fs";
8 |
9 | const project = new Project({

ERROR in ./scripts/componentImportResolver/generate.ts:7:21
TS2307: Cannot find module 'fs' or its corresponding type declarations.
5 | import { ArrowFunction, CallExpression, Project, SourceFile, ts} from "ts-morph";
6 | import * as path from "path";
7 | import * as fs from "fs";
|                     ^^^^
8 |
9 | const project = new Project({
10 |     skipAddingFilesFromTsConfig: true,

ERROR in ./scripts/componentImportResolver/generate.ts:225:28
TS2304: Cannot find name '__dirname'.
223 | // Write output to file
224 | const filestring = /* eslint-disable */\n\nexport default ${JSON.stringify(componentImportMap)};
225 | fs.writeFileSync(path.join(__dirname, '/../../test/helper/componentWrapper/component-imports.js'), filestring);
|                            ^^^^^^^^^
226 |

ERROR in ./scripts/entitySchemaConverter/convert-schema.ts:2:18
TS2307: Cannot find module 'path' or its corresponding type declarations.
1 | import entitySchema from "../../test/mocks/entity-schema.json";
2 | import path from 'path';
|                  ^^^^^^
3 | import { EntitySchemaConverter } from "./entity-schema-converter";
4 |
5 | const converter = new EntitySchemaConverter();

ERROR in ./scripts/entitySchemaConverter/entity-schema-converter.ts:1:18
TS2307: Cannot find module 'path' or its corresponding type declarations.
1 | import path from 'path';
|                  ^^^^^^
2 | import {InterfaceDeclarationStructure, OptionalKind, Project} from 'ts-morph';
3 | import type { EntitySchemaTypes } from './EntitySchemaTypes';
4 |

ERROR in ./scripts/entitySchemaConverter/generate-package.ts:1:16
TS2307: Cannot find module 'fs' or its corresponding type declarations.
1 | import fs from 'fs';
|                ^^^^
2 | import path from 'path';
3 | import entitySchema from "../../test/mocks/entity-schema.json";
4 | import { EntitySchemaConverter } from "./entity-schema-converter";

ERROR in ./scripts/entitySchemaConverter/generate-package.ts:2:18
TS2307: Cannot find module 'path' or its corresponding type declarations.
1 | import fs from 'fs';
2 | import path from 'path';
|                  ^^^^^^
3 | import entitySchema from "../../test/mocks/entity-schema.json";
4 | import { EntitySchemaConverter } from "./entity-schema-converter";
5 |

ERROR in ./scripts/entitySchemaConverter/generate-package.ts:15:41
TS2304: Cannot find name '__dirname'.
13 |     const converter = new EntitySchemaConverter();
14 |     const packageName = '@shopware-ag/entity-schema-types'
15 |     const folderPackagePath = path.join(__dirname, '../../entity-schema-types');
|                                         ^^^^^^^^^
16 |     const definitionFileName = 'entity-schema-definition.d.ts';
17 |     const packageVersion = gitCommitTag.replace('v6.', '');
18 |

ERROR in ./scripts/generate-data-set-list/index.ts:6:16
TS2307: Cannot find module 'fs' or its corresponding type declarations.
4 |  */
5 |
6 | import fs from 'fs';
|                ^^^^
7 | import path from 'path';
8 | // @ts-expect-error - There are no types for this package
9 | import cliProgress from 'cli-progress';

ERROR in ./scripts/generate-data-set-list/index.ts:7:18
TS2307: Cannot find module 'path' or its corresponding type declarations.
5 |
6 | import fs from 'fs';
7 | import path from 'path';
|                  ^^^^^^
8 | // @ts-expect-error - There are no types for this package
9 | import cliProgress from 'cli-progress';
10 | import chalk from 'chalk';

ERROR in ./scripts/generate-data-set-list/index.ts:21:20
TS7006: Parameter 'file' implicitly has an 'any' type.
19 |     arrayOfFiles = arrayOfFiles || [];
20 |
21 |     files.forEach((file) => {
|                    ^^^^
22 |         if (fs.statSync(${dirPath}/${file}).isDirectory()) {
23 |             // If the file is a directory, recursively get its files
24 |             arrayOfFiles = getAllFiles(${dirPath}/${file}, arrayOfFiles);

ERROR in ./scripts/generate-data-set-list/index.ts:34:40
TS2304: Cannot find name '__dirname'.
32 |
33 | // Get all HTML Twig template files from the specified directory
34 | const srcFiles = getAllFiles(path.join(__dirname, '../../src')).filter(file => {
|                                        ^^^^^^^^^
35 |     return file.match(/^.*(?<!.spec|vue2)(?<!/acl/index)(?<!.d).(js|ts)$/);
36 | });
37 |

ERROR in ./scripts/generate-data-set-list/index.ts:65:30
TS2304: Cannot find name '__dirname'.
63 |
64 | // Define the output file path for the result
65 | const outputFile = path.join(__dirname, '../../src/meta/data-sets.json');
|                              ^^^^^^^^^
66 |
67 | console.log(chalk.blueBright(\nWriting to ${outputFile}));
68 | fs.writeFileSync(outputFile, JSON.stringify(result));

ERROR in ./scripts/generate-position-identifier-list/index.ts:6:16
TS2307: Cannot find module 'fs' or its corresponding type declarations.
4 |  */
5 |
6 | import fs from 'fs';
|                ^^^^
7 | import path from 'path';
8 | // @ts-expect-error - There are no types for this package
9 | import cliProgress from 'cli-progress';

ERROR in ./scripts/generate-position-identifier-list/index.ts:7:18
TS2307: Cannot find module 'path' or its corresponding type declarations.
5 |
6 | import fs from 'fs';
7 | import path from 'path';
|                  ^^^^^^
8 | // @ts-expect-error - There are no types for this package
9 | import cliProgress from 'cli-progress';
10 | import chalk from 'chalk';

ERROR in ./scripts/generate-position-identifier-list/index.ts:21:20
TS7006: Parameter 'file' implicitly has an 'any' type.
19 |     arrayOfFiles = arrayOfFiles || [];
20 |
21 |     files.forEach((file) => {
|                    ^^^^
22 |         if (fs.statSync(${dirPath}/${file}).isDirectory()) {
23 |             // If the file is a directory, recursively get its files
24 |             arrayOfFiles = getAllFiles(${dirPath}/${file}, arrayOfFiles);

ERROR in ./scripts/generate-position-identifier-list/index.ts:34:45
TS2304: Cannot find name '__dirname'.
32 |
33 | // Get all HTML Twig template files from the specified directory
34 | const templateFiles = getAllFiles(path.join(__dirname, '../../src')).filter(file => {
|                                             ^^^^^^^^^
35 |     return file.match(/^.*.html.twig$/);
36 | });
37 |

ERROR in ./scripts/generate-position-identifier-list/index.ts:64:30
TS2304: Cannot find name '__dirname'.
62 |
63 | // Define the output file path for the result
64 | const outputFile = path.join(__dirname, '../../src/meta/position-identifiers.json');
|                              ^^^^^^^^^
65 |
66 | console.log(chalk.blueBright(\nWriting to ${outputFile}));
67 | fs.writeFileSync(outputFile, JSON.stringify(result));

ERROR in ./scripts/vueCompatComponentsStatistics/generate.ts:2:23
TS2307: Cannot find module 'path' or its corresponding type declarations.
1 | import { ArrowFunction, CallExpression, Project, SourceFile, ts} from "ts-morph";
2 | import * as path from "path";
|                       ^^^^^^
3 | import * as fs from "fs";
4 |
5 | const project = new Project({

ERROR in ./scripts/vueCompatComponentsStatistics/generate.ts:3:21
TS2307: Cannot find module 'fs' or its corresponding type declarations.
1 | import { ArrowFunction, CallExpression, Project, SourceFile, ts} from "ts-morph";
2 | import * as path from "path";
3 | import * as fs from "fs";
|                     ^^^^
4 |
5 | const project = new Project({
6 |     skipAddingFilesFromTsConfig: true,

ERROR in ./scripts/vueCompatComponentsStatistics/generate.ts:218:28
TS2304: Cannot find name '__dirname'.
216 |
217 | const filestring = JSON.stringify(readableFileStructure,  null, "\t");
218 | fs.writeFileSync(path.join(__dirname, '/../../.vue-compat-components-statistics.json'), filestring);
|                            ^^^^^^^^^
219 |

ERROR in ./src/app/component/extension-api/sw-extension-component-section/index.ts:64:21
TS2578: Unused '@ts-expect-error' directive.
62 |                         The extension "${section.extensionName}" uses a deprecated position identifier "${this.positionIdentifier}". ${this.deprecationMessage},
63 |                     ];
64 |                     // @ts-expect-error
|                     ^^^^^^^^^^^^^^^^^^^
65 |                     if (process.env !== 'prod') {
66 |                         Shopware.Utils.debug.error(...debugArgs);
67 |                     } else {

ERROR in ./src/app/service/file-validation.service.ts:109:63
TS2550: Property 'at' does not exist on type 'string[]'. Do you need to change your target library? Try changing the 'lib' compiler option to 'es2022' or later.
107 |
108 |         return fileExtensions.some((extension) => {
109 |             const currentFileExtension = file.name.split('.').at(-1);
|                                                               ^^
110 |
111 |             if (!currentFileExtension) {
112 |                 return false;

ERROR in ./src/app/service/file-validation.service.ts:144:38
TS2550: Property 'at' does not exist on type 'string[]'. Do you need to change your target library? Try changing the 'lib' compiler option to 'es2022' or later.
142 |             if (
143 |                 mimeAccept === 'model/gltf-binary' &&
144 |                 file.name.split('.').at(-1) === 'glb' &&
|                                      ^^
145 |                 file.type === ''
146 |             ) {
147 |                 return true;

ERROR in ./src/core/service/extension-api-data.service.ts:144:9
TS2578: Unused '@ts-expect-error' directive.
142 |             The extension "${extension.name}" uses a deprecated data set "${data.id}". ${registeredDataSet.deprecationMessage},
143 |         ];
144 |         // @ts-expect-error
|         ^^^^^^^^^^^^^^^^^^^
145 |         if (process.env !== 'prod') {
146 |             Shopware.Utils.debug.error(...debugArgs);
147 |         } else {//`

Also doesn't open anything on the default port.
How to reproduce:
Running the command through ddev 'ddev exec bin/watch-administration.sh'

[public] Shopware automated response: This issue is linked to the internal issue: NEXT-38788
[created from NEXT-38788, comment 501752]

[public] The errors let to believe that there is something wrong with your ddev environment. We where unable to reproduce the error on our setup.
[created from NEXT-38788, comment 501907]

Having the same issue with the same setup. Could you manage to fix this @noni-i ?

@seggewiss Would like to have this re-opened please, if possible.
Having same issue up to <IP_ADDRESS>, not related to ddev, can be reproduced in other environments, both using Symfony Flex and the web installer. Definitely not solved by https://github.com/shopware/shopware/pull/3762 in production environments.

Having the same issue with the same setup. Could you manage to fix this @noni-i ?

I completely switched to dockware and it works. I think the problem is that DDEV uses https, so if you disable it, it might work.
Also go to the watch-administration.sh and change this line "export HOST=${HOST:-"localhost"}" to "export HOST=${HOST:-"<IP_ADDRESS>"}".

Thank you for the pointers, unfortunately it didn't fix it for me.

@vanWittlaer If you are able to provide a minimal reproduction that will fail on our dev env setup, I'm more than happy to reopen this issue 😊

@seggewiss Can't help you with devenv, but could provide access to a more or less plain Ubuntu server with same error. Perhaps some missing dependency?

@seggewiss  Just opened new issue https://github.com/shopware/shopware/issues/5235 to clarify the issue is related to Symfony Flex production template, and not the contribution setup, and to provide clear and concise instructions on how to reproduce with devenv.

@vanWittlaer Thank you we will take a look 👍

@seggewiss I noticed the bot has closed https://github.com/shopware/shopware/issues/5235 without mentioning a solution. Is there anything so far identified as a cause or solution for this issue?

@vanWittlaer It was closed as completed. This states that we fixed the issue. What we ended up doing, in the production template/ symfony flex, we disabled the Webpack Typescript plugin as it was not correctly working with symbolic links. If you need to validate your types use tsc in your plugin.

@seggewiss 🙏 for the quick response! It has been very useful, for those not wanting to wait until the fix is rolled out, I notice starting the watcher like this
DISABLE_ADMIN_COMPILATION_TYPECHECK=1 bin/watch-administration.sh
should resolve the errors.

@vanWittlaer Thats exactly what we added to the scripts 👍


Website Dark Mode UI

The website is missing Darkmode toggle button, which when clicked switch the website into dark mode friendly UI
And on which further functionality can be defined.

@jindalpriyanshu101 @jinx-vi-0
Do assign me this feature , as I wanna work on it,
Also add the Appropriate level and Info tags

Assigned @AskitEndo


Unable to disable directFormat within a language setting

First off, thank you for the extension. This was exactly what I was searching for and saves me a ton of time trying to find formatters in the wild.
Details
Visual Studio Code - Version: 1.91.1
Extension - v1.1.2
The issue seems to be with the extension settings
Steps to reproduce

Running with directFormat false globally works

 "[just]": {
    "editor.defaultFormatter": "AkiraVoid.format-with-cli",
    "AkiraVoid.formatWithCLI.command": "just --fmt --unstable --justfile '{file}'",
  },
  "AkiraVoid.formatWithCLI.directFormat": false,

In the Output channel, I am getting
2024-07-20 13:19:58.399 [info] Direct Format disabled.
2024-07-20 13:19:58.399 [info] Command just --fmt --unstable --justfile '<***>/justfile' executed.

Moving directFormat false inside the language block does not

 "[just]": {
    "editor.defaultFormatter": "AkiraVoid.format-with-cli",
    "AkiraVoid.formatWithCLI.command": "just --fmt --unstable --justfile '{file}'",
    "AkiraVoid.formatWithCLI.directFormat": false
  },

In the Output channel, I am getting
2024-07-20 13:22:26.026 [info] Direct Format enabled.
2024-07-20 13:22:26.026 [info] Will run the command "just --fmt --unstable --justfile '<***>/.~format-with-cli.cache'" to format the document "<***>/justfile"

The problem is that the direct format does not seem to actually format the document as expected! Not sure if it is because the direct formatting is not working, or some other path based issues.
Also tested with a json file with
  "[json]": {
    "editor.defaultFormatter": "AkiraVoid.format-with-cli",
    "AkiraVoid.formatWithCLI.directFormat": true,
  },
  "AkiraVoid.formatWithCLI.directFormat": false,

It is still taking the global value and not overriding with the language-specific value.

Looks extremely weird, since the commands seem to be working as expected, and getting overwritten with language specific values.
const getCommand = (language?: string) =>
  vscode.workspace
    .getConfiguration(
      'AkiraVoid.formatWithCLI',
      language ? { languageId: language } : undefined,
    )
    .get<string>('command', 'npx prettier --ignore-unknown "{file}"');

const isDirectFormatEnabled = (language?: string) =>
  vscode.workspace
    .getConfiguration(
      'AkiraVoid.formatWithCLI',
      language ? { languageId: language } : undefined,
    )
    .get<boolean>('directFormat', true);

and the source code for getting the values seem identical!

Ah, the issue is that when you are calling the get command function you are passing the language ID, when you are calling the isDirectFormatEnabled, you are not
getCommand(doc.languageId)

Don't worry about it. It will get fixed at next release 1.1.3, and it's totally on me...
Meanwhile, you have mentioned that the Direct Format is not working for you. Could you please provide more information about this?

Meanwhile, you have mentioned that the Direct Format is not working for you. Could you please provide more information about this?

It may be a gotcha with "just" formatter, let me test with JSON and get back to you.

OK, and the issue will be closed as soon as the pull request is merged. Just open another issue if you found that it's a problem with this extension.

I think the just formatter was only overwriting the original file - /.~format-with-cli.cache in this case, and not writing the output to stdout
If it writes to stdout, it will also exit with a non-zero exit code, is there a way to use direct format with the contents of the "updated" .cache file instead of the standard out?
I will try to play around with the command so that I can print it to stdout as a workaround or mask the exit code.

is there a way to use direct format with the contents of the "updated" .cache file instead of the standard out?
@dhananjaipai In fact I've tested this solution but it's quite slow and is annoying for me, because it will write and read the file twice (one for the extension and one for the formatter).


chore(deps): update dependencies

Update most oif the dependencies, including vite and axios (see #332 and #331)

Does this include the "JSONSchema-to-form" package?


Make the 'crowbarcl upgrade backup crowbar' command work again

Partial revert of https://github.com/crowbar/crowbar-client/pull/150
This must be a wrong fix. This is obviously evil. I assume someone will spot this and find a correct way to fix it.

Actually, nodes action does not work as well, so it seems to be a problem for all calls with non-empty component.


HTML Support

Currently only looks at top level tokens. For HTML Tag support, parent token parsing support must be added

Sorry, initially this was my top goal but while developing the extension the architecture again doesn't support it.. It will be difficult to add although I still really want it. But not anytime soon at least.

Did the old version support this?  I'm only discovering your extension now and it would be amazing to have support for HTML and JSX tags.  I really hope that can still be possible at some point.

@dlong500 yes the old version supports this. Check the HTML Configuration at the bottom of the page.

@CoenraadS  #68 #37 #35
I took a look at the extension files and got an idea, I saw that Regex is already used.
With this in mind, if we treat brackets as regular expressions (Regex), we could easily identify opening and closing HTML tags.
For example:
Opening HTML Tag -> <[^> \ /] *>
Closing HTML Tag -> <\ / [^>] *>
Do you know where opening and closing brackets are set? Do you believe that with this idea it would be possible to identify HTML tags?


TURFin' progress

TURFin progress

I gotta find a reason to use this one!

sup magic is everywhere!


Cannot login MS account when use the live share

Describe what happened:
The live share works well previously. When I used the live share feature yesterday, I cannot login the MS account and report the
following error: "Starting collaboration session: Cannot read properties of null (reading 'replace')"
I tried to uninstall the live-share and install it again, then upgraded the VScode version, however it still cannot work.
What was your system configuration?
Product and Version [VS/VSCode]: 1.71.2
OS Version[macOS/Windows]: macOS, 12.5.1
Live Share Extension Version: v0.4.0
Target Platform or Language [e.g. Node.js]: English
Steps to Reproduce / Scenario:

Go to 'Live share'
Click on 'share or join, then choose MS account and login'
See error

Please attach logs to this issue:
You can access them via the Live Share: Export Logs command from the command palette (ctrl + shift + p) and attach them to this issue
log-1.zip
Screenshots
If applicable, add screenshots to help explain your problem.

Apologies for the delay here. We’ve made improvements in this area since this issue was filed. We believe this may have improved your experience and are closing this issue. If this issue still persists for you, please comment on the issue and let us know. Thank you.


Implement getting X11 clipboard contents

This PR adds support for getting the clipboard contents. I only tested this with strings, but would expect that other kinds of data should work as well. There is still lots of TODO left here: Only get_string and get_format are implemented. Of course all the put_* are missing, but also available_type_names and preferred_format are missing since I ran out of time for now.

I forgot to mention in any of the commits: This is a first step towards #937. (Now that I left this here, GH will surely link the issue to this PR)

Oh and: Somewhen, this might need timeouts. If the transfer did not finish after [time], abort and return None.
However, now is not the time for that. (As in, I don't have the time right now.)

I updated this to also implemented available_type_names() and preferred_format().
available_type_names() is just a transfer of type TARGETS. This produces a list of Atoms (i.e.: Vec<u32>). This list then just has to go through self.connection.get_atom_name (element-wise).
preferred_format() finds the first entry in the result of available_type_names(), which seems to be what the gtk backend is doing.
I tested this with:
fn main() {
    let app = druid_shell::Application::new().unwrap();
    println!("{:?}", app.clipboard().available_type_names());
    println!("{:?}", app.clipboard().preferred_format(&["FOOBAR", "UTF8_STRING"]));
}

Output is:
["TIMESTAMP", "TARGETS", "MULTIPLE", "_VIMENC_TEXT", "_VIM_TEXT", "UTF8_STRING", "COMPOUND_TEXT", "TEXT", "STRING"]
Some("UTF8_STRING")

With the gtk backend I get:
["TIMESTAMP (133)", "TARGETS (129)", "MULTIPLE (132)", "_VIMENC_TEXT (136)", "_VIM_TEXT (137)", "UTF8_STRING (70)", "COMPOUND_TEXT (138)", "TEXT (139)", "STRING (31)"]
Some("UTF8_STRING")

Dunno why the gtk backend also includes the number of the atom. That does not seem useful to me and would break my implementation of preferred_format(), so I did not do that.

Taking a look at this, and just wanted to make sure that the changes related to the screen number and timestamps is intended to be part of this PR?

timestamp is needed for the clipboard, screen_num looks like a unrelated refactor

To clean up this PR, I rebased it on current master and squashed all the commits (since you use squash merges anyway). I also wrote a hopefully good commit message for this new commit.

@psychon if that's the only unrelated change then no worries, but if there's other stuff in here that's unrelated breaking them out into a separate PR will definitely make review easier.


templatizing repo

this adds the test branch for testing the workflows

this should be a stable build of the website
closes #2

i put eyes on it


Reduce footprint of docker images

Describe the bug
The footprint of pilot, proxyv2, and proxy_init containers is too large and includes many unnecessary components from a license, CVE, and size perspective.
Expected behavior
The distro-based containers only contain mandatory components.
Steps to reproduce the bug
use docker save to save the container and run through Protecode package scanner.
Version
1.0.0 - master
Is Istio Auth enabled or not?
Not relevant to this issue.
Environment
Not relevant to this issue.
Cluster state
Not relevant to this issue.

@costinm had suggested using the debain:9-slim image.  I ran a diff against the packages installed.  Ubuntu Xenial includes these extra packages:
sdake@falkor-07:~$ diff -uNr slim-manifest-packages2 fat.manifest.packages | grep \+ | grep -v \@@
+++ fat.manifest.packages	2018-09-15 16:18:00.920853969 -0700
+gcc-5-base
+gnupg
+init
+initscripts
+insserv
+libapparmor1
+libcap2-bin
+libcryptsetup4
+libdevmapper1.02.1
+libkmod2
+libncurses5
+libprocps4
+libreadline6
+libseccomp2
+libusb-0.1-4
+makedev
+procps
+readline-common
+systemd
+systemd-sysv
+sysv-rc
+ubuntu-keyring

Removing this packages with a Dockerfile that is similar in nature to this one:
FROM ubuntu:xenial

£RUN apt-get update
£gcc-5-base
RUN dpkg --purge --force-depends --force-remove-essential init
RUN dpkg --purge --force-depends --force-remove-essential gnupg
RUN dpkg --purge --force-depends --force-remove-essential initscripts
RUN dpkg --purge --force-depends --force-remove-essential insserv
RUN dpkg --purge --force-depends --force-remove-essential libapparmor1
RUN dpkg --purge --force-depends --force-remove-essential libcap2-bin
RUN dpkg --purge --force-depends --force-remove-essential libcryptsetup4
RUN dpkg --purge --force-depends --force-remove-essential libdevmapper1.02.1
RUN dpkg --purge --force-depends --force-remove-essential libkmod2
RUN dpkg --purge --force-depends --force-remove-essential libncurses5
RUN dpkg --purge --force-depends --force-remove-essential libprocps4
RUN dpkg --purge --force-depends --force-remove-essential libreadline6
RUN dpkg --purge --force-depends --force-remove-essential libseccomp2
RUN dpkg --purge --force-depends --force-remove-essential libusb-0.1-4
RUN dpkg --purge --force-depends --force-remove-essential makedev
RUN dpkg --purge --force-depends --force-remove-essential procps
RUN dpkg --purge --force-depends --force-remove-essential readline-common
RUN dpkg --purge --force-depends --force-remove-essential systemd
RUN dpkg --purge --force-depends --force-remove-essential systemd-sysv
RUN dpkg --purge --force-depends --force-remove-essential sysv-rc
RUN dpkg --purge --force-depends --force-remove-essential ubuntu-keyring
RUN apt-get clean
RUN rm -rf /var/lib/apt/lists/*

Produces these types of images:
sdake@falkor-07:~$ docker images | grep squashed
squashed2                                  latest              fdf1cfb52b06        15 seconds ago      63.9 MB
squashed                                   latest              e0b638d9b7fa        11 minutes ago      122 MB

Where squashed was created with docker build with above Dockerfile.
Where squashed2 was created with this image squasher:
https://github.com/goldmann/docker-squash
This is a python tool that can actually squash into the scratch, unlike docker build --squash.

Docker-squash from mgoldman seems to do a nice job of reducing image size:
sdake@falkor-07:~/mydocker$ docker-squash istionightly/base_debug -t debug_squashed
2018-09-15 19:29:05,055 root         INFO     docker-squash version 1.0.7, Docker 092cba3, API 1.26...
2018-09-15 19:29:05,055 root         INFO     Using v2 image format
2018-09-15 19:29:05,063 root         INFO     Old image has 7 layers
2018-09-15 19:29:05,064 root         INFO     Checking if squashing is necessary...
2018-09-15 19:29:05,064 root         INFO     Attempting to squash last 7 layers...
2018-09-15 19:29:05,064 root         INFO     Saving image sha256:46cfeb8ed203d560a3665a27ca6d0f5cf36be0470bc1892cf4ca52f065f6b1d7 to /tmp/docker-squash-jotevs/old directory...
2018-09-15 19:29:09,400 root         INFO     Image saved!
2018-09-15 19:29:09,401 root         INFO     Squashing image 'istionightly/base_debug'...
2018-09-15 19:29:09,402 root         INFO     Starting squashing...
2018-09-15 19:29:09,403 root         INFO     Squashing file '/tmp/docker-squash-jotevs/old/9f77a5537b9ef3e88b487f22d92cff7570406bd61f007f3e444d1b24162d624f/layer.tar'...
2018-09-15 19:29:10,225 root         INFO     Squashing file '/tmp/docker-squash-jotevs/old/a85e0df71be6e543152f664672e07444d43478c6a2234993b0824f8375c6cbe8/layer.tar'...
2018-09-15 19:29:10,227 root         INFO     Squashing file '/tmp/docker-squash-jotevs/old/4ba146a04de047b0d0c20da82479b596ebfe0d7e84b700add4f8f197b385cbc6/layer.tar'...
2018-09-15 19:29:10,228 root         INFO     Squashing file '/tmp/docker-squash-jotevs/old/20d5656daf29199ca02343aef667f2d35ddf1d6379c0b14e16f12ea509520345/layer.tar'...
2018-09-15 19:29:10,230 root         INFO     Squashing file '/tmp/docker-squash-jotevs/old/f984db39bc8109738489ad14185972bb68b4be78bed6afce25ef88ba84783fb9/layer.tar'...
2018-09-15 19:29:10,235 root         INFO     Squashing file '/tmp/docker-squash-jotevs/old/40f6295f7da08db0a7bc8f224b796681f64501184803f3a66ad695d05bd32600/layer.tar'...
2018-09-15 19:29:12,423 root         INFO     Squashing finished!
2018-09-15 19:29:13,031 root         INFO     Original image size: 225.94 MB
2018-09-15 19:29:13,031 root         INFO     Squashed image size: 197.41 MB
2018-09-15 19:29:13,031 root         INFO     Image size decreased by 12.62 %
2018-09-15 19:29:13,031 root         INFO     New squashed image ID is f01d54e41072ec162d543da744cea57acd57169794f3e37810ba415afd454a37
2018-09-15 19:29:19,054 root         INFO     Image registered in Docker daemon as debug_squashed:latest
2018-09-15 19:29:19,090 root         INFO     Done

istionightly/base_debug                    latest              46cfeb8ed203        2 hours ago          231 MB
debug_squashed                             latest              f01d54e41072        About a minute ago   201 MB

I don't think squashing is the right solution. The sidecar is not running
by itself - user is likely to have a an app based on
ubuntu or deb (which are very popular), and docker will share the base
image. We should produce multiple
proxy images long term, with different base images - to maximize this
sharing.  With squashing - user is guaranteed
to have 2 copies of the OS, our squashed variant and his own base image.
Also not sure why go trough all the pain of removing packages and squashing

instead of just using a smaller base image (debian slim
or a more recent ubuntu which is smaller). Presumably the deb-slim has been
tested and used with its combination - while xenial
with removed packages may or may not work as expected.

On Sat, Sep 15, 2018 at 7:31 PM Steven Dake<EMAIL_ADDRESS>wrote:

Docker-squash from mgoldman seems to do a nice job of reducing image size:
sdake@falkor-07:~/mydocker$ docker-squash istionightly/base_debug -t debug_squashed
2018-09-15 19:29:05,055 root         INFO     docker-squash version 1.0.7, Docker 092cba3, API 1.26...
2018-09-15 19:29:05,055 root         INFO     Using v2 image format
2018-09-15 19:29:05,063 root         INFO     Old image has 7 layers
2018-09-15 19:29:05,064 root         INFO     Checking if squashing is necessary...
2018-09-15 19:29:05,064 root         INFO     Attempting to squash last 7 layers...
2018-09-15 19:29:05,064 root         INFO     Saving image sha256:46cfeb8ed203d560a3665a27ca6d0f5cf36be0470bc1892cf4ca52f065f6b1d7 to /tmp/docker-squash-jotevs/old directory...
2018-09-15 19:29:09,400 root         INFO     Image saved!
2018-09-15 19:29:09,401 root         INFO     Squashing image 'istionightly/base_debug'...
2018-09-15 19:29:09,402 root         INFO     Starting squashing...
2018-09-15 19:29:09,403 root         INFO     Squashing file '/tmp/docker-squash-jotevs/old/9f77a5537b9ef3e88b487f22d92cff7570406bd61f007f3e444d1b24162d624f/layer.tar'...
2018-09-15 19:29:10,225 root         INFO     Squashing file '/tmp/docker-squash-jotevs/old/a85e0df71be6e543152f664672e07444d43478c6a2234993b0824f8375c6cbe8/layer.tar'...
2018-09-15 19:29:10,227 root         INFO     Squashing file '/tmp/docker-squash-jotevs/old/4ba146a04de047b0d0c20da82479b596ebfe0d7e84b700add4f8f197b385cbc6/layer.tar'...
2018-09-15 19:29:10,228 root         INFO     Squashing file '/tmp/docker-squash-jotevs/old/20d5656daf29199ca02343aef667f2d35ddf1d6379c0b14e16f12ea509520345/layer.tar'...
2018-09-15 19:29:10,230 root         INFO     Squashing file '/tmp/docker-squash-jotevs/old/f984db39bc8109738489ad14185972bb68b4be78bed6afce25ef88ba84783fb9/layer.tar'...
2018-09-15 19:29:10,235 root         INFO     Squashing file '/tmp/docker-squash-jotevs/old/40f6295f7da08db0a7bc8f224b796681f64501184803f3a66ad695d05bd32600/layer.tar'...
2018-09-15 19:29:12,423 root         INFO     Squashing finished!
2018-09-15 19:29:13,031 root         INFO     Original image size: 225.94 MB
2018-09-15 19:29:13,031 root         INFO     Squashed image size: 197.41 MB
2018-09-15 19:29:13,031 root         INFO     Image size decreased by 12.62 %
2018-09-15 19:29:13,031 root         INFO     New squashed image ID is f01d54e41072ec162d543da744cea57acd57169794f3e37810ba415afd454a37
2018-09-15 19:29:19,054 root         INFO     Image registered in Docker daemon as debug_squashed:latest
2018-09-15 19:29:19,090 root         INFO     Done
istionightly/base_debug                    latest              46cfeb8ed203        2 hours ago          231 MB
debug_squashed                             latest              f01d54e41072        About a minute ago   201 MB
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/8563#issuecomment-421675527, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAFI6lewjjntwcTYlxrwvehsJFukpes3ks5ubbf6gaJpZM4Wfnin
.


View Shout upkeep on party members

As per the title, it would be super handy if Shout upkeep was visible for each party member so that Heroic Refrain can more easily be maintained.

The info for that is only available for yourself and your Heroes, adding Refrains to anybody else would purely be a guessing game so I didn't bother implementing that.

We won't do that for the reason mentioned by @PostCrafter.


Added syslog alerter

I would like to contribute to your project with my basic syslog alerter.

I don't understand why not passing the test.

The test failure is unrelated to your code changes. A new version of pytest or some dev dependency caused the failures. It's now been fixed in master.

Would be nice to get this one merged. What needs to be done?

This can probably be merged. I'll take a look at it again.
In the meantime, you could try using command alerter + logger.
alert:
- command
command: ["/usr/bin/logger", "-t", "elastalert"]
pipe_match_json: true

@Qmando Great news! I'm using logger currently, but I haven't figured out a way to spoof hostname in the syslog message field.  I would like to be able to rewrite what I want in that.

@Qmando any update on this?

Test are failing

Can you resolve conflicts please :)

Can you resolve conflicts please :)


pythonPackages.pyunbound: 1.9.3 -> 1.13.1 and fix build

Motivation for this change
I have started playing around with the unbound resolver and accidentally found why this package was broken.
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 132811 at 5fe5522a run on aarch64-linux 1

2 packages built successfully:

python38Packages.pyunbound
python39Packages.pyunbound

* warning: [stale-substitute](https://github.com/jtojnar/nixpkgs-hammering/blob/master/explanations/stale-substitute.md)
  Stale substituteInPlace detected.
  substituteStream(): WARNING: pattern 'libdir='/build/unbound-1.13.1/lib/python3.9/site-packages'' doesn't match anything in file '_unbound.la'
  Near pkgs/tools/networking/unbound/python.nix:58:0:
  ```
     |
  58 |     description = "Python library for Unbound, the validating, recursive, and caching DNS resolver";
     | ^
  ```

* warning: [stale-substitute](https://github.com/jtojnar/nixpkgs-hammering/blob/master/explanations/stale-substitute.md)
  Stale substituteInPlace detected.
  substituteStream(): WARNING: pattern 'libdir='/build/unbound-1.13.1/lib/python3.8/site-packages'' doesn't match anything in file '_unbound.la'
  Near pkgs/tools/networking/unbound/python.nix:58:0:
  ```
     |
  58 |     description = "Python library for Unbound, the validating, recursive, and caching DNS resolver";
     | ^
  ```

I have yet to check but I think this but it may be a false positive as  _unbound.la is a binary file.

The patchelf is never going to work on macos, so you may as well disable it there (unless I can come up with a quick hack for it...)

The stale substiute was a valid warning, there were no reference to libdir=/build/[...] in _unbound.la but the correct path refering the nix store is present as far as I can see it.

And in fact I can. Just omit the patchelf line for darwin. Seems to work.

On Linux the patchElf call is needed, because _unbound.la is by default referecnes libunbound.so.8 under the build directory as shown by ldd Is this not the case on darwin?

No - it works on macos because library paths work differently there.
More to the point patchelf will never work on macos because macos uses mach-o binaries, not ELF.

I have no knowledge how libraries are looked up on darwin, it is good to know that!


Yarn install failed

Restriction  engine in package.json do not allow user to use yarn package manager (https://github.com/yarnpkg/yarn)
error<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version ">= 5.4.1 < 6".
There is a reason to not allow node > 6 ?

Should no longer be an issue https://github.com/vladotesanovic/ngSemantic/pull/135

I just got the same error.
error<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version ">= 5.4.1 < 6".

this is fixed now


Ability to specify Proxy="<IP_ADDRESS>:8080" via /passive

Would be really nice if it worked behind a web proxy server similar to collectd on Linux.
Cheers!

Thanks for opening the issue @Rodri9o - I'll look into adding this support.

Dear SignalFX Support - is there any progress ?


feat: Point the openedx_webhooks bot to the new data repo.

As a part of the transition from edX to tCRIL, the repo-tools-data repo did
not get transferred.  A copy of the data needed by this application was made
and put into the openedx-webhooks-data repo in the openedx org.
This change points the app to load data from that repo instead.  Operationally,
that repo has the credentials for the edx-webhooks GitHub user and so that user
has also been given access to the new openedx-webhooks-data repo.

@Carlos-Muniz I can do that as a follow-up,  I want this to be the minimal change to validate that the data is being pulled from the right place so I'd like to make those changes as a follow-up PR, I've made https://github.com/openedx/openedx-webhooks/issues/171 to do that follow-up so it doesn't get lost.


Is it possible to add some key works that specifies the spectrometer name in the configuration file?

Motivation
I do not want to specify the ROS topic name that is saved in the necstdb when loading the data. To realise this, the keyword in the config file of neclib should somewhat be connected to the necstdb list_tables. Could you consider this issue?

@r-yamada1998
Thank you for the feature request!
First of all, I think the information is not something dependent on NECST system configuration, but should be bound to data itself.
Also, there will be no significant difference between the use of ROS topic name and config parameter, because both keywords have single definition (config.toml / definitions.py), so the chance of change or fluctuation is equally low.
I'd like to suggest that the use of topic namespace will be suitable. The design of implementation follows:

Store the data 'kind' as table metadata (using necstdb.table.header)

Pros

(WRITE) Simple implementation, just add header entry in neclib.recorders.
(READ) Simple read-out, enabling uniform list of the information like necstdb.get_info# PoC
{db.open_table(table).header.get("data-kind", None) for table in db.list_tables()}

Cons

(WRITE) Auto-detection of the kind may use topic namespace. Conversion from the namespace to kind is a little bit redundant.
(WRITE) May require complicated algorithm to uniformly classify the topics, since namespace definitions are in ROS package, hence not accessible from neclib.
(BOTH) Database formats other than necstdb may not support the custom metadata (e.g., sqlite doesn't support such metadata).

Judge the data kind by data namespace

Pros

(BOTH) No additional implementation required on database handlers.

So no pros or cons are discussed on WRITE-ing the information.

(READ) User can choose the resolution of the classification.prefix = f"necst-{config.observatory}-"
all_observation_results = [
    tablename for tablename in db.list_tables()
    if tablename.startswith(prefix + "data")
]
spectral_data = [
    tablename for tablename in db.list_tables()
    if tablename.startswith(prefix + "data-spectral")
]

Cons

(READ) You won't be provided with algorithm to judge the data kind by this package.
(READ) Though the namespace definitions are designed to be semantically uniform, but the uniformness may depend on usage.
(READ) You can access the namespace definition list, but since it's in necst, ROS environment is required.


Improve create/restore and UI loading landing page

Resolves
closes #2
What's new
Add wallet loading page which is viewed on UI startup also added wallet creation landing UI page
Relevant screenshots or logs

Additional context

[x] Improve create/restore landing page

[x] Improve Loading page that loads page while wallet is being initialized

[x] Show wallet creation landing page only if wallet does not exist

This is obsolete as button layout widget has been push upstream


Too large write data is pending: size=725124416, max_buffer_size=268435456

Steps to reproduce
Tell us about your environment:

Puppeteer version: 1.2.0
Platform / OS version: Windows Server 2008
URLs (if applicable):
Node.js version: 8.9.1

What steps will reproduce the problem?
When printing web pages that contains hundreds of images.
Even tried the "pipe" mode but no avail. If this is a limitation, is there a way to find the size of the write data as it is obviously printing the following statement on the console window
[0609/223146.069:ERROR:http_connection.cc(112)] Too large write data is pending: size=725124416, max_buffer_size=268435456
Tried Network.dataReceived option to read the data lengths to get to the overall size but the data size does not match. In my case, I got the data as 521 MB but the write data says 691 MB.
Attached a picture of the Network tab on the devTools. It says 521 MB resources which is correctly matching my reading. However, it says 252 MB transferred. How do I get this reading? Either way, how do I get the write data size?

What is the expected result?
Successfully generate the PDF irrespective of the size of the write data. Else, way to know the size of the write data so that we can document the known limitations.
What happens instead?
Fails to generate the PDF when the page contains of hundreds of images. In other words, when the write data is too large.

@vadnala You're hitting the limit on Chrome DevTools WebSocket: https://cs.chromium.org/chromium/src/content/browser/devtools/devtools_http_handler.cc?sq=package:chromium&g=0&l=83-84
In other words, DevTools protocol messages are limited to 256Mb in DevTools->Clients direction.
The limit will go away once we teach Chromium to return PDFs as streams: https://crbug.com/748956

@aslushnikov Thanks for the reply and pointers. For time being (workaround), I am looking for an answer to either of these three

Is there a way to find the size of the write data so that I can split the prints accordingly.

I was able to get the resources size capturing the "dataLength" from Network.dataReceived but how do I capture the data transferred so that I can sum up to get the size of the write data

Is there a way to capture the below error message

[0609/223146.069:ERROR:http_connection.cc(112)] Too large write data is pending: size=725124416, max_buffer_size=268435456

@vadnala the fix is already landing in chromium: https://chromium-review.googlesource.com/c/chromium/src/+/1652155
We'll have it in Puppeteer shortly (in a few days) and it will be available right away on npm as puppeteer@next.

@aslushnikov That's great news and many thanks for the update.
We have a customer issue and thus looking for a quick workaround.
Any option to get the size of the "write data" one or the other way?
Thanks in advance.

Any option to get the size of the "write data" one or the other way?
Thanks in advance.

Unfortunately I can't think of any good way to handle this. The best you can rely upon is parsing the stdout/stderr of the chrome process itself.

Any sample/example on how we can parse/capture "chrome" stdout / stderr from puppeteer? TIA


How to move to the next month using button instead of Slide .....

How to move to the next month using button
<ion-slide-box class="monthview-slide" on-slide-changed="slideChanged($index)" show-pager="true" does-continue="true"\n" +
I'm Trying to use Button but dint working ...
"<button type='button' class='btn btn-default btn-sm' ng-click="slideChanged($index+1)" >Next

As noted in the readme (https://github.com/twinssbc/Ionic-Calendar#events) you can broadcast these events to move to the previous or next view:
// Move to the next view
$scope.$broadcast('changeDate', 1);

// Move to the previous view
$scope.$broadcast('changeDate', -1);

@GopinathKaliappan  Manduro is correct, feel free to have a try. Thanks.

@twinssbc It is not implemented in this plugin, but in the normal Angular version. #11 has a fix.

@Manduro @GopinathKaliappan I have added missing event handler for changeDate event. It's included in version 0.1.3, feel free to have a try. Thanks.


Export Manager Types

Good afternoon! I'm wanting to use this library as a core for @necord/lavalink but for this to occur it is necessary that the Manager typing be exported in index.ts
+ export * from "./structures/Types/Manager";

I'll create the PR for this issue

Will ciome with v2.3.1. (in the next few hours)


AttributeError: module 'imgaug.augmenters' has no attribute 'LinearmnContrast'

Can you give more description about the issue?


Page break avoid-all starts failing in longer documents

When creating a pdf of a long page using use page-break avoid-all, after approx 20 pages the output while seemingly attempting to avoid breaking inside an element (as larger elements are mostly forced to the next page), slightly misses. It appears to get worse the more pages there are, this image shows the top of the text 'ABC Chart' being cut at the bottom of the page:

I have set jsPDF options to A4, portrait, units mm

On further investigation - the top of each page appears to creep up from the start, by the time it gets to page 20 it has crept up enough to hit the bottom of the previous page

Yeah I just noticed the same. Any workarounds for that ?

I have the same problem with large documents. When the pagebreak is the middel of a table a few rows go missing. Text seems to dissapear or get cut off on the top of the page as well.

Interesting, thanks for the report. Page-breaks are still not perfect, especially when tables are involved...

I'm experiencing similar issues with page-break. First page works as expected, then every subsequent page either cuts off elements completely or just shows the page-break element as having a larger margin between itself and the previous element with no page-break.
 Like this:

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

21.

22.

23.

The CSS:
.check-list-pdf
{display:block; width:100%; padding:16px;}
.check-list-pdf__test-container
{display:block; width:100%; height:auto;}
.check-list-pdf__test-item
{clear:both; display:block; width:100%; height:80px; padding:16px; border:2px dashed green; margin-bottom:16px; color:green;}
.check-list-pdf__test-item.test-item--page-break
{border:2px dashed red; margin-bottom:16px; color:red;}

...and here are the options I'm using:
        var elementAlt = document.getElementById('checkListPDF');

        var opt = {
            margin: 0,
            filename: 'test-A4.pdf',
            image: { type: 'jpeg', quality: 0.98},
            html2canvas: { scale: 3.125, width: 2880 },
            jsPDF: { unit: 'px', format: 'A4', orientation: 'landscape'},
            pagebreak: {after: '.test-item--page-break'}
        };

        html2pdf().from(elementAlt).set(opt).save();

Same happens for me, around page 9 using the default 'html2pdf__page-break'

I have a workaround solution:
I split the html content to several item, and every item a PDF page.
after convert html -> canvas -> img -> add to pdf
let doc = new jsPDF({
    orientation: 'portrait',
    unit: 'px',
    format: [800, 1150]
});
for (let index = 0; index < items.length; index++) {
    if (index > 0) {
        doc.addPage();
    }
    let container = document.getElementById('item' + index);
    let canvas = await html2canvas(container, {
        allowTaint: true,
        backgroundColor: '#FFF',
        scale: 4
    });
    let img = canvas.toDataURL('image/jpeg', 1.0);
    doc.addImage(img, 'JPEG', 0, 0, width, height);
}
doc.save('file.pdf');

Dirty fix:
Adds 5 px to the bottom to force the content down.

Edit html2pdf.bundle.min.js
search for "  height:e-s.top%e+"px"}}) "
change to "  height:5+e-s.top%e+"px"}})  "

Dirty fix:
Adds 3px to the bottom to force the content down.
Edit html2pdf.bundle.min.js
search for "  height:e-s.top%e+"px"}}) "
change to  "  height:3+e-s.top%e+"px"}})  "

Before:

After:

Thanks for this 'dirty fix' - i actually had to go as far as 20px for my use case, it seems to get a 36 page pdf clean. 5 would break at about page 28, 10 at page 32. Either way it's given a temporary fix for the issue for me, so thanks!

Hi !! try change your code to  that ( Your Problem in Unit should use pt ) :
#Javascript :
//  Choose the element that our invoice is rendered in.
    const yourElement= document.getElementById("invoice");

//  Choose the element and option and save the PDF for our user.
var opt = {
                  margin: [0,0],
                  filename: 'pdfFileName.pdf',
                  image: { type: 'jpeg', quality: 0.98 },
                  html2canvas: { scale: 2, letterRendering: true },
                  pagebreak: { mode: '', before: '.break-before', after: '.break-after', avoid: '.break-avoid' },
                  jsPDF: { unit: 'pt', format: 'letter', orientation: 'portrait' },
};
html2pdf().set(opt).from(yourElement).save();

#CSS :
/* CSS styling for before/after/avoid. */
.break-before {
    page-break-before: always;
}

.break-after {
    page-break-after: always;
}

.break-avoid {
    page-break-inside: avoid;
}

.fullpage {
    height: 792pt;
}

#HTML :

#Advice : Limit Height in 792pt ( 11in = 792pt  because use  'jsPDF: { unit: 'pt',..}' and pdf document Limit Size of Height is 11in )

Any updates regarding this issue? I'm using current version (0.10.1) in Angular application and flamebunny's dirty fix is not applicable any more - no such string in html2pdf.bundle.min.js.

I have managed to adjust the dirty fix to v0.10.1, here it is:
Edit html2pdf.js
search for "height: pxPageHeight - clientRect.top % pxPageHeight + 'px'"
change to "height: 3 + pxPageHeight - clientRect.top % pxPageHeight + 'px'"

Hello, this problem still exists. I have been doing a padding to prevent this bug, but this is still a "dirty fix"

Any clean solution?

Both version 0.9 and 0.10 have this issue. It always happen when you have a multi-page section with page-break-inside: avoid.
I was thinking increasing the line-height could help, but it doesn't help.
Loosening page-break-inside: avoid on multi-page sections and manually page-breaking where I need it to is the only way.
This isn't great if the content itself can be dynamic.

I was having a similar issue and found the bug and one solution.
In the first place, when a page-break is required, this library appends elements with fixed height to the document so the remaining page is filled and the following elements jumps to a new page.
All the "remaining height" calculation is done in px bc of getBoundingClientRect, so setting the jsPDF config units in px helped me to avoid the 3 + dirty fix aforementioned.
In addition to that, I was using break-after to control when a page ends, and inside one of those pages the content was large enough to require more than one page. The bug is caused bc the elements are processed sequentially.
Suppose the following setup:

 Some long content

 More content

.page { break-after: always }
.last-page { break-after: unset }
.element { break-inside: avoid }

The first page element is correctly checked to not fill in one page, and a div with the remaining height is inserted after it, resulting in:

 Some long content

 More content

Then the first
 is evaluated. It completely fits in one page, so nothing happens.
When the second
 is evaluated, it doesn't fit in the current page, so another div in inserted to fill the remaining space and make it jump to the next one, resulting in:

 Some long content

 More content

At this point, the second
 starts in a brand new page, but the 500px
 that was inserted to fill the first
 didn't take into account the height of the 150px
, so those 150px are taking space from the page of the second
, making it start with a margin-top of 150px.
I don't think this bug can be easily fixed without modifying the whole plain loop and converting it into a tree based loop that looks at the elements from child to parent, so all the inside divs are already inplace when computing the last one.
Nevertheless, this can be avoided by changing break-after with break-before.

 Some long content

 More content

.page { break-before: always }
.first-page { break-before: unset }
.element { break-inside: avoid }

function exportToPDF(tableId) {
var element =  document.getElementById(tableId);
const pdfImageContainer = document.createElement('div');
// Add the image to the PDF container (not visible on the front end)
const headerImage = document.createElement('img');
headerImage.src = "/myfiles/s1.png";
headerImage.alt = "Header Image";
headerImage.style.width = "100%";
headerImage.style.maxHeight = "100%";
// Append the image to the PDF container
pdfImageContainer.appendChild(headerImage);
// Create a new div to contain the table for the PDF
const pdfTableContainer = document.createElement('div');
// Add the table to the PDF container
pdfTableContainer.appendChild(element.cloneNode(true));

// Create a new div to wrap both the image and the table for the PDF
const wrapperDiv = document.createElement('div');

// Append the image container to the wrapper div
wrapperDiv.appendChild(pdfImageContainer);
// Append the table container to the wrapper div
wrapperDiv.appendChild(pdfTableContainer);

var opt = {
margin:       0.7,
filename:     'Audit-Report.pdf',
enableLinks:  false,
pagebreak:    { mode: 'avoid-all' },
image:        { type: 'jpeg', quality: 0.98 },
html2canvas:  { scale: 2 },
jsPDF:        { unit: 'in', format: 'a4', orientation: 'portrait' }
};
html2pdf().from(wrapperDiv).set(opt).toPdf().get('pdf').then(function (pdf) {
var totalPages = pdf.internal.getNumberOfPages();
//print current pdf width & height to console
console.log("getHeight:" + pdf.internal.pageSize.getHeight());
console.log("getWidth:" + pdf.internal.pageSize.getWidth());
for (var i = 2; i <= totalPages; i++) {
pdf.setPage(i);
pdf.setFontSize(12);
pdf.setTextColor(150);
pdf.text(pdf.internal.pageSize.getWidth() - 4.9, pdf.internal.pageSize.getHeight() - 11.3, "Audit Report");
pdf.text(pdf.internal.pageSize.getWidth() - 4.9, pdf.internal.pageSize.getHeight() - 0.3, "Page " + i + " of " + totalPages);
}
}).save();
}
Here is my code the input to this function are two tables

and

botht ables have nested tables. The data in downloaded pdf is not having proper page breaks

How can i fix this?


Recursive bulk-add/bulk-search

Issue description
My movies are stored in a single folder, with a sub folder for each movie like this:
/mnt/.../movies/MovieName.1080p.bla-bla/MovieName.1080p.bla-bla.mp4
When i add the moves folder in buld-add /mnt/.../movies/, it searches only the top folder, and not recursive into the folders.
Steps to Reproduce

Bulk-add a folder, with sub folders containing movie
Nothing happens.

Expected Behaviour
I was expecting it to search all sub folders recursively
Actual Behaviour
Searches the top folder, and ignores content of sub folders
Environment Information

Operating System: Arch Linux
Streama version: v1.6.0-RC9

Currently this is the behaviour. Recursiveness is planned.

Also waiting for this. I have a folder structure as following:
SeriesName
     --[SeasonNumber]_SeasonName
           --[EpisodeNumber]_EpisodeName

Yes please ! How else would I initially import hundreds of files organised like the examples here in this issue ? This is a show stopper :/

Another vote for this. And massive thanks for everyone involved :)

Is this on the Roadmap? For a high priority issue, it has been over a year unsolved

Is there a technical issue that hinders implementation of this feature?

This. It is seriously a PITA having to add each episode of each season to a show when you have hundreds of shows.
Movies too, but that's not quite as terrible as there's usually just one file per movie.