text:
Store Certificates in Kubernetes Secrets

Hey, thanks for that project!
It would be awesome if we can use a Kubernetes secret to store the state file. See: https://kubernetes.io/docs/concepts/configuration/secret/
As i see it it's only updated every 8 hours, right? That would be no problem with k8s secrets.. What if i boot 10 instances of the same container? Are they all updating the state file?

Hi!
The state file is essentially a backup of the in-memory state. Keys are rotated in memory, then dumped to disk; the file is never loaded except at startup time.
So, if multiple instances share the same file, this is still not going to make them use the same ephemeral keys. Which is actually totally fine, if and only if a given client is always going to hit the same container.
Using a K8S secret the same way would have the same limitation.
But that can be fixed, and I have a plan for it, that is not going to require synchronization. Generate the ephemeral key pairs using a forward-only rolling state instead of them being completely non-deterministic. That way, assuming that the rotation interval is constant (8 hours, as you correctly found), any node can compute the current key pair from any previous state.
And this will still provide forward security, up to the previously known state.
This may require a bit of changes, but I'll look into it. Even beyond K8S, that can be very useful for people running multiple servers for load-balancing or failover.

So currently it's not possible to have multiple containers with the same sdns stamp, ist that correct?

It is!
The stamp only includes long-term keys.
These long-term keys are used to sign short-term keys, that are rotated every 8 hours.
Multiple servers can have the same stamp. But since short-term keys are maintained by individual instances, if a client retrieves a certificate from a container, and then sends queries to a different container, shared keys won't match.

This still require testing, but these changes have been made.
Now, you can start the server once just to create an initial state, then copy that state on as many nodes as you want, and they will all be computing the same ephemeral keys, without explicit synchronization.
The state file can be shared, or each node can have its own.
Still, the state file should not be read-only. Always starting from the original state would work, but the startup time is proportional to how old the previously saved state is.


text:
Running jeelizPupillometry on a local host

Hello,
My group has put together the pupillometry setup as described in the readme. We would like to run experiments locally, and so we would like to first run the demo locally. Two problems have come up:

Initially, running the experiment locally was causing an error because it does not use the right protocol:

jeelizPupillometry.js:19 Access to XMLHttpRequest at 'file:///Users/stobin/Downloads/jeelizPupillometry-master/dist/jeelizPupillometryNNC.json' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
sa | @ | jeelizPupillometry.js:19
So I modified the file access options on launching the browser, which appears to have resolved that error:

open /Applications/Google\ Chrome.app --args --allow-file-access-from-files

The second problem is that the video stream does not display in the Debug view, although the camera is active and is possible to use with other applications. This problem is proving more challenging to resolve, so I'd appreciate your input on it. Initially I'd assumed it was associated with the first problem, but those errors don't show up any more. However, when I run the demos remotely (those hosted on jeeliz.com) there's no problem with camera access and the experiment proceeds as expected.

Many thanks in advance.

Hi,
You need to run a local HTTPS server to serve the content. Otherwise there will be CORS errors and problems with camera access (i.e. you need to access to the content through https://127.0.0.1//index.html). See https://github.com/jeeliz/jeelizPupillometry#hosting
The lightweight Python https server included in https://github.com/jeeliz/jeelizFaceFilter, httpsServer.py (https://github.com/jeeliz/jeelizFaceFilter/blob/master/httpsServer.py) should do the job.
Put this script at the root of this repository, then start it as explained here: https://github.com/jeeliz/jeelizFaceFilter#the-development-server
To make loading faster, the webcam video stream and the neural network model are loaded asynchronously, that's why the webcam LED is active. But since the neural network model cannot be loaded because of the CORS problem the application does not start, and so the debug view is not displayed.

source: gharchive/issue

authors: Phonetiker xavierjs

repo: jeeliz/jeelizPupillometry

license_type: permissive

license_source: github-api


text:
2024/05/20 02:56:36 查询域名信息发生异常! Get "https://alidns.aliyuncs.com/?AccessKeyId=.......": EOF

问题描述
作者你好，我使用的是 eSir  OpenWrt 高大全版本中的 ddns-go，版本为 v6.3.1，OpenWRT 做旁路由（10.0.0.2），主路由是小米的硬路由（10.0.0.1），设置只使用 ipv4，选择 “通过接口获取” 一直报错 【通过接口获取IPv4失败! 接口地址: https://myip.ipip.net】、【异常信息: Get "https://myip.ipip.net": EOF】，于是选择 “通过网卡获取”，但又出现如提所述报错（具体内容在额外信息栏），请问我的问题可能出在哪里？怎么解决？另外想问一下 “通过接口获取” 和 “通过网卡获取” 有什么区别？旁路由该选哪个？感谢感谢！
DNS服务商
Alidns(阿里云)
是否已搜索同类问题
已搜索，但未能解决
操作系统
Linux
架构
x86_64
版本
v6.3.1
安装方式
其它
额外信息
日志中的报错信息（有几个隐私信息用 * 和假内容代替掉了）：
2024/05/20 03:16:36 查询域名信息发生异常! Get "https://alidns.aliyuncs.com/?AccessKeyId=&Action=DescribeSubDomainRecords&DomainName=abcde.cc&Format=JSON&Signature=&SignatureMethod=HMAC-SHA1&SignatureNonce=*&SignatureVersion=1.0&SubDomain=subDomain.abcde.cc&Timestamp=2024-05-19T19%3A16%3A36Z&Type=A&Version=2015-01-09": EOF

当您在进行 HTTP 请求时遇到 "EOF" 错误，这通常表示意外的连接终止或远程服务器突然关闭连接。 "EOF" 代表 "End of File"，这表明在尝试读取响应时意外达到了流的末尾。
用curl测下

感谢作者这么及时的回复！我在开始提交问题之前就已经试过直接打开获取 IP 的域名地址了（但没有用 curl），用内网电脑的 Edge 浏览器打开都是能正常获取 IP 地址的，但是 OP 旁路由中却报上面的错误。我今天白天无意中尝试关闭科学代理，却发现 DDNS 又可以了，但究竟是科学上网的设置导致还是说只要是科学上网就不能使用 DDNS 这个我还搞不懂，请问作者有没有哪些解决的线索或方向可以指导一下？

这个自行搜索，每个人环境不同，不好给建议

license: MIT


text:
This plugin's dialog doesn't look good in Dark Mode

Esp. the BPM pull down menu, when not pressed:

The other colors are not optimal but bearable

Is that also the case if you use an up to date version of the plugin instead?
ISTR some care was taken with BSG when the linear/curved option was introduced to make it work acceptable under dark mode as well.

Hmm, that might help, lemme try...

Outch, sorry...

authors: Jojo-Schmitz jeetee

license_source: bigquery


text:
It's kind of working by

I can now run the project, but in the Xcode iphone simulator I only have  screen with the message "device is ready".

Ah, ok. It's working! time do build something useful!


text:
chore: add v1v and ifernandezcalvo as developers to OpenTelemetry plugin

Description

This PR adds @v1v and @kuisathaverat (ifernandezcalvo) as developers in the list
https://github.com/jenkinsci/opentelemetry-plugin
@cyrille-leclerc
Submitter checklist for adding or changing permissions

Always

[x] Add link to plugin/component Git repository in description above

For a newly hosted plugin only

[ ] Add link to resolved HOSTING issue in description above

For a new permissions file only

[ ] Make sure the file is created in permissions/ directory
[ ] artifactId (pom.xml) is used for name (permissions YAML file).
[ ] groupId / artifactId (pom.xml) are correctly represented in path (permissions YAML file)
[ ] Check that the file is named plugin-${artifactId}.yml for plugins

When adding new uploaders (this includes newly created permissions files)

[x] Make sure to @mention an existing maintainer to confirm the permissions request, if applicable
[x] Use the Jenkins community (LDAP) account name in the YAML file, not the GitHub account name
[x] Make sure to @mention the users being added so their GitHub account names are known if they require GitHub merge access (see below).
[x] All newly added users have logged in to Artifactory at least once

Reviewer checklist (not for requesters!)

[ ] Check this if newly added person also needs to be given merge permission to the GitHub repo (please @ the people/person with their GitHub username in this issue as well). If needed, it can be done using an IRC Bot command
[ ] Check that the $pluginId Developers team has Admin permissions while granting the access.
[ ] In the case of plugin adoption, ensure that the Jenkins Jira default assignee is either removed or changed to the new maintainer.
[ ] If security contacts are changed (this includes add/remove), ping the security officer (currently @daniel-beck) in this pull request. If an email contact is changed, wait for approval from the security officer.

There are IRC Bot commands for it

@v1v You need to log into https://issues.jenkins.io/ and https://repo.jenkins-ci.org/ in order to get a green check here.

@v1v To move on with this PR, please log in to artifactory and jira.

@v1v To move on with this PR, please log in to artifactory and jira.

Need to find out those details, somehow I have a few users, so I'll do it later on and keep you posted when it's done, Thanks for the reminder 🙇

I've just accessed both systems (Jira and Artifactory), I guess I might need to wait for a couple of hours until the validation can be retriggered

No worries and thanks for doing both :)
Is the name you used to log in on both services v1v? I'm asking because neither artifactory nor jira have an account with that name: https://issues.jenkins.io/secure/ViewProfile.jspa?name=v1v

s the name you used to log in on both services v1v? I'm asking because neither artifactory nor jira have an account with that name: https://issues.jenkins.io/secure/ViewProfile.jspa?name=v1v

It's a bit of a mess on my end. v2v is the one in Jenkins.

No worries, thanks for correcting the username!

source: gharchive/pull-request

authors: NotMyFault kuisathaverat v1v


text:
chore: bdd-spring-1576775368 to 0.0.1

chore: Promote bdd-spring-1576775368 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


text:
Delete application bdd-spring-1576837012 from this environment

The command jx delete application was run by  and it generated this Pull Request

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


text:
Improve inline docu by a very small bit

@samrocketman
Nothing major, but some small improvements in the inline documentation.

@samrocketman I hope I got all the tabs :)

I deleted the .tmp files. Also we are going to need a proper java style guide. Whenever I start working on a .java file my IDE wants to reformat the complete file. :(

@bjoernhaeuser feel free to merge this.

I think we need to remove continuous-integration/jenkins/pr-merge as requirec check, its not executed for this PR (assuming its because I created the branch directly here).
Or should I change my workflow to work with a fork?

Merging this now, approval was dismissed because I rebased onto master.

I don't really care whether we work with forks or not.  I added the required status checks so maintainers (including myself) don't accidentally push directly to the branch without reviews and CI verification.

authors: bjoernhaeuser samrocketman

repo: jenkinsci/ghprb-plugin

license: mit


text:
More complete "clean" behavior.

Specifically, remove untracked directories even if they're managed as
part of another git repository. See the documentation for the -d switch
in "git help clean" for a full description.
This seems like the right behavior to me. I can't think of a time
when it would make sense to not delete an untracked directory just because
it happens to be a git repo.
I haven't tested this. Haven't tried to compile. Haven't run unit tests.
Etc.
I was experiencing a problem where part of my build process downloads a
library from the internet. The library contains a .git file with a .gitdir
directive. This caused "git clean -fdx" to error-out during the next build
attempt when run as part of the "Clean after checkout" Git SCM additional
behavior, because it refused to delete the library.
You might be able to reproduce the problem by creating a simple project
in Jenkins. The test project will need to be checked out via Jenkins' Git
source code management plugin. As part of your build steps, add this:
mkdir some_test_dir
echo 'gitdir: /foo/bar' > some_test_dir/.git
Then add the "Clean after checkout" additional behavior under Source
Code Management.
Related bug reports:
https://issues.jenkins-ci.org/browse/JENKINS-21369
https://issues.jenkins-ci.org/browse/JENKINS-23694

Thank you for a pull request! Please check this document for how the Jenkins project handles pull requests

The git client plugin is used by so many users that I'm hesitant to change fundamental behavior without the benefit of tests which confirm that the new behavior is correct and complete.  Can you provide tests which show there is a problem without your commit?
You might refer to the comments on https://github.com/jenkinsci/git-client-plugin/pull/158 for more details on what I think is needed before this type of pull request would be accepted.
For example, I think that if we need more complete clean behavior, we need it for both the CliGit implementation and the JGit implementation.  I think that if we need more complete clean behavior, we need one or more automated tests which confirm that the clean behavior is correct for both the CliGit and JGit implementation.

MarkEWaite: That's a totally reasonable request. Unfortunately I don't know when I'll be able to spend time writing a test (and figuring out how to build the code and run the test, etc).
If anyone else sees this comment, wants to work on this, and has time, please feel free! I'd certainly appreciate it!

This has the ugly side effect of wiping out submodules that still exist though, and those have to be re-downloaded.
This could be avoided by using "git -d clean.requireForce=false clean -dx", but then again that wouldn't remove submodules that are no longer present in the current checkout.

It also has the side effect of ignoring the existing implementation of submodule clean  and submodule reset which are already in the plugin.
I suspect that submoduleClean and submoduleReset don't meet the need that the original submitter is trying to address.  There are enough different use cases to address that I think we really need test cases before this type of behavioral change is accepted into the plugin.

The original use case appears to be "I have dropped a submodule, and would like to have the subdirectory removed when updating the master project", which is a fair expectation in a CI environment -- however the additional "force" flag wipes all submodules, not just those that were dropped.
As soon as a single "force" flag is in effect, the default behaviour of silently skipping directories with their own .git directory goes out of the window. Because clean.requireForce defaults to true, everyone just uses a force flag.
I'm writing a message to the git mailing list outlining the problem.

+1
This issue is hitting us now because of the use of GO in our build environments. A lot of GO projects checkout repos into their build environment using "go get" (e.g. src/github.com/golang/glog). Although the directory where these repos are checked out are included in .gitignore, they do not get cleaned up with git clean -fdx:
$ git clean -fdx
Skipping repository src/github.com/armon/go-metrics

vs
$ git clean -ffdx
Removing src/

Obviously there are workarounds to this problem, but it would be a nice feature to include in the plugin.

I can see use cases (like the "go get" case described by @dasein ) where it would be good to have the more aggressive clean that is described in this pull request.  However, this pull request makes the more aggressive clean the default and seems like it risks frustrating or hindering more users than it helps.
Would it be better, safer and less intrusive to modify the "Clean before checkout" and "Clean after checkout" extensions to allow an additional checkbox to clean even subdirectories containing a ".git" directory?
Submodules in the current repository which are initialized (submodule init) and have been updated (submodule update) seem to be left unharmed by the git clean -xffd on the git versions I checked (git 2.4.2, git 1.7.1, git 1.7.10.4).  Subdirectories which contain a .git directory but are not a result of submodule initialization are left untouched by the current git clean -xfd and are removed by git clean -xffd.
I continue to believe that a change like this definitely needs to be surrounded by tests which show the various interesting failure modes and success modes related to use with submodule processing enabled vs. disabled, with workspaces constructed using techniques like the "go get" case, etc.

Problem is, in a matrix build these submodules aren't abandoned.

:-1: for the proposed pull request specifically for the reason mentioned by @GyrosGeier .  When a matrix project is checked out, in some cases the resulting workspace on the node which hosts the root of the matrix build will include a checkout of the repository.  Beneath that root checkout are any of the actual builds which run on that matrix build.
With that structure (root repo, with nested workspaces under the root repo), a "git clean -xffd" at the root checkout will delete the nested workspaces.
For example, I have a root of a matrix workspace where git clean -xfd reports:
jenkins@mark-pc1:~/jobs/JENKINS-26660-submodule-checkout-does-not-clean-deleted-submodules/workspace$ git clean -n -xfd
Would skip repository jdk/java-6/label/master
Would skip repository jdk/java-7/label/master
Would skip repository jdk/java-8/label/master
Would skip repository label/master
Would skip repository modules/firewall
Would skip repository modules/ntp

The same command with the "extra f" reports:
jenkins@mark-pc1:~/jobs/JENKINS-26660-submodule-checkout-does-not-clean-deleted-submodules/workspace$ git clean -n -xffd
Would remove jdk/
Would remove label/
Would remove modules/

In that case, you want git clean -fdxf -e /jdk -e /label -e /modules.
The -e option adds exclusions to the clean which are not ignored by the -x option.

What's more, we don't use and likely never will the matrix plugin in our large jenkins deployment, but we'd still like to have this functionality. Currently our only option is to disable the "clean" option from the git plugin in all our jobs, then add a step to run git clean -fdxf. Is this the intended workflow in that case?

I don't think you understood the complete set of reasons why the pull request was closed without being merged.
In my ordered priority for reasons not to accept this pull request:

Change of default behavior is likely to harm many more users than it helps
No tests means that each plugin release must be interactively tested to assure this did not regress
Impact of clean -xffd on submodules is likely to frustrate submodule users
Impact of clean -xffd on matrix projects is likely to frustrate matrix project users

More details on those concerns:
Change of default behavior
The change of default behavior for all users of the plugin means that all users are forced to accept the new behavior.  Your proposed change will change the behavior for over 60 000 Jenkins installations.  I'm confident there are many users of the existing behavior in those 60 000+ installations.  If I accept your pull request, then I'll likely have to implement another change to make it optional and to restore the original default behavior.
No Tests
The absence of tests from the pull request means that interactive testing will be needed for each plugin release to assure the change is still having the desired result.  If I accept your pull request "as-is", I accept the responsibility to either write the tests myself, or to test the plugin at every release to assure that your change of behavior has not been lost.
Submodules
Removing submodules with a clean will require that they are downloaded again.  Some submodules are large and mostly static, so users will see the repeated download of those submodules as a waste of time and bandwidth.
Matrix projects
The directory names are examples from a common plugin use case, but they are definitely not the only things that would need to be excluded.
If you really want "clean -xffd", you'll need to add it as an additional, optional behavior, with tests to confirm the new behavior is working as expected.
Could you explain why you need to disable the clean option in your jobs?  If you decide to add a "really-clean" (clean -xffd) as part of the commands in your job, I don't think that prevents you from also using the plugin's own "clean before checkout" or "clean after checkout" optional behaviors.

I did see the other arguments, but only the fourth is valid, so out was the
only one I addressed.

This only differs from existing behavior in a small edge case, wherein
the change results in the expected behavior: a pristine git checkout. I
sincerely doubt you'll find anyone complaining that their git-clean has
resulted in a git that's too clean. Such people don't, in fact, want their
gits cleaned. I believe that the status quo exists solely because the
original dev didn't know of -ff, or they would have used it.
The community has already offered to write tests. The only reason it
isn't done is upstream has already rejected the change. I'll personally
write the tests if I have an indication that this is an otherwise
acceptable change.
Submodules are treated as tracked files, and won't be cleaned regardless
of the number of -f options given. I can demonstrate this upon request. So,
-ff will only result in removed submodules being deleted, which is a
strictly desirable behavior for such projects.

This brings the discussion back to the start of my previous post.
On Tue, Jun 21, 2016, 16:44 Mark Waite notifications@github.com wrote:

I don't think you understood the complete set of reasons why the pull
request was closed without being merged.
In my ordered priority for reasons not to accept this pull request:

Change of default behavior is likely to harm many more users than
it helps
No tests means that each plugin release must be interactively
tested to assure this did not regress
Impact of clean -xffd on submodules is likely to frustrate
submodule users
Impact of clean -xffd on matrix projects is likely to frustrate
matrix project users

More details on those concerns:
Change of default behavior
The change of default behavior for all users of the plugin means that all
users are forced to accept the new behavior. Your proposed change will
change the behavior for over 60 000 Jenkins installations. I'm confident
there are many users of the existing behavior in those 60 000+
installations. If I accept your pull request, then I'll likely have to
implement another change to make it optional and to restore the original
default behavior.
No Tests
The absence of tests from the pull request means that interactive testing
will be needed for each plugin release to assure the change is still having
the desired result. If I accept your pull request "as-is", I accept the
responsibility to either write the tests myself, or to test the plugin at
every release to assure that your change of behavior has not been lost.
Submodules
Removing submodules with a clean will require that they are downloaded
again. Some submodules are large and mostly static, so users will see the
repeated download of those submodules as a waste of time and bandwidth.
Matrix projects
The directory names are examples from a common plugin use case, but they
are definitely not the only things that would need to be excluded.
If you really want "clean -xffd", you'll need to add it as an additional,
optional behavior, with tests to confirm the new behavior is working as
expected.
Could you explain why you need to disable the clean option in your jobs?
If you decide to add a "really-clean" (clean -xffd) as part of the commands
in your job, I don't think that prevents you from also using the plugin's
own "clean before checkout" or "clean after checkout" optional behaviors.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jenkinsci/git-client-plugin/pull/163#issuecomment-227604904,
or mute the thread
https://github.com/notifications/unsubscribe/AAnFSHuhpxeh8ThZYJrz6wdiXEhjrB0Tks5qOHdzgaJpZM4DzecJ
.

I think we simply disagree on the most crucial point.  You say that it differs from existing behavior in a small edge case (multi-configuration projects, which I use frequently), while I say that the difference from existing behavior is a risk to the many users of the plugin.
Why not take the earlier suggestion and make the added clean argument optional instead of changing the default behavior of the plugin?
If you're willing to write tests for the change, aren't you also willing to make the change in a way that preserves compatibility for existing users?
I seem to have missed where the community has offered to write tests for this change.  I'm not sure how I missed that, since I've read through at least 3 different pull requests proposing the same one line change, with no tests to verify the change in behavior from before the change to after the change.
I'm not willing to change the default behavior of the plugin, because I'm aware of at least one case where it has unexpected results (multi-configuration projects).  I am willing to consider the change as an optional setting.

authors: GyrosGeier MarkEWaite bukzor dasein jenkinsadmin markdoliner

repo: jenkinsci/git-client-plugin


text:
Deprecate support for concurrentBuild in Pipeline jobs

Problem
The concurrentBuild field was deprecated and replaced by DisableConcurrentBuildsJobProperty in jenkinsci/workflow-job-plugin#8, which was released in Pipeline: Job 2.4. Use of this deprecated field exposes JENKINS-53775.
Solution
Encourage Job DSL users to move to the non-deprecated DisableConcurrentBuildsJobProperty (which avoids JENKINS-53775) by deprecating the concurrentBuild method in Pipeline jobs in Job DSL.
Implementation
Moved the concurrentBuild method from Job (where it applies both to Pipeline and Freestyle jobs) to Project (where it applies only to Freestyle jobs) and WorkflowJob (where it applies only to Pipeline jobs). The version in WorkflowJob is marked deprecated and can be removed at some point in the future. The version in Project is not marked deprecated and will not be removed.
Testing Done

Used the new syntax to disable concurrent builds for a pipeline job and verified that the XML had  DisableConcurrentBuildsJobProperty as expected and that "Do not allow concurrent builds" was checked when I viewed the generated job in the Jenkins UI.
Used the old syntax to disable concurrent builds for a pipeline job and verified that a deprecation warning was printed, the XML had concurrentBuild as expected, and "Do not allow concurrent builds" was checked when I viewed the generated job in the Jenkins UI.

@basil Huge thanks for figuring this out and for sending a pull request!

authors: basil daspilker

repo: jenkinsci/job-dsl-plugin


text:
Integration in Home Assistant

I'm trying to install the RaspberryMagic Repository to my home assistant setup using Hass.io 2021.09.05.
Upon installing the addon from the custom add-on store I'm getting the following error:
Add-on konnte nicht installiert werden
Can't install ghcr.io/jens-maus/raspberrymatic:3.59.6.20210911: 500 Server Error for http+docker://localhost/v1.41/images/create?tag=3.59.6.20210911&fromImage=ghcr.io%2Fjens-maus%2Fraspberrymatic: Internal Server Error ("manifest unknown")

RaspberryMatic CCU3.59.6.20210911

Sorry @maldag. The new release (3.59.6.20210911) is actually currently in the process of being created and you had the unlucky situation in trying to install it while this process is still not finished. So please wait a few hours or until the new release is officially released, then it should work!

authors: jens-maus maldag

repo: jens-maus/RaspberryMatic


text:
Zeitmodul: große negative Werte für "vor Sonnenaufgang" verursachen einen ReGaHSS Neustart

Describe the issue you are experiencing
Wenn man im Zeitmodul sehr große negative Werte für "von Sonnenaufgang, versetzt um" eingibt, die zu einem Zeitpunkt vor 00:00 führen, wird beim speichern des Programms ein Neustart der ReGaHss durchgeführt. Das Programm wird nicht gespeichert.
Seiteneffekt: große negative Werte für "von Sonnenuntergang, versetzt um" lassen sich speichern, werden aber nicht ausgeführt.

Describe the behavior you expected
kein Neustart
Entweder ungültige Eingaben abfangen oder aber die Zeitpunkte korrekt berechnen und dann auch ein Trigger auslösen.
Steps to reproduce the issue

Programm editieren
Zeitmodul editieren
Versatz für "von Sonnenaufgang" -1450 eingeben
Zeitmodul speichern
Programm speichern
...

What is the version this bug report is based on?
3.63.9.20220513
Which base platform are you running?
ova (Open Virtual Infrastructure)
Which HomeMatic/homematicIP radio module are you using?
n/a
Anything in the logs that might be useful for us?
im Systemprotokoll wird kein Fehler geloggt.
Aber Watchdog sagt: regahss-restart

Additional information
siehe Forum https://homematic-forum.de/forum/viewtopic.php?f=65&t=74598

Ist noch nicht gelöst, oder?


text:
Add Ability to Type Icons via Shorthand

When typing within text fields, add the ability to type an icon based off an assigned shortcut. Instead of pulling up the icon drop-down and manually picking an icon, type something like :vill to automagically insert the villager icon.
This would greatly speed up input process and make the tools easier to adapt. It also seems like the icons don't load very quickly when using the button to insert one. Perhaps this can be optimized?

Thanks! Good suggestion.
I had a similar idea right from the start, but since this is my first web project, I was simply lacking the skills and time to prepare and so went for the easier way that does not involve input parsing. ;)
Same is true for the optimization. I guess, I would have to pre-load the images in the background and cache.
Feel free to get involved.
With 2 kids around, I cannot promise when I will find the time for any of the suggestions.

PS: Found out that it seems to be the vuetify layouter which eats up a lot of time every time you open up the icon selector. Not the images. This icon selector needs optimization, I agree!

For future reference:
https://www.reddit.com/r/vuetifyjs/s/KfSOirk3O7

Mind hitting me up on Discord? I cloned the repo locally and wanted to poke around but not sure how to locally dev against the cloud resources being leveraged. My name is: fitzbro

Sure, once the kids are in bed. Most likely you just need to create an app key to access the dev environment on firebase.
I did some testing on a local branch reg. inline shortcut replacement. Is doable. Cursor placement needs to be solved, though.

This seems to be a good inspiration for autocomplete:
https://medium.com/streak-developer-blog/the-complexities-of-implementing-inline-autocomplete-for-content-editables-e358c0ed504b

implemented in today's release (no autocomplete menu, though)

improved icon selector performance
add icons by shorthand or partial title match inline

authors: erin-fitzpatric jensbuehl


text:
simple http server performance

I'm trying to add this library to golang-graphql-benchmark. I've created a simple http server but it perform very bad, am i doing this right?
package main

import (
	"encoding/json"
	"fmt"

	"github.com/gin-gonic/gin"
	"github.com/jensneuse/abstractlogger"
	"github.com/jensneuse/graphql-go-tools/pkg/execution"
	"github.com/jensneuse/graphql-go-tools/pkg/execution/datasource"
	"github.com/jensneuse/graphql-go-tools/pkg/http"
)

var schema = []byte(`
schema {
  query: Query
}
type Query {
  hello: String!
}
`)

func toJSON(any interface{}) []byte {
	data, _ := json.Marshal(any)
	return data
}

func ggtHandler() gin.HandlerFunc {
	plannerConfig := datasource.PlannerConfiguration{
		TypeFieldConfigurations: []datasource.TypeFieldConfiguration{
			{
				TypeName:  "Query",
				FieldName: "hello",
				Mapping: &datasource.MappingConfiguration{
					Disabled: true,
				},
				DataSource: datasource.SourceConfig{
					Name: "StaticDataSource",
					Config: toJSON(datasource.StaticDataSourceConfig{
						Data: "world",
					}),
				},
			},
		},
	}
	base, _ := datasource.NewBaseDataSourcePlanner(schema, plannerConfig, abstractlogger.NoopLogger)
	base.RegisterDataSourcePlannerFactory("StaticDataSource", datasource.StaticDataSourcePlannerFactoryFactory{})
	executionHandler := execution.NewHandler(base, nil)
	executionHandler.Handle([]byte("query {hello}"), nil)
	r := http.NewGraphqlHTTPHandlerFunc(executionHandler, abstractlogger.NoopLogger, nil)
	fmt.Println("ok")

	return func(c *gin.Context) {
		r.ServeHTTP(c.Writer, c.Request)
	}
}

func main() {

	r := gin.New()
	r.POST("/graphql", ggtHandler())

	fmt.Println("Now server is running on port 8080")
	fmt.Println("Test with POST      : curl -g --request POST 'http://localhost:8080/graphql?query={hello}'")
	r.Run() // listen and serve on 0.0.0.0:8080
}

graphql-go-tools result:
❯ wrk -t12 -c400 -d5s --timeout 10s --script=golang/post.lua --latency http://localhost:8080/graphql
Running 5s test @ http://localhost:8080/graphql
  12 threads and 400 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    69.30ms   95.08ms 848.21ms   86.50%
    Req/Sec     1.00k   278.66     2.77k    71.52%
  Latency Distribution
     50%   26.68ms
     75%  109.12ms
     90%  196.78ms
     99%  408.77ms
  59497 requests in 5.09s, 7.60MB read
Requests/sec:  11684.25
Transfer/sec:      1.49MB

gqlgen result:
❯ wrk -t12 -c400 -d5s --timeout 10s --script=golang/post.lua --latency http://localhost:8080/graphql
Running 5s test @ http://localhost:8080/graphql
  12 threads and 400 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     5.02ms    8.17ms 151.58ms   92.29%
    Req/Sec    10.34k     2.78k   36.27k    84.75%
  Latency Distribution
     50%    2.56ms
     75%    7.05ms
     90%   12.13ms
     99%   27.94ms
  631983 requests in 5.10s, 80.76MB read
Requests/sec: 123909.34
Transfer/sec:     15.83MB

This variant should be a lot faster.
However this still isn't optimized for performance as this was not yet the focus of the development.
There's also some abstraction missing to make it easier to use and less verbose.
That said you can give it a try and see how it compares.
https://github.com/jensneuse/graphql-go-
tools/blob/a4ca63c56ee7dafb65d575b71872fe1dfa07219a/pkg/graphql/execution_engine_test.go#L242
When I find the time I can add a handler with some optimizations to make it actually fast. Currently I'm more focused on making it work/implementing more features. Performance can be improved later.
Let me know about your results.

yes that was faster, but I think it can improved even further:
package main

import (
	"context"
	"encoding/json"
	"fmt"
	"io/ioutil"
	"sync"

	"github.com/gin-gonic/gin"
	"github.com/jensneuse/abstractlogger"
	"github.com/jensneuse/graphql-go-tools/pkg/execution/datasource"
	"github.com/jensneuse/graphql-go-tools/pkg/graphql"
)

func stringify(any interface{}) []byte {
	data, _ := json.Marshal(any)
	return data
}

func ggtHandler() gin.HandlerFunc {
	newEngine := func() *graphql.ExecutionEngine {
		schema, _ := graphql.NewSchemaFromString(`type Query { hello: String}`)
		plannerConfig := datasource.PlannerConfiguration{
			TypeFieldConfigurations: []datasource.TypeFieldConfiguration{
				{
					TypeName:  "query",
					FieldName: "hello",
					Mapping: &datasource.MappingConfiguration{
						Disabled: true,
					},
					DataSource: datasource.SourceConfig{
						Name: "HelloDataSource",
						Config: stringify(datasource.StaticDataSourceConfig{
							Data: "world",
						}),
					},
				},
			},
		}
		engine, _ := graphql.NewExecutionEngine(abstractlogger.NoopLogger, schema, plannerConfig)
		engine.AddDataSource("HelloDataSource", datasource.StaticDataSourcePlannerFactoryFactory{})
		return engine
	}

	ctx := context.Background()
	pool := sync.Pool{
		New: func() interface{} {
			return newEngine()
		},
	}

	return func(c *gin.Context) {
		data, _ := ioutil.ReadAll(c.Request.Body)
		var req graphql.Request
		json.Unmarshal(data, &req)
		engine := pool.Get().(*graphql.ExecutionEngine)
		engine.ExecuteWithWriter(ctx, &req, c.Writer, graphql.ExecutionOptions{})
		pool.Put(engine)
	}
}

func main() {

	r := gin.New()
	r.POST("/graphql", ggtHandler())

	fmt.Println("Now server is running on port 8080")
	fmt.Println("Test with POST      : curl -g --request POST 'http://localhost:8080/graphql?query={hello}'")
	r.Run() // listen and serve on 0.0.0.0:8080
}

wrk -t12 -c400 -d5s --timeout 10s --script=golang/post.lua --latency http://localhost:8080/graphql
Running 5s test @ http://localhost:8080/graphql
  12 threads and 400 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    25.84ms   35.32ms 382.15ms   85.37%
    Req/Sec     2.76k     0.91k   17.63k    88.32%
  Latency Distribution
     50%    9.94ms
     75%   40.52ms
     90%   73.62ms
     99%  155.48ms
  167347 requests in 5.06s, 22.82MB read
Requests/sec:  33090.04
Transfer/sec:      4.51MB

authors: jensneuse sijad

repo: jensneuse/graphql-go-tools


text:
Nested BSONDocument and BSONArray

Hi, please can anyone answer me? Only I have a problem with nested object element after aggregation ?  Maybe I don't know something ?
When I have elements with nested object or array they have BSONDocument or BSONArray.
I have created pull request, but  don't have a feedback, now I use my fork.
It would be great, if it was in original package.

For Laravel 5.3
Aggregate method return BSONDocument
Use function bsonSerialize convert to array
https://github.com/mongodb/mongo-php-library/blob/master/src/Model/BSONArray.php
Example for method Model
$tags = self::raw(function($collection) use ($query) {
                    return $collection->aggregate($query);
                });

        foreach ($tags as $item) {

            if (isset($item->_id) && gettype($item->_id) == "object" && get_class($item->_id) == "MongoDB\Model\BSONArray") {

                $bsonSerialize = $item->_id->bsonSerialize();

                $item->_id = array_shift($bsonSerialize);
            }
        }

Its Works

@uriel2707  It's not working.  Please help me out I got stuck for past 1 month.

@prashant-pokhriyal  Other option parse element
function formatTypeBson($item) {

$response= NULL;
        if (isset($item) && gettype($item) == "object" && (get_class($item) == "MongoDB\Model\BSONArray" || get_class($item) == "MongoDB\Model\BSONDocument")) {

            $bsonSerialize = $item->bsonSerialize();

            $response = array_values((array)$bsonSerialize);
        } else if (isset($item) && gettype($item) == "object" && get_class($item) == "MongoDB\BSON\UTCDateTime") {

            $response = $item->toDateTime();
        }

return $response;
    }

repo: jenssegers/laravel-mongodb


text:
No suitable servers found (serverSelectionTryOnce set)

I am trying to connect to monogo db on localhost,but its giving me this error.

No suitable servers found (`serverSelectionTryOnce` set): [TLS handshake failed: error:00000000:lib(0)
:func(0):reason(0) calling ismaster on 'localhost:27017']
 at C:\Users\admin\Desktop\test\test\vendor\mongodb\mongodb\src\Database.php: 338
    334|      */
    335|     public function listCollections(array $options = [])
    336|     {
    337|         $operation = new ListCollections($this->databaseName, $options);
  > 338|         $server = $this->manager->selectServer(new ReadPreference(ReadPreference::RP_PRIMARY));
    339|
    340|         return $operation->execute($server);
    341|     }
    342|

  Exception trace:

  1   MongoDB\Driver\Manager::selectServer(Object(MongoDB\Driver\ReadPreference))
      C:\Users\admin\Desktop\test\test\vendor\mongodb\mongodb\src\Database.php : 338

  2   MongoDB\Database::listCollections()
      C:\Users\admin\Desktop\test\test\vendor\jenssegers\mongodb\src\Jenssegers\Mongodb\Schema\Builder.php : 44

  Please use the argument -v to see more details.

My settings are as follows for localhost :
'mongodb' => [
            'driver' => 'mongodb',
            'host' => 'localhost',
            'port'     => env('DB_MONGO_PORT', 27017),
            'database' => env('DB_MONGO_DATABASE'),
            'username' => env('DB_MONGO_USERNAME'),
            'password' => env('DB_MONGO_PASSWORD'),
        ],

I tried this with mongo alas with following settings
**SETTING 01 : **
'mongodb' => [
           'driver' => 'mongodb',
           'host' => [
               'example-shard-00-00-zhvkn.mongodb.net:27017',
               'example-shard-00-01-zhvkn.mongodb.net:27017',
               'example-shard-00-02-zhvkn.mongodb.net:27017'
           ],
           'database' => 'exampleDB',
           'username' => 'example',
           'password' => 'example',
           'options' => [
               'replicaSet' => 'example-shard-0',
               'ssl' => 'true',
               'authSource' => 'admin'
           ]
       ],

***SETTING 02 ***

 'mongodb' => [
            'driver' => 'mongodb',
            'dsn'=>'mongodb://username:password@host1,host2/database?ssl=true&replicaSet=replicaSet&authSource=admin',
            'database' => 'exampleDB',
        ],

Can anyone please guide me how can i fix this issue.
PS: i can access to these database with mongodb compass and can work with at ease so, my guessing is the database is working fine. its just the sttings or something.
Thanks

Did you solve this? I'm in the same stage.

I have a same problem, but it's only happen in Laravel 5.6, in 5.5 and lower, it's don't happen

Ok, for me, the solution was removing the user/pass:
  'username' => 'example',
  'password' => 'example',

It seems there's no need for it.

I use the second setting and don't work, I tried downgrade the mongodb composer lib, but only downgrade the Laravel and laravel-mongodb lib work to me.
I dump the laravel-mongodb lib to get who sended to mongodb lib and was correct.

@libasoles Hi can you please share your complete settings :))
I hope that is ok. I still could not find the solution

Same problem here trying to connect to AWS DocumentDB - I believe the problem is the driver can't verify the cert vs a known PEM.  I have been trying to use the 'driver_options' => [ 'context' => stream_context_create([     'ssl' => [ block but this causes further issues for me stating the context isn't valid, though it really does appear to be.  Anyone have any further luck?

Please see if this helps - if it does, please let me know / comment on the PR, would love to get it merged.
GH-1751


text:
Save Migration History in mongodb

How can i save the migration history in mongodb? As currently its being saved in mysql in migrations table.

@idnan Did you setup your default mongo connection ?  Check here

@pi0 yep i know about this one. But i have a different scenario. I have both migrations for mysql and mongodb.
Now i want a model MysqlMigration and MongoMigration or something like this.
So if the migration is extended from MysqlMigration then the migration history should save in mysql.
And if the migration is extended from MongoMigration then the migration history should save in mongodb.

If you see base Migration class (https://github.com/illuminate/database/blob/master/Migrations/Migration.php)
<?php
namespace Illuminate\Database\Migrations;
abstract class Migration
{
    /**
     * The name of the database connection to use.
     *
     * @var string
     */
    protected $connection;
    /**
     * Get the migration connection name.
     *
     * @return string
     */
    public function getConnection()
    {
        return $this->connection;
    }
}

You can simply override and change $connection variable to either default or mysql for each individual migration :)

I got it resolved by using the --database & --path on the artisan migrate command.


text:
🛑 Wanted Gigs is down

In 0acc8a8, Wanted Gigs (https://www.wanted.co.kr/gigs) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Wanted Gigs is back up in 290cdc9.

repo: jeongsk/upptime


text:
Add a lint for asm blocks that should be marked volatile

While we shouldn't make it impossible to write non-volatile ASM (maybe the programmer wants to allow compiler optimizations), we should give a warning whenever it looks like the compiler might elide an asm block.
According to https://gcc.gnu.org/onlinedocs/gcc-4.7.2/gcc/Extended-Asm.html, a non-volatile asm block might be elided by GCC if

"all the output operands you specify are for th[e] purpose [of clobbering inputs] (and hence unused)"
"the memory affected [by a clobber] is not listed in the inputs or outputs of the asm, as the 'memory' clobber does not count as a side-effect of the asm"

One exception: "An asm instruction without any output operands will be treated identically to a volatile asm instruction." So no warning is needed in that case.
It's not clear to me right now how LLVM's rules for optimizing inline ASM compare to GCC's rules. I'll have to look into it before adding the lint.

Also, since we can't actually tell when the logic of a particular program won't require a volatile asm block, we can't reasonably make the opposite lint (i.e. a warning when "volatile" is used unnecessarily). There would need to be a way to opt out of the warning, and every way to do that seems too verbose.


text:
Typo fix

'getRegistrableDomain' should be 'getRegisterableDomain'

I don't think this is a type.  For one, "registrable" and not "registerable" is the actual name of the method within the library, not just in this instance but throughout.  Second, I believe "registrable" is the preferred spelling.
http://www.merriam-webster.com/dictionary/registrable

see also #85

Thanks for the PR! As @mikegreiling said, the corrected spelling is, uh, correct for what will become the latest version of php-domain-parser.

Ahh ok, got it. It's already changed in the code for the next release, but not on packagist ;-)
A bit confusing, since packagist grabs an older version and people check github for the docs. The docs in the package are correct. This PR can indeed be closed.

A bit confusing, since packagist grabs an older version and people check github for the docs.

Totally understand. Sorry for the confusion.

authors: jeremykendall marknl mikegreiling

repo: jeremykendall/php-domain-parser


text:
Getting permissions per user object

When I attach role to user and use $user->roles, I get all roles that are attached to that user.
But when I attach permission to user, I do get connection in permission_user table but when I use $user->permissions I get null always.
I can get only all permissions by using $user->getPermissions(), but those are all within permission_user table and those from roles relations.
Is that supposed to work like that or not? Thanks

I found out from your other answers that it is usable as ->permissions but inside Traits/HasRoleAndPermission.php method is called userPermissions.

That’s the way is supposed to be

authors: jeremykenedy sorasanin

repo: jeremykenedy/laravel-roles


text:
icu4j-58.2.jar mis-identified as C/C++ implementation of ICU

There are two known vulnerabilities in the C/C++ implementation of International Components for Unicode (ICU): CVE-2017-7867 and CVE-2017-7868.
Dependency checker is correctly identifying icu4j version 58.2 as what it is, but is then associating it with these two CVEs, which is not correct as they don't affect the java implementation (insofar as the research I've done shows).
Log attached:
dependency-check.log.zip
<dependency>
    <fileName>icu4j-58.2.jar</fileName>
    <filePath>/root/.gradle/caches/modules-2/files-2.1/com.ibm.icu/icu4j/58.2/db9fd4b4c189cf1518db14c67d14a2cfcfbe59f6/icu4j-58.2.jar</filePath>
    <md5>605d8a0276a280ff6332c3bd26071180</md5>
    <sha1>db9fd4b4c189cf1518db14c67d14a2cfcfbe59f6</sha1>
    <description>
International Component for Unicode for Java (ICU4J) is a mature, widely used Java library
providing Unicode and Globalization support
</description>
    <license>Unicode/ICU License: http://source.icu-project.org/repos/icu/trunk/icu4j/main/shared/licenses/LICENSE</license>
    <evidenceCollected>
        <evidence type="vendor" confidence="HIGHEST">
            <source>central</source>
            <name>groupid</name>
            <value>com.ibm.icu</value>
        </evidence>
        <evidence type="vendor" confidence="HIGH">
            <source>file</source>
            <name>name</name>
            <value>icu4j</value>
        </evidence>
        <evidence type="vendor" confidence="LOW">
            <source>jar</source>
            <name>package name</name>
            <value>ibm</value>
        </evidence>
        <evidence type="vendor" confidence="LOW">
            <source>jar</source>
            <name>package name</name>
            <value>icu</value>
        </evidence>
        <evidence type="vendor" confidence="LOW">
            <source>Manifest</source>
            <name>bundle-copyright</name>
            <value>Copyright 2000-2016, International Business Machines Corporation and others.  All Rights Reserved.</value>
        </evidence>
        <evidence type="vendor" confidence="MEDIUM">
            <source>manifest</source>
            <name>Bundle-Description</name>
            <value>International Components for Unicode for Java</value>
        </evidence>
        <evidence type="vendor" confidence="LOW">
            <source>Manifest</source>
            <name>bundle-requiredexecutionenvironment</name>
            <value>JavaSE-1.6</value>
        </evidence>
        <evidence type="vendor" confidence="MEDIUM">
            <source>Manifest</source>
            <name>bundle-symbolicname</name>
            <value>com.ibm.icu</value>
        </evidence>
        <evidence type="vendor" confidence="HIGH">
            <source>Manifest</source>
            <name>Implementation-Vendor</name>
            <value>IBM Corporation</value>
        </evidence>
        <evidence type="vendor" confidence="MEDIUM">
            <source>Manifest</source>
            <name>Implementation-Vendor-Id</name>
            <value>com.ibm</value>
        </evidence>
        <evidence type="vendor" confidence="LOW">
            <source>Manifest</source>
            <name>specification-vendor</name>
            <value>icu-project.org</value>
        </evidence>
        <evidence type="vendor" confidence="LOW">
            <source>pom</source>
            <name>artifactid</name>
            <value>icu4j</value>
        </evidence>
        <evidence type="vendor" confidence="LOW">
            <source>pom</source>
            <name>description</name>
            <value>International Component for Unicode for Java (ICU4J) is a mature, widely used Java library providing Unicode and Globalization support</value>
        </evidence>
        <evidence type="vendor" confidence="HIGHEST">
            <source>pom</source>
            <name>groupid</name>
            <value>ibm.icu</value>
        </evidence>
        <evidence type="vendor" confidence="HIGH">
            <source>pom</source>
            <name>name</name>
            <value>ICU4J</value>
        </evidence>
        <evidence type="vendor" confidence="HIGHEST">
            <source>pom</source>
            <name>url</name>
            <value>http://icu-project.org/</value>
        </evidence>
        <evidence type="product" confidence="HIGHEST">
            <source>central</source>
            <name>artifactid</name>
            <value>icu4j</value>
        </evidence>
        <evidence type="product" confidence="HIGH">
            <source>file</source>
            <name>name</name>
            <value>icu4j</value>
        </evidence>
        <evidence type="product" confidence="LOW">
            <source>jar</source>
            <name>package name</name>
            <value>icu</value>
        </evidence>
        <evidence type="product" confidence="LOW">
            <source>Manifest</source>
            <name>bundle-copyright</name>
            <value>Copyright 2000-2016, International Business Machines Corporation and others.  All Rights Reserved.</value>
        </evidence>
        <evidence type="product" confidence="MEDIUM">
            <source>manifest</source>
            <name>Bundle-Description</name>
            <value>International Components for Unicode for Java</value>
        </evidence>
        <evidence type="product" confidence="MEDIUM">
            <source>Manifest</source>
            <name>Bundle-Name</name>
            <value>ICU4J</value>
        </evidence>
        <evidence type="product" confidence="LOW">
            <source>Manifest</source>
            <name>bundle-requiredexecutionenvironment</name>
            <value>JavaSE-1.6</value>
        </evidence>
        <evidence type="product" confidence="MEDIUM">
            <source>Manifest</source>
            <name>bundle-symbolicname</name>
            <value>com.ibm.icu</value>
        </evidence>
        <evidence type="product" confidence="HIGH">
            <source>Manifest</source>
            <name>Implementation-Title</name>
            <value>International Components for Unicode for Java</value>
        </evidence>
        <evidence type="product" confidence="MEDIUM">
            <source>Manifest</source>
            <name>specification-title</name>
            <value>International Components for Unicode for Java</value>
        </evidence>
        <evidence type="product" confidence="HIGHEST">
            <source>pom</source>
            <name>artifactid</name>
            <value>icu4j</value>
        </evidence>
        <evidence type="product" confidence="LOW">
            <source>pom</source>
            <name>description</name>
            <value>International Component for Unicode for Java (ICU4J) is a mature, widely used Java library providing Unicode and Globalization support</value>
        </evidence>
        <evidence type="product" confidence="LOW">
            <source>pom</source>
            <name>groupid</name>
            <value>ibm.icu</value>
        </evidence>
        <evidence type="product" confidence="HIGH">
            <source>pom</source>
            <name>name</name>
            <value>ICU4J</value>
        </evidence>
        <evidence type="version" confidence="HIGHEST">
            <source>central</source>
            <name>version</name>
            <value>58.2</value>
        </evidence>
        <evidence type="version" confidence="HIGHEST">
            <source>file</source>
            <name>version</name>
            <value>58.2</value>
        </evidence>
        <evidence type="version" confidence="HIGH">
            <source>Manifest</source>
            <name>Implementation-Version</name>
            <value>58.2</value>
        </evidence>
        <evidence type="version" confidence="HIGHEST">
            <source>pom</source>
            <name>version</name>
            <value>58.2</value>
        </evidence>
    </evidenceCollected>
    <identifiers>
        <identifier type="maven" confidence="HIGHEST">
            <name>(com.ibm.icu:icu4j:58.2)</name>
            <url>http://search.maven.org/remotecontent?filepath=com/ibm/icu/icu4j/58.2/icu4j-58.2.jar</url>
        </identifier>
        <identifier type="cpe" confidence="HIGHEST">
            <name>(cpe:/a:icu_project:international_components_for_unicode:58.2)</name>
            <url>https://web.nvd.nist.gov/view/vuln/search-results?adv_search=true&cves=on&cpe_version=cpe%3A%2Fa%3Aicu_project%3Ainternational_components_for_unicode%3A58.2</url>
        </identifier>
    </identifiers>
    <vulnerabilities>
        <vulnerability>
            <name>CVE-2017-7868</name>
            <cvssScore>5.0</cvssScore>
            <cvssAccessVector>NETWORK</cvssAccessVector>
            <cvssAccessComplexity>LOW</cvssAccessComplexity>
            <cvssAuthenticationr>NONE</cvssAuthenticationr>
            <cvssConfidentialImpact>NONE</cvssConfidentialImpact>
            <cvssIntegrityImpact>NONE</cvssIntegrityImpact>
            <cvssAvailabilityImpact>PARTIAL</cvssAvailabilityImpact>
            <severity>Medium</severity>
            <cwe>CWE-787 Out-of-bounds Write</cwe>
            <description>International Components for Unicode (ICU) for C/C++ before 2017-02-13 has an out-of-bounds write caused by a heap-based buffer overflow related to the utf8TextAccess function in common/utext.cpp and the utext_moveIndex32* function.</description>
            <references>
                <reference>
                    <source>MISC</source>
                    <url>https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=437</url>
                    <name>https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=437</name>
                </reference>
                <reference>
                    <source>BID</source>
                    <url>http://www.securityfocus.com/bid/97674</url>
                    <name>97674</name>
                </reference>
                <reference>
                    <source>MISC</source>
                    <url>http://bugs.icu-project.org/trac/changeset/39671</url>
                    <name>http://bugs.icu-project.org/trac/changeset/39671</name>
                </reference>
            </references>
            <vulnerableSoftware>
                <software allPreviousVersion="true">cpe:/a:icu_project:international_components_for_unicode:58.2</software>
            </vulnerableSoftware>
        </vulnerability>
        <vulnerability>
            <name>CVE-2017-7867</name>
            <cvssScore>5.0</cvssScore>
            <cvssAccessVector>NETWORK</cvssAccessVector>
            <cvssAccessComplexity>LOW</cvssAccessComplexity>
            <cvssAuthenticationr>NONE</cvssAuthenticationr>
            <cvssConfidentialImpact>NONE</cvssConfidentialImpact>
            <cvssIntegrityImpact>NONE</cvssIntegrityImpact>
            <cvssAvailabilityImpact>PARTIAL</cvssAvailabilityImpact>
            <severity>Medium</severity>
            <cwe>CWE-787 Out-of-bounds Write</cwe>
            <description>International Components for Unicode (ICU) for C/C++ before 2017-02-13 has an out-of-bounds write caused by a heap-based buffer overflow related to the utf8TextAccess function in common/utext.cpp and the utext_setNativeIndex* function.</description>
            <references>
                <reference>
                    <source>MISC</source>
                    <url>https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=213</url>
                    <name>https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=213</name>
                </reference>
                <reference>
                    <source>MISC</source>
                    <url>http://bugs.icu-project.org/trac/changeset/39671</url>
                    <name>http://bugs.icu-project.org/trac/changeset/39671</name>
                </reference>
                <reference>
                    <source>BID</source>
                    <url>http://www.securityfocus.com/bid/97672</url>
                    <name>97672</name>
                </reference>
            </references>
            <vulnerableSoftware>
                <software allPreviousVersion="true">cpe:/a:icu_project:international_components_for_unicode:58.2</software>
            </vulnerableSoftware>
        </vulnerability>
    </vulnerabilities>
</dependency>

Thanks, a patch will be included in the next release.

Thanks!

authors: jdimmerman jeremylong

repo: jeremylong/DependencyCheck


text:
undeclared identifier 'lua_pushunsigned'

Hello,
I've cloned the git repository, copied the include dir as contrib/selene (which is in the include path). When trying to build my stuff I'm getting the following error:
In file included from ../../contrib/selene/selene.h:3:
In file included from ../../contrib/selene/selene/State.h:6:
In file included from ../../contrib/selene/selene/Registry.h:3:
In file included from ../../contrib/selene/selene/Class.h:3:
In file included from ../../contrib/selene/selene/ClassFun.h:3:
In file included from ../../contrib/selene/selene/BaseFun.h:3:
In file included from ../../contrib/selene/selene/exotics.h:3:
In file included from ../../contrib/selene/selene/function.h:6:
../../contrib/selene/selene/primitives.h:293:5: error: use of undeclared identifier 'lua_pushunsigned'; did you mean 'lua_pushinteger'?
    lua_pushunsigned(l, u);
    ^~~~~~~~~~~~~~~~
    lua_pushinteger
/usr/local/include/lua53/lua.h:224:22: note: 'lua_pushinteger' declared here
LUA_API void        (lua_pushinteger) (lua_State *L, lua_Integer n);
                     ^
../src/main.cc:21:4: error: no matching function for call to object of type 'Lua'
                        c_lua(c_initlua);
                        ^~~~~
../../contrib/selene/selene/State.h:120:10: note: candidate function not viable: no known conversion from 'std::string' (aka 'basic_string<char,
      char_traits<char>, allocator<char> >') to 'const char *' for 1st argument
    bool operator()(const char *code) {
         ^
7 errors generated.
*** Error code 1

Could you please tell what am I doing wrong here? I guess it should work, and it's HEAD.

Oh, and I'm using Lua5.3. Sorry for forgetting about this.

repo: jeremyong/Selene

license: Zlib


text:
Additional Mysql connection parameters

Hi,
I would like to use Pynonymizer tool connecting to AWS RDS Mysql instances.
But for Mysql RDS connexion, we require to set Mysql SSL connexion parameters.
Currently, pynonymizer provides a way to provide Mysql dump additional parameters via "additional_opts" and "dump_opts" (in MySqlDumpRunner).
But for Mysql queries execution, it's not possible to provide any additional options, so that we can configure the SSL for Mysql connection.
May be you could in the class MySqlCmdRunner the same additional options as in MySqlDumpRunner class (https://github.com/jerometwell/pynonymizer/blob/02593b18e6f2ae3b173689d518e138d002551e03/pynonymizer/database/mysql/execution.py#L16).

Hi, I would like to support this properly and allow some kind of unrestricted access to the underlying dump/cmd CLIs, as there's clearly a complex list of requirements that i don't want to re-implement 😇 I don't have an estimate for you right now but i'll keep this issue updated with any progress.
As a workaround, the subprocess call should copy in the current environment, so you might be able to set options in the underlying mysql call by setting the environment vars or default config files like my.cnf- might be something to explore if this is important.

@jerometwell yes that was my plan to add my.cnf file, waiting for your implementation.
Thanks for your support, and congrats because your tool is really nice.

Oops, I'm not sure Closing this issue is what i want.
I've just merged this feature. If you can test on master, that would be great, otherwise This should go out with v1.17.0 over the next few days.

pynonymizer v1.17.0 has been released, please check and report any issues 😇 !
https://pypi.org/project/pynonymizer/1.17.0/

I had to set up custom SSL with Postgres and this didn't work (perhaps unsurprisingly):
additional_opts = "sslmode=verify-ca sslrootcert=/certs/server-ca.pem sslcert=/certs/client-cert.pem sslkey=/certs/client-key.pem"

But I managed with environment variables:
            - name: PGSSLMODE
              value: "verify-ca"
            - name: PGSSLCERT
              value: "/certs/client-cert.pem"
            - name: PGSSLKEY
              value: "/certs/client-key.pem"
            - name: PGSSLROOTCERT
              value: "/certs/server-ca.pem"

Not sure if this solves the issue with MySQL but thought I should share as this is the only Github issue about SSL.

authors: daaain jerometwell nladuguie

repo: jerometwell/pynonymizer


text:
Output connection lines do not align when importing the saved data

Hi,
As soon as I import the data back onto the canvas, the connection lines (specifically the output) are not aligning up.
When I start from fresh and draw nodes/lines, they connect fine. It's ONLY when I import the data.
Also, as soon as I move a node, the lines automatically fix themselves.
I'm using your  (Fix vertical lines script - editor.createCurvature), because my input/output is top/bottom. Does this refresh or does it need to be called again?
I've looked at the solutions from other posts and have tried implementing those fixes, but still not having any luck aligning the lines again to their respective outputs (when importing).
I've tested both on Chrome and Firefox and Smartphone too, getting the same exact issue across all devices.
I load the editor by default in zoom level 0.8.  I've even reset the zoom levels back to 1 and tried saving it that way, but still no luck.
I've had a look at issue #218. But I'm not zooming out in Chrome (it's at 100%).
This is how I initiate editor:
editor.reroute_fix_curvature = true;
editor.start();
editor.zoom = 0.6;
editor.zoom_max = 0.8;
editor.zoom_min = 0.2;
editor.zoom_refresh();
editor.import(dataToImport);
I've also updated the CSS with:
.drawflow .connection {
position: absolute;
pointer-events: none;
aspect-ratio: 1 / 1;
width: 1000000px;
height: 1000000px;
}
But none of them have helped.
I've attached screenshot for you to see. Any help would be much appreciated.

thanks.

This usually happens because the css has not yet been loaded and drawflow has already been launched.
Do you have the css before the javascript?
If you can't try this other: settimeout

https://github.com/jerosoler/Drawflow/issues/286

Yes, I have all the CSS first loading in between the  tag, and then at the very bottom I have the "drawflow.min.js" script and the rest of the Javascript to initiate and load it.
How would I use the "settimeout" exactly, do I import the "drawflow.min.js" script after a few seconds OR do I put the "editor.start()" in a settimeout function?
thanks.

On editor.start(); or editor.import();
The start and import methods need all the css to be loaded, to correctly get the position of the nodes.

Yeh I gave that a shot and it didn't work. I don't think it's to do with the CSS being delayed.  I set the timeout to 5, 10 seconds, but when drawflow finally loaded/imported, the lines were still out of place.
What I did was, using the editor.on('import') function (which executes once import is done I'm assuming), I loop through all the nodes and update the connections using "updateConnectionNodes()".
But I even had to put this in settimeout function of half a second. But the lines end up being fixed.
Does that give you any clues to what the underlying issue could be?
Hopefully my method won't slow down too much when there are over 50 nodes? What are your thoughts, is it an ideal temporary solution?

Try this, if this works correctly.
editor.import(editor.export());

Try adding the drawflow style to a css file and not to the component itself.
Are you using any vue or react type library?

I replaced "editor.import(dataFromDB)" with "editor.import(editor.export();", but no luck. It didn't load anything.
I'm using straight native Javascript and Jquery.

Does this example work for you?
<!DOCTYPE html>

  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/jerosoler/Drawflow/dist/drawflow.min.css"/>

Yes, that above example works and the lines match up.
So could it be in the way I'm saving the export?
But then again, if it was broken, the lines wouldn't show or match at all. It seems like they're just a little off on my version.

Can you provide the html? Or a codepen to see the problem?

I went ahead and created a basic HTML test version (stripped down to bare minimal), and when I tested it with the same import data, the lines worked fine. So it must be something on my other page.
I went through the code and realised I have a script that automatically runs through each node to update their heights to match their content. And that's what was causing the lines not to match up.
Because drawflow was drawing the lines based on initial height of the nodes (on load), but then the other resize() script would execute and change the height (without updating the connections).
I know the issue and how to fix it now.
Thanks for your thoughts and fixes on this issue Jero, much apreciated because it helped me figure out the issue.

@jerosoler , Hey man, I'm facing a similar issue. In the body of the nodes I have texts of various sizes and they stretch the nodes. I'm using vue. After import the connections are misaligned. If I move a node just slightly it rearranges perfectly.
Is there a way for me to programmatically trigger this redraw?

authors: alextenev gpack jerosoler

repo: jerosoler/Drawflow


text:
temporal.now require  nanosecond accuracy

According to
https://tc39.es/proposal-temporal/docs/now.html#instant,
The Temporal.Now.instant() are improved the  accuracy over Date.now from
millisecond to nanosecond, that's need tthe jerryscript's port API to support nanosecond precision

According to the proposal:

Returns: a Temporal.Instant object representing the current system time.

I'm going to refer to my previous comment on this topic.
Is there actually a platform in existence that supports true nanosecond clock resolution for the system clock? So far I have yet to see any, but if I'm wrong then please correct me.
As such, even if the proposed Temporal object is able to store a time value in nanosecond precision does not mean that underlying hardware has sufficiently high precision timers, or that operating systems provide a way to query timers in that precision.
I think the way the proposal should be interpreted is the following: Take the current system time using the highest precision clock available, and scale it to nanoseconds. For this purpose the current port function is already more than sufficient.

According to the proposal:

Returns: a Temporal.Instant object representing the current system time.

I'm going to refer to my previous comment on this topic.
Is there actually a platform in existence that supports true nanosecond clock resolution for the system clock? So far I have yet to see any, but if I'm wrong then please correct me.

Hi, on windows, the system clock is 100ns, on most posix platform, it's nanosecond, please refer to
clock_gettime

As such, even if the proposed Temporal object is able to store a time value in nanosecond precision does not mean that underlying hardware has sufficiently high precision timers, or that operating systems provide a way to query timers in that precision.
I think the way the proposal should be interpreted is the following: Take the current system time using the highest precision clock available, and scale it to nanoseconds. For this purpose the current port function is already more than sufficient.

Well, in my experience the tv_nsec member never actually contains nanosecond precision values, it's always a multiple of 1000. I'm also rather skeptical about the 100ns resolution in Windows, I would say it's also pretty likely that it's not fully utilized.
However you are correct that at least there are possibilities to query in (close to) nanosecond precision. I guess it would probably make sense to update the port function to resemble clock_gettime, just in case, even if we can't fully utilize it yet.

authors: dbatyai lygstate

repo: jerryscript-project/jerryscript


text:
Fix API docs

The #2043 introduced a bit of error in the API
docs as there was missing backticks.
JerryScript-DCO-1.0-Signed-off-by: Peter Gal pgal.u-szeged@partner.samsung.com

LGTM

authors: galpeter yichoi


text:
Fetch and upload keys from/to keyservers

In order to provide all required features for all-day PGP use, It would be great to have support for key server communication such as searching keys by ID, Fingerprint or mail address, fetching found keys and uploading keys to self-specified key servers.
Are there any plans to integrate key server support?

Hi @TheOneWithTheBraid  thanks for send that suggestion, At the moment there are no plans to add that functionality, but I will investigate about it, maybe it can be added now that protobuf is used

authors: TheOneWithTheBraid jerson

repo: jerson/flutter-openpgp


text:
Small bug in sift.py of PCV-note

Hi Jan Erik,
I found a small bug in the code of PCV/pcv_book/sift.py.
https://github.com/jesolem/PCV/blob/master/pcv_book/sift.py
In the line 112, it is written like below,

plot([locs1[i][1],locs2[m][1]+cols1],[locs1[i][0],locs2[m][0]],'c')

This line is different from the code of PCV/PCV/localdescriptors/sift.py.
https://github.com/jesolem/PCV/blob/master/PCV/localdescriptors/sift.py

plot([locs1[i][0],locs2[m][0]+cols1],[locs1[i][1],locs2[m][1]],'c')

As you can see, X-Y coordinates are written differently between the two files, and the latter is correct. Since I used the first one in my practice, I've been stuck on drawing the corresponding lines.
I would be happy if this message helps you.
Best,
Takeshi

Thanks. Yes, I found the problem which is why the PCV code has the right version. Was hesitant to update the book code...

Hi! It's my pleasure to find such bugs and to let you know. Because you made an excellent book, PCV, you are qualified. Please keep in touch. I'll keep on going with your book.
Takeshi
2016/07/22 19:59$B!"(BJan Erik Solem notifications@github.com $B$N%a%C%;!<%8(B:

Thanks. Yes, I found the problem which is why the PCV code has the right version. Was hesitant to update the book code...
$B!=(B
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

authors: jesolem takeshi-a

repo: jesolem/PCV


text:
[Accessibility] Make message view more voiceover friendly?

Hi,
While doing some KIF testing, i played around with accessibility and noticed that the message view could be more screen reader friendly.
By default the reader reads labels by labels, it's a bit annoying when you scan the discussion.
What do you think about the following approach:
override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
    ...
    cell.isAccessibilityElement = true
    cell.accessibilityLabel = String(format: NSLocalizedString("%@ said: %@", comment: ""),message.senderDisplayName, message.text)
    ...
}

Also the Accessory Button is missing some proper Label and Hint.
I wonder if anybody as experience in accessibility and could share some experience.

Thanks @BillCarsonFr - great idea! I have experience with accessibility and can certainly help with this.
Your suggestion in this example for accessibilityLabel will be difficult with regard to other (non-English) languages. The "X said Y" format doesn't necessarily hold for different languages. For this library, we should opt for something a bit simpler.

*I just check on some messaging apps:

WhatsApp is:
"Your message: "
"Buddy message: "

Messenger is : ' : '

Telegram message view is not accessible at all (why...?)
So ' : ' should be fine.
It would also be interesting to read incoming message when they arrive.

Awesome! Thanks for checking that! I agree, the Messenger format is best.

Thx Jesse.
I will look more into details (media message, empty displayName, cell labels, date..) and propose a pull request soon.

So for the accessory button, i propose:
label : 'Share media'
BTW? How do you do for all translation? a raw google translate then wait for contributions?
Now for the bubbles it's not that simple.

If we stay as it is now, voiceover will read:

cell top label
bubble top label
bubble container
cell bottom label

So if the cell is complete, with the senderDisplay name in the top label, you have all informations, but it's annoying to have to swipe between each of these.
And there is an issue if the top label is not the senderName, in this case there is no way to know who sends the message.

If i put the full cell as accessible with the 'sender: message' accessibility label, voiceover will focus the full cell, so it's easier to navigate, a swipe will go to the next message and you always have information on the sender and the message (even if bubble top label is empty).

But the cell top label is not read. Actually it's hard to know what to do with this label, is there any semantic attached to it?. Maybe we could just add the label text to the accessibility string.
I am not sure about the generic approach here.
As the cell top label doesn't have a clear semantic (?) maybe it should be read by itself (heading trait?).
For the bubble top label, as it should by default contain the sender displayName but is optional, maybe we should skip it (not accessible) as it will be read by the bubble container (sender: message).
The bottom label is treated as the top, it's accessible on its own.
With this approach, on the sample app, the message view is read:

Jesse Squires : Welcome to JSQMessages ...
Steve Wozniak : It is simple ..
Jesse Squires : It even has data ... (notice that here there is no bubble top label with the sender name)
Today 15:13, heading. (this is a top label)
-..

To sum-up

Actual
Full bubble
read top and bottom cell, but not bubble top

Jesse Squires
Jesse Squires : Welcome to JSQMessages
Jesse Squires : Welcome to JSQMessages

Welcome to ...
Steve Wozniak : It is simple
Jesse Squires : Welcome to JSQMessages

Steve Wozniak
Jesse Squires : It even has data
Jesse Squires : It even has data

It is simple (we don't know the sender)
(the date is not read)
Today 15:13 , heading

| |

It even has... | |
Today 15:13 | |
------------ | ------------- | -------------
5 swipes | 2 swipes | 3 swipes
Notice that we could also read the date with the bubble.
What do you think?
Is it worth it to provide a bubble default reading behaviour, knowing that depending on what you put in the label you will probably need to adapt?

Thanks @BillCarsonFr ! This is great info.
I think the "full cell" with "sender: message" is the best approach. All 3 cell labels are optional, so we should not rely on clients setting these.

Here is proposed PR
https://github.com/jessesquires/JSQMessagesViewController/pull/886

Closed with the merge of #886. Thanks @BillCarsonFr !

authors: BillCarsonFr eliburke jessesquires

repo: jessesquires/JSQMessagesViewController


text:
Fixes #2099 - Adds Compatibility with App Extensions

Pull request checklist

[✅] All tests pass.
[✅ ] Demo project builds and runs.
[✅ ] I have resolved merge conflicts.
[✅ ] I have followed the coding style.

Contributing guidelines confirmation: ____
This fixes issue #2099
What's in this pull request?

Replaces detection of userInterfaceLayoutDirection with App Extension compatible UIView method (iOS 9+)
Adds category method on UIView for determining the userInterfaceLayoutDirection
Guards against accidental usage of unavailable App Extension APIs in the PodSpec
Tidies SwiftExample Code
Adds LeftToRight compatible localisation to SwiftExample to validate changes before/after

NOTE:

This also includes removal of an missing file import that's needed to be able to pass the build. This is fixed in a separate PR #2102  so some coordination between these two PRs is recommended unless the merge is clean.

thanks so much @paulstringer !
first, sorry for the delay. also, hi 👋 good to see you here. 😄

Hello everyone!
I'm sorry to inform the community that I'm officially deprecating this project. 😢 Please read my blog post for details:
http://www.jessesquires.com/blog/officially-deprecating-jsqmessagesviewcontroller/
Thus, I'm closing all issues and pull requests and making the necessary updates to formally deprecate the library. I'm sorry if this is unexpected or disappointing. Please know that this was an extremely difficult decision to make. I'd like to thank everyone here for contributing and making this project so great. It was a fun 4 years. 😊
Thanks for understanding,
— jsq

authors: jessesquires paulstringer


text:
missing dependencies for chrome

Hi,
Having seen your docker-ised desktop I thought I'd take a look at some of your containers, and the first one I took a look at was chrome. All went fine although it looks like you are missing a dependency, which is present in your chromium image.
libcanberra-gtk-module
I found without installing this I got errors.
I wondered if this was the case for everyone, after I included it and tweaked my run scripts it all works :)

this is fixed now

authors: jessfraz krystan

repo: jessfraz/dockerfiles


text:
Strong Name Key

Hello,
Could SquishIt.Framework be built with a strong name key?  I'm referencing this in my own solution which needs a strong name key itself, but it cannot build while SquishIt.Framework does not have one.
Thanks!

Sorry, SquishIt relies on libraries that are not strong named themselves. Unless we replaced these libraries, it would be impossible.

authors: jetheredge jimmyheaddon

repo: jetheredge/SquishIt


text:
[direnv] copy bash, fish, zsh shell code from direnv

Summary
Overall Motivation
We've been having issues with the bin-wrappers, and want to explore an alternate approach. Bin-wrappers ensure that the shell environment is completely updated prior to invoking the binary, via running devbox shellenv if needed.
This alternate approach takes inspiration from direnv. It will seek to register a prompt hook in the shell. The hook will execute a shell function that will export the shell environment to update it, prior to displaying the shell prompt.
To punt on how to transition existing devbox commands, we're introducing devbox hook and devbox export as distinct commands, analogous to direnv hook and direnv export.
This PR's motivation
As part of implementing this, we'd like to make use of direnv's battle-tested shell code where we can. Direnv has a nice shell abstraction for handling the hook and environment-variables. We could adopt this abstraction to better support shell code we generate beyond this immediate use-case of prompt-hooks.
So, we:

Copy bash, fish, zsh Shell code from direnv. Thank you 🙏
Add ksh, posix, unknownSh structs. I filled in the struct functions as placeholders for now.

I call the package shenv since it handles the "shell environment". I stayed away from "shellenv" to avoid confusion with our existing "shellenv" command's operation.
How was it tested?
Have not tested. Subsequent PR will test and correct as needed.

Current dependencies on/for this PR:

main

PR #1156   👈

This comment was auto-generated by Graphite.

LGTM although I am having trouble figuring out which files came from direnv, and which ones did you add.

The PR summary mentions:
So, we:

Copy bash, fish, zsh Shell code from direnv. Thank you 🙏
Add ksh, posix, unknownSh structs. I filled in the struct functions as placeholders for now.

Is ksh the only one you added?

see above

Why not bring over tcsh, elvish and gha as well?

Our current devbox shell doesn't support those. So, I was limiting scope for now. We can add them later if we need.

As mentioned during standup ... direnv must support ksh, right? Is it possible we just need to map ksh to one of the pre-existing ones? Maybe the posix one? (Wikipedia says KornShell complies with POSIX.2)

Yeah, I didn't get a chance to investigate that. Will do, and if needed will drop the ksh shell from this place.

Are you sure you don't want to also copy the env related files direnv has? Or at least the env struct along with GetEnv, Copy, ToGoEnv, ToShell, Fetch

For now, I was focussed purely on getting the hook and export commands working. In a follow up PR, I want to investigate whether we can do the "environment diffing" that direnv does, and will likely incorporate direnv's Env utilities once I know how we can use them.

I think I would also copy shell.go along with the DetectShell, it handles figuring out the shell from the path if necessary: DetectShell("-/usr/local/bin/bash")

Ah, I do this: the shenv.go code is copied from the shell.go code. I did modify DetectShell just a bit to expunge the figuring out shell from path, since I didn't see how it would be used in our integration. As needed, I can add it back.

repo: jetpack-io/devbox


text:
Add support for building all Bazel targets on M1 macs

What this PR does / why we need it:
Adds support for running bazel build //... and bazel test //... on M1 macs successfully. This requires Bazel version v4.2.1 to work, or otherwise requires a full Xcode installation alongside Bazel v4.1.x.
Which issue this PR fixes: fixes #3804
Special notes for your reviewer:
For any binaries that don't offer a darwin/arm64 build, I've just used the darwin/amd64 version instead on the assumption that Rosetta 2 is installed/available.
I've also noticed some issues with verify-errexit that I can't seem to place.. I don't think this is specific to M1, though I've not had chance to test yet :)
Release note:
Add support for building & developing on M1 macs

make images etc also passes on M1 using this 🎉 (and builds images targeting linux/amd64, which then run under qemu in Docker Desktop)

cc @JoshVanL seems like I need an /ok-to-test as I'm not a member of the Jetstack org 😅

/kind feature

/ok-to-test
/lgtm
/approve
/hold
In case you don't want it merged yet.

/unhold

authors: JoshVanL munnerz

repo: jetstack/cert-manager


text:
The "-must-link" argument stopped working on 2021-10-18

The "-must-link" argument is typically used during membrane detection.  It is a way to try and manually fuse disconnected membrane fragments together (when automatic membrane detection failed to do this automatically).
If you run into this problem, try downloading a version from a previous commit, such as this one
Forgive me.  I was being sloppy.  I broke this feature tonight, but I will fix it tomorrow.  (I thought the most recent commits were a trivial small change so I did not create a new branch.  Instead they were a ~1000 lines of infrastructure changes which broke several features.  I am too sleepy to fix the bug tonight but I'll correct this in the next day or two.  -A

I have tested this feature a few weeks ago, but I had forgotten that this issue was still left in the issue tracker.  This feature is working again, and probably has been for months.  I apologize for not keeping these issues up to date.

repo: jewettaij/visfd


text:
AnimatedFLowContainer is not present in your repo ?

I tried your AnimatedFlowContainer in your demo, it's perfect.
But AnimatedFlowContainer  is not contained in your repo (.jar) like a Class which can call it ? Have I miss something or I have to add the Java file in my project to use it?
Thank you :)

Hello, plz note that AnimatedFlowContainer is part of the demo only ( it's used in DataFX Framework).
it's not part of JFoenix jar. so if you want to use it then yes you have to add the java file to your project.
Regards,

OK, I do that. Thanks

authors: jfoenixadmin kevincaradant

repo: jfoenixadmin/JFoenix


text:
JFXSnackbar non default constuctor causes  NPE

Hi,
I've got an NPE while trying to use the latest jfoenix.jar (which you provided 2 hours ago). The exception occurs when I try to create a jfxsnackbar using this command:
new JFXSnackbar(somePane);
If I use the default constructor and then call .registerSnackbarContainer it works fine too.
Note that this works fine with jfoenix version 'jfoenix-0.0.0-20160321.094207',
It seems the listener is null:
Caused by: java.lang.NullPointerException 	at com.sun.javafx.binding.ExpressionHelper.addListener(ExpressionHelper.java:67) 	at javafx.beans.property.ReadOnlyDoubleWrapper$ReadOnlyPropertyImpl.addListener(ReadOnlyDoubleWrapper.java:168) 	at com.jfoenix.controls.JFXSnackbar.registerSnackbarContainer(JFXSnackbar.java:163) 	at com.jfoenix.controls.JFXSnackbar.<init>(JFXSnackbar.java:126)

it's been fixed, thanks for pointing out the issue.

So, did you update the latest jfoenix.jar on jfonix.com?

authors: aminabs jfoenixadmin


text:
Gh 129 allow dots and dashes in repo name

addresses #129

released with 2.3.6. Give it a few to make it to TF

repo: jfrog/terraform-provider-artifactory


text:
add support to auth_ldap module

In order to authenticate against a ldap server, nginx must be recompiled with auth_ldap module.

nginx::config::auth_ldap_cache_enabled: 'on'
nginx::config::auth_ldap_cache_expiration_time: '3600'
nginx::config::auth_ldap_cache_size: '1000'

# add auth_ldap support to a vhost
# auth_ldap_servers must match the resource title from nginx::module::auth_ldap
nginx::nginx_vhosts:
    auth_ldap: 'Authentication Required'
    auth_ldap_servers:
      - 'dc01'

# ldap configurations
nginx::module::auth_ldap:
  'dc01':
    server: 'dc01'
    url: 'ldap://dc01.example.com:389/OU=Users,DC=example,DC=com?sAMAccountName?sub?(objectClass=person)'
    binddn: 'CN=bob,OU=Users,DC=example,DC=com'
    binddn_passwd: 'strongpassword'
    group_attribute: 'member'
    group_attribute_is_dn: 'on'
    satisfy: 'any'
    require_group_dn:
      - 'CN=it,OU=Groups,DC=example,DC=com'

If you like the changes I could implement some rspec tests

nobody seems to be interested in this MR, so I'll just close it.

repo: jfryman/puppet-nginx


text:
Possible memory leak in script.c

Hi,
Running valgrind --leak-check=full on script test highlights some lost bytes:
aido:~/workspace/test (master) $ valgrind --leak-check=full ./script
==9190== Memcheck, a memory error detector
==9190== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==9190== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==9190== Command: ./script
==9190==
==9190==
==9190== HEAP SUMMARY:
==9190==     in use at exit: 407 bytes in 48 blocks
==9190==   total heap usage: 45,284 allocs, 45,236 frees, 2,232,161 bytes allocated
==9190==
==9190== 17 (16 direct, 1 indirect) bytes in 1 blocks are definitely lost in loss record 2 of 4
==9190==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==9190==    by 0x407A13: buffer_copy (buffer.c:42)
==9190==    by 0x404E47: stack_push_str (script_eval.c:217)
==9190==    by 0x405726: bp_script_eval.isra.11 (script_eval.c:565)
==9190==    by 0x4067DB: bp_script_verify (script_eval.c:1069)
==9190==    by 0x40224E: test_script (script.c:24)
==9190==    by 0x40224E: runtest (script.c:61)
==9190==    by 0x402042: main (script.c:74)
==9190==
==9190== 390 (368 direct, 22 indirect) bytes in 23 blocks are definitely lost in loss record 4 of 4
==9190==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==9190==    by 0x407A13: buffer_copy (buffer.c:42)
==9190==    by 0x404E22: stack_push (script_eval.c:202)
==9190==    by 0x40561C: bp_script_eval.isra.11 (script_eval.c:388)
==9190==    by 0x4067DB: bp_script_verify (script_eval.c:1069)
==9190==    by 0x40224E: test_script (script.c:24)
==9190==    by 0x40224E: runtest (script.c:61)
==9190==    by 0x402042: main (script.c:74)
==9190==
==9190== LEAK SUMMARY:
==9190==    definitely lost: 384 bytes in 24 blocks
==9190==    indirectly lost: 23 bytes in 24 blocks
==9190==      possibly lost: 0 bytes in 0 blocks
==9190==    still reachable: 0 bytes in 0 blocks
==9190==         suppressed: 0 bytes in 0 blocks
==9190==
==9190== For counts of detected and suppressed errors, rerun with: -v
==9190== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)

Hi,
Running valgrind --leak-check=full on clist test also highlights some lost bytes:
aido:~/workspace/test (valgrind) $ valgrind --leak-check=full ./clist
==44629== Memcheck, a memory error detector
==44629== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==44629== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==44629== Command: ./clist
==44629==
==44629==
==44629== HEAP SUMMARY:
==44629==     in use at exit: 72 bytes in 3 blocks
==44629==   total heap usage: 7 allocs, 4 frees, 168 bytes allocated
==44629==
==44629== 72 (24 direct, 48 indirect) bytes in 1 blocks are definitely lost in loss record 3 of 3
==44629==    at 0x4C2CC70: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==44629==    by 0x400A5A: clist_append (clist.c:49)
==44629==    by 0x400573: test_basic (clist.c:28)
==44629==    by 0x400573: main (clist.c:58)
==44629==
==44629== LEAK SUMMARY:
==44629==    definitely lost: 24 bytes in 1 blocks
==44629==    indirectly lost: 48 bytes in 2 blocks
==44629==      possibly lost: 0 bytes in 0 blocks
==44629==    still reachable: 0 bytes in 0 blocks
==44629==         suppressed: 0 bytes in 0 blocks
==44629==
==44629== For counts of detected and suppressed errors, rerun with: -v
==44629== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
aido:~/workspace/test (valgrind) $

These memory leaks seem to only occur on Linux not of OSX:
https://travis-ci.org/aido/picocoin/builds/115755275

Thanks for filing these!

Hi,
It looks like the 2ROT tests are the cause of the memory leak in script_eval.c:
Each of the following tests cause a 32 byte leak:
["25 24 23 22 21 20", "2ROT 24 EQUAL"],
["25 24 23 22 21 20", "2ROT DROP 25 EQUAL"]
["25 24 23 22 21 20", "2ROT 2DROP 20 EQUAL"],
["25 24 23 22 21 20", "2ROT 2DROP DROP 21 EQUAL"],
["25 24 23 22 21 20", "2ROT 2DROP 2DROP 22 EQUAL"],
["25 24 23 22 21 20", "2ROT 2DROP 2DROP DROP 23 EQUAL"],

This causes a 64 byte leak:
["25 24 23 22 21 20", "2ROT 2ROT 22 EQUAL"],
```
And this a 96 byte leak:
```
["25 24 23 22 21 20", "2ROT 2ROT 2ROT 20 EQUAL"],
```

i.e. each 2ROT op costs 32 bytes,

So now to find the solution!

authors: aido jgarzik

repo: jgarzik/picocoin


text:
启动webApi服务失败

报错提示：

Serving Flask app 'api.proxyApi' (lazy loading)
Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
Running on all addresses (0.0.0.0)
Running on http://127.0.0.1:5010
Press CTRL+C to quit

这是报错吗 这是启动成功了


text:
Unfollow feature

Add unfollow routine that is the only function and simply unsubscribes a user from everything.

fixed in commit 0867ce0

repo: jheidecker/lemmony


text:
update jhipster to 7.9.3

Update jhipster version to 7.9.3

Failures looks related to https://github.com/jhipster/generator-jhipster/pull/19301.
Windows failures are related to npmw.cmd changes.

Will have a look

At windows, we should run with —skip-install and run npm install later, I can take a look later.

I will try to have a look at the oauth part this evening. JWT seems to work fine indeed.

It made it work with caffeine. Right now this will only support caffeine directly for the oauth caching. Spring cache integration seems not to work, so our recommendation, to run this without a cache provider still stands imho.

At windows, we should run with —skip-install and run npm install later, I can take a look later.

@mshima Can you give me hint where to look at? It is something we should configure in the ci pipeline or in generated code?

@atomfrede sure.
It's related to https://github.com/jhipster/generator-jhipster/pull/19404.
GraalVM adds a lot of paths to $PATH, https://github.com/jhipster/generator-jhipster/pull/19404 added more path overflowing the max size of $PATH.
The workaround is to execute jhipster-native jdl command with --skip-install and run npm install later.

I will do the initial change.

Thanks. I remember that with bootrun and gradle some time ago

Looks good. Failing macos tests fail to install docker in the pipeline, so I would say good to merge imho. Thanks @mshima for doing the windows ci part!

Thanks @atomfrede

authors: atomfrede mshima

repo: jhipster/generator-jhipster-native


text:
Add Spring Cloud Gateway

related at #1500

Bounty claimed at https://opencollective.com/generator-jhipster/expenses/76937

repo: jhipster/jhipster-lite


text:
Keycloak: remove duplicate entries in jhipster-realm.json.mustache

Fix #7997

My first idea was to merge all users, to not duplicate the 'users' entry.
Then, I don't know if this user is a default one, provided by Keycloak, or if it was added by JHipster.
If it's provided: we should keep
If not, we should delete as we should not add unused users

@pascalgrimaud you're right, this user is necessary and it's normal to have two entries in the JSON
On the generator we have also two entries:
https://github.com/jhipster/generator-jhipster/blob/561a0ef2fd8da1c6ba2c653b29e81fd3b4004656/generators/docker/templates/docker/realm-config/jhipster-realm.json.ejs#L502
https://github.com/jhipster/generator-jhipster/blob/561a0ef2fd8da1c6ba2c653b29e81fd3b4004656/generators/docker/templates/docker/realm-config/jhipster-realm.json.ejs#L2587
I think that we can close this PR and the issue

Because the file from generator-jhipster is not a good one, and it's my fault because I copy from there.
That's why I created the ticket to improve it and to remove old and deprecated stuff

@pascalgrimaud ok
I tried to start Keycloak without this user and all seems good
I think that is is not provided by Keycloak but I'm not a specialist of Keycloak :)

That's why I think this file must be reworked completely, using this workflow:

start a fresh Keycloak without any custom
add manually what it is needed by a generated JHLite project
then export the settings (realm, user, etc)

The scope of this PR should be to move the custom users (admin + user), near to service-account-internal
The service-account-internal should not be removed, as I think it's an internal user of Keycloak

@pascalgrimaud this is what I tried yesterday, I created a new realm but I struggle to retrieve users ...

Thanks and no worry, I created this ticket and I know exactly what to do to have a clean json file to import when starting Keycloak
As for my customer, we just upgraded to Keycloak 22 :-)

ok 🙂

closing in favor of https://github.com/jhipster/jhipster-lite/pull/8148

authors: pascalgrimaud qmonmert