[MINOR] test: Disable AccessClusterTest until solve this flaky test

What changes were proposed in this pull request?
Disable AccessClusterTest until solve this flaky test
Why are the changes needed?
This test is failed recently, and can not find the reason.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
UT

@zuston Would you like to take a look at this PR? Thanks


Fix for issue #452: travis-ci exiting with 0 on errors

Fix for #452
Also add tests for jQuery 1.6.4

going to leave this here as a reminder to learn how to read


Allow for customization or target pull request labels

Add a new input option to the GitHub action allowing for the user to specify the labels to be added to the target pull request. For backward-compatibility this option is not required, and defaults to the original value of ['backport'].

@brianseeders hopefully the intention behind this PR is fairly obvious, we just want to be able to tweak what labels get added to the backport PRs to facilitate some further automation.


[Defense in depth] uBPF should encode pointer to BPF instructions to mitigate ROP attacks

The uBPF interpreter can be used by an ROP attack to launch the execution of arbitrary byte code.
Assume attacker can control return pointer and RDI (Linux) or RCX (Windows). They can then trigger the interpreter to run arbitrary pages of data as BPF instructions by setting return address = ubpf_exec and RDI/RCX as pointer to pointer to BPF byte code.
While not a bug in uBPF itself, it does make exploiting other bugs easier.
Proposed mitigation is:
Store a mask in a global variable.
Generate random mask on startup.
Store ubpf_vm::inst as the result of mask XOR pointer.
Load ubpf_vm::inst after mask XOR stored pointer.
As a result, a call to ubpf_exec with RDI/RCX pointing to byte code will fail as the decode of the pointer will result in an invalid memory address. The attacker would need to first read the mask, XOR the pointer, write the resulting value, which raises the bar significantly.

I'm interested in this feature for 64-bit Arm. Do you plan to push it in the future? Thanks!

I have a PR for this, but for now, it's on the back burner as my project decided to disable the interpreter by default as a security measure (enabling the interpreter in kernel mode was deemed too much of a threat). This reduces the risk, but the risk was still deemed too high.
I can go ahead and rebase the fix and push an update.


Fix null ref when stopping playmode with spatial mapping

Overview
Adds a null check, in case the GameObject was destroyed before the system is cleaned up.
Changes

Fixes: #10587

/azp run


Switch example queries from dict to QueryExpression

I noticed in a few examples in the docs we use this:
await Movie.query({Movie.name: "X"})

Where we could do:
await Movie.query(Movie.name == "X")

Thanks for the review.


arch_switch() on ARM64 isn't quite right

Along the lines of #32197, the ARM64 implementation of arch_switch() has a bug which was just unmasked by a race treatment submitted in #32089.
The code gets the basic scheme correct, and understands that the second argument is the address of the switch_handle field of the struct thread_base record of the output thread.  And it doesn't load that pointer and merely uses it via an offset to get a pointer to the thread struct.
But it never stores the new "switch handle" through that pointer into the output thread record and simply assumes that it will always be set to the address of hte thread struct.  New code, to address an SMP race, wants to NULL out this field as a synchronization signal.  But now that corrupts the thread struct for the next context switch into it.
This is worked around in current code, but that will only work for uniprocessor configurations.  See the docs in kernel_arch_interface.

This is in the SMP PR currently open https://github.com/zephyrproject-rtos/zephyr/pull/30676/commits/02b267b69095662b79f03dde9068d18a3f0ae97d is that enough to address this problem?

Ah, excellent.  Indeed that looks correct to me.

@carlocaione is this still an issue?

@galak nope


workflow manager (for WorkflowDbSource)

Thought you may want to have a play with this:
https://github.com/cornernote/yii2-workflow-manager
It's based on your WorkflowDbSource gist:
https://gist.github.com/raoul2000/c38165b7e6b5f12a6945#file-workflowdbsource-php
I turned it into a module.  Would be great to see your feedback.

Looks like this:

:astonished:
wow !! This seems very impressive work and be sure I will try it.
Having a quick look at the code, it brings me back to your performance question some days ago. Maybe one improvement would be to not use Yii2 ActiveRecord in the workflowDbSource component or at least return arrays instead AR instances. According to the definitive Guide to Yii2 this could be an interesting optimization when dealing with a large amount of records...

I implemented cache (copied from WorkflowFileSource), so the number of ActiveRecord/DB hits should be minimal for loading workflow data.  I am more concerned with instantiating all the workflow/status classes each time a model is loaded.
So far it's not been much overhead, however I need to try with larger jobs to get a better benchmark.
I submitted a PR to link to this from your readme, I hope that's ok.


t2 rename

Current status: no such command
Spec: T2 CLI spec
tessel rename  [-r | --reset]
Names the Tessel by changing the hostname of the device. Name restrictions found here: http://en.wikipedia.org/wiki/Hostname#Restrictions_on_valid_host_names
$ tessel rename
> Usage: tessel rename <name> [-r | --reset] [--help]
>  name:		the name to rename the currently selected tessel
>  -r | --reset:	reset the name of the device
$

$ tessel rename Jigglypuff
> Changed name of device Tessel-0123456789ab to Jigglypuff
$

$ tessel rename Snorlax
> Changed name of device Tessel-0123456789ab from Jigglypuff to Snorlax
$

$ tessel rename --reset
> Reset the name of device Tessel-0123456789ab
$

[ ] rename
[ ] reset name to MAC address
[ ] make sure hostname is valid based on hostname restrictions

Is --force needed here @nplus11 ?

nope!

I can build this feature.


arm64 rig container does not have pak

Its installation fails with
Error while loading /opt/R/devel/lib/R/bin/INSTALL: Exec format error

This seems like an arm64 emulation error, similar to the one we got on r-minimal. Maybe if we force using bash, that works.

Fixed by https://github.com/r-lib/rig/commit/bdbd6addbed1aaae7aeb408cdfe9be46a134e10b


Extension/Entities get no data

I installed the extension as instructed and configured the mqtt server in the app.  I can see that data is received from mqtt via mqtt explorer but no matter how I configure the extension, there is no data available.
I´m using version 0.25.0 of the extension with an homefix 11kw charger with hardware-version 02
mqtt explorer:

I tried a lot of basic topics in the configuration like go-eCharger, go-eCharger/, go-eCharger/xxxxxx, go-eCharger/xxxxxx/, go-eCharger/xxxxxx/status but neither of them works and all entities are unavailable.
Appriciate any help!

The leading slash is important. Please try: /go-eCharger

Please go to the mqtt integration:

http:///config/integrations/integration/mqtt
Click "configure"
Go to the "Listen to a topic" section
Use /go-eCharger as topic to suscribe to
Press Start listening

Is Home Assistant able to see the traffic too?

yes, thats working as well:

This is traffic of the MQTT API version 1. This component supports API version 2 only.
See https://github.com/syssi/homeassistant-goecharger-mqtt/issues/22

So sorry I missed that. I'll use the suggested inegration there but love to see this one also working with v1


Slow query_predict predictions

Currently, after training a model with StarSpace we obtain two files, one with the model and one .tsv file with a dictionary of embedding vectors. My model was trained with 300 dimensions, the vocabulary in the dictionary in the dictionary is about 300k words.
When calling the query_predict binary I must provide a basedocs file which contains approximately 300k sentences, one per line. My issue is that obtaining predictions take too long.

What exactly the binary query_predict does?
Which factors influence the speed of the predictions?
Could it be possible to just use the dictionary of vectors and use other software library like fasttext or gensim to obtain faster predictions?

@dsalfran Hi, thanks for the question. The query_predict takes each input, considers each sentences in basedocs and make a prediction. In other words, the number of sentences in basedocs would affect the prediction speed. You can try to lower that if you want faster prediction (In our paper we usually use 10k sentences as basedocs).
For 3, yes the .tsv format of the model is meant to be easy to use in other software where it takes standard tsv format models.


#2328 sentence casing

#2328

I was going to ask the root level also 😃.. will update them

Can you also confirm that "Title Case" is the correct casing to use on the settings? I would refer to the material design guidelines - and can you post here what you find on that?
Looking at the settings app on my Pixel phone, it looks like sentence case is used rather than title case.

I will look at this tomorrow..

Sentence casing win😃.  I will update them to sentence casing instead of title casing

ref: https://m3.material.io/foundations/content-design/style-guide/ux-writing-best-practices

Thanks, yes let's go with sentence casing

Also for reference, the following should remain in Title Case (product / branded names):

All tool names
Weather Monitor
Backtrack
Trail Sense

I only left Trail Sense
but following the guide to changing

All tool names
Weather Monitor

to sentence casing ... I leave any camelCase the way they are

I only left Trail Sense
but following the guide to changing

All tool names
Weather Monitor

to sentence casing ... I am leaving any camelCase the way they are

Hi, I just looked at the changes and it appears the tool names were changed. I do still want the following to remain in title case (regardless of the material design style guide recommendation):

All tool names
Weather Monitor
Backtrack
Trail Sense

do you want everything in tool quick actions to be title casing or just the title ( All Tool Names)

For Weather Monitor  do you mean to convert all the  title in weather settings  to title casing

@kylecorry31 For Weather Monitor do you mean to convert all the titles in weather settings to title casing

No, just the "Weather Monitor" string (looks like it only appears on the Weather tool itself)

That is now updated.. what of Monitor Weather

That is now updated.. what of Monitor Weather

Monitor weather can be sentence cased
(Weather Monitor is the branded name of the feature, similar to the tool names - haven't made up my mind if I want to sentence case those, so would prefer not to make that change yet)

It looks like there are still some changes in progress, let me know when it is ready to review

It looks like there are still some changes in progress, let me know when it is ready to review

Actually I only focused on settings part and the root and not all the strings.... you could review and specify which you want to be title case/sentence case

It looks like there are still some changes in progress, let me know when it is ready to review

Actually I only focused on settings part and the root and not all the strings.... you could review and specify which you want to be title case/sentence case ... as I am getting confuse since it is not consistence ..

Done, I left some comments - the scope of this was just the settings for now, so that is fine.
Sorry about the confusion - this issue was not ready for community contribution, so I didn't have all the details ready (I was going to make it open for contribution, so no worries about picking it up early).

all updated

Looks good, thanks!


Replace pytz and tzlocal by zoneinfo

Requires Python 3.9

This will be welcome, but it's much too soon from a compatibility standpoint -- there are important distros not running 3.9 yet.

Hi, https://github.com/GothenburgBitFactory/tasklib/pull/109 was merged and I added a backports dependency for old Python version. Do you think this is ready for merging?

The documentation at https://pypi.org/project/backports.zoneinfo/ is suggesting this idiom for the fallback:
try:
   import zoneinfo
except ImportError:
   from backports import zoneinfo

Is there some reason the official documentation suggestion is not being followed?

Fixed, thx.

Can you provide any clarity what pytz and tzlocal are still being installed despite not being listed in the requirements any more?
[:~/git/vit] jspricke-zoneinfo+ ± cat requirements.txt
tasklib>=2.4.0
urwid>=2.1.0
backports.zoneinfo;python_version<"3.9"
[:~/git/vit] jspricke-zoneinfo+ ± pip install -r requirements.txt
Collecting tasklib>=2.4.0
  Using cached tasklib-2.4.3-py3-none-any.whl
Requirement already satisfied: urwid>=2.1.0 in /home/hunmonk/.pyenv/versions/3.7.4/lib/python3.7/site-packages (from -r requirements.txt (line 2)) (2.1.2)
Requirement already satisfied: backports.zoneinfo in /home/hunmonk/.pyenv/versions/3.7.4/lib/python3.7/site-packages (from -r requirements.txt (line 3)) (0.2.1)
Collecting pytz
  Using cached pytz-2021.3-py2.py3-none-any.whl (503 kB)
Collecting tzlocal
  Using cached tzlocal-4.1-py3-none-any.whl (19 kB)
Requirement already satisfied: pytz-deprecation-shim in /home/hunmonk/.pyenv/versions/3.7.4/lib/python3.7/site-packages (from tzlocal->tasklib>=2.4.0->-r requirements.txt (line 1)) (0.1.0.post0)
Requirement already satisfied: tzdata in /home/hunmonk/.pyenv/versions/3.7.4/lib/python3.7/site-packages (from pytz-deprecation-shim->tzlocal->tasklib>=2.4.0->-r requirements.txt (line 1)) (2021.5)
Installing collected packages: tzlocal, pytz, tasklib
Successfully installed pytz-2021.3 tasklib-2.4.3 tzlocal-4.1

Got it. So it seems sensible to wait until the next release of tasklib, then we can properly bump the dependencies.

thehunmonkgroup @.***> [2022-03-15 07:47]:

Got it. So it seems sensible to wait until the next release of tasklib, then we can properly bump the dependencies.

Just to ask, does it make any difference for vit? As long as the
dependencies are not imported in vit they should not be used, right?

Just to ask, does it make any difference for vit? As long as the
dependencies are not imported in vit they should not be used, right?

Correct. I suppose we could commit this now and simply delay the 2.2.0 release until after we bump the tasklib deps. I think it just makes for a cleaner overall experience to coordinate that.


TFRecord documentation is still lacking

It must be a bug, a feature request, or a significant problem with documentation (for small docs fixes please send a PR instead).

System information (N/A)
Describe the problem
#1749 was closed with the note that "We revamped our docs. Feel free to open a new issue if this is still missing from our new docs."
Despite being the "recommended format" for input data, I still can't find any official documentation on creating TFRecords, and what the best practices are surrounding this task.
It seems strange that blogs and the source code are the only sources of information on this. I think it would be a good idea to have an official guide showing how to go from a directory of images to some TFRecords. Maybe using this script from tensorflow/models as an example.
Source code / logs (N/A)

Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks.
Have I written custom code
OS Platform and Distribution
TensorFlow installed from
TensorFlow version
Bazel version
CUDA/cuDNN version
GPU model and memory
Exact command to reproduce
Mobile device

Nagging Assignee @MarkDaoust: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @MarkDaoust: It has been 35 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @MarkDaoust: It has been 50 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @MarkDaoust: It has been 65 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @MarkDaoust: It has been 80 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @MarkDaoust: It has been 95 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

There's a preliminary tutorial here:
https://github.com/tensorflow/docs/pull/188

Nagging Assignee @MarkDaoust: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.


Segmentation fault on ubuntu 20

Reporting a bug

[ X] I have tried using the latest released version of Numba (most recent is
visible in the change log (https://github.com/numba/numba/blob/master/CHANGE_LOG).
[X ] I have included a self contained code sample to reproduce the problem.
i.e. it's possible to run as 'python bug.py'.

construct env:
docker run -it ubuntu:20.10 # 20.04 crashes too
pip install numba==0.50.1
python -c 'import numba'
this will yields:
Segmentation fault. core dumped.
the issue is caused by llvmlite. On ubuntu 20, llvmlite==0.34 will work, howerver, according to peotry's resolve process:
numba numba (0.50.1) which depends on llvmlite (>=0.33.0.dev0,<0.34)
so install numba==0.50.1 will automatically install llvmlite 0.33, which will cause core dump

If you need a newer llvmlite, I'd suggest upgrading numba as well. Numba 0.51 will use llvmlite 0.34. Also, the latest version of Numba is 0.52.
I am unable to guess the cause for the segfault. The major difference between the two llvmlite versions are that 0.33 uses LLVM9 while 0.34 uses LLVM10. Also, LLVM10 requires a newer C++ compiler for C++14. Therefore, we use manylinux2010 images to build the wheels instead of manylinux1.

Closing this issue, assuming resolved as no additional information was provided.

Closing this issue, assuming resolved as no additional information was provided.


Official bazel build support

This bug tracks the customer request to officially support building Dart projects using the bazel build system.
If this capability is important to you, please cast a vote by pressing the thumbs-up button on this comment.

What is the status on this topic? Are there any plans? It would not be required to start from 0, @cbracken continued the https://github.com/dart-archive/rules_dart and can be found here https://github.com/cbracken/rules_dart
However some support/commitment from the official dart community would be nice.
With the release of Bazel 4.0 starting with LTS, it would be a nice starting point and the overhead to keep up with newer Bazel versions would not be so big.

One thing that would be useful to know for those developing the rules is what sorts of Dart Bazel support you're looking for.
Examples:

Flutter
dart2js builds for web (production)
dartdevc builds for for web (development)
command-line executables

cbracken/rules_dart is maintained entirely on a best-efforts basis on evenings/weekends outside my day job. I'm happy to keep up maintenance of what's there and take PRs, since it's mostly low-effort to maintain the existing stuff, but have been reluctant to rewrite e.g. the Flutter support we built internally for Google due to how much additional maintenance it would be to keep it alive.
FWIW, I've talked on and off with the Bazel team and if we had a few people willing to maintain a repo under the bazelbuild org, they're more than willing to have the repo under that org; I'm probably not in a position to provide the sorts of maintenance guarantees they're looking for on my own though.

For me personally I'm interested in the end to build flutter with Bazel from a Windows host to a iOS/Android/Web target. For the moment I stumbled across the dart rules because I saw that the cbracken/rules_dart do not have support for windows and I started checking if there is any plan of official dart support.
I was starting to add the windows support but I got stuck with the script templates for the different rules. I'm not familiar with Power Shell.

If there isn't a bug open to add Windows support on cbracken/rules_dart, feel free to file one and we can discuss further there. I believe that if you look through the forks of the repo, someone got partway through adding windows support, though they deleted non-windows support to do it.


fix: Allow to get non-submittable doctype through get submmitable doctype link feature

TASK ID: https://bloomstack.com/desk#Form/Task/TASK-2020-01168

Pull Request Test Coverage Report for Build 1006

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-51.9%) to 0.0%

Totals

Change from base Build 999:
-51.9%

Covered Lines:
0

Relevant Lines:
0

💛  - Coveralls


Account Name overflow

Issue description
Account name overflows in UI

Wallet version
0.3.0

wallet version (version number, commit, or branch):

System specification
What is your operating system?
Mac/Win/Linux (+Version and or Distro if possible)
Is it a repeatable issue?
Y/N
Steps To reproduce the issue
Explain how the maintainer can reproduce the issue.
make alot of accounts, make them have long names
Expected behaviour
account name not to overflow or be truncated with ellipsis
Actual behaviour
account name overflows
Errors
Paste any errors that you see from the Error Log in the Firefly menu or share screenshots of the issue.

In addition there is a overflow of the account layout in the top region, if too many accounts are available.
Here it should still show the full string of the account name, which is in this case: "this is a test"

Both these issues should be fixed in the next release, please re-open if you still have issues.


Suppress vim_strnsave() warning

Warning is occurred at here:
https://github.com/vim/vim/blob/7306d6b1c9528dcfe89eb77aa7ef354ffa9605a8/src/vim9compile.c#L4446
Maybe, it's better to change the prototype of vim_strnsave() than adding type cast.

Codecov Report

Merging #5633 into master will decrease coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #5633      +/-   ##
==========================================
- Coverage   83.22%   83.21%   -0.01%
==========================================
  Files         137      137
  Lines      152070   152061       -9
==========================================
- Hits       126566   126544      -22
- Misses      25504    25517      +13

Impacted Files
Coverage Δ

src/misc2.c
87.73% <100%> (ø)
:arrow_up:

src/ui.c
71.2% <0%> (-1.12%)
:arrow_down:

src/gui_gtk_x11.c
58.06% <0%> (-0.25%)
:arrow_down:

src/os_unix.c
63.45% <0%> (-0.23%)
:arrow_down:

src/channel.c
84% <0%> (-0.08%)
:arrow_down:

src/gui.c
63.63% <0%> (-0.06%)
:arrow_down:

src/evalfunc.c
91.79% <0%> (ø)
:arrow_up:

src/version.c
92.1% <0%> (ø)
:arrow_up:

src/terminal.c
82.43% <0%> (+0.03%)
:arrow_up:

src/ex_docmd.c
86.85% <0%> (+0.05%)
:arrow_up:

... and 4 more

Continue to review full report at Codecov.

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

Hm, 8.2.0252 did the opposite.

I suspect changing the argument of vim_strnsave() will trigger a lot of warnings (signed vs unsigned).

Seeing the results of CI, there are no warnings related to this.


Includes are not taken from "VC++ Directories"

Open attached project
Set location to boost in "VC++ Directories" - (in my case this is g:\3rdparty\boost_1_65_1)
Compile project with VS - compilation passed
Compile with Clang Power Tools- failed:

Start Clang Compile

[ INFO ] WILL PROCESS PROJECTS:
	ConsoleApplication5.vcxproj
[ INFO ] 1. PROCESSING PROJECT C:\Users\Mariusz\documents\visual studio 2017\Projects\ConsoleApplication5\ConsoleApplication5\ConsoleApplication5.vcxproj
clang++.exe: warning: treating 'c-header' input as 'c++-header' when in C++ mode, this behavior is deprecated [-Wdeprecated]
C:\Users\Mariusz\documents\visual studio 2017\Projects\ConsoleApplication5\ConsoleApplication5\stdafx.h:16:10: fatal error: 'boost/lexical_cast.hpp' file not found
#include <boost/lexical_cast.hpp>
         ^~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
Errors encountered during PCH creation

Done Clang Compile

Comment:

It works fine when path is set in "Additional include directories" g:\3rdparty\boost_1_65_1

ConsoleApplication5.zip

Indeed, Clang Power Tools currently assume default configuration for VC++ Directories.
We are aware that some users prefer the <IncludePath> VS property for setting Include directories instead of the more common way of specifying <AdditionalIncludeDirectories>.
We'll address this in a future release.
Thanks for the suggestion.

We've addressed this issue as part of #132
It should work now.

Please note that this fix is currently live only for the github repository.
The latest Visual Studio extension (2.0) does not contain the fix. It will be included in the next release.
Until then, as a workaround, you can manually replace clang-build.ps1 in the VS extension directory with the latest from github. To locate the extension directory search for clang-build.ps1 in %LOCALAPPDATA%
Don't forget to restart Visual Studio after replacing the script file.


Error when checking in memcached module

I've been working on a project using the memcached module (v2.0.0) and have been running into problems with hashring. We check our node_modules folder into git, and for some reason, whatever build artifacts are created when hashring is built do not end up in node_modules. The result is that anyone who clones the repo is met with a "cannot find binding" error for hashring when they try running the project (all developers have the exact same dev-vm setup).
When we used a previous version of the memcached module (0.2.8), this setup worked fine.
Is this something that can be fixed?

Resolved in latest release.


[ROAD-372]Feat: ✨🆚 support vs2022

Split project structure to 3 projects

Snyk.VisualStudio.Extension.Code - shared project with all source code and resources:
Snyk.VisualStudio.Extension - 2015, 2017 and 2019 support.
Snyk.VisualStudio.Extension.2022 - support for VS2022.

@aldanchenko please resolve conflicts 🙏


Data race in cli fn

Refer to test failure here: https://github.com/fnrun/fnrun/runs/2811871025

We use a buffer to capture stderr in the test to verify that a script logs error messages. However it appears that there is a race condition between reading from the buffer and writing to the buffer.


20 | Valid Parenthesis | C++

20. Valid Parentheses
**A new C++ solution will be added.
Type of Issue -
Please add/delete options that are not relevant.

[x] Adding New Code

Programming Language
Please add/delete options that are not relevant.

[x] C++

Self Check

Ask for issue assignment and wait to get assigned to it before making Pull Request.
Add your file in the proper folder
Clean Code and Documentation for better readability
Add Title and Description of the program in the file

:star2: Star it :fork_and_knife:Fork it :handshake: Contribute to it!
Discord server ✉ - https://discord.gg/CXksGdn
Happy Coding,

Hi Please assign it to me.

Please assign it to me.

Hey, I would like to contribute to it.


Fix watch auth

Can you add a test for this to prevent regression?

Done, PTAL

Looks good to me. Thanks for catching this one.

Thanks for writing this library! :-)

Absolutely, I have plans on beefing it up a bit more in the up coming weeks
so stay tuned! :dancer:
On Sat, May 30, 2015 at 8:30 AM Marko Mikulicic<EMAIL_ADDRESS>wrote:

Thanks for writing this library! :-)
—
Reply to this email directly or view it on GitHub
https://github.com/CloudCom/firego/pull/8#issuecomment-107035422.


Investigate unexpected resource disappearance

We have observed an instance of a single Kubernetes resource unexpectedly disappearing from the apiserver. Due to lack of apiserver audit logs it is unclear if it was removed at the Kubernetes level by a client operation, or if it was somehow incorrectly deleted by compaction code. K3s logs do not show any errors during the period in which we suspect the object was removed.
The backend datastore was a two-node AWS RDS Aurora MySQL cluster running version 5.7.mysql_aurora.2.09.0. K3s version was k3s v1.18.10+k3s2.
We need to do additional testing of multi-node database clusters to ensure that all operations are safe when multiple kine instances are connected to a database cluster. In initial review of the code does not turn up any remaining obviously unsafe operations. There were some questions about transaction safety of inserts, but an initial cursory review of the go-mysql code suggests that this should be safe to use the way we're using it.
gz#13317

Interesting to see this popping up here as I'm in the process of trying to find the cause for our resource disappearance.
We however run Kubernetes 1.18 against a normal Etcd cluster and observed secrets, deployments and statefulsets getting terminated in the events stream during higher load on the API server and Etcd. (we replaced worker nodes and the scheduler started reassigning workloads)
That leaves me slightly worried now as that probably rules out our slightly older Etcd version and it might be in the API server 😞
And while I'm here - thx for https://github.com/etcd-io/etcd/pull/11776 as that is currently blocking my test environment 😉

@MerlinDMC if you've seen something similar on clusters running stock etcd that makes me feel slightly more optimistic that there isn't some weird issue with kine that's disappearing our resources out from underneath us.

yes - but I was just about to try kine as a replacement to get rid of the problem 🤣

Can you share any more details on what you were seeing? Was the apiserver actually deleting things from etcd? How were you monitoring the issue?

I was monitoring status of the deployments via kubectl get --all-namespaces events -w. At some point during the rollout of our services to new nodes (roughly 1000 pods) I did see terminations for a lot of deployments in the event stream.
I'm not sure yet if the apiserver did issue those deletes or if it did read keys from Etcd and didn't get all the data back. No person however did issue deletes.
I'm trying to get a test scenario up that has the same application load so we can try to forcefully get into the same issue again and collect more data.

We have identified an issue that could, under certain circumstances, cause data loss within the kine back-end database, including removal of random resources from the Kubernetes datastore.
Like etcd, kine stores all changes to the MVCC store as rows in a database. We use SQL instead of BoltDB like etc, but both need to be compacted periodically to remove old revisions from the history lest the store grow out of control. Kine does this internally by tracking relationships between resource versions in the prevous_rev column of the database - each version of a resource points to the previous version via this column. There is also a special key with the name compact_rev_key that notes the revision that we have compacted up to, so that we can authoritatively respond with the appropriate error when a client asks for an old version of a resource, and that resource is not found.
In an unfortunate early design choice, we store the compact revision in the prev_revision column of this entry, rather than the value. This means that we need to exclude it when selecting old resource versions to delete.
Recent changes to improve compaction efficiency by moving the compact logic from go code to pure SQL incorrectly handled the compact_rev_key entry - we excluded it from deletion instead of excluding it when building the list of revisions that are safe to delete.

Validated on all three releases: v1.17.14-rc1+k3s2, v1.18.12-rc2+k3s1, and v1.19.3-rc1+k3s3

Performed the test steps listed in https://github.com/rancher/kine/pull/62
Validated standard regression checks on the cluster are passing (create, scale, delete, modify workloads, secrets, etc.)
ensured compaction is still working proeperly


[Remote State] Make manifest files cleanup less aggressive

Is your feature request related to a problem? Please describe.

We trigger manifest files deletion task on every manifest update
Evaluate if we can control how frequently we need to execute deletion
Also ensure last 10 cluster state update manifest are retained in remote

Hi, are we on track for this to be released in 2.12 ?

Removing 2.12 tag. This will be picked up later

Resolving in favor of #12889


Make DefaultTestReporter to report actual number of executed tests

It would be really nice if jest reported actual number of tests it has executed instead of the number of test files.
I have completed the CLA.

Here's an example of the new jest output:

@facebook-github-bot import

@facebook-github-bot shipit

This is awesome!


Fix bug in BatchDict

Codecov Report
All modified lines are covered by tests :white_check_mark:

Files
Coverage Δ

src/redcat/batchdict.py
100.00% <100.00%> (ø)

:loudspeaker: Thoughts on this report? Let us know!.


snapshot wait for the full timeout instead stopping early

close https://github.com/robert-s-lee/arcion-demo/pull/75


Run example of Commandcenter,* homeBase = getPlayerStartingBaseLocation(player) is NULL

When I try to run CommandcenterDefinitely with VS, I get a null pointer error. This error appears in the 308th sentence in the BaseLocationManager.cpp file:
"Const BaseLocation * homeBase = getPlayerStartingBaseLocation(player);"
My code is not very good, and I can't figure out why the "homeBase" here is a null pointer.
I have installed the required SC2API environment and can successfully run the sample programs in SC2API.
Thanks in advance.

CommandCenter is no longer being maintained and I'm not even sure the last time it worked properly :(

Hi @Timkeeper2018
Please try on this version
https://github.com/cpp-sc2/commandcenter


Migrate modules from anonlink-client to blocklib

close #8

Made requested changes. Tests all passed. Will merge in


Fix the Chatbot feature.

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
Here I've noticed that the chatbot is giving blank response after every message, I've worked on Botpress before i can fix this issue.

Also i can add more round edges to the text boxes as they look very rectangular, not going quite with the theme.
Also I can change the text message 'This Chatbot was built surprisingly fast.....' to more user friendly and interactive like 'Welcome to SwapReads!' or 'How can we assist you?'.
The placeholder should be with the name of the chatbot as 'Chat with Mia'.
I can change the icon (black S) to more styled color, as it isn't going with the color palate used.
Please assign me this issue, i will not disappoint!
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
Here I've noticed that the chatbot is giving blank response after every message, I've worked on Botpress before i can fix this issue.

Also i can add more round edges to the text boxes as they look very rectangular, not going quite with the theme.
Also I can change the text message 'This Chatbot was built surprisingly fast.....' to more user friendly and interactive like 'Welcome to SwapReads!' or 'How can we assist you?'.
The placeholder should be with the name of the chatbot as 'Chat with Mia'.
I can change the icon (black S) to more styled color, as it isn't going with the color palate used.
Please assign me this issue, i will not disappoint!
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Assigned!
Make sure to attach before & after screenshots in your PR. Also, star the repo before working on it. While creating your PR, ensure you pull all existing changes beforehand to avoid conflicts.
i am the GSSOC project mentor so reach out for any help!
Happy open-source contributing!

Please send me an invite link, so that I can have the access to update the chatbot.

Go to your workspace and select on members, then click on 'Invite member'.

Then enter my email id<EMAIL_ADDRESS>and change the viewer mode to manager / administrator mode, so that I can change the files.


"sudo: luarocks not found" during install on Ubuntu 16.04

Torch website says to not use sudo:
# run luarocks WITHOUT sudo
$ luarocks install image
$ luarocks list
Removing "sudo" from line 37 of fblualib/build.sh does not appear to fix the problem on its own.

After realizing that build.sh is called from the newly created /tmp directory, I seem to have gotten past this part of the issue by inserting
perl -pi -e 's/sudo\ luarocks/luarocks/g' ./build.sh
just above
./build.sh
in install_all.sh
However, now I'm getting the following errors:
-- REQUIRED_ARGS (missing:  FBLUALIB_INCLUDE_DIR)
...
CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files:
FBLUALIB_INCLUDE_DIR
   used as include directory in directory /tmp/fblualib-build.TvO0LJ/fblualib/fblualib/mattorch
   used as include directory in directory /tmp/fblualib-build.TvO0LJ/fblualib/fblualib/mattorch
   used as include directory in directory /tmp/fblualib-build.TvO0LJ/fblualib/fblualib/mattorch
   used as include directory in directory /tmp/fblualib-build.TvO0LJ/fblualib/fblualib/mattorch
   used as include directory in directory /tmp/fblualib-build.TvO0LJ/fblualib/fblualib/mattorch
   used as include directory in directory /tmp/fblualib-build.TvO0LJ/fblualib/fblualib/mattorch
   used as include directory in directory /tmp/fblualib-build.TvO0LJ/fblualib/fblualib/mattorch
   used as include directory in directory /tmp/fblualib-build.TvO0LJ/fblualib/fblualib/mattorch

Okay another update:
The problem arises when luajit is installed with Torch, which adds its install/bin directory to the local path but not the sudo path. Therefore, sudo luarocks in fblualib/build.sh fails to work. But, luarocks must be run with root permissions in order to install.
For those who are looking for a workaround, one option is to create an alias version of sudo with
alias sudo='sudo -E env "PATH=$PATH"'. Everything should now work.

I also meet this problem. And I have tried the method alias sudo='sudo -E env "PATH=$PATH"' but it doesn't work.
Do you mean that using the command on terminal with any file catalog?

Removing the "sudo" does help me to fix the problem


Don't overwrite an existing CFN stack if it's not Zappa

So… bad stuff today. I created a new stack called example-backend-qa (outside of Zappa). Then I went to deploy a new zappa stage called qa where "project_name": "example-backend".
This applied Zappa's cloudfront template to my existing stack. This broke things pretty badly.
Possible solution: before updating a stack's template, ensure that the description is "Automatically generated with Zappa" or maybe set a parameter in the stack with the Zappa version (and check to ensure this exists) or something like that.

Just happened to me 😄 Thankfully I've overwritten a new development environment -- getting my head around with #634.
I suggest the default stack could have a static output such as
Outputs:
  GENERATEDBY:
      Value: Zappa

That could be read using cloudformation
GENERATEDBY=$(aws cloudformation describe-stacks \
  --stack-name <CANDIDATE-STACK-NAME> \
  --query "Stacks[0].Outputs[?OutputKey == 'GENERATEDBY'].{OutputValue:OutputValue}" \
  --output text --no-paginate)


Add Azure workload identity support

What would you like to be added
Azure is in the final stages of adding a new authentication method "WorkloadIdentity" and it would be great to be able to retrieve azure keys from keyvaults using this new auth method.
Why this is needed
WorkloadIdentity will become the standard auth method for azure kubernetes once it is stable and the existing method of pod managed identity is going away.
Workload Identity has just gone stable with the sdks hopefully soon to follow, the current go sdk identity is v1.2.2 and the workload identity support is coming in v1.3.0 which is currently in beta 5.
https://learn.microsoft.com/en-us/azure/aks/workload-identity-overview
https://github.com/Azure/azure-sdk-for-go/blob/main/sdk/azidentity/CHANGELOG.md

@nbjohnson Azure KeyVault is already using azidentity v1.2.2. See https://github.com/smallstep/crypto/blob/878092791d7e5ef8530dfa949cfe3cde61373d77/kms/azurekms/key_vault.go#L199-L209
And from what I can see, as long as we update the dependencies to v1.3.0, once it is ready, NewWorkloadIdentityCredential() will be automatically called by NewDefaultAzureCredential(), see here.
Is there anything that I am missing or any parameter that you would like us to add or remove?

Yes I do see, just didn't know if there was any additional configuration required, but if it just slots in and picks up the necessary parameters for workloadidentity, great. Now just have to wait on an official 1.3.0 release

@maraino Looks like the official 1.3.0 release for azidentity go sdk was just published
https://github.com/Azure/azure-sdk-for-go/releases/tag/sdk%2Fazidentity%2Fv1.3.0

@nbjohnson wow, it was published 4h ago, same as your comment. I was watching the releases but didn't check those notifications yet. I'll update this.

@maraino Thanks for getting that in so quickly, looking forward to having workload identify support in step-ca certificates

@nbjohnson I've already updated the dependency in step-ca, and I think we will be releasing a new version soon.


Set the priority: which nodes should be displayed

For example:
INPUT: pla1, pla2, pla3
note: all pla have compounds
this again depends on how large we can get the canvas to graph.
(?) Ideally, all input (<max) is displayed

This depends on the dimension of the graph canvas.

with side scroll bar, this is unnecessary.


[Move] global thresholds for unhosted wallets

This PR handles the global thresholds to bound regular unhosted accounts.
There is also functionality for a privileged account to publish AccountLimits to under a specific account and manage bounds in this way.
In account_limits/test.move, I test both.
I expect that there may be changes in the future to have a more unified approach once details are more fleshed out.

:umbrella: The latest upstream changes (presumably 44dcf38fb5e91443178a7aed160fcadd75af83a7) made this pull request unmergeable. Please resolve the merge conflicts.

:umbrella: The latest upstream changes (presumably 0f40e5350e13c3ca3931622f7859d91d680bc307) made this pull request unmergeable. Please resolve the merge conflicts.

:umbrella: The latest upstream changes (presumably 65e3b04db6c3c55936b1761adf81bb21d2ba949e) made this pull request unmergeable. Please resolve the merge conflicts.

:umbrella: The latest upstream changes (presumably f140e9972d4eee0b7266b9c84df24d05d4022822) made this pull request unmergeable. Please resolve the merge conflicts.

OK - will follow up with certification removal (https://github.com/libra/libra/issues/4538). For now, can I merge?

@bors-libra r=tzakian

:pushpin: Commit cdbec31 has been approved by tzakian

@bors-libra r=tzakian

:pushpin: Commit 143504e has been approved by tzakian

:hourglass: Testing commit 143504edef21c67f0434b12d0bb195efb0c1bf69 with merge 84f7d03d76ebf4eeda89052b9252b37d02bf8f51...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: tzakian
Pushing 84f7d03d76ebf4eeda89052b9252b37d02bf8f51 to master...


Don't require semicolon after macro definition

The following code generates a syntax error "expected SEMI" at the position of the cursor
fn test() {
    macro_rules! indent {
        () => {
            for _ in 0..level {
                buf.push_str("  ");
            }
        };
    }<|>
    return;
}

This looks like a nice starter issue. I would like to see if I can fix it today.

Feel free to ask for help here if you get stuck

I think I jumped the gun a bit early here. Holiday is coming up next week and I want to finish up a compilers course (this one) so that I start with proper understanding of the basics. I do want to get involved, it may just take a few more weeks =)
If someone else wants to pick this up, feel free!

It turns out this is not only a problem for macro definitions, but also macro usage. I have created #225 which is more general.

But surely macro definition and usages are different constructs entirely. I would argue that this is should be simpler to fix than #225. It might only require a change to https://github.com/rust-analyzer/rust-analyzer/blob/477de790b0211196256a772befe4f577d1a8ba14/crates/ra_syntax/src/grammar/expressions/mod.rs#L204-L209

macro_rules! is itself a macro, so macro definition is actually a macro usage, as surprising as it may sound

I thought it has different syntax, i.e. macro_rules! $name: ident {$inner: tt}, which you cannot define with a regular macro. I'm not certain though

I think it is true that you can't define own macros with that syntax. Still, the parser currently treats macro_rules! as a macro usage (you can test that by displaying the AST in VSCode). We could consider changing that, though I am not sure it is worth it to make a distinction at the parser level.

This is also the case in the current wg-grammar grammar draft.


change .rand to .roll

the 2.rand stopped me a bit since it looks like it will pick 1 or 2 and we want 0 or 1 ... anyway only a minor tweak which is a matter of personal preference so I put in a PR for @masukomi to accept/reject

Sorry i didn't see this before. Thank you. Merging.


Running the reporter from another directory

This tool seems very useful and I really wanted to use this. But when trying out this neat tool I ran into a couple of issues.
I had an issue when runningthe reporter from the directory of the project I want to check.
I am using Glide as package manager.
When I executed:
goreporter -p . -r . -t $GOPATH/src/github.com/wgliang/goreporter/templates/template.html
I got:
[Apollo]2017/04/12 16:37:48 The report path is not specified, and the current path is used by default
[Apollo]2017/04/12 16:37:48 There are no packages that are excepted, review all items of the package
[Apollo]2017/04/12 16:37:48 start code quality assessment...
panic: runtime error: slice bounds out of range

goroutine 1 [running]:
main.DirList.func1(0xc4202bb9a0, 0x19, 0x18d4160, 0xc42032fc70, 0x0, 0x0, 0x0, 0x0)
	/Users/anton/development/go/src/github.com/wgliang/goreporter/utils.go:30 +0x216
path/filepath.walk(0xc4202bb9a0, 0x19, 0x18d4160, 0xc42032fc70, 0xc4200f14d0, 0x0, 0x0)
	/usr/local/Cellar/go/1.8/libexec/src/path/filepath/path.go:351 +0x81
path/filepath.walk(0x7fff5fbffa9e, 0x1, 0x18d4160, 0xc420107790, 0xc4200f14d0, 0x0, 0x30)
	/usr/local/Cellar/go/1.8/libexec/src/path/filepath/path.go:376 +0x414
path/filepath.Walk(0x7fff5fbffa9e, 0x1, 0xc4200f14d0, 0xc4201076c0, 0x0)
	/usr/local/Cellar/go/1.8/libexec/src/path/filepath/path.go:398 +0x14c
main.DirList(0x7fff5fbffa9e, 0x1, 0x15a6ea3, 0x8, 0x0, 0x0, 0x1043f85, 0x10, 0x0)
	/Users/anton/development/go/src/github.com/wgliang/goreporter/utils.go:38 +0x1ec
main.(*Reporter).Engine(0xc42015c180, 0x7fff5fbffa9e, 0x1, 0x0, 0x0)
	/Users/anton/development/go/src/github.com/wgliang/goreporter/engine.go:44 +0x10c
main.main()
	/Users/anton/development/go/src/github.com/wgliang/goreporter/main.go:70 +0x378

Another issue I had was when I ran the goreporter from it's project folder (GitHub.com/wgliang/goreporter) and pointed to my project folder like so: goreporter -p ../../../munisense.com/services/result-aggregation-service-go/ -d ../goreporter -t ./templates/template.html it kept saying that I didn't have these dependencies installed (because I used glide) and that I should install them using go get.
Will there be support for vendoring?
Lastly: How can I only check the packages I have built? Not the dependencies? Do I have to list all of the dependencies as exceptions? That seems a bit too much effort.. 😞
Please let me know if I'm doing something wrong here.
EDIT: Using both v1.0.0 and HEAD

Thank you for these useful questions：
Feedback：
goreporter -p . -r . -t $GOPATH/src/github.com/wgliang/goreporter/templates/template.html?

1.This is my bug,I used to be a strict way to limit the way of writing for -p. In addition, -r you must specify a valid template file(May be my negligence misleading you). Now I fix in rewrite flags and fix project vendors fix#10 .
2.Support all vendors.
If there are errors, please point out.Thanks very much.

Im still having issues when running the reporter in my project folder when using the command you suggested:
[Apollo]2017/04/24 14:56:23 The report path is not specified, and the current path is used by default
[Apollo]2017/04/24 14:56:23 There are no packages that are excepted, review all items of the package
[Apollo]2017/04/24 14:56:23 start code quality assessment...
panic: runtime error: slice bounds out of range

goroutine 1 [running]:
main.DirList.func1(0xc4203c7ac0, 0x14, 0x18d4160, 0xc42043bc70, 0x0, 0x0, 0x0, 0x0)
	/Users/anton/development/go/src/github.com/wgliang/goreporter/utils.go:30 +0x216
path/filepath.walk(0xc4203c7ac0, 0x14, 0x18d4160, 0xc42043bc70, 0xc420101440, 0x0, 0x0)
	/usr/local/Cellar/go/1.8/libexec/src/path/filepath/path.go:351 +0x81
path/filepath.walk(0x7fff5fbffad6, 0x1, 0x18d4160, 0xc42010d790, 0xc420101440, 0x0, 0x30)
	/usr/local/Cellar/go/1.8/libexec/src/path/filepath/path.go:376 +0x414
path/filepath.Walk(0x7fff5fbffad6, 0x1, 0xc420101440, 0xc42010d6c0, 0x0)
	/usr/local/Cellar/go/1.8/libexec/src/path/filepath/path.go:398 +0x14c
main.DirList(0x7fff5fbffad6, 0x1, 0x15a6ea3, 0x8, 0x0, 0x0, 0x1043f85, 0x10, 0x0)
	/Users/anton/development/go/src/github.com/wgliang/goreporter/utils.go:38 +0x1ec
main.(*Reporter).Engine(0xc420164180, 0x7fff5fbffad6, 0x1, 0x0, 0x0)
	/Users/anton/development/go/src/github.com/wgliang/goreporter/engine.go:44 +0x10c
main.main()
	/Users/anton/development/go/src/github.com/wgliang/goreporter/main.go:70 +0x378```

Do you have a solution?


Reason behind the scene...

Is there any reason not to make an overload of ForeignKeyAttribute that takes a type instead of strings.
I mean  [ForeignKey(typeof(CountryRow)] instead of [ForeignKey("[dbo].[Country]", "Id")]?
Inspired by LookupEditor(typeof(CountryRow))
Like you @volkanceylan .  I am also dislike the hard coded strings.

If you like/wish I can try a bit...

It would need to instantiate other table row, which would lead to stack overflow. It can be used with table names specified with attributes though.

Thank you. When I have some time, I will send a pull request according to your direction.


DICOM annonymization

Excuse me!
I want to ask you a question which relate to the anonymization of DICOM image!
Have you worked with anonymization DICOM image?
Can I use cornerstone for anonymization technique? Or any suggestion for me!?
Thank you so much!

Not exactly, but you can use dicomParser.
Here's a live example of de-identification in the browser:
https://rawgit.com/cornerstonejs/dicomParser/master/examples/simpleDeIdentify/index.html


Change labels position top to bottom

Can we change range labels position top to bottom ?

Implemented here:
https://github.com/WorldDownTown/RangeSeekSlider/pull/48

@serge-star ,
https://github.com/WorldDownTown/RangeSeekSlider/pull/48
didn't merged to master


Replace php-http/message-factory

How do you use Sentry?
Sentry Saas (sentry.io)
Version
3.19.0
Steps to Reproduce
Execute composer require sentry/sentry.
Expected Result
I expect psr/http-factory is used and no warning appears.
Actual Result
./composer.json has been updated
Running composer update sentry/sentry
Loading composer repositories with package information
Updating dependencies
Nothing to modify in lock file
Writing lock file
Installing dependencies from lock file (including require-dev)
Nothing to install, update or remove
Package php-http/message-factory is abandoned, you should avoid using it. Use psr/http-factory instead.
Generating autoload files
59 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
No security vulnerability advisories found
Using version ^3.19 for sentry/sentry

We currently rely on php-http/message-factory and can't easily remove this dependency without a likely breaking change. Closing as won't fix.

Package php-http/message-factory is abandoned, you should avoid using it. Use psr/http-factory instead.
I also would like to get this fixed.

It looks like this is a temporary solution anyway as @stayallive said, so I don't understand why the "won't fix" end-of-discussion answer here. Unless I misunderstood the other PR, if anything this will be fix "soon".

For some more contex:
The Symonfy HTTP Client version 6.2 and below will throw an exception if php-http/message-factory is absent. See https://github.com/symfony/symfony/blob/6.2/src/Symfony/Component/HttpClient/HttplugClient.php#L48-L50
While this behaviour was removed in 6.3 and up, we can't force people to upgrade to the latest version via the SDK. We already ran into this issue in https://github.com/getsentry/sentry-php/issues/1533, which was caused by php-http/client-common removing this dependency.

Thank you @cleptric for the explanation, I think I understand why this is happening now.
In my case, I believe this will be fixed when 6.3 will be released (currently latest is RC2).

Hmm, can't we keep this issue open to track this? I'm trying to avoid using abandoned package dependencies.

While this behaviour was removed in 6.3 and up, we can't force people to upgrade to the latest version via the SDK.

 People using outdated Symfony versions are free to also keep using older sentry versions that still rely on the abandoned package.

We currently support Symfony HTTP client version 4, 5 and 6. https://github.com/getsentry/sentry-php-sdk/blob/master/composer.json#L25
As I already explained, we cannot enforce the version of the Symfony HTTP client people use, hence versions 4, 5 and all versions prior 6.3 will throw an exception during runtime if we remove php-http/message-factory.
https://github.com/php-http/message-factory Contains five interfaces and ships no actual code. This is a compromise I'm willing to accept for the time being.
I'm happy to review a PR if anyone has a better idea.

People can just require php-http/message-factory on their own if they require it. Problem solved, no more exception during runtime after you remove it from sentry.

Our security/compliance department is unhappy with us for having an abandoned package as a dependency.

We might cut a new major version in the coming weeks that would resolve this. Big emphasis on might, as there are a few constraints that would come with this.

Our security/compliance department is unhappy with us for having an abandoned package as a dependency.

Same. Unfortunately we've been forced to remove Sentry because of this.

Honestly, I can't understand why a security/compliance department would be so interested in complaining about the deprecation of a package that contains only interfaces and no code to maintain. Anyway, I also don't understand why we can't remove this dependency: from what I've read (I haven't followed the discussion much in the past), the problem was the initialization of the Symfony HTTP client which required the above package to be installed . The best solution in that case was to handle the initialization gracefully, not add a package that we're not even using directly (unless I'm blind)

@ste93cry Most security scanning is automated nowadays. Personally I think this should be taken care of by the package that's using the deprecated dependency, rather than asking consumers of the package to add exceptions to their security pipelines. Just my opinion though.

Removing a package just because it depends on a set of deprecated interfaces seems a bit exaggerated, but in general I agree with your thoughts, no doubts at all. Since we're not using those interfaces, unless I missed some references in the code, I don't understand @cleptric's choice of forcing the installation of that package instead of just handling the HTTP client initialization using a try/catch statement.

Honestly, I can't understand why a security/compliance department would be so interested in complaining about the deprecation of a package that contains only interfaces and no code to maintain.

The package have any problems right now... but it's no-longer maintained and if a problem is found in the future the lack of maintenance means nobody is going to fix it.
As to the issue in this specific case... I agree, there's not much real threat. But I'm not willing to make an exception and every time we run through continuous integration/deployment the issue of an unmaintained package pops up as a potential problem and my team wastes time investigating to check if it's a problem or not.
That's the real problem here - the wasted time caused by Sentry having an unmaintained dependency. And here I am, commenting on this issue, when I should be doing productive work. And everyone watching this will read my comment. More wasted time.
While it's a minor issue it's also one that affects literally everyone who uses PHP and Sentry, so it should be fixed sooner rather than later. It's now been over two months already. And the deprecation warning has crossed my radar hundreds of times (more than once a day).
If I wasn't so busy, I would have already forked sentry-php. But I'm really hoping I don't need to do that...

We'll kick off working on the new major this week, so an update that solves the mentioned issue will be not too far out.

I'm not willing to make an exception

If the php-http/message-factory repository had not been archived, you would have never known that those interfaces were not maintained anymore. World is full of compromises, it's up to you to discern which makes sense to accept and which not.

If I wasn't so busy, I would have already forked sentry-php. But I'm really hoping I don't need to do that...

I would like to remind you that open source software lives on the contribution of people willing to dedicate their time to help develop it. While it is true that this package is backed by a company and there is a legitimate expectation that it will be maintained over time, this SDK has been developed primarily by open source contributors, so if you are concerned about this particular issue you can always step up and contribute to improve the situation.

We'll kick off working on the new major this week, so an update that solves the mentioned issue will be not too far out.

This still doesn't explain why you decided to add the package to the composer.json instead of just wrapping the client initialization in a try/catch block. I have nothing against releasing a new major version, but I'm failing hard to see why it's needed.
Note: I'm not affiliated with Sentry in any way, I'm just a contributor of this package with his own personal opinion

I explained this in https://github.com/getsentry/sentry-php/issues/1541#issuecomment-1568068745. Swallowing the exception doesn't help much, as in this case, no events will not be sent to Sentry, which is hard to surface to users.

How can swallowing the exception not help? The next HTTP client will be tried, so I don't see a particular issue with this. If neither of the clients can be instantiated, there is nothing Sentry can do...

Requiring the package directly was done to solve issues like https://github.com/getsentry/sentry-php/issues/1533 and https://github.com/getsentry/sentry-laravel/issues/694.
We opted to rather not crash users' applications.

Wouldn't a try/catch around the initialization of the Symfony HTTP client just catch the error and let the factory try the other HTTP clients?
+try {
    if (class_exists(SymfonyHttplugClient::class)) {
        ...

        return new SymfonyHttplugClient(SymfonyHttpClient::create($symfonyConfig));
    }
+} catch (Throwable $exception) {
+    // Do nothing on purpose, so that the next HTTP client can be tried
+}

Using sentry/sentry-sdk and catching the raised exception will result in the same LogicException exception being thrown, as HttpAsyncClientDiscovery will resolve to SymfonyHttplugClient yet again.

You're right, if we assume that the user has no other HTTP client installed besides symfony/http-client. But is this enough to justify your choice of forcing an obsolete package for everyone else? I also wonder why php-http/message-factory isn't required in sentry/sentry-sdk. I realize this just moves the issue from one place to another, but at least the core SDK which does not depends at all from those interfaces remains clean.

I did consider using an abandoned package less severe than causing an exception.

Considering the amount of people complaining here and "+1" the first comment, maybe this decision should be reconsidered. What about my suggestion of moving the requirement of the abandoned package to the meta-package? If someone wants to require just the core SDK, at least they are fine 😃

@cleptric Would it be possible to make Sentry work even when php-http/message-factory is not installed? It can still be a dependency but that way those who need to avoid having an abandoned package in their stack could simply add it to a replace block in composer.json and force it to not install.

The same can happen if someone uses the base SDK and requires the HTTP client manually or if it was installed via php-http/discovery.

If you're using the base SDK (and not the metapackage), then it's up to you to choose the HTTP client and install it. If you get an exception because there's a missing package that should have been required by that HTTP client, they should not complain here. What's happening here is that you're trying to solve an issue not of this package, causing complaints by all the rest of the people that are not impacted by that issue. If we can find a middle-ground solution, we should go for it.

@enumag The problem is that if we remove the package again, some people will run into the mentioned exception. So currently, we sadly have to live with the lesser evil. As said, this will be resolved soon 🙂
@ste93cry I already know you disagree, but Sentry's stance here is not to crash, even it the issue is technically not our fault.

Sentry's stance here is not to crash, even it the issue is technically not our fault.

It's quite difficult to account for all possible bugs in technical implementations of third party packages to live up with this premise... Sometimes, being a bit more flexible is the best way to go forward 😉

So it would not be possible to have the next release of sentry/sdk depend on "symfony/http-client": "^4.3|^5.0|^6.3"? This would not be a breaking change, existing Symfony 6.2 installations will continue to work since the update won't be installed. Symfony 6.3 installations would get the update without noticing any difference.
Also see What should I do if I update my own dependencies without changing the public API?

FYI: The next version of Composer (2.7) composer audit (often used in CI) will fail by default because of abandoned packages:
The new audit.abandoned setting (currently defaulting to "report" will default to "fail"
in Composer 2.7, make sure to set it to "report" or "ignore" explicitly by then if you do not want this.

@nexik Do they have some kind of a roadmap? I can't see the information anywhere.

any progress here? :-)
thanks

Yep, this was already fixed in the next major version of the SDK.

Yep, this was already fixed in the next major version of the SDK.

What version is that? And when will it be released?

FYI for anyone who cannot or does not want to ignore the abandoned package warnings from Composer:
If you are not using Symfony < 6.3, and you have no other packages or code depending on php-http/message-factory, I believe the easiest way to prevent the package from being installed is by adding the following lines to the root composer.json of your application (so no need to fork any packages):
    "replace": {
        "php-http/message-factory": "*"
    },

Next, run:
$ composer update php-http/message-factory

This uses Composer's replace feature to let Composer conclude that the dependency on php-http/message-factory is fulfilled by another package (your application), and will remove the package from your vendor directory.
Obviously this will break things if your code (or any of your other dependencies) actually uses any of the interfaces provided by php-http/message-factory, so use this with caution.
To make sure none of your dependencies depend on the package use composer why:
$ composer why php-http/message-factory

If only sentry/sentry is listed and you know you are not using these interfaces in your own code, you should be safe.

@abhibeckert We aim for a release later this week/early next week. This will, however, only affect users who don't use our Symfony/Laravel SDK, as we will need to cut new majors there as well.

4.0.0 shipped and removed php-http/message-factory.

I still think you should release it for version 3.x of the SDK. Not all people will immediately upgrade to the latest major and will face an error as soon as Composer starts blocking the installation of deprecated dependencies (it will happen soon). Also, as explained in my first comment, this PR should be backwards compatible, so there's no reason to insist on not merging it.

this PR should be backwards compatible

This is exactly the reason why I haven't merged this yet.

I was cautious, but if you read the description of the PR you will see that it's not possible to install the SDK with a version of the framework that does not support the required HTTP client.

Sorry for the confusion, we shall keep this open until getsentry/sentry-symfony#783 is finished.

With the release of version 5.0.0 of our Symfony SDK, all current versions of our PHP SDKs do not longer require php-http/message-factory or any other of these packages of this kind.


Ability to configure cargo run configuration

I'm developing a program that is required to pass command line options and set environment variables. I'd like to have the ability to config cargo run so it sets the correct environment since running the program otherwise does not make sense and some error will be reported.
Would it be possible to add the abitility to configure cargo run?

One option is to specify a runner.  If you are on a unix-like platform, you can use env, like  CARGO_TARGET_X86_64_APPLE_DARWIN_RUNNER="env FOO=hello" (config variables can be specified in a file or an environment variable).  Or you can use a shell script to execute your process that sets up the environment.  I acknowledge that isn't very elegant.  Another option is to use cargo aliases which run a wrapper that does whatever you want. These can be written in bash, or Rust, or whatever. One example is cargo-xtask.  Another option is to use some build system on top of cargo. It can be something like a shell script, or make, or whatever.