PubSub with Python 3.5 spawns threads that don't die, eventually bringing the process to consume all CPU available

Hi,
I have searched for answers but haven't found anything matching this issue. The closest was #3965 but it might be a different problem.

I'm using the Subscriber Client Python API.
OS is Ubuntu 16.04.1 LTS (stock image off GCE)
Python version is 3.5.2 (set up with virtualenv)
google-cloud version 0.31.0, google-cloud-pubsub version 0.29.2, google-cloud-storage version 1.6.0

My code first initializes a subscriber client and storage client at startup like so:
storage_client = storage.Client(project=PROJECT_ID)
subscriber = pubsub.SubscriberClient()

After ensuring it has a subscription it starts listening:
def listen_subscription(callback):
  """Listen for change events on GCS topic using supplied callback function"""
  subscription_path = subscriber.subscription_path(PROJECT_ID, SUBSCRIPTION_NAME)
  flow_control = pubsub.types.FlowControl(max_messages=1)

  subscriber.subscribe(subscription_path, callback=callback, flow_control=flow_control)

  syslog.syslog(syslog.LOG_INFO, 'Listening for messages on: ' + subscription_path)
  while True:
      time.sleep(60)

No messages are ever sent on the topic, this is all on a completely idle system.
Eventually the thread count starts to creep up, and after an hour or two CPU usage spikes to 100%. I left it running overnight with some code in the loop printing all thread stacktraces. First I checked how many threads were running:
david@myinstance:~$ ps auxw -T | grep python | wc -l
461

Here's an excerpt of the stacktraces printed, and it goes on and on:
<CleanupThread(Thread-1178, started daemon<PHONE_NUMBER>20608)>
  File "/usr/lib/python3.5/threading.py", line 882, in _bootstrap
    self._bootstrap_inner()
  File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.5/threading.py", line 862, in run
    self._target(*self._args, **self._kwargs)
  File "/home/david/env/lib/python3.5/site-packages/grpc/_channel.py", line 185, in consume_request_iterator
    request = next(request_iterator)
  File "/home/david/env/lib/python3.5/site-packages/google/cloud/pubsub_v1/subscriber/_consumer.py", line 213, in _request_generator_thread
    request = self._request_queue.get()
  File "/usr/lib/python3.5/queue.py", line 164, in get
    self.not_empty.wait()
  File "/usr/lib/python3.5/threading.py", line 293, in wait
    waiter.acquire()

<CleanupThread(Thread-335, started daemon<PHONE_NUMBER>70432)>
  File "/usr/lib/python3.5/threading.py", line 882, in _bootstrap
    self._bootstrap_inner()
  File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.5/threading.py", line 862, in run
    self._target(*self._args, **self._kwargs)
  File "/home/david/env/lib/python3.5/site-packages/grpc/_channel.py", line 185, in consume_request_iterator
    request = next(request_iterator)
  File "/home/david/env/lib/python3.5/site-packages/google/cloud/pubsub_v1/subscriber/_consumer.py", line 213, in _request_generator_thread
    request = self._request_queue.get()
  File "/usr/lib/python3.5/queue.py", line 164, in get
    self.not_empty.wait()
  File "/usr/lib/python3.5/threading.py", line 293, in wait
    waiter.acquire()

<CleanupThread(Thread-44, started daemon<PHONE_NUMBER>62720)>
  File "/usr/lib/python3.5/threading.py", line 882, in _bootstrap
    self._bootstrap_inner()
  File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.5/threading.py", line 862, in run
    self._target(*self._args, **self._kwargs)
  File "/home/david/env/lib/python3.5/site-packages/grpc/_channel.py", line 185, in consume_request_iterator
    request = next(request_iterator)
  File "/home/david/env/lib/python3.5/site-packages/google/cloud/pubsub_v1/subscriber/_consumer.py", line 213, in _request_generator_thread
    request = self._request_queue.get()
  File "/usr/lib/python3.5/queue.py", line 164, in get
    self.not_empty.wait()
  File "/usr/lib/python3.5/threading.py", line 293, in wait
    waiter.acquire()

After checking out the google-cloud-python source code I noticed that the thread policy_class makes a distinction between Python 3.5 and 3.6:
https://github.com/GoogleCloudPlatform/google-cloud-python/blob/af2e6cac62fc9d380bac780fe63b1416ef94da48/pubsub/google/cloud/pubsub_v1/subscriber/policy/thread.py#L139
I installed Python 3.6.3 and tried it out, and it doesn't seem to exhibit the same behavior – the number of threads stays limited. So in that sense I have a workaround, but I figured I would still report this in case someone else is seeing a similar problem.

I take that back – after left running, Python 3.6 seems to exhibit the same behavior of spiking CPU, though the number of threads hasn't increased like it did on 3.5.
Don't know if this helps, but here's the gdb thread printout:
(gdb) info threads
  Id   Target Id         Frame
* 1    Thread 0x7f0d6e59d700 (LWP 3781) "python" 0x00007f0d6d34a593 in select () at ../sysdeps/unix/syscall-template.S:84
  2    Thread 0x7f0d67ee7700 (LWP 3807) "python" pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
  3    Thread 0x7f0d686e8700 (LWP 3808) "python" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  4    Thread 0x7f0d65c22700 (LWP 3850) "python" 0x00007f0d6e179827 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=0, futex_word=0x7f0d60000ad0) at ../sysdeps/unix/sysv/linux/futex-internal.h:205
  5    Thread 0x7f0d66423700 (LWP 3851) "python" 0x00007f0d6e179827 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=0, futex_word=0x7f0d50029540) at ../sysdeps/unix/sysv/linux/futex-internal.h:205
  6    Thread 0x7f0d4ffff700 (LWP 3869) "python" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  7    Thread 0x7f0d653e1700 (LWP 5052) "python" 0x00007f0d6d34870d in poll () at ../sysdeps/unix/syscall-template.S:84
  8    Thread 0x7f0d4f7fe700 (LWP 5053) "python" 0x00007f0d6e179827 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=0, futex_word=0x7f0d3c0016c0) at ../sysdeps/unix/sysv/linux/futex-internal.h:205

ps auxw -L showed LWP 5052 as using all the CPU, with the others being at 0:
USER       PID   LWP %CPU NLWP %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
david     3781  3781  0.0    8  1.5<PHONE_NUMBER>4 ?        tl   12:46   0:01 python /home/david/script.py
david     3781  3807  0.0    8  1.5<PHONE_NUMBER>4 ?        tl   12:46   0:00 python /home/david/script.py
david     3781  3808  0.0    8  1.5<PHONE_NUMBER>4 ?        Sl   12:46   0:00 python /home/david/script.py
david     3781  3850  0.0    8  1.5<PHONE_NUMBER>4 ?        Sl   12:46   0:00 python /home/david/script.py
david     3781  3851  0.0    8  1.5<PHONE_NUMBER>4 ?        Sl   12:46   0:00 python /home/david/script.py
david     3781  3869  0.0    8  1.5<PHONE_NUMBER>4 ?        Sl   12:47   0:00 python /home/david/script.py
david     3781  5052 96.7    8  1.5<PHONE_NUMBER>4 ?        Rl   14:01   0:11 python /home/david/script.py
david     3781  5053  0.0    8  1.5<PHONE_NUMBER>4 ?        Sl   14:01   0:00 python /home/david/script.py

Don't know if this helps, but figured I'd add it here in case something stands out.

@dmontag Thanks for this example. I'll try to reproduce today.
I'm hoping that the recent releases (in particular 0.29.4) have resolved this.

@dmontag It's worth noting that the 3.6/2.7 special branch is just to control how the thread pool executor names the threads in the pool. This feature was added in 3.6

New in version 3.6: The thread_name_prefix argument was added to allow users to control the threading.Thread names for worker threads created by the pool for easier debugging.

It is also present in the 2.7 backport.

@dmontag So I am running a modified version of this, but it's essentially the same. I even attached the topic to bucket change notifications, though that doesn't seem relevant to the issue.
In google-cloud-pubsub==0.29.2, I am seeing a Thread-gRPC-ConsumeRequestIterator turned into a zombie every 60s or so. These are threads spawned by gRPC as part of our bidirectional consumer. They stay open because we fail to send STOP to the queue they are attached to. This behavior was fixed by #4503 and included in the 0.29.4 release.
I am going to pre-emptively close this issue (while I continue debugging). As of right now, my example has been running (with 0.29.2, since I'm trying to reproduce) for just over 12 minutes and the number of threads has grown to 17, but CPU usage is still hovering near 0%.
Would you mind testing with 0.29.4 in your "simulated conditions" and see if the issue is resolved?

@dhermes Thanks for checking this one out. I tested on 0.29.4 yesterday, and it exhibits the same behavior of having a thread eventually spike and run at 100% sustained CPU – it takes about 65-70 minutes before the condition presents though. I updated my comment on #4274 to reflect this: https://github.com/GoogleCloudPlatform/google-cloud-python/issues/4274#issuecomment-350780990
For now I'll have to run on 0.27.0 which has been running ok for the past 20-or-so hours. The Stackdriver dashboard reports Pull requests for 0.27 vs StreamingPull requests for 0.29 – maybe that's a place to start looking for differences on the client side.

For Stackdriver you basically click Monitoring on your GCP project in the regular GCP menu, go through the setup wizard, then either:

Go to Resources -> Cloud Pub/Sub, then click the topic, then click the subscription, and then it'll show the operations & requests on the right-hand side. Both kinds of operations need to be present in the stats for the charts to show.

Create a custom dashboard in the Stackdriver menu, then add a new chart for PubSub Subscription, add the StreamingPull Operations and Pull Message Operations dimensions, and save the chart. Again, you need both event types to have occurred to see the stats for both. It'll look something like this:

Not sure if that'll help track down the bug though, it was mostly a thought.
I can try to provide you access to an instance with my exact script toward the end of the week, and hopefully that might let you observe the behavior up close.

@dmontag I have at least been able to reproduce this (in 0.29.4) with a subscription that never receives a message. The CPU usage spikes somewhere between running 1h6m29s (0.4%), 1h6m34s (76.6%) and 1h6m39s (100.1% and stable at ~100 from here on out).
timeLevel=03989775:INFO
Heartbeat:
psutil info=
  CPU usage=0.4%
----------------------------------------
timeLevel=03994789:INFO
Heartbeat:
psutil info=
  CPU usage=76.6%
----------------------------------------
timeLevel=03999802:INFO
Heartbeat:
psutil info=
  CPU usage=100.1%

I currently have no idea how this is happening. I'm using the Unix gettid command to add a tracking hook in threading.Thread and the CPU usage is coming with only 8 active pthreads owned by the parent.

Sounds exactly like what I'm seeing. Good to hear that it's a reproducible problem – that's the first step toward fixing it :-)

I think I've tracked it down. In the exact "spin worker" thread where the CPU usage begins to spike to 100%, there is a thread that checks the credentials. This is a sign that the credentials are being refreshed. This makes sense, since an access token has a lifetime of an hour plus some wiggle room.
/cc @jonparrott

Very interesting, but why does refreshing the creds cause a sustained cpu
spike?
On Tue, Dec 12, 2017, 10:46 PM Danny Hermes<EMAIL_ADDRESS>wrote:

I think I've tracked it down. In the exact "spin worker" thread where
the CPU usage begins to spike to 100%, there is a thread that checks the
credentials. This is a sign that the credentials are being refreshed. This
makes sense, since an access token has a lifetime of an hour plus some
wiggle room.
/cc @jonparrott https://github.com/jonparrott
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/google-cloud-python/issues/4563#issuecomment-351299254,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAPUczp2nmSc0Gi38o7Cg00TdixCuaoaks5s_3LFgaJpZM4Q8dAJ
.

At least now it should be easier to debug, you can fake credentials
expiring.
On Tue, Dec 12, 2017, 10:50 PM Jon Wayne Parrott<EMAIL_ADDRESS>wrote:

Very interesting, but why does refreshing the creds cause a sustained cpu
spike?
On Tue, Dec 12, 2017, 10:46 PM Danny Hermes<EMAIL_ADDRESS>wrote:

I think I've tracked it down. In the exact "spin worker" thread where
the CPU usage begins to spike to 100%, there is a thread that checks the
credentials. This is a sign that the credentials are being refreshed. This
makes sense, since an access token has a lifetime of an hour plus some
wiggle room.
/cc @jonparrott https://github.com/jonparrott
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/google-cloud-python/issues/4563#issuecomment-351299254,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAPUczp2nmSc0Gi38o7Cg00TdixCuaoaks5s_3LFgaJpZM4Q8dAJ
.

I think the 60 minute mark / extra credentials check was a false alarm. I have verified with strace that threads using 100% CPU are stuck in the POLLIN/POLLHUP dance. I have also run with GRPC_TRACE=all and GRPC_VERBOSITY=debug so that may yield some ideas.
Seems like https://github.com/grpc/grpc/pull/13665/ is an attempt at a stop-gap.
We may be able to address by tracking CPU usage and killing an active subscription based on this, but that wouldn't be very fun.

Interesting indeed. Any idea why 0.27 doesn't exhibit this? (I'm not familiar with the library internals)

Any idea why 0.27 doesn't exhibit this? (I'm not familiar with the library internals)

It doesn't use a StreamingPull.

Do you think it's reproducible without PubSub-specific code? I.e. if a test case can be written that only uses gRPC to reproduce it?

@dmontag Yes, see https://github.com/grpc/grpc/issues/9688

This issue actually corresponds to two distinct parts.

Python 3.5 spawns threads that don't die
the process to consume all CPU available

The first has been resolved (e.g. by #4444, #4472, #4498, #4503, #4554, #4558, etc.) and the second has it's own issue (I just made it) at #4600.


Dynamic height

For carousels with various height slides, and option to recalculate/change height of view-port would be beneficial. Often images comes with captions of various heights, for example.

Hello @henrijs,
Than you for your feature request. This is a duplicate of issue #57

If you're interested in my reasoning about this feature request, read the whole issue here.
If not, jump directly to the solution.

Kindly,
David

Duplicate of #113.


[Bug]: k8s_crd_projectcalico_org_felix_configuration_v1 is successfully executing but not making changes to AWS cluster

Relevant Terraform configuration
// We have an existing calico felix configuration called "default" and want to apply the following:
resource "k8s_crd_projectcalico_org_felix_configuration_v1" "default-felix-configuration" {
  metadata = {
    name = "default"
  }
  spec = {
    wireguard_enabled = false
  }
}

Relevant log output
// After performing a "terraform plan" I receive a healthy looking "+ create" with the expected information.
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # k8s_crd_projectcalico_org_felix_configuration_v1.default-felix-configuration will be created
  + resource "k8s_crd_projectcalico_org_felix_configuration_v1" "default-felix-configuration" {
      + api_version = (known after apply)
      + id          = (known after apply)
      + kind        = (known after apply)
      + metadata    = {
          + name = "default"
        }
      + spec        = {
          + wireguard_enabled = false
        }
      + yaml        = (known after apply)

// After performing a "terraform apply" it also appears healthy stating it has applied successfully.
// Running a "kubectl get felixconfigurations.crd.projectcalico.org default -o yaml" I do not see the expected "wireguardEnabled = false" value. However, when I run this in manually via "kubectl patch felixconfiguration default --type='merge' -p '{"spec":{"wireguardEnabled":false}}'" I can see the change made.

Sorry if I have butchered the format you wanted for submitting an issue! There really isn't any relevant log output here 😄

Sorry! I have just found the bit of text that says:

This provider only deals with creating Kubernetes manifests. In order to apply those manifests to a running cluster use other providers like the kubectl provider.

I assume this means the resources from this provider are not actually able to change the cluster itself! May you please confirm this?

:sweat_smile: yeah that's true - my original idea was to re-use existing providers like kubectl or the official kubernetes one to deal with the apply/diff logic and let this provider just produce YAML manifests that get fed into them. This was supposed to allow me to write HCL instead of YAML and get nice validation for all my manifests out of the box thanks to terraform. Sadly this did not really work out as well as I hoped, since terraform bugs out when feeding an unknown value (the yaml field from this provider) into the various existing kubernetes providers.
So I started to write the necessary logic for this provider to apply/diff all resources against an actual cluster itself in the development branch but have not finished that yet for various other reasons :sweat:

Ah gotcha! Thanks for clarifying that for me 😄 Good luck in completing that!


Destination stats are not reported

Other libraries that do similar things with IPVS all report destination (real server) stats as part of the Destination struct . This library could do the same.

Took at stab at this in : https://github.com/docker/libnetwork/pull/2276

PR merged. Closing this.


Download fails with "unsupported protocol scheme"

Download fails on one particular image when I've had no problems with other posts or other images in the post. I can't see anything different about the image, it's a JPEG of similar size to the other already downloaded images. I'm running the 1.17.0 version on windows. Here's the log:
[fanbox-dl] 2023/04/02 12:58:10 [DEBUG] performing request%!(EXTRA string=method, string=GET, string=url, *url.URL=https://api.fanbox.cc/post.info?postId=5270156)
[fanbox-dl] 2023/04/02 12:58:10 [DEBUG] Already downloaded 0th file of "メルちゃん".
[fanbox-dl] 2023/04/02 12:58:10 [DEBUG] Already downloaded 0th image of "メルちゃん".
[fanbox-dl] 2023/04/02 12:58:10 [DEBUG] Already downloaded 1th image of "メルちゃん".
[fanbox-dl] 2023/04/02 12:58:10 [DEBUG] Already downloaded 2th image of "メルちゃん".
[fanbox-dl] 2023/04/02 12:58:10 [INFO] Downloading 3th image of メルちゃん
[fanbox-dl] 2023/04/02 12:58:10 [DEBUG] performing request%!(EXTRA string=method, string=GET, string=url, *url.URL=)
[fanbox-dl] 2023/04/02 12:58:10 [ERR] request failed%!(EXTRA string=error, *url.Error=Get "": unsupported protocol scheme "", string=method, string=GET, string=url, *url.URL=)
2023/04/02 12:58:10 ===== ERROR LOG =====
2023/04/02 12:58:10 fanbox-dl failed to run: failed downloading of "fuyumi02": download error: request error (): GET  giving up after 1 attempt(s): Get "": unsupported protocol scheme ""
2023/04/02 12:58:10 =====================
2023/04/02 12:58:10 The error log seems a bug, please open an issue on GitHub: https://github.com/hareku/fanbox-dl/issues.

@Messyblue
Thank you for reporting the bug.
Please use the fixed version https://github.com/hareku/fanbox-dl/releases/tag/v0.18.2


Request: BoardGameGeek

Something like just the head or a black line version of this. http://www.becomemagi.com/assets/pic1862013.jpg

I’m closing this off for now, since I can’t find an official monochrome icon for the website. If BoardGameGeek produces one and makes it available I will revisit.


Tab: fix bugs #677

fix bugs #677

[ ] Rebase before creating a PR to keep commit history clear.
[ ] Only One commit
[ ] No eslint errors


Not Linting multiple errors at a same time

Hello @thekiwi,
Thank you for sharing this open-source ksql linter.
I am using this linter to validate ksql queries in my local system. I have created ksql query to lint using this linter while it is only linting the first error on that ksql file. I would like it if it can detect all the errors the first time when we lint the ksql file.  When I correct the first error then it is detecting other errors one by one and showing in the output.
Is there any other way or any improvement on this linter?
Thank you!

Hey @vishaldhanani - I think I have fixed this, are you able to provide a .ksql file that reproduces the issue you're talking about so I can test with it? Many thanks!


Dual-stack docs correction

https://github.com/kubernetes/website/pull/26386

/retitle [zh] Dual-stack docs correction

Thanks.
/lgtm
/approve


Added demo docs and sync workflow

WIP

This PR currently runs a Github Action called "Sync Docs". What it does it open a PR on https://github.com/sidebase/docs.
It adds:
Files from .docs/content to content/nuxt-session - For the READMEs
Files from .docs/public to public - For any Images used in the docs
Once you merge the new docs in the repestive module repo, you can merge the created PR, to pull the changes onto the Website. We can then add a Action there, to update the website automatically!

Thanks!

Is there a remaining reason for putting the docs into a "secret" .docs folder?
How can we enable "auto-merge" so that the syncing does not need manual action?

Is there a remaining reason for putting the docs into a "secret" .docs folder?

I was doing it the way that the docus repo did it: https://github.com/nuxt-themes/docus/tree/dev/.docs
But in the end we can also make it just docs!

How can we enable "auto-merge" so that the syncing does not need manual action?

I was thinking about this. I assume we could enable auto-merge from GitHub. Meaning, if there are no conflicts and the CI passes, it would get merged. I can play with these settings and find a way to get it working!

I would not say so. I just wanted to ensure you had a look at my PoC. If you are happy with the implementation we can move forward to:

Getting PRs like this set up in every repo.
Writing the docs for every repo.
Deploying a beta on v1.sidebase.io

An issue I am still facing in this repo is this: https://github.com/nuxt-themes/docus/issues/680. The docus team recommended we upgrade the module to Nuxt3 stable. I will add a new PR in nuxt-auth and see if that resolves it, as we already upgraded there!

But in the end we can also make it just docs!

yeah,. let's move to just docs

I was thinking about this. I assume we could enable auto-merge from GitHub. Meaning, if there are no conflicts and the CI passes, it would get merged. I can play with these settings and find a way to get it working!

this is essential, else the whole sync-workflow will not have solved the problem that contributions to docs in repo A need manual steps (that will be forgotten or too tedious for outside / inside collaborators) in order to go-live.

I would not say so. I just wanted to ensure you had a look at my PoC. If you are happy with the implementation we can move forward to:

let's adapt thjis a bit:

get auto-sync without human inference to work (remember: this was a requirement I posed to accept this solution)
get this pr merged
see if the sync workflow works
test out npm run build && npm run preview in the docs repo to see that everything works in theory
then in parallel:

get @DeusAvalon to deploy it into the cluster with CD
do the docs PRs on other repos

This PR is a lot bigger than sidebase/nuxt-parse#3 - is this on purpose?

In the nuxt-parse PR the package.lock.json was missing. Therefore the big difference. As docus is currently not working anyway in these PRs and will need to be refactored, we could either delete the package-lock or ignore it.

Let's ignore and keep it for now, thanks. Please delete the env file so that we can contuinue

Let's ignore and keep it for now, thanks. Please delete the env file so that we can contuinue

Deleted!


Add resource to favorites

User story:
As a Client user I would like the ability to move some resources I don't particularly care about to a submenu, keeping only the ones I frequently need to click visible, like a favorites or bookmark list.
### Tasks
- [x] Break down into subtasks
- [x] Make up screenshots using bogus menu code to get everyone on the same page
- [x] Unit test for generating menus
- [x] ~~New on-disk format (atomic-saved JSON probably)~~ (just attached it to Settings)
- [x] Consider corner cases, like what if you favorite a Resource and then it's deleted? (it stays in the file until reset, which is harmless)
- [x] Unit tests for backwards compatibility with old on-disk formats
- [x] Plug in the new code
- [x] Implement for Kotlin #6107
- [x] Implement for Swift

Before:

After (Showing favorited Resource):

After (Showing non-favorited Resource):

After (Showing nothing favorited yet):

And we'll just store these in a file, maybe in the existing settings file, since there's < 100 Resources and they only change favorites a few times a day at most? (So SQLite would be overkill)

Yeah that's what I was thinking -- just use existing settings constructs, including reset functionality to reset to defaults (clear to empty list). I expect the user to probably update them a few times a week / month.
Main pain point currently is the list is just too long.

One thing to keep in mind since we're on the topic of settings is that #2667 will also need persistent storage in order to mark the internet resource as enabled/disabled.
So the scheme might be something like:
[ { "resource_id": "<...>", "visible": true, "enabled": false } ]

The PR for this is waiting for design to finalize / other Clients to get PRs so that the Tauri Client doesn't get the feature half-baked before the other Clients.
For the persistent storage right now it piggybacks off of the advanced settings file, which is not intuitive to users, so we'll change it eventually.
So it's blocked temporarily

Next step: Once #5846 is at a stopping point, try to implement similar changes for Kotlin and Swift Clients. Pair with Jamil when I get stuck. I can probably use the existing menu and settings code as reference for adding new menu options and saving / loading file data.

Swift/Kotlin have their "preferred" persistence mechanisms for storing data and probably won't like files. We could replicate the settings store as another store (favorites_store or something). Just an FYI.

Ah so that's what they call it. That'll work!

Status: Midway through macOS, haven't started iOS. Tauri and Android are merged into main

@ReactorScram where did we land with adding the "Reset favorites" button in Settings? That might be a needed UX addition for users who manage to get themselves into interesting favorites states. Or did you repurpose the "Reset settings" to do that?

For Tauri, favorites are stored as part of the settings, so resetting the settings resets them https://github.com/firezone/firezone/blob/7151b0397abd63dd86c5588d9f21c2b07507e847/rust/gui-client/src-tauri/src/client/settings.rs#L20
For Android, I might have forgot to put them anywhere, so I opened an issue #6293

#6298 was the last one


gRPC-Web with bidirectional streaming on IIS/Azure

Fixes https://github.com/grpc/grpc-dotnet/issues/963

@JamesNK ... Were the following intended?

Traditional gRPC over HTTP/2 supports streaming in all directions. gRPC-Web offers limited support for streaming:

Should "streaming in all directions" be "bidirectional streaming"?

gRPC-Web browser clients don't support calling client streaming and bidirection streaming methods.

Should "bidirection" be "bidirectional"?

Should "bidirection" be "bidirectional"?

Yes


Error when trying to export task dataset  (AssertionError)

Actions before raising this issue

[X] I searched the existing issues and did not find anything similar.
[X] I read/searched the docs

Steps to Reproduce
I am trying to export data set in YOLO 1.1 format but I faced the error multiple times, I can't export task dataset
Expected Behavior
This is the error showing everytime I tried to export task dataset
Could not export dataset for the task 19
Error: Request failed with status code 500. "AssertionError\n".
Possible Solution
No response
Context
This issue blocked me a long time from my work, i need to solve it right now please.
Environment
Server version: 2.8.0

Core version: 11.1.0

Canvas version: 2.17.5

UI version: 1.56.1

How can we reproduce the issue?

Hi, please attach logs from the command output: docker logs cvat_worker_export.

We are facing the same error. We have a simple object detection task and export using the 'CVAT for images 1.1' works, but using 'PASCAL VOC 1.1' gives AssertionError. Here is the log:
2023-11-07 15:09:03,945 DEBG 'rqworker-export-1' stderr output:
[2023-11-07 15:09:03,944] ERROR cvat.apps.dataset_manager.views: [Job.id=2] [cvat.apps.dataset_manager.views @ export]: exception occurred
Traceback (most recent call last):
  File "/home/django/cvat/apps/dataset_manager/views.py", line 85, in export
    export_fn(db_instance.id, temp_file, dst_format,
  File "/home/django/cvat/apps/dataset_manager/task.py", line 855, in export_job
    job.export(f, exporter, host=server_url, save_images=save_images)
  File "/home/django/cvat/apps/dataset_manager/task.py", line 685, in export
    exporter(dst_file, temp_dir, job_data, **options)
  File "/home/django/cvat/apps/dataset_manager/formats/registry.py", line 36, in __call__
    f_or_cls(*args, **kwargs)
  File "/home/django/cvat/apps/dataset_manager/formats/pascal_voc.py", line 23, in _export
    dataset = Dataset.from_extractors(GetCVATDataExtractor(
  File "/home/django/cvat/apps/dataset_manager/bindings.py", line 1614, in GetCVATDataExtractor
    return CvatTaskOrJobDataExtractor(instance_data, **kwargs)
  File "/home/django/cvat/apps/dataset_manager/bindings.py", line 1388, in __init__
    self._categories = self._load_categories(instance_meta['labels'])
  File "/home/django/cvat/apps/dataset_manager/bindings.py", line 1332, in _load_categories
    label_id = label_categories.add(label['name'], label.get('parent'))
  File "/opt/venv/lib/python3.10/site-packages/datumaro/components/annotation.py", line 161, in add
    assert key not in self._indices
AssertionError

@kedarps, do you know how we can reproduce the problem? A task backup or task label configuration would be helpful.

@bsekachev we have the same for custom format
the thing is that you're allowed to export annotations in cvat for video format, import this file to another task and then when trying to export the stuff from new task - asserion error.
I can provide a file if needed

The problem seems to have been resolved in one of the releases.  The only provided example of a task with incorrect export is correctly exported in Yolo format for now

@azhavoro , this is not resolved. I will create a new issue

https://github.com/cvat-ai/cvat/issues/8411

It seems that there were 2 or 3 different errors in this discussion:

The one reported initially and also maybe by @PMazarovich.
It seems to be related to https://github.com/cvat-ai/cvat/issues/6779

https://github.com/cvat-ai/cvat/issues/7097#issuecomment-1798853092

We are facing the same error. We have a simple object detection task and export using the 'CVAT for images 1.1' works, but using 'PASCAL VOC 1.1' gives AssertionError. Here is the log: ...

It should have been fixed in https://github.com/cvat-ai/cvat/pull/8262.


When logging in for the first time, petio crashes

Describe the bug
I complete the app setup, then am prompted to log in for the first time. I then see that petio container crashes with exit code 1 with a TypeError exception.
To Reproduce
Steps to reproduce the behavior:

I complete the app setup, then am prompted to log in for the first time.
I log into the app with the newly created admin password.
I then see that petio container crashes with exit code 1 with a TypeError error.

Expected behavior
I log in and the page loads
Desktop (please complete the following information):

OS: Docker

Additional context
Logs:
petio          | 2021-03-28 20:42:28 info: LOGIN: New login attempted
petio          | 2021-03-28 20:42:28 info: LOGIN: Request IP: ::ffff:<IP_ADDRESS>
petio          | 2021-03-28 20:42:28 info: LOGIN: No JWT: <REDACTED_EMAIL>
petio          | 2021-03-28 20:42:28 info: LOGIN: Request User: <REDACTED_EMAIL>
petio          | 2021-03-28 20:42:28 info: History returned from source
petio          | 2021-03-28 20:42:28 info: History returned from source
petio          | (node:8) UnhandledPromiseRejectionWarning: Error: getaddrinfo ENOTFOUND api.themoviedb.org
petio          |     at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:67:26)
petio          | (node:8) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 3)
petio          | (node:8) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'results' of undefined
petio          |     at trending (/app/api/tmdb/trending.js:28:30)
petio          |     at processTicksAndRejections (internal/process/task_queues.js:93:5)
petio          | (node:8) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 4)
petio          | 2021-03-28 20:42:28 error: TypeError: Cannot set property 'timestamp' of null
petio exited with code 1

You're having DNS issues. It can't resolve api.themoviedb.org

You sure?

You sure?

Yes she is sure, the error below clearly shows issues with your container trying to reach that address.
 (node:8) UnhandledPromiseRejectionWarning: Error: getaddrinfo ENOTFOUND api.themoviedb.org

What installation method are you using?

Docker on Ubuntu 20.04

Do you have any custom docker networking doing IPV6?

We had someone with a similar issue on Discord and that was his solution.
Try that and let us know.

Issue resolved on Discord.
Not a Petio issue but rather a configuration issue.


audio-recorder-streamlit 0.0.9 isn't compatible with newer streamlit version

For Ubuntu 22.04,   I found audio-recorder-streamlit 0.0.9 isn't compatible with newer streamlit version (e.g. streamlit 1.34.0). So with streamlit 1.34.0, the mic icon of audio-recorder-streamlit  doesnt' show up at all. But I have to use new features from new streamlit.
Any plan to release new version of audio-recorder-streamlit?

Installing collected packages: streamlit
Attempting uninstall: streamlit
Found existing installation: streamlit 1.29.0
Uninstalling streamlit-1.29.0:
Successfully uninstalled streamlit-1.29.0
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
audio-recorder-streamlit 0.0.9 requires streamlit<1.30,>=0.63, but you have streamlit 1.34.0 which is incompatible.
Successfully installed streamlit-1.34.0

Same issue

I would welcome being able to use this with Streamlit 1.35.0

I won't solve this problem by fixing the original code, but you can try using the following method 👇
import streamlit as st

st.html(
    '''
     <style>
        iframe[title="audio_recorder_streamlit.audio_recorder"] {
            height: auto;
        }
     </style>
    '''
)


(#388) Add .github templates

Description Of Changes
Added relevant .github templates.
Motivation and Context
The standard templates for the Chocolatey organization has information not relevant to this repository.
Testing
No testing was done.
Change Types Made

[ ] Bug fix (non-breaking change)
[x] Feature / Enhancement (non-breaking change)
[ ] Breaking change (fix or feature that could cause existing functionality to change)
[ ] PowerShell code changes.

Related Issue

Fixes #388
Change Checklist

[ ] Requires a change to the documentation
[ ] Documentation has been updated
[ ] Tests to cover my changes, have been added
[ ] All new and existing tests passed.
[ ] PowerShell v2 compatibility checked.

Clickup Task

@pauby I enabled Discussions on this repository just now, as this hadn't been done, and we were linking to discussions from the config.yml file.

@pauby having merged this, and seen it in action (this wasn't possible until the merge happened), am I not right in saying that we have a duplication of things here:

Do we need both?

Thanks for catching that. I'll pick this up outside the PR.


Handle conditions for not allowed tags

also check in type 3 tags, as these condition may appear there

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 85.18519% with 4 lines in your changes missing coverage. Please review.

Project coverage is 90.23%. Comparing base (e8644e2) to head (5a94314).
Report is 42 commits behind head on main.

Files
Patch %
Lines

dicom_validator/spec_reader/condition.py
20.00%
4 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #125      +/-   ##
==========================================
+ Coverage   89.82%   90.23%   +0.40%
==========================================
  Files          15       15
  Lines        1632     1710      +78
==========================================
+ Hits         1466     1543      +77
- Misses        166      167       +1

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


How to use the Artifacts API to get a file

I am able to retrieve a list of artifacts associated with a build, or at least I think I am. The build I am connecting to has a zip file, and that zip file contains a collection of files. I have verified by downloading directly from the devops UI. When I use the LIST function of the ARTIFACTS API I get  a list of artifacts, and I assume somewhere in that list should be whatever the FileID is.
I am not seeing a FileId returned in the list of artifacts, I have tried several id numbers that I have found. There is no clear definition of where I should find the FileId, or if it's a number or a name.
{
    "id":  37,
    "name":  "release",
    "source":  "275f1d19-1bd8-5591-b06b-07d489ea915a",
    "resource":  {
                     "type":  "Container",
                     "data":  "#/2314570/release",
                     "properties":  {
                                        "localpath":  "d:\\a\\1\\a",
                                        "artifactsize":  "128201"
                                    },
                     "url":  "https://dev.azure.com/patton-tech/c31a2770-9aee-4799-a078-eee0dc12cbf4/_apis/build/builds/138/artifacts?artifactName=release\u0026api-version=5.0",
                     "downloadUrl":  "https://dev.azure.com/patton-tech/c31a2770-9aee-4799-a078-eee0dc12cbf4/_apis/build/builds/138/artifacts?artifactName=release\u0026api-version=5.0\u0026%24format=zip"
                 }
}

That is what is returned from the List function, can we get clarification on where to find the FileID, and what exactly it is?
https://docs.microsoft.com/en-us/rest/api/azure/devops/build/artifacts/get file?view=azure-devops-rest-5.0
fileId	query	True
string
The primary key for the file.

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

ID: 3d2044fd-0cbc-f0d1-6785-045b6bcb9df6
Version Independent ID: d0898134-f5ac-2f09-1f11-25ca5573235b
Content: Build REST API for Azure DevOps Services - Azure DevOps Services REST API
Content Source: docs-ref-conceptual/5.1/build/index.md
Product: devops
Technology: devops-ref
GitHub Login: @wnjenkin
Microsoft Alias: elbatk

Any update on this question?

I also would like to know this. "The primary key for the file" is an unhelpful description without information about how to get such an ID so that I can use the REST API.

I was able to figure out a workaround which allows you to download a specific file in the artifact.
Starting from the downloadUrl returned by the Artifact Api (resource.downloadUrl) and then replacing format=zip with format=file&subPath=%2Freport.html I was able to download the report.html file from the artifact.
However this requires some authentication and I am unable to get this file through a XHR request, but this might nog be the case for you :).

Its been more than 1.5 years now, is there still no way to actually get fileid, the workaround does not really work when calling via apis as that workaround call requires authentication, works on user browser but not via code or in my case via power automate.

For those who are still looking for a work around:
Step 1:
Use https://learn.microsoft.com/en-us/rest/api/azure/devops/build/artifacts/get?view=azure-devops-rest-4.1 (Notice the api version!), you will get a response like:
{
    "id": 000,
    "name": "xxx",
    "source": "xxx,
    "resource": {
        "type": "PipelineArtifact",
        "data": "THIS IS A FILEID OF THE STRUCTURE OF THE ARTIFACT",
        "properties": {
            "RootId": "xxx",
            "artifactsize": "xxx"
        },
        "url": "xxx",
        "downloadUrl": "xxx"
    }
}

Step 2:
Use https://learn.microsoft.com/en-us/rest/api/azure/devops/build/artifacts/get-file?view=azure-devops-rest-7.1 to download the manifest of the artifact
The fileID would be "response.resource.data" in Step 1.
the response looks like:
{
    "manifestFormat": "1.1.0",
    "items": [
        {
            "path": "/some/path/to/file",
            "blob": {
                "id": "xxx",
                "size": 888
            }
        }
    ],
    "manifestReferences": []
}

Step 3:
Use https://learn.microsoft.com/en-us/rest/api/azure/devops/build/artifacts/get-file?view=azure-devops-rest-7.1 to download the real file you want
The fileID would be "items[i].blob.id"
We can download file one by one now. Still looking for a way to download the whole artifact.
Hope this would be helpful for you guys.

For those who are still looking for a work around: Step 1: Use https://learn.microsoft.com/en-us/rest/api/azure/devops/build/artifacts/get?view=azure-devops-rest-4.1 (Notice the api version!), you will get a response like:
{
    "id": 000,
    "name": "xxx",
    "source": "xxx,
    "resource": {
        "type": "PipelineArtifact",
        "data": "THIS IS A FILEID OF THE STRUCTURE OF THE ARTIFACT",
        "properties": {
            "RootId": "xxx",
            "artifactsize": "xxx"
        },
        "url": "xxx",
        "downloadUrl": "xxx"
    }
}

Step 2: Use https://learn.microsoft.com/en-us/rest/api/azure/devops/build/artifacts/get-file?view=azure-devops-rest-7.1 to download the manifest of the artifact The fileID would be "response.resource.data" in Step 1. the response looks like:
{
    "manifestFormat": "1.1.0",
    "items": [
        {
            "path": "/some/path/to/file",
            "blob": {
                "id": "xxx",
                "size": 888
            }
        }
    ],
    "manifestReferences": []
}

Step 3: Use https://learn.microsoft.com/en-us/rest/api/azure/devops/build/artifacts/get-file?view=azure-devops-rest-7.1 to download the real file you want The fileID would be "items[i].blob.id"
We can download file one by one now. Still looking for a way to download the whole artifact. Hope this would be helpful for you guys.

Just noticed it still works in version 7.1. Only either pass both fileId and fileName or pass nothing work.

For those who are still looking for a work around: Step 1: Use https://learn.microsoft.com/en-us/rest/api/azure/devops/build/artifacts/get?view=azure-devops-rest-4.1 (Notice the api version!), you will get a response like:
{
    "id": 000,
    "name": "xxx",
    "source": "xxx,
    "resource": {
        "type": "PipelineArtifact",
        "data": "THIS IS A FILEID OF THE STRUCTURE OF THE ARTIFACT",
        "properties": {
            "RootId": "xxx",
            "artifactsize": "xxx"
        },
        "url": "xxx",
        "downloadUrl": "xxx"
    }
}

Step 2: Use https://learn.microsoft.com/en-us/rest/api/azure/devops/build/artifacts/get-file?view=azure-devops-rest-7.1 to download the manifest of the artifact The fileID would be "response.resource.data" in Step 1. the response looks like:
{
    "manifestFormat": "1.1.0",
    "items": [
        {
            "path": "/some/path/to/file",
            "blob": {
                "id": "xxx",
                "size": 888
            }
        }
    ],
    "manifestReferences": []
}

Step 3: Use https://learn.microsoft.com/en-us/rest/api/azure/devops/build/artifacts/get-file?view=azure-devops-rest-7.1 to download the real file you want The fileID would be "items[i].blob.id"
We can download file one by one now. Still looking for a way to download the whole artifact. Hope this would be helpful for you guys.

Just noticed it still works in version 7.1. Only either pass both fileId and fileName or pass nothing work.

This still works in 7.2 I believe it always has, but the documentation is seriously lacking.

@alex-oswald @test3207 I cannot get the manifest portion (step 2) to work.
When I call the artifacts get API (e.g. _apis/build/builds/710608/artifacts?api-version=4.1), I get back a list of objects that look like:
{
    "id": XXXX,
    "name": "XXXX",
    "source": "XXXX",
    "resource": {
      "type": "PipelineArtifact",
      "data": "982AD6B26CC4D70B8685AB6D007D98DCF70124FCF9FE7719FAAC72A8117B877701",
      "properties": {
        "RootId": "XXX",
        "artifactsize": "87441379",
        "HashType": "DEDUPNODEORCHUNK"
      },
      "url": "https://dev.azure.com/XXXX",
      "downloadUrl": "https://artprodeus21.artifacts.visualstudio.com/XXX"
    }
  }

I then take the resource.data property (e.g. 982AD6B26CC4D70B8685AB6D007D98DCF70124FCF9FE7719FAAC72A8117B877701) and call the API like /_apis/build/builds/710608/artifacts?fileId=982AD6B26CC4D70B8685AB6D007D98DCF70124FCF9FE7719FAAC72A8117B877701&api-version=7.2-preview and just get back the same response as the first API call. I do not get this manifest file you get that list the items.
Any advice?

Your first call is right. Your second call should not be to the artifacts endpoint, but to the get-file endpoint. The get file endpoint returns the manifest.
https://learn.microsoft.com/en-us/rest/api/azure/devops/build/artifacts/get-file?view=azure-devops-rest-7.1
I wrote a blog post on this, but my blog is down atm. Check here: https://github.com/alex-oswald/blog/blob/main/_posts/2023-10-08-azure-devops-artifacts.md


pimp the readme

This PR refreshes the README.md
@trexfeathers

@bjlittle what made you switch to .md from .rst?


Firefox can’t establish a connection to the server at wss://s2.ripple.com/

Hi, When I navigated to the https://livenet.xrpl.org/ in Firefox, I saw this type of error message in the console. I'm a bit confused; is it a problem with the rippled server or in the code?

P.s. ripple explorer loads correctly, I'm just. a bit confused with an error.

That's because it tries to connect to s2.ripple.com (which doesn't work) and s2.ripple.com:51233 (which does work), so the first attempt fails. This should probably be cleaned up.


Add ability to update binance-trade-bot and BTBManagerTelegram from the bot

This can be achieved by:

Checking if the local repo is up to date with remote main branch
In case it's not:
** Kill the process
** git pull
** $(which python3) -m pip install -r requirements.txt
** Run program again

Closed in 35ded495fd37e2d5728666a4131203a50e86d610


The cmdlet is not available

The cmdlets mentioned in this article are not part of the SfBO Powershell Module. Could you help me finding it?

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

ID: 1bf3bc26-4cac-56c0-8669-6540adf3c502
Version Independent ID: bd7cd483-e40e-88c2-b9ee-b21a9ea73005
Content: Manage feedback policies in Microsoft Teams - Microsoft Teams
Content Source: Teams/manage-feedback-policies-in-teams.md
Service: msteams
GitHub Login: @LanaChin
Microsoft Alias: v-lanac

@arifC thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.


Add Inventory by Medecine

[x] Addition of the remaining quantity in the database.
[ ] Decreed at each event.
[ ] Personalize the number of medicine per event.
[ ] Update translations.
[ ] (Optional/discuss) Modify the UI of medicine.
[ ] (Optional/discuss) Use set of colors instead of picker.
[ ] (Optional/discuss) Add icon, pill, capsule, syrup, etc.

Hey Jean-Yves, thanks for your contribution and your willingness to improve the app. I have so far refrained from working on the inventory because the amount is (and it seems to make sense this way) a string and not a number. So you might have to check if the amount is actually a number in order to be able to use inventories.
So it's all a bit complicated and would also make the UI more complex. But if you find a nice solution to these issues I would be perfectly willing to add the feature (and the others planned by you) to the app.

Hi,
Right now, I don't have enough time to work.
I still use your application is it is still as great!
It is true that this functionalty is commplex because of string.
Thank you for your work. :heart:

Maybe adding the image of the med would help also the people who vision challenged

Yes, I don't have enough time to work on it. Maybe work on a feature request.


Parse error when html tag is contained in body?

I encountered an error like this.
failed to run gh: gh: Parse error on "359" (INT) at [2, 331]
. error: exit status 1

I avoided this by temporary removing html tag from body, but should be able to parse correctly.

@toshi0383
Thank you for the feedback!
I attempted to replicate the issue on my end, but I was unable to do so. If you could provide the details of the command that resulted in a parse error, I might be able to help fix it.
gh p2 create \
  --user "shuntaka9576" \
  -r "kanban-test" \
  -p "test" \
  --title "Fix bug" \
  --assignees "shuntaka9576" \
  --fields "Status:Todo" \
  --fields "point:3" \
  --fields "deadline:2022-08-11" \
  --body 'sample\n\n\nSample Code\n
\n\necho Hello World\n\n
'

@shuntaka9576
I tested several times and here is the example.
Let me know if you need further information.
#!/bin/bash

# OK
BODY='テスト

'

# NG: failed to run gh: gh: Parse error on " />" (STRING) at [2, 114]
BODY='テスト'

gh p2 create \
    -o ... \
    -p ... \
    -r ... \
    --title ... \
    -f ...
    --body "$BODY"

Thank you for the feedback and sample code. I was able to reproduce the issue locally.
The problem seemed to be due to a conflict between the double quotes in the GraphQL syntax.
By escaping the double quotes, I was able to resolve the issue. #4
Please let me know if there's still any problems with the behavior 👍
The issue has been addressed in version 0.1.2. Please update to this version to apply the fix.
gh extension upgrade shuntaka9576/gh-p2
$ gh p2 -v
p2 version 0.1.2 (rev:d2d7a97)


Add some more support for X11 keys (partially fixes #251)

I wasn't sure if I could add more variants to the virtual key enum so I left it alone. Most of the remaining ones can be handled by a shift key anyway.

Not sure why the build failed (master seems to be failing on appveyor anyway) :/

Oh, it's an example that is broken with the latest rustc. Let me fix that so you can rebase over master.

Thanks!

Btw, should adding new keys to virtualkeys be okay?
Eg for the numpad plus, etc that x11 supports (not sure if cocoa does), or the extra parentheses keys (instead of Shift-9), etc.

Ideally we'd need a reference implementations where all virtuals keys are implemented. Then make the other implementations match this.

Would GLFW be a good idea? (btw, I'm in the gitter room if that's preferable :) )


Feature : Add the possibility to position the filters just below the column name

Hello,
Thank you for this bundle; it looks promising.
For better UI, I believe it would be beneficial to have the filters positioned just below the column names. Additionally, having the option to select the comparison operator directly from there would be even more advantageous.

This is a feature I often use in my projects, and I would greatly appreciate having it included in this bundle.
What do you think about this?

Hey! Cool idea. I think we could make this feature optional, by setting some option of the data table type itself (whether to display filtration form above, or below the columns):
class ProductDataTableType extends AbstractDataTableType
{
    public function configureOptions(OptionsResolver $resolver): void
    {
        $resolver->setDefault('filters_below_columns', true); // name of the option could be better
    }
}

Currently, filters are completely independent of columns, meaning you can create a filter that doesn't associate with any visible column. Maybe we could associate filters with columns with additional option, e.g.:
$builder
    ->addColumn('foo')
    ->addFilter('foo') // same name - displayed below "foo" column
;

$builder
    ->addColumn('bar')
    ->addFilter('baz', ..., [
        'column' => 'foo', // different name - associated by an option
    ])
;

No idea how to handle filters that are not associated with any column then - maybe we should not render it at all, or throw an exception. Twig themes should render differently based on the data table and filter options described above.
I'll keep this in mind. At the moment, I'm not adding new features and I'm only fixing bugs due to very limited free time lately (though I hope that will change soon). Of course, pull requests and discussions are more than welcome :)

Proposal:
Why not keep the current method of adding "global" filters and also add the ability to apply specific filters to individual columns?
I'm not sure about the complexity of implementing this, but I was thinking of something along these lines:
$builder
    ->addColumn('foo', TextColumnType::class, [
        'filter' => [StringFilterType::class, [...filterOptions]]
    ])
;

This way, it would be impossible to add a "column-specific" filter globally, and it would even be possible to combine both methods, which could be useful in certain cases.

Looks good to me, more readable 😄

Hey @alexandre-castelain,
What's blocking the stable release of the bundle in my opinion is the lack of tests - only about 20-30% of the codebase is tested, and most crucial parts are still not covered. The whole library was created in haste, because company I am working with really needed something like this, and had to prototype something as soon as possible. Now, asking other people to write tests for existing code feels wrong to me 😞
Also, there's two things I'm really not happy with:

twig themes are a bit chaotic in some parts, with unnecessary blocks, weird inheritance, etc. which I was planning to refactor before release to prevent additional work with previously created custom themes;
every integration with form seems unnecessarily complicated, and really buggy. For example, we cannot display validation errors on the filtration form, because form submitted in the HttpFoundationRequestHandler is different than the form displayed to the user;

Not sure on how to delegate work described above to others, as I don't have any clear idea on how to handle those things. I'll create issues with more details to make it more clear. Hope to come back to this project soon with more time available.
Thanks for your willingness to help, it means a lot.


Javascript error in the main process

Directly after install it seems to work fine, however after restarting the app, it now crashes.
When running the app i get the following:
Uncaught exception
TypeError: Error processing argument at index 0, conversion failure from undefined
at g.loadURL(node:electron/js2c/browser_init:165:8464)
at n.loadURL(node:electron/js2c/browser_init:33:1856)
at App.<anonymous>(/app/cohesion/resources/app.asar/dist/index:js:32:24)
at App.emit(node:events:539:35)

Running NixOS using unstable branch.
Installed from flathub, using nix-flatpak.

Damn I thought I solved this issue yesterday. Sorry about that. Do you
happen to know what version do you have installed? I know there's not yet
anywhere in the app that you can see it, but through gnome software you
could see what is the current version you have.
Please make sure you're running v1.0.5.
Regards,
Bruno Finger
On Tue, 23 Apr 2024, 6:56 pm Magnus Alexander Strømseng, <
@.***> wrote:

Directly after install it seems to work fine, however after restarting the
app, it now crashes.
When running the app i get the following:
Uncaught exception
TypeError: Error processing argument at index 0, conversion failure from undefined
at g.loadURL(node:electron/js2c/browser_init:165:8464)
at n.loadURL(node:electron/js2c/browser_init:33:1856)
at App.(/app/cohesion/resources/app.asar/dist/index:js:32:24)
at App.emit(node:events:539:35)
image.png (view on web)
https://github.com/brunofin/cohesion/assets/24990129/99da9a2a-6dbb-4780-a268-ba4f4dfe41c9
Running NixOS using unstable branch.
Installed from flathub, using nix-flatpak.
—
Reply to this email directly, view it on GitHub
https://github.com/brunofin/cohesion/issues/13, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB5T7NO367SDNAXVJFCPVHTY62HFNAVCNFSM6AAAAABGVKFWDWVHI2DSMVQWIX3LMV43ASLTON2WKOZSGI2TSMZUGM2DINY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

@stromseng could you please confirm whenever you have time if you are running the latest version from flathub and whether the problem still occurs for you? Thanks!

Had a busy week. It seems i did not have the latest version installed. Thx for replying :)


Automated ADF Publishing Documentation Missing

The below page should mention the additional requirement of having to use the PowerShell method to deploy global params when using the new automated publishing CI/CD flow.
This is mentioned here: https://docs.microsoft.com/en-us/azure/data-factory/author-global-parameters#cicd
But if someone is following the steps in the below docs page, there is no mention of the global params requirement.

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

ID: 126c00f8-e9d2-4af1-65b1-67a1e5516197
Version Independent ID: 30660b73-1e11-3e1f-f2c8-1daa094a410a
Content: Automated publishing for continuous integration and delivery - Azure Data Factory
Content Source: articles/data-factory/continuous-integration-deployment-improvements.md
Service: data-factory
Sub-service: ci-cd
GitHub Login: @nabhishek
Microsoft Alias: abnarain

Thank you for your feedback. This has been assigned to the content owner, @nabhishek , and will be updated as appropriate.

Thank you for reporting this to help improve the docs, @cboneill0099!  I confirmed this has been explicitly called out in the doc now, so I will close this issue out, but if necessary we can continue the discussion here in this thread, even after the issue is closed.
#please-close


Router UI issues

[x] Clicking outside of custom drop-downs doesn't close the drop-down

[x] Make all custom drop-down text left-aligned

[x] Make Add header & Add cookie button text white to match other buttons

[x] remove grey background for Destination

[x] Add Space between Destination, radio buttons and fields below them

[x] Add buttons missing + and should be capitalized

[ ] Since there are only three options here, please make a standard drop-down instead of one that include search (being able to type in the field)

[x] Align Text in field with the drop-down text instead of centering it.

[x] Add space between checkboxes and text

[ ] Cancel button doesn't work

[x] Checkbox is red instead of white border

[ ] If I select Redirect completely hide Rewrite Request Headers section instead of dimming button

[x] Number of Rules should start at 1 not 0

[x] Remove rule doesn't work

Date - 11/11
Verified fixed.  All new issue and unresolved issues will go into a different bug.


Betta : A car company website

Describe the project you want to add with tech stack
A car branding company website
tech stack

HTML
CSS
BOOTSTRAP

please assign me @pranjay-poddar


LastDirectoryUpdate

Hi,
LastDirectoryUpdate What is the purpose ? How to use ?
Thanks.

https://volkanceylan.gitbooks.io/serenity-guide/content/howto/how_to_authenticate_with_active_directory_or_ldap.html
It is used to store last directory update from active directory/ldap

ok. thanks.


Dependency overrides

While adopting Mops for various projects at DFINITY, we are frequently running into the limitation of two or more conflicting GitHub package versions. A stopgap solution could be to include something like an [overrides] section in mops.toml. This approach would also be compatible with a future implementation of https://github.com/dfinity/motoko/issues/3971.

If you want to override the version of a transitive dependency, you can specify it in your mops.toml in [dependencies] section so that it always resolves to that version. I hope this helps

Thanks! I'll relay this solution to the team.


[CI] Use self hosted runners on e2e CI

What is the purpose of the change
This PR moves the Test-E2E-Makefile GitHub Actions to our own self-hosted runners.
The tests on the CI repo show a nice speedup: https://github.com/osmosis-labs/osmosis-ci/actions/runs/4807118480
Brief Changelog

Migrate Test-E2E-Makefile to self-hosted runners
Bump actions/checkout@v3
Bump actions/cache@v3

Testing and Verifying
Ran the GitHub action on our CI environment: https://github.com/osmosis-labs/osmosis-ci/actions/runs/4807118480
We can also check on this PR.
Documentation and Release Note

Does this pull request introduce a new feature or user-facing behavior changes? no
Is a relevant changelog entry added to the Unreleased section in CHANGELOG.md? no
How is the feature or change documented? not applicable

mmm that didn't work


Feature/phpdoc

Generates PHP API Documentation with phpDocumentor.
Adds two new tasks to the Makefile:

make phpdoc which downloads phpdocumentor and generates the documentation of the package.
make serve-phpdoc which serves the documentation at http://localhost:8000

Coverage remained the same at 84.862% when pulling 998e622fdf8402e2106af0ed8fc2afe7452c7577 on feature/phpdoc into 8ec07b6fa35d4a7c8e13999312b1e47c52f3dabf on develop.

I see everything ok in the PR.
I tested and it works fine :+1:


Having context in MvRxState

Sometimes, I would like to have Context in MvRxState. E.g. it would be useful to have derived properties that are using android string resources.
data class SampleState(
    val name: String = ""
) : MvRxState {
    val welcomeMessage = "${context.getString(R.string.welcome)} $name"
}

Can I somehow achieve it?

@qbait a MvRxViewModel can outlive a context, particularly across rotations, so you cannot have Context in state.

@qbait You can, however, create functions on your state class that take context and return the formatted message!

Thanks @gpeal
Ofc I wanted to inject Application Context, not Activity Context.

@qbait I would still make a function that takes it as a parameter or inject it into your ViewModel. A state class should just encapsulate the raw data required to render your screen.


QBO - Error shows up when selecting any option under "Export company cards as"

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.65-0
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Issue found when executing PR https://github.com/Expensify/App/pull/40713
Action Performed:

Go to staging.new.expensify.com
Go to Account settings > Workspaces > any workspace
Go to Accounting
Connect to QBO
Click Export > Export company cards as
Select any option
Return to the previous page

Expected Result:
No error will show up
Actual Result:
Error "something went wrong and your request could not be completed" shows up
404 Not found also appears in console when fetching data
This issue happens with all the options under "Export company cards as"
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/3b590f90-d152-4964-ba51-5371a68afab3
View all open jobs on GitHub

@zanyrenney  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

We think that this bug might be related to #wave-collect - Release 1

cc @hayata-suenaga @teneeto @aldo-expensify for vis

Preparing a PR to add the missing connection setting names: https://github.com/Expensify/Auth/blob/e93860891ed5d66f560bce44a7847c7a19fec753/auth/lib/Policy.h#L124-L140

Linking the thread for posterity.

PR is merged for this above, and deployed to Prod.


Error while installing requirements

I get an error while trying to install the requirements, specifically with simpleaudio.
It says,
python setup.py bdist_wheel did not run successfully.
ERROR: Failed building wheel for simpleaudio
Sorry, I am new to this, if anyone knows what the problem is or knows what to do I would appreciate it very much, thank you.

Same for me, voy a investigar sobre el tema y si encuentro algo vengo y lo publico aquí.

Try: pip install simpleaudio --use-pep517
If error says "Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/"
Download it and run: pip install simpleaudio --use-pep517 again

Try: pip install simpleaudio --use-pep517
If error says "Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/"
Download it and run: pip install simpleaudio --use-pep517 again

Thank you, this worked, the only thing left is I can't seem to find my video id to run the code with, I'd appreciate some pointers


Modifying input size

Hi @aalmah
Thank you for the useful implementation. From what I see, all input images are resized to 64x64. So I  change the input size up to 128, or 256 by modifying the line 235 in the file edges2shoes_exp/edges2shoes_data.py from
transform_list = [transforms.Scale([64, 64], Image.BICUBIC)]
to
transform_list = [transforms.Scale([128, 128], Image.BICUBIC)]
However, the program complained like below:

Traceback (most recent call last):
File "/media/tai/6TB/Projects/augmented_cyclegan/edges2shoes_exp/train.py", line 315, in
train_model()
File "/media/tai/6TB/Projects/augmented_cyclegan/edges2shoes_exp/train.py", line 204, in train_model
losses, visuals, gnorms = model.train_instance(real_A, real_B, prior_z_B)
File "/media/tai/6TB/Projects/augmented_cyclegan/edges2shoes_exp/model.py", line 430, in train_instance
discriminate(self.netD_z_B, self.criterionGAN, post_z_realB.detach(), prior_z_B)
File "/media/tai/6TB/Projects/augmented_cyclegan/edges2shoes_exp/model.py", line 328, in discriminate
pred_fake = net(fake)
File "/home/tai/anaconda3/envs/pytorch_p2/lib/python2.7/site-packages/torch/nn/modules/module.py", line 491, in call
result = self.forward(*input, **kwargs)
File "/media/tai/6TB/Projects/augmented_cyclegan/edges2shoes_exp/networks.py", line 428, in forward
input = input.view(input.size(0), self.nlatent)
RuntimeError: invalid argument 2: size '[2 x 16]' is invalid for input with 800 elements at /opt/conda/conda-bld/pytorch_1525812548180/work/aten/src/TH/THStorage.c:41

Process finished with exit code 1
I guess there is computation making the latent size to be related to image size. That's why when I change the input image's size, it affect the latent vector.
Please help!

This is because the network settings are set to a 64x64 image size.
In the discriminator and encoder, the size of the feature map is reduced by half using the conv layer. (with stride 2)
What if you increase the size of the image? Naturally, the end result will be different from the desired size.
Add a conv layer to the encoder and discriminator.

Thank you @MakeDirtyCode. I also found out that. I fix it by applying a max_pooling layer.


Suggest using skymeld

Problem
Skymeld is a new experimental feature that Bazel users may not be aware of yet.
Include a suggestion to try out skymeld if the profile suggests speed-ups can be expected.
Suggested solution

DataProvider: detect a drop-off in Bazel CPU usage in the analysis phase
SuggestionProvider: suggest enabling skymeld using --experimental_merged_skyframe_analysis_execution

Also see https://github.com/bazelbuild/bazel/issues/14057

Note, Skymeld currently breaks some of the existing analysis. #97 should really be implemented before suggesting this be turned on.


Leak to kernel_task on OSX

Hi,
My game started leaking to kernel_task on OSX, we had a similar leak a while ago, it turned out to be a Chrome/DOM leak, several Chrome versions later the issue was gone, this one isn't Chrome tho, it happens on an old Electron build too
Since the leak is not on the browser, as the memory usage of kernel_task increases, rather than the browser process itself, I'm out of ideas - I suspect it might be a WebGL issue
Any ideas? / Could it be PIXI?
(I was on 4.4.4, tried 4.5.3, same)

Hey! Yeah, it could be WebGL issue. Do you use renderTextures?

Yes, very heavily

PIXI GC doesn't care about renderTextures. May be you have to create an array where you put all of them and scan it sometimes, whether all of them were really destroyed, just check some of the properties that are set to null in destroy of base texture:
https://github.com/pixijs/pixi.js/blob/dev/src/core/textures/BaseTexture.js#L612
that's fired on every renderer on dispose event:
https://github.com/pixijs/pixi.js/blob/dev/src/core/renderers/webgl/TextureManager.js#L192
Actually, i dont see where the glRenderTarget is destroyed.
@mat @englercj @bigtimebuddy  ALARM!!!

@kaansoral can you place breajkpoint here please?
https://github.com/pixijs/pixi.js/blob/dev/src/core/textures/BaseRenderTexture.js#L123
If you have a problem with it , write in your file
PIXI.BaseRenderTexture.prototype.destroy = function() {
  this.super(true); this.renderer = null;
}

If you actually use that thing, app will stop there. In that case, its probable that we have leak in RenderTexture and its not destroyed properly when your app asks for it.
If app is not stopping there, then its something else.

I imported the PIXI.BaseRenderTexture.prototype.destroy bit into my code, initially it wasn't called, turns out I wasn't calling the .destroy of renderTexture's as .destroy(true) - However, since I don't want the actual base textures to be destroyed, shouldn't I be calling the destroy of renderTexture as just .destroy?
Anyway, I've reproduced the issue easily after you've pointed me in the direction of RenderTexture's, without .destroy(true) - the memory pressure instantly goes up

If your render textures are global you don't have to destroy them. The question is about temporary base-render-textures.

Each time a map is visited, I generate a renderTexture from all the small tiles, each time a user visits another map, I destroy everything related to the old map - Don't use any meshes
I see that I destroy my Text's with text.destroy({texture:true,baseTexture:true}); - I guess this was another live and learn experience, thanks for your help, this issue was bugging me for a week, I'm really relieved after finding a solution, and sadly, it seems the leak was there for a while too, but I only now discovered it
If it's the expected behaviour, the issue can be closed too

Btw that's default params for destroying text, you dont have to specify them:
https://github.com/pixijs/pixi.js/blob/dev/src/core/text/Text.js#L12
so how do you generate and then re-use the renderTexture?

I don't re-use the renderTexture, I just generate it once when the player visits a map, use it in a Sprite, and when the user visits another map, I destroy everything from the old map, including the renderTexture

There we have our leak. Hope @GoodBoyDigital will fix it soon in critical update.

#4173 #4174 Possibly fixed the issue. @kaansoral please report!

Hi, .destroy(true)'s are still needed, otherwise, there is no change between 4.5.3 and 4.5.4 for me, at 4.5.3, .destroy(true) was also a solution

That's to be expected. Destroy param is definitely needed here. See the docs for destroy info. http://pixijs.download/release/docs/PIXI.Container.html#destroy


Device Type Init check

Thanks for the driver. I am porting to another platform and when I was reading the code I found out a possible mistake.
You are reading the HW Version
https://github.com/pilotak/BQ35100/blob/8de11eba1f43c0da0b9a5933caaa220adb2b7aad/BQ35100.cpp#L61-L64
however in the comments you mention that you are trying to obtain the device type (i.e. 0x100 according to Table 11-2. Control MAC Subcommands).

Well spotted, this HW_VERSION can differ against different manufacturing years. It worked when i first wrote it because i had same batch.  It should read CNTL_DEVICE_TYPE and on line 70 there should be 0x40 https://github.com/pilotak/BQ35100/blob/8de11eba1f43c0da0b9a5933caaa220adb2b7aad/BQ35100.cpp#L70
do you want to submit a PR and test it? as i have not got the device with me anymore, it's in the field

Sure, I will have a look on it once I have the hardware with me.

I still have to check with the driver what values I get but at least in the BQ Studio software from TI these are the values I got from my BQ35100 IC

I can confirm you that the device number is 0x100. See datasheet Table 11-2. Control MAC Subcommands.

Yes, seems that there is a mistake on the datasheet. In the technical reference manual the value is 0x100 instead of 0x40.

After testing I can confirm the value I get from DEVICE_TYPE is 0x100

Thanks a lot


"ERR! OMG There is no Visual C++ compiler installed." when installing

When I'm attempting to install I get thrown the following error:
ERR! OMG There is no Visual C++ compiler installed. Install Visual C++ Build Too lset or Visual Studio.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: `cmake-js compile -m`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional log ging output above.

Using the following installations:

node.js v10.15.3
CMake 3.14.0 x64
Visual Studio 2017

Have a great day,
Clark

Sorry, this is rather cmake.js related. Increasing the version of the CMake dependency did improve my situation, but I just compiled on Ubuntu 18.04.2 and everything worked fine.

I want to get it to compile on Windows. It seems that the cmake.js dependency is outdated. Setting it to "5.1.0" (latest version as of now), detects Visual Studio, but throws a new error.
CMake Error: Could not create named generator Visual Studio 15 2017 Win64

Adding "install": "cmake-js compile -m -G\"Visual Studio 15 2017 Win64\"" to the package.json fixes this issue.

Sorry, this is rather cmake.js related. Increasing the version of the CMake dependency did improve my situation, but I just compiled on Ubuntu 18.04.2 and everything worked fine.

I cant seem to get this working with ubuntu 16.04. Im getting the same error.
ubuntu@ubuntu:~/papyrusjs$ nodejs --version
v10.16.0
ubuntu@ubuntu:~/papyrusjs$ cmake --version
cmake version 3.5.1

CMake suite maintained and supported by Kitware (kitware.com/cmake).

ERR! OMG Process terminated: 2
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: `cmake-js compile -m`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

I cannot help you without the rest of the log (it is above the message you've sent)


Update libjxl to v0.8.0

JPEG XL v0.8.0 is the latest stable release.

Thanks!

Thank you for accepting my pull request.


feat: update bootstrap url

List other issues or pull requests related to this problem
This has to do with https://github.com/netlify/pod-compute/issues/159
Checklist
Please add a x inside each checkbox:

[x] I have read the contribution guidelines.
[ ] The status checks are successful (continuous integration). Those can be seen below.

A picture of a cute animal (not mandatory but encouraged)

note to self: instead of checking both changed URLs manually with curl, I could've relied on the fact that tests are passing


incompatible with Java 7

I love the idea, but my app is incompatible with JDK8, so I can't use this plugin. 🙁

Well, it seems like com.google.googlejavaformat:google-java-format requires Java8, so I guess there's nothing to be done here. Closing.

Hello @jfairley ,
Sorry.
I guess it is time to move to Java 8.
Or do your users requires Java 7 compat?

A third-party dependency, actually. We're working on replacing it, but unfortunately it's a mountain of tech debt...

Beside that, IMO you can have Maven running Java 8 to build a Java 7 project.

My runtime dependency affects surefire tests in using Java 8.


[stable/sealed-secrets] Add kubeseal section to readme

What this PR does / why we need it:
Add kubeseal usage example to readme
Which issue this PR fixes

fixes #15161

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/chart])

https://github.com/helm/charts/pull/16437 :joy:
Which one do you want to go with? I'm happy with either.

@olib963 instead of changing the service name I would just use the release name in the kubeseal command.

@stefanprodan OK sounds good, is it worth porting some changes into the NOTES.txt? I will close my PR

/assign @olib963

@olib963 I've added the controller name and namespace kubeseal arguments to notes.

/lgtm

/approve


SWARM-1155: Datasource tests should not rely on JDK7

This is an Examples counterpart of https://github.com/wildfly-swarm/wildfly-swarm/pull/400
Motivation
When using EAP, the JDK8 classes are used instead, causing these tests
to fail. Need to make the test pass with JDK7 or JDK8 classes.
Modifications
Modified the tests to use a regex comparison that works with
either JDK7 or JDK8.
Result
No impact to product, only a test.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Okay to test

Also thought I'd already done this but I reckon not.

retest this please

I really don't understand why this fails. So I rebased, reran locally and of course it works just fine. Let's see how the CI feels this time.

Retest this again, please

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Okay to test

retest this please

retest this please


Whitespace before '!important'

fixes #1273
Before:
a {
    color: blue!important;
}

a {
    color: blue !important;
}

a {
    color: blue          !important;
}

After:
a {
    color: blue !important;
}

That makes sense.
There are some use cases for !:

Sass:

!default: space before preferred
!optional: space before preferred
!global: space before preferred
!=: space probably ok
Copyright comment: not sure about space

Less - Couldn't find any apart from !important in the docs

@Hirse  in the current structure of the css beautifier, it's not great.
@prettydiff has tests for css and from what I can see there are no other uses of exclamation point in the tests (https://github.com/prettydiff/prettydiff/blob/master/test/samples_correct/beautification_css.txt) .
@prettydiff - Can you think any issues here?

I am not immediately aware of any CSS preprocessors that make use of ! for syntax, but my knowledge of CSS preprocessor syntax is limited.  Even if ! is used for syntax !important should be considered a reserved name as it is a standard pragma in standard CSS if the preprocessors are designed correctly to avoid collisions.
I would go ahead an merge this as it is safe in all imaginable cases, and exceptions can be worked as more precisely identified regression issues.


Use okhttp client

Supersedes #1708
See also the problems faced.

Doesn't work - see cause.

Reported issue to OkHttp -> https://github.com/square/okhttp/issues/8031


Not working

We've created a workload and collection. Nothing happens when we run(analyze) except from a popup that says "requesting job".
Steps to Reproduce
#Create workload
#Create collection
#Run
Your Environment
Tested all browser types, same results. I can give you the account details<EMAIL_ADDRESS>

@zked I can't see any glaring errors in the logs, I'll need you to add me to the account so I can take a closer look. Can you ping me internally on slack once you've done that. Thx

This is related to the nerdgraph EU key creation problem
https://newrelic.slack.com/archives/C11A4N742/p1664284639903289
https://newrelic.slack.com/archives/C14B7CZGU/p1664319030583479


How to add babel plugin?

I'm hitting  Support for the experimental syntax 'classProperties' isn't currently enabled
I need to add something like the following to my webpack config.
https://github.com/babel/babel/issues/8655
{
  loader: 'babel-loader',
  options: {
    "presets": [
      "@babel/preset-env",
      "@babel/preset-react",
      {
        "plugins": [
          "@babel/plugin-proposal-class-properties"
        ]
      }
    ],
  },
}

I tried the following and a few variations but won't work..
 module.exports = override(
   ...addBabelPresets("@babel/preset-env", "@babel/preset-react"),
   ...addBabelPlugins('@babel/plugin-proposal-class-properties'),
   # other lines omitted for brevity
)

I also tried adding it to package.json and to babel.config.js but no avail..

I had to add library path to babelInclude
got hint from
https://react-native-elements.github.io/react-native-elements/docs/web_usage.html

In my case I had to correct sequence. First goes addBabelPresets and then babelInclude.

@littlehome-eugene @sandro768  If you have @babel/plugin-proposal-class-properties and/or @babel/plugin-proposal-private-methods working with CRA, I would love to see your full config-overrides.js file


Autoloading & Composer

@brendo
Never thought of this before, but...
Does it really make sense to have a custom autoloader and an optional Composer autoloader? I mean, if we treat Symphony as standalone software and not as a PHP package that requires Composer to be installed, shouldn't we include the vendor folder in our repository anyway and only use Composer internally for development? Following this approach, we could just always include the autoloader created by Composer.

Implemented.


AssetBundle as Component to support events

My app is currently working with custom-edited AssetBundle that is extending a Component (rather than BaseObject), with multiple Events triggered and listened to achieve new type of Asset bundle functionality (EJS/Underscore/other templates as part of AssetBundle for a widget) without having to heavily extend and modify original AssetBundle.
What do you say about such a change, any performance issues that could happen, other? I don't have any unit tests, but I have production-working implementation that "does its job", without any sort of problems regarding backwards-compatibility and stability for more than a half-year already.
PS: I think, there should be more Event driven stuff in application, so this is a sort of an experimental solution to later implement in other parts of framework.

The AssetBundle could be used in two ways:

Dynamic evaluation and registration.
Static build with a console command.

Second case is hard to achieve if Asset Bundle will become less declarative and more dynamic.

Triggering events does not make it more dynamic, it just gives more opportunities for a developer to implement new stuff. How does he or she makes his job more hard is their own responsibility.

Non-declarative assets could not be used via CLI command.

I am not a fan of having this in core; asset bundles to me are mostly objects that hold configuration and provides as little logic as possible.

Decided not to include it into the framework. You may define your own asset bundle that supports it.


Store created invoices to local storage with payment status

At the moment the transactions that the PoS is creating are not being saved anywhere would be nice to save to local storage the ones the pos creates.

No need as TXs can be loaded from LNBits


Functional Programming: array sorting challenge should suggest to not mutate original array

Nowhere in the description is suggested to avoid mutating the original array. I think it would be cool to remind people to not mutate variables as It's a fundamental concept of functional programming.
We should add a note saying: The sort() method does not returns a new array but mutate the original array. Use the slice() method to avoid this.
What do you think?
Link to challenge
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/functional-programming/sort-an-array-alphabetically-using-the-sort-method/
Tell us about your browser and operating system:

Browser Name: Chrome
Browser Version: 75.0.3770.100
Operating System: Windows 10

My bad everything is reminded in the next challenge ^^


fix: maintain html list in table when converting to markdown

Please check if the PR fulfills these requirements

[x] It's the right issue type on the title
[x] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)
[x] The commit message follows our guidelines
[x] Tests for the changes have been added (for bug fixes/features)
[ ] Docs have been added/updated (for bug fixes/features)
[ ] It does not introduce a breaking change or has a description of the breaking change

Description
Fixed a problem where converting was broken when adding a list to a table in WYSIWYG.
AS-IS

TO-BE

Thank you for your contribution to TOAST UI product. 🎉 😘 ✨

That's major issue in my opinion. Could it be published as fix for current @toast-ui/editor (v2)?

This is critical isssue for current v2 version

@dmielewczyk @jcimoch In version 2, when converting from WYSIWYG to Markdown, it is working well in html, not in Markdown. Which is the problem? 🤔

@dmielewczyk @jcimoch In version 2, when converting from WYSIWYG to Markdown, it is working well in html, not in Markdown. Which is the problem? 🤔

Ohh you are right, there is no issue in version 2. I don't know how I noticed that wrongly 🤦 Apologizes!


fix sodium-prebuilt using updated bindingify

@Kriesse can you give this a try? This should fix the sodium errors without special casing any dependency.

@yoshuawuyts i was able to simplify this by a lot by simply only bundling our own files and sheetify, the rest is ignored 😎

this brings build times down from ~10s to ~2s on my machine!

Do module specific transforms still work tho? Not a blocker, mostly just curious

what do you mean by that?

this bypasses browserify completely for everything except our code and sheetify and its deps


Some environment variables included in .env missing in the environment

Environment data

VS Code version: 1.79.2
Jupyter Extension version (available under the Extensions sidebar): v2023.5.1101742258
Python Extension version (available under the Extensions sidebar): XXX
OS (Windows | Mac | Linux distro) and version: v2023.10.1
Python and/or Anaconda version: 3.9.13 (x86_64)
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): venv
Jupyter server running: Local | Remote | N/A

Operating System: macOS 13.4.1
db2level output from clidriver if in use:
DB21085I This instance or install (instance name, where applicable: "*") uses
"64" bits and DB2 code release "SQL11058" with level identifier "0609010F".
Informational tokens are "DB2 v<IP_ADDRESS>", "special_26260",
"DYN2301190517MAC_26260", and Fix Pack "0".
Product is installed at
"/Users/jamsden/Library/CloudStorage/Box-Box/Users/jamsden/Developer/analytics/
venv/lib/python3.9/site-packages/clidriver"
Target Db2 Server Version:
Python Version: 3.9.13
ibm_db version: 3.1.4
For non-Windows, output of below commands:
uname # Darwin
uname -m # arm64
Value of below environment variables if set:
IBM_DB_HOME:
PATH:
LIB/LD_LIBRARY_PATH/DYLD_LIBRARY_PATH:
PATH=/Users/jamsden/Library/CloudStorage/Box-Box/Users/jamsden/Developer/analytics/venv/lib/python3.9/site-packages/clidriver/bin:$PATH
DYLD_LIBRARY_PATH=/usr/local/lib/gcc/12:/Users/jamsden/Library/CloudStorage/Box-Box/Users/jamsden/Developer/analytics/venv/lib/python3.9/site-packages/clidriver/lib:$DYLD_LIBRARY_PATH
Test script to reproduce the problem.
import os
print(os.environ.get('DYLD_LIBRARY_PATH'))

For installation-related issue, complete output of pip install ibm_db command.
Steps to Reproduce:
Set the environment variable DYLD_LIBRARY_PATH in ~/.zprofile, in a .env file in the root of my project folder, or kernel.json.
start VS Code with code . from that folder
Run any simple ibm_db test program in a .py file in vscode, note that it succeeds, indicating that ibm_db is installed and configured properly
Run a similar ibm_db test within a jupyter notebook in vscode results in a kernel crash:
Cannot execute code, session has been disposed. Please try restarting the Kernel.
The Kernel crashed while executing code in the current cell or a previous cell.
Please review the code in the cell(s) to identify a possible cause of the failure. Click here for more info. View Jupyter log for further details
run the following:
import os
print(os.environ.get('DYLD_LIBRARY_PATH'))
The result is None.
Likely cause: Jupyter notebook running in VS Code is not running in a hardened runtime, or does not have entitlements
com.apple.security.cs.disable-library-validation and com.apple.security.cs.allow-dyld-environment-variables set to true. So SIP is causing all DYLD_* environment variables to be stripped. Even if you set that environment variable in the notebook, SIP prevents it from being propagated to spawned processes. This is likely causing ibm_db to crash because of the missing libraries.
Expected behaviour
import os
print(os.environ.get('DYLD_LIBRARY_PATH'))

Run in a jupyter notebook cell through VS Code should return the value of the DYLD_LIBRARY_PATH environment variable: /usr/local/lib/gcc/12:/Users/jamsden/Library/CloudStorage/Box-Box/Users/jamsden/Developer/analytics/venv/lib/python3.9/site-packages/clidriver/lib:$DYLD_LIBRARY_PATH.
Actual behaviour
print displays: None
Summary:

ibm_db runs properly in a .py program, run from the command line or in VS Code
ibm_db runs properly in a jupyter notebook run from the command line
ibm_db crashes when run in a jupyter notebook run in VS Code - because environment variable DYLD_LIBRARY_PATH environment variable is not defined, and appears to be stripped out by missing security entitlements supported in an M1 MacBook Pro.

Note that other environment variables in the .env file are defined in the jupyter notebook when the kernel is set to a virtual environment. The issue appears that any environment variable starting with DYLD_ is being stripped out. This seems to only happen on Apple silicon and may be related to entitlements somehow.

Thread appears to be too long, let's start this investigate afresh:

Please provide the workspace folder structure and where the .env file exists in relative to the workspace.

Contents of .env files

The value of python.envFile setting if it exists

Lastly, the debug logs which can help diagnose the issue:

Run Developer: Set log level command
Select Python -> Select Trace
Run Developer: Reload Window command
Provide the output:

Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)

XXX


proposal: more functional programming support in standard library

Hello everyone, recently I have written some functional-style code, and found that although function is the first class in Golang, there isn't any other functional programming support like common high level function(map, reduce, partial etc.) in Golang. Why don't we add a package in standard library just like functools in python?
I have already written a simple prototype gofunctools to show my idea.

Why should it be in the standard library?

Obligatory link: https://golang.org/doc/faq#x_in_std

@adg @bradfitz
I think this package is very basic. If the bar of standard library is high, how about adding it to Go sub-repository packages?

What's the advantage of putting it there? To get more people to use it?
Many such libraries have been written over the years, but few see much use. Why? One explanation is that to use such libraries you must sacrifice compile time type safety, one of Go's major strong points. I don't think this is the kind of Go code we want to encourage people to write.

@adg
I have already understood your meaning now. Thank you for your response.


SyntaxError: unexpected token P in JSON at position 1.

How can I tackle this error?

You should fix your Hydrogen config

I'm a newbie. How do I find the config to fix it? Some guidance much appreciated. Thanks.

The startup code is incorrect. You should quote it
"*":
  Hydrogen:
    startupCode: "{\"Python 3\": \"%matplotlib inline\"}"
  core:
    disabledPackages: [
      "spell-check"
      "linter"
    ]

Thanks, with the slashes too? ""?

Yes. This is a JSON object. So " should be quoted with slash when used inside another "


useBreadcrumbItems only returns items with label: "Slug"

Describe the bug
Using the useBreadcrumbItems composable returns the items with the correct to and current property, however every label and ariaLabel now says "Slug". This can even be seen on the site of the package itself;

Reproduction
https://nuxtseo.com/nuxt-seo/api/breadcrumbs#demo
System / Nuxt Info
No response

Hi, thanks for the issue. I'm in the middle of quite a big refactor of the docs and migrating the breadcrumbs to the newly renamed nuxt-seo-utils.
If you need a fix please see that repo otherwise will try and land it asap.

Agreed, thanks for investigating. I've pushed up a fix in nuxt-seo-utils which will be released soon.


energy board

I want to buy this board。

I want buy one board.

hi guys,
U can send buy request to<EMAIL_ADDRESS>quantity etc.


our closure syntax comes from Ruby

At least I think it does? @steveklabnik can probably confirm.

It was created before I started, but smalltalk/ruby are clear influences, yeah:
// Rust, redundant {}s added for clarity
let sum = |a, b| { a + b };

// Ruby
sum = {|a, b| a + b };

// Smalltalk
sum := [ :a :b | a + b ]

Well I mostly wrote this because (a) I wondered before "why this strange closure syntax in Rust", and (b) Ruby looked a little sad in that list with its only contributed stroked through. ;)


Fixed missing newlines at end of file

AFNetworking.h and UIWebView+AFNetworking.h are missing newlines at the end of the file. It is best practice for these files to end with a newline and it is especially problematic for projects that enable "Warnings as Errors".

T