Hyprland crashes on startup

Hyprland Version
 System/Version info
<Paste the output of the command here>

I can't run the command "hyprctl systeminfo". This sysinfo was picked from log file.
System info:
System name: Linux
Node name: styunlen-s-laptop
Release: 6.8.9-arch1-2
Version: #1 SMP PREEMPT_DYNAMIC Tue, 07 May 2024 21:35:54 +0000
GPU:
00:02.0 VGA compatible controller [0300]: Intel Corporation Meteor Lake-P [Intel Arc Graphics] [8086:7d55] (rev 08) (prog-if 00 [VGA controller])
os-release:
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo
My devices:
CPU: Intel Ultra 7 155H(22) @ 4.5GHz
GPU: Intel Arc Graphics
kernal: 6.8.9-arch1-2

Bug or Regression?
Bug
Description
I installed hyprland from building the souce.
And I was firstly installed a new arch system into my laptop, after then I installed hyprland. When I finished this, I type Hyprland to start it, then it crashes with logs below.
I tried to use root to start it, it worked. I can't figure out why I can't use my own account to start it without errors.
How to reproduce
Build from source and start directly after newly install the arch
Crash reports, logs, images, videos

Hyprland Crash Report
Oops
Hyprland received signal 6(ABRT)
Version: b6a7fb9e9125e56bf742f68e0ec46f52d5c34f4c
Tag: v0.40.0-61-gb6a7fb9e
System info:
System name: Linux
Node name: styunlen-s-laptop
Release: 6.8.9-arch1-2
Version: #1 SMP PREEMPT_DYNAMIC Tue, 07 May 2024 21:35:54 +0000
GPU:
00:02.0 VGA compatible controller [0300]: Intel Corporation Meteor Lake-P [Intel Arc Graphics] [8086:7d55] (rev 08) (prog-if 00 [VGA controller])
os-release:
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo
Backtrace:
# | Hyprland(_Z12getBacktracev+0x46) [0x5da36b37b356]
getBacktrace()
??:?
#1 | Hyprland(_ZN13CrashReporter18createAndSaveCrashEi+0xa85) [0x5da36b2e3855]
CrashReporter::createAndSaveCrash(int)
??:?
#2 | Hyprland(_Z25handleUnrecoverableSignali+0x5c) [0x5da36b264acc]
handleUnrecoverableSignal(int)
??:?
#3 | /usr/lib/libc.so.6(+0x3cae0) [0x7f5b83650ae0]
??
??:0
#4 | /usr/lib/libc.so.6(+0x94e44) [0x7f5b836a8e44]
??
??:0
#5 | /usr/lib/libc.so.6(gsignal+0x20) [0x7f5b83650a30]
??
??:0
#6 | /usr/lib/libc.so.6(abort+0xdf) [0x7f5b836384c3]
??
??:0
#7 | /usr/lib/libstdc++.so.6(+0x97b0c) [0x7f5b83897b0c]
??
??:0
#8 | /usr/lib/libstdc++.so.6(+0xadf1a) [0x7f5b838adf1a]
??
??:0
#9 | /usr/lib/libstdc++.so.6(_ZSt10unexpectedv+0) [0x7f5b8389750a]
??
??:0
#1 | /usr/lib/libstdc++.so.6(+0xae1d6) [0x7f5b838ae1d6]
??
??:0
#11 | Hyprland(+0x11e4e4) [0x5da36b1d34e4]
throwError(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) [clone .cold]
MiscFunctions.cpp:?
#12 | Hyprland(_ZN11CCompositor10initServerEv+0x44b) [0x5da36b275f0b]
CCompositor::initServer()
??:?
#13 | Hyprland(main+0xa25) [0x5da36b228925]
main
??:?
#14 | /usr/lib/libc.so.6(+0x25c88) [0x7f5b83639c88]
??
??:0
#15 | /usr/lib/libc.so.6(__libc_start_main+0x8c) [0x7f5b83639d4c]
??
??:0
#16 | Hyprland(_start+0x25) [0x5da36b264955]
_start
??:?
Log tail:
[LOG] Release: 6.8.9-arch1-2
[LOG] Version: #1 SMP PREEMPT_DYNAMIC Tue, 07 May 2024 21:35:54 +0000
[LOG] GPU information:
00:02.0 VGA compatible controller [0300]: Intel Corporation Meteor Lake-P [Intel Arc Graphics] [8086:7d55] (rev 08) (prog-if 00 [VGA controller])
[LOG] os-release:
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo
[LOG] ========================
[INFO] If you are crashing, or encounter any bugs, please consult https://wiki.hyprland.org/Crashes-and-Bugs/
[LOG]
Current splash: Take on me, take me on...
[LOG] Creating the EventLoopManager!
[LOG] Creating the HookSystem!
[LOG] Creating the ProtocolManager!

[LOG] TextInputV1Manager started successfully!
[LOG] GlobalShortcutsManager started successfully!
[LOG] ScreencopyProtocolManager started successfully!
[LOG] Creating the KeybindManager!
[LOG] Creating the AnimationManager!
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 21.11µs. Estimated average calc time: 0.00µs.
[LOG] Creating the ConfigManager!
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 11.57µs. Estimated average calc time: 0.00µs.
[LOG] Using config: /home/styunlen/.config/hypr/hyprland.conf
[INFO] !!!!HEY YOU, YES YOU!!!!: further logs to stdout / logfile are disabled by default. BEFORE SENDING THIS LOG, ENABLE THEM. Use debug:disable_logs = false to do so: https://wiki.hyprland.org/Configuring/Variables/#debug
[LOG] Creating the CHyprError!
[LOG] Creating the LayoutManager!
[LOG] Creating the TokenManager!
[LOG] [hookSystem] New hook event registered: preConfigReload
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 6.24µs. Estimated average calc time: 0.00µs.
[LOG] Using config: /home/styunlen/.config/hypr/hyprland.conf
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 5.61µs. Estimated average calc time: 0.00µs.
[LOG] Disabling stdout logs! Check the log for further logs.
[LOG] Creating the PointerManager!
[libseat] [libseat/backend/logind.c:317] Could not activate session: Permission denied
[libseat] [libseat/libseat.c:79] No backend was able to open a seat
[backend/session/session.c:83] Unable to create seat: Function not implemented
[backend/session/session.c:248] Failed to load session backend
[backend/backend.c:79] Failed to start a session
[backend/backend.c:407] Failed to start a DRM session
[CRITICAL] m_sWLRBackend was NULL! This usually means wlroots could not find a GPU or enountered some issues.
[CRITICAL] Critical error thrown: wlr_backend_autocreate() failed!

[libseat] [libseat/backend/logind.c:317] Could not activate session: Permission denied
[libseat] [libseat/libseat.c:79] No backend was able to open a seat

seatd or logind not configured properly/present

export LIBSEAT_BACKEND=logind ?

export LIBSEAT_BACKEND=logind ?

I know the reason. Only the tty session's owner can start hyprland. Others is not permitted. I logged with root then su to my account. My fault QAQ.


fix: goToPage of Tabs

https://github.com/GeekyAnts/NativeBase/issues/181

@sanketsahusoft Take a look on this, plz

@NazarYablonskiy Do you have a use-case example for the same?

@sanketsahusoft I'm sorry. I don't understand your question. What do you mean?
In my app I need to change a page programmatically. I made a small changes to make possible to do that.

@NazarYablonskiy How do you use this feature? I am asking for an example so that we can document this.

import React, {Component} from 'react';
import {Tabs, Text, View} from 'native-base';

export default class MyComponentWithTabs extends Component {

  someEventHnadler() {
    this._tabs.goToPage(0); //
  }

  render() {
    return (
      <Tabs ref={(c) => {this._tabs = c;}}>
        <View tabLabel="Tab 1">
          <Text>Tab 1</Text>
        </View>
        <View tabLabel="Tab 2">
          <Text>Tab 2</Text>
        </View>
      </Tabs>
    );
  }
}

Thanks a lot @NazarYablonskiy !

Thanks for this, but i have a rather different case though, the above code works when the button link to navigate is in the same component as the tab, but i have a button link inside another component called from the main tab component. Please how do i bind this to work. thanks

someEventHnadler() {
this._tabs.goToPage(0);
}

TypeError: Cannot read property 'goToPage' of undefined
this is my button onPress :
onPress={this.TabChangeHnadler() }


(maint) improve manpage

This improves the facter manpage to fix parsing errors due to the missing short description in the NAME section, makes the formatting consistent with most other manpages, and updates the DESCRIPTION section using the one in the project's README, which is more useful this context.

Can one of the admins verify this patch?

Oh I see there's also an ERB template involved, so this needs some extra work.

Thanks @jcharaoui Could you update this template https://github.com/puppetlabs/facter/blob/07a7a8c4d8076ba19f4564cfb2d3896bedf515b9/lib/facter/templates/man.erb instead? There's also a rake task to regenerate the man page. Thanks!

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

Hi @jcharaoui could you rebase on main and update the erb template? Also I think we do want to keep the \fBfacter\fR in the name so that it's bold in the man output. Thanks!

Hi @jcharaoui could you rebase on main and update the erb template? Also I think we do want to keep the \fBfacter\fR in the name so that it's bold in the man output. Thanks!

Done and done!

Thank you @jcharaoui!


Updated tracker to version 3.0 and added consent mode

At the moment the MatomoPhpTracker uncontrollably sets normal cookies on the first page view. Due to the recent restrictions of cookies both technically and regulatory it makes sense to add more consent functionality to this plugin. A consent mode was added to deactivate cookies completely as well allow cookies to be set with secure and httpOnly flags to make them more resistant against ITP 2.3.

Tested ok. Adding into v1.0.3 in progress. Thanks @DavidHemmerle.

Tested ok. Adding into v1.0.3 in progress. Thanks @DavidHemmerle.


Change nginx template to accommodate long aws url

Getting the following nginx error when running ./install_xnat.sh in xnat-aws repo
nginx: [emerg] could not build server_names_hash, you should increase server_names_hash_bucket_size: 64
nginx: configuration file /etc/nginx/nginx.conf test failed
nginx.service: Control process exited, code=exited, status=1/FAILURE

The url is too long so don't know if it's possible to make it shorter
xnat_web_url = "http://ec2-18-171-61-42.eu-west-2.compute.amazonaws.com"
OR
adding server_names_hash_bucket_size  128; to the http block within /etc/nginx/nginx.conf which worked when manually changing it on the server

The url is too long so don't know if it's possible to make it shorter
xnat_web_url = "http://ec2-18-171-61-42.eu-west-2.compute.amazonaws.com/"

I think to make it shorter you'd need to assign a domain name, rather than use the server name directly, so would be an AWS configuration.

adding server_names_hash_bucket_size  128; to the http block within /etc/nginx/nginx.conf which worked when manually changing it on the server

I'm not sure what the downside would be to having an unnecessarily long server_names_hash_bucket_size on our production instances. Could you make it so that the default is the original value, and we can override with a variable?

This has been resolved in the xnat-aws repo so going to close this PR


Mixed architectures in image

Bug description
Mixed arch in image
Expected behavior
One arch (the named one) in image
Steps to reproduce the issue:
Hm... it seem like the arm container has a mixed archs:
pi@raspberrypi3:[/tmp]$ lscpu | grep Arch
Architecture:        armv7l
pi@raspberrypi3:[/tmp]$ docker run -it portainer/portainer:1.24.1-alpine
2020/10/30 00:18:49 Warning: the --template-file flag is deprecated and will likely be removed in a future version of Portainer.
2020/10/30 00:18:51 server: Reverse tunnelling enabled
2020/10/30 00:18:51 server: Fingerprint 0f:8b:e2:14:d1:a7:24:c3:cb:80:d6:30:3a:69:f7:44
2020/10/30 00:18:51 server: Listening on <IP_ADDRESS>:8000...
2020/10/30 00:18:51 Starting Portainer 1.24.1 on :9000
2020/10/30 00:18:51 [DEBUG] [chisel, monitoring] [check_interval_seconds: 10.000000] [message: starting tunnel management process]
pi@raspberrypi3:[/tmp]$

Ok, so the portainer binary works but the shell doesnt:
pi@raspberrypi3:[/tmp]$ docker run -it --entrypoint=/bin/sh portainer/portainer:1.24.1-alpine
standard_init_linux.go:211: exec user process caused "exec format error"

But what arch is the shell of?
pi@raspberrypi3:[/tmp]$ docker create  portainer/portainer:1.24.1-alpine
da31724d22480a26a69de6460f38192b03744fc62e45fdeac9a304f9b3746674
pi@raspberrypi3:[/tmp]$ docker cp da31724d22480a26a69de6460f38192b03744fc62e45fdeac9a304f9b3746674:/bin/busybox .
pi@raspberrypi3:[/tmp]$ file busybox
busybox: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-musl-x86_64.so.1, stripped
pi@raspberrypi3:[/tmp]$

Ahh its x64 :(
Technical details:

Portainer version: see above
Docker version (managed by Portainer):  19.03.13, build 4484c46
Platform (windows/linux): Linux raspberrypi3 5.4.51-v7+ #1333 SMP Mon Aug 10 16:45:19 BST 2020 armv7l GNU/Linux
Command used to start Portainer (docker run -p 9000:9000 portainer/portainer): see above
Browser: N/A

Relates to: https://github.com/portainer/portainer/issues/4401

See my comment https://github.com/portainer/portainer/issues/4401#issuecomment-719099408 about this one. I don't think it's related to Portainer but to the Alpine container instead.
Could be worth testing other alpine based images.

added comments in #4401

Following the comments in https://github.com/portainer/portainer/issues/4401#issuecomment-719101583
I was actually talking about other images based on Alpine outside of Portainer :-) Like nginx:alpine maybe ?
And no, we're not using buildx to build our images at the moment.

Yeah, sure, other containers work just fine:
pi@raspberrypi3:[/tmp]$ docker run -it eclipse-mosquitto /bin/sh
/ # cat /etc/issue
Welcome to Alpine Linux 3.12
Kernel \r on an \m (\l)

/ #

And most notably:
pi@raspberrypi3:[/tmp]$ docker run -it alpine:3.12.1
/ #

Anything new about this?

@milkpirate I wasn't able to investigate this sorry.
cc @itsconquest as it's something we need to update in our release/CI pipeline.

this is likely resolved now, with the change of our build process to buildx. you will be able to validate when we release CE 2.1

this is likely resolved now, with the change of our build process to buildx. you will be able to validate when we release CE 2.1

Ticket update by Anthony McMahon<EMAIL_ADDRESS>Closing ticket - github issue will remain open

Ticket update by Anthony McMahon<EMAIL_ADDRESS>Closing ticket - github issue will remain open

Closing this issue as it should be solved in the next release.

Closing this issue as it should be solved in the next release.


Working with modules and external packages

I want to be able to work with the ES6 module syntax when loading external packages, for example:
I want to import angular (Version 1.4, not the TypeScript version), and use the angular.d.ts to be able to get the definitions.
How should I do it?

TypeScript does not bundle Angular code with it. so there is no version dependency here. you can find Angular 1.* definitions on definitelyTyped: https://github.com/borisyankov/DefinitelyTyped/tree/master/angularjs
you can also use tsd to search, download and update your .d.ts in general.


Heron native mesos scheduler

Add heron native mesos scheduler and unit tests.
This scheduler aims to help people get started with heron on mesos; it is not for production.
It has a lot of concerns, for instance, not fully fault tolerant, not scalable, etc.
In this implementation, heron would start the MesosFramework as a background process on the host doing submission, communicate
with mesos master directly and do the actual scheduling. So:

It assumes the host for submission is in the same network as mesos cluster.
It assumes the heron mesos scheduler is long running.

The heron mesos scheduler would re-schedule any failed executors. But if the heron mesos scheduler fails due to any
unexpected reasons, it would not get recovered and the whole topology would halt.

@maosongfu - why the claim that it is not scalable? I understand the fault tolerance aspect of it but not sure the scalability part of it.

@kramasamy
Scalability can be considered from different point of views. For instance, this scheduler would not cache offer, which means it may take a long time to schedule a big topology, since the tasks need to be scheduled one by one.

@maosongfu - however when the job is scheduled, it knows upfront the number of containers and the resources it requires. As Mesos keeps giving those offers, we could grab those resources and schedule containers.

@kramasamy
Consider Mesos keeps giving offers slowly, it will take a long time to receive enough offers to fully schedule a big topology. Also, it is just one case. There are still a lot of potential improvement for scalability.

Sounds good to me. Let us wait until @ashvina takes a look at it.

LGTM 👍

@maosongfu - can we move this scheduler to contrib directory since it is experimental and also does not cover fault tolerance?

@kramasamy It is not experimental; it is a scheduler aiming at getting started, similar to LocalScheduler. Should we also move all schedulers to contrib/ directory? Or we may create a new repo called: heron-schedulers, similar to storm or presto? since they are all on top of heron.

one of the model that we discussed was the possibility of using a contrib directory - the code is allowed to check into the directory especially those are experimental / getting started. once they attain production quality, we move that code from contrib to main directories. This will allow for faster iteration in contrib rather than the PR waiting to be merged for a long time. This is a model that is followed in other open source projects such as Hadoop.
Looks like a good idea IMO.

@kramasamy
On the one hand, Hadoop may not be a good example to follow; people always complain its huge mono-repo. For more current github projects, for instance, presto, they would like to split them into small sub repos, making each one clear.
On the other hand, looking at some popular open source projects, I could not see “contrib” folder: jQuery, MongoDB, Redis, Puppet, Ruby on Rails, Jenkins. Django has a contrib folder and the role of folder is already explained here: https://docs.djangoproject.com/en/dev/ref/contrib/
Django aims to follow Python’s “batteries included” philosophy. It ships with a variety of extra, optional tools that solve common Web-development problems.

This code lives in django/contrib in the Django distribution. This document gives a rundown of the packages in contrib, along with any dependencies those packages have.

So, I am not convinced by the point that contrib folder is for experimental / getting started. I think it is more for tools building on top of the core part.
To summarize, it can be a good idea to move all scheduler-implementations and similar things to an individual repo (to an individual folder is debatable). But whether to move them bases on the nature of those projects, rather than the quality of those projects.

@kramasamy @maosongfu
I agree with @maosongfu now. I had a couple of conversations with some OSS developers here. A contrib directory is primarily used for "add-on" features. For e.g. scripts and tools for debugging. There are a few projects where the contrib directory is used for un-important and un-supported code. However that may result in hard to manage "trash" and may be discouraging for new contributors. A scheduler implementation is core to Heron. So I think the Mesos scheduler should be added to core.
However, I am not sure how to manage "not-for-production" contributions. A experimental feature may starve for users if left in its own branch. So I would prefer merging them in master. But how will a user know if he is using a experimental feature? Should we print a warning on the console.
With respect to this patch, I think a few minor issues are pending in addition to fault tolerance cases. Also, I may not be able to deploy and test this on a mesos cluster.

The scheduler code seems fine now. There are a few TODO items. Are you planning to create issues to help track them?

@kramasamy @maosongfu
I have one orthogonal question related to the Mesos scheduler. Apache REEF seems to support Mesos also. The YARN scheduler is based on REEF. I think a lot of code can be reused if we developed a Mesos Scheduler based on REEF. What do you think about it? I can give it a shot if you'd like.

@ashvina
Issue created: #1077
I also heard about that Apache REEF supports Mesos also. But I could not find enough documentation or status on that. It would be great if we can make heron run on Mesos basing on REEF at production quality. Just don't know how hard it is or how long it will take.

@ashvina @kramasamy @nlu90
Any more concerns I need to handle beforing merging this pull request?

@maosongfu @ashvina - I am fine with getting Mesos to the core rather than being contrib. As a policy we can adapt the following (LMK if this is ok)

contrib directory will contains features/debugging tools/other software that are addons to heron
core software will continue to be developed in the master and can reside on their own branches/forks until it attains quality before merging into master

Any other items that is not covered by these two?

@ashvina - Regarding Mesos on Apache REEF, we are good if the project supports it and to some extend proved in production. The key aspect with Mesos is the fault tolerance - Mesos has one way of doing this.


Redirect to '/notfound' pushes to browser history resulting in an infinite loop

Navigating to a page which doesn't exist automatically redirects to the path '/notfound' which is the intended behavior. But because v0.1.17 uses the default .navigate() function (using window.pushState()) to go to '/notfound' it also updates the history resulting in something like this:

/originalpage
/wrongURL
/notfound <- you are here

The above history renders the default browser back function useless as returning to the non-existent '/wrongURL' instantly redirects you to '/notfound' again. You'd have to go back two history items to end up on the page you were coming from.

Proposed solution
Using .window.replaceState() would replace the URL '/wrongURL' with '/notfound' instead of creating a separate history entry, thus, restoring the browser navigation. Keep in mind though that .replaceState() won't refresh the page automatically iirc. But I'd assume you already update everything manually anyway.

related to https://github.com/svelteuse/router/issues/16


version 0.11.1

@Nercury, I suppose #52 is important one to make new release,
can you approve my PR?

Thanks!


[GOBBLIN-1847] Exceptions in the JobLauncher should try to delete the existing workflow if it is launched

Dear Gobblin maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[X] My PR addresses the following Gobblin JIRA issues and references them in the PR title. For example, "[GOBBLIN-1847] My Gobblin PR"

https://issues.apache.org/jira/browse/GOBBLIN-1847

Description

[X] Here are some details about my PR, including screenshots (if applicable):
If the JobLauncher encounters any errors, Gobblin code cleans up the working directory that contains Gobblin state. But we do not clean up the helix workflows. This can cause us to spin up helix workflows that do not have valid Gobblin State on HDFS / S3.

When this occurs, it causes rapid container recycling, which puts tremendous load on Zookeeper due to Helix API calls, causing a peak in ZK callbacks

The cancellation logic is obnoxious, so here is the high level of what happens.

Calling AbstractJobLauncher#cancelJob(JobListener) sets AbstractJobLauncher#cancellationRequested to true
This causes the AbstractJobLauncher#cancellationExecutor created by the AbstractJobLauncher#startCancellationExecutor() method to call the abstract method AbstractJobLauncher#executeCancellation()
That method implemented in GobblinHelixJobLauncher#executeCancellation(), which eventually calls HelixUtils.cancelWorkflow(...)

Considerations

I considered modifying the runWorkunits itself since that is where the cleanup directory is called. But I wanted to leverage the existing the cancellation request logic (which is admittedly super overkill and has a ton of concurrency). We also collect a ton of metrics during the cancellation process, so it's important that I call the cancel method that is part of the AbstractJobLauncher. Since we need access to the job listener, it makes most sense to have it be part of the launchJob method

The reason I clean up even when there is a successful finish, is because there isn't really a reason not to cancel a workflow to run after the job is finished for Fast Ingest. The cancel call is safe to call multiple times and there are clearly still edge cases where we don't call cancel properly

I am not a fan of adding a new flag, but I want to maintain backward compatibility since this job launcher is used beyond Fast Ingest

Testing

[X] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

[X] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Codecov Report

Merging #3711 (7c42987) into master (fc508ca) will decrease coverage by 2.14%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master    #3711      +/-   ##
============================================
- Coverage     46.87%   44.73%   -2.14%
+ Complexity    10771     2098    -8673
============================================
  Files          2138      411    -1727
  Lines         84139    17737   -66402
  Branches       9357     2163    -7194
============================================
- Hits          39436     7934   -31502
+ Misses        41102     8943   -32159
+ Partials       3601      860    -2741

Impacted Files
Coverage Δ

...bblin/cluster/GobblinClusterConfigurationKeys.java
0.00% <ø> (ø)

...pache/gobblin/cluster/GobblinHelixJobLauncher.java
66.54% <100.00%> (+0.38%)
:arrow_up:

... and 1734 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[CSI] Keystone token expires during long lasting request.

What happened:
Attaching and detaching fails when token expires just after request is made.
This happens because gophercloud only reauthenticates when token is expired and it gets 401 as result. This causes problems because older Openstacks uses user token for their internal requests. With newer openstacks (i.e Pike) this will not happen as they generate service token for those long lasting requests so that expiration of user token will not cause failures.
( More info https://github.com/gophercloud/gophercloud/issues/459 )
What you expected to happen:
For at least attach and detach commands should generate new token so that it would not expire during Openstack is making attach or detach.
Something like this might work.
provider, err := CreateOpenStackProvider()
if err != nil {
   return err
}
err = volumeattach.Delete(provider.(*OpenStack).compute, instanceID, volume.ID).ExtractErr()

It is a bit hack as we only need new compute client and nothing else.
Best fix would be that we would have way to get new compute client for those long lasting requests. For example we could store the openstack client in openstack struct and then it would have function to create new clients on demand. Or we could just scrap the reusing of clients and create new client every time we need to communicate to the openstack.
How to reproduce it (as minimally and precisely as possible):
Have a older openstack and run attaching and detaching over long period of time so that there commands hit the token expiration.
Anything else we need to know?:
Most likely snapshot functions will have this same issue as it might take a long time to complete them.
/kind bug

Just to confirm, the problem only occurs < openstack PIke release(no service token phase), correct?

This can actually happen in any openstack version, as not even the newer ones force the usage of service tokens. Quite many vendors even specifically set it off. It is only that in Pike or higher versions is is possible to fix this with configuring nova and cinder to use service tokens.

@mape90 can you reproduce the issue with the new gophercloud version? https://github.com/gophercloud/gophercloud/pull/1746

I have not seen this issue for long time. So I think we can close this and if we see similar issues I can open new ticket.

Actually this is still relevant as old openstacks still use user token for their internal authentication. So new gophercloud will not help as is is designed to only reauthenticate when token expires.
Only safe way to fix this is to make new client for every detach action. So that they will have long lasting token. This might also be optional thing so that only when you are working with old openstack cluster you would need this option and in other systems you would not need to create these extra clients as openstack would not be reusing these user tokens.


fix installation issue - remove bin script

Fix this installation issue on npm 3:
npm ERR! Darwin 15.0.0
npm ERR! argv "node" "/usr/local/bin/npm" "i" "level-replicator" "--save"
npm ERR! node v0.12.7
npm ERR! npm  v3.3.3
npm ERR! path /Users/jose/Projects/oss/limitd/node_modules/level-replicator/bin/server.js
npm ERR! code ENOENT
npm ERR! errno -2

npm ERR! enoent ENOENT, chmod '/Users/jose/Projects/oss/limitd/node_modules/level-replicator/bin/server.js'
npm ERR! enoent This is most likely not a problem with npm itself
npm ERR! enoent and is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/jose/Projects/oss/limitd/npm-debug.log

Since this module doesn't have a bin/server.js.

oops it seems there is another PR

+1


Revert "fix: only use lang if it's found (#9)"

This reverts commit d741ccb655f253c9498baa9d4d76bb4538b2e3ed.
Doing some tests before publishing a new version including this change, I notice that when the application load,getLangs always return an empty array if addLangs is not explicitly called first (at least using TranslateHttpLoader). And since this condition (this.translateService.getLangs().includes(currentLang)) will be always false in that case, the cached language is never user. That defeat the purpose of this library.
Alternatively, we could use getTranslation instead of getLangs to determine if the language is available; but due to the asynchronous nature of the getTranslation method, the default language will load before that of the cache, causing the translated text to blink.

I believe the proposal in #10 would take care of this


Fix file-loader URLs to work on subpaths.

This fix allows to deploy storybook to subpaths
like in GitHub pages without any configuration.
This requires the use of require() to load images. But you should use relative URLs if you are using static directories.

Fix #382


Finishing clean installation

Finishing installation as per
https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/

I'm really sorry. I messed up in the git settings and committed on the wrong repo.


Create quick-create deployment for Cloudformation scripts

Feature to add 1 click deployments for the CloudFormation scripts for the VPC, Batch and S3.
https://github.com/aws-samples/awsome-distributed-training/tree/main/1.architectures
Quick create reference:
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stacks-quick-create-links.html

Hi @perifaws,
Good Day!
I see the quick-create link has not been created for aws-batch yet. Could you assign this to me?
Thanks,
Suraj

Hey @SurajpratapsinghSayar , done for this issue. Let me know if you prefer an issue specific to Batch. Thanks!

@perifaws sure I would like to work on it. Also, I will need some guidance. Thanks!!


Struggling to get 80 sps

Hi Olav,
Is the HX711 really able to provide 80 sps ?
I soldered the two pins on the back of the board together.
I wrote a code with an interrupt on the DOUT pin and another code using micros() function.
I get the same value several times so it creates a curve with aliasing.
I also tried the code you wrote in the issue #25.
I get a curve without aliasing but with much less SPS.
Regards,
Yves

Yes, it should. I just did a test now using interrupt on dout with 80SPS enabled. Each conversion was about 10870us, so almost 92SPS. On my module the high rate is enabled when the solder jumper is un-bridged, but it might be different on yours. You can check this by measuring the voltage on HX711 pin 15 (the RATE pin ref data sheet), at high rate it should be same as the supply voltage.

Thank you for your advice.
I will try this.

It worked thank you !
The bridge was by default on the board.
I had to cut the circuit.

Great!

BTW; If you are interrested in faster operation, it's possible to connect an external oscillator, i.e. a 20mhz x-tal to pin 13 and 14 on the HX711 with 20pf caps to gnd. This will incresase the sample rate to about 18SPS at low rate and 144SPS at high rate. To disable the internal oscillator pin 14 has to be disconnected from from VCC by lifting the pin of the pcb pad using a solder iron. A bit difficult, but possible with tweezers and magifier.

Thank you for the advice. I will keep it in mind.
Does it have drawbacks ? for example on accuracy ?

I don't think so, at least there is no drawbacks mentioned in the data sheet.

great thank you !

Hi Olav,
I am planning on buying a crystal as you suggested.
The only frequence that I found that gets an accurate sampling and which is over my need is 22,1184 MHz.
22,1184 x1000 / 138,240 = 160 SPS
I found a quartz with this frequency and 20 pF but it's SMT type.
I found another (not SMT) but with 18 pF.
Is it a problem if you don't have an accurate sampling or if you have 18pF instead of 20pF ?
Also, is the capacitor integrated to the oscillator or do you have to connect one ?
Regards,
Yves

Hi Yves!
The sample rate does not need to be a whole number ea second, a 20mhz crystal will give you a sample rate of about 144,67 SPS, and that will be fine, timing is not critical. Changing the sample rate with a crystal does not really affect the measurement accuracy, but the overall performance (settling time etc) will be better with a i.e. 20mhz crystal as you will have a more samples to work with within the same time.
A 2-pin crystal does not have internal caps, you must connect caps from ea pin to ground, 18, 20 or 22 pF will usually work for a 20mhz crystal, it's not that critical. For a crystal with more than 2 pins, check the data sheet.
Olav

Thank you very much !
20mhz is enough for me.
There is one last thing I don't get. Where is the capacitor on your picture ?

Hi, the two 0805 smd caps that I used is soldered 'end to end' in between the crystal pins. The white wire is to ground.

Ok I get it, thank you !

Hi Olav,
Is the HX711 really able to provide 80 sps ? I soldered the two pins on the back of the board together. I wrote a code with an interrupt on the DOUT pin and another code using micros() function. I get the same value several times so it creates a curve with aliasing. I also tried the code you wrote in the issue #25. I get a curve without aliasing but with much less SPS.
Regards, Yves

Hy Ives,
What code did you implement to get the 80SPS operation? I can see you mention the interrupt functions
Regards Juan

Having more samples wouldn't necessary increase accuracy even with averaging.
Has someone measured on the HX711? On the ADS1232 it seems that SNR is worse with 80SPS even with 8x Averaging (https://gitlab.com/jousis/espresso-scale/-/blob/master/Hardware/Documents/RF_Filter_Tests.xlsx)
There is a fixed noise with every readout and Signal to Noise can be better if you'd let the Signal accumulate for 1 sec rather than taking 8 readings within one second and then averaging.
(Averaging 8x with 80SPS would improve SNR with square root of averages, whereas at 10SPS signal just adds up over 1 sec)

This is well known, and in the ReadMe file for this library I advise to use 10SPS unless very fast sampling rate is needed. I think the 10SPS setting is most likely just the 80SPS with internal 8x oversampling.
But I don't think the point here was to improve accuracy but rather to get a fast as possible response time, perhaps for a game controller or something else that need a fast sampling rate more than accuracy.


Please invite me to the GitHub Community Organization

Please invite me to the GitHub Community Organisation.

Name:

Jayant Goel

Discord Username(if exists):

Additional Context:

Github

To become an amazing developer and contribute toward open source

You're welcome @JayantGoel001

You're welcome @JayantGoel001

Thanks @chryzcodez 😁


require normalize before all other CSS

if there is any CSS in application.css, or if application.css is instead application.css.scss and it has @includes, then without this change, normalize will end up not being first.

@markmcconachie thoughts?

Sorry for the slow reply. Yes you are right. :) thanks @jjb jjb


add about accounts

github (including setting up ssh keys), readthedocs, travis, coveralls...

Good point, it is on my desk, taking it.


Add local-testnet celotool command

Description
This PR creates a command to spin up a number of geth validators, tx-nodes and light clients on your local computer. It's been quite useful to develop other changes.
Tested
Not thoroughly tested
Other changes

Add repository option to e2e test configs

Related issues

Related https://github.com/celo-org/celo-monorepo/issues/1691

Backwards compatibility
No effect on  backwards compatibility

also related to #1807


Service call to netro watering service returns control before watering completes.

I'm not sure if this is an issue or the way it's supposed to work by design.  I have an automation where I water one zone for 1 minute then water a different zone for 1 minute.  In the trace, the automation turns on the first zone and then 6 seconds later moves to the second zone (thus shutting down the first zone almost as quickly as it started.) it then runs the 2nd zone and moves on a few seconds later to the next step in the automation.  As that last step isn't a netro call - the second watering is allowed to continue.
I can get around this by setting the duration of the zone watering to 1 minute, then pausing the automation for 1 minute, and then watering the second zone. The work-around is simple - I'm just not sure if the service is supposed to work this way?
In case you are wondering why I would ever do this - I have 2 zones where the ground is slow to absorb water and most water runs off.  I want to water it for 1 minute, let is soak in for a minute and then water it again for a minute.  I'll put this in a loop to repeat about 15 times.  During the minute that I'm letting the water soak in, I'm watering the other zone for 1 minute (on and off).
Below is my test script - and attached is a screen shot of the trace.
alias: Netro - watering test
description: Test netro watering services
trigger: []
condition: []
action:

service: netro_watering.start_watering
data:
duration: 1
target:
entity_id: switch.netro_1_front_right_spruce_start_stop_watering
service: netro_watering.start_watering
data:
duration: 1
target:
entity_id: switch.netro_4_front_left_birch_start_stop_watering
service: light.toggle
data: {}
target:
entity_id: light.master_bedroom_wall_switch_plug
mode: single

I'm not sure if this is an issue or the way it's supposed to work by design. I have an automation where I water one zone for 1 minute then water a different zone for 1 minute. In the trace, the automation turns on the first zone and then 6 seconds later moves to the second zone (thus shutting down the first zone almost as quickly as it started.) it then runs the 2nd zone and moves on a few seconds later to the next step in the automation. As that last step isn't a netro call - the second watering is allowed to continue.
I can get around this by setting the duration of the zone watering to 1 minute, then pausing the automation for 1 minute, and then watering the second zone. The work-around is simple - I'm just not sure if the service is supposed to work this way?
In case you are wondering why I would ever do this - I have 2 zones where the ground is slow to absorb water and most water runs off. I want to water it for 1 minute, let is soak in for a minute and then water it again for a minute. I'll put this in a loop to repeat about 15 times. During the minute that I'm letting the water soak in, I'm watering the other zone for 1 minute (on and off).

Yes this is by design for sure:  requesting for an immediate irrigation of a zone should actually stop any on-going irrigation on another one, assuming that two zones cannot be watered at the same time. One could have imagined a queuing of requests but apparently this is not the expected behavior.
Luckily there is a simple way to do it the way you want. You should use the delay parameter of the watering service as illustrated below.
service: netro_watering.start_watering
data:
  duration: 1
  delay: 2
target:
  entity_id: switch.well_start_stop_watering

So, you can, when running your automation, schedule

the first watering right now for one minute to zone "z1"
the next watering in one minute for one minute to "z2" and so on...
the last watering in "n" minute for one minute to "zp"

The more elegant manner probably is to make a loop along your switches. Something like:
repeat:
  for_each:
    - well
    - indian_lilac
    - weeping_willow
  sequence:
    - service: netro_watering.start_watering
      data:
        duration: 1
        delay: repeat.index
      target:
        entity_id: "switch.{{ repeat.item }}_startstop_watering"

I guess it is better than being slept during in between the different watering phases.

The last option has an issue for me in that I only am watering 1 or 2 zones in this manner - not all of them.  I prefer the one you describe as the "more elegant"  :-)  However, I have 2 zones and I want to water 1 zone of 1 minute then the second zone for 1 minute - and repeat that sequence 15 times.  I suppose I could embed this code in another repeat loop (nested repeat loops).
Currently I am still using my code with the sleep function.  My reason for that was I am unsure how many water/delay sequences I can queue in the netro?  With 2 zones, and water / delay command for each, 15 times - that would be a total of 60 commands to queue to the netro.  Is there a limit here?
thanks for the ideas,
Ken


Add className properties to components

Description
We'd like to have access to className as a property on our components to pass in custom style overrides.
You'll need to add it to the component in a sensible location and include a type definition for it.
Refer to the use of className in the Box component as an example.
Acceptance Criteria
Go through the components and add an optional className property if it doesn't already exist.
How to Contribute
Please review the contributing documentation beforehand.
Steps to Contribute:

Fork the repository.
Clone it to your local system.
Create a new branch.
Make your changes. Make sure that tests are still passing. To update snapshot tests, run npm run test -- -u and include the updated tests in your commit.
Commit your changes.   For example, feat: brief explanation of changes made.
Push up your changes. In GitHub, click the compare & pull request button to begin drafting your pull request.
Fill out the pull request form and attach the "ready for review" label when complete.

Hey @nataliepina, it's been a while!
I'd like to work on this one. But first, I want to confirm what the expectations are (in terms of timeframes)?
I have a feeling that I will be busy with other programming related commitments, so this may take a few weeks from my side.
As clarification, I'm assuming that we'll need to add classNames for all components.

Hey @davidtaing thanks for checking back in on our open issues!
There isn't any expected timeframe on this one. This has been in our backlog of to-dos for a while. Some components have a className prop already but there are many that don't. If you'd like, you could dedicate each PR to a specific component so you could do them when you have some free time and if you get busy no worries you can come back and do some more later on. Or if you'd like to group some together you could do that as well. Whatever works best for you there. Any contributions would be helpful on this. I'll probably be jumping in and updating some of these myself if I can find some extra time to dedicate to it.
Thank you for your interest! I'll likely be creating even more open issues in January 🎉

Cool, cool @nataliepina.
I'll try to chip away at this. I'll lean towards small groupings of components.
We'll be in touch and hope you have a lovely holiday season!

Thanks @davidtaing I'll assign it to you. Happy holidays!

Hi @nataliepina,
Hope you had a lovely holiday season!
I've started working on this issue again and I wanted to give you a quick status update.
My plan is to do a majority of the work (80% - 90%) but leave some components outstanding so that we can provide more opportunities for people to get involved.
Of course, if no one comes onboard, I'll be happy to finish the remainder for you.
What are you thoughts on this approach?

@davidtaing That sounds like a good plan. Feel free to do as many components as you'd like and we'll take the rest from there.
Hope you had a great holiday as well!

Thanks guys. Always a pleasure to help!


'MusicLM' is not defined - cannot run usage commands

When I run your usage commands, I get the error name 'MusicLM' is not defined when I run the last snippet (I'm using a Jupyter notebook for that). Am I doing something wrong? Thanks
Here is the Gist with the notebook: https://gist.github.com/albusdemens/cbf06f190b0b519920a09418e0897a4f

ohh, you need to import MusicLM, just updated the readme
you'll also need a trained AudioLM, MuLaN, and fine-tuned or trained from scratch AudioLM with the MulanEmbedQuantizer. you won't get music by running the readme at this time

Thank you so much for the clarification!


Use capybara matchers for interacting with svg text

Old versions of poltergeist didn't extract the values from svg text
elements correctly so we used a custom matcher that used nokogiri.  The
downside here is that it couldn't take advantage of capybara's ability
to wait a while for the elements to appear (allowing for AJAX or animation
effects to finish changing the page).
Without doing this we would get some build failures that we think were
down to timing problems.  After changing to use the capybara matcher we
ran the specs in a few loops of 100 runs and got no failures.
To address intermittent failures since: #515.

Thanks @h-lame! 🎉 🍏 💯


Automated Package Upgrade

:tada: This PR is included in version 12.4.55 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


An extra action 'Set Public Access Level…' displays on context menu for one created premium blob container

Storage Explorer Version: 1.1.0 RC
Platform: Windows/Linux/Mac
Architecture: ia32/x64
Build Number: 20180507.1
Commit: bcc8990d
Regression From: Not a regression
Steps to Reproduce:

Launch Storage Explorer and expand a premium storage account.

Create a new blob container and check the context menu.

Expected Experience:

No 'Set Public Access Level…' displays on the context menu.
Actual Experience:

An extra action 'Set Public Access Level…' displays on context menu.

More info:
This issue doesn't reproduce after refreshing.

Note: bug only repros for a brand new container. If you refresh the parent node then the bug goes away.

@v-xuanzh , can you check if this still repros in 1.4.0? Thanks!

This issue is fixed in 1.4.0. Could you help to resolve this issue?

Yep!

This issue reproduces on build 20191116.1. So reopen it.
More Info:

This issue also reproduces for paste one non-premium blob.
This issue doesn't reproduce after refreshing.


next: Svelte 5

Getting this PR rolling so that when the time comes this project is ready to go with Svelte 5! There are still a few things that need addressed but the core functionality is there, all running Svelte 5. 🚀
One pain point atm is being able to differentiate between regular callback functions and Svelte components, now that components are now functions themselves.
Due outs

[ ] - Determine how to handle situations where the argument to a function could be one of Component | string | ((data: ToastData) => string | Component) (related: https://github.com/sveltejs/svelte/issues/9774#issuecomment-2172713821)
[ ] - Properly infer the expected componentProps type when passing a custom component to the various toast.X methods
[ ] - Document that instead of dispatching a closeToast event, the custom toast components should accept an optional closeToast prop which we pass when rendering out the toast in the <Toaster />
[ ] - Document the various snippet props that replace the custom slots

Let the migration begin!


MS SQL Server Synonyms

DBeaver - Version 5.1.4 CE
Operating System: Windows 10
JDBC Driver: jTDS 1.3.1
I am using Microsoft SQL Server Database
But i am not able to see synonyms at all in DBeaver.
I can see the synonyms using SQL Server Management Studio though.
Screenshot below shows i do not see Synonyms in DBeaver. Can someone please assist me why this is the case ?
We have tried using Microsoft JDBC driver also, but we do not see any change.

Synonyms are not supported by MS SQL extensions. But it is easy to implement (at least in read-only mode).


Cannot read properties of undefined (reading 'NODE_ENV')

TypeError: Cannot read properties of undefined (reading 'NODE_ENV')
    at W4e (https://rosrus-mirteb.tlon.network/apps/grid/assets/index.bf362b99.js:251:45288)
    at At (https://rosrus-mirteb.tlon.network/apps/grid/assets/index.bf362b99.js:251:44861)
    at J5e.getSource (https://rosrus-mirteb.tlon.network/apps/grid/assets/index.bf362b99.js:251:61312)
    at J5e.removeSource (https://rosrus-mirteb.tlon.network/apps/grid/assets/index.bf362b99.js:251:61823)
    at https://rosrus-mirteb.tlon.network/apps/grid/assets/index.bf362b99.js:251:73509
    at hM (https://rosrus-mirteb.tlon.network/apps/grid/assets/index.bf362b99.js:87:3303)
    at gP (https://rosrus-mirteb.tlon.network/apps/grid/assets/index.bf362b99.js:87:5327)
    at gj (https://rosrus-mirteb.tlon.network/apps/grid/assets/index.bf362b99.js:89:3879)
    at e.unstable_runWithPriority (https://rosrus-mirteb.tlon.network/apps/grid/assets/index.bf362b99.js:74:3993)
    at Qu (https://rosrus-mirteb.tlon.network/apps/grid/assets/index.bf362b99.js:85:38575)

Hi -- can you give us a little more information about your setup? Browser/OS/VPN/other connection details?

ohh, I use Chrome/Win10, no VPN. I have cleared the site's cache and reloaded it but it still doesn't work. Now I have upgraded a new machine (win 11) and tried to login again with web. The results seem to remain unchanged.
bonus: I'm from Vietnam


Add WritableResourceData

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.ResourceManager

I think we agreed to remove the WriteableResourceData since it was only needed in Network?  If so lets remove that and I will approve the updated apiview


Fixes for null reference exception Avalonia.Skia.FontManagerImpl.CreateGlyphTypeface(Typeface typeface)

I changed null typeface to fallback default Skia Typeface
Currently it throws exception in WASM

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

It seems wrong commit was pushed. Can you double check?


OIDC DCR endpoint spec violation

Description
According to the OpenID Connect Dynamic Client Registration specification[1], the client registration endpoint should return the client_secret_expires_at in the response.

client_secret_expires_at
REQUIRED if client_secret is issued. Time at which the client_secret will expire or 0 if it will not expire. Its value is a JSON number representing the number of seconds from 1970-01-01T0:0:0Z as measured in UTC until the date/time.

In the WSO2 IS 5.11.0, the response will be as follows where the client_secret_expires_at is always null.
{
    "client_id": "provided_client_id0003",
    "client_secret": "provided_client_secret0003",
    "client_secret_expires_at": null,
    "redirect_uris": [
        ""
    ],
    "grant_types": [
        "password"
    ],
    "client_name": "application_test3"
}

In WSO2 IS 5.9.0 and below, this attribute is not there.
As per the current implementation[2], when constructing the response object, the value for the attribute client_secret_expires_at is not set. Therefore it is by default set as null.[3]
[1] https://openid.net/specs/openid-connect-registration-1_0.html
[2] https://github.com/wso2-extensions/identity-inbound-auth-oauth/blob/4cc4011d713069db35226e31f5a8c32d66ef4fc2/components/org.wso2.carbon.identity.oauth.dcr.endpoint/src/main/java/org/wso2/carbon/identity/oauth2/dcr/endpoint/util/DCRMUtils.java#L141
[3] https://github.com/wso2-extensions/identity-inbound-auth-oauth/blob/4cc4011d713069db35226e31f5a8c32d66ef4fc2/components/org.wso2.carbon.identity.oauth.dcr.endpoint/src/gen/java/org/wso2/carbon/identity/oauth2/dcr/endpoint/dto/ApplicationDTO.java#L26

Assigned to @sahandilshan


Print statements in tests

In test_dp_histogram_spec we have calls of the form:
print('\nUI info:', json.dumps(dp_hist.get_error_msg_dict()))
for certain chaining errors, we end up with an OpenDPException which is not JSON serializable. We need to make sure that we are catching all error types (even ones we never expect to see in production) so we can parse them properly.

fixed with logging


configure: print full go version and check against CVE-2015-8618

./configure already prints the go version, but unfortunately only the
major.minor numbers without the micro:

   go version:                             '1.5'

This patch prints the full version instead:

   go version:                             '1.5.3'

Additionally, it checks that the go version is not 1.5.0, 1.5.1 or 1.5.2
to be absolutely sure it is not vulnerable to CVE-2015-8618.

It fails on Travis:
checking whether we have go 1.5 or newer... yes
checking whether we have a go version without CVE-2015-8618... no
configure: error: *** go version is vulnerable to CVE-2015-8618 (1.5.2)

I need to update .travis.yml...

LFAD, small formatting nit and a one bracket too much. :)

Thanks! Updated.


Modify how -c command operates and fixate.config

Currently, the -c command is used to parse in a yaml config file which is only used to set the csv path for reporting.
I am thinking we can use this as cumulative command to parse multiple config files via the command line.
This would allow arrangements where there is a default config you want set up for your environment but also want a specific set of parameters for this particular call out.
We should also consider parsing also having the ability to find a config file in the test scripts zip file.

I think this will help solve issue #11. In the context of that issue.
The idea is to parse in a config such as
part_number: 12345
plugins:
  fixate.reporting.csv:
    time_stamp_template: {0:%Y}{0:%m}{0:%d}-{0:%H}{0:%M}{0:%S}
    csv_path_template:
      - C:\fixate_logs
      - {part_number}
      - {time_stamp_template}.csv

Support for setting up plug-ins with plug in specific data.
Should give an output path of something like.
C:\fixate_logs\12345\20180927-111303.csv

Instead of (or as well as) being able to specify multiple -c arguments, I think it would be useful to have a default config file location. Possibly %VIRTUAL_ENV%\fixate.yml.
Then when setting up a dedicated virtualenv for deployment (like we typically do) we can have some fixed global config which is tied to the installation. For more ad-hoc scenarios, the -c could be used.
[Thinking about our work deployments for a second, if there is too much tied up in the -c argument it would make it hard to run a script as it would in production without the launcher. On the other hand, having log template config decentralised isn't nice either]
I kind off like the idea of looking in cwd and/or a script zip file too, but think we should not implement that until we come up with a real use case. At the moment, we wouldn't really want a script to be able to override the log setup for example. If a that changes, happy to consider the change then.

For a bit of inspiration, pip explains the config options nicely in it's documents (but really more flexible that we need to worry about for now)
https://pip.pypa.io/en/stable/user_guide/#configuration

Following a discussion with Clint, I think the yaml file should be flatter to make it easier to specify overriding configuration files without accidently overriding. For example what I originally proposed.
plugins:
  fixate.reporting.csv:
    time_stamp_template: {0:%Y}{0:%m}{0:%d}-{0:%H}{0:%M}{0:%S}
    csv_path_template:
      - C:\fixate_logs
      - {part_number}
      - {time_stamp_template}.csv

would mean that a second yaml file
plugins:
  my.custom.gui:
    param1: hello
    param2: world

Would remove original fixate.reporting.csv plugin from the config which is not the desired behaviour.
by changing it to something like:
plg_csv:
  import_name: fixate.reporting.csv:
  time_stamp_template: {0:%Y}{0:%m}{0:%d}-{0:%H}{0:%M}{0:%S}
  csv_path_template:
    - C:\fixate_logs
    - {part_number}
    - {time_stamp_template}.csv

would mean that a second yaml file
plg_my_custom_gui:
  import_name: my.custom.gui:
  param1: hello
  param2: world

Would not override the previous config unless specifically added:
eg.
plg_csv:
  import_name: fixate.reporting.csv:
  time_stamp_template: {0:%Y}{0:%m}{0:%d}-{0:%H}{0:%M}{0:%S}
  csv_path_template:
    - C:\my_custom_loc
    - {index}
    - {time_stamp_template}.csv
plg_my_custom_gui:
  import_name: my.custom.gui:
  param1: hello
  param2: world

As for a default configuration file location %VIRTUAL_ENV%\fixate.yml does not always exist, even in virtual environments unless the environment is explicitly activated.
In our current use case, the config can be seen at several levels.
Site config: Configuration specific to the company/site deploying. Things contained would be things like details for connecting to databases for reporting.
Workstation: Instrumentation configuration, serial port locations etc.
Dev/Testing: Parse in a config to override default settings and behaviour
Script specific: Configuration which needs to be shipped with a specific config.
I think we can easily do:

Site config: root directory of python executing (<venv_path>/fixate.yml)
Dev: -c parameter
Testing: -c parameter or override parameters in fixate.config

Still supports but clunky

Workstation: -c
Script specific: -c


[iOS] Camera screen doesn't hide after "Don't allow" button is pushed.

Bug Information
Version Number of Plugin: 3.0.1
Device Tested On: iPhoneSix+
Simulator Tested On: -
Version of VS: 2017
Version of Xamarin: <IP_ADDRESS>6 (1be4f0c)
Versions of other things you are using: Xamarin.iOS and Xamarin.Mac SDK - <IP_ADDRESS> (4cffddf)
Steps to reproduce the Behavior

Call the code to open the camera on iOS (see Code snippet section)
At the first time camera shows the message regarding camera permissions access and two buttons: Don't allow and OK. (Screenshot 1)
Press Don't allow button.

Expected Behavior
Functionally: Camera screen should be hidden.
Technically: TakePhotoAsync method should return null.
Actual Behavior
Functionally: Camera screen still shown but with black screen. Anyway it allows user to tap the PHOTO button and get the black image. (Screenshot 2)
Technically: TakePhotoAsync returns non-null object (black image file).
Code snippet
var file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions { Directory = "TestFolder", Name = "SomeName" });
Screenshots

What version of iOS? I would recommend using the permission plugin to handle proper permissions

We are using iOS 10.2.
The thing is: we are already using the permissions plugin, and everything goes fine for all the photos, except the very first one. At this point, permissions plugin returns CameraAccess.AccessNotSet, so we have to call CrossMedia.Current.TakePhotoAsync "blindly".
Then iOS shows us "... Would Like to Access the Camera", and after choosing "Don't Allow" - we expect to just get back without the ability to take "empty" photo.
Thanks a lot.

I think I can fix this up for sure.
If it is not set as "Granted" then you should try to request it before taking the photo.
If they press "Don't Allow" it will then return "Denied"
This seems like an easy enough fix though on my end to request permissions.

Hi! Do you have an ETA of the release with this fix? Thanks in advance.

@fabasoad we do not have an ETA at the moment but you can download the fix here
https://ci.appveyor.com/project/JamesMontemagno/mediaplugin/build/<IP_ADDRESS>-beta/artifacts
And check out the complete changelog for the build (here)[https://github.com/jamesmontemagno/MediaPlugin/blob/master/CHANGELOG.md#302]
Please let us know if have any issues/feedback

I'll deploy beta to nuget

Hi @jamesmontemagno! Just checked the behavior and it looks strange. Please find the steps to reproduce below.

Run application very first time.
Run the same code snippet as in bug description.
Message "My Application Would Like to Access the Camera. Don't Allow. OK." appears.
Click "OK".

Expected behavior:
I see the camera to be able to take a photo.
Actual behavior:
The same message appears again. And I see the camera only when I click "OK" again.
Media Plugin version: <IP_ADDRESS>-beta

File a new bug

Hi @jamesmontemagno
The new bug has been created - #383


feat(esbuild): make it possible to set keepNames with TSX_ESBUILD_KEEP_NAMES

Hey! Thanks for the really cool project :sparkles:
I've run into an issue with tsx where I'm using it with puppeteer and I get a crash because __names is not defined.
It essentially boils down to this code:
const result = await page.evaluate(() => {
  function func() {}
});

getting turned into this by esbuild under keepNames: true:
const result = await page.evaluate(() => {
  function func() {
  }
  __name(func, "func");
});

the issue is that __name is not defined in the page and so this errors.
See this playground
Given that I have no use for keepNames: true in my project, it would be nice if tsx allowed one to opt-out from keepNames: true via an environment variable.
Thus this PR. Let me know what you think! :smiley:

I've rejected this change before because I don't want to expose esbuild, especially if we swap it out in the future (which is becoming more likely with OXC developments). After thinking about it again, I realize I enabled keepNames because I also enabled minify to keep the cache small—so maybe we could turn these off if --no-cache is passed.
What might bother me is the difference in behavior between using cache and not using cache. I also considered creating a noop __name and injecting it globally, or using regex to replace __name inline, but that could get complicated if __name appears in user code. WDYT?


Archive current work on discussion & other section than how-to

Remove and archive all the work on other sections than how-to to a separate branch.

Closed with https://github.com/OneArmyWorld/onearmy/commit/fb8a977e53995a2d85731336934ccd0b54433be3 & https://github.com/OneArmyWorld/onearmy/commit/9293bb8835869cdc69d9af942016a302f6a86419

I created the branch v0.3.0 which is limited to the scope of the current version


Platform espsomfy_rts does not generate unique IDs.

At Home-assistant startup I'm seeing this error
Logger: homeassistant.components.cover
Source: helpers/entity_platform.py:607
Integration: Cover (documentation, issues)
First occurred: 13:09:12 (1 occurrences)
Last logged: 13:09:12

Platform espsomfy_rts does not generate unique IDs. ID espsomfy_105180_4 already exists - ignoring cover.zonnetent

I'll look into this but this has to do with the name being used for the entity id.  If you go into the entities list you will see that there is an entity in there with the same name but likely a different id.  If you just delete that the error will go away.

I found an issue with this and will be posting an update shortly.  This has to do with the awning sun switch id.

Update to v2.0.0 for both the ESPSomfy RTS device and the integration.  This has been fixed.


Fix throughput params

coverage: 99.209%. remained the same
when pulling 8f181744e62f9a395ac4661c05bfa8f28737253e on users/alexpeck/tparams
into fb787c1f0c4398b8d1856128fe20ce1f6f58fa93 on main.


Remove macos 10 features as no longer tested

Even macos 11 images are deprecated on GH Actions and will need to be dropped soon.
Update Cargo.toml, readme.md, pid_rusage.rs

Done via https://github.com/andrewdavidmackenzie/libproc-rs/pull/136


PodPoint Current Energy Sensor

I have installed your PP HA component and everything seems to be working fine -  except...
The sensor.current_energy displays the current charge energy fine whilst the charger is plugged in.
However as soon as I unplug the charger is seems to create a significant negative value which then negates the previous data.

The attached shows three charging sessions and the huge negative spike. It doesn't seem to make any difference when I unplug - 1,2 or 3 hrs after charge complete it's all the same.
Any idea why this should be? Or what am I doing wrong?
Regards
David

Hi, I think this is down to how you are displaying the value, this seems to be showing a 'change' in value, assuming that any value will always be an increase.
In fact the sensor uses data provided by the PodPoint APIs to show the current charge session 's amount. This number resets to 0 when the session ends (usually when the cable is unplugged from either the pod, or vehicle).
When viewing the history data within Home Assistant directly it displays as intended:

It looks like you are graphing the data in a different way in your tab which is the cause of your issue. Home assistant is saying  'the previous value was 2000w, now it's 0, so that's a -2000w change in value'. You might want to plot the change in 'Total Energy', as this is an always increasing value:

I hope this helps!

Thanks Matt. Works perfectlyDaveSent from my iPhoneOn 4 Jan 2024, at 15:46, Matt Rayner @.***> wrote:
Closed #44 as completed.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>


readme: fix typo

Just correcting a minor typo: agains -> against

Coverage remained the same at 100.0% when pulling 5de184b8fbdf9905d54faaba5a9710a7b239abc0 on manu-chroma:patch-1 into ef90d62ddf4713f0ca1029d6884997f2a073ca60 on nlohmann:develop.


Fix FS IDs growing too large

We currently pass around the json serialization of LLB (wrapped w/ b64 to avoid confusion) as the FS type (or the ID of the new Filesystem type that will be replacing FS).
The problem is that this string can already grow to be quite large in simple cases (such as those involving dockerfiles). Once we have to deal with more complex cases, it may become too large and cause genuine performance problems in addition to unreadable output.
We probably need to switch to storing the full LLB server-side only and making the ID just be a hash of that. It's unfortunate because there are nice side-effects of the ID of LLB being the actual executable definition of it too, but I'm not sure of any way of retaining that property that won't eventually hit the same problem of growing too large.

Fixed by dagql and subsequent ID flattening


add license information for Caffeine code used in FrequencySketch

Relates to #439
There is no NOTICE file in https://github.com/ben-manes/caffeine/.
Nor in https://github.com/ben-manes/caffeine/tree/a6be555f0f2a44d33a9d7e52ea923622e373ac7f

@ben-manes we're getting together a release - we'll merge this
If you have any objections, we'll make the changes you request and start the release process again.


headers: fix quadratic complexity in folding

As found by oss-fuzz https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=55002
The error is due to some fancy variable shadowing :
let (rest, _) = self.value_bytes()(input)?;
loop {
    if condition {
        return Ok((rest, something));
    }
let (rest, (val_bytes, ((_eol, other_flags), fold))) = self.value_bytes()(i)?;
}

The rest being returned is the first one, not the latest one whose scope is just the end of the loop :-p

cc @cccs-rtmorti do you have notifications about PRs ?


Web deployment with static content

Description
Hello.  I need some clarification.
I've built my own version of gitea for Debian 11 (bullseye) including PAM and excluding the built-ins.  I'm currently running a local instance of APACHE 2 with appropriate mod_proxy and mod_proxy_http.  I am able to confirm that apache is correctly passing requests to gitea.  However, all requests are resulting in a 500 internal server error.  Even when manually running gitea with the --verbose option there is very little information to go on as shown below (redacting some potentially sensitive information):
2022/11/17 00:01:12 cmd/web.go:217:listen() [I] [6375c018-5] Listen: http://<IP_ADDRESS>:3000/git
2022/11/17 00:01:12 cmd/web.go:221:listen() [I] [6375c018-5] AppURL(ROOT_URL): https://www.XXXXXX.END/git/
2022/11/17 00:01:12 ...s/graceful/server.go:61:NewServer() [I] [6375c018-5] Starting new Web server: tcp:<IP_ADDRESS>:3000 on PID: 2274289
2022/11/17 00:01:30 ...s/context/context.go:232:HTML() [E] [6375c02a] Render failed: html/template: "install" is undefined
2022/11/17 00:01:30 ...eb/routing/logger.go:99:func1() [I] [6375c02a] router: completed GET / for xxx.xxx.xxx.xxx, 500 Internal Server Error in 0.5ms @ install/install.go:90(install.Install)

I have copied the contents of ${BUILD_DIR}/"public" to /var/www-ssl/git-static, based on this documentation and the resulting gitea executable to /usr/local/bin.  I have also set up an appropriate account to run under and systemd startup script based on these instructions.
My current app.ini:
[server]
STATIC_URL_PREFIX = /git-static
ROOT_URL = https://www.XXXXXX.END/git

If I run the application in the build directory it executes fine.  However, the build directory resides on a dedicated build server and the build environment is purposefully not available on the production server (both the build system and the production server are running identically patched versions of Debian 11 - only that the production server does not have the ability to compile software for security reasons).
I desire to avoid building in the static content as this server has a heavy load and is somewhat stretched for resources as it is.  PAM authentication is required as I have already implemented a system-wide user database and do not desire to maintain a separate authentication system.
Gitea Version
1.17.3 built with GNU Make 4.3, go1.19.1 : pam
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
Logs inline
Screenshots
-N/A- see logs
Git Version
2.30.2
Operating System
Linux xxxxxx 5.10.0-19-amd64 #1 SMP Debian 5.10.149-2 (2022-10-21) x86_64 GNU/Linux
How are you running Gitea?
See description.
Database
MySQL

Further clarification, command line to execute gitea:
/usr/local/bin/gitea web -c /etc/gitea/app.ini

After doing some searching, I believe that this is related to #18110

Are you sure that the JS you're using matches the version of gitea correctly? Since my issue was having stale extracts and it not matching what the frontend was actually looking for.

You are doing something wrong, unrelated to 18110
Please follow the guideline strictly, for example: the document https://docs.gitea.io/en-us/install-from-source/ has told you TAGS="bindata" make build

As per my description: adding bindata is not desired.  I would much prefer to have the static content hosted separately so it will be cached by my CDN and therefore won't require server resources to provide.  According to documentation, bindata is an optional flag.

I can not understand why "bindata" is not desired (you didn't mention in your description either). It's only optional for experienced users for who clearly know what they want and fully understand how Gitea assets work.
If you want to play with bindata by yourself, please also put the template files in the correct places, following to the document.
For a quick and stable solution: just use bindata.

Another choice is that you still build Gitea with bindata, then copy the JS/CSS resources to your filesystem as your plan (I won't recommend so, you will run into other problems if you upgrade Gitea but forgot the update the resources).
bindata is not only for JS/CSS, it also contains templates, which is not related to your CDN, but used by Gitea internally.

Primary issue is that the current server is a VPS with limited memory and CPU resources.  It is shared between 3 total developers and has very low code velocity.  I would prefer for static assets to be served directly by apache and not proxied through an additional application - this will allow cloudflare to properly cache them while continuing to forward dynamic content through to the application.  I am running many other services on the same web server - all using FCGI for HTTP/2 and as a result apache has a 512MB/instance overhead so I am limited to the total number of apache instances that I can support (3).  An instance that is being used to forward a request for what amounts to a static file is an instance that could have been put to better use generating dynamic content.
To get around the 500 error, I did to a build with bindata to prove out the issue - again not desired.  There was no setting of STATIC_URL_PREFIX that would allow the control panel (first page prior to database provisioning) to properly load without throwing the pop-up exception referred to in the referenced issue, hence why I do believe this to be a legitimate bug.

I see, if you want to save memory heavily, you should look into the bindata details to separate the assets carefully and put bindata files in your deployment manually. I doubt that it won't save too much memory ....
ps: I proposed a PR to fix the document: #21853

At the moment, there are 3 kinds of bindata assets:

modules/public/bindata.go (the static web assets)
modules/options/bindata.go (the options, see the options directory)
modules/templates/bindata.go (the backend templates)

When Gitea is running, only 1 can be put in other servers (to be served by other HTTP sites)
2 & 3 are necessary for Gitea, either bundle them into Gitea binary, or put them in Gitea's working directory (IIRC some documents about customizing may have mentioned that)

Ok.  Thanks for the PR and clarification there.
At this point not nearly that important but; it would be nice to know what content can be put at STATIC_URL_PREFIX.  It seems that whatever I put there (even with bindata added as a tag) the system throws the web error.  At this point, system is working with PAM authentication and the option commented out in app.ini.
Further note - this is for reference only, perhaps someone in the future will find this helpful:
This works on "Debian 11 AKA BullsEye" but I imagine that it will work for any other debian based system (Ubuntu, Mint, etc).  The correct "PAM Service Name" for using the normal Linux Password authentication mechanism is common-session-noninteractive.

it would be nice to know what content can be put at STATIC_URL_PREFIX

I think they are the JS/CSS files (under the http://gitea/assets, which is called as public in source code, i.e the kind 1)

The correct "PAM Service Name" for using the normal Linux Password authentication mechanism is common-session-noninteractive.

Do you mean it could be documented, or be changed in source code?

ps: I do not use STATIC_URL_PREFIX nor PAM 😂, if you could help to improve the document and code, I can help to review and approve. Or you can tell me how to improve the document and code, then I will propose PRs.

At the moment, there are 3 kinds of bindata assets:
1. modules/public/bindata.go (the static web assets)

2. modules/options/bindata.go (the options, see the options directory)

3. modules/templates/bindata.go (the backend templates)

When Gitea is running, only 1 can be put in other servers (to be served by other HTTP sites)
2 & 3 are necessary for Gitea, either bundle them into Gitea binary, or put them in Gitea's working directory (IIRC some documents about customizing may have mentioned that)

So..  About that #3 above...  Is it possible that, the STATIC_URL_PREFIX is being incorrectly applied to items in this bucket?  That actually would align with the behavior that I was seeing after adding bindata.[^1]

Do you mean it could be documented, or be changed in source code? ...

It's getting a bit late here in Central US and I have to get up early for work tomorrow.  I'll fork and put together a PR to try and improve some of that documentation around PAM - give me a few days.  Can't help on the STATIC_URL_PREFIX yet because I can't reproduce a working system.
[^1]: Along with that PR, I may also try to see if I can find some time to investigate the prefix issue myself to see if I can better see what's going on.  Haven't screwed with GO much at all, I'm a C/C++/Python/Assembly guy so will be a bit of a learning curve there.  But your comment plus my addiction to regular expression hunting may be just enough to be able to triage this a bit.

So.. About that #3 above... Is it possible that, the STATIC_URL_PREFIX is being incorrectly applied to items in this bucket?

STATIC_URL_PREFIX is only applied to the generated URLs in HTML pages.
Kind3 (backend templates) are loaded by Gitea locally when Gitea runs.

Not sure whehter I understand your question correctly, the logic is like this:

server-gitea: Gitea runs
server-gitea: Gitea read backend template from bundled bindata or from local file system (https://docs.gitea.io/en-us/customizing-gitea/)
browser sends a HTTP request to server-gitea
server-gitea renders the HTML page by loaded templates, and fill the STATIC_URL_PREFIX into the template
browser gets the rendered page, and get the asset URL in HTML like STATIC_URL_PREFIX/assets/index.js
browser loads the STATIC_URL_PREFIX/assets/index.js
by default, STATIC_URL_PREFIX/assets/index.js is server-gitea/assets/index.js, so Gitea serves it
but you can set STATIC_URL_PREFIX to other URLs.

Very interesting.  So, now that I have the server, the behavior is working as expected.  It was an issue when I did not have the server configured - a bit of a chicken-and-egg thing in that I couldn't set up the server (pop-up dialog A-la linked issue).  Now that the server has been configured and database initialized, the site works as expected.  And it was specifically having issues with index.js.  Can't really explain that one, but I will also update / clarify that section of the documentation as well in my PR.


Missing Semicolon in example code

Object Oriented Programming: Understand the Immediately Invoked Function Expression

http://beta.freecodecamp.com/en/challenges/object-oriented-programming/understand-the-immediately-invoked-function-expression-iife
Missing Semicolon in example code

When you follow the example text you are missing a semicolon so I assume that it is a mistake. Please let me know if this isn't an appropriate issue since it isn't technically a bug I guess.
Browser Information

Browser Name, Version: chrome
Operating System: chromebook
Mobile, Desktop, or Tablet:

Your Code

This is the example code. I believe that a semicolon should be present after console.log
(function () {
  console.log("Chirp, chirp!")
})(); // this is an anonymous function expression that executes right away
// Outputs "Chirp, chirp!" immediately

Screenshot

Even if you copy the example into the main work area, you get a warning about a missing semicolon, so I assume you are correct. I'll pick this up for a PR. Thanks for submitting the issue!


rewind response body after format

Thanks for the PR, but we should not be trying to do this.

@GrahamCampbell
I think it's a bit necessary. If somebody set a log middleware to response body and the response status code >= 400, the exception can't get the body summary because it's not rewind.
https://github.com/guzzle/psr7/blob/13388f00956b1503577598873fffb5ae994b5737/src/Message.php#L70

Oh, I think it's that message code that should probably do the re-wind.

https://github.com/guzzle/psr7/pull/525

Thank you, solve my problem, but i still puzzle about this.
If someone use the formatter in middware to log each response or do something else, the formatter read the response body but not rewind it, it's  destructive.
I think who use it, who restore it maybe better?

For small streams, people mostly consume them by casting them to a string, which automatically rewinds. A common mistake is to call ->getContent(). If you must do a method call, do ->__toString().

Thank you for your reply.


Metrics SDK: implement Prometheus exporter

Resolves #751
A number of things to pay attention to:

Exporter is implemented in the separate module sdk-exporter-prometheus.
This PR doesn't implement Prometheus "created timestamps" feature, while OpenTelemetry Java does through using of Prometheus client.
Maybe we need to discuss, what should config option look like, which allows to add resource attributes as metric attributes. Currently this PR doesn't contain this option. Or maybe we can implement it in a separate PR, since it's not mandatory according to the spec.
The spec says that monotonic Sum with delta temporality should be converted to cumulative temporality, but I don't see any OpenTelemetry SDKs doing such a conversion for Prometheus exporter, they usually just exclude everything with delta temporality, which is also done in this PR.
Instead of using ScalaCheck generators, this PR uses static "expected" values, because for me it looks like exactly for these tests the complexity of making generated samples isn't much less than writing the exporter itself :) Test cases are inspired by opentelemetry-rust.

I will take a look over the weekend.

Maybe we need to discuss, what should config option look like, which allows to add resource attributes as metric attributes. Currently this PR doesn't contain this option. Or maybe we can implement it in a separate PR, since it's not mandatory according to the spec.

I would keep it for the separate PR.

The spec says that monotonic Sum with delta temporality should be converted to cumulative temporality, but I don't see any OpenTelemetry SDKs doing such a conversion for Prometheus exporter, they usually just exclude everything with delta temporality, which is also done in this PR.

I think it's good enough.

Excellent work.
We can move forward once we decide what to do with the default parameters.

this is excellent, can't wait to try it.

Thanks for the review and feedback. I'll deal with comments in the next few days.

@iRevive I made changes according to the comments, and I also realized that ideally attributes for scope/target info should also go through full preparation, escaping and so on, rather than just call .toString. So, finalized this too.

@iRevive could we have a release (snapshot is okay) for this? I'd like to try.

@lenguyenthanh definitely. The snapshot should be available today


Manage Apache HTTP and Jersey HTTP clients

In the documentation we say that we create managed instances of Apache HTTP client. But in the fact, it's not true.
To follow this contract, we should tie the lifecyle of the client to the lifecycle of the server, if the user specified the environment in the builder. The rationale is the same for Jersey HTTP client.
If the user has already created own managed object for the client  - it's not an issue, because the close method of the HTTP client is idempotent.

LGTM, I'll see if anyone else would like to review as well

Looks good. One minor nitpick, should we add a test in JerseyClientBuilderTest

I've added a check in DropwizardApacheConnectorTest#tearDown method.
We can't create a mock Jersey client, so we check that the client is closed in a real environment.


[Bug] Using as prop on styled function component does not correctly inherit all styles

Environment
"@types/styled-components": "5.1.26",
"react": "18.0.0",
"react-dom": "18.0.0",
"react-scripts": "4.0.3",
"styled-components": "5.3.5"

I have created a reproduction of the bug in codesandbox here:
https://codesandbox.io/s/styled-components-inheritance-bug-mlpyjr?file=/src/App.tsx
Reproduction
import "./styles.css";
import styled, { css } from "styled-components";
import { FC, ReactNode } from "react";

// Base button
const ButtonInline = styled.button`
  display: block;
  padding: 0;
  background: none;
  border: none;
  white-space: no-wrap;

  background: blue;
  color: white;
`;

interface IconButtonProps {
  icon?: ReactNode;
}

const IconButton: FC<IconButtonProps> = (props) => {
  const { icon, children, ...rest } = props;

  return (
    <ButtonInline {...rest}>
      {icon &&
{icon}
}
      {children}
    </ButtonInline>
  );
};

const StyledIconButton = styled(IconButton)`
  padding: 4px;
  margin: 4px 0;

  ${(props) =>
    props.icon &&
    css`
      display: flex;
      align-items: center;
    `}
`;

const PrimaryIconButton = styled(StyledIconButton)``;

export default function App() {
  return (

All buttons should have blue background and white color

      <ButtonInline>ButtonInline</ButtonInline>

      <PrimaryIconButton icon="✌">PrimaryIconButton</PrimaryIconButton>

        But when passing{" "}

          as
        {" "}
        property styles are ommited

      <PrimaryIconButton icon="✌" as="a" href="#">
        PrimaryIconButton Link
      </PrimaryIconButton>

  );
}

Expected Behavior
Components should inherit styles in their hirachy or there should be a warning about this behaviour in the docs.
Actual Behavior
When using as="a" on PrimaryIconButton the implementation of StyledIconButton is not implemented and therefore styles from ButtonInline are ommited. If as is ommited everything works fine like in the example.

I get the same bug. However, if (referring to the above example) I would use the StyledIconButton directly in the component with polymorphism aka the as prop - it works just fine.

Ive left out some styles in this example but I have other styles for PrimaryIconButton too.

@crtl This is not a bug, just a misunderstanding of how styled components works.
When you pass as you're overriding the wrapped component, replacing it entirely. If you want that to be handled by StyledIconButton instead of PrimaryIconButton then you can use forwardedAs
If you don't want to leak those implementation details to callers (as forwardedAs inevitably does) then you can wrap it all in a function component that renames as to forwardedAs, or implements variants, or any number of approaches to abstract the implementation.

@crtl This is not a bug, just a misunderstanding of how styled components works.
When you pass as you're overriding the wrapped component, replacing it entirely. If you want that to be handled by StyledIconButton instead of PrimaryIconButton then you can use forwardedAs
If you don't want to leak those implementation details to callers (as forwardedAs inevitably does) then you can wrap it all in a function component that renames as to forwardedAs, or implements variants, or any number of approaches to abstract the implementation.

Thanks a lot for clearing that up @agriffis 😀
I simply didn't know (somehow missed that in the docs)!
That's incredibly powerful - something I will use for sure  🥳

@probablyup @kitten This could be closed.


"Resume and Pause Pipeline" feature not available in ADF V2 REST API in Python.

"Resume and Pause Pipeline" feature not available in ADF V2 REST API in Python. V1 has these functions . Have they been deprecated in V2 Python REST ? I see those functions in RM Powershell though.

Please provide us with the document you are referring to so we can better assist

Hi @MicahMcKittrick-MSFT I'm referencing to this document https://docs.microsoft.com/en-us/rest/api/datafactory/v1/data-factory-pipeline#resume
Pipelines of the project were being run on ADF V1 earlier. These are being migrated to V2. All the functionalities like Creating, Triggering, Pausing and Resuming pipelines are to be replicated in V2 too. However, I fail to find a proper way to implement some of them like Resume and Pause.
I see that the REST URL and the way the REST api is called has changed(https://docs.microsoft.com/en-us/azure/data-factory/quickstart-create-data-factory-python). There's no clear explanation anywhere if this service of "resume" and "pause" pipeline through Python REST api in ADF V2 exists. If there's one, can you please reference me to that, with some explanation of how I can implement this.
For your information, this doesn't work
POST https://management.azure.com/subscriptions/{SubscriptionID}/resourcegroups/{ResourceGroupName}/providers/Microsoft.DataFactory/datafactories/{DataFactoryName}/datapipelines/{PipelineName}/resume?api-version={api-version} for version V2 i.e by changing the api number. This is misleading in the document. I tried with the change in names from "datapipelines" to "pipelines" and "datafactories" to "factories" as per the new REST api url. But still it remains the same.
I work for Citrix and this work is part of that.(Citrix has been a long time partner for Microsoft). We have already contacted the Azure Engineering Team in a similar query earlier. Please tell me if I can reach out to someone who can help us.
Note : I have opened a duplicate of this issue as #16539 but closed it as I didn't find the option to delete it. If possible, you can remove the issue and mark this one as a fresh one.
Thank you.

@ravitejapinnaka I do not see references to any pause or resume functionality in ADFv2.
Take a look at the differences between v1 and v2 here:
https://docs.microsoft.com/en-us/azure/data-factory/compare-versions#feature-comparison
Focus on the "Pipelines" v2 section:
"Pipelines are groups of activities that are performed on data. However, the scheduling of activities in the pipeline has been separated into new trigger resources. You can think of pipelines in the current version of Data Factory more as “workflow units” that you schedule separately via triggers.
Pipelines do not have “windows” of time execution in the current version of Data Factory. The Data Factory V1 concepts of startTime, endTime, and isPaused are no longer present in the current version of Data Factory. For more information, see Pipeline execution and triggers and Pipelines and activities."
Pausing is no longer possible for pipeline runs, therefore resuming is not.
You may have to rethink when your pipelines are active in terms of when they are triggered:
https://docs.microsoft.com/en-us/azure/data-factory/concepts-pipeline-execution-triggers
As described in the above link, you can trigger pipelines at will or on a schedule.  Here is a link to the REST API reference which lists how you can create, start, and stop triggers, amongst other functions:
https://docs.microsoft.com/en-us/rest/api/datafactory/triggers
I hope this information is helpful.  If you would like to continue the discussion, please start a thread in the forums:
https://social.msdn.microsoft.com/forums/azure/en-US/home?forum=AzureDataFactory


global error handle

Is there  a method ( like knex.onError = function(detail){}) used to handle global error ？

http://knexjs.org/#Interfaces-Events
There is query-error event.  knex.on('query-error', callback). It will catch most of the errors.


Fix indexing large smithy-build.json

Fixes an issue where a UTFDataFormatException would be thrown from SmithyBuildConfigurationIndex when saving the json value. Based on the DataOutput.writeUTF docs:
https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html#writeUTF-java.lang.String- this happens when the number of bytes to be written is > 65535, so if you have a very large smithy-build.json it throws. For some reason this
can also cause intellij to just index in an infinite loop, eventually running out of memory.
I fixed it by writing the value out as bytes, which also required reading it in differently too otherwise it couldn't be deserialized after being read in again. There may be a better way to do this though.
Tested with runIde and opening the project that was previously giving me problems.

Thanks @milesziemer!


npm: Support scoped packages also for publishing

Support for importing scoped packages was introduced with #7144. Support for publishing scoped packages to npm is missing. Matching the scoped package syntax, an example module declaration would be:
    native ("js")
    module com.example.npm                        //Ceylon module name
            npm:"exampleuser":"ceylon-example"    //npm username and module name
            "1.0.0" {                             //module version
        // ...
    }

This would result in publishing the module as @exampleuser/ceylon-example.

This is probably just a trivial change to NpmDescriptorGenerator.java.

Done, I believe.


xst randomly freezes after reloading

I reload them with killall -s USR1 st.
Almost every time I reload them one of them freezes and has to be killed with kill because it doesn't respond to X events.

Confirmed, I also experience this intermittently. I believe the issue is the way we trigger redraw when not focused -- https://github.com/neeasade/xst/blob/1df15396883870cc9dfd19cbddc0a88e81849fb2/src/st.c#L4671 will see if removing that reduces ability to reproduce the crash.

I just discovered that if I place the killall line near the end of my theme switcher script, it never freezes. If I place it near the beginning, it always freezes. I will investigate.

or maybe not. now it works every time with and without the fix

i was testing with urxvt i'm so dumb

ok removing that line doesn't fix the issue

@tudurom Do you still experience this problem?
Just making sure :)

well i switched to urxvt after encountering this problem. Assuming that the code didn't change, the problem should be still there.

OK then, could you try again with the latest fresh code and report on your findings, please?
Thanks! :D

Yep the problem is not solved.

Did you try with the edit suggested by @neeasade above?

yep

hmm, try sending us a gdb backtrace (make sure you have installed it):
$ ulimit -c unlimited
$ st
<do the thing>
$ gdb -q $(which st) /path/to/coredump
gdb> bt full

Hope it could tell us something...

some changes that have happened since the last comment here:
https://git.suckless.org/st/commit/1d590910652519268152eae6b97cf30ace4e90c0.html
https://git.suckless.org/st/commit/e823e2308f2a99023032a3966ebb7036a31d305f.html
could poke at our reload (change it to a tfulldirt()) and see how we feel there

closing as out-of-date - feel free to re-open if you'll be able to reproduce it