Tweak node selection algorithm

After measuring the churn in the selection of routers, we observed a large amount of no-longer reachable routers in the produced custom consensus in a relatively short time, especially among the exit nodes in the selection.
So I modified the selection algorithm to prioritize very reliable routers by using the mean time before failure (MTBF) measurement which is published by some directory authorities like moria1.
We now apply some additional restrictions to node selection:

Guard nodes need to be reachable on port 443 to be able to connect to it through strict firewalls.
Exit nodes need to be able to reach a server on port 443 to be able to send info to a server in HTTPS.

Also if a router selected to be used as a middle or exit relay has the Guard flag in the original consensus, it is removed when building the customized consensus that ensure Arti-rest selects a path following these port restrictions when it builds a circuit.

My PR also has the test-lib failing. Do you have any idea why this is? @cgrigis asked whether this is because of a non-443 port that it fails.
Does the test-lib need updated files?

I can certainly improve the test suite and add some checks.
test-lib failing is strange, because the change I did shouldn't had any impact on the library itself. I am going to check that.

For the test-lib failure, I have the same on my PR: #52 . Restarting many times didn't make it pass :(
I didn't check the test myself, but might it be that it uses an outdated list of nodes?

Yes, this is related to the churn, I tried updating the directory info in the test-data, now the tests pass.

This tuple is no longer present in the code. ;-)

This tuple is no longer present in the code. ;-)

This is why I couldn't find it anymore ;) I looked through the files, couldn't find it, then went to my comments, and clicked there on the file. Why didn't github tell me that my comments were now outdated, like it does sometimes?

Yeah, sometimes I need to reload the pages for the outdated flag to appear, it is a bit annoying, but it is still ok.


doom returns No catch for tag: exit, 255

What did you expect to happen?
I expected doom, doom sync, doom doctor to work.
What actually happened?
All of these commands returned No catch for tag: exit, 255
System information:

```
SYSTEM  type       gnu/linux
        config     x86_64-pc-linux-gnu
        shell      /usr/bin/zsh
        uname      Linux 5.9.11-zen1-1-zen #1 ZEN SMP PREEMPT Tue, 24 Nov 2020 15:10:03 +0000 x86_64
        path       (~/.local/bin /usr/local/bin ~/bin ~/.emacs.d/bin ~/.local/bin /usr/local/bin ~/bin ~/.emacs.d/bin ~/.local/bin /usr/local/bin /usr/bin /bin /usr/local/sbin /usr/lib/jvm/default/bin /var/lib/snapd/snap/bin /usr/lib/emacs/28.0.50/x86_64-pc-linux-gnu/)
EMACS   dir        ~/.emacs.d/
        version    28.0.50
        build      Nov 25, 2020
        buildopts  --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib --localstatedir=/var --mandir=/usr/share/man --with-gameuser=:games --with-sound=alsa --with-modules --without-gconf --without-gsettings --with-nativecomp --with-x-toolkit=gtk3 --without-xaw3d --without-m17n-flt --with-cairo --without-compress-install 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -g -fuse-ld=gold' CPPFLAGS=-D_FORTIFY_SOURCE=2 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now
        features   XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND GPM DBUS GLIB NOTIFY INOTIFY ACL GNUTLS LIBXML2 FREETYPE HARFBUZZ LIBOTF ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES NATIVE_COMP THREADS LIBSYSTEMD JSON PDUMPER LCMS2
        traits     (server-running envvar-file)
DOOM    dir        ~/.config/doom/
        version    2.0.9
        build      HEAD -> develop 42d5da83c 2020-10-31 15:16:58 -0400
        elc-files  0
        modules    (:completion company ivy :ui doom doom-dashboard doom-quit (emoji +unicode) hl-todo indent-guides ligatures minimap (modeline +light) neotree ophints (popup +defaults) vi-tilde-fringe window-select workspaces zen :editor (evil +everywhere) file-templates fold multiple-cursors snippets :emacs dired electric ibuffer undo :term eshell shell term vterm :checkers syntax :tools (eval +overlay) lookup magit make rgb lsp :os tty :lang (cc +lsp) (emacs-lisp +lsp) (javascript +lsp) markdown org php (python +lsp) sh (web +lsp) :email (mu4e +gmail) :config (default +bindings +smartparens))
        packages   ((ewal-doom-themes) (with-editor) (ewal) (fira-code-mode) (prettier) (sublimity) (spacemacs-theme) (webpaste) (zone-nyan) (nyan-mode) (evil-commentary) (evil-tutor) (sublime-themes) (cyberpunk-theme) (ample-theme) (ample-zen-theme) (afternoon-theme))
        unpin      (n/a)
        elpa       (with-editor async)
```

Likely a duplicate of #4303 and caused by breaking changes in the native-comp branch. A fix was pushed for this in https://github.com/hlissner/doom-emacs/commit/e4890f6ac952272ba3136cd2d8b4321dd9dc9188. Please update and check if it resolves your issues. You may need to delete ~/.emacs.d/.local/straight and run doom sync, depending on how much damage this breakage did to your local install.

I had the same issue, after removing .local/straight and running doom sync
I have a different issue:
Wrong type argument: number-or-marker-p, many

After removing .emacs.d/local/straight, doom sync && doom build return Symbol’s value as variable is void: comp-deferred-compilation-black-list.

@DoubleClick7 see #4309. Updating doom or gccemacs should do the trick.

After I recompiled gccemacs and removed .emacs.d/.local/straight, I get the following error with every doom command:
Wrong type argument: number-or-marker-p, many

Ok I deleted .emacs.d and reinstalled doom. But, after doom install had been running for sometime, it asked me Vterm needs vterm-module' to work.  Compile it now? (y or n)` and entering y or n has no effect, it just keeps asking me

So far, three different errors have been reported in here and I can't reproduce any of them on the latest commit of gccemacs. Please make sure:

Doom is up-to-date (includes https://github.com/hlissner/doom-emacs/commit/e4890f6ac952272ba3136cd2d8b4321dd9dc9188)

You're on a commit of gccemacs after https://github.com/emacs-mirror/emacs/commit/7a8370ed0f1b1d62657e385789ee2f81c5607ec5?
There's a possibility that the latest commit of gccemacs is unavailable through whatever channel you're installing it from. In which case, revert to the last commit that worked or wait for it to be updated.

I'm on the latest Doom and gccemacs 718370e.  gensym--task-car))) (prog1 (progn (straight--run-build-commands recipe) (st
raight--symlink-package recipe) (straight--compute-dependencies package) (setq straight--echo-area-dirty nil) (let* ((dependencies (and t
(straight--get-dependencies package)))) (if dependencies (progn (let (...) (while --dolist-tail-- ...)) (if straight--echo-area-dirty (pro
gn ...))) nil)) (straight--generate-package-autoloads recipe) (straight--byte-compile-package recipe) (straight--native-compile-package re
cipe) (straight--compile-package-texinfo recipe) (straight--run-build-commands recipe 'post) (run-hook-with-args 'straight-use-package-pos
t-build-functions package)) (if gensym--task-cdr (progn (straight--output "%s...done" gensym--task-cdr)))))
  (let* ((gensym--task task) (gensym--task-car (if (listp gensym--task) (car gensym--task) gensym--task)) (gensym--task-cdr (if (listp gen
sym--task) (cdr gensym--task) gensym--task))) (progn (if gensym--task-car (progn (straight--output "%s..." gensym--task-car))) (prog1 (pro
gn (straight--run-build-commands recipe) (straight--symlink-package recipe) (straight--compute-dependencies package) (setq straight--echo-
area-dirty nil) (let* ((dependencies (and t ...))) (if dependencies (progn (let ... ...) (if straight--echo-area-dirty ...)) nil)) (straig
ht--generate-package-autoloads recipe) (straight--byte-compile-package recipe) (straight--native-compile-package recipe) (straight--compil
e-package-texinfo recipe) (straight--run-build-commands recipe 'post) (run-hook-with-args 'straight-use-package-post-build-functions packa
ge)) (if gensym--task-cdr (progn (straight--output "%s...done" gensym--task-cdr))))))
  (let ((task (concat cause (if cause (progn straight-arrow)) (format "Building %s" package)))) (let* ((gensym--task task) (gensym--task-c
ar (if (listp gensym--task) (car gensym--task) gensym--task)) (gensym--task-cdr (if (listp gensym--task) (cdr gensym--task) gensym--task))
) (progn (if gensym--task-car (progn (straight--output "%s..." gensym--task-car))) (prog1 (progn (straight--run-build-commands recipe) (st
raight--symlink-package recipe) (straight--compute-dependencies package) (setq straight--echo-area-dirty nil) (let* ((dependencies ...)) (
if dependencies (progn ... ...) nil)) (straight--generate-package-autoloads recipe) (straight--byte-compile-package recipe) (straight--nat
ive-compile-package recipe) (straight--compile-package-texinfo recipe) (straight--run-build-commands recipe 'post) (run-hook-with-args 'st
raight-use-package-post-build-functions package)) (if gensym--task-cdr (progn (straight--output "%s...done" gensym--task-cdr)))))) (setq s
traight--echo-area-dirty t))
  (progn (if straight-safe-mode (progn (error "Building %s not allowed in safe mode" package))) (let ((task (concat cause (if cause (progn
 straight-arrow)) (format "Building %s" package)))) (let* ((gensym--task task) (gensym--task-car (if (listp gensym--task) (car gensym--tas
k) gensym--task)) (gensym--task-cdr (if (listp gensym--task) (cdr gensym--task) gensym--task))) (progn (if gensym--task-car (progn (straig
ht--output "%s..." gensym--task-car))) (prog1 (progn (straight--run-build-commands recipe) (straight--symlink-package recipe) (straight--c
ompute-dependencies package) (setq straight--echo-area-dirty nil) (let* (...) (if dependencies ... nil)) (straight--generate-package-autol
oads recipe) (straight--byte-compile-package recipe) (straight--native-compile-package recipe) (straight--compile-package-texinfo recipe)
(straight--run-build-commands recipe 'post) (run-hook-with-args 'straight-use-package-post-build-functions package)) (if gensym--task-cdr
(progn (straight--output "%s...done" gensym--task-cdr)))))) (setq straight--echo-area-dirty t)))
  (let* ((--cl-rest-- recipe) (package (car (cdr (plist-member --cl-rest-- ':package))))) (progn (if straight-safe-mode (progn (error "Bui
lding %s not allowed in safe mode" package))) (let ((task (concat cause (if cause (progn straight-arrow)) (format "Building %s" package)))
) (let* ((gensym--task task) (gensym--task-car (if (listp gensym--task) (car gensym--task) gensym--task)) (gensym--task-cdr (if (listp gen
sym--task) (cdr gensym--task) gensym--task))) (progn (if gensym--task-car (progn (straight--output "%s..."
Clean install of doom gives me the same error as @valrus

Ah, turns out this was a regression in e4890f6. As of 90f16ea this issue should be resolved. Let me know if that isn't the case and I'll reopen it. Thanks for bringing it to my attention!

Hey! What do I do about this:
Vterm needs `vterm-module' to work.  Compile it now? (y or n) y
Vterm needs `vterm-module' to work.  Compile it now? (y or n) n
Vterm needs `vterm-module' to work.  Compile it now? (y or n) n
Vterm needs `vterm-module' to work.  Compile it now? (y or n) n
Vterm needs `vterm-module' to work.  Compile it now? (y or n) y
Vterm needs `vterm-module' to work.  Compile it now? (y or n) n
  → Building magit → Building git-commit...done
  → Building magit...
Vterm needs `vterm-module' to work.  Compile it now? (y or n) y
Vterm needs `vterm-module' to work.  Compile it now? (y or n) n
Vterm needs `vterm-module' to work.  Compile it now? (y or n) n
Vterm needs `vterm-module' to work.  Compile it now? (y or n) y
Vterm needs `vterm-module' to work.  Compile it now? (y or n) y
Vterm needs `vterm-module' to work.  Compile it now? (y or n) n
Vterm needs `vterm-module' to work.  Compile it now? (y or n)

@DoubleClick7 I was able to type y and it worked in my case.
I just checked the docs and you should be able to set vterm-always-compile-module to t to skip the question and compile it automatically when needed:
https://github.com/akermu/emacs-libvterm#vterm-always-compile-module

@DoubleClick7 I was able to type y and it worked in my case.
Since that doesn't seem to work for you, I checked the docs and you should be able to set vterm-always-compile-module to t to skip the question and compile it automatically when needed:
https://github.com/akermu/emacs-libvterm#vterm-always-compile-module

I am a noob. Do I do that in config.el? Is the syntax (setq vterm-always-compile 't)?

@DoubleClick7 @folke Sounds like you haven't updated Doom or straight. Do it manually if you have to:
cd ~/.emacs.d
git pull
doom sync -u


Upstream PR #6203

More robust way to build the SRL path.

ping @petrovr.

Matthias St. Pierre wrote:

ping @petrovr.

Not sure. I expect search for last dot after last directory separator.
OpenSSL function ends_with_dirsep() shows possible directory separators
per platform.  As is visible there is more then one separator. For
instance \ and / on WIN32.
Regards,
Roumen Petrov


[ci skip] added user loriab

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] ~Bumped the build number (if the version is unchanged)~
[ ] ~Reset the build number to 0 (if the version changed)~
[ ] ~Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)~
[ ] ~Ensured the license file is being packaged.~

Hi @felipeZ, if you don't mind sharing maintenance, I'd like to join. (I'll close #16 as either the bot didn't pick it up or it didn't want to act on me since technically I already have write access.)

Hi @loriab, thanks for taking up the feedstock maintenance

Hi @loriab, thanks for taking up the feedstock maintenance

Great, thank you!
Since we're not otherwise acquainted, it might be good to establish how co-maintenance should work. Do you want to give explicit concurrence to any major step? Or ok for me to make unilateral step after X days notification? Or a free hand? I'm fine with any of these.


Why there are so many "null" in the dataset?

As the title described, when i load the dataset and try to reproduct the results as your paper, I found lots of labels are "null".
{
 "question": "the south west wind blows across nigeria between",
 "golden_answer": "till September",
 "answer_fid": "February",
 "judge_fid": null,
 "answer_gpt35": "the months of\n\nNovember and March.",
 "judge_gpt35": null,
 "answer_chatgpt": "the months of May and September. This wind is known as the \"Harmattan\" and is characterized by dry and dusty conditions. It originates from the Sahara desert and brings with it a haze that reduces visibility and can cause respiratory problems. Despite these challenges, the Harmattan also brings cooler temperatures, making it a welcome relief from the hot and humid conditions of the rest of the year.",
 "judge_chatgpt": true,
 "answer_gpt4": "The southwest wind, also known as the Southwest Monsoon or the Southwesterlies, typically blows across Nigeria between June and September, bringing rain and humidity.",
 "judge_gpt4": null,
 "answer_newbing": "nan.",
 "judge_newbing": null,
 "improper": true
},

Is it a mistake?

It seems i need to filter the data according to the key "improper".

More details: the null also appears if the key "improper" is False.
 {
  "question": "who played cruella de vil in 101 dalmatians",
  "golden_answer": "Glenn Close",
  "answer_fid": "Glenn Close",
  "judge_fid": true,
  "answer_gpt35": "Cruella de Vil was played by Glenn Close in the 1996 live-action version of 101 Dalmatians.",
  "judge_gpt35": true,
  "answer_chatgpt": "Cruella De Vil was played by Glenn Close in the 1996 live-action film \"101 Dalmatians.\"",
  "judge_chatgpt": true,
  "answer_gpt4": null,
  "judge_gpt4": null,
  "answer_newbing": "In the 1996 live-action adaptation of \u201c101 Dalmatians\u201d, the character of Cruella de Vil was portrayed by actressGlenn Close1.",
  "judge_newbing": true,
  "improper": false
 },


Question - Global transaction management

Global transaction management is essential to surpass Spring.
Are there any plans to develop or integrate features like this?
I'm new to Python but have a strong background in Java and NodeJS (especially NestJS). I’ve been exploring Python web frameworks that offer a modular system based on dependency injection (DI), and PyNest seems to be on the right track—it's readable, maintainable, and scalable.
One thing, which is crucial: not every early-stage startup builds their backend using microservices architecture (MSA). Monolithic architecture is much simpler and faster for building an MVP. In this context, global transaction control through annotation-driven mechanisms can eliminate redundant boilerplate code. - begin transaction, end transaction and rollback.
Additionally, it enhances the reusability of services across domains. While this may not be recommended in MSA, it remains useful in certain cases. It is not only beneficial for monolithic applications but also for MSA.
Thanks!

@sunjoong85 Hi! Thank you for the kind words.
Regard the Global transaction management, are we talking about transaction in the context of Databases? If so, then there are a few ORM packages that are highly recommended to use in order to achieve this behaviour. One of them is SQLALCHEMY, that can manage all the transactions to the database.


Update All Package Managers Default to Local Geth Node

Update package managers to use a local goerli geth node in order to avoid reliance on slock.it

@ralph-pichler @acud should we change bee default to ws swap endpoint?
https://github.com/ethersphere/bee/blob/master/cmd/bee/cmd/cmd.go#L228


OS X 10.11.5 - starting Android Emulator using HAXM reboots Mac

Installed latest HAXM extension. Starting emulator causes spontaneous reboot.
$ kextstat | grep intel
  116    0 0xffffff7f8282c000 0x28000    0x28000    com.intel.kext.intelhaxm (7.3.2) 58DFBE80-E54A-3EFE-B38A-215C5ED8E828 <7 5 4 3 1>

Android's troubleshooting notes recommend using an older HAXM version: https://developer.android.com/studio/run/emulator-troubleshooting#haxm_on_older_unsupported_versions_of_mac_os
But these are not accessible online; releases go back only to 7.0.0 https://github.com/intel/haxm/releases

What version of HAXM is recommended for OS X 10.11.5 on older Mac Pro Xeon hardware?
How can we download older releases?

MY MAC OS IS THE CAPITAN VERSION 10.11.6 AND ANDY WORKED BEFORE UPDATE.
NOW GIVES ME AN ERROR:
As a compliance measure this installer is deprecated and may no longer be used
PLEASE HELP!

See https://github.com/intel/haxm/wiki/Installation-Instructions-on-macOS#system-requirements, we updated Mac OS requirements since HAXM v7.5.1, because Mac update their sign tool. So either you may use Mac OS 10.12 or above, or use HAXM v7.4.1 or below.


Port windows implementation from C# to C++

This PR removes the Windows C# implementation and adds a Windows C++ implementation, for improving performance and supporting more recent versions of react-native-windows.

@RomualdPercereau Could you take a look at this PR when you have a moment?

@RomualdPercereau Could you take a look at this PR when you have a moment?


gherkin: namespace conflict between old and new gems

Summary
Both the gherkin gem and the cucumber-gherkin gem that replaced it use the same module namespace (e.g. Gherkin) and so they can conflict if they are both loaded.
According to all conventions and tools, they are separate gems and so will not conflict with each other but, because they effectively are the same gem from a code standpoint, they cannot co-exist in the same runtime without stepping on each other's toes. This is causing some Dependency Hell for projects that end up transitively needing both gems because Bundler (or anything else) doesn't know that they are the same library.
In my case, I am now limited to using Cucumber 2.2.0 in several of my projects. Even 3.x Cucumber has been 'broken' because of the namespace issue. Cucumber 3.x doesn't use cucumber-gherkin according to its gem specification but Ruby will still end up in that code at runtime, even though it should end up in code from the gherkin gem, which is what my project explicitly declares as a dependency and intends to be using.
Expected Behavior
gherkin and cucumber-gherkin would either use their respective conventional namespaces of Gherkin and CucumberGherkin or be prevented from co-exsisting in a dependency tree, thus preventing any code conflicts.
Current Behavior
Both gherkin and cucumber-gherkin use the Gherkin namespace and there are not version limits in place in the cucumber tech stack to prevent various support libraries from transitively pulling in both gems. cucumber 2.2.0 remains safe to use due to (I'm guessing) it's usage of gherkin3 instead of gherkin and gherkin3 follows convention by using the Gherkin3 namespace, thus avoiding conflicts with cucumber-gherkin.
Possible Solution
From what I can tell, the namespace overlap is intentional, so as to make cucumber-gherkin a 'drop-in' replacement of gherkin. That rules out fixing the namespace overlap, Therefore, it will probably have to be handled by updating all of the various support libraries to have better version limits.
Steps to Reproduce (for bugs)
Here is cucumber 3.x ending up in cucumber-gherkin
wrong number of arguments (given 0, expected 1) (ArgumentError)
C:/Ruby23/lib/ruby/gems/2.3.0/gems/cucumber-gherkin-13.0.0/lib/gherkin/ast_builder.rb:6:in `initialize'
C:/Ruby23/lib/ruby/gems/2.3.0/gems/cucumber-gherkin-13.0.0/lib/gherkin/parser.rb:59:in `new'
C:/Ruby23/lib/ruby/gems/2.3.0/gems/cucumber-gherkin-13.0.0/lib/gherkin/parser.rb:59:in `initialize'
C:/Ruby23/lib/ruby/gems/2.3.0/gems/cucumber-core-3.2.1/lib/cucumber/core/gherkin/parser.rb:23:in `new'
C:/Ruby23/lib/ruby/gems/2.3.0/gems/cucumber-core-3.2.1/lib/cucumber/core/gherkin/parser.rb:23:in `document'
C:/Ruby23/lib/ruby/gems/2.3.0/gems/cucumber-core-3.2.1/lib/cucumber/core.rb:30:in `block in parse'
C:/Ruby23/lib/ruby/gems/2.3.0/gems/cucumber-core-3.2.1/lib/cucumber/core.rb:29:in `each'
C:/Ruby23/lib/ruby/gems/2.3.0/gems/cucumber-core-3.2.1/lib/cucumber/core.rb:29:in `parse'
C:/Ruby23/lib/ruby/gems/2.3.0/gems/cucumber-core-3.2.1/lib/cucumber/core.rb:21:in `compile'
C:/Ruby23/lib/ruby/gems/2.3.0/gems/cucumber-3.2.0/lib/cucumber/runtime.rb:75:in `run!'
C:/Ruby23/lib/ruby/gems/2.3.0/gems/cucumber-3.2.0/lib/cucumber/cli/main.rb:34:in `execute!'
C:/Ruby23/lib/ruby/gems/2.3.0/gems/cucumber-3.2.0/bin/cucumber:9:in `<top (required)>'
C:/Ruby23/bin/cucumber:23:in `load'
C:/Ruby23/bin/cucumber:23:in `<main>'
Coverage report generated for cucumber_tests, rspec_tests to C:/projects/cuke-linter/coverage. 536 / 536 LOC (100.0%) covered.
rake aborted!
Cucumber tests encountered problems!

and here is cucumber 4.x ending up in gherkin
wrong number of arguments (given 1, expected 0) (ArgumentError)
/home/travis/.rvm/gems/ruby-2.4.0/gems/gherkin-5.1.0/lib/gherkin/ast_builder.rb:5:in `initialize'
/home/travis/.rvm/gems/ruby-2.4.0/gems/cucumber-gherkin-13.0.0/lib/gherkin/stream/parser_message_stream.rb:15:in `new'
/home/travis/.rvm/gems/ruby-2.4.0/gems/cucumber-gherkin-13.0.0/lib/gherkin/stream/parser_message_stream.rb:15:in `initialize'
/home/travis/.rvm/gems/ruby-2.4.0/gems/cucumber-gherkin-13.0.0/lib/gherkin.rb:19:in `new'
/home/travis/.rvm/gems/ruby-2.4.0/gems/cucumber-gherkin-13.0.0/lib/gherkin.rb:19:in `from_sources'
/home/travis/.rvm/gems/ruby-2.4.0/gems/cucumber-gherkin-13.0.0/lib/gherkin.rb:27:in `from_source'
/home/travis/.rvm/gems/ruby-2.4.0/gems/cucumber-core-7.0.0/lib/cucumber/core/gherkin/parser.rb:20:in `document'
/home/travis/.rvm/gems/ruby-2.4.0/gems/cucumber-core-7.0.0/lib/cucumber/core.rb:33:in `block in parse'
/home/travis/.rvm/gems/ruby-2.4.0/gems/cucumber-core-7.0.0/lib/cucumber/core.rb:32:in `each'
/home/travis/.rvm/gems/ruby-2.4.0/gems/cucumber-core-7.0.0/lib/cucumber/core.rb:32:in `parse'
/home/travis/.rvm/gems/ruby-2.4.0/gems/cucumber-core-7.0.0/lib/cucumber/core.rb:24:in `compile'
/home/travis/.rvm/gems/ruby-2.4.0/gems/cucumber-4.0.0/lib/cucumber/runtime.rb:78:in `run!'
/home/travis/.rvm/gems/ruby-2.4.0/gems/cucumber-4.0.0/lib/cucumber/cli/main.rb:29:in `execute!'
/home/travis/.rvm/gems/ruby-2.4.0/gems/cucumber-4.0.0/bin/cucumber:9:in `<top (required)>'
/home/travis/.rvm/gems/ruby-2.4.0/bin/cucumber:23:in `load'
/home/travis/.rvm/gems/ruby-2.4.0/bin/cucumber:23:in `<main>'
/home/travis/.rvm/gems/ruby-2.4.0/bin/ruby_executable_hooks:24:in `eval'
/home/travis/.rvm/gems/ruby-2.4.0/bin/ruby_executable_hooks:24:in `<main>'

Context & Motivation
I tried upgrading to the newest version of cucumber and ended up having to immediately downgrade so hard that I had to go back in time 4 years to make things work again. I am limited to using cucumber 2.2.0 in all of my projects* and, if I ever need to start using the Rule keyword or any of the newer syntax, Cucumber will become entirely unusable for me. Given that my primary project models Gherkin syntax, that will become an issue sooner rather than later.
*Even the most recent version of my project that only uses cucumber 4.x and cucumber-gherkin won't work because cucumber-gherkin doesn't work on JRuby 9.1.7 (#1064).
Your Environment

Version used: varies
Operating System and version: the big 3 (Windows, Linux, and OSX)
Link to your project: cuke_modeler and pretty much every gem project that relies on it. Take your pick. If you choose cuke_linter, you'll get a twofer and encounter #1065.

Anything?

Good news! This is no longer a necessarily a blocking issue for my project. I am able to model Rules and test my gem as long as I don't use rules in my tests themselves.

It is a problem that resurfaces on a regular basis, including within the past week. I'm going to say that that is still counts as 'active'

Unfortunately, I'm not sure that there is a way to solve this problem that doesn't boil down to "upgrade all of your dependencies and stop using the old stuff". Even with added version restrictions on the newer libraries, users would still have to update those libraries to get the fixes. An once they've upgraded to get then they're already no longer using the old stuff and so the problem is solved anyway.
So...I think that this kind of problem could only have been avoided by deciding against the design choices that led to it in the first place. :/
A fix for the issue being practically moot, this issue can be closed. I'll just keep linking to it for reference as people encounter problems until the community as a whole has moved on to the newer libraries.

Can anyone please help me, I am also getting the same issue , I am using these gems
gem 'gherkin'
gem 'cucumber', '~> 3.1.2'
gem 'cuke_modeler', '~> 3.3.0'
Error:
wrong number of arguments (given 0, expected 1) (ArgumentError)
C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/cucumber-gherkin-13.0.0/lib/gherkin/ast_builder.rb:6:in initialize' C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/cucumber-gherkin-13.0.0/lib/gherkin/parser.rb:59:in new'
C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/cucumber-gherkin-13.0.0/lib/gherkin/parser.rb:59:in initialize' C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/cucumber-core-3.2.1/lib/cucumber/core/gherkin/parser.rb:23:in new'
C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/cucumber-core-3.2.1/lib/cucumber/core/gherkin/parser.rb:23:in document' C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/cucumber-core-3.2.1/lib/cucumber/core.rb:30:in block in parse'
C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/cucumber-core-3.2.1/lib/cucumber/core.rb:29:in each' C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/cucumber-core-3.2.1/lib/cucumber/core.rb:29:in parse'
C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/cucumber-core-3.2.1/lib/cucumber/core.rb:21:in compile' C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/cucumber-3.1.2/lib/cucumber/runtime.rb:75:in run!'
C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/cucumber-3.1.2/lib/cucumber/cli/main.rb:34:in execute!' C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/cucumber-3.1.2/bin/cucumber:9:in <top (required)>'
C:/Ruby25-x64/bin/cucumber:23:in load' C:/Ruby25-x64/bin/cucumber:23:in '
I tried
Keep the default argument
def initialize(ast_builder = AstBuilder.new(Cucumber::Messages::IdGenerator::UUID.new))

You are likely using the conflicting gems for gherkin. Ideally ensure you don't install gherkin manually (Although it is possible).
There is a cucumber-gherkin gem which has replaced gherkin
As you are using an old version of cucumber (v3), I'd also advise you to upgrade that if possible. As we don't support legacy versions of the software currently


Does this extension support multiple profiles regarding different systems?

I work across different systems: Windows 10 (desktop), MacOS (mobile), Linux (server).
So I would like to have 3 different profiles to 3 different systems, and I don't want some system-specific extensions to be installed in a system which it does not support, such as the extension Remote - WSL specific to the Windows system.
I know that I can ignore some extensions to avoid them being downloaded, but this is kind of annoying every time I install a new system-specific extension.

Thats would be good. But concept needs to be extended to multiple workspace profiles(examples: another os or for home & work pc's separate presets, etc), so you will be able to bind current instance to a specific profile.

But probably vscode itself will add such feature faster(it is already planned).

I'm open for PR.

I'm open for PR.

Actually I have an easy idea, which is adding a function to automatically filter out extensions which does not support the current system when syncing. I haven't check whether every extension page contains such information, but if so, it should not be hard to implement. Unfortunately, I don't have time for the implementation at this time.

@fengyuentau I wrote an extension, which allows you to use different profiles and it works with Settings Sync.,
Give it a try
vscode-profiles

@cyberbiont Thanks for you great work. I would like to try but I have switched to the official syncing just by logging in my Microsoft account in vscode.


Contracts: remove unused migration benchmarks

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate-macos
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2954208

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-benches
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2954191

ah my bad, missed that in my grep, will just use this PR to amend the other docstring comment then

I don't think a docstring fix worth a standalone PR. Could you pls add it up to https://github.com/paritytech/substrate/pull/14313 or some other bigger change


chore(devops): enable comma dangle rule

Address part of #1559

Coverage remained the same at 20.717% when pulling 7c4d8f73323607ca473627295f9b2216b54a2cf5 on bolatovumar:next into 18b42a3dae60c4fab4c54845a29dacfa156c3faa on LN-Zap:next.

Coverage remained the same at 20.717% when pulling 7c4d8f73323607ca473627295f9b2216b54a2cf5 on bolatovumar:next into 18b42a3dae60c4fab4c54845a29dacfa156c3faa on LN-Zap:next.

Thanks for the patch @bolatovumar . However, I'm going to close this issues because https://github.com/LN-Zap/zap-desktop/issues/1559 requires some special handling and timing.
Firstly, the intent was to enable this specific rule, rather than disable it as done in this patch.
Secondly, after changing our lint rules we will need to re-lint and fix/adjust our entire codebase to confirm to the new rules. This will be quite a disruptive action and will likely cause conflicts across many PR's.
So, with that in mind, our plan is to make all of the changes to the lint rules listed in #1559 in one go, and re-lint and adjust the codebase in a single PR, which will be closely timed with our next release in order to reduce the amount of potential conflicts and disruption.


Post release automated changes for vmwarecloudsimple releases

Post release automated changes for azure-arm-vmwarecloudsimple

API change check
API changes are not detected in this pull request.


Not GraphQL over http spec compliant for failure to coerce variables

Describe the bug
You appear to have implemented the behaviour for invalid parameters for the variable coercion failure case i.e. you are responding with a 400 when it should be a 200.
Your Example Website or App
https://codesandbox.io/p/sandbox/magical-kirch-5z4z8c
Steps to Reproduce the Bug or Issue
See code sandbox link above
Expected behavior
Expected a 200 but received 400
Screenshots or Videos
No response
Platform

graphql-yoga: 5.0.1

Additional context
Discussion on spec here See discussion here https://github.com/graphql/graphql-over-http/issues/288

Hi!
Thank you for the report!
It appears that your reproduction sandbox doesn't exists.
But I can suppose what is the problem here. This behavior only applies to spec compliant requests, which have an accept header value of 'application/json'.
The yoga server tested against the graphql-http spec test suite, so it should be very compliant to the spec :-)
I'm closing this, but if you still think something is wrong, don't hesitate to comment or reopen with an update reproduction case :-)

How frustrating - took ages to create the sandbox.
Leaving that aside, have you read the discussion I linked to https://github.com/graphql/graphql-over-http/issues/288. The basic point is that yoga implements 400 for variables that don't validate against a GraphQL document, whereas the spec writers are quite clear that the 400 is meant only for scenarios where the variables provided do not comply with the general GraphQL spec of what variables can be (e.g. must be an object, not an array). Perhaps the graphql-http test suite has a mistake in it. I will raise your point with them.

Actually reading more about it, the graphql-http project have not actually implemented a test suite to validate against (they have only described it), so perhaps there is a mistake in the implementation of the test suite you reference.

the graphql-http project have not actually implemented a test suite to validate against

The test suite can be found here: https://graphql-http.com/; and here's the report for graphql-yoga: https://github.com/graphql/graphql-http/tree/main/implementations/graphql-yoga

The keyword here is SHOULD, which is a recommendation rather than a requirement (see RFC2119). Returning 400 for variables that do not coerce is valid, but not preferred.

@wheresrhys this is not the case. Maybe you're mixing application/json and application/graphql-response+json accept headers; whereas the former should respond with a 200 and the latter with a 400.
Both of these audits pass when using the graphql-http test suite.

Passing
[...]
53. 7B9B SHOULD use a status code of 200 on variable coercion failure when accepting application/json
60. 86EE SHOULD use a status code of 400 on variable coercion failure when accepting application/graphql-response+json


rapidjson_helper no return statement in function compiler error

Hey,
I get the following compiler error when compiling bond using the android NDK.
bond/protocol/detail/rapidjson_helper.h:123:5:error: no return statement in function returning non-void
Looks like the issue is
120     size_t PutEnd(char* begin)
121     {
122         BOOST_ASSERT(begin == 0);
123     }
I'm not sure what the expected return value here is otherwise I'd submit a pull request, so can someone advise on this?
Thanks,
John

The PutEnd function is not used for write-only streams. Fixed with ef83b48.


UnicodeEncodeError: 'latin-1' codec can't encode character '\u2588'

I am using Fast-bert, which uses fastprogress under the hood, an encountered an encoding issue while running a script from a CentOS Linux server terminal.
Please note that this same issue is referred in #21, and the workaround of setting the LC_ALL environment variable to C.UTF-8 does not work, but it works to set it to en_US.UTF-8.
$ setenv LC_ALL en_US.UTF-8
Anyway, I think this should be solved, as this is just a temporal workaround (you have to set it again every day) and it is a simple encoding error which is severely breaking other libraries which depends on fastprogress.
This is the full traceback, but in summary the problem is the '\u2588' (full-block) character, which is used to fill the progress bar.
Traceback (most recent call last):
  File "Train-FastBert.py", line 92, in <module>
    tr_manager.train(data_holder)
  File "/gscratch2/users/ablanco061/PhD_workspace/MIMICOsa_workspace/scripts/fast-bert/train/tr_bin/train_manager.py", line 20, in train
    self.custom_model.learner.fit(data_holder.epochs, data_holder.learning_rate, validate=True)
  File "/gscratch2/users/ablanco061/libs_custom/alber_venv_gpu/lib/python3.6/site-packages/fast_bert/learner_cls.py", line 276, in fit
    for step, batch in enumerate(progress_bar(train_dataloader, parent=pbar)):
  File "/gscratch2/users/ablanco061/libs_custom/alber_venv_gpu/lib/python3.6/site-packages/fastprogress/fastprogress.py", line 75, in __iter__
    if self.auto_update: self.update(i+1)
  File "/gscratch2/users/ablanco061/libs_custom/alber_venv_gpu/lib/python3.6/site-packages/fastprogress/fastprogress.py", line 92, in update
    self.update_bar(val)
  File "/gscratch2/users/ablanco061/libs_custom/alber_venv_gpu/lib/python3.6/site-packages/fastprogress/fastprogress.py", line 104, in update_bar
    else: self.on_update(val, f'{100 * val/self.total:.2f}% [{val}/{self.total} {elapsed_t}<{remaining_t}{end}]')
  File "/gscratch2/users/ablanco061/libs_custom/alber_venv_gpu/lib/python3.6/site-packages/fastprogress/fastprogress.py", line 274, in on_update
    if printing(): WRITER_FN(to_write, end = '\r')
UnicodeEncodeError: 'latin-1' codec can't encode character '\u2588' in position 14: ordinal not in range(256)

I guess that a potencial solution could be checking the encoding which the user has and selecting the corresponding fill character (one that does not cause an encoding error)
If you need something else in order to fix the error, please count on me.

You can always change the fill char by importing ConsoleProgressBar then doing:
ConsoleProgressBar.fill = 'X'

(or whatever you want).
For a more general fix, I added a try block to print the fill char and fallback to X if it fails.

Great! I didn't know the trick to change the fill chat, good to know 😀
Thank you very much for the quick fix!


Consistency between slots name: heading (alert) and header (accordion)

It would be great to have the same slot naming between components when the usage is the same.
Currently, post-alert component has a slot named heading while post-accordion-item has a slot named header.

[ ] depends on #2571

Closing as won't fix


Feature request: Enable automated DNSSEC management for a domain

I would like to propse a new resource, that let's you enable the automated DNSSEC management for domains at INWX, as described in the API docs at 2.8.4 and 2.8.5: https://www.inwx.com/en/help/apidoc/f/ch02s08.html

This is already possible with the inwx_dnssec_key resource.

@fsoederhuyzen Does this really work with automated DNSSEC key generation?
I have no clue what to enter in the required arguments for public_key  and algorithm , as I don't generate DNSSEC keys myself. I always to this just be enabling the checkbox in the INWX UI.

@kimdre youre right this is still missing, ive overread "automatic".


navbar: Use chaise config for brand image, brand text, and brand url

Looking at chaise-config.js, there are three variables that are used for the navbar:

headTitle
navbarBrand
navbarBrandImage

This PR adds these variables to the common navbar (issue: #492).
@robes @jrchudy @howdyjessie Can you please review this PR?

The changes look good to me and non-intrusive. If the config options aren't set, the UI will still show properly.