Gated feature flag to add a secondary outbound bind for IPv6-only clusters

Why this PR is required ?
Currently in IPv6-only clusters such as EKS it introduces an egress-only IPv4 IP per pod that is fully capable for NAT'ing outbound traffic.
When running in these clusters applications should be able to route to IPv4 endpoints without having to enable full dual stack support.
However, as explained in https://github.com/istio/istio/issues/46719 when running Istio in the single stack IPv6 mode it only binds to,
tcp6   0      0 :::15001                :::*                   LISTEN      -

To overcome this limitation this PR introduces a secondary bind IPv4 address to 15001.
When this secondary bind is added this will create two listeners,
tcp        0      0 <IP_ADDRESS>:15001           <IP_ADDRESS>:*               LISTEN      25/envoy
tcp6       0      0 :::15001                :::*                    LISTEN      25/envoy

Safety and Risk
Currently this is feature gated with ISTIO_ENABLE_IPV4_OUTBOUND_LISTENER_FOR_IPV6_CLUSTERS flag so this secondary bind only gets enabled when this flag is set to true.
Future Improvement
I think we should also consider adding ipv4_compat (enabled in Envoy socket address API) for managing this compatibility in the future.

Hi @pseudonator. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

cc @jacob-delgado @zhlsunshine
Is it only this one that needs two?

Correct,
Dual stack already manages these binds for multi interface environments

Hi @pseudonator, what I know is that: ::15001 should be okay for both IPv4 and IPv6 as a listener, so I am curious if there is other way to handle this?  You know it's very strange to add a ipv4 outbound listener to a IPv6-only cluster.

Thanks @zhlsunshine, I thought envoy by default does not handle this in IPv6 mode
Wasnt that the reason ipv4_compat was added ?

(bool) When binding to an IPv6 address above, this enables IPv4 compatibility. Binding to :: will allow both IPv4 and IPv6 connections, with peer IPv4 addresses mapped into IPv6 space as ::FFFF:.

Thanks @zhlsunshine, I thought envoy by default does not handle this in IPv6 mode
Wasnt that the reason ipv4_compat was added ?

(bool) When binding to an IPv6 address above, this enables IPv4 compatibility. Binding to :: will allow both IPv4 and IPv6 connections, with peer IPv4 addresses mapped into IPv6 space as ::FFFF:.

Yeah, I remember that envoy has already supported ipv4_compat in the socket address, you may can refer to this for detail information.

Thanks @zhlsunshine, I thought envoy by default does not handle this in IPv6 mode
Wasnt that the reason ipv4_compat was added ?

(bool) When binding to an IPv6 address above, this enables IPv4 compatibility. Binding to :: will allow both IPv4 and IPv6 connections, with peer IPv4 addresses mapped into IPv6 space as ::FFFF:.

Yeah, I remember that envoy has already supported ipv4_compat in the socket address,  so @pseudonator you may refer to this for detail information.

Thanks for referencing that PR. Introducing ipv4_compat is a big piece of work as i mentioned in the PR description.
And i totally get your concerns about adding a IPv4 bind in a IPv6-only environment but unfortunately thats what it comes down to in EKS environments. It still NATs traffic to both IPv4 and IPv6 in these environments. Hence why i have gated it so everyone dont need to opt-in to this.
I'm more than happy to address any further concerns you have.

Hi @pseudonator, what I know is that: ::15001 should be okay for both IPv4 and IPv6 as a listener, so I am curious if there is other way to handle this? You know it's very strange to add a ipv4 outbound listener to a IPv6-only cluster.

It is actually not strange if you know other clusters are IPv4 around the few IPv6-only clusters.  @pseudonator do you have users want to do this, could be helpful if you can share?
@zhlsunshine do you see any issue of dark launch this to get users feedback first?

@jacob-delgado @ilrudie thoughts?

This looks reasonable. Using additionalAddresses keeps the scope pretty well limited

Any further feedback on this PR ?

@zhlsunshine, your input on the idea of a dark launch and the concerns that would prevent moving forward with this would be greatly appreciated.

Hi @linsun & @ilrudie, I have no concern about the performance with 2 listeners, and @pseudonator I also have no more concern for this PR. There is no doubt that this PR can handle the issue in EKS environment.  And I suggest that we can add the issue or PR link in the place where the code is changed.

@zhlsunshine got it thank you. I will add the issue link as a comment

This LGTM, but does this also need a change for istio-cni?

@pseudonator: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-pilot-istiodremote-mc_istio
a77550914c6482712014c72151172555cc9ee3d7
link
true
/test integ-pilot-istiodremote-mc

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@pseudonator: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-cni_istio
87d5b09b0f11d5eab3617bf97427735d257dd5fb
link
true
/test integ-cni

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@pseudonator: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-cni_istio
87d5b09b0f11d5eab3617bf97427735d257dd5fb
link
true
/test integ-cni

integ-security-istiodremote_istio
87d5b09b0f11d5eab3617bf97427735d257dd5fb
link
true
/test integ-security-istiodremote

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@pseudonator: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-cni_istio
87d5b09b0f11d5eab3617bf97427735d257dd5fb
link
true
/test integ-cni

integ-security-istiodremote_istio
87d5b09b0f11d5eab3617bf97427735d257dd5fb
link
true
/test integ-security-istiodremote

integ-security-multicluster_istio
87d5b09b0f11d5eab3617bf97427735d257dd5fb
link
true
/test integ-security-multicluster

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test integ-cni

/retest

looks like tests are good. over to you @zhlsunshine @jacob-delgado

PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@zhlsunshine @jacob-delgado any further feedback or update on this ? dont want this PR to fall behind

Dual stack already manages these binds for multi interface environments

I have not observed this to be the case when setting ISTIO_DUAL_STACK=true - am I missing something? Is it unreleased? To me it makes sense to consider this scenario of IPv6-only EKS deployed in a dual stack environment where pods want to still perform IPv4 traffic as "dual stack".... but again the ISTIO_DUAL_STACK=true does not allow IPv4 traffic to exit the app containers in this EKS scenario.
Ultimately I'm asking why this flag is needed - as a user my first impression was that I expected ISTIO_DUAL_STACK=true to apply to this scenario and do the right thing.

@mmerickel I can chime in a bit here,

In the case of IPv6-only EKS its not a true dual stack in the sense the IP family is single stack IPv6 only. And if you need IPv4 capability for SE then IPv6 binding alone does not help. This flag is a means to gate this behaviour such that it does not introduce unnecessary binds in other cloud providers. as far as i know its only in EKS this IPv4 NAT scenario exists for outbound traffic.
When it comes to dual stack i don't think its quite GA yet. So your mileage will vary if you use ISTIO_DUAL_STACK flag.
WG network folks can add more colour to this.

I would still want to define ServiceEntry objects for services that only support IPv4 in this EKS config.

@pseudonator So will I be able to do this with this PR, with dual stack disabled? And view mesh traffic to those services?

That's the intention 🙂

Hi @pseudonator LGTM, thanks!
BTW, want to know that: is it okay if there is a service entry which is defined with only ipv6 address in EKS environment?

Thanks @jacob-delgado
@zhlsunshine I assume you mean something like this right ?
spec:
  hosts:
    - example.com
  location: MESH_EXTERNAL
  ports:
    - number: 443
      name: https
      protocol: HTTPS
  resolution: STATIC
  endpoints:
    - address: "2606:2800:220:1:248:1893:25c8:1946"

if so yes it does
Heres an output of a route to both <IP_ADDRESS> and 2606:2800:220:1:248:1893:25c8:1946 addresses

Thanks @zhlsunshine

@howardjohn, Jacob and Steve approved. Any chance you could take another look at this?

Any objection of cherry pick this fix to release 1.19? @dims from AWS also pinged me about how this fix help them as well.
cc @pseudonator

/cherrypick release-1.19

@linsun: new pull request created: #47408

In response to this:

/cherrypick release-1.19

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Hi @pseudonator can you check release-1.20 branch has this fix? Just realized branching was cut also around 2 weeks ago.

I'm running into issues where ServiceEntry telemetry is not tagged properly for ipv4 egress traffic using this flag - thought I'd link it here to see if anyone else has run into this: https://github.com/istio/istio/issues/48829


logoproposal for flashtext

hello my name is orlando velasquez I am a graphic designer and I like to make contributions in projects like this if you allow me I can create a logo for your project

Hi Orlando,
Thanks for doing this :) I would love to add your contribution :)
Thanks for giving the project your time, please do share what suggestions
you have for this. All I can offer in return is sharing credits in
README/Docs files and any recommendations for your work :) please share how
you would like to see those as well :)
Please share link to some of your works if you have Behance or Dribble it
would be awesome :)
Regards,
Vikash
On Sat, Jul 14, 2018 at 2:18 AM ORLANDOJOSEV<EMAIL_ADDRESS>wrote:

hello my name is orlando velasquez I am a graphic designer and I like to
make contributions in projects like this if you allow me I can create a
logo for your project
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/vi3k6i5/flashtext/issues/58, or mute the thread
https://github.com/notifications/unsubscribe-auth/AC-Nwl6GyUjbAU19Nw2slVOr-NZot2pFks5uGQeXgaJpZM4VPfVr
.

it is a pleasure to greet you Vikash, what you offer me in exchange for me is enough, I like to make contributions in important projects. I would like to give me a much simpler description about this project, or if it has some specific elements that you want to be in the logo. I will be doing some sketches while, you answer me and visit some works done for repositories in github. Thank you
Last design madehttps

Thanks Orlando,
2 primary keywords: fast and simple
Description: it's a simple to use keywords search tool, which can search a
lot of words in a text faster.
Hope this helps, anything more than this will get technical.
Regards,
Vikash
On Mon 23 Jul, 2018, 19:14 ORLANDOJOSEV<EMAIL_ADDRESS>wrote:

it is a pleasure to greet you Vikash, what you offer me in exchange for me
is enough, I like to make contributions in important projects. I would like
to give me a much simpler description about this project, or if it has some
specific elements that you want to be in the logo. I will be doing some
sketches while, you answer me and visit some works done for repositories in
github. Thank you
Last design madehttps
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/vi3k6i5/flashtext/issues/58#issuecomment-407062692,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AC-NwoIz--NBfIOt9mjJucPyjpyAUO0yks5uJdNIgaJpZM4VPfVr
.

 I have been inspired by the terms "SEARCH" "TEXT", combining these two terms, I have obtained a Simple, simple logo that represents the speed you have to search for words. By means of the Flash Concept that you use for this logo ... (presented two types of sources: A - B that go according to the model of the logo) and some variations of colors.

I personally like A2 the most.
Since there is the "Flash" in the word "FlashText", should you include the Flash logo or ⚡ into the logo somehow:


[Bug]: makemkvcon does not allow spaces in file names/directories

What happened?
When running the makemkvcon command, it is not possible to specify a directory or file name that includes a space. Doing so causes makemkvcon to immediately and silently fail, falling back to displaying the help text. Behavior does not change if the file path is enclosed in quotes, or if spaces are preceded by a backslash.
Example command that will fail:
makemkvcon mkv disc:0 0 "/media/storage-2/Movies/The Hobbit"
Example command that will succeed:
makemkvcon mkv disc:0 0 "/media/storage-2/Movies"
What should have happened?
makemkvcon should execute a properly formatted command using the specified file path, regardless of whether that path includes a space.
Note that this is not a makemkv issue, as makemkvcon properly handles spaces when compiled from source.
Output of snap info $snap_name
name:      makemkv
summary:   Backup your DVD and Bluray discs
publisher: Daniel Llewellyn (diddledani)
store-url: https://snapcraft.io/makemkv
contact:   https://github.com/diddlesnaps/makemkv/issues
license:   unset
description: |
  MakeMKV is your one-click solution to convert video that you own into free and
  patents-unencumbered format that can be played everywhere. MakeMKV is a format converter,
  otherwise called "transcoder". It converts the video clips from proprietary (and usually
  encrypted) disc into a set of MKV files, preserving most information but not changing it in any
  way. The MKV format can store multiple video/audio tracks with all meta-information and preserve
  chapters. There are many players that can play MKV files nearly on all platforms, and there are
  tools to convert MKV files to many formats, including DVD and Blu-ray discs.

  Additionally MakeMKV can instantly stream decrypted video without intermediate conversion to wide
  range of players, so you may watch Blu-ray and DVD discs with your favorite player on your
  favorite OS or on your favorite device.

  - Reads DVD and Blu-ray discs
  - Reads Blu-ray discs protected with latest versions of AACS and BD+
  - Preserves all video and audio tracks, including HD audio
  - Preserves chapters information
  - Preserves all meta-information (track language, audio type)
  - Fast conversion - converts as fast as your drive can read data.
  - No additional software is required for conversion or decryption.
  - Available for Windows, Mac OS X and Linux
  - Functionality to open DVD discs is free and will always stay free.
  - All features (including Blu-ray decryption and processing) are free during BETA.

  --

  - Upstream Project: https://www.makemkv.com/
  - snapcraft.yaml Build Definition:
  https://github.com/diddlesnaps/makemkv/blob/master/snap/snapcraft.yaml
commands:
  - makemkv
  - makemkv.makemkvcon
snap-id:      oQi5445Bw83J591pCgmPm8lCBNkvrL0w
tracking:     latest/stable
refresh-date: today at 12:12 MST
channels:
  latest/stable:    1.16.5 2021-12-20 (416) 324MB -
  latest/candidate: ↑
  latest/beta:      ↑
  latest/edge:      1.16.5 2021-12-20 (416) 324MB -
installed:          1.16.5            (416) 324MB -

Output of snap connections $snap_name
Interface              Plug                      Slot                            Notes
content[gtk-3-themes]  makemkv:gtk-3-themes      gtk-common-themes:gtk-3-themes  -
content[icon-themes]   makemkv:icon-themes       gtk-common-themes:icon-themes   -
content[sound-themes]  makemkv:sound-themes      gtk-common-themes:sound-themes  -
desktop                makemkv:desktop           :desktop                        -
desktop-legacy         makemkv:desktop-legacy    :desktop-legacy                 -
gsettings              makemkv:gsettings         :gsettings                      -
hardware-observe       makemkv:hardware-observe  :hardware-observe               -
home                   makemkv:home              :home                           -
network                makemkv:network           :network                        -
opengl                 makemkv:opengl            :opengl                         -
optical-drive          makemkv:optical-drive     :optical-drive                  -
optical-drive          makemkv:optical-write     -                               -
process-control        makemkv:process-control   -                               -
removable-media        makemkv:removable-media   -                               -
unity7                 makemkv:unity7            :unity7                         -
wayland                makemkv:wayland           :wayland                        -
x11                    makemkv:x11               :x11                            -

Output of snap version
snap    2.52.1
snapd   2.52.1
series  16
ubuntu  20.04
kernel  5.4.0-882110311031-generic

Relevant log output
None

Teminal output of app
❯ makemkvcon mkv disc:0 0 "/media/storage-2/Movies/The Hobbit"
MakeMKV v1.16.5 linux(x64-release) started
Use: makemkvcon [switches] Command [Parameters]

Commands:
	info <source>
      		prints info about disc
      	mkv <source> <title id> <destination folder>
      		saves a single title to mkv file
      	backup <source> <destination folder>
      		backs up disc to a hard drive
      	f <args>
      		run universal firmware tool
      	reg <key string or file name>
      		enter registration key into program
Source specification:
	iso:<FileName>    - open iso image <FileName>
  	file:<FolderName> - open files in folder <FolderName>
  	disc:<DiscId>     - open disc with id <DiscId> (see list Command)
  	dev:<DeviceName>  - open disc with OS device name <DeviceName>
Switches:  -r --robot        - turn on "robot" mode, see http://www.makemkv.com/developers

Hi,
I've just promoted a new revision to the snap that removes an indirection for makemkvcon. Unfortunately it requires the most recent snapd version (2.55.3) which may not be available for your system yet. However, if you have that version of snapd, or can refresh to pull it down successfully, then make sure that makemkv is at revision 539 (released yesterday, 2nd May 2022) and try again.

Can confirm, this issue is resolved with the current makemkvcon build under snapd 2.55.3.

Thanks for letting me know. I'll close this issue for now then as resolved, but please reopen if you hit the problem again.


LPC bug: offsets not saved when run cancelled

Overview
In 5.0, if LPC is completed and a protocol is started, but not completed, the LPC data is not saved. If a user partially completes a run and needs to restart, their LPC offsets are not saved. This seems to counter the goal of being able to re-run a protocol with the same offsets.
Steps to reproduce
Load a protocol, complete LPC, start the protocol, and then cancel the run. LPC data will not be saved.
Current behavior
LPC data is not saved when a protocol run is cancelled.
Expected behavior
The LPC offsets should be saved to the app, even if the protocol run is cancelled.

This should be fixed by LPC enhancements in 5.1

no longer a problem in edge


Implemented Sine Wave in JavaScript

Just a quick program as a warmup and to see if I've got the right idea
                               SINE WAVE
                CREATIVE COMPUTING  MORRISTOWN, NEW JERSEY

                           CREATIVE
                                 COMPUTING
                                      CREATIVE
                                            COMPUTING
                                                CREATIVE
                                                  COMPUTING
                                                   CREATIVE
                                                   COMPUTING
                                                 CREATIVE
                                              COMPUTING
                                         CREATIVE
                                    COMPUTING
                              CREATIVE
                        COMPUTING
                  CREATIVE
            COMPUTING
        CREATIVE
    COMPUTING
  CREATIVE
  COMPUTING
   CREATIVE
     COMPUTING
         CREATIVE
              COMPUTING
                    CREATIVE
                          COMPUTING
                                CREATIVE
                                      COMPUTING
                                           CREATIVE
                                               COMPUTING
                                                  CREATIVE
                                                   COMPUTING
                                                   CREATIVE
                                                  COMPUTING
                                              CREATIVE
                                          COMPUTING
                                     CREATIVE
                               COMPUTING
                         CREATIVE
                   COMPUTING
             CREATIVE
        COMPUTING
     CREATIVE
  COMPUTING
  CREATIVE
  COMPUTING
     CREATIVE
        COMPUTING
             CREATIVE
                   COMPUTING
                         CREATIVE
                               COMPUTING
                                     CREATIVE
                                          COMPUTING
                                               CREATIVE
                                                  COMPUTING
                                                   CREATIVE
                                                   COMPUTING
                                                  CREATIVE
                                               COMPUTING
                                           CREATIVE
                                      COMPUTING
                                CREATIVE
                         COMPUTING
                   CREATIVE
              COMPUTING
         CREATIVE
     COMPUTING
  CREATIVE
  COMPUTING
  CREATIVE
    COMPUTING
        CREATIVE
            COMPUTING
                  CREATIVE
                        COMPUTING
                              CREATIVE
                                    COMPUTING
                                          CREATIVE
                                              COMPUTING
                                                 CREATIVE
                                                   COMPUTING
                                                   CREATIVE
                                                  COMPUTING
                                               CREATIVE
                                           COMPUTING
                                      CREATIVE
                                COMPUTING
                          CREATIVE
                    COMPUTING
              CREATIVE
         COMPUTING
     CREATIVE
   COMPUTING
  CREATIVE
  COMPUTING
    CREATIVE
       COMPUTING
            CREATIVE
                 COMPUTING
                       CREATIVE
                             COMPUTING
                                   CREATIVE
                                         COMPUTING
                                              CREATIVE
                                                 COMPUTING
                                                   CREATIVE
                                                   COMPUTING
                                                  CREATIVE
                                                COMPUTING
                                            CREATIVE
                                       COMPUTING
                                 CREATIVE
                           COMPUTING
                     CREATIVE
               COMPUTING
          CREATIVE
      COMPUTING
   CREATIVE
  COMPUTING
  CREATIVE
    COMPUTING
       CREATIVE
           COMPUTING
                CREATIVE
                      COMPUTING
                             CREATIVE
                                   COMPUTING
                                        CREATIVE
                                             COMPUTING
                                                 CREATIVE
                                                   COMPUTING
                                                   CREATIVE
                                                   COMPUTING
                                                CREATIVE
                                             COMPUTING
                                        CREATIVE
                                  COMPUTING
                            CREATIVE
                      COMPUTING
                CREATIVE
           COMPUTING
      CREATIVE
   COMPUTING
  CREATIVE
  COMPUTING
   CREATIVE
      COMPUTING
          CREATIVE
                COMPUTING
                      CREATIVE
                            COMPUTING
                                  CREATIVE
                                        COMPUTING
                                            CREATIVE
                                                COMPUTING
                                                   CREATIVE
                                                   COMPUTING
                                                   CREATIVE
                                                 COMPUTING

Thanks!! 🤗


Authorization tokens are included in the log

Bug report:
I found that the log contains authorization headers with access tokens.
start download with url: https://<registry_url>, header:  "Authorization":[]string{"Bearer <token>}

Expected behavior:
Info level log should not contain token headers.
Debug level log may contain headers.
How to reproduce it:
Pull image with credentials
Environment:

Dragonfly version: v2.1.12
OS: linux
Kernel (e.g. uname -a): 6.1.27-1
Others: kubernetes

https://github.com/dragonflyoss/Dragonfly2/blob/main/client/daemon/transport/transport.go#L243

https://github.com/dragonflyoss/Dragonfly2/pull/2770


Update mentorship page

What does this PR do?:
This PR updates the existing mentorship.md page with 2024 information.
Which issue(s) this PR fixes:
N/A

For vercel ep2024 I'd say we could force the same rule like ep2023 to require authorization before deploy.
cc @Kislovskiy @patrick91

For vercel ep2024 I'd say we could force the same rule like ep2023 to require authorization before deploy. wdyt?
cc @Kislovskiy @patrick91

Indeed, Pull Request from forks should not be build without approval, thanks for discovering this!

I've checked that we have Git Fork Protection enabled for each of the deployment.

/retest

Let's merge this, and we can adjust colors tomorrow.

@Kislovskiy as ep2023 has failed I cannot merge this PR. Might need someone with the correct permissions to merge it.


Speed up conversion to dicts/lists

I could be wrong, but I think conversion to dicts/lists (which has shown to take a decent amount of time in my profiling) could be sped up. All these functions we're defining here could probably be just defined once and then referenced when we convert a new native type, instead of being redefined every time we make a native type.
It's not a huge performance killer compared to other stuff I'm investigating now, but some day we should get it.

@basicer I wonder if this is related to any Python performance issues we have been seeing in the new interpreter?

You are correct.  They were very slow. I already refactored this in the newest version of filbert. =]


Click on pictures

In the PowerToys Settings add a ability to click on the Pictures to open them to have better look at the Pictures.

If you'd like to see this feature implemented, add a 👍 reaction to this post.

We'd have it pointed to the large aka links.  here are the aliases
powerToysVideoConferenceSettingImage
powerToysPTSettingImage
powerToysShortcutGuideSettingImage
powerToysFancyZoneSettingImage
powerToysKBMSettingImage
powerToysImageResizerSettingImage
powerToysPowerLauncherSettingImage
powerToysColorPickerSettingImage
powerToysPowerPreviewSettingImage
powerToysPowerRenameSettingImage

@crutkas I am working on this

Adding this in Video Conference settings is going to be another PR.


new folder icon

Is your feature request related to a problem? Please describe.
pretty terrible looking default folder icon
Describe the solution you'd like
change it to modern looking icon, like an application icon
Describe alternatives you've considered
I attach an archive with an example of an icon
icon.zip

@graffitt Thank you for opening this issue, can you help us with a little more info such as why you dislike the current icon for folders, and why you think you have a better one?

@graffitt Thank you for opening this issue, can you help us with a little more info such as why you dislike the current icon for folders, and why you think you have a better one?

Comparison:
Before:

After (Concept):
It looks better to me because of the color

Comparison:
Before:

After (Concept):
It looks better to me because of the color

This is great! I think they should use this.

This is great! I think they should use this.

So there should be some kind of gradient in it or just a darker color?
Is the shape of the folder ok?

So there should be some kind of gradient in it or just a darker color?
Is the shape of the folder ok?

This concept looks good to me, is anyone interested in implementing this change?

This concept looks good to me, is anyone interested in implementing this change?

@XPoppyX Can you show how it looks with light app theme, please?

@XPoppyX Can you show how it looks with light app theme, please?

Concept:

Concept:

yes. you should use it.

yes. you should use it.


CoffeeScript autocomplete should match the default code

While the default code for CoffeeScript levels uses the keyword "hero.", the autocomplete uses "@".

The auto-complete actually has a game-breaking bug! Completing hero.mov results in (e.g.) hero.@moveRight() which appears to be a syntax error.
Screenshots: http://imgur.com/a/4aEoh

We want to refactor the sample code to use hero. instead of @ where possible, in the level editor. To edit that, open the level editor (https://direct.codecombat.com/editor/level/shadow-guard), double-click on the Hero Placeholder --> click the programming.Programmable Component --> find the programmableMethods configuration

I split the refactoring into #4356.
As for the autocompletion:
The movement.movesSimply component contains the autocompletions and simply changing the content property by doing @moveRight -> hero.moveRight and so on would basically fix this issue.
Additionally, line 67 of app/views/play/level/tome/DocFormatter.coffee needs to be changed to format the tome method list.
Do we want to simply pretend that the @ syntax doesn't exist, or should we also hack up the snippet insertion at an appropriate place to special-case the use of @?

Okay, do you want to submit a few patches for those Components or leave it to us?
We want to move away from @ entirely, yes. I think the level sample codes should have all been changed, so if we get the Components sorted out, we won't need to worry about any documentation or snippet support for @.


Bulbs with high capacity are hard to "read"

The slivers of goo in bulbs with containment 4 are really hard to target, harder still to see, and just generally unpleasant and not visually "good".
Experiment with other techniques for displaying how much is in the tank.
The first port of call is to display a logarithmic representation of the quantity in the bulb, making it so that small and middling quantities still take up a respectable amount of the space in the tank, while still showing a relatively clear indication of "progress" that slows down the more full it gets. The representation would then be divided proportionally among the goo in the bulb, but would still be required to respect the "minimum" rules in order to avoid making small goo amounts virtually untargetable.
Alternatives to this include showing the bulb as full when sneaking (or perhaps even always), suggested by Ento, and possibly other techniques I haven't thought of yet.

Serious rework of the display procedure and how the bulbs render and calculate fluid heights, and I feel like this is the final result.


[Packerina Spec] Ballerina module stage/dev push support to central

Description:
Currently Ballerina Central does not have a stage/dev mode for modules.
When two modules are being developed separately and one is depending on other. Only way to get latest changes to dependent module is specifying path.
This could be fine as long as 2 modules have been developed in the same machine. When 2 modules are developed by 2 or more people. Therefore we need to support following;

Latest development support - This is just like java SNAPSHOT versions being pushed to nexus. Developers can push latest changes or even  CI/CD automation can push changes.

Stage support - This is before released to the public, there has to be a stage for modules. So dependent projects use a staging url and test. Developers and release jobs can push to stage. Finally they can release to public when required testings are being done.

Created https://github.com/wso2-enterprise/ballerina-central/issues/563 to track this.


Feature: export custom views #999

Adding custom views exporting end-points specifically PDF & CSV export

Close & reopen to hopefully clear up CLA bot


Expr eval enhancements

Set of commits which amend usage of EE a little bit.

LGTM

I don't think it is a good design decision to add the new option to the preferences. Users would not understand what it means even if it is documented. And even if they understand it, no one wants to care about such internal details. It justs adds complexity to the usage of the IDE and to its internals. We should fix the problem at the root. The other commits with the tests are ok, but I don't like the one with the new preference option.

Looks like there is needed deeper reverie about add imports. As I see it
there are 3 options by now:

let it be as it is so in many cases the evaluation won't be possible
(nested packages in toolbox limitation)
utterly skip 'AddImports' phase in EE context building so user needs to
use fully qualified names or add import statement by hand
stick to switch and allow user to decide
These solutions are by now. I open a ticket in assembla to recognize and
implement workaround for toolbox problem
WDYT?

2015-11-03 23:08 GMT+01:00 Simon Schäfer<EMAIL_ADDRESS>
I don't think it is a good design decision to add the new option to the
preferences. Users would not understand what it means even if it is
documented. And even if they understand it, no one wants to care about such
internal details. It justs adds complexity to the usage of the IDE and to
its internals. We should fix the problem at the root. The other commits
with the tests are ok, but I don't like the one with the new preference
option.
—
Reply to this email directly or view it on GitHub
https://github.com/scala-ide/scala-ide/pull/1025#issuecomment-153504853.

UPDATE:
in case of nested packages fully qualified names work only, so adding imports by hand makes same problems like adding them with phase

I think it would be best if EE just analyzes what needs to be imported and then creates the correct import. It wouldn't solve the problem with Toolbox, but at least it wouldn't create wrong code anymore.

Could you describe it more detailed? I opened a ticket #1002584. Asking,
because I don't know what's your solution idea.
2015-11-04 12:00 GMT+01:00 Simon Schäfer<EMAIL_ADDRESS>
I think it would be best if EE just analyzes what needs to be imported and
then creates the correct import. It wouldn't solve the problem with
Toolbox, but at least it wouldn't create wrong code anymore.
—
Reply to this email directly or view it on GitHub
https://github.com/scala-ide/scala-ide/pull/1025#issuecomment-153684550.

retest this please

LGTM


Running on Windows 10

I tried running this on my WIndows 10 PC and get this:
C:\Users\myid\Desktop>tesla_auth.exe -d
Error: webview2 error, HRESULT 0x80070002

I'll poke around some more as I'm wondeirng if I need to install WebView2. I have a pretty standard install of Windows 10 though and use Firefox as my default browser.

As I understood it, WebView2 requires the preview channel of Microsoft Edge and/or a prerelease version of the WebView2 SDK. Let me know if you get it working :)

Not seeing any issues with it after installing the Canary release of MS Edge!

Awesome, glad to hear that it works on Windows too. Thanks for the detailed feedback!

Just tried again, this time it shows Generating Token Then error message: An error occured. Please try again ... Server returned error response

We'll need to add extra support for Chinese auth servers. I'll create a separate issue for that.

hi
just install this https://developer.microsoft.com/en-us/microsoft-edge/webview2/#download-section and it works
no need the canary release of edge


Question: can a nested state of type "final" terminate all parent states?

Question
I couldn't find it in the docs: can a nested state of type "final" terminate all parent states?

You can raise an event and handle it in the top-level final state.

This is described in the docs: https://xstate.js.org/docs/guides/final.html#final-states


JSONAPI Compliant attributes' member names

It appears that when creating a mirage model with attributes' member names starting and/or ending with U+005F LOW LINE, “_”, Mirage returns it dasherized, e.g., if I use __id__ as a member key name, say for an internal property due to a dependency, Mirage is dasherizing it and returns --id--. I think this is not an issue unless I'm trying to play nicely with JSONAPI. Obviously, this is not JSONAPI compliant since the specs mention hyphens and underscores should not constitute part of the name if they appear at the beginning or end of the member key name. I believe this is mainly because when creating the model, the serializer is obviously not inspected (nor it should be, probably?) while the JSONAPISerializer simply dasherizes the model keys without inspecting whether the result is compliant.
What's the best approach here, should the current behaviour be allowed given Mirage's transparent treatment of the model properties or should JSON:API be enforced? Should the violating keys be allowed as is without dasherizing but maybe a warning be generated pointing out there's a JSONAPI compliance violation if the JSONAPISerializer is in use? Should the model be created in the first place?
Thanks,

The approach here should be to customize the serializer's keyForAttribute hook


Ethernet does not work (TEP0700IMX7)

We have 6 displays where ethernet does not work using the sample builds. We tried building using yocto (https://developer.technexion.com/docs/building-an-image-with-yocto)  as well as the prebuild images (https://download.technexion.com/demo_software/TEP/IMX7/tep0700-imx7d/DiskImage/) yocto and ubuntu. All these images have the same problem. the lights at the ethernet port do not turn on. Both the POE port as the normal port do not work.
On the preinstalled software the ethernet does work, so it is not a hardware issue.
After a long research we found out our displays might be a different hardware version (A1). This might be the reason it does not work, but we cannot say for sure we have the A1 version.
Details of one of the displays:
Part No: S600406010040480000511
SN number:<PHONE_NUMBER>0018240005
Model name: TEP0700IMX7DR10E04LPOE
TLDR 2 questions:

How can we tell if we have A1 version?
What can we try to fix this issue?

@dbeulen :
I apologize for the trouble caused.
We are trying to replicate the issue on our side to figure out what seems to be the problem.
I will keep updating the status.
BR,
Richard

@dbeulen :
Our test team confirms that we can replicate this issue.
Our software RD is delving into it.
BR,
Richard

Hello Richard,
Thank you for your reply, I have sent an email to the provided email address.

@dbeulen
I tweak u-boot a little bit to add support TEP1-IMX7D rev.A1.
https://github.com/TechNexion/u-boot-tn-imx/commit/236a9e04ef3656fc1df94bb2e916dba497414e46
https://github.com/TechNexion/u-boot-tn-imx/commit/3defa8fe4bcc524d9b7bd47df08ec3369b189535
https://github.com/TechNexion/u-boot-tn-imx/commit/dd83055c2348915626ed6bdbb9c8d372550c6c31
Ethernet works fine now.
I also update the u-boot in TechNexion BSP meta-layer:
https://github.com/TechNexion/meta-tn-imx-bsp/commit/de9e111145d8fc691db1d82417c3e1f3eb615f3d
Could you fetch Yocto 3.3 -next branch and create the build again?
Please refer to https://github.com/TechNexion/tn-imx-yocto-manifest/tree/hardknott_5.10.y-next
repo init -u https://github.com/TechNexion/tn-imx-yocto-manifest.git -b hardknott_5.10.y-next -m imx-5.10.72-2.2.0.xml
repo sync -j8

BR,
Richard

Hy Richard,
Thank you for your support. I can confirm that ethernet is working now on the hardknott_5.19.y-next branch!
Greetings,
Denny


jetson_stats_prometheus_collector.py fails with error on line 54

System is running Ubuntu server LTS 18.04 with python 3.6 and running jtop from jetston_stats I do get a working jtop.
I went as far as adding a debug print in there to dump what is being pulled up and my initial review didnt spot anything missing but python isnt a strong point and the Xavier unit is a custom which may be adding to the confusion.
Debug: self._jetson.board = {'hardware': {'Model': 'Transport XCB', '699-level Part Number': '699-82888-0004-400 G.0', 'P-Number': 'p2888-0004', 'Module': 'NVIDIA Jetson AGX Xavier (32 GB ram)', 'SoC': 'tegra194', 'CUDA Arch BIN': '7.2', 'Serial Number': '0420319084239', 'L4T': '32.5.1', 'Jetpack': '4.5.1'},
'platform': {'Machine': 'aarch64', 'System': 'Linux', 'Distribution': 'Ubuntu 18.04 Bionic Beaver', 'Release': '4.9.201-32.5.0_C01571-19S00A00.001.img+e443483e8c+ge443483e8c9c', 'Python': '3.6.9'},
'libraries': {'CUDA': '10.2.89', 'OpenCV': '4.1.1', 'OpenCV-Cuda': False, 'cuDNN': '<IP_ADDRESS>', 'TensorRT': '<IP_ADDRESS>', 'VPI': '1.0.15', 'Vulkan': '1.2.70'}}
Error being seen is as follows
Traceback (most recent call last):
File "./jetson_stats_prometheus_collector.py", line 192, in
REGISTRY.register(CustomCollector())
File "/usr/local/lib/python3.6/dist-packages/prometheus_client/registry.py", line 40, in register
names = self._get_names(collector)
File "/usr/local/lib/python3.6/dist-packages/prometheus_client/registry.py", line 80, in _get_names
for metric in desc_func():
File "./jetson_stats_prometheus_collector.py", line 54 in collect
'Machine': self._jetson.board['info']['machine'],
KeyError: 'info'
Closing jetson-stats connection...

Same issue observed

I'm dealing with the same problem.

Same issue observed

Can anyone help us, please?

@xiafengdongzhi another alternative is to use Jetson Orin
https://docs.nvidia.com/moj/setup/quick-start.html

@xiafengdongzhi another alternative is to use Jetson Orin
https://docs.nvidia.com/moj/setup/quick-start.html

Thank you very much for your reply, but we currently require tx2 to be used.

@xiafengdongzhi
We'd write our node exporters for any companion other than ORINs. I'd be happy if you have any samples or references to start for that.


Get Nested Shadow Root Element

getNestedShadowRootElement() - Addition

Codecov Report

Merging #3 (3d94f45) into main (fc27931) will increase coverage by 1.70%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##               main       #3      +/-   ##
============================================
+ Coverage     95.34%   97.05%   +1.70%
- Complexity       12       18       +6
============================================
  Files             1        1
  Lines            43       68      +25
  Branches          3        6       +3
============================================
+ Hits             41       66      +25
  Misses            1        1
  Partials          1        1

Impacted Files
Coverage Δ

...java/io/github/abhinavminhas/ShadowRootAssist.java
97.05% <100.00%> (+1.70%)
:arrow_up:

Continue to review full report at Codecov.

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


Won't Launch-Failed to create the Webview control.

Fast Insider Build 10.0.19008.1000.

Hi @sfuller55, @mikedepetris
thank you for reporting the issue. We are working on a fix, please follow the issue
https://github.com/microsoft/PowerToys/issues/243
to be notified when the fix will be available.
Thank you.

Same here

Closing as duplicate of #243. Settings window was updated in 0.13 to fail with this error message instead of displaying a blank screen. Even though it might seem as a different error, the underlying issue is the same.


View metadata when Peek Definitions on external assemblies

Close #1314.
Refactor Navigate to Metadata feature in order to enable Peek Definition.
I haven't tested with VS 2015 so far; just ensure that Go to Definition stills work as is.
@vasily-kirichenko Could you help test Peek Definitions on V S2015 on external assemblies?

Add reference to Microsoft.VisualStudio.Shell.12.0 in VS2015 project.

When I press Alt+F12, VS 2015 freezes indefinitely. The UI thread stack trace:

If I click on this icon:

It unfreezes and the peek definition window appears:

Also System.Guid.fsi file is open in VS (as a separate normal view). While it's open Alt+F12 works perfectly for Guid, once it's closed, the issue is back.

Done. Could you give it a try?

Works perfectly.

Great job!

Thanks.


SSR dynamic imports not rendering

Doing a dynamic import doesn't appear to be rendered as part of SSR.  I expect it to be rendered as part of the server response.
I've created a minimal repro repo with a brief overview in the readme.
Tested on latest SvelteKit v1.0.0-next.88.
Potentially related #1164
code
src/routes/index.svelte:

Widgets

{#each widgets as widget, index}

{index}: <WidgetSelector {widget} />

{/each}

src/lib/WidgetSelector.svelte:

{#await loadWidget(widget) then c}
	<svelte:component this={c.default} />
{:catch error}
	error: {error}
{/await}

server side result:

0:

1:

2:

SSR is synchronous in Svelte. This may change one day but in the meantime the solution here is to import() the component in load

Closing, as there's a bit that needs to happen here, and most of it would be in Svelte itself, and there are already issues for it.


sentinel_onboarding_states.create() fails with HTTPResponse Error - Bad Request

Link to sample
https://learn.microsoft.com/en-us/rest/api/securityinsights/preview/sentinel-onboarding-states/create?tabs=Python
Library name and version
azure-mgmt-securityinsight v1.0.0
Language of the Sample

[ ] C#/.NET
[ ] Java
[ ] JavaScript/TypedScript
[X] Python
[ ] Golang
[ ] Other - Please specify in Issue details field

Sample Issue Type

[X] Sample not working
[ ] Sample missing
[ ] Do not understand sample

Issue details
Using the sample python code in the documentation to create a Microsoft Sentinel onboarding state on an existing workspace fails with a HTTPResponseError - Bad request. It seems to suggests a required property is missing from the request.
Expected behavior
An onboarding state is created on the workspace for Microsoft Sentinel
Actual behavior
Error returned
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/casey/source/sandbox/python-azure/.venv/lib/python3.9/site-packages/azure/core/tracing/decorator.py", line 78, in wrapper_use_tracer
    return func(*args, **kwargs)
  File "/Users/casey/source/sandbox/python-azure/.venv/lib/python3.9/site-packages/azure/mgmt/securityinsight/operations/_sentinel_onboarding_states_operations.py", line 344, in create
    raise HttpResponseError(response=response, error_format=ARMErrorFormat)
azure.core.exceptions.HttpResponseError: (BadRequest) A non-empty request body is required.
Code: BadRequest
Message: A non-empty request body is required.

Reproduction Steps

Install dependencies:

pip install azure-mgmt-securityinsight azure-identity

Execute sample code

Environment

Macbook Air M1 running MacOS Ventura 13.1
Python: 3.9.6

> pip show azure-mgmt-securityinsight
Name: azure-mgmt-securityinsight
Version: 1.0.0
Summary: Microsoft Azure Security Insight Management Client Library for Python
Home-page: https://github.com/Azure/azure-sdk-for-python
Author: Microsoft Corporation
Author-email<EMAIL_ADDRESS>License: MIT License
Location: /Users/casey/.pyenv/versions/3.10.2/lib/python3.10/site-packages
Requires: azure-common, azure-mgmt-core, msrest
Required-by:

> pip show azure-identity
Name: azure-identity
Version: 1.12.0
Summary: Microsoft Azure Identity Library for Python
Home-page: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/identity/azure-identity
Author: Microsoft Corporation
Author-email<EMAIL_ADDRESS>License: MIT License
Location: /Users/casey/.pyenv/versions/3.10.2/lib/python3.10/site-packages
Requires: azure-core, cryptography, msal, msal-extensions, six
Required-by:

@msyyc would you help check?

The issue is releated with https://github.com/Azure/azure-rest-api-specs/issues/22729. Please try the following code:
...
response = client.sentinel_onboarding_states.create(
    resource_group_name="myRg",
    workspace_name="myWorkspace",
    sentinel_onboarding_state_name="default",
    sentinel_onboarding_state_parameter={
        "properties": {
            "customerManagedKey": False
        }
    }
)

...

Can confirm this code works ☝

We're not going to update the example code on the doc? The next person that tries to use it is going to have the same problem.

We're not going to update the example code on the doc? The next person that tries to use it is going to have the same problem.

These examples are generated from service team defined swagger sample, we've opened issue to service team and need them to fix their swagger issue.


Weird state causing tracking processors to never advance

This is not necessarily a bug, but I want to try to understand what has happened and why (and ultimately find a way to prevent this from happening again). We have come across a situation that causes Axon (GapAwareTrackingToken) to enter a weird state where the TrackingEventProcessor will not enter error state, but still fail to advance or catch up.
During the period the problematic events were written, the system was under heavy load (due to a full reindexing of the data to Elastic). This may have caused some delay in committing transactions for Axon, but I am unsure whether this contributed/caused the problem or if this just happened at the same time.
Basic information

Axon Framework version: 4.9.1
JDK version:  OpenJDK 21 (Temurin)openjdk 21 2023-09-19 LTS
OpenJDK Runtime Environment Temurin-21+35 (build 21+35-LTS)
OpenJDK 64-Bit Server VM Temurin-21+35 (build 21+35-LTS, mixed mode, sharing)

Steps to reproduce
The DomainEventEntry table has some interesting events, here's an extract, showing  the problematic index, token index and indexes in gaps:

id
timestamp
eventIdentifier

10711007
2024-01-09 13:25:50.872000
81a8045f-642b-49d5-ae9d-43f18213bb4a

10711006
2024-01-09 13:25:50.442000
22d2c1c6-536f-43dd-8e37-82867222329e

10711005
2024-01-09 13:26:05.321000
99341edd-4380-4afb-9812-df3b5ccb7de9

10711004
2024-01-09 13:26:05.309000
790ae785-41ae-4e44-8915-2c2c807fc28a

10711003
2024-01-09 13:25:47.921000
118a4b2f-c3b6-4423-9ced-691700493f2e

10711002
2024-01-09 13:25:47.915000
b4148e48-e256-4af7-8759-c8744302f847

10711001
2024-01-09 13:25:19.924000
bfb1441c-4499-4d95-90b3-d1aaac237240

10711000
2024-01-09 13:25:19.923000
25781f93-70a1-4286-af15-19e483585899

10710999
2024-01-09 13:25:19.708000
6f7d72d7-454d-4699-b474-a3bef2fe90a0

10710998
2024-01-09 13:25:19.685000
36bb414f-fc3b-4add-937b-0b0f700ebe87

10710997
2024-01-09 13:24:21.404000
be12da7e-299c-40fa-af14-17f568ba6780

The timestamps for the ids 10711003, 10711004, 10711005, and 10711006 seem to indicate that events were stored slightly out of order, but I'm not sure why this happens or if it is a problem. This may have been caused by the heavy load, as mentioned above.
TokenEntry table contains the following information (for all persistent tokens): {"index":10711005,"gaps":[10710998,10710999,10711000,10711001]}.

Actual behaviour
The error message "The given index [10710999] should be larger than the token index [10711005] or be one of the token's gaps [[]]" is repeated over and over.
However, the TokenEntry table shows the following information: {"index":10711005,"gaps":[10710998,10710999,10711000,10711001]}.
This means that either the log message is incorrect showing an empty list, or the gaps considered by the GapAwareTrackingToken.advanceTo is inconsistent with the actual gaps stored in the database... I'm not sure what the maxGapOffset passed to the method is (perhaps it should be included in the log message too, for easier debugging?), but I believe it should be 1000 based on our configuration.
I tried to follow the logic in the GapAwareTrackingToken.advanceTo method, but I don't understand why the gaps set is empty.
Full stack trace:
java.lang.IllegalArgumentException: The given index [10710999] should be larger than the token index [10711005] or be one of the token's gaps [[]]
	at org.axonframework.eventhandling.GapAwareTrackingToken.advanceTo(GapAwareTrackingToken.java:133)
	at org.axonframework.eventsourcing.eventstore.jdbc.JdbcEventStorageEngine.getTrackedEventData(JdbcEventStorageEngine.java:690)
	at org.axonframework.eventsourcing.eventstore.jdbc.JdbcEventStorageEngine.lambda$executeEventDataQuery$34(JdbcEventStorageEngine.java:550)
	at org.axonframework.common.jdbc.JdbcUtils.executeQuery(JdbcUtils.java:85)
	at org.axonframework.common.jdbc.JdbcUtils.executeQuery(JdbcUtils.java:55)
	at org.axonframework.eventsourcing.eventstore.jdbc.JdbcEventStorageEngine.executeEventDataQuery(JdbcEventStorageEngine.java:543)
	at org.axonframework.eventsourcing.eventstore.jdbc.JdbcEventStorageEngine.lambda$fetchTrackedEvents$32(JdbcEventStorageEngine.java:523)
	at org.axonframework.common.transaction.TransactionManager.fetchInTransaction(TransactionManager.java:70)
	at org.axonframework.eventsourcing.eventstore.jdbc.JdbcEventStorageEngine.fetchTrackedEvents(JdbcEventStorageEngine.java:514)
	at org.axonframework.eventsourcing.eventstore.BatchingEventStorageEngine.lambda$readEventData$1(BatchingEventStorageEngine.java:148)
	at org.axonframework.eventsourcing.eventstore.BatchingEventStorageEngine$EventStreamSpliterator.tryAdvance(BatchingEventStorageEngine.java:289)
	at java.base/java.util.Spliterator.forEachRemaining(Spliterator.java:332)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
	at org.axonframework.eventsourcing.eventstore.EmbeddedEventStore$EventProducer.fetchData(EmbeddedEventStore.java:262)
	at org.axonframework.eventsourcing.eventstore.EmbeddedEventStore$EventProducer.run(EmbeddedEventStore.java:228)
	at org.axonframework.eventsourcing.eventstore.EmbeddedEventStore$EventProducer.access$2800(EmbeddedEventStore.java:205)
	at org.axonframework.eventsourcing.eventstore.EmbeddedEventStore.lambda$ensureProducerStarted$0(EmbeddedEventStore.java:149)
	at java.base/java.lang.Thread.run(Thread.java:1583)

Workaround
Stopping the tracking event processors, resetting the index to 10711006 (the index after the one that failed) before restarting caused the processors to continue processing and eventually catch up (possibly losing processing of the "gap" events).
Restarting the application (and thus resetting any in-memory tokens) also removed the problem for some processors.

Hi Harald,
Can you share the configuration? The most likable explanation would be that the maxGapOffset is 0, which gives exactly the same error message, and the token is cleaned of gaps before advancing. Did you recently make any changes to the configuration, or move to a new version of the framework?

Hi Gerard,
Thanks for answering!
That is a possibility. But I double-checked the code/configuration, and the only place we instantiate a JdbcEventStorageEngine is the code below, which sets the maxGapOffset to 1000.
// Spring configuration class, instantiating the JdbcEventStorageEngine (sorry about the extra details...)
private EventStorageEngine dbEventStorageEngine(Serializer serializer,
                                                    EventStoreDataSource dataSource,
                                                    org.axonframework.common.transaction.TransactionManager transactionManager,
                                                    EventSchema schema,
                                                    ApplicationContext applicationContext) {
        ConnectionProvider cp = dataSource::getConnection;
        final Map<String, EventUpcaster> beansOfType = applicationContext.getBeansOfType(EventUpcaster.class);
        ArrayList<EventUpcaster> upcasterBeans = new ArrayList<>(beansOfType.values());
        upcasterBeans.addAll(upcasters());
        EventUpcaster eventUpcasterChain = new EventUpcasterChain(upcasterBeans);
        PersistenceExceptionResolver persistenceExceptionResolver = new JdbcSQLErrorCodesResolver();

        return new TimestampJdbcEventStorageEngine(serializer,
                                                   eventUpcasterChain,
                                                   persistenceExceptionResolver,
                                                   eventStoreBatchSize(environment),
                                                   cp,
                                                   transactionManager,
                                                   byte[].class,
                                                   schema,
                                                   1000,
                                                   dataSource.lowestSequenceNumber(),
                                                   dataSource.skipReadSnapshots());

    }

// Our JdbcEventStorageEngine subclass
// It basically just uses SQL native timestamps instead of the normal String serialized Java instants
// (and allows skipping snapshots, but we don't use snapshots in this application)
public TimestampJdbcEventStorageEngine(Serializer serializer,
                                           EventUpcaster upcasterChain,
                                           PersistenceExceptionResolver persistenceExceptionResolver,
                                           Integer batchSize,
                                           ConnectionProvider connectionProvider,
                                           TransactionManager transactionManager,
                                           Class<?> dataType,
                                           EventSchema schema,
                                           Integer maxGapOffset,
                                           Long lowestGlobalSequence,
                                           boolean skipReadSnapshots) {
        super(JdbcEventStorageEngine.builder()
                                    .eventSerializer(serializer)
                                    .upcasterChain(upcasterChain)
                                    .persistenceExceptionResolver(persistenceExceptionResolver)
                                    .snapshotSerializer(serializer)
                                    .batchSize(batchSize)
                                    .connectionProvider(connectionProvider)
                                    .transactionManager(transactionManager)
                                    .dataType(dataType)
                                    .schema(schema)
                                    .maxGapOffset(maxGapOffset)
                                    .lowestGlobalSequence(lowestGlobalSequence));
        this.skipReadSnapshots = skipReadSnapshots;

    }

However, looking at the JdbcEventStorageEngine.getTrackedEventData(...) method, I see there is also a "gap timeout", which we leave at the default (1 minute). And after that timeout period, the maxGapOffset isn't passed, but instead defaulted to 0...
Given that we have already processed the 10711005 event recorded at 13:26:05, and that the 10710999 event was recorded at  13:25:19, we are close to the timeout period of 1 minute. And as the system was under heavy load, it is possible that the timeout was reached... That is my best theory so far.
The current team developing this application "inherited" it from another team, so we don't have all the details of why Axon was configured in this exact way, unfortunately. Do you think we should increase the gap timeout setting? Would it help? Is there a relationship between this setting and datasource transaction timeout or other settings? Is there anywhere I can learn more about these settings and its impact?
Thanks!

@haraldk, the discrepancy that you see between the timestamp and the globalIndex is the reason why Axon Framework uses a GapAwareTrackingToken for RDBMS EventStore solutions.
The COMMIT and INSERT order of a database may simply differ, causing this discrepancy.
Note that using a dedicated Event Store implementation, like AxonIQ's Axon Server, would resolve this completely as it is built to provide this index guarantee.
Hence, when using an RDBMS for storing events, these gaps is one of the issues you may face from time to time.
Nonetheless, Axon Framework is built such to be able to deal with this, as follows from the GapAwareTrackingToken.
However, the default gapTimeout was, as you have figured out, not up for the task in your situation.
To be frank, this is the first time within the lifecycle of the GapAwareTrackingToken (so since 2016) that I have noticed the timeout to be exceeded by this much.
So, I guess congratulations? :sweat_smile:
Joking aside, the solution to combat this would indeed be to adjust the gapTimeout to a higher number :-)
Concerning this GitHub issue itself, I am doubtful at this stage whether we're dealing with a bug of Axon Framework.
As such, I will close this issue with the label "Question" attached to it.
Note that this does not mean you're no longer allowed or able to comment under this issue!
We actually encourage further remarks if similar predicaments occur in your environment.
With all that said, I hope this clarifies the steps to take, @haraldk!
And if not, feel free to comment. :-)

Thank you Steven!
I'm happy with this explanation. 👍🏻
We've been using Axon for years and never seen this issue, so I guess it's quite an exotic problem... We will try to increase the gapTimeout (if it ever happens again).

We've been using Axon for years and never seen this issue

That's also great to hear :-)
As stated, it covers the off chance the commit and insert order differ.
This time around, the window was just larger than we anticipate when introducing this functionality.
Regardless, happy to hear there's a way forward!

Hi @smcvb @gklijs @haraldk! We encountered the same problem (with default gapTimeout) and noticed that it occurs when using Axonframework version 4.9.1. Earlier versions handle the same event stream without errors. Perhaps this PR changed the behavior.

Thanks for sharing that with us, @aupodogov!
Did you per chance also validate whether the behavior is resolved when you use 4.9.0 of Axon Framework?
Added, nudging @abuijze here, as he introduced to referred to memory leak fix.

Hi @smcvb! The problem disappears after downgrade AF to 4.9.0. Increasing gapTimeout with AF 4.9.1 also helps.

I managed to deduce where the problem comes from. #2936 does indeed introduce a slight semantic difference in how gaps are dealt with. I think the change made it a bit too eager on removing gaps when it detected an event that was older than the "gapTimeout". Instead of removing all the gaps for pointers older than the specific event, it removes them all. As a result, it would remove all the gaps.
That means that the error message that @haraldk mentioned in the "Actual Behavior" section does indeed display the correct collection of gaps.
What we need to do is slightly change the behavior of "advanceTo" so that it will never clear any gaps that are beyond the given "index" that the token is asked to advance to, even if that means there are more gaps than the given "maxGapsOffset".

Reopening this issue as it does seem to be an issue in Axon Framework.

Is this issue actually corrupting tokens or is it simply the handling that needs to be fixed? I.e. will the fix to this issue resolve any environments stuck with this behavior (since we ran into the same problem today) or are the tokens actually corrupted?

Is this issue actually corrupting tokens or is it simply the handling that needs to be fixed? I.e. will the fix to this issue resolve any environments stuck with this behavior (since we ran into the same problem today) or are the tokens actually corrupted?

The position of your tokens should still be fine, @maverick1601. It "plays" with the gaps, which caused the blockage.

Closing this issue, as https://github.com/AxonFramework/AxonFramework/pull/2977 resolves it.
For those curious on 4.9.3: we aim to release it next week!

Happened to me in production after upgrading to 4.9.2. Had to downgrade for fix.
Updated to 4.9.3 to try again, but after our invoice generation process ran, the event processor ended up causing same errors. Had to downgrade once again. Using default autoconfigured JPA event store, no customizations.
java.lang.IllegalArgumentException: The given index [14316454] should be larger than the token index [14316636] or be one of the token's gaps [[]]\n\tat org.axonframework.eventhandling.GapAwareTrackingToken.advanceTo(GapAwareTrackingToken.java:133)

Happened to me in production after updating to 4.9.2. Had to downgrade for fix.
Updated to 4.9.3 to try again, but after our invoice generation process ran, the event processor ended up causing same errors. Had to downgrade once again. Using default autoconfigured JPA event store, no customizations.
java.lang.IllegalArgumentException: The given index [14316454] should be larger than the token index [14316636] or be one of the token's gaps [[]]\n\tat org.axonframework.eventhandling.GapAwareTrackingToken.advanceTo(GapAwareTrackingToken.java:133)

Just to make sure, but are you using Axon Framework version 4.9.3 or Axon BOM 4.9.3, @mmaask?
The BOM of Axon is already at 4.9.4.
And it's BOM 4.9.4 that contains Axon Framework 4.9.3.
So, just making sure it's not a version discrepancy here.
If it is not, we obviously have more debugging to do.

I've removed the "Resolved" label in favor of the "Information Required" label, while waiting for @mmaask his/her response.

Happened to me in production after updating to 4.9.2. Had to downgrade for fix.
Updated to 4.9.3 to try again, but after our invoice generation process ran, the event processor ended up causing same errors. Had to downgrade once again. Using default autoconfigured JPA event store, no customizations.
java.lang.IllegalArgumentException: The given index [14316454] should be larger than the token index [14316636] or be one of the token's gaps [[]]\n\tat org.axonframework.eventhandling.GapAwareTrackingToken.advanceTo(GapAwareTrackingToken.java:133)

Just to make sure, but are you using Axon Framework version 4.9.3 or Axon BOM 4.9.3, @mmaask?
The BOM of Axon is already at 4.9.4. And it's BOM 4.9.4 that contains Axon Framework 4.9.3.
So, just making sure it's not a version discrepancy here. If it is not, we obviously have more debugging to do.

I see, we only upgraded BOM to 4.9.3 and actually didn't realise that the framework was 4.9.2 instead. Will give another try with BOM 4.9.4.

I see, we only upgraded BOM to 4.9.3 and actually didn't realise that the framework was 4.9.2 instead. Will give another try with BOM 4.9.4.

No worries, @mmaask. You and your team aren't the only once that didn't notice this.
So, we have a better job to do at communicating this discrepancy..so apologies for the confusion.
Anyhow, please let us know whether the issue you're facing persists if you're on BOM 4.9.4 / AF 4.9.3!

I see, we only upgraded BOM to 4.9.3 and actually didn't realise that the framework was 4.9.2 instead. Will give another try with BOM 4.9.4.

No worries, @mmaask. You and your team aren't the only once that didn't notice this. So, we have a better job to do at communicating this discrepancy..so apologies for the confusion.
Anyhow, please let us know whether the issue you're facing persists if you're on BOM 4.9.4 / AF 4.9.3!

Seems to work correctly now on AF 4.9.3.

I see, we only upgraded BOM to 4.9.3 and actually didn't realise that the framework was 4.9.2 instead. Will give another try with BOM 4.9.4.

No worries, @mmaask. You and your team aren't the only once that didn't notice this. So, we have a better job to do at communicating this discrepancy..so apologies for the confusion.
Anyhow, please let us know whether the issue you're facing persists if you're on BOM 4.9.4 / AF 4.9.3!

Seems to work correctly now on AF 4.9.3.

That's great news, @mmaask! Thanks for sharing that with us. :-)


Added and removed messages

Removed a long message

Closing as it's been open for a while without changes. Feel free to re-open if you wish


Merge giraffe-develop branch with the official develop

Describe the task
We're doing away with separate development flows!
Collaboration here we are :)
Acceptance Criteria

[x] Open a PR
[ ] Moose team reviews the PR
[ ] Area of interest are well explained
[ ] giraffe-develop is no more and we all work off of develop!

Additional context

Add any other context about the task here.
Or here

@patriciarussellCAS 👀


Relicense under BSL-1.0

Hi, can the project be relicensed under BSL-1.0?

MIT/Apache-2 has issues where MIT is permissive and all but you always need to include the license, and Apache-2 is not so permissive and you need to always include the license AND a NOTICE file if any.
BSL only needs the license for source distribution, you can remove the license for compiled code. For most software this would be a downside, but for things like Anymap, my event system (eventbus I believe it's called), or something that provides mostly basic macros and things like that (e.g. in the C++ world, boost itself), BSL may be a better choice.
This is, of course, a matter of opinion, but I sincerely would like to be able to use this project in BSL-licensed projects without having to make my users include the license.

(This is related to the current version of eventbus, my BSL-licensed event library, requiring lazy-static for creating eventbuses and events)

Hi, this library is intended to have the same licensing scheme as the Rust std library, so unless they change the licenses as well I probably won't do this, sorry :)


Backport encoding/bytes fixes

Cherry-picked:

https://github.com/opal/opal/commit/6cdf6970367fba83e097531ced7f01fb9fabfc0b
https://github.com/opal/opal/commit/ad5eaac37149ab9921236fc678cc966a6e282704
https://github.com/opal/opal/commit/a61eac1be27856f86da03e4b33ab7b5ec4a301e3

⚠ Do not merge ⚠
This pull request introduce a regression regarding BOM handling in Asciidoctor.js.
//cc @mojavelinux

Regression fixed in https://github.com/asciidoctor/asciidoctor.js/pull/1265


Fix / Avoid double Release() in FindCaptureDevice()

Description
This fixes a semantic conflict from merging 5e8b963c271f2a700b317c63bb26c4ac57ed805a of #53 which inside FindCaptureDevice() was using ScopedComPtr<> to handle ownership of pMoniker implicitly, and 58d4be4d7db9f259cbeda0a232bd858bd690c414 of #52 which was using an explicit Release() on pMoniker. Both by @sandman42292 in time- and branch-overlapping PRs.

Justification
Crashes on Windows.
Testing
Tested with win/test/openpnp-capture-test.exe. This crashed before and now works.
I was unable to test this in OpenPnP, due to lack of knowledge of how to put the dll "into" Java, in a development environment, i.e., make it override maven artifacts. 😅
Instructions welcome!

Maybe you can use maven offline mode and set local repository for expose your build.
For more information you can check here

Thanks @markmaker - will get this all sorted out today.

If you modify a local artifact (in .m2/repo) you need to mvn clean to clear your target directory.
It's a search chain that goes:

project/target
~/.m2/repo
repos defined in pom.xml
Maven Central

When you debug/develop this stuff locally, you end up having a few helper scripts to build and move things into the right places to test with. Instructions are in this repo for setting up builds, then in openpnp-capture-java for setting up builds, and then ultimately openpnp.
And yes, it's all very stone age. Multi-platform FFI in Java has barely changed for the better in 20 years, and it changes for the worse every time a new update comes out.


Add an S3 bucket policy that blocks Put/Delete except for the replicator

This adds another level of protection to the objects in the critical storage buckets. Previously creating a new "S3 super-access" user would allow you to futz with the bucket, but now you need to create such a user and unhook this policy first.
This is a test ingest in staging to verify I haven't broken anything: https://wellcome-ingest-inspector.glitch.me/ingests/94745dbe-d74b-4f61-8f24-b0d44d3eec1f

Closing as not wanted.


Package subpath './Reflect' is not defined by "exports"

Hello,
With
node 16.20.2
npm 8.19.4
reflect-metadata 0.2.0
mocha 8.4.0
mocha-junit-reporter 2.2.1
mocha-multi-reporters 1.5.1
When run mocha with reflect-metadata v0.2.0, show the next error
`
npm t

<EMAIL_ADDRESS>test
mocha --reporter mocha-multi-reporters --reporter-options configFile=.mocharc.json

✖ ERROR: Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './Reflect' is not defined by "exports" in APP/node_modules/reflect-metadata/package.json
at new NodeError (node:internal/errors:405:5)
at exportsNotFound (node:internal/modules/esm/resolve:366:10)
at packageExportsResolve (node:internal/modules/esm/resolve:713:9)
at resolveExports (node:internal/modules/cjs/loader:584:36)
at Function.Module._findPath (node:internal/modules/cjs/loader:658:31)
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:1120:27)
at Function.Module._resolveFilename.sharedData.moduleResolveFilenameHook.installedValue (APP/node_modules/@cspotcode/source-map-support/source-map-support.js:811:30)
at Function.Module._resolveFilename (APP/node_modules/tsconfig-paths/src/register.ts:90:36)
at Function.Module._load (node:internal/modules/cjs/loader:975:27)
at Module.require (node:internal/modules/cjs/loader:1225:19)
at require (node:internal/modules/helpers:177:18)
at exports.requireOrImport (APP/node_modules/mocha/lib/esm-utils.js:42:12)
at exports.handleRequires (APP/node_modules/mocha/lib/cli/run-helpers.js:94:34)
at async APP/node_modules/mocha/lib/cli/run.js:341:25 {
code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'
`
`
.mocharc
{
"$schema": "https://json.schemastore.org/mocharc",
"exit": true,
"extension": [".ts"],
"reporter": "spec",
"reporterEnabled": "spec, mocha-junit-reporter",
"mochaJunitReporterReporterOptions": {
"mochaFile": "./reports/xunit.xml"
},
"timeout": 2000,
"recursive": true,
"spec": [ "test/**/*.spec.ts" ],
"require": [ "ts-node/register", "source-map-support/register", "tsconfig-paths/register", "reflect-metadata/Reflect" ]
}
`
But with reflect-metadata v0.1.14, all is OK
Thanks for your time.

It was never intended that you should directly reach into the package except when loading via a <script> tag. Is just importing reflect-metadata an option?

Hello,
I fixed the problem,
I changed the .mocharc config file
`
.mocharc
{
"$schema": "https://json.schemastore.org/mocharc",
"exit": true,
"extension": [".ts"],
"reporter": "spec",
"reporterEnabled": "spec, mocha-junit-reporter",
"mochaJunitReporterReporterOptions": {
"mochaFile": "./reports/xunit.xml"
},
"timeout": 2000,
"recursive": true,
"spec": [ "test/**/*.spec.ts" ],
"require": [ "ts-node/register", "source-map-support/register", "tsconfig-paths/register", "reflect-metadata" ]
}
`
From reflect-metadata/Reflect to reflect-metadata
Thanks for your time... :)

#157 will add backwards-compatible subpath exports for anyone else that runs into this.


Implement ZTR for satellites

Implement Zero Touch Registration
As mentioned in #36.

Summary
On GC:

Satellites should be created from ground control with a request and satellite params such as its name and group.
Upon creation, GC will return a single use token with command which should be passed on to satellite.

On Satellite:

Execute command which is returned from ground control.
Once Startup, satellite will register itself, gets all state information and come online.

Process Overview

Satellite Creation on Ground Control (GC):

Endpoint: POST:  /satellite/register
Purpose: GC registers a satellite with specific parameters, including its group association.
Action: GC creates a robot account with specific permissions for the satellite, pushes the state artifact to the appropriate registry, and generates a single-use token.

Satellite Deployment Command:

Command is Provided to Edge Server
Action: This command fetches the release binary or Docker image of the satellite and sets the provided token.

Satellite Auto-Registration:

Process: On starting, the satellite contacts the ztr route on GC using the provided token to register itself and come online.
State Fetching: Satellite gets all relevant state information, including credentials for its robot account and the registry URL for the state artifact.

Satellite Operation:

Execution: The satellite starts its operations based on the fetched state, including pulling necessary artifacts from the specified OCI-compliant registry.

Conclusion
This approach is safer as it directly injects the token during satellite deployment and seamlessly integrates into existing CI/CD pipelines, ensuring secure and efficient deployment.


use it in object-c project

Hi, is it possible to use the compiled xcframework in object-c project?

Yes, but you have to use Objective-C++ because Open3D is written in C++.

Thank you for your kind reply!
Maybe I do not explain the problem explicitly, I fllow the guide in https://github.com/kewlbear/Open3D to compile Open3D myself, and it works, I get some xcframework files, but I do not know how to use it in object-c++ project. (by the way, I do no familiar with object-c++ very well, but know it better than swift, so I choose to use object-c++)
I find some infomation about how to use xcframework in object-c project, like https://stackoverflow.com/questions/65624785/use-xcframework-with-objective-c, they suggest to modify the code, is it the right way for me?

I've put together an example app.  See https://github.com/kewlbear/Open3D-ObjC--Example.  The following is the steps I made it.

Create a new iOS app in Xcode
File > Swift Packages > Add Pakage Dependency: Open3D-iOS
Set header search path to let Xcode know where to find Eigen header files
Add SceneKit framework dependency
Add SCNView to storyboard
Code ViewController.mm

It's really sweet of you, I will try it later.

Just commenting to say thank you, those instructions worked perfectly for me!
I also needed to do these two things:

Link with libz.tbd under Targets > Build Phases > Link binary with library
Set the C++ language version to GNU++17 (I think 14 would have been fine though)

Just commenting to say thank you, those instructions worked perfectly for me!
I also needed to do these two things:

Link with libz.tbd under Targets > Build Phases > Link binary with library
Set the C++ language version to GNU++17 (I think 14 would have been fine though)

hi, @willgittoes
where is the libz.tbd, I did not find this file.


Toggle dropdown buttons

Is there any easy way to toggle dropdowns if there is more than one dropdown button (I have 4)? Closing one dropdown if clicking another one. Can you please add that function?
I'have tried this, but it disables "hover: false, // Activate on click" of the plugin initialization.
$("a.dropdown-button").click(function(ev) {
	$("a.dropdown-button").dropdown("toggle");
	return false;
});
$("ul.dropdown-content").click(function(ev) {
	$("a.dropdown-button").dropdown("toggle");
	return false;
});

+1
This is a feature I would also appreciate.

I don't understand what you are requesting. 4 buttons which all toggle the same dropdown?

What I personally meant was having a select element close if a different one is open. I have just realised this feature has already been implemented (didn't notice when this was introduced). I assumed that is what @anyway meant at the time, but I do not know.

This was opened one day ago, but the issue you are talking about was closed
a while ago so I will need some clarification @anyway on what you are
talking about
On Wed, Feb 18, 2015 at 5:52 PM, Carlos<EMAIL_ADDRESS>wrote:

What I personally meant was having a select element close if a different
one is open. I have just realised this feature has already been implemented
(didn't notice when this was introduced). I assumed that is what @anyway
https://github.com/anyway meant at the time, but I do not know.
—
Reply to this email directly or view it on GitHub
https://github.com/Dogfalo/materialize/issues/702#issuecomment-74965996.

--
Doggy sends his greetings from Mars.

@Dogfalo What I meant is, how Foundation or Bootstrap handle the behavior of dropdowns. Here are examples:
http://foundation.zurb.com/docs/components/dropdown.html
http://getbootstrap.com/javascript/#dropdowns
Just closing the last open dropdown, when opening another one. Like a menu, but with single dropdown elements.
Currently they open on click but I have to click somewhere else on the page to close the dropdown/s.

Currently if you have several dropdowns, you can click one to open it, and then if you click a second one to open it (without closing the first), the first one closes at the same time the second one opens. Is that what you mean?

Fixed in 966cf07bb654c05692989cbd971a5be019d547a1


Sending Failed: 'LXMRouter'

Still trying to figure out why i can receive messages, but only seldom able to send some. Yesterday i thought its a firewall problem, but now i get error messages:

Hey @magdesign, looks like you've installed from source, and then later updated to the most recent commits.
You'll need to pull in the updated python dependencies, which includes updates to RNS and LXMF. There are a few new features implemented which require the new RNS version, and it's complaining that the attribute doesn't exist (since using older version).
pip install -r requirements.txt
npm install --omit=dev
npm run build-frontend

The above should get you updated correctly. I'll need to add a couple of helper scripts for easily installing and updating via Termux :)

Thanks! 🙏
removing RNS and LXMF and then installing the newest versions with
pip install rns --break-system-packages
pip install lxmf --break-system-packages

and then building as you mentioned helped to get rid of the error.


[Master]Change default value of stop time

@SharpRazor what will happen if upgrade from older version to newer one?
@bjhuangr need your comments

the new timeout would be 120s. And we will try 12 times to see if the VM is in OFF status.


Add a license!

Resolved in https://github.com/simonhearne/webperf-heatmap/commit/0986a6c9f59c915c8c735c031b5e8dd80d32c2b8


Remove or otherwise deprecate "destination tube" field on Pool Library Plates page

User says it "doesn't really apply: we don't specify the destination tube location or number--we pool into a plate and the script just chooses a destination well until it gets full and then it switches cycles into the next destination well"
Raised in shotgun walkthrough 07/31/2018

This was my understanding as well. This seems like it should be resolved soon.


Manga rare in exhentai.org

https://exhentai.org/g/1090205/474e596c74/
https://exhentai.org/g/1107874/e5df735846/

Fixed. in v2.2.0


⚠ SceneTime has degraded performance

In 98363d3, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1565 ms

Resolved: SceneTime performance has improved in 297d528 after 9 minutes.


(18)+NEW S.E.X@PORN@VIDEOS]*PRAGYA NAGRA VIRAL LEA𝚔ED VIDEO TELEGRAM LINKS XXX - Hot Se𝚡 pragya nagra po𝚛n Videos XnX Today (18)+ #662

34 seconds ago
L𝚎aked Video Pragya Nagra Original Video Viral Video L𝚎aked on X Twitter Telegram
[-wATCH-]—  Pragya Nagra Video Original Video Link  Pragya Nagra Video Viral On Social Media X Trending Now
[-wATCH-]—  Pragya Nagra ʟᴇᴀᴋᴇᴅ Video ᴠɪʀᴀʟ On Social Media ˣ ᵀʷⁱᵗᵗᵉʳ
[-wATCH-]—  Pragya Nagra ʟᴇᴀᴋᴇᴅ Video ᴠɪʀᴀʟ On Social Media ˣ ᵀʷⁱᵗᵗᵉʳ
[-wATCH-]—  Pragya Nagra Video Original Video Link  Pragya Nagra Video Viral On Social Media X Trending Now
Pragya Nagra Original Video video took the internet by storm and amazed viewers on various social media platforms.  Pragya Nagra, a young and talented digital creator, recently became famous thanks to this interesting video.
L𝚎aked Video  Pragya Nagra Original Video Viral Video L𝚎aked on X Twitter
Pragya Nagra Original Video video oficial twitter
L𝚎aked Video  Pragya Nagra Original Video Viral Video L𝚎aked on X Twitter..yjhgrdafassf
.

Hello, we tried to solve the issue.
This is what we did:
The index.js file contained inappropriate and irrelevant content that does not belong in a code file. This change removes all the problematic content and restores the file to its original state, which only includes necessary import statements and exports for the polished library.
You can review changes in this commit: https://github.com/kkpo4553/styled-components-polished-664/commit/c526faf641c0e449c56230bfc2ade17785186be7.

[!CAUTION]
Disclaimer: The concept of solution was created by AI and you should never copy paste this code before you check the correctness of generated code. Solution might not be complete, you should use this code as an inspiration only.

If you no longer want Latta AI to attempt solving issues on your repository, you can block this account.


Convert services to not use links

INFO[0000] Project [os]: Starting project
INFO[0000] [0/30] [node-ip]: Starting
ERRO[0000] Failed Starting node-ip : Error response from daemon: Conflicting options: host type networking can't be used with links. This would result in undefined behavior
INFO[0000] [0/30] [etcd-conf]: Starting
INFO[0000] [1/30] [etcd-conf]: Started
ERRO[0000] Failed to start: node-ip : Error response from daemon: Conflicting options: host type networking can't be used with links. This would result in undefined behavior
INFO[0000] [1/30] [etcd]: Starting
ERRO[0000] Failed Starting etcd : Error response from daemon: Conflicting options: host type networking can't be used with links. This would result in undefined behavior

Now I see there are many more issues. It basically does not work with current versions.


[BUG] kubectl logs to pool-coordinator needs rbac

What happened:
When using kubectl logs to get pod log from pool-coordinator, the following error will happen.
Error from server (Forbidden): Forbidden (user=openyurt:pool-coordinator:apiserver, verb=get, resource=nodes, subresource=proxy) ( pods/log yurt-hub-openyurt-e2e-test-worker2)

It seems that we do not have rbac rules for openyurt:pool-coordinator:apiserver. After creating the following ClusterRoleBinding into pool-coordinator, it works.
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: pool-coordinator-apiserver
subjects:
- kind: User
  name: openyurt:pool-coordinator:apiserver
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: ClusterRole
  name: cluster-admin
  apiGroup: rbac.authorization.k8s.io

It's just a temporary solution. We may need more explict authorization for getting nodes/proxy. Additionally, we also should consider when should we create such RBAC rules for openyurt:pool-coordinator:apiserver during deploying pool-coordinator, including ClusterRole and ClusterRoleBinding.
What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

OpenYurt version:
Kubernetes version (use kubectl version):
OS (e.g: cat /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

others
/kind bug

@Congrool Do you have any progress for this issue?

I proposed to add a sidecar container into the pool-coordinator pod, which takes the responsibility of creating RBAC for kubectl logs. It will continously check whether RBAC has existed in the pool-coorindator to avoid that all RBACs deleted when etcd restarts.

I proposed to add a sidecar container into the pool-coordinator pod, which takes the responsibility of creating RBAC for kubectl logs. It will continously check whether RBAC has existed in the pool-coorindator to avoid that all RBACs deleted when etcd restarts.

@Congrool it's a good idea to add a sidecar to manage RBAC rules for pool-coordinator,  and i think the sidecar don't need to check RBAC rules existence at interval time because users have no permission to delete RBAC rules in pool-coordinator. on the other hand, it's more simpler for sidecar.

because users have no permission to delete RBAC rules in pool-coordinator.

Good idea, I originally thought that when etcd restarts, all in-memory storage will be reset. But maybe we can restart the pod to solve the problem.

Hi @rambohe-ch and @Congrool I can take this work up. I am looking up code repo, please let me know how do you see this implementation

Hi @rambohe-ch and @Congrool I can take this work up. I am looking up code repo, please let me know how do you see this implementation

@Himanshu372 Thanks for your actively reply, but i think @Congrool is working on this issue now. @Congrool do you have any comment?

@Himanshu372 Thanks for you help, I'm still working on this feature. I think it will be available in the next OpenYurt release. I'll let you know if it's ready.

Thank you. I'll have a look at other open issues. If you any issue which needs attention, please let me know. @rambohe-ch @Congrool

/reopen


Use master instead of tip for .travis.yml

This is an experiment to address this question:
https://github.com/google/go-github/pull/985#discussion_r216491123

Although I don't see the check on this PR (passing or otherwise, which is odd), I see that the build is successful:
https://travis-ci.org/google/go-github/builds/426983699

Hehe... now it appears.  Yesterday GitHub showed only "1 successful check" (the cla/google one)... very strange.
Thanks, @dmitshur!
Merging.


Feature:  Automatically turn on/off with the program.

Not sure if you take requests like this, so close immediately if not.
Firstly - what an amazing extension!  :sparkling_heart:
The only feature I can imagine being added to improve this already amazin' extension even further would be the ability to have a light sync with the starting and stopping of the extension.  When I turn on my computer and this extension loads it would turn on a chosen light, and similarly when I shut down my computer and the extension closes it would turn this light off.
Is this even a programmatic possibility?

Hi @Cartas,
Thank you for the idea.
The gnome extensions are enabled on login/wakeup/screen unlock and disabled on logout/sleep/screen lock. So these events could be used for your request. It would mean that selected light(s) would be turned off even on a simple screen lock. Does it sound good to you?
I will think this through. Maybe, I would consider a more general feature. Right now, it is possible to blink on notify. This feature could be redesigned to be able to run tasks on events.  Like, run turnon/turnoff/blink on enable/disable/notify/... and more events/tasks could be added in the future.

Hi @Cartas,
Thank you for the idea.
The gnome extensions are enabled on login/wakeup/screen unlock and disabled on logout/sleep/screen lock. So these events could be used for your request. It would mean that selected light(s) would be turned off even on a simple screen lock. Does it sound good to you?
I will think this through. Maybe, I would consider a more general feature. Right now, it is possible to blink on notify. This feature could be redesigned to be able to run tasks on events.  Like, run turnon/turnoff/blink on enable/disable/notify/... and more events/tasks could be added in the future.

Thanks for the quick response!
Sounds like it triggering with screen locking and unlocking makes it even better!  :tada:

Thanks for the quick response!
Sounds like it triggering with screen locking and unlocking makes it even better!  :tada:

Hi @Cartas or anybody else!
I am afraid I have bad news regarding this feature. I have implemented the first version of the feature and hit an issue. Turning light on on login works as expected, but turning light off on logout/shutdown/... behaves oddly.
Gnome-shell provides the function disable(). This function should be called on logout, shutdown, or screenlock. AFAIK it is the only suitable place how to hook such an event. I wanted to add a hook for calling the action like 'lights off' in this function. For me, the function seems to be called only on locking the screen (Fedora 33). I checked StackOverflow and it seems like the function is not consistently called on all distributions or all versions of gnome-shell.
Without consistent behavior, I do not want to add the feature anyway. But If anybody knows the reason or how to fix I will be happy to resume the work on this feature.

Ah, that's a real shame. My apologies for getting you to spend your time on something that isn't seemingly possible! 😳
Thank you ever so much regardless! ❤

Hi, @Cartas once again! I have a slightly different solution for you.
In version 9 of this extension, the support for entertainment areas has been added. In the recent commit, autostart of an entertainment area has been added.
If you have Philips Hue branded bulbs and light strips, you can create an entertainment area in your mobile app. The entertainment area has the attribute "behavior when sync stops" and you can set this attribute to "Off". Now, if the sync would be inactive for 10 seconds, it will turn off the lights in the active entertainment area. This will substitute the missing call of the disabling event. (If the event is called, the entertainment area is disabled immediately)
If you like to test it, you can manually install the version from the main branch, or you can wait for version 10 on e.g.o.
As a side effect, some CPU utilization can be noticed - depends on the level of sync intensity (and for mode 'sync screen' also depends on the number of lights).

Wow, that sounds amazing!   Eagerly lookin' forward to givin' it a whirl when v10 comes out.
Thanks for the hard work and actually looking into my request :pray:

Similar feature added, resolved.

@vchlum Ah, my apologies for missin' this completely!  :cold_sweat:
That's great news - thank you ever so much for the hard work and implementation!  It works delightfully!  :tada:


[bug] SheetScrollView Bug

Describe the bug
I tried the Sheet component and there is a bug in Sheet.ScrollView component which cancels out the touch events. This bug is reproducible with the Select component as it uses Sheet for touch devices. I can see the Select.Item changing opacity in response to the press but it quickly cancels that action.
I only faced this issue on Android while it worked flawlessly on iOS.
Potential Fix
Here's the line which causes the issue: https://github.com/tamagui/tamagui/blob/ff0df784fa6f99998c715e3abd72239244659708/packages/sheet/src/SheetScrollView.tsx#L89
I supplied the Sheet.ScrollView component with onMoveShouldSetResponder={() => false} and touch events started working again ( with scroll ). Looks like this was the root cause. I can confirm it works on both Android and iOS.
To Reproduce
Use the Select demo code from docs in expo.

Fixed