Installation problems on CentOS 6.7

Hi,
I have problems with the installation and would like to post to the list<EMAIL_ADDRESS>I have sent multiple messages to it, but I don't get a response.
Ole

librelist seems to have problems now and then (I recently moved another mailing list away from there due to that).
So, try again later, contact support there, or just create a ticket about it here.

Thank you for clarifying this, Thomas. So I will try here.
I have installed Attic on CentOS 6.7. CentOS requires Python 2.6 for its packet manager "yum". So I installed Python 3.4.3 with "make altinstall". Further I installed it as a shared library and put it in /usr/local/Python3/bin. Python 3.4.3 is on the path as python3 and python3.4. I took some of this advice from here:
http://stackoverflow.com/questions/8087184/installing-python3-on-rhel
Further, Selinux is off, libacl-devel is installed, OpenSSL is > 1.0, python-msgpack is installed via "pip3.4 install msgpack-python", and finally Attic via "pip3.4 install Attic".
Initially I had forgotten about libacl-devel and selinux. I might have done those after the installation of Attic.
Then Attic hung on the initialization of my first backup repo. I then ran the test suite by "python3 -m attic.testsuite.run", which gave me the below output.
Did I do something wrong? Is the coexistance of python (Python 2.6) and python3 (Python 3.4) on the path a problem for attic?
Some of the errors below are supposedly due to permission problems, but this makes no sense to me, as I run the test suite as root (in the temp dir, obviously). In particular:
PermissionError: [Errno 1] b'/tmp/tmp3ml_3ov1/input/link1'
The dir "/tmp/tmp3ml_3ov1" doesn't exist, but other similar ones are there.
Thanks for any ideas!
Ole
[root@backuper ole]# python3 -m attic.testsuite.run
...........EEE.....ss.....EE..EEE.Error reading segment 2
Index object count mismatch. 87 != 0
....ss......EE........................sKey file "/tmp/tmplt2gfk6i/tmp_tmpmnlwzgia" created.
Keep this file safe. Your data will be inaccessible without it.
..Remember your passphrase. Your data will be inaccessible without it.
.Encryption NOT enabled.
Use the "--encryption=passphrase|keyfile" to enable encryption.
...s....Error reading segment 1
Index object count mismatch. 6 != 3
Error reading segment 1
Index object count mismatch. 6 != 3
Error reading segment 1
attempting to recover /tmp/tmpllpnu5fj/repository/data/0/1
.....Error reading segment 0
Error reading segment 0
Error reading segment 0
attempting to recover /tmp/tmp3t4ltrwa/repository/data/0/0
Adding commit tag to segment 0
..........Error reading segment 1
Index object count mismatch. 6 != 3
Error reading segment 1
Index object count mismatch. 6 != 3
Error reading segment 1
attempting to recover /tmp/tmp8sfnusbq/repository/data/0/1
.....Error reading segment 0
Error reading segment 0
Error reading segment 0
attempting to recover /tmp/tmpyc3nm4pp/repository/data/0/0
Adding commit tag to segment 0
..............
ERROR: test_aes_counter_uniqueness_keyfile (attic.testsuite.archiver.ArchiverTestCase)
Traceback (most recent call last):
File "/usr/local/Python3/lib/python3.4/site-packages/attic/testsuite/archiver.py", line 435, in test_aes_counter_uniqueness_keyfile
self.verify_aes_counter_uniqueness('keyfile')
File "/usr/local/Python3/lib/python3.4/site-packages/attic/testsuite/archiver.py", line 422, in verify_aes_counter_uniqueness
self.create_test_files()
File "/usr/local/Python3/lib/python3.4/site-packages/attic/testsuite/archiver.py", line 165, in create_test_files
xattr.setxattr(os.path.join(self.input_path, 'link1'), 'user.foo_symlink', b'bar_symlink', follow_symlinks=False)
File "/usr/local/Python3/lib/python3.4/site-packages/attic/xattr.py", line 101, in setxattr
_check(func(path, name, value, len(value) if value else 0, 0), path)
File "/usr/local/Python3/lib/python3.4/site-packages/attic/xattr.py", line 36, in _check
raise OSError(get_errno(), path)
PermissionError: [Errno 1] b'/tmp/tmp2hlwh3ja/input/link1'
======================================================================
ERROR: test_aes_counter_uniqueness_passphrase (attic.testsuite.archiver.ArchiverTestCase)
Traceback (most recent call last):
File "/usr/local/Python3/lib/python3.4/site-packages/attic/testsuite/archiver.py", line 438, in test_aes_counter_uniqueness_passphrase
self.verify_aes_counter_uniqueness('passphrase')
File "/usr/local/Python3/lib/python3.4/site-packages/attic/testsuite/archiver.py", line 422, in verify_aes_counter_uniqueness
self.create_test_files()
File "/usr/local/Python3/lib/python3.4/site-packages/attic/testsuite/archiver.py", line 165, in create_test_files
xattr.setxattr(os.path.join(self.input_path, 'link1'), 'user.foo_symlink', b'bar_symlink', follow_symlinks=False)
File "/usr/local/Python3/lib/python3.4/site-packages/attic/xattr.py", line 101, in setxattr
_check(func(path, name, value, len(value) if value else 0, 0), path)
File "/usr/local/Python3/lib/python3.4/site-packages/attic/xattr.py", line 36, in _check
raise OSError(get_errno(), path)
PermissionError: [Errno 1] b'/tmp/tmp125a_5wt/input/link1'
======================================================================
ERROR: test_basic_functionality (attic.testsuite.archiver.ArchiverTestCase)
Traceback (most recent call last):
File "/usr/local/Python3/lib/python3.4/site-packages/attic/testsuite/archiver.py", line 172, in test_basic_functionality
self.create_test_files()
File "/usr/local/Python3/lib/python3.4/site-packages/attic/testsuite/archiver.py", line 165, in create_test_files
xattr.setxattr(os.path.join(self.input_path, 'link1'), 'user.foo_symlink', b'bar_symlink', follow_symlinks=False)
File "/usr/local/Python3/lib/python3.4/site-packages/attic/xattr.py", line 101, in setxattr
_check(func(path, name, value, len(value) if value else 0, 0), path)
File "/usr/local/Python3/lib/python3.4/site-packages/attic/xattr.py", line 36, in _check
raise OSError(get_errno(), path)
PermissionError: [Errno 1] b'/tmp/tmp0x7tqa35/input/link1'
======================================================================
ERROR: test_repository_swap_detection (attic.testsuite.archiver.ArchiverTestCase)
Traceback (most recent call last):
File "/usr/local/Python3/lib/python3.4/site-packages/attic/testsuite/archiver.py", line 202, in test_repository_swap_detection
self.create_test_files()
File "/usr/local/Python3/lib/python3.4/site-packages/attic/testsuite/archiver.py", line 165, in create_test_files
xattr.setxattr(os.path.join(self.input_path, 'link1'), 'user.foo_symlink', b'bar_symlink', follow_symlinks=False)
File "/usr/local/Python3/lib/python3.4/site-packages/attic/xattr.py", line 101, in setxattr
_check(func(path, name, value, len(value) if value else 0, 0), path)
File "/usr/local/Python3/lib/python3.4/site-packages/attic/xattr.py", line 36, in _check
raise OSError(get_errno(), path)
PermissionError: [Errno 1] b'/tmp/tmpe1f8m7bp/input/link1'
======================================================================
ERROR: test_repository_swap_detection2 (attic.testsuite.archiver.ArchiverTestCase)
Traceback (most recent call last):
File "/usr/local/Python3/lib/python3.4/site-packages/attic/testsuite/archiver.py", line 214, in test_repository_swap_detection2
self.create_test_files()
File "/usr/local/Python3/lib/python3.4/site-packages/attic/testsuite/archiver.py", line 165, in create_test_files
xattr.setxattr(os.path.join(self.input_path, 'link1'), 'user.foo_symlink', b'bar_symlink', follow_symlinks=False)
File "/usr/local/Python3/lib/python3.4/site-packages/attic/xattr.py", line 101, in setxattr
_check(func(path, name, value, len(value) if value else 0, 0), path)
File "/usr/local/Python3/lib/python3.4/site-packages/attic/xattr.py", line 36, in _check
raise OSError(get_errno(), path)
PermissionError: [Errno 1] b'/tmp/tmp52df34rs/input/link1'
======================================================================
ERROR: test_aes_counter_uniqueness_keyfile (attic.testsuite.archiver.RemoteArchiverTestCase)
Traceback (most recent call last):
File "/usr/local/Python3/lib/python3.4/site-packages/attic/testsuite/archiver.py", line 435, in test_aes_counter_uniqueness_keyfile
self.verify_aes_counter_uniqueness('keyfile')
File "/usr/local/Python3/lib/python3.4/site-packages/attic/testsuite/archiver.py", line 422, in verify_aes_counter_uniqueness
self.create_test_files()
File "/usr/local/Python3/lib/python3.4/site-packages/attic/testsuite/archiver.py", line 165, in create_test_files
xattr.setxattr(os.path.join(self.input_path, 'link1'), 'user.foo_symlink', b'bar_symlink', follow_symlinks=False)
File "/usr/local/Python3/lib/python3.4/site-packages/attic/xattr.py", line 101, in setxattr
_check(func(path, name, value, len(value) if value else 0, 0), path)
File "/usr/local/Python3/lib/python3.4/site-packages/attic/xattr.py", line 36, in _check
raise OSError(get_errno(), path)
PermissionError: [Errno 1] b'/tmp/tmp0zfss0ve/input/link1'
======================================================================
ERROR: test_aes_counter_uniqueness_passphrase (attic.testsuite.archiver.RemoteArchiverTestCase)
Traceback (most recent call last):
File "/usr/local/Python3/lib/python3.4/site-packages/attic/testsuite/archiver.py", line 438, in test_aes_counter_uniqueness_passphrase
self.verify_aes_counter_uniqueness('passphrase')
File "/usr/local/Python3/lib/python3.4/site-packages/attic/testsuite/archiver.py", line 422, in verify_aes_counter_uniqueness
self.create_test_files()
File "/usr/local/Python3/lib/python3.4/site-packages/attic/testsuite/archiver.py", line 165, in create_test_files
xattr.setxattr(os.path.join(self.input_path, 'link1'), 'user.foo_symlink', b'bar_symlink', follow_symlinks=False)
File "/usr/local/Python3/lib/python3.4/site-packages/attic/xattr.py", line 101, in setxattr
_check(func(path, name, value, len(value) if value else 0, 0), path)
File "/usr/local/Python3/lib/python3.4/site-packages/attic/xattr.py", line 36, in _check
raise OSError(get_errno(), path)
PermissionError: [Errno 1] b'/tmp/tmpx4aq34j5/input/link1'
======================================================================
ERROR: test_basic_functionality (attic.testsuite.archiver.RemoteArchiverTestCase)
Traceback (most recent call last):
File "/usr/local/Python3/lib/python3.4/site-packages/attic/testsuite/archiver.py", line 172, in test_basic_functionality
self.create_test_files()
File "/usr/local/Python3/lib/python3.4/site-packages/attic/testsuite/archiver.py", line 165, in create_test_files
xattr.setxattr(os.path.join(self.input_path, 'link1'), 'user.foo_symlink', b'bar_symlink', follow_symlinks=False)
File "/usr/local/Python3/lib/python3.4/site-packages/attic/xattr.py", line 101, in setxattr
_check(func(path, name, value, len(value) if value else 0, 0), path)
File "/usr/local/Python3/lib/python3.4/site-packages/attic/xattr.py", line 36, in _check
raise OSError(get_errno(), path)
PermissionError: [Errno 1] b'/tmp/tmp7m7dpqc1/input/link1'
======================================================================
ERROR: test_repository_swap_detection (attic.testsuite.archiver.RemoteArchiverTestCase)
Traceback (most recent call last):
File "/usr/local/Python3/lib/python3.4/site-packages/attic/testsuite/archiver.py", line 202, in test_repository_swap_detection
self.create_test_files()
File "/usr/local/Python3/lib/python3.4/site-packages/attic/testsuite/archiver.py", line 165, in create_test_files
xattr.setxattr(os.path.join(self.input_path, 'link1'), 'user.foo_symlink', b'bar_symlink', follow_symlinks=False)
File "/usr/local/Python3/lib/python3.4/site-packages/attic/xattr.py", line 101, in setxattr
_check(func(path, name, value, len(value) if value else 0, 0), path)
File "/usr/local/Python3/lib/python3.4/site-packages/attic/xattr.py", line 36, in _check
raise OSError(get_errno(), path)
PermissionError: [Errno 1] b'/tmp/tmpur53mpbb/input/link1'
======================================================================
ERROR: test_repository_swap_detection2 (attic.testsuite.archiver.RemoteArchiverTestCase)
Traceback (most recent call last):
File "/usr/local/Python3/lib/python3.4/site-packages/attic/testsuite/archiver.py", line 214, in test_repository_swap_detection2
self.create_test_files()
File "/usr/local/Python3/lib/python3.4/site-packages/attic/testsuite/archiver.py", line 165, in create_test_files
xattr.setxattr(os.path.join(self.input_path, 'link1'), 'user.foo_symlink', b'bar_symlink', follow_symlinks=False)
File "/usr/local/Python3/lib/python3.4/site-packages/attic/xattr.py", line 101, in setxattr
_check(func(path, name, value, len(value) if value else 0, 0), path)
File "/usr/local/Python3/lib/python3.4/site-packages/attic/xattr.py", line 36, in _check
raise OSError(get_errno(), path)
PermissionError: [Errno 1] b'/tmp/tmp3ml_3ov1/input/link1'

Ran 118 tests in 27.728s
FAILED (errors=10, skipped=6)

Found this:
https://github.com/jborg/attic/issues/201
The init is working now, was on a cifs mount.

The tests should be run with fakeroot -u. Not sure if that has to do with your issue though.
It is no problem to have both python 2.x and 3.x installed, you just need to use python 3.x for attic.

With fakeroot, it takes much longer, but the result seems to be the same. Very similar to what Whissi posted two weeks ago. Makes me worry, honestly.

use python 3.x for attic

This should be ensured by "pip3.4 install attic", right? The "attic" executable resides in "/usr/local/Python3/bin/".

All detailed error reports seem to be related to the "xattr.py". Another dependency missing?

I assume you have libxattr and -dev?

[root@backuper ole]# yum list installed | grep attr
attr.x86_64             2.4.44-7.el6    @anaconda-CentOS-201508042137.x86_64/6.7
libattr.x86_64          2.4.44-7.el6    @anaconda-CentOS-201508042137.x86_64/6.7
libattr-devel.x86_64    2.4.44-7.el6    @base

I would like to ask the following questions:
Which tests are failing exactly, what do they do?
Is this critical, and in what way?
What might be the reason?
What can I do?
My first backup attempt over night finally "failed", although it seems that a lot of data was backuped:
"attic: Exiting with failure status due to previous errors"
Does it have to do with the failed tests?

And why is it so slow? Ok, that might have many reasons, but 16 GB took about 45 minutes. I intend to backup multiple TB of data. That's probably not working in the long run.

Tests: it seems like they can not set extended attributes (xattrs) on the files in /tmp. Maybe this is because your /tmp filesystem does not support xattrs or is mounted without enabling that support.
It is not the test itself failing, but the test setup.
"attic: Exiting with failure status due to previous errors" is a warning, you have to read the log output above that to see what exactly did not work. Likely it could not access some file(s) due to permissions or so. That is often not a fatal error, your backup has reached its normal end.

Aside from all hardware, setup and data related factors, some of the slowness may be caused by attic's usage of zlib compression at level 6, by encryption (if you do not have hw accelerated AES) and by internal scheduling. The first two can slow down if your CPU is relatively slow and/or old.

Thanks for your help, Thomas!
@xattrs: that's what I thought first. But the respective dirs in /tmp don't even exist - probably DUE to the failed tests. Also, I tested for xattr support following this procedure:
https://wiki.samba.org/index.php/Operating_system_requirements/File_system_support#Testing_your_filesystem
No problems here.
@the log file: where do I find it? The output in the console is cut to several hundreds (?) of lines. No errors there as far as I can see.

Well, it seems rather clear after analyzing the traceback that there are xattr problems, because the setxattr call in the test setup fails all the time. So, did you check xattr support inside /tmp/?
About the log: redirect stdout and stderr to files so you are not limited by the scrollback buffer. The warning/error msg will be in there then.

Yes, just checked it again.
And again: the setxattr must fail on files and folders that aren't present. Right?
@Logs: I will do that.

You should test whether setting xattrs on existing files works.
Of course the tests clean up their test files after running, that's why you do not see them existing afterwards.

This is the output of the test for working xattrs according to the Samba wiki page I quoted above.

And: only the faild tests clean-up their files and folders? Because there are a lot of tmp... folders in /tmp:
drwx------.  3 root root     4096 Nov 25 16:59 tmp072yfnc5
drwx------   3 root root     4096 Nov 25 19:31 tmp0nm7p64u
-rw-------   1 root root        0 Nov 25 18:20 tmp262xfzi5
drwx------   2 ole  ole      4096 Nov 25 18:56 tmp2_cnwz2d
drwx------   2 root root     4096 Nov 25 19:31 tmp2vre6xyg
drwx------   2 root root     4096 Nov 25 17:08 tmp_4fo1tks
drwx------   3 root root     4096 Nov 25 18:14 tmp6suxymd0
drwx------   3 root root     4096 Nov 25 17:05 tmp781unq5_
drwx------   3 root root     4096 Nov 25 17:08 tmp8pum50n3
-rw-------   1 ole  ole         0 Nov 25 19:11 tmp96x_sw0m
drwx------.  2 root root     4096 Nov 25 16:59 tmpagsc7y8d
drwx------   2 root root     4096 Nov 25 18:21 tmpcpkj4svc
-rw-------   1 root root        0 Nov 25 17:04 tmpg5586lhr
-rw-------   1 root root        0 Nov 25 17:08 tmphp7ohcws
drwx------   2 root root     4096 Nov 25 17:05 tmphu3bnjqi
drwx------   3 ole  ole      4096 Nov 25 18:56 tmpigk28jy4
drwx------   2 ole  ole      4096 Nov 25 19:12 tmpluke3721
-rw-------   1 root root        0 Nov 25 18:14 tmpmnlwzgia
drwx------.  3 root root     4096 Nov 25 16:49 tmpq1_xoc1s
-rw-------.  1 root root        0 Nov 25 16:49 tmpqva6ej30
-rw-------   1 root root        0 Nov 25 19:30 tmps7e926cm
drwx------   2 root root     4096 Nov 25 18:14 tmpsx2t2bkj
drwx------   3 root root     4096 Nov 25 18:21 tmpu3x99ax9
-rw-------.  1 root root        0 Nov 25 16:58 tmpv3_ykfjj
drwx------.  2 root root     4096 Nov 25 16:49 tmpvtq0aco4
-rw-------   1 ole  ole         0 Nov 25 18:55 tmpyv3u853s
drwx------   3 ole  ole      4096 Nov 25 19:12 tmpyvypfzgi

Thank you also for your explanations and tips regarding speed.
Attic currently runs on a VM (qemu-kvm) with 2 cores of a Xeon E5-2620 v2 @ 2.10GHz, 2 GB RAM, and a separate physical network inferface.
HW accelerated AES is out of the question, I guess, but encryption is not selected, if I remember the Attic init correctly. What do you mean by the internal scheduler?
However, currently I backup from a Samba share on the host machine, and to a Samba share on a NAS. So this might contribute to the slowness. On the other hand, doing the same on a Windows machine (having backup source and target on Samba shares from different machines), I achieve a sufficient throughput of ~60 MB/s (on a GB network). So the network architecture shouldn't be much of an issue.
Anyways, I plan to migrate the Attic installation to the host system (file server hosting the zfs pool being backuped) once everything is ok (initlaly was concerned about the alternative python3 installation).

Internal scheduling: attic is single threaded. reading, processing, writing, syncing is done in-order.
Thus, I/O and I/O wait times are not used otherwise, no parallel processing. Maybe this is not the main cause of slowness for some people (see other factors), but if everything else is fast, this is a limiting factor.

Ok, will see more when attic runs directly on the file server.
Any more ideas regarding the failed test setup?

You should really keep separate topics in separate issues, but about the speed:  are you mounting a remote file system locally and then backing up to or from it?  If so, that's almost certainly your problem.  To be efficient, you need two copies of attic running, one as close as possible to the source files and one as close as possible to the backup location.

You are totally right, I am sorry. I wasn't paying attention to that as not posting to the mailing list made me feel already out of place.
---------- SPEED DISCUSSION CLOSED ----------
So, how do I find out whether the failing tests pose any thread to my intended use of attic? And I don't actually mean some trial-and-error approach.

Ok, looks better now. Here is my new test output ("Ok", 8 tests skipped, due to encription not enabled? but with actual root rights, it is only 6 skipped):
[ole@backuper ~]$ fakeroot python3 -m attic.testsuite.run
...................ss.............Error reading segment 2
Index object count mismatch. 87 != 0
....ss................................sKey file "/tmp/tmpd90ckw_j/tmp_tmpzrrbsr4q" created.
Keep this file safe. Your data will be inaccessible without it.
..Remember your passphrase. Your data will be inaccessible without it.
.Encryption NOT enabled.
Use the "--encryption=passphrase|keyfile" to enable encryption.
...sss..Error reading segment 1
Index object count mismatch. 6 != 3
Error reading segment 1
Index object count mismatch. 6 != 3
Error reading segment 1
attempting to recover /tmp/tmpby8gc0xk/repository/data/0/1
.....Error reading segment 0
Error reading segment 0
Error reading segment 0
attempting to recover /tmp/tmpgavmpuuu/repository/data/0/0
Adding commit tag to segment 0
..........Error reading segment 1
Index object count mismatch. 6 != 3
Error reading segment 1
Index object count mismatch. 6 != 3
Error reading segment 1
attempting to recover /tmp/tmp5ansxv5w/repository/data/0/1
.....Error reading segment 0
Error reading segment 0
Error reading segment 0
attempting to recover /tmp/tmpnuj33p4u/repository/data/0/0
Adding commit tag to segment 0
..............
Ran 118 tests in 157.289s
OK (skipped=8)

Thomas, as you are responding here and not the original developer of attic (you are talking about your fork), would you say that attic isn't actively developed at the moment?

. are passed tests, E are failed tests and s are skipped tests. The output regarding "Error reading segment" shouldn't be a problem because theses tests are testing recovering from errors (="attempting to recover" succeed).
@otraupe: Read https://github.com/jborg/attic/issues/217. Compare commit log between https://github.com/jborg/attic/commits/master and https://github.com/borgbackup/borg/commits/master
Now decide on your own which project you would call more active.

I see, thank you!
Ole
Am 30.11.2015 um 14:22 schrieb Thomas D.:

|.| are passed tests, |E| are failed tests and |s| are skipped tests.
The output regarding "Error reading segment" shouldn't be a problem
because theses tests are testing recovering from errors (="attempting
to recover" succeed).
@otraupe https://github.com/otraupe: Read #217
https://github.com/jborg/attic/issues/217. Compare commit log
between https://github.com/jborg/attic/commits/master and
https://github.com/borgbackup/borg/commits/master
Now decide on your own which project you would call more active.
—
Reply to this email directly or view it on GitHub
https://github.com/jborg/attic/issues/364#issuecomment-160625536.

If you use anaconda I've packaged attic 0.16 at https://anaconda.org/unode/attic.
Also had problems setting it up due to a broken compilation toolkit. Packaging via anaconda solved it for me.


get_live_proposals & get_user_voted

Functions needed for Governance FE

@DaveVodrazka Please rebase on top of current master, then trigger CI, if it passes, we can merge

@tensojka should be ok 👍


Fix v3 can not find entry in mix mode.

What problem does this PR solve?
Issue Number: close #5000
Problem Summary:

In mix mode, StoragePool will generate a mix_mode_snapshot that contains a V2 snapshot and a V3 snapshot.
If the caller wants to find an entry in V2 with mix_mode_snapshot, but that id is deleted in V3. Then it will failed.
example:

already exists page 1 in V2.
thread a: create a mix_mode_snapshot.
thread b: del 1
thread a: using mix_mode_snapshot to query p1 <-- it will be an error because v3 will find a deleted entry and throw an exception.

What is changed and how it works?

Allow not throw, if find a deleted page in V3.
Then if we do find a deleted page in V3, PageWriter will find the page in V2 with a V2 snapshot.

Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/run-all-tests

/merge


Fix: Cannot return null for non-nullable field Webhook.name.

I want to merge this change because
It closes #12989
Impact

[ ] New migrations
[ ] New/Updated API fields or mutations
[ ] Deprecated API fields or mutations
[ ] Removed API types, fields, or mutations
[ ] Documentation needs to be updated

Pull Request Checklist

[ ] Privileged queries and mutations are either absent or guarded by proper permission checks
[ ] Database queries are optimized and the number of queries is constant
[ ] Database migrations are either absent or optimized for zero downtime
[ ] The changes are covered by test cases

 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.

@cyborg7898 Please generate a new GraphQL schema using npm run build-schema and add it to the PR.

@fowczarek I've added the test case but unfortunately I'm unable to test the test cases. Getting error like  django.db.utils.ProgrammingError: function gen_random_uuid() does not exist even  gen_random_uuid() is returning uuid in postgres command line. Also tried in psql CREATE EXTENSION pgcrypto; but showing already exist.
Please let me know if test case is breaking. Thanks!

@fowczarek Just tested the above test case it's working fine.

Thanks and congrats on first PR to Saleor @cyborg7898 🎉


Porting Parallel processing using Dask notebook to dea-notebooks

Proposed changes
This PR brings across the Parallel processing using Dask from DEAfrica Notebooks to DEA Notebooks (see #533). I've also updated any of our existing notebooks that tag Dask and added links in them that point to the new notebook.
Checklist (replace [ ] with [x] to check off)

[X] Notebook created using the DEA-notebooks template
[X] Remove any unused Python packages from Load packages
[X] Remove any unused/empty code cells
[X] Remove any guidance cells (e.g. General advice)
[X] Ensure that all code cells follow the PEP8 standard for code. The jupyterlab_code_formatter tool can be used to format code cells to a consistent style: select each code cell, then click Edit and then one of the Apply X Formatter options (YAPF or Black are recommended).
[X] Include relevant tags in the final notebook cell (refer to the DEA Tags Index, and re-use tags if possible)
[X] Clear all outputs, run notebook from start to finish, and save the notebook in the state where all cells have been sequentially evaluated
[x] Test notebook on both the NCI and DEA Sandbox (flag if not working as part of PR and ask for help to solve if needed)
[x] If applicable, update the Notebook currently compatible with the NCI|DEA Sandbox environment only line below the notebook title to reflect the environments the notebook is compatible with

@cbur24 @caitlinadams I just need to quickly test this on the NCI tomorrow after Gadi comes back online, but other than that it should be good to go

Confirmed that this works correctly on the NCI 👍


Bad display of breadcrumbs in Chrome 83

What is the display that we expect for the breadcrumbs?
See issue
https://github.com/wet-boew/wet-boew/issues/8875


New paper: PolyViT

Detailed Description
https://arxiv.org/abs/2111.12993
Seems similar to Perceiver, and they mention Perceiver as a related model, but their training is a bit different.
But it is still a multi modal model that could also be a good one to try
Context

Possible Implementation

Very cool! Lots of interesting details about training.
The very last sentence of the paper confuses me though:

We also do not currently fuse multiple modalities together (ie video and audio) to make a better
prediction, and aim to do so in future.

Yeah, I mostly skimmed it to be honest, but it seemed like they had one network they trained on multiple tasks with various inputs, but it does each of those separately, vs Perceiver doing it all together


feat(hot-reload): add support for hot-reloading

This adds support for hot-reloading css when using systemjs-hot-reloader in the browser. It forces the link tags to update by adding a query parameter to the source url. For back-compatibility when the link tag is first created it is assigned the url without a query parameter.
For an example setup see here, feedback welcome, thanks

Amazing thanks!
Does this line - https://github.com/systemjs/plugin-css/pull/73/files#diff-2b85e238ffb3010183809ed616d824bfR85 not interfere with the re-injection here? It should?

There's a feature of this plugin that if a user has manually included the CSS file with a link tag, we don't do the injection. This was mainly to support use cases where Bootstrap users wanted to be able to include bootstrap with a link tag and then be sure a CSS require wouldn't double-up the CSS load.

I will do some testing around this feature - do we want the hot-reloader to completely ignore these files or to only reload them the second time around?

For the CSS plugin to take ownership of future hot-reloads of those files sounds like a nice feature to me. Thanks so much for looking into this. Feel free to ping me on gitter as well if you want to discuss anything more here too.

This pull request is possibly out-of-date(?)
I was able to get css hot reloading with systemjs-hot-reloader:
`var pathTransform = function(filename){
//transform hot reload filesystem event path to url path
var out = filename.replace(/../somePath//, '');
return out;
};
var hr = new HotReloader.default('http://localhost:9999', pathTransform);
hr.on('change', (file) => {
System.normalize(file)
.then(function(url){
if (url.substr(url.length - 7, 7) == '.css.js')
{
var cssUrl = url.substr(0, url.length - 3);
		System.import('css')
		.then(function(cssPlugin) {
			cssPlugin.fetch({address:cssUrl});
		});
	}
});

});`

@shovemedia this looks brilliant.

@shovemedia can you please say, where i have to put this code?

@divramod I've since abandoned this approach for webpack (sorry!) but this was in my top-level main.js wrapped in some simple logic to only be enabled when in development / debugging mode:
	if (typeof SystemJS !== 'undefined' && location.origin.match(/localhost/)) { 		SystemJS.trace = true; 		SystemJS.import('systemjs-hot-reloader').then(function(HotReloader){ //code snippet above                 }         }

@shovemedia thx for the fast reply and the tipp where to place it.
can you please send me an example/github-link/plunker where you got the css reloading running?
the css isn't refreshing for me, although the event is triggered.


github actions: use ovirt standard rpm upload action, add el9 job

Use the ovirt standardized artifact building action to generate the standard rpm repo as needed and used by other tooling.
See: https://github.com/oVirt/upload-rpms-action

Add an offline build for el9 using the centos:stream9 container

The job will run in the container centos:stream9.

The container needs to be setup a bit differently than
the centos:stream8 container.

Due to a change in nodejs packaged with centos-stream-9 with
respect to what openssl is linked, the project will require
upgrading webpack to ^5.61.0 before the build will work.  This
includes the nodejs 16.10.0 version used by default on stream-9.
See https://github.com/webpack/webpack/issues/14532 for details.

Because a webpack 5 upgrade is required for the el9 build, the el9 job it is skipped by default.

Some tests failed

Some tests failed

Some tests failed

Some tests failed

Some tests failed

Some tests failed

Some tests failed

Some tests failed

All tests passed


Cleaned live parallel, parallel_multiple and simple.json files, live multiple 0-150, 550-600

Just a nit
"unit": {"type": "string", "description": "Specifies the unit of measure for the command if applicable. This is not utilized by os.system() directly but can be used for logging or analysis purposes.", "default": "N/A"}
Why are we deleting this parameters.

Just a nit
"unit": {"type": "string", "description": "Specifies the unit of measure for the command if applicable. This is not utilized by os.system() directly but can be used for logging or analysis purposes.", "default": "N/A"}
Why are we deleting this parameters.

Thanks for noticing. This parameter has now been reinstated both in the ground truth and in the function docs, with the key change being that the default value will be "default": "N/A" everywhere instead of "default": "seconds" that was earlier present in certain places. Since none of these user prompts reference this parameter, it makes sense to use N/A here.


Not needing to first add a new device to the tuya app ?

really nice project in that its very simple and easy to use.
I was wondering if there is any thoughts on supporting not needing to add new devices to the tuya app. the reason being that tuya hack is well known and turned many devices into bots on a botnet in the past, and i just prefer to not expose stuff in the house to needing third parties..

Thanks.
I agree with your feelings about linking domestic things to third parties.  I am now using the recently-added Zigbee2mqtt Integration to interface directly with my Lidl/Tuya/Zigbee sockets.  The only remaining use I have for the Tuya Integration is for their WiFi-only stuff (one bulb in my case!), I don't know how you would go about bypassing the third-party apps for that kind of thing.  Do you know of any solutions that don't involve a soldering iron?
I should add that I'm rethinking AGHAST after having actually used it for a while - when I get time there will be an AGHAST2 which will be very similar externally but quite different internally.

hey
did you still have to use the Tuya app to commission the devices into your house initially though ?
AGHAST2. Can you give me a brief summary ?
I am looking to rewrite the GUi using GIOUI. https://gioui.org/, and so have the GUI 100% in golang for web, Desktop and Mobile. If your interested let me know and we can collaborate.

Hi again!
I had to use the Tuya app initially just for the WiFi lamp.  All the ZigBee stuff is now working nicely via zigbee2mqtt and AGHAST with no need for third-party apps even when setting them up (even if they are Tuya).
AGHAST2 is becoming just the next version of AGHAST - I have started on it.  You can see the progress and some updated docs on the  Move-to-MQTT-Events branch where I am doing the work.  I am discarding all the internal events stuff and simply using MQTT instead.
As you know, there is currently no GUI in AGHAST - I am continuing the focus on providing everything via MQTT in the most accessible manner possible without tying things to any particular front-end.  If you fancy developing a GUI with GIOUI then I would certainly not discourage you :-)  (I am finding Node-Red certainly has its limitations, and am a bit concerned for its future after the recent less-than-stellar v.2 release.)  If you would be happy to only communicate with the AGHAST via MQTT, then I would be happy to collaborate!

Hey @SMerrony
about the gio gui, i have some questions.
Web version will need to use http, but Mobile and Desktop version can use MQTT. Is there a API to MQTT ?
Plugins based approach might be best so that new dashboard widgets can be added without recompiling. This can be done by describing each Widget with a Markup that is provided by the backend, and that the GIO GUI renders.
Here is an example of he lib i can use for it: https://github.com/ajstarks/giocanvas. See screenshot, etc
Languages. DO you want to support multiple languages ? GIO can do this also.

Hi,
I think I should have been more clear - I don't want to put a GUI in the AGHAST code, but I would cooperate with a separate GUI-only dashboard project.
See http://www.steves-internet-guide.com/mqtt-websockets/ for MQTT in the browser.
To be honest, I doubt that Go is really the best choice for a new MQTT dashboard - I've tried various GUI toolkits and they all leave a lot to be desired at the moment.

Hi,
I think I should have been more clear - I don't want to put a GUI in the AGHAST code, but I would cooperate with a separate GUI-only dashboard project.

makes sense... Will do in my repo and let you know..

See http://www.steves-internet-guide.com/mqtt-websockets/ for MQTT in the browser.

will check it out.

To be honest, I doubt that Go is really the best choice for a new MQTT dashboard - I've tried various GUI toolkits and they all leave a lot to be desired at the moment.

I know exactly what you mean. I tried Vue, Flutter, fyne and probably a few others.
Some links if your curious:
Latest blog updates
https://lists.sr.ht/~eliasnaur/gio/<CAFcc3FQF-z258qsHJko1WLhtK3P1Vp_5uAjHibfyMY60ULW1vw%40mail.gmail.com>
BTW, Any main.go can be run with just "go run ." on desktop. Nothing needed on your OS.
so just clone and run.
chat app example:
https://git.sr.ht/~gioverse/chat
https://github.com/gioverse/chat

looks like  https://github.com/eclipse/paho.mqtt.golang already includes websockets support for browsers ?
is so then makes it easy to use gio with it for the Browser WASM compile target.


Proaktive Deck for Opponent

I would see an feature that analyses the first cards of the opponent as aggro or control Deck - and than show an prearranged Deck like Aggro-Warlock. In the most Cases there rare 85% same cards in every Aggro Warlock deck or others. Hope u understand my wish (We spoke about it on HS-Chat)

I love the idea, we will need to define a list of deck types (aggro, control, mid-range, mill-fatigue, others ?) as well as cards which enter is those decks.
I think this list should not be in the app (maybe a json file which is downloaded each X time) so there's no need to update the app when new type of deck arrive

OK - not a clou about coding, but else...how can i help?

Maybe you can start a list of classes artifacts and the cards for thoses artifacts ?

so maybe a list with links to heartpawn?
For me it looks like the perfect base for popular Decks...maybe it fits also import mechanism of your app. Maybe we can import "10 most popular Decks"

It would be super cool to have the app look up the top 10 most popular decks per class and combine them all to come up with a rough probability of how likely certain cards are to be in the deck.
As your opponent plays cards, the app could adjust probabilities for which deck your opponent is playing and eventually narrow down on what cards are likely to be in your opponent's decks.
Definitely not an easy engineering challenge, but it could be super cool to use!

In addition to @ankushg 's comment, it would be nice if HSTracker would use the mechanism from Track-O-Bot, and this data

Hiya - I would definitely be interested in getting involved with helping out on this - I haven't done any coding in ruby before but have just started to get my hands dirty a bit by crawling the tempostorm meta snapshot and grabbing deck data from there. I have some ideas on how to start drawing generalisations from these collected decks rather than trying to create and maintain a list of current archetypes, hopefully shouldnt be too long until I get enough data collected that I can make a start on that.

Love the idea. Also you can integrate it with this feature request: https://github.com/bmichotte/HSTracker/issues/501 "load deck for opponents"

We can start this feature slowly, first get the archetype from Track'o'Bot and display it as: "Probably Freeze Mage" over the opponent deck list.
We don't have to do it all at once.
The next step would be to load the default decklist for that archetype (Tempostorm) and display the unplayed cards in blueish colors (like when crafting).
Still, even the archetype probability seems a step ahead.

I'm currently working for the HSReplay integration. I know they are working on archetypes, so, this could be a thing in the near feature.
@vaidab: if you want, you can already beta test this HSReplay integration by downloading the latest beta on https://github.com/HearthSim/HSTracker-Beta/releases/tag/0.17.5-b3

Sure, I'm going to install it just about now.
--
Bogdan Vaida (www.vaidabogdan.com)
Experiential Trainer, Public Speaker, SOLE Teacher
Co-Founder Toastmasters Entrepreneurs Timisoara
On 17 August 2016 at 09:37:53, Benjamin Michotte<EMAIL_ADDRESS>wrote:
I'm currently working for the HSReplay integration. I know they are working on archetypes, so, this could be a thing in the near feature.
@vaidab: if you want, you can already beta test this HSReplay integration by downloading the latest beta on https://github.com/HearthSim/HSTracker-Beta/releases/tag/0.17.5-b3
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Played 3 games, works flawlessly. I'll come to this thread if something's amiss.


bug: swapAndStartBridgeTokensViaHopL2ERC20 method ABI

Hey there! I've probably spotted a bug with the swapAndStartBridgeTokensViaHopL2ERC20 method ABI in https://github.com/lifinance/contracts/blob/main/diamondABI/diamond.json. If you flat the struct types you'll get
(bytes32,string,string,address,address,address,uint256,uint256,bool,bool),(address,address,address,address,uint256,bytes,bool)[],(uint256,uint256,uint256,uint256,uint256,address)

The function ID from that params will be 0x00d2aed6 what doesn't match the explorers (it says it should be 0xd40e64cc). Looks like the ABI is missing 3 more types there (address, uint256 and uint256). After adding them the function arguments look like
(bytes32,string,string,address,address,address,uint256,uint256,bool,bool),(address,address,address,address,uint256,bytes,bool)[],(uint256,uint256,uint256,uint256,uint256,address,address,uint256,uint256)

and produce the proper method signature (0xd40e64cc)

Hi @bulgakovk ,
sorry for the late response.
Indeed the diamond ABI was outdated, thanks for spotting this issue. The ABI was produced before the HopFacetOptimized was updated and some parameters were added, thereby it became outdated.
We've improved our workflow now so that the diamondABI automatically gets generated with every new release of our lifi-contract-types package (which basically is generated with every new commit in our contracts repo).
You can find the latest diamondABI here:
https://github.com/lifinance/lifi-contract-types/blob/main/dist/diamond.json
If you should need any further assistance, please do not hesitate to contact us.
I will close this issue for now.


Resolving security warnings by automatic analysis of maven central for log4j2

Eliminates security warnings caused by using outdated log4j for plugin development.
The agent and server modules are using the latest log4j2 that has resolved vulnerabilities, so there are no security vulnerabilities.

The log4j2 version of the plugin is also upgraded, so there is no issue.

https://mvnrepository.com/artifact/com.navercorp.pinpoint/pinpoint-bootstrap-core/2.4.0-RC1

It seems that maven cetranl is incorrectly analyzing log4j 2.12.4 for jdk7 as a vulnerable version.


Focus on Map instead

The motivation of this proposal states

The problem: Objects are commonly used as the defacto dictionary type in Javascript.

I think this underlying problem is the one that should be fixed. We should keep the pain point that it is hard to work with objects, to foster adoption of Map. Don't fix this issue.
I'd rather see the collection methods proposal and toObject/fromObject methods on Map, than to have an Object.map method. Admittedly, if performance is the real issue, that roundtrip object→Map→Map→object won't help.

JSON.parse produces objects; JSON.stringify does not work on collections (and will not; the committee rejected that proposal). That Objects are the defacto dictionary type can't, imo, be fixed.

I agree with @ljharb's point -- the core reason that Object is the dictionary type is JSON.
However, I believe that the tentative plan to build this upon the Iterator Helpers proposal will help assuage your concerns. If approved, the Iterator Helpers proposal will add methods like map on an iterator prototype. Thus, you could map over a Map using Map.prototype.entries to get an iterator. This proposal, then, will focus on extending Iterator to allow retrieving an iterator on an Object and to collect items from an iterator into an Object. That should help both with performance & expressiveness.

You mean getting iterator equivalents for Object.keys, Object.values and Object.entries? I'd love to see that!
Reading the readme again, it's become clearer now that this is not an Object.map proposal, like the repository name suggests. Sorry for jumping to conclusions. Maybe we could use something more generic, like "dictionary transformations"? Being iterator-based means we could also get flatMap or filter to work ergonomically with objects - or rather any iterators-of-tuples, since they share that interface with the Map type.

Something like that. It's not yet clear whether we'd have iterator equivalents for all of those methods, or just Object.entries.
@bergus Do you feel that this issue is suitably resolved? If so, I can close.

What about renaming the repository to proposal-object-transformation? That name might capture the goal, and the current state of open-ended exploration, better. And rather do this now than after the proposal gained traction :-)
Feel free to close the issue once you've decided on renaming.

I'm not sure how much the repo name matters. In all of the agendas & in the title of the README itself, it's clear that this is about making mapping over objects easier. Once we land on a solution and prep for stage 2, we can consider renaming the repo accordingly.


Unable to open display

Please help, I don't know what to do... :(
Please break everything down since I am new to all of this and am struggling with both software and hardware

@nassafellow this just pops up because of the edits to .bash_profile The console doesn't have a display set, so it outputs this in response to the xset commands, but it's not an issue. The issue here is that xserver won't start. I assume you have your pi set to autologin to the console?

Yes it logs into auto console straight away.
I didn't get to put in the long authorisation website in anywhere though. It wasn't clear where I had to put it. I've filled in all the details for it though.

Worth noting that the file above had to be created by me because it wasn't there before.
Please tell me I'm close to finishing the software bit.

@nassafellow what does your log file say? Did you install everything? (openbox, lightdm, x11-xserver-utils, etc...)

how do I find the logfile please, forgive me but I'm new to all of this and still learning.
I did install everything - had to use a few workarounds that people found in the issues section to get where I am e.g. the -r requirements - only really faced trouble at the xnitrc part but as you can see it is all there.  Is a cache missing or something?

In your first screenshot, it specifies a log at /var/log/Xorg.0.log. Might be worth taking a look in there and seeing if it has any useful information.

Wait, just seen there's more...

any suggestions on what I should do?

I'm not seeing anything that jumps out to me - (also all the screenshots are slightly overwhelming 😄 )
Some places to check (but I wouldn't output everything here unless you see a specific error) are/var/log/lightdm and ~/.xsession-errors.  If there's nothing of note either place, I'd recheck that you did all the steps exactly as specified in the README and restart with only your monitor plugged in. If it still fails to run the GUI, I might check with a different display to see if that's an issue. Beyond that, my troubleshooting gets weak and you might want to wait on a Linux guru.
If you don't want to wait, my last ditch effort would be to re-flash the SD card and try going through the setup steps from scratch. I restarted my pi after step 9 just to make sure everything loaded well before adding the spotifypod specific stuff.

Hmm ok I'm retracing my steps.  Where did you put the website link please - it doesn't say where to type it in.

I'm still so stuck I just keep getting the x set unable to open display, and the program keeps crashing. :(

Did you connect a display to your raspberry pi? Does this show anything? If I ssh into my raspberry, I get the same error (if I remember correctly). In my case the auto login session on the display has the display variable set automatically. But if I create another session via ssh, it doesn’t have this display variable and therefore this issue appears. There is a better and more detailed explanation for this issue but I imagine that is enough information for now. If something happens on your display and you enabled auto login, I don’t think this is something to worry about.


The onPointerUp event of GUI.Button triggers only while moving the pointer

Playground: https://www.babylonjs-playground.com/#XCPP9Y#653
Expected result: I am expecting the button to change its color every time I click it.
Current result: Currently the pointer up event triggers only if you are moving the cursor when you release the button.

Using Babylon.js v4.0.0-alpha.2 - WebGL2
I tested this in Chrome Version 69.0.3497.100 (Official Build) (64-bit) and Microsoft Edge 42.17134.1.0.
Windows 10 v1803
with mouse
On Android/touch seems to work fine.

it is actually fixed but not yet deployed...Should be good in a couple of minutes (do not forget to clear your browser cache)


Adding ability for colour to be disabled

I've added the ability for colour to be disabled as per #4.
The config flag is simply nocolor. Note the lack of 'u' from my British English spelling. This was because I assumed the developers would likely be using American English.
Checking for the debugging environment variable was moved down a few lines for no particular reason at all. I moved it whilst trying to work out how-to integrate debugging into a config flag as well, but decided to just focus on the one flag instead. In the zone, I forgot to move it back to the top, but it has little difference.
For the RootStore struct key, I chose NoColor instead of NoColors (plural) to reflect the fact internally we're setting color.NoColor - I was looking to keep things consistent.
I felt the need to write the configuration to disk here on line 57 of action.go. When I was using the command to test what happened if I deleted my configuration and then checked the config, a new file wasn't written. This seemed odd to me, so I figured it was best we persistent what the user sees as I believe that would be a good user experience.
Slight typo in another file. Haven't checked all the code, though.
New config has been shown to work on my local compiled copy of gopass.
Versions:

macOS 10.12
gpg (GnuPG) 2.0.30 / libgcrypt 1.7.6 (gpg installed via brew)
git version 2.11.0
gopass HEAD (n/a ) go1.7.5

I'm going to assume those failures are unrelated? Looking at the output from TravisCI, the errors pertain to missing tests?

Changes made.

The patch itself looks good, but the branch still seems to include unrelated commits. Could you please rebase onto master or cherry-pick your commits onto a new branch?

Hi,
The results you see here are the results of me doing: git rebase develop master. Did I do it wrong?
I can create a new branch and cherry pick commits over to that. Cheers.

I'm closing this and starting a new one. I'm confused as to how to fulfil the requests being made here, so I need to start from a new branch in order to comply.


Update en.yml , reminder subject

Updating to meal reminder email,  line 444
updating subject line to move "date/time" to the left, to improve visibility in mobile email application.

Before:
Meal Reminder: Peanut Sesame Noodles on Wed Sep 13 6:15pm at GO CH
After (expected):
Meal Reminder: Wed Sep 13 6:15pm - Peanut Sesame Noodles at GO CH
On Sun, Oct 1, 2023 at 8:40 AM Tom Smyth @.***> wrote:

@.**** commented on this pull request.
Could you please paste some example subjects before and after the change?
Also it seems the tests didn’t run, perhaps because it’s your own clone. I
will look into this later
—
Reply to this email directly, view it on GitHub
https://github.com/gather-community/gather/pull/1002#pullrequestreview-1651897230,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUWH6ZFZWQIKEH7PPL24NHTX5FQDDANCNFSM6AAAAAA5NQC2YY
.
You are receiving this because you authored the thread.Message ID:
@.***>

@enginegrid the change looks good, but I want to make sure it doesn't break any tests.
For some reason the tests didn't run on this PR. Perhaps b/c it came from your clone?
Are you able to clone the to push your branch to the main repo?
git checkout your_branch
git remote add main git@github.com:gather-community/gather.git
git push main

Added a branch "alex_branch"
and pushed it up


shared weight

Hi,
Have you tried shared weight between different pyramid levels（as the LapSRN paper said）, the code of you uploaded now seems doesn't do it.

Hi @pzz2011, this repo was implemented before their journal extension appeared, not shared weight was mentioned in their CVPR paper. Recently I've checked the journal one, and I will try that when I have time.


Banner improvements

Updates to the banner:

Make the wording less emotional / triggering and more reserved and hopeful.
Simplify the text to be shorter, and compensate with a bigger font size for readability.
Put emphasis on personal story (e.g. that the developer is Ukrainian).
Make the default width shorter, and the banner more narrow.
Slightly increase contrast.
Get rid of the mobile versions because the full ones are now compact enough and can convey the full meaning.

Suggestions welcome!
Default banner (before / after)

Developer banner (before / after)

LGTM, merged. Thank you!
We can apply incremental improvements if needed.


Report the use of components with vulnerabilities in paralus

Dear Team Members:
Greetings! Our team is very interested in your project. we performed source code perspective security analysis (SCA) and vulnerability library association analysis on this project and found that components with vulnerabilities are still being used into this project.We would like to report this issue to you,so that you can fix and improve it accordingly. I add the details in json file below. Please confirm whether this problem really exists and confirm with us. Looking forward to hearing from you and discussing more details with us, thank you very much for your time and attention.
Note: Each "affect_components" field in the report represents the vulnerable component introduced by this project. The other is the vulnerability information associated with it.
Qiyu Hou
paralus-main_report.json

@HouqiyuA we have recently upgraded golang, protobuf and few other dependecies - can you rerun and verify whether all your reported vulnerabilities are now taken care of ? Otherwise let us know and we will take a look.


[PDI-16258] Hidden folders show for business user "Suzy" from Spoon

[PDI-16258] Hidden folders show for business user "Suzy" from Spoon
fixing showing hidden files after renaming, moving and deleting (refresh)
@mbatchelor Could you please review and merge it?

Build Completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
ant -Dtestreports.dir=bin/reports/unit-test -f ui/build.xml clean-all resolve jacoco && ant -f ui/build.xml checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  ui/src/org/pentaho/di/ui/repository/repositoryexplorer/model/UIRepositoryDirectory.java
  ui/test-src/org/pentaho/di/ui/repository/repositoryexplorer/model/UIRepositoryDirectoryTest.java

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.ui.repository.repositoryexplorer.model.UIRepositoryDirectory

Branch Change:  + 4.55%
Complexity Change:  + 4.92%
Instruction Change:  + 9.43%
Line Change:  + 12.28%
Method Change:  + 7.69%

Checkstyle violations
The code submitted is not complying with one or more of our guidelines. To perform these checks locally, please use this tool.
/home/buildguy/project/ui/test-src/org/pentaho/di/ui/repository/repositoryexplorer/model/UIRepositoryDirectoryTest.java

:heavy_exclamation_mark: Unused import - org.apache.commons.lang.BooleanUtils. at Line: 30 Column: 8

:heavy_exclamation_mark: Unused import - org.pentaho.di.repository.RepositoryDirectoryInterface. at Line: 36 Column: 8


updating a model in a collection with Collection.create( ,merge: true) updates the backend with only the new attributes

Consider a model m with id 0 and attributes { a: 10 } in a collection c
now do c.create({ id: 0, b: 20}, { merge: true })
it's supposed to update the model and save it.
the resulting model indeed has attributes: { a: 10, b: 20}
however, the RESTful PUT has only { b:20 }
Following the definition of PUT, it will replace the content of the resource with the new content,
which is { b: 20}
For PATCH this is Ok, but for UPDATE you need to put the merge attribute list.
One way to solve this, is to save the merged model (returned by add) iso the temporarily created model.
However, this will be more complicated with the combination with options.wait
A workaround is to use the patch option.

I the issue here is that create is for POSTing  From the docs "The create method can accept either an attributes hash or an existing, unsaved model object."  unsaved meaning there is no id.  You should not create with an id.  create is expecting an id to be returned from the server.  If anything create should error if it finds an idAttribute

I see the point.
For completeness sake, my workaround:
(get(id) || add({id})).save(attrs)


Dart VM doesn't exit if I've spawned an isolate with a debug name of "kernel-service" or "vm-service"

This script
import "dart:isolate";
main() {
  print("hello");
  Isolate.spawn((message) {
      print("Hello from a spawned isolate.");
      }, "", debugName: "kernel-service-foo");
}

runs fine:
$ time dart t.dart ; echo $?
hello
Hello from a spawned isolate.

real    0m0.325s
user    0m0.357s
sys     0m0.175s
0

But modifying it slightly, i.e. changing the debug name:
import "dart:isolate";
main() {
  print("hello");
  Isolate.spawn((message) {
      print("Hello from a spawned isolate.");
      }, "", debugName: "kernel-service");
}

and it doesn't exit:
$ time dart t.dart ; echo $?
hello
Hello from a spawned isolate.
^C
real    0m13.728s
user    0m0.520s
sys     0m0.159s

The debug name "vm-service" also works like this.

"Then don't do that."
(But might want to not rely on something the user can copy for deciding how isolates behave. Unless we want the users to have that control.)

We use those names internally for identify the isolates, maybe we should use an internal flag instead of names for identifying the isolates.


enhancement of web phone to support multiple calls better

Coverage increased (+0.08%) to 41.608% when pulling dfdbdeca4700d156f773a9eefd10c80fedc364e6 on embbnux:feature/enhancement-webphone into be46e3bfa0cfe788a734d053c2be522640775e6e on ringcentral:master.


Bumps versions of all dependencies to latest

This PR updates the versions of dependencies in the mix.exs file -- addresses Issue #7
This does NOT adjust the deprecation notices caused from Floki or from use of Mix.Config
This replaces PR #8 (which was opened from the wrong Github account)

Closing in favor of #13


example template

I propose the following in order to build the example section of the website

add an example directory
each subdir of example would be an example
each example dir would contain

an index.js file that would be browserified. There should be a way to introspect the example name, + category  + the list of highland transform that this example examplifies (this should probably be in the index.js documentation)
an index.html file that would give life to the example ; index beeing built from a template

add 2 examples
build an example index
build an example index for each category
link the example index from the main page + add, for each transform, the list of examples that use the transform

this should re-use the architectural pattern that has already been done for the website (templating system, modules, ..) and integrated in the same grunt rule.
this would work well for browser based examples. It would be a + if examples could also be launched server side easily, but this seems less important for the evangelism of the project.
if anyone feels like working on it, or wants to modify this proposal, this issue is very open ;-)

Hi, I wrote a sample application https://github.com/kharandziuk/highland-parser. I'm not sure that it's idiomatic enough but it is close to real life.


Loadable Components randomly raise error : SSR requires @loadable/babel-plugin, please install it

🐛 Bug Report
Dynamic import of some components randomly raise (node:12876) UnhandledPromiseRejectionWarning: Invariant Violation: loadable: SSR requires @loadable/babel-plugin, please install it when access any page of the app in Chrome (server is starting ok) ; while others don't. The plugin is obviously installed.
Some components randomly raise the same error not when calling them but when trying to 'display source code' in Chrome.
Some components just run fine.
To Reproduce
This component systematically raise this error when any page is called:
import React, { Component } from 'react'
import { IAppDictonary, IAppSetMeta, IAppUser } from '../Shared/App'
import { siteHomepage } from 'bnc-libs/lib/page'
import { Page } from '../../libs/page'

let pageMeta = new Page()
Object.assign(pageMeta, siteHomepage)

export interface IHomeProps extends IAppDictonary, IAppUser, IAppSetMeta { }

export interface IHomeStates { }

export class Home extends Component<IHomeProps, IHomeStates> {

  componentDidMount() {
    this.props.setMeta(pageMeta)
  }

  render() {
    const d = this.props.dictionary
    return (

{d.devInProgressTitle}

{d.devInProgressText}

    )
  }
}

export default Home

Other similar components don't raise the error when displayed, but do when trying to display source code of the page in Chrome.
Expected behavior
No error.
System:

OS: Windows 10 10.0.19041
CPU: (4) x64 Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz
Memory: 4.61 GB / 9.98 GB

Binaries:

Node: 14.16.0 - D:\DEV\nodejs\node.EXE
npm: 6.14.11 - D:\DEV\nodejs\npm.CMD

Config
"dependencies": {
    "@loadable/component": "^5.14.1",
    "@loadable/server": "^5.14.2",
    "bnc-libs": "^0.2.33",
    "cookie-parser": "^1.4.5",
    "express": "^4.17.1",
    "isomorphic-fetch": "^3.0.0",
    "lazysizes": "^5.3.1",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "react-router-dom": "^5.2.0"
  },
  "devDependencies": {
    "@babel/cli": "^7.13.10",
    "@babel/core": "^7.13.13",
    "@babel/plugin-proposal-class-properties": "^7.13.0",
    "@babel/preset-react": "^7.13.13",
    "@babel/preset-typescript": "^7.13.0",
    "@loadable/babel-plugin": "^5.13.2",
    "@loadable/webpack-plugin": "^5.14.2",
    "@types/express": "^4.17.11",
    "@types/isomorphic-fetch": "0.0.35",
    "@types/loadable__component": "^5.13.3",
    "@types/loadable__server": "^5.12.3",
    "@types/node": "^14.14.37",
    "@types/react": "^17.0.3",
    "@types/react-dom": "^17.0.3",
    "@types/react-router-dom": "^5.1.7",
    "babel-loader": "^8.2.2",
    "jshint": "^2.12.0",
    "ts-node": "^9.1.1",
    "ts-node-dev": "^1.1.6",
    "typescript": "^4.2.3",
    "webpack": "^5.28.0",
    "webpack-cli": "^4.5.0",
    "webpack-node-externals": "^2.5.2"
  }
}

Well, can you put a breakpoint there and figure out why loadable complains?
https://github.com/gregberge/loadable-components/blob/3676e488a714068baca5cefad2aa98c0de0a8fab/packages/component/src/createLoadable.js#L107
If properties the code is looking for are not present - what is present instead?

ctor.requireSync is not defined 🤷♂

I've seen that. So what?

if chunkExtractor is then, then this is a Server Side (or at least something wrapped with ChunkExtractorManager)
if requireSync is not defined, then the babel plugin is not working, even if is installed

From my undestanding, babel-plugin is used during compilation, not at run time. Do you mean the compilation raises no error but actually doesn't complete correctly?
I have no error during compilation and compiled App.js contains the following code:
const Homepage = (0,_loadable_component__WEBPACK_IMPORTED_MODULE_2__.default)({
  resolved: {},

  chunkName() {
    return "Site-Homepage";
  },

  isReady(props) {
    const key = this.resolve(props);

    if (this.resolved[key] !== true) {
      return false;
    }

    if (true) {
      return !!__webpack_require__.m[key];
    }

    return false;
  },

  importAsync: () => __webpack_require__.e(/*! import() | Site-Homepage */ "Site-Homepage").then(__webpack_require__.bind(__webpack_require__, /*! ../Site/Homepage */ "./src/client/Site/Homepage.tsx")),

  requireAsync(props) {
    const key = this.resolve(props);
    this.resolved[key] = false;
    return this.importAsync(props).then(resolved => {
      this.resolved[key] = true;
      return resolved;
    });
  },

  requireSync(props) {
    const id = this.resolve(props);

    if (true) {
      return __webpack_require__(id);
    }

    return eval('module.require')(id);
  },

  resolve() {
    if (true) {
      return /*require.resolve*/(/*! ../Site/Homepage */ "./src/client/Site/Homepage.tsx");
    }

    return eval('require.resolve')("../Site/Homepage");
  }

}, {
  ssr: true,
  fallback: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(_Shared_Parts_SpinLoader__WEBPACK_IMPORTED_MODULE_14__.default, null)
});

Is this not generated by the babel-plugin?
Also, once executed client-side, all dynamic imports, ie const X= loadable(() => import('X'), { ssr: true, fallback: <SpinLoader /> }), are working fine. The error occurs only during server-side rendering.
This work:
loadableReady(() => { hydrate(<BrowserRouter><App /></BrowserRouter>, appRoot) })

This don't:
const statsFile = path.resolve(`${process.env.APP_ROOT}${path.sep}public${path.sep}js${path.sep}loadable-stats.json`)
const extractor = new ChunkExtractor({ statsFile, publicPath: '/js' })
const jsx = extractor.collectChunks(<StaticRouter location={`/${this.requestedPage.uri}`} context={{}}><App /></StaticRouter>)
scriptTags = extractor.getScriptTags()
const ssrApp = renderToString(jsx)

Ok. So now we know that problem occurs on the server-side, not the client-side. However, it is still unclear for which compilation target the given piece of code belongs.
Obviously not to the one with the missing requireSync.
👉 babel plugin is required both for client and the server-side. If it will be missing - no error will occur during the compilation as long as the "your code" is correct by design (not generating any typescript errors). It will be just not consumable by loadable-components.

Any piece of code containing const X= loadable(() => import('../X'), { ssr: true, fallback: <Whatever /> })  with X called during initial request raise this error, on server-side only. Everything is installed correctly, and particularly @lodable/babel-plugin.

I am also experiencing this issue. Loading endpoints that use Loadable are throwing this strange "SSR requires @loadable/babel-plugin"
Any progress made here @ludovic-lambert ?

@vancityhuddy Unfortunately, no. My code just works nicely without loadable-components, and crashes with it. The error message is meaningless as the plugin is installed. Except getting deeply into loadable-components source code, which is beyond my skills, I don't know what to do.

Beyond mine as well. It should work.
There are just a few lines that can work weirdly, and if you make me a minimal reproduction of your problem/setup - I should be able to help you.

the problem is in tsconfig.json
when you use module: commonjs!
if you try to change it to es2020 for example the error will gone

Bingo. Absolutely correct @denchiklut: babel plugin looks for the variable with name "loadable" ( https://github.com/gregberge/loadable-components/blob/main/packages/babel-plugin/src/index.js#L39) and CJS transformation "renames" it.

@theKashey is there any chance to fix @loadable/babel-plugin to work with commonjs?

Having this problem as well. Still not figured it out.

Can I double-check where commonjs is coming from?
All tools are expected not to change module system, and only the last one (webpack) to do expected transform.
So:

tsconfig: "module": "ESNext",
babel: modules:false
webpack: does the transformation

Don't forget to undo this for Jest/another testing framework, running without webpack.

We are experiencing the same issue. We are using commonJS modules and are doing SSR using our own expressJS server on node v12.

@theKashey is there any way to make this plugin work with commonjs?

you have to use import in order to have code splitting with webpack. So the input is always expected to be non commonjs.

you have to use import in order to have code splitting with webpack. So the input is always expected to be non commonjs.

Yeah and on client I use esmodules but my express server where I use ChunkExtractor I use commonjs

Exactly. Compilation target (for babel) can be anything - it's all about the "source code".
In case of TS - it shall just do "a check".
One of the simplest ways to handle this - use babel-loader for ts + ForkTSCheckPlugin. Or, as pointed above, amend default tsconfig.
PS: Ideally add jsx: "preserve" as well, to remove all "real transformations" from TS.


[FEAT] Add str.capitalize() function

Uppercase the first letter, lowercase the rest.
Resolves #1919

@jaychia thanks for the review. Pushed the changes.

Congrats on first PR!!! 🚀🚀🚀


Checks for agreement between Plutus Eq and Plutus Ord

We want to ensure that they're not giving inconsistent answers. So, something like:

If x == y, then compare x y == EQ; and
If x /= y, then compare x y /= EQ.

What about operator agreement within the class, i.e. the laws:
x >= y = y <= x
x < y = x <= y && x /= y
x > y = y < x
x < y = compare x y == LT
x > y = compare x y == GT
min x y == if x <= y then x else y = True
max x y == if x >= y then x else y = True

Those are probably worth adding checks for - good catch!

Those are probably worth adding checks for

Should I add them in #73 right away or make another PR?

Either or.


Add etag and last-modified helpers to improve cachability

I noticed that there are no helpers for Etag or Last-Modified based caching.
That way we could use
def json():
    etag(some_etag)
    last_modified(some_timestamp)

    some_response = do_expensive_stuff
    return some_response

which is very useful when you implement an API with expensive operations which often get requests for the exactly same response. Add a caching proxy and and they are only expensive once.
Sinatra (Ruby) has those helpers: https://github.com/sinatra/sinatra/blob/v1.4.5/lib/sinatra/base.rb#L439-L554

What I did was use flask-cache to save the response and then created a cache_header decorator:
from datetime import datetime as dt, timedelta
from json import dumps
from flask import make_response, request, route
from app import cache

def jsonify(**kwargs):
    response = make_response(dumps(kwargs))
    response.headers['Content-Type'] = 'application/json; charset=utf-8'
    response.headers['mimetype'] = 'application/json'
    response.last_modified = dt.utcnow()
    response.add_etag()
    return response

def cache_header(max_age, **ckwargs):
    def decorator(view):
        f = cache.cached(max_age, **ckwargs)(view)

        @wraps(f)
        def wrapper(*args, **wkwargs):
            response = f(*args, **wkwargs)
            response.cache_control.max_age = max_age
            response.cache_control.public = True
            extra = timedelta(seconds=max_age)
            response.expires = response.last_modified + extra
            return response.make_conditional(request)
        return wrapper

    return decorator

@route('/route')
@cache_header(TIMEOUT)
def route():
    result = do_expensive_stuff()
    return jsonify(result=result)

CR #637


Link to Python source code

This PR partially addresses #345. It implements a custom linkcode_resolve function that generates a URL to the Github source code for documented objects. It currently only works for native Python objects.

This seems to work now. @N-Wouda could you review this?

I'll try to have a look at this tomorrow!

Is the REVISION value something the linkcode extension requires (like the function definition), or is it something we use to form the URL?

Is the REVISION value something the linkcode extension requires (like the function definition), or is it something we use to form the URL?

The latter!


check the length before inserting data into VARCHAR or VARBINARY columns

fix the bug #636. I add a check in planner phase. When generating a InsertPlan,  one should call tuple->SetValue for each element to be inserted. So I add the check in Tuple::SetValue.

Coverage decreased (-5.2%) to 67.778% when pulling 6a0970b1107863c40aaa567fceb61462858ca318 on lixupeng:master into a4622c0fd770e6bdaad91cef7fd7fbfcde94743e on cmu-db:master.

Coverage increased (+0.02%) to 72.951% when pulling b03d85bdff027d67b680c613348d172cc7b04e24 on lixupeng:master into a4622c0fd770e6bdaad91cef7fd7fbfcde94743e on cmu-db:master.

Coverage decreased (-72.4%) to 0.0% when pulling dc649e56eca7485d42e3131d67b4a8ed4d658cd2 on lixupeng:master into 7faab8dc6938f16861be3031965e2ccaa03fc669 on cmu-db:master.

Coverage increased (+0.03%) to 72.342% when pulling 3c54c2c992dd63e9baec9b3443f6f47eb576b439 on lixupeng:master into b68560b66b5926192c15b2b11c6927e06f7218f7 on cmu-db:master.

Coverage increased (+0.01%) to 72.327% when pulling e6ae63ba79b5b28223948de3ac77f01f09596985 on lixupeng:master into b68560b66b5926192c15b2b11c6927e06f7218f7 on cmu-db:master.

Coverage increased (+0.02%) to 72.331% when pulling 66f5bd98e122e5ea8cc29cd92e4e097b80d82798 on lixupeng:master into b68560b66b5926192c15b2b11c6927e06f7218f7 on cmu-db:master.


znapzend service: Added options for logging and nodestroy

and service now restarts on failure
Motivation for this change
The znapzend program has some useful options that weren't accessible before.
Things done

[x] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

I wanna apologize for the many small changes after opening the PR, I'm still kind of new to git, github and nix, I'll test my changes better next time :)

No problem there. Thanks for your contributions! :beers:
LGTM now. :+1: Let's wait a bit for @Mic92 for a quick review.

Oh, and if you want you can try to squash your commits into one, i.e. with git rebase -i. But whoever merges this can certainly handle this for you. :)

Thanks!


Move Scrim to core

closes #331
Apologies for the larger PR, the final step of moving it to core created more file changes than I originally anticipated.

Will need a changeset and also maybe change the pr description :)


User should have the option to manually put unused boards in rotation

There isn't an easy way to manually assign people to a newly created or unused board. In order to accomplish this the pairs need to be rotated first and rearranged so that the desired devs are tied to the board. I think it would be a nice feature if users could manually put unused boards in rotation if they wanted a pair to be tied to a specific board. This feature would also go well with the updated carrying logic since carried boards are now recognized.
I was thinking of just adding an add button to any available boards that aren't in rotation. It would function the same way as adding a blank pairing slot, except it would contain the board. That seemed like the simplest way to accomplish this, but if you have any thoughts (or issues with this feature in general) let me know.

I took a stab at this one. I think this is the functionality you were looking for. If it is I will merge.
https://github.com/BlakeRhodes/rotato/tree/add-unused-board

Yeah that's the functionality I was looking for. What's funny is I started to implement this one too. I think it was pretty much done except for some tests. I think the only difference in our implementations is that in yours the add button always shows and in mine it's hidden if the board is not in rotation or disabled.
I like your implementation better, so I'm good with you merging it in. Here's mine in case you have any constructive criticism:
https://github.com/BlakeRhodes/rotato/tree/put-boards-in-rotation


teslamate/grafana:latest and grafana v7?

Hi Adrian, first of all thank you very much for the work on teslamate - I love it to bits! :-)
One question though: I've updated to 1.20 today, which brings a requirement for grafana v7; however I'm pulling grafana into my dockerized setup as teslamate/grafana, and the :latest tag there still is a version 6 image.
Have I been a bit too early with my pull, and the updated teslamate/grafana is supposed to be available soon? Or should I/can I move over to generic grafana/grafana?

P.S.: We're missing a 'question' label - this is not an idea, but I wouldn't classify it as an issue, either...

The image published with the latest tag definitely uses Grafana v7:

Ah now I got it! For whatever reason it didn't work earlier...
Thanks very much!


#27 chore:configure testing environment

What does this PR do?
-Configured Testing environment with Jest & Enzyme
** Description of Task to be completed?**
-All functionalities are tested before deployment.
#### How should this be manually tested?
-Clone the repo
-checkout to branch ch-setup-testing-#27
--Run npm run test
What are the relevant pivotal tracker stories?
-link to my pivotal tracker/tello/https://trello.com/c/wrRkUEwa
#### Screenshots (if appropriate)

#### Questions:
-N/A

Good job mn I think you can add dodo, achile, and other team members as if you did not add them to review your PR.


libspdm_cache_requester_info should only cache the last requester_info

bool libspdm_read_cached_requester_info(uint32_t base_asym_algo,
                                        uint8_t **req_info, size_t *req_info_length)

and
bool libspdm_cache_requester_info(uint32_t base_asym_algo,
                                  uint8_t *req_info, size_t req_info_length)

should delete the the input parameter: base_asym_algo.
The device should only save the last requester_info.

Agree. It seems unnecessary. Please delete base_asym_algo.


Create docker.md

adding docker for mycroft section, this is just a start will add more.

We can review and pull now I’m gonna be updating the docs more as I test out the image more


Updated the fpgaperf_counter lib into opae.spec.in file

As libfpgaper_counter.so was missing in opae.spec.in file, so that rpm installation failed.
Added the fpgaperf_counter lib in opae.spec.in.

Coverage increased (+0.02%) to 65.624% when pulling 622ddf1e68fb283ca076a7d8558670f3c42befb7 on ramya/rpm_install_error into 1089a02642308a14f2441d345cb1fbe5de7d0cda on master.


TreeTraverser is not accessible (0.10.1)

scala-cli run https://gist.github.com/hugo-vrijswijk/b24c4bcf7916e1d38a6378e27762996a

//> using lib ch.epfl.scala::tasty-query::0.10.1

@main def main = {
  tastyquery.Traversers.TreeTraverser
}

Output:
[error] value TreeTraverser is not a member of object tastyquery.Traversers
[error]   tastyquery.Traversers.TreeTraverser
[error]   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

I'm not sure why since I can see it in sourcecode and scaladoc

It's an abstract class, not an object. You have to instantiate a subclass that overrides its traverse method.

Wow, sorry 🤦. I assumed that because it didn't come up in the autocomplete in that example, it wouldn't be accessible when extending


Fixed #30 issue Drive after stop

The car needed repressed multiple times to get it out of the stop zone.
After the car was stopped. Now when it hits the stop zone
the car can either backup or move forward.
And when it leaves the  stop zone the emergency brake is reengaged

Looks great! Like Erik mentioned in the previous pull request we should try to comment our code more but this was a minor bug fix. Good job Liam!


Whether there is at least some correlation between the number of stars on Github and Dart popularity?

Most popular projects tend to recruit a very large number of stars on Github (especially at first).
Dart was moved at Github not so long ago but for some reason Dart has a very small number of stars.
Does this means that it is practically no one uses or does not see any prospects or there are other reasons for the lack of interest?
Or maybe exists a recommendation do not to vote for the Dart main repository to not to raise hype ahead of time?
P.S.
This issue is very important for me because Microsoft Typescript project also are not so popular but it has 5631 stars on Github.
5631 vs 224 is very big difference.
What happened with Dart popularity?
Or this is a temporary set of circumstances, and I can ask that question later when everything will fall into place?

I think a large amount of github stars come if a project is in a hype. Dart hasn't been hyped since it is on github. A couple of time ago, there was some hype about the dart's sky sdk for android, and in that
period it got allmost 2000 stars: https://github.com/domokit/sky_sdk.
But, no, dart is not very popular, you've been around along enough in the dart community to know it has never been really popular. Typescript is also not used very much, but gets a bit more attention lately.
As you can clearly see, from the github repos, dart-sdk has much more daily commits and much more contributors than Typescript has. And then we don't even count repos like dart-style, polymer-dart, angular, dartdoc, fletch, sky, dev_compiler, dart-services etc.
Typescript tries to solve an easier problem, and does a great job in solving this problem, but is clearly not as ambitious as dart is.

@kasperpeulen
Thank you for clarification but I still does not understand: "Why are so small amount of stars?"
Dart on Google+ has  26260 members.
Dart community on Google+ has  6841 members.
But Dart itself are a software and amount of the people who have interest in Dart as an open source software has only 227 persons?
40 persons from them are developers.
227-40=only 187 person with a some interest to an ambitious project with a lot of commits?

And then we don't even count repos like dart-style, polymer-dart, angular, dartdoc, fletch, sky, dev_compiler, dart-services etc.

They are not a Dart SDK. Why you tell about them I cannot understand.
Even if the Google does not want to develop them on the different Github accounts but want to place then on the same account on Github then this does not means that you should mention about them as about the argument that they are also part of Dart SDK.
Or you want to say that the Entity Framework are also the part of Microsoft .NET Framework only because it are developed by the Microsoft and it intended to use only with Microsoft .NET Framework?
I don't agree with such kind of conclusions.
I don't think that dart-style, polymer-dart, angular, dartdoc, fletch, sky, dev_compiler, dart-services etc arfe part pf Dart SDK (which are only the subject of this issue).
P.S.
For me it is not very reassuring figure (the absence of any case of interest from other developers with Github accounts) in the sense that no one takes Dart SDK seriously and hardly anyone will do a serious contribution into that project.

All the repos are listed are part of the dart eco system, and all the commits and contributors in all of those repos show how much google is investing in dart. That was the only point I was trying to make.

For me it is not very reassuring figure (the absence of any case of interest from other developers with Github accounts) in the sense that no one takes Dart SDK seriously and hardly anyone will do a serious contribution into that project.

Okay, so you have answered your own question, great!  :+1:  Dart is not popular enough to your taste, that is fine. Maybe typescript fits your better, who knows, try it out. Can we mark this issue as resolved ?

Okay, so you have answered your own question, great!  :+1: Dart is not popular enough to your taste, that is fine. Maybe typescript fits your better, who knows, try it out. Can we mark this issue as resolved ?

No, and no again. Because I ask not about (as you say) dart eco system but I ask about open source project called Dart SDK which are in this repository (and was moved here no so long ago).
All other projects are not related to Dart SDK so I cannot take all of them as an answer to question.
Dart SDK was moved on Github but where the crowd of willing to help develop Dart SDK that they will use for yourself in the future?

Okay, so you have answered your own question, great!
Unfortunately I don't answered my own question.
Rather on the contrary, your statements of such kind brought me even more confusing.

Dart is not popular enough not by my taste (this is only your conclusion). Dart is not popular enough by the Github statistics.
And this was a reason to create this issue.
Dart SDK rule the roast (was moved to Github) and at the same time Github statistics displays the results that not who does not have interest.
In the opposit, I have an interest.
But I am afraid that I will spend wasting their time on that what by the statistics is not popular.
Statistics are not a my taste (as you love to argue when exists lack of good results).
Statistics is a stubborn thing. And your arguments was, unfortunately, not based on statistical data but they are mostly was an arguments that if it not in your taste then you can don't use it but use something other.

I don't think this discussion is relevant in the issue tracker.

I don't think this discussion is relevant in the issue tracker.

OK. This is not a right place for such question.
I am sorry.
Do you recommend that better to ask such question in the mass media?


Update Get-SPSecureStoreApplication.md

Filled in missing text/format updates.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-server/Get-SPSecureStoreApplication.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Publish-Binary jobs failing in CI

Publish-Binary seems to be failing in master. Example failing run: https://github.com/alcionai/corso/actions/runs/3807811531/jobs/6478153930

The error in Publish-Image was just a one-off.


Possible to tag specific versions beyond "package"?

It's hard to know which exact version is being deployed with the "package" tag, could specific version numbers be tagged also?
Hard to tell just exactly a new package comes out tho?

https://github.com/melmothx/amusewiki-debian-packages/commits/master

Done: rojen/amusewiki:package-2.551
I created a docker image named amw_version to get the version number of Amusewiki. When Github Actions is run, the amw_version image will be run and the version number can be assigned.
    - name: Build the Docker image version
      run: docker build packages.amusewiki.org/ --file packages.amusewiki.org/Dockerfile.getversion --tag amw_version

    - name: Build the Docker image
      run: docker build packages.amusewiki.org/ --file packages.amusewiki.org/Dockerfile --tag rojen/amusewiki:latest --tag rojen/amusewiki:package --tag rojen/amusewiki:package-$(docker run amw_version) --build-arg AMW_WORKERS=5

    - name: Docker Push
      run: docker push rojen/amusewiki:package; docker push rojen/amusewiki:latest; docker push rojen/amusewiki:package-$(docker run amw_version)

I couldn't think of an easier way. Versioning is currently only possible for the package tag.

Amazing, tysm!


New: Getting Started Page and Button (fixes #101)

Mostly copied from the GitHub README, with a few tweaks and additions.

@IanVS @ilyavolodin what's the status of this?

I need to expand the section about installing globally vs. locally.  Other than that, I think it's ready, unless someone has better ideas.

It doesn't have to be perfect in the first go-around. If it's good enough now, let's make it live and you can continue working on it. The number of issues related to this is growing, so I don't think we need to hold off for perfection.

OK, I'm fine with that.  Continuous deployment FTW!  :smiley_cat:

Ok, let's do it

:clap: :clap: :+1:


GH-2723: Fix NPE in DelegatingInvocableHandler

Resolves https://github.com/spring-projects/spring-kafka/issues/2723
Previously, it was possible for handlerReturnsMessage to return null when a cachedHandlers was present, causing an NPE when unboxing the Boolean value.
Ensure that the handlerReturnsMessage map is populated before adding the handler to cachedHandlers.
cherry-pick to 2.9.x

... and cherry-picked to 2.9.x.


[FEATURE] Replica offline rebuild over SPDK

Is your feature request related to a problem? Please describe (👍 if you like this request)
Due to some SPDK API missing in Longhorn v1.5.0 release, we will launch the offline rebuild feature first.
Describe the solution you'd like
When a degraded SPDK volume is attached with frontend disabled, Longhorn can do offline rebuild for the volume
Describe alternatives you've considered
N/A
Additional context
N/A

Let use https://github.com/longhorn/longhorn/issues/6071 to test instead. Closing first.


Optional gamma correction parameter

This PR adds gamma correction functionality to the /singleband and /rgb endpoints. It is requested by adding an optional gamma_factor parameter.
An important observation about enabling this functionality is that the exponential function preserves the relative percentile ranges in the [0, 1] interval. So the computed percentiles in the metadata can be carried through after gamma correcting a tile.

Thanks for the implementation. Can you say a bit more about the use case for this? Any reason why this can't be done offline (during preprocessing) or using /compute?

Thanks for the implementation. Can you say a bit more about the use case for this? Any reason why this can't be done offline (during preprocessing) or using /compute?

We use terracotta to display images customers purchase at SkyFi. For true colour 3-band composites, rendering the data linearly does not provide a representation that is similar to what the human eye would perceive. Applying a gamma correction between 1.6 and 2.2, on an otherwise linear colour space makes for something that is a lot closer to a “natural colour composite”. We also want the preview on the map to be as close as possible to the png previews we send customers along with the raster, to which gamma correction is applied.
Regarding the option of doing it offline, we would like to offer users the ability to adjust min/max and gamma factor on the fly. The /compute endpoint also only outputs a single band image and cannot use the precomputed metadata for color stretching.
I also think gamma correction would be a good addition to the capabilities of terracotta since it’s a standard and common processing technique, and its implementation doesn’t really affect any other functionality.

FYI in rio-tiler/titiler we use https://github.com/vincentsarago/color-operations (fork of mapbox/rio-color), Just sharing if you want to support more color operations in the future ;-)
https://github.com/cogeotiff/rio-tiler/blob/dd5ce03f8f463ec93f3a8787d7155d318397cd7c/rio_tiler/models.py#L524-L536

Thanks @vincentsarago! I like this a lot, and a feature like this has been on the roadmap for a long time: #23.
I'd strongly prefer an implementation that doesn't assume a specific color transformation like gamma, and instead implements support for a range of transforms (like the ones provided via color-operations / rio-color). @biserhong do you think that would be feasible?

@vincentsarago @dionhaefner To be honest, I also used rio-color's implementation of the same functionality but had to change it a bit to handle the float case (so color-operations actually has almost identical functions).
However, I added color-operations as a dependency to use your implementation.
Some notes:

You still need a wrapper gamma_correction function to handle normalization and rescaling before stretching.
As far as I can tell we essentially cannot use the operations parsing because terracotta is predicated on directly working only on single bands.
To be able to string together several color operations and still reuse the precomputed percentiles would probably have to be thought through as well to see if it would work in all cases.

Thanks @biserhong !
I'm hesitant to introduce features that complicate the API for a singular use case like gamma correction. I can see how this is probably fine for the few most important use cases, but inevitably leads to a kitchen sink of parameters over time that becomes a nightmare to clean up / refactor later on.
A for me much more sustainable design would be to introduce a parameter like /rgb/x/y/z.png?color_transform="gamma R 0.5" that exposes a collection of methods behind a single API. Would that fit your needs?

Thanks @biserhong !
I'm hesitant to introduce features that complicate the API for a singular use case like gamma correction. I can see how this is probably fine for the few most important use cases, but inevitably leads to a kitchen sink of parameters over time that becomes a nightmare to clean up / refactor later on.
A for me much more sustainable design would be to introduce a parameter like /rgb/x/y/z.png?color_transform="gamma R 0.5" that exposes a collection of methods behind a single API. Would that fit your needs?

It would work for me.
I'll have to check what each of the color transforms does exactly and it might turn out that for some transformation we might not be able to use the precomputed percentiles (it might also be ok, I just don't know). Are you ok with that? @vincentsarago do you have any input on this?

Percentiles are stable under any monotonous map, so we should be fine for all operations that are applied band-wise. In other cases, I think it's okay to be slightly off – the practical impact of that should be small (of course it should be documented explicitly that the given percentiles relate to untransformed data).

Sorry this took so long, I had to focus on some other work for a bit.
@dionhaefner Can you take a look at the latest commit and let me know if you agree with the approach?
I'll clean up the rest of the PR and tidy up the code and variables if we agree to continue this way.

Awesome @biserhong! I like this a lot, especially how we specify stretch ranges in untransformed space which should work even with multi-band transforms.
I reckon there will be quite a bit of testing required to make sure scaling works as expected but from a UX perspective I really like it, so should be good to port to other endpoints as well.

Thanks for the quick feedback @dionhaefner! I'll try to get something more complete this week.


Update generate_uuid.py

Support for current year

Addinf IP called an RPC method via Zeek or EID 5712
relationship_id: REL-2022-0188
name: IP called RPC Method
contributors:
- Hamza OUADIÂ @Cyb3rSn0rlax
attack:
  data_source: Network Traffic
  data_component: network connection creation
behavior:
  source: ip
  relationship: called
  target: rpc method
security_events:
- event_id: dce_rpc_request
  name: DCE-RPC Operation.
  platform: Zeek
  audit_category: null
  audit_sub_category: null
  log_channel: null
  log_provider: null
- event_id: 5712
  name: A Remote Procedure Call (RPC) was attempted.
  platform: Windows
  audit_category: Process Tracking
  audit_sub_category: RPC events
  log_channel: null
  log_provider: null
refenrences:
- https://docs.microsoft.com/en-us/windows/security/threat-protection/auditing/event-5712
note:
- It appears that the event id 5712 event never occurs.

We need to remove 5712 from the RPC file and create another one to also cover enpodint/host RPC ETW events. SilkETW would be easy to use for a basic scenario.


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target_44d8cc1b-0a16-491e-b46d-ba6d45f87629/pull/1 is merged into live branch.
Auto archive content to https://github.com/OPS-E2E-PPE/docs-archive-test-target_44d8cc1b-0a16-491e-b46d-ba6d45f87629.git

Docs Build status updates of commit 2621158:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error]

Cannot sync git repo to specified commit because branch Archive_master_2019-09-29-06-17-39 has been deleted or has been force pushed: fatal: Couldn't find remote ref Archive_master_2019-09-29-06-17-39

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


chore: use uv run with frozen

What is the current behavior?

Issue URL:
What is the new behavior?

Does this introduce a breaking change?

[ ] Yes
[ ] No

Other information

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

Project coverage is 100.00%. Comparing base (0853402) to head (f77499b).

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #238   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         3
  Lines           55        55
=========================================
  Hits            55        55

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.