Add writer style option to SettingsWriter

~Opening a draft PR for a preliminary review before adding a fuller description/notes/tests since the content of this PR is subject to change a good bit. This is a first stab and I'd like some feedback first.~ Opening PR and adding tests.
Description
As described in Issue #897, we would like a third option that preserves the original settings file even if a setting defined in it is a default value. Currently, short removes all settings that have the default value, and full prints out every possible setting to the file.
To accomplish that, I added a medium style option to SettingsWriter (which involved editing the handling of the strings of "acceptable" styles to constant strings as well as a helper function in the caseSettings module called getSettingSetByUser so the full list of user defined settings can be tracked.).
I propagated the style argument back from it's original location in SettingsWriter to the yaml-writing methods in caseSettings (writeToYamlFile & writeToYamlFileStream, and further back from there to the case/suite clones and writeInputs (with the updated argument name of writeStyle). I also made the settingsWriteStyle flag available to the modify and clone-related CLI, so one can alter the writing style from the command line.
The testing was a little difficult. writeToYamlFile method and SettingsWriter class aren't explicitly tested, and neither is clone. I have the 3 writing style options tested, the new method (getSettingsSetByUser) in caseSettings.py is tested, and some attempts at testing the CLIs that were changed in this PR.
Small PR-addendum:
There was a stale coveragerc file in armi/resources. I now have the coverage code in case.py pointing to the main/active version in the repo, using a helper function with an shutil.copy to accomplish the reason for having a copy of the original file in the first place. I have tested that this works with a case (and a case suite).

Checklist

[ ] This PR has only one purpose or idea.
[x] Tests have been added/updated to verify that the new/changed code works.

[x] The code style follows good practices.
[x] The commit message(s) follow good practices.

[x] The release notes (location doc/release/0.X.rst) are up-to-date with any bug fixes or new features.
[x] The documentation is still up-to-date in the doc folder.
[x] The dependencies are still up-to-date in setup.py.

This looks awesome so far. Thanks for doing this.
I did see that writeToYamlFile() is being used in armi.cases.case as well. I think it would be good to propagate the writing style to that usage instance as well. I think that should be possible with just a bit more scaffolding.

I'm happy to do that, but would want some buy-in from others beforehand. making changes and preserving the previous default behavior keeps me out of trouble ;-)
@Nebbychadnezzar @john-science @albeanth @jakehader @mgjarrett Anyone have a problem with me changing the default case writing and cloning in case.py to retain the user-defined settings even if they are default values?
My 2 pennies: I do not see an issue with it.

I'm happy to do that, but would want some buy-in from others beforehand. making changes and preserving the previous default behavior keeps me out of trouble ;-)

Well I'm not saying to change the default behavior. I'm suggesting that, if the new command-line option --style=medium is specified, then also the medium style should be used when the YAML files are printed out from the case module.
Does that make sense?

Well I'm not saying to change the default behavior. I'm suggesting that, if the new command-line option --style=medium is specified, then also the medium style should be used when the YAML files are printed out from the case module.
Does that make sense?

So you're just wanting the settingsWriteStyle argument to be available to the clone CLI, correct?

Closing this PR to split into 2-3 smaller ones

Closing this PR to split into 2-3 smaller ones

🙌 Such a fan of this! Love it.

Closing this PR to split into 2-3 smaller ones

🙌 Such a fan of this! Love it. The recognition!

Thank you. I was a victim of scope creep and my own 'ooh this is tiny it can get snuck in'. Do not recommend!


Improve installer

Codecov Report

Merging #1005 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master   #1005   +/-   ##
======================================
  Coverage    3.56%   3.56%
======================================
  Files          51      51
  Lines       18034   18034
======================================
  Hits          643     643
  Misses      17263   17263
  Partials      128     128

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 83e9840...8aff4e5. Read the comment docs.


Add permanent link to DIF's spec tracking repo

https://github.com/decentralized-identity/specs/blob/master/README.md

PR has been opened https://github.com/decentralized-identity/specs/pull/1

Has been added.


Better messaging for tasks unable to start

addresses https://github.com/lumoslabs/broadside/issues/21
If a task is launched and mysteriously dies without an exit code, then grab whatever message AWS has about the failure. This covers the whole tag missing issue that would result in deploys mysteriously dying at the first predeploy command.

i preemptively merged this branch into https://github.com/lumoslabs/broadside/pull/58 so if you're ok with that one we can just do one commit (but whatever you prefer; just wanted to deal with the fact that some methods moved.  actually wasn't so bad)

i take that back - let's merge this first just to make sure i didn't blow it while merging


Dib542/incentives fixes

I tested this branch locally and was able to stake all my tested tokenized shares including:

negative and positive tick index shares
multiple denom shares within the same Msg and Tx 👍


Update ubiquibot-config-default.json

Reference: https://github.com/ubiquity/ubiquibot/pull/558#discussion_r1286956838

I just realized it's a JSON object. Perhaps we can use .jsonc?

Mixed feelings on adding new dependencies just to add a comment, but I really would prefer to increase code maintainability. I want new developers to understand why we are adding specific integers in as defaults.

I just moved the notes to the README.md


Error: No module named Sportsreference.fb

Hi again, I followed the installation guide, but after inputting in python:
'Import Sportsreference.fb'
it still gives me the same error, so the latter stages of the football data also do not work.
What codes should I use?
Should I just follow your guide, or is the problem still being fixed/updated?
Many thanks.

Hello again @Maths-Lad, you are correct, this is still broken for the latest binary as the updated version hasn't been pushed yet (the original binary you pulled for your previous issue is still the latest version), though this should work if you compile a wheel from source now. I just initiated a publishing task which should complete in a few hours, then you can update to the latest binary and try again where it should work for you. I will update here when I've tried out the new binary and let you know.
Thanks!

Looks like the new wheel has been published to PyPI, so you can upgrade with:
pip install --upgrade sportsreference

Now, the following will work:
from sportsreference.fb.team import Team

tottenham = Team('Tottenham Hotspur')
print(tottenham.goals_scored)

Let me know if you are still having issues with this and we can try and sort it out.

Yes, it seems to work now! Thank you very much for your help.

Great, thanks for the confirmation!


Add Docker support

This has been delayed since I am planning to integrate the DevContainer support natively as well (based upon devpod). If we go down that path, we can get docker as well as devcontainer support including support for directly running inside a running container.

Closed in favor of #66


shitty joke

“Knock, knock.”
“Who’s there?”
very long pause….
“Java.”

Don't you know why Java is so bad at performing ?.... 'cause he doesn't have the Script !


Added standardimension applet

Created an applet that contains the standard dimensions for 2d and 3d. Closes #65

Congratulations on your first PR! 🎊 You chose a challenging applet to begin with, involving a split panel. Currently, my canvases can only support two 2D canvases or two 3D canvases side by side. I will review your branch later today and work on adding the functionality to use different types of canvases together.
Your split canvas implementation leaves two control panels, which can be distracting to the end user.

I see what you mean now, thanks for the fix.


PTVS 2.2 VS 2013 setup failed.

I have installed Visual Studio 2013 Update 5, and now i am trying to install PTVS 2.2 VS 2013 but it's showing "your version of Visual Studio 2013 is not supported please install the latest update from http://www.visualstudio.com/.". Please help, i am a new user.

Which version of Visual Studio 2013 are you using? I guess it might be Express for Windows. You need a full version of VS 2013 or Community, Desktop Express or Web Express to use PTVS. See the "Installation Instructions" in the wiki here
https://github.com/Microsoft/PTVS/wiki

yea mistakenly i have had download VS for windows, i should download for desktop. Thank you for suggestion. That was my mistake not any error.


Add codespell to pre-commit

I am adding codespell to pre-commit and fix spelling mistakes.
https://www.grammarly.com/blog/everytime-every-time/

I'm separately working on upgrading parts of the docs, hope there won't be too many conflicts!

You can close this PR and make the changes on your branch if this makes your life easier


Update exits.ts

Hello, added changes in StarkEx broken Link

Will this PR close #1288 ? 🤔

It looks like I opened a new one instead of adding it to this one 😅
I close the previous one? #1288

Regarding our team discussion, we decided to make some refactoring and include your changes. Check #1448 PR for more details. Thanks for contributing 👍


HA etcd question

Hello!
I've configured 3 baremetal machines HA cluster as described in https://kubernetes.io/docs/setup/independent/high-availability/
"Stacked control plane and etcd nodes"
Now i have:
#kubectl get nodes
NAME       STATUS   ROLES    AGE   VERSION
t-k8s-50   Ready    master   21m   v1.13.2
t-k8s-51   Ready    master   17m   v1.13.2
t-k8s-52   Ready    master   15m   v1.13.2
#kubectl get cs
NAME                 STATUS    MESSAGE              ERROR
scheduler            Healthy   ok
controller-manager   Healthy   ok
etcd-0               Healthy   {"health": "true"}
So, i have a question - is it right, that i see only one etcd instance?
Thx for help!

if you do kubectl get po --all-namespaces do you see 3 etcd pods?

Yes, there's 3 etcd pods
kube-system   etcd-t-k8s-50                      1/1     Running   1          3h34m
kube-system   etcd-t-k8s-51                      1/1     Running   0          3h30m
kube-system   etcd-t-k8s-52                      1/1     Running   1          3h28m

the cluster seems healthy.

In this case, how to view etcd status? Is it possible at all?

yes it is. please read here:
https://coreos.com/etcd/docs/latest/v2/admin_guide.html
if you don't want to use etcdctl you can simply curl -L <member-ip>:<port>/health to get the status of each member.
if the health status is not true on any of your member, please bring down the cluster and try our guide again.
thank you
/close


Tracking issues of OpenDAL 0.44.1 Release

This issue is used to track tasks of the opendal 0.44.1 release.
Tasks
Blockers

Blockers are the tasks that must be completed before the release.

Build Release
GitHub Side

[x] Bump version in project

[x] rust
[x] cpp
[x] haskell
[x] java
[x] nodejs

[x] Update docs
[x] Generate dependencies list
[ ] Push release candidate tag to GitHub

ASF Side

[ ] Create an ASF Release
[ ] Upload artifacts to the SVN dist repo
[ ] Close the Nexus staging repo

Voting

[ ] Start VOTE at opendal community
[ ] Start VOTE at incubator community

Official Release

[ ] Push the release git tag
[ ] Publish artifacts to SVN RELEASE branch
[ ] Change OpenDAL Website download link
[ ] Release Maven artifacts
[ ] Send the announcement

For details of each step, please refer to: https://opendal.apache.org/community/committers/release

I couldn't log into the Nexus, but my account seems fine because I can access list.apache.org and log in successfully. It appears to be a permission issue.

cc @tisonkun, woule you like to help me close https://repository.apache.org/#view-repositories;orgapacheopendal-1023~browsestorage first? We can checkout the account issue later.

I couldn't log into the Nexus, but my account seems fine because I can access list.apache.org and log in successfully. It appears to be a permission issue.

cc @tisonkun, woule you like to help me close https://repository.apache.org/#view-repositories;orgapacheopendal-1023~browsestorage first? We can checkout the account issue later.

Seems fixed.

I started a VOTE at: https://lists.apache.org/thread/r76vnpfm2g1rhf1q33x7bmtmw137dlb4
Please take a look and help verify it @apache/opendal-committers

v0.44.1 has been released, thanks all!


Feature Request: Improve Alignment of Comments

This is the scenario I'm suggesting to improve. In the actual code these comments are aligned:

cargo fmt (at least I assume this is what is responsible) seems to be smart enough to automatically add spaces so that comments are well aligned.
It would be neat for rust-analyzer to also employ some mechanism with which it can (only visually) offset comments, when adding an (visual) offset to other parts of "comment-chains".

I assume the offset is caused by the inlay hints? I don't think we can (actually, want to) do anything about this.

Exactly, it was the hints. My thought was that there could also be temporary comment-offsets.

The only thing we could do here is adding an empty inlay hint with the correct number of spaces to make the comments align. But that would be shown as a rectangle with the default styling.
Maybe the others think differently, but I still don't think we want to add this.

The only thing we could do here is adding an empty inlay hint with the correct number of spaces to make the comments align.

I would be happy with that.

Maybe the others think differently, but I still don't think we want to add this.

Is there someone we could @ to get additional thoughts on the topic?

@rust-analyzer/review ^


can't run script on mac/python 3.6.4

I installed python 3.6.4,
I run script with command: python3 fbx2gltf.py
I have message:
"You need to copy the content in compatible subfolder under /lib/python into your python install folder such as "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages" folder."

Because the FBX SDK is compiled with python3.3  So only this version is supported.

ah ok. Is a v 3.3.0 ~ 3.3.7 ?

Yes

How can I compiled FBX SDK with python3.6? I want to use tools/fbx2gltf.py by Python3.6


Instana Agent

Submission Template
Please provide the following information.

IBM Corporation
Instana Agent
versions with a timestamp lower than 2021-12-11 20:58
Status:  Affected
Update Available:  Yes https://status.instana.io/incidents/4zgcd2gzf4jw
versions with a timestamp 2021-12-11 20:58 or later are fixed
References
Last Updated: Dec 14, 2021 - 11:59 UTC

For questions about choice for status, please see the information below.

Unknown - Status unknown.  Default choice.
Affected - Reported to be affected by CVE-2021-44228.
Not Affected - Reported to NOT be affected by CVE-2021-44228 and no further action necessary.
Fixed - Patch and/or mitigations available (see provided links).
Under Investigation - Vendor investigating status.

Than you for reaching out to CISA. We have updated our list.


LSP doesn't run without YJIT (breaks on non-CRuby)

Description
The collection of the Ruby LSP information will not work, presumably because it assumes YJIT is available (e.g., doesn't work with TruffleRuby). I've collected it from another window running with CRuby and tried to manually hack it together:
Ruby LSP Info

### Ruby LSP Information

#### VS Code Version

1.95.3

#### Ruby LSP Extension Version

0.8.14

#### Ruby LSP Server Version

0.22.1

#### Ruby LSP Addons

#### Ruby Version

3.3.5

#### Ruby Version Manager

none

Failed to setup the bundle: Command failed: gem list ruby-lsp language_server-protocol prism rbs sorbet-runtime ERROR: truffleruby: invalid option --yjit (Use --help for usage instructions.) . See Troubleshooting for help
Reproduction steps

Use TruffleRuby for your project (e.g., truffleruby-24.1.1 from ruby-build)
Start the Ruby LSP using VS Code
Open a Ruby file
See the LSP fail to activate because the --yjit flag is invalid

Code snippet or error message
The console output suggests that it will only enable YJIT if RubyVM::YJIT is defined:
2024-11-25 11:16:27.635 [info] (nuevo-protobuf) Discovered version manager shadowenv
2024-11-25 11:16:27.641 [info] (nuevo-protobuf) Found shadowenv executable at /opt/homebrew/bin
2024-11-25 11:16:27.642 [info] (nuevo-protobuf) Running command: `/opt/homebrew/bin/shadowenv exec -- ruby -W0 -rjson -e 'STDERR.print("RUBY_LSP_ACTIVATION_SEPARATOR" + { env: ENV.to_h, yjit: !!defined?(RubyVM::YJIT), version: RUBY_VERSION, gemPath: Gem.path }.to_json + "RUBY_LSP_ACTIVATION_SEPARATOR")'` in /Users/nirvdrum/src/github.com/Shopify/nuevo-protobuf using shell: /opt/homebrew/bin/fish

However, I see an error dialog with:
Failed to setup the bundle: Command failed: gem list ruby-lsp language_server-protocol prism rbs sorbet-runtime ERROR: truffleruby: invalid option --yjit (Use --help for usage instructions.) . See [Troubleshooting](https://shopify.github.io/ruby-lsp/troubleshooting.html) for help

Browsing the code, I think the issue is:
https://github.com/Shopify/ruby-lsp/blob/35fc5e90ef8b763ca2e1b0ff5acbe9c47d19c12a/vscode/src/ruby.ts#L235
TruffleRuby 24.1.1 reports as being Ruby 3.2.4 compatible. While dev builds of TruffleRuby 24.2.0-dev now report as 3.3.5. The check for whether YJIT is available needs to consider more context than just the Ruby version number. I think the check for RubyVM::YJIT is the best approach since it's possible to have a CRuby build without YJIT, so checking for RUBY_ENGINE == "ruby" may be insufficient.
I haven't tried running with JRuby, but I strongly suspect the LSP doesn't run there for similar reasons.

I haven't tried running with JRuby, but I strongly suspect the LSP doesn't run there for similar reasons.

JRuby doesn't work because RBS isn't yet supported: https://github.com/Shopify/ruby-lsp/issues/2292

Kevin is correct in his assessment that the issue is in how we turn on YJIT for Ruby 3.1 and 3.2 on the extension side. We need to also check the Ruby engine as part of enabling YJIT, which should fix this issue.
The TruffleRuby CI was for the server only, so it wouldn't have caught this issue. To get extension/server integration tests running on different Ruby implementations, we would need a new matrix on CI.


Add analysis notebooks and scripts

Description
Contains notebooks, getters and scripts for the bulk of analysis.
Fixes #1
Instructions for Reviewer
In order to test the code in this PR you need to review the code in the notebooks and scripts and see if they run smoothly on the machine. These notebooks should produce Altair plots.
Checklist:

[x] I have refactored my code out from notebooks/
[ ] I have checked the code runs
[ ] I have tested the code
[ ] I have run pre-commit and addressed any issues not automatically fixed
[ ] I have merged any new changes from dev
[ ] I have documented the code

[ ] Major functions have docstrings
[ ] Appropriate information has been added to READMEs

[ ] I have explained this PR above
[ ] I have requested a code review

Hey @dede95, thanks a lot for the PR, well done!
I managed to set up the repo, install the dependencies and run most of the code, so that's great! Please see some general comments down below, and I've also added more specific comments at the corresponding lines of code (mostly minor adjustments, such as simplifying code, or adding docstrings and variable types).
## Setup
In terms of repo setup, I did need to manually run a few lines in my terminal (not sure why the makefile didn't run them, but perhaps you can just add instructions to the readme)
pip install -r requirements.txt
pip install -e .
pip install git+https://github.com/nestauk/jacc-hammer.git@legacy

I also needed to create the credentials.yaml - this could also be mentioned in the readme instructions.
## Code
### Data collection and analysis
Regarding code, it looks good! In addition to the few minor adjustments above, I would also suggest disentangling the data collection and analysis bits. Namely, at the moment I need to run the code that fetches spotify song data in each notebook. It would be better to have a separate notebook or script that downloads the data for “the songs of interest” and saves them in a table. Then all your other scripts or notebook that generate the charts can fetch this table. This would make it possible to share the exact data you used for generating the final charts for the article (the playlists might change over time) - and make it easier for others to re-run the analyses (eg, they wouldn't even the access to Spotify API).
It would also be useful to indicate the approximate time it takes to run the Spotify data collection. I appreciate it’s quite fast (it was a few minutes in my case) but it'd be good to know ahead of running the code.
The same suggestion also applies for the charted songs (ie, having a script/notebook that does matching of the climate change song list with charted songs list - and then a separate notebook for making the plots).
### Exporting charts
When generating charts, it would be good to add functions that also export the figures (eg, as svg, png and html). You can take a look at the innovation_sweet_spots repo how we’ve handled the exporting.
It would also be good to export the data tables, so that we can replicate these tables later with Flourish.
### Checking results
It might good to do a bit of manual checking when it comes to the charted songs. For example, I think that "Big yellow taxi" doesn't appear among your charted songs? (at least in the scatterplot that your notebook generates). If you check the charts, you do find that they charted in 1970 (and a cover also charted in 1995). I think it’s because in your Spotify dataframe the artist is name as “VARIOUS ARTISTS”, so the fuzzy matching didn't find a match. I’d suggest manually double-checking some well know songs, whether they have charted and if that shows up in your results as well.
Overall, thank you very much Adeola, well done, and hope this suggestions make sense. Happy to discuss during out 1-1.


Cleanup and go modules initialized

Changes made:

removed files for older commands which weren't being used
initialized go modules for the project
added utility methods in a separate utils.go file
renamed files from camel casing to preferred format
renamed moduleName variable to mainModule which stores the name of the main module of the project in which the tool is run in
added some more comments for clarity

Blockers:

after initializing go modules and adding "github.com/RinkiyaKeDad/dependency-analyzer-poc/cmd" to the main.go file I'm unable to see the changes which I make locally in effect

@alenkacz - these are the changes made in the latest PR. I'll request for a review from next time and not merge directly.


Updated the shop card

Changes:

Added flex to the cards to make them responsive
Changed the card style
Added on hover animation

Files changed:

pages/shop/index.js
components/shoplist-card/index.js

You have done UI changes.
Please put some screenshots of Web browser and Mobile.

Great work @agarwalamn 👍🏽 🔥

Desktop preview

Mobile preview

Updated it


Some of the HAR tests fail in Qt 5.5.1

See https://github.com/scrapinghub/splash/commit/c9ae1533d727bd11db2601010215379120cc8a47. It'd be good to check why.

looks like they pass ok now #404


feat(client): add findFirst

Closes https://github.com/prisma/prisma/issues/3676

Looks like we could update the denylist https://github.com/prisma/prisma/blob/ebde14f1f37bee60b9363ee5ff954fd1cbb33f97/src/packages/client/src/generation/generateClient.ts#L520

Looks like we could update the denylist
No need for that, we soon will get rid of most of it ;)

Should take be part of FindFirst....Args ?

Should take be part of FindFirst....Args ?

This method internally does take: 1 to limit the result to the first value.
If you need take, use findMany

I know, my point was...should it ? findFirst, as stated in the docs, is sugar for findMany({ take: 1 }). Otherwise findFirst is an alias of findMany.

It is not a direct alias. It is implemented on the prisma-engines level as a top level method in the dmmf: https://github.com/prisma/prisma-engines/pull/1132
I think defining it as directly findMany take: 1 wouldn't be completely accurate.
It is more like findMany and it flatten out the first result returned by the findMany.


The item 'Use AzCopy for Improved Blob Upload and Download' isn't checked after enabling the preview AzCopy feature on notification bar

Storage Explorer Version: 1.7.0/20190226.5
Platform/OS Version: Windows 10/ MacOS High Sierra/ Linux Ubuntu 16.04
Architecture: ia32
Commit: b9da01ca
Regression From: Not a regression
Steps to Reproduce:

Launch Storage Explorer -> Make sure the AzCopy feature is disabled.
Go to dev tools(F12) -> Application -> Local Storage (left hand side) -> file:// -> look for Standalone_VersionOnLastRun_v1, and double click the value and change it to “1.6.2” .
Restart Storage Explorer -> Open a blob container(There pops a notification bar) -> Click 'Enable'.

Expected Experience:

There shows a message indicates the AzCopy is enabled.
The item 'Use AzCopy for Improved Blob Upload and Download' under 'Preview' menu is checked.

Actual Experience:

There shows a message indicates the AzCopy is enabled.
The item 'Use AzCopy for Improved Blob Upload and Download' under 'Preview' menu isn't checked.

More info:
The log message shows the AzCopy is disabled after checking the item 'Use AzCopy for Improved Blob Upload and Download' manually.

Fix merged into master.

This issue reproduces on the latest master build 20190827.12. So we reopen it.


Origin/Destination - Core UI

This is the key UI component of the trip planner experience. Here, a user will choose their origin and destination—or more likely have their origin pre-filled and select their destination. The origin/destination should be built as a List in SwiftUI to account for future feature improvements like stopovers, rearranging, etc.
Tapping on the origin or destination items will bring up a modal search controller, similar to what is seen in the Apple Maps app. Searching for a destination will use MKLocalSearchCompleter or something similar. (e.g. if there happens to be a newer class somewhere in MapKit.)
Mockup
See the portion in red.

https://github.com/OneBusAway/otpkit/pull/19


Not working at all on Fabric/1.18.2

New setup, only has latest versions of Fabric, Architectury API, Cloth Config API, Light Overlay and Mod Menu.
Light Overlay does seem to be doing nothing at all:

F7 doesn't work
Mod Menu shows no Settings option
Key binds shows nothing

This is the startup log: https://pastebin.com/7gb0SGYy

I'm having the same issue

Me too

Did you accidentally download the forge version


Keymaps for LSP hops

Hi, I've managed to install this plugin on a lunarvim setup. I have suggetions and autocomplete working.
But what keymaps are available? In the video is see LSP hops are available but I don't know how to jump since 'gd' is not working.
Is their additional configuration I need to add to make this work?

You (or lunarvim) are probably just defining the keymaps in an on_attach method that is passed into the servers that are setup via lspconfig. You should instead just use :h LspAttach autocmd. Or just define the keymaps regardless of attaching to a server.
You could potentially also pass the on_attach callback in the setup method of this plugin, but the most easy thing is to just use the LspAttach autocmd.

You can see an example of this here:
https://github.com/seblj/dotfiles/blob/cac86c289a10c97b43fb00ad47c4c6aa72fc949b/nvim/lua/config/lspconfig/init.lua#L10


Fix updateSpeed interval

Before the upload and download speed would update every time torrent.swarm.on was called. Now it updates every 500 milliseconds, which means it does not flicker and distract the user.

+1

Thanks for the PR, but I fixed this a different way. Cheers!


Ambiguous module name error during 'make build'

There's another clash with the standard library:
 Checking plfa.Untyped (/home/ohad/dev/plfa.github.io/src/plfa/Untyped.lagda.md).
/home/ohad/dev/plfa.github.io/src/plfa/Untyped.lagda.md:54,13-33
Ambiguous module name Function.Equivalence. It could refer to any
one of
  Function.Equivalence
  Function.Packages.Equivalence (record module)
(hint: Use C-c C-w (in Emacs) if you want to know why)
when scope checking the declaration
  open import Function.Equivalence using (_⇔_; equivalence)
File not generated:
Makefile:55: recipe for target 'out/plfa/LambdaReduction.md' failed
make: *** [out/plfa/LambdaReduction.md] Error 1

This happens when you use the HEAD version of the standard library.

Thanks --- sorry for that!

A subtle note: It will also happen if you use agda-stdlib v1.2.


Understanding built-in Reference type

Hi i can't understand.
Is the delegate type built-in type or not.
this page contains delegate
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/reference-types
this page not
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/built-in-types

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

ID: 77a1e283-5e7e-6ea0-267e-f18d995f20f6
Version Independent ID: d37d4105-2c5f-527f-b79c-c87767793c2a
Content: Reference types - C# Reference
Content Source: docs/csharp/language-reference/keywords/reference-types.md
Product: dotnet-csharp
Technology: csharp-language-reference
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Hi @DigitalPen
The delegate type is builtin, but it is an abstract type, so you can't create it (Instead, you create instances of types derived from delegate). We should clarify that on these two pages.


Cannot rdchem does not exist under rdkit.Chem

Description:
I am unable to import rdkit.Chem.rdchem. It appears to be removed.

RDKit Version: 2<IP_ADDRESS>, installed from conda-forge.
Platform: CentOS 6

By the way, it appears that rdkit.__version__ is also unavailable.
>>> import rdkit
>>> rdkit.__version__
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-13-4fc726925868> in <module>()
----> 1 rdkit.__version__

AttributeError: module 'rdkit' has no attribute '__version__'

Sample code:
from rdkit.Chem import rdchem

Sample output:
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-4-416823047cea> in <module>()
----> 1 from rdkit.Chem import rdchem

ImportError: cannot import name 'rdchem'

Posted in error: Things have been fixed. The issue probably arose because I tried importing while conda was still validating environment transaction.


Lock "Now Playing" Widget to Spotify

Describe the feature you'd like to improve in Pock

Start playing music on Spotify, and enjoy.
Now you need to watch a short instructional  (any) video on Youtube.
You need to pause Spotify to hear the Youtube video sounds.
Click "Now playing" widget and you pause the Youtube video instead of Spotify as it changed the controlling media entity.
This (for me) ends up with a sequence of:
A pausing video - B finding Spotify C Pause spotify D find chrome window and tab E start playing video... :|  -- And then the reverse when going back to Spotify as I probably will leave the tab open...

Instead, when Playing various youtube videos I want to pause my Spotify when the video starts (or other media). Now Playing widget exchange the entity it's controlling and I end up pausing the video instead of my Spotify music that continues to play.
I wish to Lock the "Now playing" widget to always control Spotify independently from any other media playing entity, be it, VLC Chrome or something else.
Describe alternatives you've considered
I haven't considered any other alternative.

I'm assuming Pock uses MacOS's system "play/pause" functionality to control media.  Anyway, that line of code let Pock show the Safari icon when MediaRemote.framework gets information about media playing from Safari.

I'm still having this issue and I think it's a valid use-case.
Why not be able to lock or prioritize  "Now Playing" to one media player?


Release v2.0.0

Once the following is implemented:

[x] Negative timecodes
[x] Operator overloads for addition (+), subtraction (+), equal (==), not equal (!=), more  than (>), more than or equal (>=), less than (<), less than or equal (<=)
[x] Static methods
[ ] Updated Readme with examples of new class features (ie Static methods)
[x] Fix XML-comments in the assembly
[ ] Fix non drop frame ToString() with semicolon

The addition of Drop Frame semicolons will introduce breaking changes to the release. Bumping up the upcoming release to a major version update.

2.0.1 is now live. Close #27


Add combining rules for intermolecular interaction parameters

It would be very convenient to have combining rules. For example, specify in the input:
[input]
version = 1

[[pairs]]
atoms = ["A", "A"]
lj = {sigma = "... ", epsilon = ..."}

[[pairs]]
atoms = ["B", "B"]
lj = {sigma = "... ", epsilon = ..."}

[combining-rule]
atoms = ["A", "B"]
type = "LB" # LB = Lorentz-Berthelot

As an option, one would not need to specify A,B pair interactions. Instead, a combining rule is applied. Another possibility is to make the combining rule "global", i.e.:
[input]
version = 1

[[pairs]]
atoms = ["A", "A"]
lj = {sigma = "... ", epsilon = ..."}

[[pairs]]
atoms = ["B", "B"]
lj = {sigma = "... ", epsilon = ..."}

# the rule is applied to all intermolec. interactions
[combining-rule]
type = "LB" # LB = Lorentz-Berthelot

I agree this is nice to have, but I would not add a separated table for that. As combining rules mainly (only?) make sense for Lennard-Jones, we can reuse the lj key:
[input]
version = 1

[[pairs]]
atoms = ["A", "A"]
lj = {sigma = "... ", epsilon = ..."}

[[pairs]]
atoms = ["B", "B"]
lj = {sigma = "... ", epsilon = ..."}

[[pairs]]
atoms = ["A", "B"]
# Use previously defined parameters here
lj = {combine = "LorentzBerthelot"}

That plus #7 allow to use combining rules for all unspecified parameters:
[[pairs]]
atoms = ["*", "*"]
lj = {combine = "LorentzBerthelot"}


getShaderUniforms on Metal doesn't return texture/sampler uniforms

When calling getShaderUniforms on Metal, no sampler uniforms are returned. It returns all the other uniforms, but not samplers.
From a cursory investigation, it looks like shaderc is not storing sampler uniforms for spirv/metal output. For all other shader types, sampler uniforms are included, which can be checked by looking into the binary output of each shader type.
Before going ahead and adding this functionality into shaderc, I was wondering if there is a reason this is the case? Is it expected for getShaderUniforms to return the same results on different rendering-backends?

cc @attilaz

it seems like getNumLiveUniformVariables doesn't return samplers.
https://github.com/bkaradzic/bgfx/blob/master/tools/shaderc/shaderc_spirv.cpp#L754
I had to workaround this issue here to avoid convert them to static:
https://github.com/bkaradzic/bgfx/blob/master/tools/shaderc/shaderc_spirv.cpp#L700
But I don't see a way to get them with other functions here:
https://github.com/bkaradzic/bgfx/blob/1fd80956a54fd64fcba7e73826798131357ca10a/3rdparty/glslang/glslang/Public/ShaderLang.h
I don't know if this is a bug in glslang. Maybe we can generate uniform data from info from spirv_cross
https://github.com/bkaradzic/bgfx/blob/master/tools/shaderc/shaderc_spirv.cpp#L835

I was able to use spirv_cross::CompilerReflection to get to the resources used by the shader.
It definitely feels like this information should be available in glslang already, so my implementation feels a little 'bolted-on', but it seems to do what I need. Maybe it's useful for others..

PR looks good to me. I'm ready to accept, but @attilaz should also check it.

I will try it. I have also created issue in glslang, I am interested in their response.

Sorry for being slow on this. If we find a way to do it with TProgram we should refactor, but in the meantime PR looks good.

there is an answer for issue: https://github.com/KhronosGroup/glslang/issues/1727#issuecomment-472750982


load testing research

Using patch for  network immitation error and runing yandex-tank i have got errors:
'NoneType' object has no attribute 'cursor' #196
Traceback (most recent call last):
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/uvicorn/protocols/http/h11_impl.py", line 407, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/uvicorn/middleware/proxy_headers.py", line 69, in __call__
    return await self.app(scope, receive, send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/fastapi/applications.py", line 1054, in __call__
    await super().__call__(scope, receive, send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/applications.py", line 123, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/middleware/errors.py", line 186, in __call__
    raise exc
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/middleware/errors.py", line 164, in __call__
    await self.app(scope, receive, _send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
    raise exc
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    await app(scope, receive, sender)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/routing.py", line 758, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/routing.py", line 778, in app
    await route.handle(scope, receive, send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/routing.py", line 299, in handle
    await self.app(scope, receive, send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/routing.py", line 79, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
    raise exc
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    await app(scope, receive, sender)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/routing.py", line 74, in app
    response = await func(request)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/fastapi/routing.py", line 278, in app
    raw_response = await run_endpoint_function(
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/fastapi/routing.py", line 191, in run_endpoint_function
    return await dependant.call(**values)
  File "/home/gorshkov_n/projects/peewee-async/load-testing/app.py", line 86, in test
    await manager.execute(MySimplestModel.select())
  File "/home/gorshkov_n/projects/peewee-async/peewee_async.py", line 272, in execute
    return (await execute(query))
  File "/home/gorshkov_n/projects/peewee-async/peewee_async.py", line 432, in execute
    return (await coroutine(query))
  File "/home/gorshkov_n/projects/peewee-async/peewee_async.py", line 452, in select
    return await _execute_with_returning(query)
  File "/home/gorshkov_n/projects/peewee-async/peewee_async.py", line 436, in _execute_with_returning
    cursor = await _execute_query_async(query)
  File "/home/gorshkov_n/projects/peewee-async/peewee_async.py", line 1317, in _execute_query_async
    return (await _run_sql(database, *query.sql()))
  File "/home/gorshkov_n/projects/peewee-async/peewee_async.py", line 1297, in _run_sql
    cursor = await database.cursor_async()
  File "/home/gorshkov_n/projects/peewee-async/peewee_async.py", line 762, in cursor_async
    return (await self._async_conn.cursor(conn=conn))
AttributeError: 'NoneType' object has no attribute 'cursor'

It is because of unproperly work of future async_wait As we can see in cursor async function we run connect_async firstly which should garantee that we have conn(connection). No transactions have used in the test. But conn is None because of race condition
Connection closed
Exception in ASGI application
Traceback (most recent call last):
  File "/home/gorshkov_n/projects/peewee-async/peewee_async.py", line 1300, in _run_sql
    await cursor.execute(operation, *args, **kwargs)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/aiopg/connection.py", line 426, in execute
    await self._conn._poll(waiter, timeout)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/aiopg/connection.py", line 881, in _poll
    await asyncio.wait_for(self._waiter, timeout)
  File "/home/gorshkov_n/.pyenv/versions/3.8.18/lib/python3.8/asyncio/tasks.py", line 494, in wait_for
    return fut.result()
psycopg2.OperationalError: Connection closed

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/uvicorn/protocols/http/h11_impl.py", line 407, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/uvicorn/middleware/proxy_headers.py", line 69, in __call__
    return await self.app(scope, receive, send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/fastapi/applications.py", line 1054, in __call__
    await super().__call__(scope, receive, send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/applications.py", line 123, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/middleware/errors.py", line 186, in __call__
    raise exc
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/middleware/errors.py", line 164, in __call__
    await self.app(scope, receive, _send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
    raise exc
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    await app(scope, receive, sender)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/routing.py", line 758, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/routing.py", line 778, in app
    await route.handle(scope, receive, send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/routing.py", line 299, in handle
    await self.app(scope, receive, send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/routing.py", line 79, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
    raise exc
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    await app(scope, receive, sender)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/routing.py", line 74, in app
    response = await func(request)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/fastapi/routing.py", line 278, in app
    raw_response = await run_endpoint_function(
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/fastapi/routing.py", line 191, in run_endpoint_function
    return await dependant.call(**values)
  File "/home/gorshkov_n/projects/peewee-async/load-testing/app.py", line 86, in test
    await manager.execute(MySimplestModel.select())
  File "/home/gorshkov_n/projects/peewee-async/peewee_async.py", line 272, in execute
    return (await execute(query))
  File "/home/gorshkov_n/projects/peewee-async/peewee_async.py", line 432, in execute
    return (await coroutine(query))
  File "/home/gorshkov_n/projects/peewee-async/peewee_async.py", line 452, in select
    return await _execute_with_returning(query)
  File "/home/gorshkov_n/projects/peewee-async/peewee_async.py", line 436, in _execute_with_returning
    cursor = await _execute_query_async(query)
  File "/home/gorshkov_n/projects/peewee-async/peewee_async.py", line 1317, in _execute_query_async
    return (await _run_sql(database, *query.sql()))
  File "/home/gorshkov_n/projects/peewee-async/peewee_async.py", line 1305, in _run_sql
    return cursor
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/peewee.py", line 3020, in __exit__
    reraise(new_type, new_type(exc_value, *exc_args), traceback)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/peewee.py", line 192, in reraise
    raise value.with_traceback(tb)
  File "/home/gorshkov_n/projects/peewee-async/peewee_async.py", line 1300, in _run_sql
    await cursor.execute(operation, *args, **kwargs)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/aiopg/connection.py", line 426, in execute
    await self._conn._poll(waiter, timeout)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/aiopg/connection.py", line 881, in _poll
    await asyncio.wait_for(self._waiter, timeout)
  File "/home/gorshkov_n/.pyenv/versions/3.8.18/lib/python3.8/asyncio/tasks.py", line 494, in wait_for
    return fut.result()
peewee.OperationalError: Connection closed

cursor already closed
Exception in ASGI application
Traceback (most recent call last):
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/uvicorn/protocols/http/h11_impl.py", line 407, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/uvicorn/middleware/proxy_headers.py", line 69, in __call__
    return await self.app(scope, receive, send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/fastapi/applications.py", line 1054, in __call__
    await super().__call__(scope, receive, send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/applications.py", line 123, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/middleware/errors.py", line 186, in __call__
    raise exc
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/middleware/errors.py", line 164, in __call__
    await self.app(scope, receive, _send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
    raise exc
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    await app(scope, receive, sender)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/routing.py", line 758, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/routing.py", line 778, in app
    await route.handle(scope, receive, send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/routing.py", line 299, in handle
    await self.app(scope, receive, send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/routing.py", line 79, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
    raise exc
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    await app(scope, receive, sender)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/starlette/routing.py", line 74, in app
    response = await func(request)
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/fastapi/routing.py", line 278, in app
    raw_response = await run_endpoint_function(
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/fastapi/routing.py", line 191, in run_endpoint_function
    return await dependant.call(**values)
  File "/home/gorshkov_n/projects/peewee-async/load-testing/app.py", line 86, in test
    await manager.execute(MySimplestModel.select())
  File "/home/gorshkov_n/projects/peewee-async/peewee_async.py", line 272, in execute
    return (await execute(query))
  File "/home/gorshkov_n/projects/peewee-async/peewee_async.py", line 432, in execute
    return (await coroutine(query))
  File "/home/gorshkov_n/projects/peewee-async/peewee_async.py", line 452, in select
    return await _execute_with_returning(query)
  File "/home/gorshkov_n/projects/peewee-async/peewee_async.py", line 439, in _execute_with_returning
    await result.fetchall()
  File "/home/gorshkov_n/projects/peewee-async/peewee_async.py", line 678, in fetchall
    await self.fetchone()
  File "/home/gorshkov_n/projects/peewee-async/peewee_async.py", line 670, in fetchone
    row = await self._cursor.fetchone()
  File "/home/gorshkov_n/projects/peewee-async/venv/lib/python3.8/site-packages/aiopg/connection.py", line 512, in fetchone
    ret = self._impl.fetchone()
psycopg2.InterfaceError: cursor already closed

Connection closed and cursor already closed raises because pool has been closed in a task but other tasks does not know about it and still try to use dead connections.

Well i managed to identify several problems

There is not connection releasing in aenter section of transaction.

    async def __aenter__(self):
        if not asyncio_current_task(loop=self.loop):
            raise RuntimeError("The transaction must run within a task")
        await self.db.push_transaction_async()
        if self.db.transaction_depth_async() == 1:
            await _run_no_result_sql(self.db, 'BEGIN') # there is not try finally section!!
        return self

If an error happens  during executing BEGIN query the connection will be acquired forever.
2. Recreating the pool when have error during cursor creating.
    async def cursor_async(self):
        """Acquire async cursor.
        """
        await self.connect_async(loop=self._loop)

        if self.transaction_depth_async() > 0:
            conn = self.transaction_conn_async()
        else:
            conn = None

        try:
            return (await self._async_conn.cursor(conn=conn))
        except:
            await self.close_async() # no reason to do this!!
            raise

There is no reason to kill all connections from pool if one of them is broken. It leads to errors "connection/cursor already closed"
3. After executing of close_async method we can't set _task_data = None
    async def close_async(self):
        """Close async connection.
        """
        if self._async_wait:
            await self._async_wait
        if self._async_conn:
            conn = self._async_conn
            self._async_conn = None
            self._async_wait = None
            self._task_data = None
            await conn.close()

We have to wait until all connections in _task_data will be released by transactions otherwise we will have acid problem #209
4. Need to improve pool management #196. asyncio.Lock  should help with this

Here is I tried to make a new class of database
class Transaction:
    """Asynchronous context manager (`async with`), similar to
    `peewee.transaction()`. Will start new `asyncio` task for
    transaction if not started already.
    """
    def __init__(self, db, connection):
        self.db = db
        self.connection = connection

    async def __aenter__(self):
        return self

    async def __aexit__(self, exc_type, exc_val, exc_tb):
        try:
            async with self.connection.cursor() as cursor:
                if exc_type:
                    await cursor.execute("ROLLBACK")
                else:
                    try:
                        await cursor.execute("COMMIT")
                    except:
                        await cursor.execute("ROLLBACK")
                        raise
        finally:
            self.db.release_connection(self.connection)

def get_task_id():
    task = asyncio_current_task()
    if task:
        return id(task)
    else:
        raise Exception("no current_task")

class PostgresqlDatabaseExperimental(peewee.PostgresqlDatabase):

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self._pool = None
        self._async_lock = asyncio.Lock()
        self._connections_in_transaction = {}
        self._allow_sync = False

    def set_allow_sync(self, value):
        """Allow or forbid sync queries for the database. See also
        the :meth:`.allow_sync()` context manager.
        """
        self._allow_sync = value

    @contextlib.contextmanager
    def allow_sync(self):
        """Allow sync queries within context. Close sync
        connection on exit if connected.

        Example::

            with database.allow_sync():
                PageBlock.create_table(True)
        """
        old_allow_sync = self._allow_sync
        self._allow_sync = True

        try:
            yield
        except:
            raise
        finally:
            self._allow_sync = old_allow_sync
            try:
                self.close()
            except self.Error:
                pass  # already closed

    def execute_sql(self, *args, **kwargs):
        """Sync execute SQL query, `allow_sync` must be set to True.
        """
        assert self._allow_sync, (
            "Error, sync query is not allowed! Call the `.set_allow_sync()` "
            "or use the `.allow_sync()` context manager.")
        if self._allow_sync in (logging.ERROR, logging.WARNING):
            logging.log(self._allow_sync,
                        "Error, sync query is not allowed: %s %s" %
                        (str(args), str(kwargs)))
        return super().execute_sql(*args, **kwargs)

    def release_connection(self, connection):
        if self._pool:
            self._pool.release(connection)
        task_id = get_task_id()
        if task_id in self._connections_in_transaction:
            del self._connections_in_transaction[task_id]

    async def get_pool(self):
        async with self._async_lock:
            if self._pool is None:
                self._pool = await aiopg.create_pool(database=self.database, **self.connect_params)
            return self._pool

    async def close_async(self):
        """Terminate all pool connections.
        """
        async with self._async_lock:
            if self._pool is not None:
                self._pool.terminate()
                await self._pool.wait_closed()
            self._pool = None

    async def fetch_results(self, cursor, query):
        with peewee.__exception_wrapper__:
            await cursor.execute(query.sql())
            if isinstance(query, (peewee.Select, peewee.ModelCompoundSelectQuery)):
                result = AsyncQueryWrapper(cursor=cursor, query=query)
                return await result.fetchall()
            if isinstance(query, peewee.Update):
                if query._returning:
                    result = AsyncQueryWrapper(cursor=cursor, query=query)
                    return await result.fetchall()

                return cursor.rowcount

    def get_connection_in_transaction(self):
        task_id = get_task_id()
        if task_id in self._connections_in_transaction:
            return self._connections_in_transaction[task_id]

    async def async_get_connection(self):
        connection = self.get_connection_in_transaction()
        if connection:
            return connection
        pool = await self.get_pool()
        return await pool.acquire()

    def is_task_in_transaction(self):
        task_id = get_task_id()
        if task_id in self._connections_in_transaction:
            return True
        return False

    async def transaction(self):
        if self.is_task_in_transaction():
            raise Exception("already in transaction")

        connection = await self.async_get_connection()
        try:
            async with connection.cursor() as cursor:
                await cursor.execute("BEGIN")
        except:
            self.release_connection(connection)
            raise

        return Transaction(self, connection)

    async def async_execute(self, query):
        connection = await self.async_get_connection()
        try:
            async with connection.cursor() as cursor:
                return await self.fetch_results(cursor, query)
        finally:
            if not self.is_task_in_transaction():
                self.release_connection(connection)

But i realized that it will be a lot of changes and it is hard to make them as one iteration so i decided to save the changes here and refactor the code by small parts

fix is merged but need additional testing


Updating paths before first weld

The recipe will be called as a submodule in the template repo. This pull request ensures that a call to bash weld.sh will call the versioned controlled recipe scripts.
An important note here is that after this is merged, testing with the recipe as we have in the past will no longer work.
A second important note is that the config_utils.py file will eventually be moved to the template (this way all the config related files are kept in one place). This is the current thinking right now at least.

Awesome - agree with your suggestion (see #46 )

An important note here is that after this is merged, testing with the recipe as we have in the past will no longer work.

We really need to get some testing done in this repo 😖
I am thinking that I can address #45 here, if we can solve it quickly (should be a super quick fix once we settle on nomenclature)

Prepare for a landmark pull request! This PR represents the bulk of the remaining fixes to welding version 0.1 🎉


Correction of user on #2693

Adding the user on the Authenticated users

Ref. #2693 (remember to reference the issue, or even close it, in your PR comments and commit texts).
If you want to close an issue when the PR gets merged, use
<Commit title here>

- Some text description [of various lenght]

Closes #issue_number

... in the commit text and follow up with the "Closes" line in the PR comment description box.

@lizap I'm about to do the correction for the whole article :)
Please stay tune for about 5 mins :) thank you

@illfated Thank you for the tip :) either way, they must be reviewed by the person in charge :), I took notes anyway.


Docker image for the environment

If you accept the changes, I will add documentation to this pull request.

Looks good to me. I think you can update the docs. Also, any more ideas on automate setting up the whole thing?


1.6.1 fails to save entry if color is selected

Description
F-Droid app fails to save entry if you select a color for the thing. I didn't realize it until now ... 🤦
NOTE: I know a new version was released, it's not on F-Droid yet, but did not see anything mentioning this problem in the changelog for 1.6.2 so will update this when the version gets pushed to F-Droid.
Android version
Android 14
Reproduction steps
1. Add entry, anything goes in the values (custom date or not doesn't matter)
2. Select color for entry
3. Hit save
4. Browse for the date you entered and notice there's no entry.

Screenshots & Settings backup
No response
App debug info
Blood pressure monitor
com.derdilla.bloodPressureApp
1.6.1 - 31

Yes this was a issue that is fixed in 1.6.2.
I apologize for the confusing changelogs.


Flockfile misc refactorings

Some small (misc) refactorings in the flockfile crate.
Only readability things, nothing too important.

Btw: You are really welcome to use the use the "Request changes" review option in cases like this and block merging with it. Even (or maybe especially) when it is nitpicking!

I try to make a difference between "I would have done thing differently" and "I cannot accept this".

Will merge once the --fixup squashed.


Make threshold for Sliders slidesMoved adjustable via moveThreshold prop

I my project, the slides are quite big. To trigger a scroll to the next slide you have to drag over quite a long distance. Too long for my taste :)
So I created this PR that makes the hard coded threshold used in slidesMoved adjustable via a moveThreshold prop. I hope you like it.

@maps82 One little change but I think it looks good.

@maps82 I published 1.14.0 with the change. Thanks!


log to display prerendering routes instead of only count of routes

Proposal
when prerendering the application, it only shows a very general information that how many routers are prerendered like below
Build at: 2023-05-08T04:01:05.767Z - Hash: bb19255f33cb87a0 - Time: 18098ms
⠦ Prerendering 3 route(s) to <ProjectRoot>\dist\application-name\browser..

when I open the browser folder, I can't easily figure out which files are generated by prerendering process since there are too many generated files by different tasks.
Moreover, it would be helpful to give some info from log that the prerendering routes are from which source since there are guess-router, routes specified by option routes or routes-file or from ng options --routes or --routers-file etc to avoid confusing on analyzing which option took effect when troubleshooting. actually I am facing an issue that there is unexpected prerending routes but I am confused where are them came from and feel hard to look into due to lack of helpful log.
What is the summary of the proposal?

add more log on prerendering routes
possibly printing source of the prerendering routes

What is the proposal?
Is there anything else we should know?

thanks for the respnse on the proposal!  additional thoughts from me  if we can impement an cli option  for the feature to control printing the detailed log or printing a very brief log followd with a suggestion that tells users  there is an option for printing the detailed log for troubleshooting.  that's only additonal thoughts from me not to consider if too difficult to implement and it's up to you guys on how to improve the user experience.

With the new application builder in version 17.0.0, we now generate a prerendered-routes.json which contains a list of all the routes that were prerendered.


[Neurohackademy] Modify R profile to use kubespawner_override options matching Python profile

@arokem we needed a kubespawner_override block to mimic the other profiles. The "Choose your own image" profile with a profile_options block is a special case. I've deployed this locally and it works now. I've also set the other overrides to match the Python profile - let me know if that shouldn't be the case.

It works! And I can get R/rstudio with this dedicated image. Thanks!


lib/typed_data/float32x4_unbox_phi_test failing on riscv64

The tests
lib/typed_data/float32x4_unbox_phi_test RuntimeError (expected Pass)

are failing on configurations
vm-aot-linux-debug-simriscv64
vm-linux-debug-simriscv64

If I bisected this right, then it was caused by 6dff544f22209220ede41118ef7e473895bf2479. It may be an unrelated issue that this CL revealed.
/cc @sstrickl Could you take a look?

I'm going to approve a few other tests as well - assuming those are caused by the same issue
The tests
co19/LibTest/typed_data/Int32x4/operator_AND_A01_t01 RuntimeError (expected Pass)
co19/LibTest/typed_data/Int32x4/operator_XOR_A01_t01 RuntimeError (expected Pass)
co19/LibTest/typed_data/Int32x4/operator_OR_A01_t01 RuntimeError (expected Pass)
co19/LibTest/typed_data/Int32x4/operator_addition_A01_t01 RuntimeError (expected Pass)
co19/LibTest/typed_data/Int32x4/operator_subtraction_A01_t01 RuntimeError (expected Pass)
lib/typed_data/float32x4_test/0 RuntimeError (expected Pass)
lib/typed_data/float32x4_test/1 RuntimeError (expected Pass)
lib/typed_data/float32x4_unbox_regress_test RuntimeError (expected Pass)
lib/typed_data/int32x4_arithmetic_test RuntimeError (expected Pass)
lib/typed_data/int32x4_sign_mask_test RuntimeError (expected Pass)
language/vm/reusable_boxes_test RuntimeError (expected Pass)

are failing on configurations
vm-aot-linux-debug-simriscv64

Looking into it.


Some tickets are associated with wrong event id

Example:
ticket id 46348 is from 2017 Sandbox, associated with Midburn 2018
Env:
Production  and staging
This is bad because it displays noisy data when filtering in the Gate system.

those are probably the 3752 users that are 'in' the event.

Didn't Elad solve this? (I can't tag him via email).
On Tue, Apr 3, 2018, 07:11 Alex<EMAIL_ADDRESS>wrote:

those are probably the 3752 users that are 'in' the event.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Midburn/spark/issues/808#issuecomment-378122514, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAkWjHTpu4Ruh76CPknw63xu9YkB3FA4ks5tkvZSgaJpZM4TDzNl
.

Not sure how but at the moment those tickets have the right event id, closing.

Those tickets do have the wrong event id association on staging database


Redesigned Python SDK

The goal is to redesign the Python SDK to make it more configurable and easier to use. The new SDK will harness all the features and capabilities of Bacalhau networks, providing a seamless experience for developers. Enhanced configurability will simplify integration with Bacalhau, enabling users to leverage the full power of distributed compute directly from their Python applications.
### Tasks
- [ ] https://github.com/bacalhau-project/bacalhau/issues/3218
- [ ] https://github.com/bacalhau-project/bacalhau/issues/3223
- [ ] https://github.com/bacalhau-project/bacalhau/issues/3222
- [ ] https://github.com/bacalhau-project/bacalhau/issues/2987
- [ ] https://github.com/bacalhau-project/bacalhau/issues/4162
- [ ] https://github.com/bacalhau-project/bacalhau/issues/4200
- [ ] https://github.com/bacalhau-project/bacalhau/issues/4239

replaced by a linear project


[Feature Request] Implement integrity check workaround

I was going to do this, but I haven't had time. So just sharing the info if anyone else gets to it first.
https://github.com/rdavydov/Twitch-Channel-Points-Miner-v2/discussions/225#discussioncomment-5468947
Also, would recommend switching to headless: 'new' for puppeteer. I think you may not even need the stealth plugin after using that.

Would Appreciate if someone can manage to get it back working i miss the tool :(

Yea, not sure if it's just me, but seems like Twitch fully killed this atm. It used to at least watch streams and I would claim them with a Violentmonkey script, but neither seems to be working now.

do u got it working that it watches streams ? if yes could u explain how u got it?


chore: removing deps install for playwright on CI

📝 Description
Fix the playwright install or temporarily remove linux from the test run if it can't be fixed
❓ Context

Impacted projects: ``
Linked resource(s): ``

✅ Checklist

[ ] Test coverage
[ ] Atomic delivery
[ ] No breaking changes

📸 Demo

🚀 Expectations to reach
Please make sure you follow these Important Steps.
Pull Requests must pass the CI and be internally validated in order to be merged.

/generate-screenshots

/generate-screenshots

/generate-screenshots

/generate-screenshots


Additionally save config file when saving a model

When a model is saved using SequenceProcessor.save(), the configuration used to train that model as an .ini file is saved in the saved model folder.
This simply involved adding a call to Config.save().
Closes #26.

Pull Request Test Coverage Report for Build 124

0 of 2 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.08%) to 75.314%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

saber/sequence_processor.py
0
2
0.0%

Totals

Change from base Build 123:
0.08%

Covered Lines:
1199

Relevant Lines:
1592

💛  - Coveralls


Yotta orders extraIncludes before custom cmake

In general, custom cmake should be considered more specific than extraIncludes.  ExtraIncludes should be appended to the end of the search path.

Thanks – is there a specific case where this is causing problems?

Yeah, when extraIncludes contain a file, foo.h and a different foo.h also exists in a include_directories() directive, the wrong foo.h is included.  In my case, this has to do with include-forwarders which also generate warnings.


Gather all global constants, and make their naming consistent

In sbws/globals.py we have

G_PKG_DIR where the G was supposed to stand for global
and other ALL_CAPS constants

In sbws/__init__.py we have

version
res_proto_ver
wire_proto_ver

[ ] pick one file or the other.
[ ] Pick a naming scheme. G_FOO or FOO is what I'd prefer.
[ ] If we change the name or location of version, we need to update setup.py and docs/source/conf.py and (if we've merged @juga0's V3BwHeader PR) sbws/lib/v3bwfile.py

In sbws/globals.py we have
G_PKG_DIR where the G was supposed to stand for global
and other ALL_CAPS constants
In sbws/init.py we have
version
res_proto_ver
wire_proto_ver
In general, we should try to minimise globals. Versions are an exception.
pick one file or the other.
What do other packages do?
Pick a naming scheme. G_FOO or FOO is what I'd prefer.
FOO is standard, no need to use the G_.
If we change the name or location of version, we need to update setup.py and docs/source/conf.py and (if we've merged @juga0's V3BwHeader PR) sbws/lib/v3bwfile.py

(Primarily notes to self so I know what  I want to do when I get around to this)
The ALL_CAPS globals in sbws/globals.py are

G_PKG_DIR
MIN_REQ_BYTES
MAX_REQ_BYTES
SOCKET_TIMEOUT

MAX_REQ_BYTES is probably getting replaced in the process of implementing #124. MIN_REQ_BYTES could too. SOCKET_TIMEOUT could be a config option.
I'll rename G_PKG_DIR to PKG_DIR.
The constants in sbws/__init__.py are

version
res_proto_ver
wire_proto_ver

wire_proto_ver is going away with the switch to HTTP. res_proto_ver I'll RENAME. version I'll RENAME.
I will move all constants to sbws/__init__.py. We can consider moving the 3 functions in sbws/globals.py at a later time. I think having global constants and functions in __init__.py is more common.


Install Error - Indexing Failed

Upon installing the package, I immediately get the following error:

Here are my Python versions:
$ python -V
Python 2.7.18

$ python3 -V
Python 3.10.12

Thanks for your help, I'm looking forward to using PyRock.

What is the default python version?
It's not supported below py 3.8

Great


⚠ Fortnite has degraded performance

In 197a690, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1676 ms

Resolved: Fortnite performance has improved in 2c62bb0.


How to set localize flag for packaging?

@ygizhitsa can you please provide more details on what you are trying to do?

@ygizhitsa will the above commit fix your issue?
Do you need the localize flag on the pack?

Yes, the current ps line I'm running is following
& $packagerPath  /action:Pack /PackageType:$PackageType /folder:$folder  /zipfile:$FileName  /map:$MappingFileName  /localize /sourceLoc:1033.
The packegerPath I'm extracting from Tools installer
$packagerDirectory = (Join-Path -Path ($env:MSCRM_Tools_Path)  -ChildPath "CoreTools\9.0.0" )
$packagerPath = (Join-Path -Path ($packagerDirectory)  -ChildPath "SolutionPackager.exe" )
Thank you for responding
Yuriy

@ygizhitsa ok added that too should be available in next release

I just was able to build a package with localize flag on and source 1033. The package is built. There are some worming messages I would need to research and make sure that package has been successfully deployed and tested. Will keep you updated. If it works, I will start to clean pipelines with custom PS script


add combinations and permutations

Added combinations and permutations algorithms to the math folder. Added test according CONTRIBUTING.md.

@mayurdahibhate Thank you for the PR! It looks fine beside one key point... the new files for combination and permutation are not included in the main source file src/TheAlgorithms.jl
Could you update your PR :)

It looks good, once your make the changes suggested by @Azzaare I will merge it

I have already included new files in the main source files as suggested by @Azzaare.


Kanhaiya

Issue that this pull request solves
Closes: # (92)
Proposed changes->Admin Update profile
Brief description of what is fixed or changed->Created put request for updating admin profile
Types of changes
Put an x in the boxes that apply

[x ] Bugfix (non-breaking change which fixes an issue)
[ x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update (Documentation content changed)
[ ] Other (please describe):

Checklist
Put an x in the boxes that apply

[ ] My code follows the style guidelines of this project
[ x] I have performed a self-review of my own code
[x ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x ] My changes generate no new warnings
[ x] My changes does not break the current system and it passes all the current test cases.

Screenshots
Please attach the screenshots of the changes made in case of a change in the user interface
Other information
Any other information that is important to this pull request

This particular issue is already assigned to someone, hence I cannot procedure further.
Please follow contributing guidelines.
Moreover I glanced at your code. It doesn't follow the structure of the codebase. Please go though the code structure and some example routes like admin login etc

@jackfrost13 this one


feat: footer component

Notion ticket link

Create Footer Component

Implementation description

Implement footer component that is responsive for both desktop and mobile (refer to screenshots in Notion ticket)

Steps to test

Render Footer component on existing page
Ensure it matches design

What should reviewers focus on?

Ensure it matches design in Figma

Checklist

[x] My PR name is descriptive and in imperative tense
[x] My commit messages are descriptive and in imperative tense. My commits are atomic and trivial commits are squashed or fixup'd into non-trivial commits
[x] I have run the appropriate linter(s)
[x] I have requested a review from the PL, as well as other devs who have background knowledge on this PR or who will be building on top of this PR

The only disparity from the Figma design is the excess padding around the footer and the fact that 'Community Fridge' is not all on one line. Does anyone have any tips on how I can achieve this?


unknown flag: --remove-orphan

Hi Markus! awesome project :) . I was trying to raise the dev environment with ./project build command and got the error unknown flag: --remove-orphan . Just wondering shouldn't the flag be --remove-orphans (with "s" in the end, plural)  for the docker-compose up command? if this is the case, may I raise a pull request with correction?

Glad you like it, and thanks for pointing out this bug. Never ran into this because it's working on my machine™, but you're absolutely right. Would be awesome if you'd raise a pull request 🙂.


Chapter numbering

I've started to use Quarto for a book I'm writing.  org-mode is causing me trouble for now, so I'm using Markdown.  My content is split across several files.  I include those files in my Rakefile, as follows:
  config.source_files =
    [
      'content/01_Welcome.md',
      'content/02_Numbers/ideas.md',
      'content/03_Strings/ideas.md',
      'content/04_Lists/ideas.md'
    ]

When I run "rake deliverables", everything seems to work fine, except that each chapter ls labeled "chapter 1".  What do I need to do in order to convince Quarto that each file is a new chapter?

I'm seeing the same thing using quarto revision 10b844438c5e3ab488030ac7a796db71fb26c07f (currently the latest)


LibratoWriter includes descriptive User-Agent

Copy of https://github.com/jmxtrans/jmxtrans/issues/216
@mheffner said

I'm from the Librato team. It would help us to include a descriptive User-Agent header in the LibratoWriter that includes "jmxtrans" and the version number of jmxtrans, eg. "jmxtrans/1.2.3". This would assist in our debugging when working with users that are sending data with jmxtrans to Librato.
We have a full write-up here: http://support.metrics.librato.com/knowledgebase/articles/175825-how-to-set-a-custom-user-agent-when-integrating-wi

Hi @mheffner, is there a way to test on my librato account?
I want to output the HTTP Request Header:
User-Agent: embedded-jmxtrans/1 (Java HotSpot(TM) 64-Bit Server VM/1.8.0_25; Mac OS X-x86_64/10.10.1)

Which is the result of:
"embedded-jmxtrans/1 " + "(" +
                    System.getProperty("java.vm.name") + "/" + System.getProperty("java.version") + "; " +
                    System.getProperty("os.name") + "-" + System.getProperty("os.arch") + "/" + System.getProperty("os.version")
                    + ")";

I am aware of the "double starting parenthesis caused by Java HotSpot(TM), it is the JVM name that contains this noisy starting parenthesis.

@cyrille-leclerc Yes, I can check what appears in our log files (we log the UA) for your account. Can you give me a time you are testing and if possible the IP address of the sending machine? You can email me at mike_at_librato_com privately too.

@mheffner I just purged my metrics and re-injected (around 4:25 PM GMT):
test-with-one-counter.singleresult  counter
test-with-one-gauge.singleresult    gauge
test-with-three-counters.first  counter
test-with-three-counters.second counter
test-with-two-counters.first    counter
test-with-two-counters.second   counter
test-with-two-gauges.first  gauge
test-with-two-gauges.second  gauge

@cyrille-leclerc
This is the UA I see: embedded-jmxtrans/1 (Java HotSpot(TM) 64-Bit Server VM/1.8.0_25; Mac OS X-x86_64/10.10.1)
Looks good to me. Is "1" an accurate representation of the current version or is that a placeholder?

Thanks @mheffner,
This looks pretty good. I wanted to have the details of the JVM as embedded-jmxtrans is using the HTTP connection provided by the JVM.
"1" is "1.x" because I did not yet implement the lookup of the maven version in the jar file.
@gehel is working on jmxtrans2 which will be able to clearly mention the version of the library.
Cyrille

Release 1.0.13 is cut, it will soon be available in Maven Central Repository.


save payer_id

@pierre Please review. The purpose of this PR is to save payer_id in the complete_auth/purchase response.

@pierre I have updated the codes, which relies on this PR. Please take a look.

👍 Awesome, much simpler!


Tweaked examples

I've fixed the examples to use :Host rather than :host, since it's case-sensitive. They all implicitly worked since localhost is the default, but were a little misleading when you started to work from the examples.

I've published version 1.0.4 which accepts both lower case and upper case options. The upper case option names will be removed in a future release.

Sounds like a plan! Thanks for your work.


Wazuh dashboard fork update

Description
We want to update our wazuh-dashboard change-set with the newest changes from the latest releases of Wazuh. Also, we want to be able to generate packages for all the supported tiers, with the new naming schemes and the new artifactory/storage.
We want to generate portable RPM and DEB packages, so all supported Linux distributions share the appropriate package.
We need to generate automated installation and upgrade tests for each supported platform of the generated packages.
Functional requirements

All the generated packages include all components, plugins and configurations required to provide a production-ready deployment.
All the Wazuh changes to upstream are incorporated by default in all generated packages
Incorporate all the identified changes to avoid unnecessary custom package generation
A developer should be able to generate a package from a given set of branches
A developer should be able to build packages locally
A developer should be able to generate package types individually (tgz, rpm, deb, docker)
A developer should be able to generate all packages in one go

Non-functional requirements

We maintain the branch structure of Wazuh, renaming the branches when needed to be coherent with the global process
We will use GitHub actions to automate the package generation and its testing
Only authorized users should be able to execute the package generation pipelines
We should use the Wazuh naming convention for development packages
All processes must be documented in step-by-step guides, easy to follow by anyone within the repository

implementation restrictions

We must use upstream tests to ensure our changes do not break upstream features
We must implement our own installation and upgrade tests for all our supported platforms and operating systems
We can explore https://github.com/nektos/act to execute GitHub actions locally

Plan

[x] https://github.com/wazuh/wazuh-dashboard/issues/118
[x] https://github.com/wazuh/wazuh-dashboard/issues/119
[x] https://github.com/wazuh/wazuh-dashboard/issues/120
[x] https://github.com/wazuh/wazuh-dashboard/issues/132
[x] https://github.com/wazuh/wazuh-dashboard/issues/140

Closing this issue as all tasks were successfully completed.


Need help?

Hey @galdor,
I'm working at Algolia and stumble upon your project \o/ I was wondering why you had to build such a backend proxy for Algolia. Is it for security purpose?
Let me know, I would be happy to assist you :)

I built it because it was asked as a technical test for my job interview at
Algolia :)
--
Nicolas Martyanoff
http://snowsyn.net
<EMAIL_ADDRESS>

I built it because it was asked as a technical test for my job interview at
Algolia :)

Oh 😂  I should have synced with the team /o\ Good luck then!


Callback is not being called for setPassword

Hello everyone
Recently  I found one interesting behaviour of setPassword function -- callback is not being called at all.
Documentation says next here:
setPassword(userId, password, callbackopt) → {Promise.<String>}
Steps to reproduce:
var jsforce = require('jsforce');
var conn = new jsforce.Connection({loginUrl:'https://login.salesforce.com'});
conn.login('mylogin@example.com','mypwd',function(err) { if (err) { console.log('ERROR: ' + err); } } );
// next line does not show anything in the console
conn.soap.setPassword('userid','mynewpwd',function(res){console.log('DONE:' + res);});

I'm having this same problem, did you figure out a solution?

Hi did you figure out a solution? I'm having the same problem.

It seems not working currently. Use promise instead.
conn.soap.setPassword(userId, newPwd).then(function() {
  // ...
}).catch(function() {
  // ...
});

This should be fixed in v3, see: https://github.com/jsforce/jsforce/discussions/1529


Implement CI Process for Banking App

Build the Banking Application in a continuous integration so we can test the validity of any code changes

Duplicate of #6


panic serving <IP_ADDRESS>:****: unaligned 64-bit atomic operation

Describe the bug
File Upload not working on Debian Installation.
I did install the the binary from https://github.com/tus/tusd/releases/download/v2.2.1/tusd_linux_386.tar.gz on a Debian server.
Attempting to upload file I get this error:
http: panic serving <IP_ADDRESS>:43434: unaligned 64-bit atomic operation
goroutine 36 [running]:
net/http.(*conn).serve.func1()
\tnet/http/server.go:1868 +0xe0
panic({0x8c538e0, 0x8f80608})
\truntime/panic.go:920 +0x24c
runtime/internal/atomic.panicUnaligned()
\truntime/internal/atomic/unaligned.go:8 +0x2d
runtime/internal/atomic.Xadd64(0xb3091d4, 0x12)
\truntime/internal/atomic/atomic_386.s:125 +0x11
github.com/tus/tusd/v2/pkg/handler.(*bodyReader).Read(0xb3091c0, {0xb338000, 0x8000, 0x8000})
\tgithub.com/tus/tusd/v2/pkg/handler/body_reader.go:43 +0x9a
io.copyBuffer({0x8f811ac, 0xb27df98}, {0x8f81314, 0xb3091c0}, {0x0, 0x0, 0x0})
\tio/io.go:430 +0x1bf
io.Copy(...)
\tio/io.go:389
os.genericReadFrom(0xb27df98, {0x8f81314, 0xb3091c0})
\tos/file.go:161 +0x53
os.(*File).ReadFrom(0xb27df98, {0x8f81314, 0xb3091c0})
\tos/file.go:155 +0xda
io.copyBuffer({0x8f80f40, 0xb27df98}, {0x8f81314, 0xb3091c0}, {0x0, 0x0, 0x0})
\tio/io.go:416 +0x127
io.Copy(...)
\tio/io.go:389
github.com/tus/tusd/v2/pkg/filestore.(*fileUpload).WriteChunk(0xb1ab9f0, {0x8f8c5e0, 0xb1b3200}, 0x0, {0x8f81314, 0xb3091c0})
\tgithub.com/tus/tusd/v2/pkg/filestore/filestore.go:165 +0x90
github.com/tus/tusd/v2/pkg/handler.(*UnroutedHandler).writeChunk(0xb3ee000, 0xb1b3200, {0xcc, {0x0, 0x0}, 0xb3091a0}, {0x8f8c5a0, 0xb1ab9f0}, {{0xb1977e0, 0x20}, ...})
\tgithub.com/tus/tusd/v2/pkg/handler/unrouted_handler.go:874 +0x4d9
github.com/tus/tusd/v2/pkg/handler.(*UnroutedHandler).PatchFile(0xb3ee000, {0x8f8bc88, 0xb1c8320}, 0xb19ce80)
\tgithub.com/tus/tusd/v2/pkg/handler/unrouted_handler.go:770 +0x8b9
net/http.HandlerFunc.ServeHTTP(0xb04b2f0, {0x8f8bc88, 0xb1c8320}, 0xb19ce80)
\tnet/http/server.go:2136 +0x34
github.com/bmizerany/pat.(*PatternServeMux).ServeHTTP(0xb011500, {0x8f8bc88, 0xb1c8320}, 0xb19ce80)
\tgithub.com/bmizerany/pat@v0.0.0-20170815010413-6226ea591a40/mux.go:117 +0x172
github.com/tus/tusd/v2/pkg/handler.NewHandler.(*UnroutedHandler).Middleware.func1({0x8f8bc88, 0xb1c8320}, 0xb19ce00)
\tgithub.com/tus/tusd/v2/pkg/handler/unrouted_handler.go:252 +0x943
net/http.HandlerFunc.ServeHTTP(0xb011510, {0x8f8bc88, 0xb1c8320}, 0xb19ce00)
\tnet/http/server.go:2136 +0x34
github.com/tus/tusd/v2/cmd/tusd/cli.Serve.StripPrefix.func9({0x8f8bc88, 0xb1c8320}, 0xb19cd00)
\tnet/http/server.go:2179 +0x20b
net/http.HandlerFunc.ServeHTTP(0xb0ad398, {0x8f8bc88, 0xb1c8320}, 0xb19cd00)
\tnet/http/server.go:2136 +0x34
net/http.(*ServeMux).ServeHTTP(0xb03ad80, {0x8f8bc88, 0xb1c8320}, 0xb19cd00)
\tnet/http/server.go:2514 +0x15e
net/http.serverHandler.ServeHTTP({0xb3ee0a0}, {0x8f8bc88, 0xb1c8320}, 0xb19cd00)
\tnet/http/server.go:2938 +0x99
net/http.(*conn).serve(0xb30d740, {0x8f8c480, 0xb0ad680})
\tnet/http/server.go:2009 +0x66d
created by net/http.(*Server).Serve in goroutine 1
\tnet/http/server.go:3086 +0x47f

To Reproduce
Steps to reproduce the behavior:

Execute command '...'
Start upload '....'
See error

Expected behavior
Request should work.
Setup details
Please provide following details, if applicable to your situation:

Operating System: Linux
root@server ~ # cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
root@server ~ # uname -m
x86_64

Used tusd version: 2.2.1
Version: v2.2.1
Commit: f03aa9b4ddd69cf83c1fa3f74f1172c179be7bdc
Date: Wed Dec 13 10:00:25 UTC 2023

Used tusd configuration:  (running as root)
tusd -port 9000 -behind-proxy -upload-dir /tmp/tusd-files/

Used tusd data storage: local disk store
root@myserver ~ # ll /tmp/tusd-files
total 48
drwxr-xr-x   2 root root  4096 Dec 13 15:03 ./
drwxrwxrwt 640 root root 32768 Dec 13 15:06 ../
-rw-r--r--   1 root root     0 Dec 13 14:33 2e390ae1cdbe288bfa4d36c7ec711cf2
-rw-r--r--   1 root root   414 Dec 13 14:33 2e390ae1cdbe288bfa4d36c7ec711cf2.info
-rw-r--r--   1 root root     0 Dec 13 14:47 dec2d5978045c44811bb884827eb3582
-rw-r--r--   1 root root   349 Dec 13 14:47 dec2d5978045c44811bb884827eb3582.info

Used tus client library: curl:
root@myserver ~ # curl 'http://<IP_ADDRESS>:9000/files/dec2d5978045c44811bb884827eb3582' -X PATCH -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:120.0) Gecko/20100101 Firefox/120.0' -H 'Accept: */*' -H 'Accept-Language: en-US,en;q=0.5' -H 'Accept-Encoding: gzip, deflate, br' -H 'Tus-Resumable: 1.0.0' -H 'Upload-Offset: 0' -H 'Content-Type: application/offset+octet-stream'  -H 'Connection: keep-alive' -H 'Sec-Fetch-Dest: empty' -H 'Sec-Fetch-Mode: cors' -H 'Sec-Fetch-Site: same-site' --data-raw $'hello from martin\n'
curl: (52) Empty reply from server

Thanks for the detailed report, that's very helpful!
You seem to be on a 64-bit machine (x84_64) but downloaded a 32-bit build of tusd (386 architecture). Was there a particular reason why you downloaded tusd_linux_386.tar.gz  and not tusd_linux_amd64.tar.gz?
I found similar reports where this happened when the Go code was compiled for 32-bit architecture, e.g. https://www.couchbase.com/forums/t/go-sdk-panics-with-unaligned-64-bit-atomic-operation-on-x86-64-ubuntu-server/34124/2
The panic is caused by https://github.com/tus/tusd/blob/f03aa9b4ddd69cf83c1fa3f74f1172c179be7bdc/pkg/handler/body_reader.go#L43
We should be able to fix this by adjusting the position of the field that is written to like they did in https://github.com/blevesearch/zapx/pull/148.

Ah right. Thanks a lot.  I am not working with linux on a daily basis.


Add authentication to FileDownloadService soap service

Description
$subject
Steps to Reproduce
Invoke FileDownloadService without providing credentials.
Affected Component
APIM
Version
3.2.0
Environment Details (with versions)
No response
Relevant Log Output
No response
Related Issues
No response
Suggested Labels
No response

As stated in the linked internal issue labels, this has already been fixed in the master branch.


Rule schema

Design
Tree-based rule model
Implementation

[ ] Implementing schema using YAML
[ ] Sample rule data for CSE major
[ ] Add tests

PyYAML Documentation : http://pyyaml.org/wiki/PyYAMLDocumentation


Since 2.0.* js and css files are 404 not found on server

I upgraded vesion from 1.2.7 to 2.0.2. In localhost no problem, but in release on my server hosted on IIS (windows server 2019), js and css are on http error 404 (not found)

Anyone can help me ?

What happens if you make a request by IP?

What happens if you make a request by IP?

If I make ra request by IP it's works !!
Why ?

If I make ra request by IP it's works !!
Why ?

Looks like problems in IIS configuration.

Looks like problems in IIS configuration.

Have you an idea ?

Have you an idea ?

Try the latest release (2.0.3)

Try the latest release (2.0.3)

Thks it's works !!

Thks it's works !!


Optionally generate RSpec specs instead of Test::Unit tests

This picks up the configuration from the parent application, so RSpec should be installed and configured before running the generator.
Very much WIP, a lot of work to be done before this is ready.

ref. https://github.com/lazaronixon/authentication-zero/issues/67

I also very interested to have rspec tests. This would be a great improvement.

I also very interested to have rspec tests. This would be a great improvement.

I haven't had any more time to work on this recently, but I'm more than happy to accept contributions to help me get this over the line. We're working against a moving target right now because new features and new Test::Unit tests get added all the time 😀

Hey @stevehill1981 I would love to help on the RSpec tests

Hey, how can I help here? I'm very familiar with rspec and love creating tests with it


do we want to set item / memory limits on the cache?

For example, if I'm using cashay in a mobile-web app, I may not want the cache to grow and grow forever.
Do we want some kind of LRU expiry scheme?
Do we want to allow developers to set an expiry time on a query / item?

current thinking:
the redux store only holds normalized data. the cashay singleton holds the dependencies (both normalized & denormalized) & the cached denormalized data. Caching denormalized data is necessary because creating it requires reading args from the AST, and parsing multiple ASTs on every dispatch call is crazy.
When a dispatch is called, it runs through every listener (ie connected container). If it gets a cache hit, it also needs to check if the time has expired (eg 5 minutes). If so, then it marks that query as being used. After all listeners have been cycled through, we go through all the cached documents & see which ones don't have the flag. we then remove those denormalized queries from the cache & remove their respective deps from the denormalizedDeps object. If a normalized entity no longer has any dependencies as a result of this action, it is also GC'd.
Mutations & forceFetched queries function similarly, except they don't need a timeout. when a dependency changes, eg A to A', the dependency on A is removed & again, that location in state is checked & removed if no deps exist.


Start the backend from 0

The current way the code is done makes for a very vulnerable (assuming the compiler works) playground, which can end up having malicious parties exploit the host server.
This is something which cannot be tolerated.
Moreover, the code is badly done and there are a lot of design issues which originate from the fact that I initially didn't know how to properly do these things. This has not changed, but I am more aware of the problems now.
A good inspiration may very well be this playground which uses sandboxed workers to compile & run the code.
This will need to be done at some point, before anyone tries to host this.

Also, systrace (or similar) will need to be used when running the generated binary, in order to prevent any unwanted malicious system accesses.

We could also use seccomp to isolate the running generated binary from any other system resource (meaning it should only be able to read/write on stdin/stdout and exit).

Turns out that we did not need to rewrite the whole backend, and just encapsulate the call to the generated executable within a call to firejail, as is done here: https://github.com/zilch-lang/playground/blob/73946303afdca4ccef53331e33ee4b2ccb73419a/purs/Server/Routes/Compile.purs#L68-L69.


chrono.clock feature is not enabled on all crates

When running the tests for sqlx-sqlite in Fedora packaging I get the following error:
`chrono::Local` is gated behind `clock` feature

This issue is not detected when running from workspace because sqlx-core includes the clock featureandsqlx-sqlitedepends onsqlx-core. But when building and testing the sqlx-sqlite` crate standalone with all features enable, this issue pops up.
How about either adding the clock feature to the base workspace dependency or adding those features to each crate? Probably there are some other dependencies with similar issues.

Why do you want sqlx-sqlite in fedora in the first place?
It is not like that lib can be linked against.
For anything rust related, using the regular crate is likely a better fit, or am I missing something?
sqlx = { version = "0.7", features = [ "runtime-tokio", "sqlite"] }

Fedora packaging policy is to package each crate individually. The main project that I'm trying to package is atuin which depends on both sqlx and sqlx-sqlite.
People tend to disagree with this non-vendored approach, but this has benefits for distro packagers particularly in the control of security patches.

From https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/

Rust projects that are organized as cargo "workspaces"

For [this case], the rust2rpm tool can be used to generate spec files from cargo / crate metadata. It is designed to produce spec files that are in line with the (Rust) Packaging Guidelines

=> I (not a maintainer) would consider that package as an "internal implementation detail" and choose the cargo workspace projects rules.

atuin which depends on both sqlx and sqlx-sqlite

I only see the following. Am I missing something?
https://github.com/atuinsh/atuin/blob/f56a66add9e64151e98ce35c3e85f436927c1ac3/Cargo.toml#L55

Workspace projects are only used when there is no other package that depends on it. That is because the crates cannot be extracted in the current workflow and sometimes projects do not have version sync on the workspace. Unfortunately sqlx is used as a crate so it needs to be broken down.
For atuin see this section. The direct dependency is sqlx[sqlite], but in order to package that, sqlx-sqlite is needed among the other dependencies.