It supports several profiles, multiple tabs and implements several
keyboard shortcuts.")
    (license license:gpl3+)))

vim package definition:
https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/vim.scm?id=04b83678653fda3c66e600e88f54f5108290ec1c#n70
(define-public vim
  (package
    (name "vim")
    (version "8.2.2067")
    (source (origin
             (method git-fetch)
             (uri (git-reference
                    (url "https://github.com/vim/vim")
                    (commit (string-append "v" version))))
             (file-name (git-file-name name version))
             (sha256
              (base32
               "02cd953h69k9klrcwi756namwg39ka7if9ccc399ihb1l5f3kr66"))))
    (build-system gnu-build-system)
    (arguments
     `(#:test-target "test"
       #:parallel-tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'configure 'patch-absolute-paths
           (lambda _
             (substitute* "runtime/tools/mve.awk"
               (("/usr/bin/nawk") (which "gawk")))
             (substitute* '("src/testdir/Makefile"
                            "src/testdir/test_normal.vim"
                            "src/testdir/test_popupwin.vim"
                            "src/testdir/test_system.vim"
                            "src/testdir/test_terminal.vim"
                            "src/testdir/test_terminal2.vim")
               (("/bin/sh") (which "sh")))
             (substitute* "src/testdir/test_autocmd.vim"
               (("/bin/kill") (which "kill")))
             #t))
         (add-before 'check 'set-environment-variables
           (lambda* (#:key inputs #:allow-other-keys)
             ;; One of the tests tests timezone-dependent functions.
             (setenv "TZDIR"
                     (string-append (assoc-ref inputs "tzdata")
                                    "/share/zoneinfo"))

             ;; Make sure the TERM environment variable is set for the tests
             (setenv "TERM" "xterm")
             #t))
         (add-before 'check 'skip-or-fix-failing-tests
           (lambda _
             ;; This test assumes that PID 1 is run as root and that the user
             ;; running the test suite does not have permission to kill(1, 0)
             ;; it.  This is not true in the build container, where both PID 1
             ;; and the test suite are run as the same user.  Skip the test.
             ;; An alternative fix would be to patch the PID used to a random
             ;; 32-bit value and hope it never shows up in the test environment.
             (substitute* "src/testdir/test_swap.vim"
               (("if !IsRoot\\(\\)") "if 0"))

             ;; These tests compares output against a golden ‘…/|b|i|n|/|s|h…’
             ;; literal.  We need to match that and substitute a similarly
             ;; ‘spliced’ path to ‘sh’ in the store, truncated to the last
             ;; 44 (spliced: 88) or so characters.
             ;; Two of the tests we simply skip instead of patching the screen dump.
             (substitute* "src/testdir/test_popupwin.vim"
               ((".*Test_popupwin_term_0[1|2].*") ""))
             ;; We replace the external program call (!) with a scroll-back (<)
             ;; symbol and blindly fix some other differences based on error output.
             (let ((splice (lambda (s separator)
                               (string-join (map string (string->list s))
                                            separator))))
               (substitute* "src/testdir/dumps/Test_terminal_from_cmd.dump"
                 (((splice "/bin/sh" "\\|"))
                  (splice (string-take-right (which "sh") 44) "|"))
                 (("^\\|!") "|<")
                 (("@37") ""))
               (substitute* '("src/testdir/dumps/Test_terminal_scrollback_1.dump"
                              "src/testdir/dumps/Test_terminal_scrollback_2.dump")
                 (((splice "/bin/sh" "\\|"))
                  (splice (string-take-right (which "sh") 61) "|"))
                 (("^\\|!") "|<")
                 ((" @55") " @1"))
               (substitute* '("src/testdir/dumps/Test_terminal_scrollback_3.dump"
                              "src/testdir/dumps/Test_popupwin_term_03.dump"
                              "src/testdir/dumps/Test_popupwin_term_04.dump")
                 (((splice "/bin/sh" "\\|"))
                  (splice (string-take-right (which "sh") 62) "|"))
                 (("^\\|!") "|<")
                 (("\\]\\| @56") "]| @1")))
             #t)))))
    (inputs
     `(("gawk" ,gawk)
       ("ncurses" ,ncurses)
       ("perl" ,perl)
       ("tcsh" ,tcsh)))                 ; For runtime/tools/vim32
    (native-inputs
     `(("libtool" ,libtool)

       ;; For tests.
       ("tzdata" ,tzdata-for-tests)))
    (home-page "https://www.vim.org/")
    (synopsis "Text editor based on vi")
    ;; The description shares language with the vim-full package. When making
    ;; changes, check if the other description also needs to be updated.
    (description
     "Vim is a highly configurable text editor built to enable efficient text
editing.  It is an improved version of the vi editor distributed with most UNIX
systems.

Vim is often called a \"programmer's editor,\" and so useful for programming
that many consider it an entire IDE.  It's not just for programmers, though.
Vim is perfect for all kinds of text editing, from composing email to editing
configuration files.")
    (license license:vim)))

You can reproduce with:

Install GNU Guix
$ guix pull --commit 04b83678653fda3c66e600e88f54f5108290ec1c
$ guix build vim --keep-failed 2>vim-build.log
Use less to read the file otherwise termcaps mess the terminal

It also happens with the current latest version:

$ guix build --with-commit=vim=v8.2.2077 vim --keep-failed 2>vim-build.log

is this a recent regression? It looks like the VimLeave autocommand is not triggered. Any thing special on GNU Guix related to signal processing?

@chrisbra Recent yes, what I know is that it didnt happen in 8.2.1980. About signals, I don't think so. It's just Linux?
user@guix-vm /tmp/guix-build-vim-8.2.2077.drv-0/source$ cat src/testdir/XautoOut
VimLeavePre triggered

can you do a bisect between 8.2.1980 and current master?

Patch 8.2.2070 added setting v:exiting.  That's the closest I can think of related to VimLeave.
It should not have any effect like this, perhaps it's timing related?

I figured even v8.2.1980 has the bug and it also reproduces on Fedora 33 fully updated as of today.
I'm trying to bisect, taking a while.

@chrisbra @brammool how would you easily and reliably run a single test through the Makefile?

Following patch won't fix anything but at least the information will be clearer when Test_deadly_signal_TERM() fails:
diff --git a/src/testdir/test_signals.vim b/src/testdir/test_signals.vim
index 78b2cecb8..1723f3310 100644
--- a/src/testdir/test_signals.vim
+++ b/src/testdir/test_signals.vim
@@ -153,8 +153,7 @@ func Test_deadly_signal_TERM()
   call assert_equal(['foo'], getline(1, '$'))

   let result = readfile('XautoOut')
-  call assert_match('VimLeavePre triggered', result[0])
-  call assert_match('VimLeave triggered', result[1])
+  call assert_equal(["VimLeavePre triggered", "VimLeave triggered"], result)

   %bwipe!
   call delete('.Xsig_TERM.swp')

how would you easily and reliably run a single test through the Makefile

$ cd vim/src/testdir
$ make clean
$ make test_signals

If you say it didn't happen in 8.2.1980, and now that you bisect it does happen, that would point to a change in the compiler and/or libraries.

Thanks, I have first bad commit as:
commit 129d6bf6b3d120b0a4c69e18b5e8602a84e352bf (tag: v8.2.0769, refs/bisect/bad)
Author: Bram Moolenaar<EMAIL_ADDRESS>Date:   Sat May 16 16:08:35 2020 +0200

    patch 8.2.0769: VimLeavePre not triggered when Vim is terminated

    Problem:    VimLeavePre not triggered when Vim is terminated.
    Solution:   Unblock autocommands.

If you say it didn't happen in 8.2.1980, and now that you bisect it does happen, that would point to a change in the compiler and/or libraries.

I did not run tests on v8.2.1980 myself, GNU Guix had a substitute (pre-compiled) for v8.2.1980 which I had installed previously. Substitutes are not available unless tests pass though so I see two possible influences: GNU Guix's grafts or system configuration (e.g. kernel). Not sure how the current official GNU Guix substitute machine looks like. It should have never produced a substitute if tests didnt pass.
However, I have bisected on Fedora 33 now so let's forget GNU Guix.

@dpelle
Test result with your patch:
$ make test_signals
rm -f test_signals.res test.log messages
rm -rf test1.failed test.out X* viminfo tiny.vim small.vim mbyte.vim mzscheme.vim test.ok benchmark.out wrongtermsize
VIMRUNTIME=../../runtime  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -s dotest.in test1.in --cmd 'au SwapExists * let v:swapchoice = "e"' > /dev/null
rm -rf X* viminfo
VIMRUNTIME=../../runtime  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -S runtest.vim test_signals.vim --cmd 'au SwapExists * let v:swapchoice = "e"' > /dev/null

From test_signals.vim:
Executed Test_deadly_signal_TERM() in   0.100508 seconds
Found errors in Test_deadly_signal_TERM():
function RunTheTest[39]..Test_deadly_signal_TERM line 35: Expected ['VimLeavePre triggered', 'VimLeave triggered'] but got []
Flaky test failed, running it again
Executed Test_deadly_signal_TERM() in   0.145031 seconds
Found errors in Test_deadly_signal_TERM():
function RunTheTest[39]..Test_deadly_signal_TERM line 35: Expected ['VimLeavePre triggered', 'VimLeave triggered'] but got []
Executed Test_signal_INT() in   0.140495 seconds
Executed Test_signal_PWR() in   0.013618 seconds
Executed Test_signal_WINCH() in   0.010123 seconds
Executed 5 tests in   2.411905 seconds
1 FAILED:
Found errors in Test_deadly_signal_TERM():
Run 1:
function RunTheTest[39]..Test_deadly_signal_TERM line 35: Expected ['VimLeavePre triggered', 'VimLeave triggered'] but got []
Run 2:
function RunTheTest[39]..Test_deadly_signal_TERM line 35: Expected ['VimLeavePre triggered', 'VimLeave triggered'] but got []
Flaky test failed too often, giving up
make: *** [Makefile:78: test_signals] Error 1

@dpelle Applied again current master:
$ make test_signals
rm -f test_signals.res test.log messages
VIMRUNTIME=../../runtime  ../vim -f  -u unix.vim -U NONE --noplugin --not-a-term -S runtest.vim test_signals.vim --cmd 'au SwapExists * let v:swapchoice = "e"' > /dev/null

From test_signals.vim:
Executed Test_deadly_signal_TERM()                 in   0.101221 seconds
Found errors in Test_deadly_signal_TERM():
function RunTheTest[39]..Test_deadly_signal_TERM line 39: Expected ['VimLeavePre triggered', 'VimLeave triggered'] but got []
Flaky test failed, running it again
Executed Test_deadly_signal_TERM()                 in   0.124172 seconds
Found errors in Test_deadly_signal_TERM():
function RunTheTest[39]..Test_deadly_signal_TERM line 39: Expected ['VimLeavePre triggered', 'VimLeave triggered'] but got []
Executed Test_signal_INT()                         in   0.139752 seconds
Executed Test_signal_PWR()                         in   0.007113 seconds
Executed Test_signal_WINCH()                       in   0.010039 seconds
Executed 5 tests                         in   2.384303 seconds
1 FAILED:
Found errors in Test_deadly_signal_TERM():
Run 1:
function RunTheTest[39]..Test_deadly_signal_TERM line 39: Expected ['VimLeavePre triggered', 'VimLeave triggered'] but got []
Run 2:
function RunTheTest[39]..Test_deadly_signal_TERM line 39: Expected ['VimLeavePre triggered', 'VimLeave triggered'] but got []
Flaky test failed too often, giving up
make: *** [Makefile:66: test_signals] Error 1

Patch 8.2.0769 added the test, so obviously it didn't fail before that. This patch is from May, I doubt you wouldn't have seen the failure for half a year.  Again, I suspect something in the environment changed.
To run a single test: "make test_signals".  You can even narrow it down to one function by setting $TEST_FILTER to the name of the function.

Fedora 33 is quite new. Are there any obvious changes to kernel or build toolchain in it? something that is the same as in GUIX? How did you compile it? Can you manually reproduce the issue from this particular test?

I now recall that this test Test_deadly_signal_TERM was flaky.
Although the failure was hard to reproduce on my Linux machine, the following patch was made to attempt to fix it, but perhaps it does not fix it completely?  I have not seen Test_deadly_signal_TERM failing in a long time though, at least not since 8.2.0874:
$ git show d14fd5285e491a39028c4b4722ddbe7c9dfa9bb2
commit d14fd5285e491a39028c4b4722ddbe7c9dfa9bb2 (tag: v8.2.0874)
Author: Bram Moolenaar<EMAIL_ADDRESS>Date:   Mon Jun 1 15:05:19 2020 +0200

    patch 8.2.0874: signals test is a bit flaky

    Problem:    Signals test is a bit flaky.
    Solution:   Flush the XautoOut file.  Delete files that may be left behind
                from a failure. (Dominique Pelle, closes #6179)

Flush the XautoOut file

This sounds like it might depend on the filesystem and its mount options.

@chrisbra I compile and test by cloning the repo and using: $ ./configure && make -j$(nproc) && make test - simple as that. GNU Guix has Glibc 2.31 currently, Fedora Glibc 2.32. Otherwise Fedora 33 has Linux 5.9.10 currently, GNU Guix has Linux-libre 5.9.11 (but I also tried Linux-libre 5.4.x, same issue). Linux-libre is identical w.r.t. signal handling, it only strips proprietary blobs and firmware. GNU Guix uses GCC 7.x currently and Fedora uses GCC 10.x. I have ext4 file systems on both GNU Guix and Fedora systems. I'm still trying to find out what this is caused by.

what are your mount options for ext4?

@chrisbra Nevermind, I was compiling on tmpfs so not relevant. tmpfs on /tmp type tmpfs (rw,nosuid,nodev,seclabel,nr_inodes=409600,inode64). I also just tried compiling in my home directory that's ext4 and same result. /dev/mapper/fedora_localhost--live-home on /home type ext4 (rw,relatime,seclabel)
If you try with Fedora 33 in a VM or container, does that bug really not happen to you?

I don't have a Fedora 33 available yet, so I cannot test. In any case I suspect this is a configuration issue on your system (or some optimization). If you mount using data=journal does that work? This may reduce performance by disableing some performance optimizations. so not sure. Perhaps also tweeking the 'updatetime' setting for that test is required so that the swap file is actually written by vim. Something like the following patch:
diff --git a/src/testdir/test_signals.vim b/src/testdir/test_signals.vim
index 1723f3310..db2bcd169 100644
--- a/src/testdir/test_signals.vim
+++ b/src/testdir/test_signals.vim
@@ -130,6 +130,7 @@ func Test_deadly_signal_TERM()
   call delete('XsetupAucmd')
   call delete('XautoOut')
   let lines =<< trim END
+    set updatetime=10
     au VimLeave * call writefile(["VimLeave triggered"], "XautoOut", "as")
     au VimLeavePre * call writefile(["VimLeavePre triggered"], "XautoOut", "as")
   END

@chrisbra How do you explain that it happens on tmpfs, how would it be caused by a configuration issue if it happens on both GNU Guix and Fedora? I am not sure I understand what kind of configuration issue you are talking about. Will be able to try the patch in few hours, thanks.

When built with asan, Test_deadly_signal_TERM() succeeds most of the time but fails once in a while:
Executed:  3674 Tests
 Skipped:    49 Tests
  FAILED:     1 Tests

Failures:
	From test_signals.vim:
	Found errors in Test_deadly_signal_TERM():
	Run 1:
	Caught exception in Test_deadly_signal_TERM(): Vim(let):E484: Can't open file XautoOut @ command line..script /home/pel/sb/vim/src/testdir/runtest.vim[468]..function RunTheTest[39]..Test_deadly_signal_TERM, line 38
	Run 2:
	Caught exception in Test_deadly_signal_TERM(): Vim(let):E484: Can't open file XautoOut @ command line..script /home/pel/sb/vim/src/testdir/runtest.vim[502]..function RunTheTest[39]..Test_deadly_signal_TERM, line 38
	Run 3:
	Caught exception in Test_deadly_signal_TERM(): Vim(let):E484: Can't open file XautoOut @ command line..script /home/pel/sb/vim/src/testdir/runtest.vim[502]..function RunTheTest[39]..Test_deadly_signal_TERM, line 38
	Flaky test failed too often, giving up

TEST FAILURE
Makefile:43: recipe for target 'report' failed
make: *** [report] Error 1

This happened with 8.2.2173 (huge, Linux x86_64, asan build).
Perhaps timing is involved (asan build is of course slower).

Dominique wrote:

When built with asan, Test_deadly_signal_TERM() succeeds most of the time but fails once in a while:
Executed:  3674 Tests
 Skipped:    49 Tests
  FAILED:     1 Tests

Failures:
	From test_signals.vim:
	Found errors in Test_deadly_signal_TERM():
	Run 1:
	Caught exception in Test_deadly_signal_TERM(): Vim(let):E484: Can't open file XautoOut @ command line..script /home/pel/sb/vim/src/testdir/runtest.vim[468]..function RunTheTest[39]..Test_deadly_signal_TERM, line 38
	Run 2:
	Caught exception in Test_deadly_signal_TERM(): Vim(let):E484: Can't open file XautoOut @ command line..script /home/pel/sb/vim/src/testdir/runtest.vim[502]..function RunTheTest[39]..Test_deadly_signal_TERM, line 38
	Run 3:
	Caught exception in Test_deadly_signal_TERM(): Vim(let):E484: Can't open file XautoOut @ command line..script /home/pel/sb/vim/src/testdir/runtest.vim[502]..function RunTheTest[39]..Test_deadly_signal_TERM, line 38
	Flaky test failed too often, giving up

TEST FAILURE
Makefile:43: recipe for target 'report' failed
make: *** [report] Error 1

This happened with 8.2.2173 (huge, Linux x86_64, asan build).
Perhaps timing is involved (asan build is of course slower).

The test is skipped with valgrind, because it may catch the TERM signal
and the behavior is different.  The test does seem to pass for me when I
comment out those lines though.  The INT signal test does fail under
valgrind.
Perhap ASAN also does something with the TERM signal?  That doesn't
explain why it would only fail once in a while though.
There are several WaitForAssert() calls, I don't see where it could be
flaky.
--
While it's true that many normal people whould prefer not to date an
engineer, most normal people harbor an intense desire to mate with them,
thus producing engineerlike children who will have high-paying jobs long
before losing their virginity.
(Scott Adams - The Dilbert principle)
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Perhap ASAN also does something with the TERM signal? That doesn't
explain why it would only fail once in a while though.

To clarify, the test Test_deadly_signal_TERM() succeeds the vast majority
of the time with asan.  But in rare cases it fails as describe in my above comment.
I reproduced it on 2 different Linux Ubuntu-18.04 x86_64 machines.
The failure is rare though.  Note sure how frequent.
Interestingly, when it fails, it then retries 2 more times which always fails.

I found something interesting: Test_deadly_signal_TERM() always fails when
uncommenting out 2 lines in src/Makefile:
diff --git a/src/Makefile b/src/Makefile
index c30af8b29..cb07e9173 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -612,7 +612,7 @@ CClink = $(CC)
 # Note: If you use -Wextra and get warnings in GTK code about function
 #       parameters, you can add -Wno-cast-function-type (but not with clang)
 #CFLAGS = -g -Wall -Wextra -Wshadow -Wmissing-prototypes -Wunreachable-code -Wno-cast-function-type -Wno-deprecated-declarations -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
-#CFLAGS = -g -Wall -Wextra -Wshadow -Wmissing-prototypes -Wunreachable-code -Wno-deprecated-declarations -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
+CFLAGS = -g -Wall -Wextra -Wshadow -Wmissing-prototypes -Wunreachable-code -Wno-deprecated-declarations -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
 # Add -Wpedantic to find // comments and other C99 constructs.
 # Better disable Perl and Python to avoid a lot of warnings.
 #CFLAGS = -g -Wall -Wextra -Wshadow -Wmissing-prototypes -Wpedantic -Wunreachable-code -Wunused-result -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
@@ -698,7 +698,7 @@ LINT_OPTIONS = -beprxzF
 # $ export ASAN_OPTIONS="print_stacktrace=1 log_path=asan"
 # $ export LSAN_OPTIONS="suppressions=`pwd`/testdir/lsan-suppress.txt"
 # When running tests output can be found in testdir/asan.*
-#SANITIZER_CFLAGS = -g -O0 -fsanitize=address -fno-omit-frame-pointer
+SANITIZER_CFLAGS = -g -O0 -fsanitize=address -fno-omit-frame-pointer
 #SANITIZER_CFLAGS = -g -O0 -fsanitize=undefined -fno-omit-frame-pointer

 # Similarly when compiling with clang and using ubsan.

But the same test passes when uncommenting only 1 line:
diff --git a/src/Makefile b/src/Makefile
index c30af8b29..7959c370f 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -698,7 +698,7 @@ LINT_OPTIONS = -beprxzF
 # $ export ASAN_OPTIONS="print_stacktrace=1 log_path=asan"
 # $ export LSAN_OPTIONS="suppressions=`pwd`/testdir/lsan-suppress.txt"
 # When running tests output can be found in testdir/asan.*
-#SANITIZER_CFLAGS = -g -O0 -fsanitize=address -fno-omit-frame-pointer
+SANITIZER_CFLAGS = -g -O0 -fsanitize=address -fno-omit-frame-pointer
 #SANITIZER_CFLAGS = -g -O0 -fsanitize=undefined -fno-omit-frame-pointer

 # Similarly when compiling with clang and using ubsan.

What makes it fails is that when vim is built without -D_REENTRANT, then
make test_signals always fails. Whereas with -D_REENTRANT, it passes.
Well, maybe there is still a rare even with -D_REENTRANT as I recall seeing
it failing rarely, but I could not reproduce the failure with -D_REENTRANT
at least today.
To bug submitter @leo-lb : does adding -D_REENTRANT fixes your issue?

@leo-lb any news?

@chrisbra @dpelle
Sorry for the absence.

To bug submitter @leo-lb : does adding -D_REENTRANT fixes your issue?

Yes it did! Thanks a lot for your research!

Reviving this -  does using -D_REENTRANT require a configure check, or could we just add it always?


fix: add newline at end-of-file and remove extra empty lines (resolves #33)

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

@klown, the js-beautify config adds an EOF to the end of the file which is great.
A couple of issues:

The config removes all new line characters from index.html including desired and undesired ones, which reduce the readability of the file;
In src/html/template.html, the content after the first new line character is removed, which should not be removed.

@klown, the js-beautify config adds an EOF to the end of the file which is great.
👍

A couple of issues:
1. The config removes all new line characters from `index.html` including desired and undesired ones, which reduce the readability of the file;

That's not what I'm seeing.  There are a number of empty lines in index.html that are removed by buildSVG.js, but I don't see all of the newlines removed.

2. In `src/html/template.html`, the content after the first new line character is removed, which should not be removed.

When I first tested the new js-beautify configuration, I noticed that practically all the content of template.html was removed.  The only thing left was the first <div>.  As a comparison, I checked out the main branch and ran the original buildSVG.js.  I got the same result -- all content but the first <div> was removed.  I concluded that this was the way it was supposed to work.  What is the expected output here?
I'm baffled as to why we see very different results.

There are a number of empty lines in index.html that are removed by buildSVG.js, but I don't see all of the newlines removed.

Yes, the newlines between different html tags are still kept but newlines added by developers for readability are removed.

As a comparison, I checked out the main branch and ran the original buildSVG.js. I got the same result -- all content but the first <div> was removed.

You are right, buildSVG.js in the main branch produces the same issue. Thanks for discovering it. I've created a new ticket for it to be addressed separately.
As discussed in the channel, we'll remove the preserve_newlines config and merge this PR so the linting errors after running buildSVG.js will be fixed but newlines for readability will still be kept.


load the category data in the main language of the shop

closed, other solution is coming soon

any update on this issue?
how soon is soon?


Bringing your track in line with the latest changes to Problem Specifications

We're in the process of re-opening the Problem Specifications repo, as discussed in this issue.
This PR adds .meta/tests.toml files for all exercises for which canonical data is defined in the Problem Specifications repo.
We'll now discuss why we're making this change.
Keeping track of implemented tests
While most of the changes to the Problem Specifications repo are specific to that repo, there is one track-specific change:

If a track implements an exercise for which test data exists, the exercise must contain a .meta/tests.toml file.
The goal of the tests.toml file is to keep track of which tests are implemented by the exercise.
Tests in this file are identified by their UUID and each test has a boolean value that indicates if it is implemented by that exercise.
A tests.toml file for a track's two-fer exercise looks like this:

[canonical-tests]
# no name given
"19709124-b82e-4e86-a722-9e5c5ebf3952" = true
# a name given
"3451eebd-123f-4256-b667-7b109affce32" = true
# another name given
"653611c6-be9f-4935-ab42-978e25fe9a10" = false

In this case, the track has chosen to implement two of the three available tests.
If a track uses a test generator to generate an exercise's test suite, it must use the contents of the tests.toml file to determine which tests to include in the generated test suite.
Tooling
To make it easy to keep the tests.toml up to date, tracks can use the canonical_data_syncer application.
This application is a small, standalone binary that will compare the tests specified in the tests.toml files against the tests that are defined in the exercise's canonical data.
It then interactively gives the maintainer the option to include or exclude test cases that are currently missing, updating the tests.toml file accordingly.
To use the canonical data syncer tool, tracks should copying the fetch-canonical_data_syncer and/or fetch-canonical_data_syncer.ps1 scripts into their repository.
Then, running either of these scripts will download the latest version of the tool to the track's bin directory.
The tool can be run using ./bin/canonical_data_syncer or .\bin\canonical_data_syncer.exe, depending on your operating system.
Changes
In this PR, we're adding meta/tests.toml files for all the exercises for which canonical data is defined.
We've initially marked all tests as included, which means that we'll assume that your track has implemented those tests.
If there isn't anything obviously wrong with the PR, I would suggest to merge this PR first, and then later on update the meta/tests.toml files according to your track's actual implementation.

Please rebase after #432 has been merged

Okay, after giving this a bit more thought, I think I will myself rebase this branch and then go through the exercises and verify whether or not those tests are currently in the repo, and not merge it before the data is consistent.

Okay.


Some questions about ImageAug3D and the implementation based on new coordinate system of mmdet3d

The rotation in PIL is counterclockwise by default. However, the rotation matrix here is clockwise. Why?
I found that the performance of pretrained lidar detector drops when adding camera modality into training. Could you give me some advice? Here is the implementation of BEVFusion based in mmdet3d dev-1.x branch. https://github.com/JingweiZhang12/mmdetection3d/blob/bevfusion_ours/projects/BEVFusion/configs/bevfusion_voxel0075_second_secfpn_8xb4-cyclic-20e_nus-3d.py. If possible, could you please add my WeChat: zjw209624

The rotation in PIL is counterclockwise by default. However, the rotation matrix here is clockwise. Why?
I found that the performance of pretrained lidar detector drops when adding camera modality into training. Could you give me some advice? Here is the implementation of BEVFusion based in mmdet3d dev-1.x branch. https://github.com/JingweiZhang12/mmdetection3d/blob/bevfusion_ours/projects/BEVFusion/configs/bevfusion_voxel0075_second_secfpn_8xb4-cyclic-20e_nus-3d.py. If possible, could you please add my WeChat: zjw209624

@JingweiZhang12 ， Hi, we have encountered the same problem, when add camera branch, the performance drops compared to only lidar branch.
as to rotation, I understand it is correct here.
PIL is default counterclockwise.
For a image coordinate, x to right, y to down. the default clockwise rotation matrix is
[[np.cos(theta), -np.sin(theta)],
[np.sin(theta), np.cos(theta)],]

and the corresponding counterclockwise rotation matrix is
[[np.cos(theta), np.sin(theta)],
[-np.sin(theta), np.cos(theta)],]

@HuangVictorAuto Thanks. Indeed, the matrix is correct here. I found the lidar-camera model can converge in the training when removing ImgAug3D. I guess it may have something that needs to be modified correspondingly with the coordinates.


update Readme.md to include OWASP WrongSecrets and Webgoat.

https://github.com/paragonie/awesome-appsec/blob/master/CONTRIBUTING.md

https://github.com/paragonie/awesome-appsec/blob/master/CONTRIBUTING.md

should now have been followed, ready for another round?


feat: support query forwards.

https://github.com/databendlabs/databend/pull/16637

Hi @youngsofun , basically LGTM, could you add additional cluster tests, like pass time consuming query to a dedicated node and fetch page from another node to guarantee forward works as expected


Parameterize the build image hub organization name

Signed-off-by: jose-bigio<EMAIL_ADDRESS>Description
Parameterize the organization name for calico.

Release Note

None required

LGTM.
@caseydavenport do we want this to be a standard thing?  (Note this is against the release-v3.0 branch)
If we do want to standardize on that then I think we should make the change in the base Makefile (docs), in the master branch, and in the calico/node repo master branch.

Thanks for the review @tmjd to provide a little more context this would be desirable for something like s390x builds since the calico Docker hub repo currently doesn't have an s390x go-build image.
Nonetheless, it is possible to override the entire CALICO_BUILD variable as opposed to part of it, but this makes it less likely for custom builds to be aligned with what Project Calico is doing (or at least could involve more effort in aligning).
Another point is that the variable is:
$(BUILD_IMAGE_ORG)/go-build$(ARCHTAG):$(GO_BUILD_VER)

but in hub the naming seems something more like:
$(BUILD_IMAGE_ORG)/go-build:$(GO_BUILD_VER)$(ARCHTAG)

@caseydavenport  would it be okay if I changed this:
CALICO_BUILD?=$(BUILD_IMAGE_ORG)/go-build$(ARCHTAG):$(GO_BUILD_VER)

to
CALICO_BUILD?=$(BUILD_IMAGE_ORG)/go-build:$(GO_BUILD_VER)$(ARCHTAG)

(or any configuration that puts the architecture after the colon instead of before)
?
The current version indicates that there would be separate hub repos for go-build images for different architectures.

@fasaxc since you've been reviewing the multi-arch changes, do you have any thoughts or guidance here?

@jose-bigio i think the main thing that we need to maintain for release branches is that we don't change anything that's already working.  So, I'd be OK with having a special case for s390x if that is required in order to fix it up.  However, I wouldn't want to start changing the naming scheme for other arches since we'd have to retest them.
On master, we are working towards a standard naming convention of <image-name>:<tag>-<arch> in order to make it easier in future to ship a manifest image as <image-name>:<tag>.
s390x is the most problematic architecture for us to support in-team because we can't use qemu to cross-build images from amd64, which we can do for the other arches.
For this particular change, I think it's fine to parametrise the image org.  Only question in my mind is how we make sure this ends up in master too, otherwise we'll just regress it when we cut the next release branch.

@fasaxc I think minimizing the changes that go into a release branch makes sense. The naming change going into Master seem good!
As I mentioned before it is not too bad to work around this change.


Implement CAMERA_VISIBLE_LAYERS as built-in shader variable

Adds a built-in variable for shaders which exposes the cull mask of the camera rendering the current pass.

In this example, each camera has a different cull mask and the cube's shader outputs a different albedo for each.
Implements godotengine/godot-proposals#5563
Tested with render methods forward_plus, gl_compatibility, and mobile

uints should be used in place of ints. In my mind it is preferable to be consistent and use uint32_ts throughout instead of switching to ints when passing the data to the renderer. uints are supported in both GLSL 330 and 450 so using them should be fine in all shaders.

@clayjohn I originally made that decision because I thought godot's shader translation couldn't handle uints as I was getting errors, but I have discovered that it was just that uints have their own literal suffix, so all your suggested changes have been implemented. Thank you for the review!
An example shader now:
uint layers = CAMERA_VISIBLE_LAYERS;
if ((layers & 3u) == 3u) { // Both layers 1 and 2, render blue
	ALBEDO = vec3(0.0,0.0,1.0);
}
else if ((layers & 1u) == 1u) { // Only layer 1, render red
	ALBEDO = vec3(1.0,0.0,0.0);
}
else if ((layers & 2u) == 2u) { // Only layer 2, render green
	ALBEDO = vec3(0.0,1.0,0.0);
}

This looks ok to me.

Thanks! And congrats for your first merged Godot contribution :tada:


filter data for anchor element existing

Currently we do not filter the data returned from the triplestore for anchor elements existing in the keys. That results in key errors.

wrong repo


How to get actual API HTTP response code

Hey,
So we're using Geocoder.coordinates(...) with Google Maps to get lat/lon. I would like to be able to return HTTP response codes (e.g. 400, 429) so I can handle the exception properly. Is there a way to return the actual API response/code while still using Geocoder wrappers?
Thanks!!!!

Currently there is not a way. The results method in the lookups strips it out.  This would be a useful feature. A PR is most definitely welcomed :)

Direct access to the response codes are not currently available, but an effort has been made to raise exceptions reflecting the conditions that cause non-200 responses. Because we have to support a wide variety of APIs that return very inconsistent response codes, I'd prefer to implement more specific/helpful exceptions (where possible) than to provide access to response codes (ie, Geocoder should aim to do better at interpreting server responses than just providing access to the raw responses).
It seems to me that we should be able to come up with a set of exceptions that let the application know how to respond to every situation, eg:

400 => problem with request, retrying will not help (Geocoder::InvalidRequest)
408 => try same request again immediately (Geocoder::LookupTimeout)
429 => try same request again later (Geocoder::ServiceUnavailable)

However, I also recognize that some things may not be possible to do without response codes and am happy to discuss those things. What are you trying to achieve?

Thanks for the quick responses :+1:
The main thing I want to do is be able to pull out 429 responses so we can slow down our requests. Having access to others would be nice too, so we can print out nice error messages and debug. We're going to be handling 10k+ coordinate requests at a time, so pretty important to us that we can debug more easily if there's a problem


merge from arlac77/npm-package-template

package.json

chore(package<EMAIL_ADDRESS>chore(scripts): cover@#overwrite c8 -x 'tests/**/*.mjs' --temp-directory build/tmp ava && c8 report -r lcov -o build/coverage --temp-directory build/tmp
chore(package): add main from template
chore(package): set $.ava.require='esm' as in template
chore(package): set $.ava.files='tests/*-test.mjs' as in template
chore(package): set $.ava.extensions='mjs' as in template
chore(package): remove unknown value for main ({{main}})

Pull Request Test Coverage Report for Build 2173

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 96.509%

Totals

Change from base Build 2166:
0.0%

Covered Lines:
361

Relevant Lines:
375

💛  - Coveralls


Update baseline images after ghostscript update

Updating from 9.20 to 9.22 resulted in slight changes to the images.

Could not review pull request. It may be too large, or contain no reviewable changes.

Could not review pull request. It may be too large, or contain no reviewable changes.


#Issue-85 Fixes the order of the template list in settings.py

Hey Lily, sorry I don't have time to look through this - but based on your previous PRs, I'm sure it's fine :-)


Check if term exists before modifying

@nigelgbanks This seems to work. I needed to run with this PR for isle-dc and the tag set to the buildkit version that had the drush fixes, but once I used both of those I was able to get the drupal container to run.

@joshdentremont I minted a new release and updated the development branch. https://github.com/Islandora-Devops/isle-dc/pull/236


Saving new file crashes tab on VS Code Insiders on M1 Mac

VSCode Version: 1.53.0-insider for arm
OS Version: macOS Big Sur 11.1

Steps to Reproduce:

After pressing Command + N,  to open a blank new tab.
Saving the file using Command + S to any extension or location causes the tab to crash.

Does this issue occur when all extensions are disabled?: Yes

Can you please follow the steps in https://github.com/Microsoft/vscode/wiki/Native-Crash-Issues to get at more details around the crash and attach the result here? Thanks!

Can you please follow the steps in https://github.com/Microsoft/vscode/wiki/Native-Crash-Issues to get at more details around the crash and attach the result here? Thanks!

No .dmp file is been

Can you please follow the steps in https://github.com/Microsoft/vscode/wiki/Native-Crash-Issues to get at more details around the crash and attach the result here? Thanks!

I followed the steps , no dmp file is generated.

No .dmp file is been

Can you please follow the steps in https://github.com/Microsoft/vscode/wiki/Native-Crash-Issues to get at more details around the crash and attach the result here? Thanks!

I followed the steps , no dmp file is generated.

When you say it crashes "Tab", what does that mean? Can you record a screen recording?

When you say it crashes "Tab", what does that mean? Can you record a screen recording?

When you say it crashes "Tab", what does that mean? Can you record a screen recording?

After clicking save on the save dialog box, the tab simply closes by itself. Its only happening on the Insider builds.

When you say it crashes "Tab", what does that mean? Can you record a screen recording?

After clicking save on the save dialog box, the tab simply closes by itself. Its only happening on the Insider builds.

Screen Recording
https://user-images.githubusercontent.com/10292012/104543999-cb87fc00-55f4-11eb-975d-e253e1bb2eb7.mov

Screen Recording
https://user-images.githubusercontent.com/10292012/104543999-cb87fc00-55f4-11eb-975d-e253e1bb2eb7.mov

Yeah that looks like an issue to me, strange. To clarify: you tried this with all extensions disabled? Can you reproduce this on another machine without macOS ARM?

Yeah that looks like an issue to me, strange. To clarify: you tried this with all extensions disabled? Can you reproduce this on another machine without macOS ARM?

Oh nevermind, I can reproduce this too.

Oh nevermind, I can reproduce this too.

/verified

/verified


Add fuzz testing

[x] bool/uint
[x] int/Duration
[x] float32/64
[x] complex64/128
[ ] string
[x] Time
[x] big.Int/Float/Rat (prefix)
[x] pointer (prefix)
[x] array, ptr to array (prefix)
[x] slice (prefix)
[ ] []byte (prefix)
[x] map (prefix)
[ ] negate
[ ] terminate

Will not fuzz test these, because they depend on other Codecs in a simple way, and the fuzz tests are a bit difficult to construct:

complex64, complex128
Time
big.Int/Float/Rat
pointer
array, ptr to array

Will not fuzz test these, because fuzz testing does not support a varying number of fuzzed elements.

slice
map


Add features to allow users specify regular expression or Predicate for CORS allowed origins

Motivation:
Allow users to specify CORS allowed origins by regular expression or Predicate<String>
Modifications:
Users can specify allowed origins by using regular expression or Predicate<String> like below.
CorsDecorator
@CorsDecorator(
        originRegex = "http://example.*",
        allowedRequestMethods = HttpMethod.GET
)

CorsService's builderForOriginRegex or builder(Predicate<String> originPredicate)
  sb.service("/cors15", myService.decorate(
          CorsService.builderForOriginRegex("http://example.*")
                     .allowRequestMethods(HttpMethod.GET)
                     .newDecorator()));

  sb.service("/cors17", myService.decorate(
          CorsService.builder(origin -> origin.contains("example") || origin.contains("line"))
                     .allowRequestMethods(HttpMethod.GET)
                     .newDecorator()));

or per route
sb.annotatedService("/cors18", new Object() {
                        @Get("/index1")
                        public void index1() {}

                        @Post("/index2")
                        public void index2() {}

                        @Delete("/index3")
                        public void index3() {}
                    }, CorsService.builder()
                                  .andForOriginRegex("http://example.*")
                                  .route("/cors18/index1")
                                  .allowRequestMethods(HttpMethod.GET)
                                  .and()
                                  .andForOriginRegex(Pattern.compile(".*line.*"))
                                  .route("/cors18/index2")
                                  .allowRequestMethods(HttpMethod.POST)
                                  .and()
                                  .andForOrigin((origin) -> origin.contains("armeria"))
                                  .route("/cors18/index3")
                                  .allowRequestMethods(HttpMethod.DELETE)
                                  .and()
                                  .newDecorator()

WebSocketServiceBuilder's  allowedOrigins(Predicate<String> originPredicate>
 sb.route()
    .path("/chat")
    .build(WebSocketService.builder(new CustomWebSocketServiceHandler())
                           .allowedOrigins(origin -> origin.contains("armeria"))
                           .build());

Result:

Closes #https://github.com/line/armeria/issues/4963. (If this resolves the issue.)
Users can use regular expression or Predicate<String> to specify allowed origins

@minwoox What should happen when users specify WebSocket's allowed origins like below?
sb.route()
  .path("/chat")
  .build(WebSocketService.builder(new CustomWebSocketServiceHandler())
                         .allowedOrigins(origin -> origin.contains("armeria"))
                         .allowedOrigins("http://line.com")
                         .build());

Should we throw an exception that it's not possible to set allowedOrigins using Prediate<String> and Strings at the same time OR just use one of Predicate<String> or Strings to verify which origins are allowed?

I think we need to clear this question up before proceeding:

What should we use for the Access-Control-Allow-Origin header value when a user specified the allowed origins as a regular expression? Should it be * or is a user supposed to provide the header value?

If it's the former, is it OK to reject the request for non-matching origins even if we responded that we allow all (*) origins?
If it's the latter, is it OK not to list all allowed origins, given the regexes like http://[abc]{1000}.com can yield a very large list?

Oh, that's a great point. Let's clear below questions first.

If it's the former, is it OK to reject the request for non-matching origins even if we responded that we allow all (*) origins?

I think users might be confused in above situation because even though they received * for allowed origins, their requests are rejected.

If it's the latter, is it OK not to list all allowed origins, given the regexes like http://[abc]{1000}.com can yield a very large list?

Returning all or part of the allowed origins from regex matching might be too expensive. In this case(when using regex or predicate for allowed origins), what do you think of returning the origin from the request?
By the way, this PR's implementation will simply set Access-Control-Allow-Origin header with the Origin value from the request(when using regex or predicate for allowed origins).

By the way, this PR's implementation will simply set Access-Control-Allow-Origin header with the Origin value from the request.

Oops, you are already doing it correctly. Let me continue to review the PR. 😉

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.김선우 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Thank you @minwoox and @jrhee17 for reviewing my old PR.
I've applied the comments which are mainly of

Add requireNonNull
Use OR logic if allowedOrigins and allowedPredicate is both configured

After discussing with the team, we've decided to deprecate the CorsPolicy.origins() method. I'll push a patch for that. 😉 The patch also includes some other miscellaneous changes, so please take a look.

Please sign the CLA if you haven't already @seonwoo960000 🙇

@jrhee17 thanks for the review. Seems like I've already signed up the CLS as follows

@jrhee17 thanks for the review. Seems like I've already signed up the CLS as follows

https://github.com/line/armeria/pull/4982#issuecomment-2028105601
Can you try modifying the authoring email of your commits so that we can move forward with this PR?

@jrhee17, thank you for detailed explanation. I've fixed my authoring email address


List the roles that dOrg is currently hiring for

[ ] Review current roles in the organization
[ ] ....

Smart Contract Engineer (Solidity)
Web3 Integrations Engineer (React, Redux, ethers.js, web3.js)
UX/UI Designer (Figma)

Since this is recurring, idk if we should be closing/reopening the issue, or creating the issue each month

I like just making this a part of the recurring task to tweet when new builders join (#31 ). We will also have "Open Positions" as part of the website redesign.


Connect

connect() use tcp sockets to keep a connection open doesn't it?
My app's Chat is a secondary feature. Keeping a connection open is an unnecessary battery drain if only 1% of my users need realtime messaging/presence/etc.
My needs:

Open app
Connect
Check for new messages for all subscribed rooms
Disconnect
User navigates to 1:1 chat screen -> reconnect + utilize chatkit full functionality
User leaves 1:1 chat screen -> disconnect

You already have a Push Notification service. What if you were to integrate the two so that new message notifications would trigger a conect/fetch of the data and disconnect. A low-priority mode of sorts.

@nitrag Correct, it does keep a connection open.
Thanks for the feedback and providing a thorough description of your requirements. It's quite helpful. 😃
Integrating Push Notifications effectively with Chatkit is dependent on the read receipts/cursor feature we are currently implementing. Once cursors are implemented, we don't have much wiggle room in our roadmap to do the full integration with Push Notifications anytime soon (though we plan to in the mid-longterm). That said, we'd love your help if you might be interested in our Guest Writers Program. That way, we could help with any implementation questions/feedback/bugs and the writeup would help others too! What do you think?

If you're asking me to write a guide for iOS, I would consider.
You're Push Notifications response is too vague. When will this be available?
During some testing I think it would be easiest if there was a single api call (no sockets) to grab:

current user's latest chat rooms
each room object would have a timestamp of last message (for sorting)
last message content (and if sender was current user)
include user payloads so I can display names + avatars

This will allow me to display a list view of existing chats.

@nitrag We would love to have a guest writer write a guide for Chatkit/Pusher's Push Notification integration. If iOS is your preference, since we support Swift, that would be great!
Using Push Notifications with Chatkit is dependent on read receipts, which we are currently implementing and hope to release by end of the year. @hot-leaf-juice is working on that and can provide more detail if you have questions, as well as address the more technical bits of the API you mentioned.
In the next week or so, Pusher is releasing an update to our Push Notifications service. If you're interested in writing the aforementioned tutorial, or if you have questions on our Push Notifications service, please let us know. 😃


Fix Closing Running Game, still shows remote and local tabs

Fixing an issue with "Closing Running Game, still shows remote and local tabs".
To reproduce the error, just starting and game and use the "stop button" to close the game, the remote tree will not be disabled because the notifier will not be triggered.

Related to this issue: https://github.com/godotengine/godot/issues/47643

The change seems OK to me (though I'll let @Faless confirm who's more familiar with this code), but the commit message should be amended to give a human-readable description of what the commit does.
See https://github.com/godotengine/godot/blob/master/CONTRIBUTING.md#format-your-commit-messages-with-readability-in-mind

Changing the commit name.

Thanks!


Update mbsync to 1.4.3

The current version (1.3.3) doesn't have 'UserCmd':
/config/mbsync.rc:7: unknown/misplaced keyword 'UserCmd'

https://sourceforge.net/p/isync/isync/ci/03b15dbdd341375e2f3350bdfe0d957b64c4edde/

Thanks for the heads up. I will try to put out a new version very soon!

Released as 1.3.0.


conferences_relation_table: Add conference_literature table

INSPIR-2870

and all the reindexing of dependent records, but maybe that's a different story.

There is no indexing/reindexing stuff as there are no serializers yet.
There is nothing for migration as this is separate task: https://its.cern.ch/jira/browse/INSPIR-2867

Actually you are right about migration. I should add flags to disable this during migration.


Quasi-official Logstash Forwarder repository is AWOL

See: https://github.com/elasticsearch/logstash-forwarder/issues/184.
We might have to build logstash-forwarder from source, which apparently involves installing Go and then building the binary with go build.
I'm going to leave this open for now in hopes that someone will step up and offer a package-based install, though... it would be much more convenient.

There was no such thing as an "official repository" for the logstash-forwarder.

Updated the title; it was hosted on elasticsearch infrastructure, managed by elasticsearch... every indicator seemed to point to that being an officially-supported installation method (though not yet documented in the README).

And, this entire project was replaced by Filebeat (https://github.com/elastic/beats/tree/master/filebeat)... so closing out this issue.


Is it possible for the state not to contain functions?

Current router.components and router.routes contain functions.  This means that I can't serialize the state into JSON without getting a circular reference error.  Is it possible to make the state serializable, or can I just ignore these two properties and they will get rebuilt or something?

Also the @@reduxReactRouter/replaceRoutes action has a ReactElement as its payload

Try using serialize-javascript for serialization. This module allows serialization of functions and RegExp:s. Now, on the client side you can't use JSON.parse, but you can instead inline the serialized "json" in a <script>-tag

@PAkerstrand
but what if the serialized javascript is incompatible with client side? For example, i used to add:
<script>
window.__data = ${serialize(store.getState())}
</script>

To my html when rendering server-side but:

It can execute before webpack's bundle is loaded
It uses references to react (_react2['default']) which are incompatible with the rest of my code.

I would also like for actions to be serializable for an entirely different reason...persistence.  If I can JSON.stringify it, I can store it in PouchDB.

Im actually very interested in exploring ways we could remove react components and functions from the  store. Not only do people have issues with serialization but it also affects tools such as the redux-dev-tools extension.
As far as I can tell, including the children and routes in the store is useful only for replacing routes dynamically via a dispatch method, something which I believe react-router does not currently offer. I wonder if there is a way that we could either accomplish the same thing without needing to store the routes or default to not storing the routes and optionally allow users to enable route hot-swapping. Im guessing most users aren't using route hot-swapping and would prefer the default to be a bit more "pure."
Best case would be to accomplish the hot-swapping via another method but Im not sure its possible

Totally agree with that. Though I would argue we postpone work on this until after the next release, as it isn´t a major bug/issue.

I disagree that it isn't a major bug/issue. It makes it impossible for me to do proper server-sde rendering.

@hmeerlo unfortunately its quite difficult to store only "part" of the router state in redux. You esentially need the redux store to drive all of the router, or none of it at all.
react-router-redux (formerly redux-simple-router) goes the approach of only storing the location object which is always serializable. That approach comes with some caveats though, and has been the cause of a new revamped API proposal:
https://github.com/rackt/react-router-redux/pull/259
I did some playing with using React-Router 2's new render option but Im not sure its the most robust solution, See #232

I guess we can close this for now. react-router-redux is the way to go, if you want to serialize your state.


WaitFor(...): Resource startup sequencing with dependencies

The purpose of this issue is to bring together the various threads/issues/discussions about a new API that we want to add to the .NET Aspire AppHost/AppModel that allows developers to express startup dependencies between resources. The most recent spike/prototype of this feature was by @davidfowl here:
https://github.com/davidfowl/WaitForDependenciesAspire/blob/389f02daf2a3903924875c601dc300371aa99e27/WaitForDependencies.AppHost/Program.cs#L19
This issue is not a formal API proposal (we'll create one of those separately). But the high level of the API is this:
public class ResourceBuilderExtensions
{
+ public static IResourceBuilder<T> WaitFor<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> other) where T : IResource
}

This would create a new annotation in the app model which mechanisms like the ApplicationExecutor (internal) would honor (@davidfowl's prototype exploits environment callbacks so we would be shifting to something more explicit).
David's prototype also has a WaitForCompletion(...) method and we are also experimenting with WaitForText(...) APIs in some of our internal testing code which are also good candidates for inclusion in this overall feature.
Finally, we may want this feature to integrate in some way with health checks so that WaitFor(...) ... when health checks are present waits for the checks to become healthy before allowing the dependent resource to start up.

Note that this feature may not ship in 8.2 - work will be done in 8.2 but it probably won't be complete.

There may be some interaction between what we want to do here and #5234 (issue) #5223 (PR).

@mitchdenny I'm assuming this is not going to make it into 8.2 (meaning it is not blocking)

Not blocking. But we probably want this in for 8.2: https://github.com/dotnet/aspire/pull/5359

The milestone was updated to 9.0 - does that mean it's not going to make it into a LTS version of .NET until Q4 2025? Can we get a backport of the feature for .net 8.0? Many companies have a "LTS only" policy and this feature is a major blocker.

That is the current plan. As we got into this we realized that WaitFor(...) really needs to perform some kind of health check on the resource that was deployed to ensure that its actually available to handle traffic (not just that it merely started).
That means that we need to add health check mechanisms to all of our Aspire.Hosting.* packages which is a big step up in the dependency graph for hosting packages. Its probably not something we would want to rush into an 8.x release or even backport given the some of the churn that would involve.

Aspire 9.x is going to be compatible with .NET 8.

Principal feature work for this is now in. We have a few trailing issues:
#5469
#5557
#5558
#5569

This is done

The .WaitFor(...) dependicies will be available in Aspire .net 9 release?
thanks

Yes. You can read the 9.0 rc1 docs https://learn.microsoft.com/en-us/dotnet/aspire/whats-new/dotnet-aspire-9-release-candidate-1?tabs=windows&pivots=vscode#waiting-for-dependencies


Move redundancy framework to Shipyard

What would you like to be added:
Move the infra bits of redundancy E2E framework to Shipyard
Why is this needed:
Submariner E2E has redundancy tests. There are some framework bits that can be reused for similar redundancy tests in other projects like Lighthouse. e.g. Disconnect a cluster, connect a cluster etc. This will avoid duplication of infra framework code in multiple repos.

@vthapar Can you be more specific as to what framework bits to move to Shipyard? You mentioned "Disconnect a cluster, connect a cluster"  but I'm not sure what that refers to. In looking at the submariner Framework code, there's functions related to Gateways.

bump


Change flow when saving contacts

Changed the flow so when an existing contact is saved it still goes back to the contact detail screen but when adding new contact it goes go the company contact list.
Also added flash messages so the user knows why they are on the screen they are taken to.

It might be cleaner to rebase on develop rather than merge it into your branch.


Types for TS is not following standards, specifically DIDDoc

What

Give a brief description of the objective of this issue. What needs to be discussed?
The current produced types for TS is not following standards of the spec.
I just touched upon the DIDDoc type and that has false things such as:

    /**
     * DID for the given DID Doc
     */
    did: string,

This should be id - https://www.w3.org/TR/did-core/#did-document-properties
    /**
     * DID URLs of verification methods used for key agreement.
     * See https://www.w3.org/TR/did-core/#verification-methods.
     */
    key_agreements: Array<string>,

this should be keyAgreements - https://www.w3.org/TR/did-core/#did-document-properties
So I dont know how literal to the spec one should be, but the resolved documents will not be of proper attributes if these types are correct.
Why

Explain why you think this issue needs to be addressed and why it should be addressed in this repo.

Because the produced type is not correct to what a did doc should be if you want to work with other libraries.
Success Criteria

Explain what actions or decisions need to be completed to close this issue.

Using a task list here can be helpful to track progress.
Update the production of types to produce proper TS types

Anything else

Include links to any examples, research or code that support this issue.
I dont know how this works with a wasmbinding and the rust magic, but I assume it transpiles the attribute values in the rust code directly to these names. And then I can understand things become a bit wonky.
Maybe one can define in some config somewhere to transpile to the right attributes?

Before submitting:

Add appropriate labels for 'type:' and 'related to:'
Add an assignee if you want to direct this issue at a particular individual

Hi all, me and @yvgny  are planning to fix this issue. Please be patient, we will do it.

Great stuff! This is quite bad to use acctually becaues I have to write a "converter" if im going to follow your types.
And I assume your types are important as the data structure further down has to follow this structure.
So its great if the different types are updated to the standard, as did service attribute also seems out of date.

Hi @vongohren, the main branch is now updated with types aligned to the standards. Let me know if you still find any discrepancies. Once it's stabilized we can issue a new release of the lib too.


Security Issue: Heur.AdvML.B

One of the packages pty.js used in this package has a security issue that was flagged out by Symantec Endpoint Protection on my Windows system:
Category: Quarantine
Date & Time,Risk,Activity,Status,Recommended Action,Path - Filename
9/11/2016 4:54:36 PM,High,winpty-agent.exe (Heur.AdvML.B) detected by Auto-Protect,Quarantined,Resolved - No Action Required,c:\users\chrissng\.atom\packages\platformio-ide-terminal\node_modules\pty.js\build\release\winpty-agent.exe

Please retest again with platformio-atom-ide-terminal 2.9.0 is using node-pty-prebuilt instead unmaintained and outdated pty.js


private endpoint supported??

The article specifies that the traffic is to a public storage endpoint, and that traffic over VPN (and I assume private express route) is unsupported. With private link and private endpoint for storage services now available, can replication take place to the private endpoint over Express Route private peering?

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

ID: 43cb8e74-332e-d1c2-2ba4-eff91806de73
Version Independent ID: cb7300cf-6aed-1deb-d36d-fdd63955b6b4
Content: Physical server disaster recovery architecture in Azure Site Recovery - Azure Site Recovery
Content Source: articles/site-recovery/physical-azure-architecture.md
Service: site-recovery
GitHub Login: @rayne-wiselman
Microsoft Alias: raynew

#assign:davidsmatlak

I'll review the issue about whether replication supports private endpoints.

#in-progress

I submitted the fix for this issue and when it merges, this issue will automatically close.

Thanks for your question. Replication uses public endpoints and isn't supported over VPN or Azure ExpressRoute private peering. I updated the document so that information is more visible. The change will be live tomorrow.

This other Azure Site Recovery document specifies that "Azure Site Recovery allows you to use Azure Private Link private endpoints to replicate your on-premises machines". See below:
https://docs.microsoft.com/en-us/azure/site-recovery/hybrid-how-to-enable-replication-private-endpoints
Therefore, this document should be updated to clarify that replication over VPN is supported now as long as private endpoints are enabled.

@Harsha-CS you're listed as the author of the document. Please review the request to update the article.


Command + N does not open new window on Mac

Steps

Close all currently open Atom windows
Press command+n

Expected
A new window with a new file should open.
Observed
Nothing happens. You must first press command+shift+n to open a window before opening a new file. This is convoluted—everyone understands that command+n means "open a new window".

This is convoluted—everyone understands that command+n means "open a new window"

`cmd-n

Nothing. No window or file opens.

I think this is a duplicate of https://github.com/atom/atom/issues/7171, so I'm closing this in favor of that issue. @alexdmiller let me know if I misunderstood your report, and thanks for opening an issue.

Yes, that's the same. Thanks.
On Mon, Nov 23, 2015 at 10:48 AM, Ivan Žužak<EMAIL_ADDRESS>wrote:

I think this is a duplicate of #7171
https://github.com/atom/atom/issues/7171, so I'm closing this in favor
of that issue. @alexdmiller https://github.com/alexdmiller let me know
if I misunderstood your report, and thanks for opening an issue.
—
Reply to this email directly or view it on GitHub
https://github.com/atom/atom/issues/9765#issuecomment-159025229.


Fix Issue 20440 - Associative arrays of BigInt does not support require or get function

While this PR does fix the specific issue as described in the bug report, the underlying problem is in require(), as it will fail to compile for any type with an overloaded opAssign that doesn't return ref. D's own operator overloading page uses void return type, so we obviously cannot expect opAssign to return ref.
In short: the proposed changes to object.require() also need to be done.

I'll make the changes, but the new unittest is causing invariant to fail in BigUint.

I agree with @Biotronic:

The fix in PR 7312 only fixes this for BigInt specifically. If we are not going to require that opAssign return ref for every type, this should be fixed in druntime instead.
In other words: this is a bug in require(), not in BigInt.

As such I'm proposing as an alternative https://github.com/dlang/druntime/pull/2869

Closing for dlang/druntime#2869


Update Windows10SysPrepDebloater.ps1

you had one extra bracket on line 48, preventing it from running.

Thank you!


Implement control decorators

Performed some general cleanup of all the controls
Made ES6/7 code style the uniform standard throughout
Basic decorator implementation
Removed context-binding functionality from the controls and form in favour of using decorators

Coverage increased (+6.1%) to 96.923% when pulling 3486f760017f544d87f4c049c4356f19a7663f38 on feature/handlers into 1805d42ac686b8b9de78af2aba55dcd51677e2b4 on master.

Coverage increased (+6.1%) to 96.923% when pulling bb7da68e5a8d31c624d8320080b1b4da7598b0ce on feature/handlers into 1805d42ac686b8b9de78af2aba55dcd51677e2b4 on master.

Coverage increased (+6.1%) to 96.923% when pulling bb7da68e5a8d31c624d8320080b1b4da7598b0ce on feature/handlers into 1805d42ac686b8b9de78af2aba55dcd51677e2b4 on master.


ScanCode sends signal 9 - worker timeout

Hi,
I'm facing this issue a lot and it started to be reproduced every run ..
I have this conf in docker.env
POSTGRES_DB=scancodeio
POSTGRES_USER=scancodeio
POSTGRES_PASSWORD=scancodeio
POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=en_US.UTF-8 --lc-ctype=en_US.UTF-8
SCANCODEIO_DB_HOST=db
SCANCODEIO_REDIS_HOST=redis
SCANCODEIO_ASYNC=True
SCANCODEIO_WORKSPACE_LOCATION=/var/scancodeio/workspace/
SCANCODEIO_REST_API_PAGE_SIZE=5000
SCANCODEIO_PROCESSES=20
SCANCODE_TOOLKIT_CLI_OPTIONS=--timeout 300 --processes 20
SCANCODEIO_LOG_LEVEL=DEBUG
And these are the errors I get (from container logs)
scancodeio-web-1                  | [2023-03-22 08:27:38 +0000] [16] [CRITICAL] WORKER TIMEOUT (pid:19)
scancodeio-web-1                  | [2023-03-22 08:27:38 +0000] [16] [CRITICAL] WORKER TIMEOUT (pid:21)
scancodeio-web-1                  | [2023-03-22 08:27:38 +0000] [16] [CRITICAL] WORKER TIMEOUT (pid:23)
scancodeio-web-1                  | [2023-03-22 08:27:38 +0000] [16] [CRITICAL] WORKER TIMEOUT (pid:25)
scancodeio-web-1                  | [2023-03-22 08:27:38 +0000] [16] [CRITICAL] WORKER TIMEOUT (pid:27)
scancodeio-web-1                  | [2023-03-22 08:27:38 +0000] [16] [CRITICAL] WORKER TIMEOUT (pid:29)
scancodeio-web-1                  | [2023-03-22 08:27:38 +0000] [16] [CRITICAL] WORKER TIMEOUT (pid:31)
scancodeio-web-1                  | [2023-03-22 08:27:38 +0000] [16] [CRITICAL] WORKER TIMEOUT (pid:33)
scancodeio-web-1                  | [2023-03-22 08:27:38 +0000] [21] [INFO] Worker exiting (pid: 21)
scancodeio-web-1                  | [2023-03-22 08:27:38 +0000] [25] [INFO] Worker exiting (pid: 25)
scancodeio-web-1                  | [2023-03-22 08:27:38 +0000] [27] [INFO] Worker exiting (pid: 27)
scancodeio-web-1                  | [2023-03-22 08:27:38 +0000] [23] [INFO] Worker exiting (pid: 23)
scancodeio-web-1                  | [2023-03-22 08:27:38 +0000] [31] [INFO] Worker exiting (pid: 31)
scancodeio-web-1                  | [2023-03-22 08:27:38 +0000] [29] [INFO] Worker exiting (pid: 29)
scancodeio-web-1                  | [2023-03-22 08:27:38 +0000] [33] [INFO] Worker exiting (pid: 33)
scancodeio-web-1                  | [2023-03-22 08:27:38 +0000] [19] [INFO] Worker exiting (pid: 19)
scancodeio-web-1                  | [2023-03-22 08:27:40 +0000] [16] [WARNING] Worker with pid 21 was terminated due to signal 9
scancodeio-web-1                  | [2023-03-22 08:27:40 +0000] [16] [WARNING] Worker with pid 27 was terminated due to signal 9
scancodeio-web-1                  | [2023-03-22 08:27:40 +0000] [16] [WARNING] Worker with pid 23 was terminated due to signal 9
scancodeio-web-1                  | [2023-03-22 08:27:40 +0000] [16] [WARNING] Worker with pid 31 was terminated due to signal 9
scancodeio-web-1                  | [2023-03-22 08:27:40 +0000] [16] [WARNING] Worker with pid 29 was terminated due to signal 9
scancodeio-web-1                  | [2023-03-22 08:27:40 +0000] [16] [WARNING] Worker with pid 25 was terminated due to signal 9
scancodeio-web-1                  | [2023-03-22 08:27:40 +0000] [16] [WARNING] Worker with pid 33 was terminated due to signal 9
scancodeio-web-1                  | [2023-03-22 08:27:40 +0000] [35] [INFO] Booting worker with pid: 35
scancodeio-web-1                  | [2023-03-22 08:27:40 +0000] [37] [INFO] Booting worker with pid: 37
scancodeio-web-1                  | [2023-03-22 08:27:40 +0000] [16] [WARNING] Worker with pid 19 was terminated due to signal 9
scancodeio-web-1                  | [2023-03-22 08:27:40 +0000] [39] [INFO] Booting worker with pid: 39
scancodeio-web-1                  | [2023-03-22 08:27:40 +0000] [41] [INFO] Booting worker with pid: 41
scancodeio-web-1                  | [2023-03-22 08:27:40 +0000] [43] [INFO] Booting worker with pid: 43
scancodeio-web-1                  | [2023-03-22 08:27:40 +0000] [45] [INFO] Booting worker with pid: 45
scancodeio-web-1                  | [2023-03-22 08:27:40 +0000] [47] [INFO] Booting worker with pid: 47
scancodeio-web-1                  | [2023-03-22 08:27:40 +0000] [49] [INFO] Booting worker with pid: 49
Any help ?

@tdruez I got it .. I have 8 GB memory and 6 CPUs. I will try remove this 20 processes configuration and scan again.

@tdruez @AyanSinhaMahapatra
I re-installed scancode.io again including fresh install of the db .. all the app is new, I still getting this:
INFO scan_for_package_data 26.4% (50403/191231) completed pk=769006
INFO scan_for_package_data 26.4% (50404/191231) completed pk=769004
04:32:04 Sent heartbeat to prevent worker timeout. Next one should arrive within 90 seconds.
04:32:29 Moving job to FailedJobRegistry (work-horse terminated unexpectedly; waitpid returned 9)
04:32:29 Handling failed execution of job c6c19d9b-3db7-4fde-aec8-4e8fb6eb52d4
04:32:30 Sent heartbeat to prevent worker timeout. Next one should arrive within 480 seconds.
04:32:30 Sent heartbeat to prevent worker timeout. Next one should arrive within 480 seconds.
04:32:30 Cleaning registries for queue: default
INFO Synchronizing QUEUED and RUNNING Run with their related Jobs...
INFO 1 Run to synchronize:
INFO Job found as failed for RUNNING Run=c6c19d9b-3db7-4fde-aec8-4e8fb6eb52d4. Flagging this Run as FAILED.
04:32:32 *** Listening on default...

Have you tried disabling multiprocessing as suggested in https://github.com/nexB/scancode.io/issues/642#issuecomment-1480069331 ?

@tdruez
I removed all the scancode.io (including the db) and made fresh install and still getting the issue on mac.

@RabeeaEgbareia Have you tried disabling multiprocessing as suggested in https://github.com/nexB/scancode.io/issues/642#issuecomment-1484893149 ?
https://scancodeio.readthedocs.io/en/latest/scancodeio-settings.html#scancodeio-processes
SCANCODEIO_PROCESSES=-1

@tdruez
No. I installed the docker on linux instead of mac and it seems more stable (still failing but with low frequency)
I do not want to disable the multiprocessing, it will make the scan very slow, right ?

@tdruez
A general question:
Is there any difference between scanning files using scancode-toolkit directly with cli and scanning using scancode.io pipelines ? ( for license detection )

@RabeeaEgbareia The goal is to debug your issue at that point, thus my suggestion to test without multiprocessing to make sure this is not the source of the problem.


enhancement request

is there a feature like left/right padding? I don't like it if its pressed against a border
does your app gets features like one word bold / one italic? I dont know how its called but may you get what I mean

is there a feature like left/right padding? I don't like it if its pressed against a border
No, not yet. I might look forward to implement this function in the future.
does your app gets features like one word bold / one italic? I dont know how its called but may you get what I mean
I tried to implement this, and I did, but application wasn't able to save multiple font styles, so I didn't include it to stable releases. I might try to implement it again, but I hesitate if I will be able to do it.

aright thanks, take your time to make the right decisions and do not hesitate to try things again!
If you want this Feature in than do it!
or make an Plugin Menu (in the future) where you can put in plugins like Text Highlights / Bold, Italic Formats etc, so you have a "simple hackable lightweight" notepad <- was my idea.. but I can't code I suck at programming.

may some user gonna make some stuff for it later :p

I mean Notepad++ has something like this but I don't like the code highlighting and already implemented features.. and even the themeing.. yours is not advanced as ++ but I like your still a even more, keep it up.

Thank you for your advices/ideas, will see what I can do and what not. Feel free to create a new issue if you will find some bugs and/or you want to give me some fresh feature ideas. I appreciate your contribution into my project.


MGMT-13543: Add signature to detect address change after reboot

Add signature to detect address change for after reboot.  The signature scans the inventory, and then tries to detect if a leased DHCP allocated address was different from address discovered in the discovery phase.
/cc @filanov

/cc @osherdp


btf: take first entry on multiple btf validation

Thanks Jiri, I added an if guard in case and tried to silence some go lint warning maybe. If it is green I merge.


Enable Leak Detection in CI Pipeline

Motivation:
Address lack of ByteBuffer leak detection during development to prevent potential production issues.
Modifications:
Added leak detection feature to CI pipeline for automatic detection during testing.
Result:
Better CI
Resolves #241

LGTM
BTW, I prefer to have a newline at the end of text files

Let me add it :D


tests broken - generating unneeded closing input tag

not ok 11 should be equal
    operator: equal
    expected: '<input name="yes" type="checkbox">'
    actual:   '<input name="yes" type="checkbox"></input>'

Is that configurable? The previous behaviour is actually desirable for XHTML.


Make SASS or LESS optional

I noticed that Less (or sass) is a key part of what rekit considers as components.
Deleting a less file makes rekit (at least the app of the UI reflects that) to not recognize the component as a component anymore. This is problematic for people like me that does not use Less for most com
ponents, and depending on the project I don't use less at all and I totally rely on css-in-js solutions.
Would it be possible to make Less not so hard dependency? My project is full of empty Less files that I can not delete or rekit will stop seeing them as components.
Many thanks.

same question


Implement transaction components for SovereignRollup context

Summary
We have implemented ad-hoc transaction sending inside the Sovereign integration tests to submit transactions directly to the rollup. However, the implementation has not been wired to MessageSender to send messages as transactions, with proper nonce allocation.
This issue tracks the work for implementing the transaction components for the SovereignRollup context.

Closed by #233.


Ignore pattern stopped working well for python

Hi, one day I started to have troubles, I though I'm crazy, but I'm NOT!
It looks like for python web app there is problem with ignore pattern for "pycache" there was a lot of time situation where on web app was wrong script. This is probably why,... it loaded from pychace... (probably).
Any way, ignore pattern is not working, it takes pycache to zip file.

@nturinski   no idea what you are asking, pycache{/**} stopped working in every project just one day, but itself,... I have no idea how I find if there is something wrong...

In the settings.json that you provided, you have about 30 different folders that should be ignored by the zip file. I was asking if all of them are not working or if it's only the pycache one.

@nturinski The  ".git" and "env{,.**}" works, rest I don't have, settings.json is generated by plugin.  When I added .pyc, the app deploy was even smaller - if I remember right, it's long time I have written this bug. But what I know for sure I stopped to have problem with legacy code appearing on backend. After deploy I was unable to run app because there were error on lines event not existing in code....

Sounds good.
We deploy the zip file via a zipstream so that it will never take up memory in your local drive, but we can definitely enable an option to save the zip file to disk first so that users can inspect the zip file in case of issues like this.
Sidenote, but there is also a method to deploy zip files directly instead of having the extension zipping it for you.

@nturinski Lol nice thanks for hack, I'm definitely going to use this hack for some cases.


add related work that uses LAUG

Hello, first of all, thank you for providing various perturbed versions of LAUG!
I am the author of Know Thy Strengths: Comprehensive Dialogue State Tracking Diagnostics, Cho et al. EMNLP2022 Findings. LAUG has been an integral part of our work. I would like to add a section to the README here to link works that have used LAUG, including our paper.
Please let me know if you need anything else from my part to approve this pull request. Thank you!

@hualai-liujiexi could you help us get this PR approved?


Deletion of a resource is slow

It often takes a while to delete a resource (several seconds).
In case gallery view was scrolled immediately after deletion, crash can occur.

These logs could be related, but should be fixed after 56e01cbc32a79fd593e32b8c6fb7df5a8ad18fef:
http://<IP_ADDRESS>:8080/app/1/bug/160/report
These logs could be related: http://<IP_ADDRESS>:8080/app/1/bug/122/report
And these logs too: http://<IP_ADDRESS>:8080/app/1/bug/197/report/1d00905c-f784-4104-bca3-8d326f753263

Is it deliberate that deletion happens after long press?

@kirillt, Verification done using APK file of 21 Oct 2023 in Samsung Galaxy S10+ (Android Version 12) and following are the results:

Sometimes it crashes after long pressing delete button.
Sometimes screen starts blinking after long pressing delete button.