added ifftshift and fftshift solving issue #26989

this PR implements ifftshift and fftshift in the signal module as it was missing in signal #26989

@Gurpreetsingh9465 can you please check failed build errors

sir, any idea on how much time will it take?
used following commands
!git clone https://github.com/Gurpreetsingh9465/tensorflow
!sudo apt-get install pkg-config zip g++ zlib1g-dev unzip python
!wget https://github.com/bazelbuild/bazel/releases/download/0.24.0/bazel-0.24.0-installer-linux-x86_64.sh
!chmod +x bazel-0.24.0-installer-linux-x86_64.sh
!sudo bash ./bazel-0.24.0-installer-linux-x86_64.sh
cd tensorflow
!git checkout gurpreetsingh-patch-1
bazel run tensorflow/tools/api/tests:api_compatibility_test -- --update_goldens=True

kernal died while running

@Gurpreetsingh9465 can you please check build errors.

@rthadur sir i am bit busy in writing gsoc proposal once that  is done i will continue working on this.(most probably by tomorrow)

any idea about how many steps does it will take right now it is in 7000?

sir, API compatibility test giving me no error

Right, so you should have modified files in your clone of tensorflow. Add
them to the PR.
On Wed, Apr 3, 2019 at 9:38 AM Gurpreet singh<EMAIL_ADDRESS>wrote:

[image: Screenshot from 2019-04-03 21-55-49]
https://user-images.githubusercontent.com/32022215/55496324-6b60d980-565c-11e9-8913-77b9b2dce27e.png
sir, API compatibility test giving me no error
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/pull/27075#issuecomment-479565415,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAATxamuWnvdxlTIQ9cMJ40MH6CU9IS9ks5vdNkYgaJpZM4cFaiv
.

--

Alex

done :+1:

sir, manip_ops.roll does not takes name=None as a argument

Sir, can you guide me in replacing ifftshift/roll with only ifftshift

@Gurpreetsingh9465 I don't think the current API allows that. Please file an issue

Added issue #27665

Sir, not able to see the error in the copybara check.

======================================================================
ERROR: testDefinition (main.FFTShiftTest)
testDefinition (main.FFTShiftTest)
Traceback (most recent call last):
File "/build/work/e94c2349cdfe73aa2a35b0124f5c93fc82b5/google3/runfiles/google3/third_party/py/absl/third_party/unittest3_backport/case.py", line 37, in testPartExecutor
yield
File "/build/work/e94c2349cdfe73aa2a35b0124f5c93fc82b5/google3/runfiles/google3/third_party/py/absl/third_party/unittest3_backport/case.py", line 162, in run
testMethod()
File "/build/work/e94c2349cdfe73aa2a35b0124f5c93fc82b5/google3/runfiles/google3/third_party/tensorflow/python/kernel_tests/signal/fft_ops_test.py", line 564, in testDefinition
self.assertAllEqual(fft_ops.fftshift(x).numpy(), y)
File "/build/work/e94c2349cdfe73aa2a35b0124f5c93fc82b5/google3/runfiles/google3/third_party/tensorflow/python/ops/signal/fft_ops.py", line 368, in fftshift
return manip_ops.roll(x, shift, axes)
File "/build/work/e94c2349cdfe73aa2a35b0124f5c93fc82b5/google3/runfiles/google3/third_party/tensorflow/python/ops/manip_ops.py", line 30, in roll
return _gen_manip_ops.roll(input, shift, axis)
File "/build/work/e94c2349cdfe73aa2a35b0124f5c93fc82b5/google3/runfiles/google3/third_party/tensorflow/python/ops/gen_manip_ops.py", line 93, in roll
"Roll", input=input, shift=shift, axis=axis, name=name)
File "/build/work/e94c2349cdfe73aa2a35b0124f5c93fc82b5/google3/runfiles/google3/third_party/tensorflow/python/framework/op_def_library.py", line 531, in _apply_op_helper
raise err
TypeError: Failed to convert object of type <type 'list'> to Tensor. Contents: [Dimension(4)]. Consider casting elements to a supported type.

======================================================================
ERROR: testDefinition (main.FFTShiftTest)
testDefinition (main.FFTShiftTest)
Traceback (most recent call last):
File "/build/work/e94c2349cdfe73aa2a35b0124f5c93fc82b5/google3/runfiles/google3/third_party/py/absl/third_party/unittest3_backport/case.py", line 37, in testPartExecutor
yield
File "/build/work/e94c2349cdfe73aa2a35b0124f5c93fc82b5/google3/runfiles/google3/third_party/py/absl/third_party/unittest3_backport/case.py", line 162, in run
testMethod()
File "/build/work/e94c2349cdfe73aa2a35b0124f5c93fc82b5/google3/runfiles/google3/third_party/tensorflow/python/kernel_tests/signal/fft_ops_test.py", line 564, in testDefinition
self.assertAllEqual(fft_ops.fftshift(x).numpy(), y)
File "/build/work/e94c2349cdfe73aa2a35b0124f5c93fc82b5/google3/runfiles/google3/third_party/tensorflow/python/ops/signal/fft_ops.py", line 368, in fftshift
return manip_ops.roll(x, shift, axes)
File "/build/work/e94c2349cdfe73aa2a35b0124f5c93fc82b5/google3/runfiles/google3/third_party/tensorflow/python/ops/manip_ops.py", line 30, in roll
return _gen_manip_ops.roll(input, shift, axis)
File "/build/work/e94c2349cdfe73aa2a35b0124f5c93fc82b5/google3/runfiles/google3/third_party/tensorflow/python/ops/gen_manip_ops.py", line 93, in roll
"Roll", input=input, shift=shift, axis=axis, name=name)
File "/build/work/e94c2349cdfe73aa2a35b0124f5c93fc82b5/google3/runfiles/google3/third_party/tensorflow/python/framework/op_def_library.py", line 531, in _apply_op_helper
raise err
TypeError: Failed to convert object of type <type 'list'> to Tensor. Contents: [Dimension(4)]. Consider casting elements to a supported type.

tested on windows and linux. sir, linux doesn't not support tensor.numpy() while windows have this functionality.

@Gurpreetsingh9465 please don't send me screenshots; I don't think this helps the discussion. You should know how to copy-paste the relevant code snippets.
Moreover, both test runs you show me show the tests passing, so I don't understand what you're trying to claim here.

@alextp will take care of that next time. the latest commit will solve pylint error. :smile:
pylint fft_ops.py --indent-string="  "
no whitespace error found

@rthadur @alextp @rryan any changes required. I didn't find error in the files which are modified in the logs.

@Gurpreetsingh9465  changes are breaking internal tests , can you test with --test_env=TF2_BEHAVIOR=1  and try to fix the issues

@rthadur
bazel run tensorflow/tools/api/tests:api_compatibility_test -- --test_env=TF2_BEHAVIOR=1
error:
Unknown command line flag 'test_env'
the flag might be something else

@rthadur
bazel run tensorflow/tools/api/tests:api_compatibility_test -- --test_env=TF2_BEHAVIOR=1
error:
Unknown command line flag 'test_env'
the flag might be something else

@alextp can you please assist

--test_env only applies to bazel test, not bazel run.
Use bazel build followed by TF2_BEHAVIOR=1 bazel-bin/path/to/test

--test_env only applies to bazel test, not bazel run.
Use bazel build followed by TF2_BEHAVIOR=1 bazel-bin/path/to/test

bazel build TF2_BEHAVIOR=1 bazel-bin/tools/api/tests:api_compatibility_test
target 'TF2_BEHAVIOR=1' not declared in package 'tensorflow' defined by
tensorflow/BUILD
also tried
bazel test tools/api/tests:api_compatibility_test -- --test_env=TF2_BEHAVIOR=1
no such target '//tensorflow:-test_env=TF2_BEHAVIOR=1': target '-test_env=TF2_BEHAVIOR=1'
bazel run tensorflow/tools/api/tests:api_compatibility_test // without any flag
FAIL: testAPIBackwardsCompatibilityV2 (main.ApiCompatibilityTest)
testAPIBackwardsCompatibilityV2 (main.ApiCompatibilityTest)
Traceback (most recent call last):
File "/home/jarvis/.cache/bazel/_bazel_jarvis/7f3ec7e1988613a7d6a01dd8eab38aa0/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/tools/api/tests/api_compatibility_test.runfiles/org_tensorflow/tensorflow/tools/api/tests/api_compatibility_test.py", line 394, in testAPIBackwardsCompatibilityV2
omit_golden_symbols_map=omit_golden_symbols_map)
File "/home/jarvis/.cache/bazel/_bazel_jarvis/7f3ec7e1988613a7d6a01dd8eab38aa0/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/tools/api/tests/api_compatibility_test.runfiles/org_tensorflow/tensorflow/tools/api/tests/api_compatibility_test.py", line 349, in _checkBackwardsCompatibility
api_version=api_version)
File "/home/jarvis/.cache/bazel/_bazel_jarvis/7f3ec7e1988613a7d6a01dd8eab38aa0/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/tools/api/tests/api_compatibility_test.runfiles/org_tensorflow/tensorflow/tools/api/tests/api_compatibility_test.py", line 270, in _AssertProtoDictEquals
self.fail('%d differences found between API and golden.' % diff_count)
File "/home/jarvis/.cache/bazel/_bazel_jarvis/7f3ec7e1988613a7d6a01dd8eab38aa0/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/tools/api/tests/api_compatibility_test.runfiles/absl_py/absl/testing/absltest.py", line 1609, in fail
return super(TestCase, self).fail(self._formatMessage(prefix, msg))
AssertionError: 1 differences found between API and golden.

Just do
bazel build tensorflow/tools/api/tests:api_compatibility_test
bazel-bin/tensorflow/tools/api/tests:api_compatibility_test
--update_goldens=True
just as it says in the test error message.
On Thu, Apr 25, 2019 at 5:29 AM Gurpreet singh<EMAIL_ADDRESS>wrote:

--test_env only applies to bazel test, not bazel run.
Use bazel build followed by TF2_BEHAVIOR=1 bazel-bin/path/to/test
bazel build TF2_BEHAVIOR=1 bazel-bin/tools/api/tests:api_compatibility_test
target 'TF2_BEHAVIOR=1' not declared in package 'tensorflow' defined by
tensorflow/BUILD
also tried
bazel test tools/api/tests:api_compatibility_test --
--test_env=TF2_BEHAVIOR=1
no such target '//tensorflow:-test_env=TF2_BEHAVIOR=1': target
'-test_env=TF2_BEHAVIOR=1'
bazel run tensorflow/tools/api/tests:api_compatibility_test // without
any flag
FAIL: testAPIBackwardsCompatibilityV2 (main.ApiCompatibilityTest)
testAPIBackwardsCompatibilityV2 (main.ApiCompatibilityTest)
Traceback (most recent call last):
File
"/home/jarvis/.cache/bazel/_bazel_jarvis/7f3ec7e1988613a7d6a01dd8eab38aa0/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/tools/api/tests/api_compatibility_test.runfiles/org_tensorflow/tensorflow/tools/api/tests/api_compatibility_test.py",
line 394, in testAPIBackwardsCompatibilityV2
omit_golden_symbols_map=omit_golden_symbols_map)
File
"/home/jarvis/.cache/bazel/_bazel_jarvis/7f3ec7e1988613a7d6a01dd8eab38aa0/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/tools/api/tests/api_compatibility_test.runfiles/org_tensorflow/tensorflow/tools/api/tests/api_compatibility_test.py",
line 349, in _checkBackwardsCompatibility
api_version=api_version)
File
"/home/jarvis/.cache/bazel/_bazel_jarvis/7f3ec7e1988613a7d6a01dd8eab38aa0/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/tools/api/tests/api_compatibility_test.runfiles/org_tensorflow/tensorflow/tools/api/tests/api_compatibility_test.py",
line 270, in _AssertProtoDictEquals
self.fail('%d differences found between API and golden.' % diff_count)
File
"/home/jarvis/.cache/bazel/_bazel_jarvis/7f3ec7e1988613a7d6a01dd8eab38aa0/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/tools/api/tests/api_compatibility_test.runfiles/absl_py/absl/testing/absltest.py",
line 1609, in fail
return super(TestCase, self).fail(self._formatMessage(prefix, msg))
AssertionError: 1 differences found between API and golden.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/pull/27075#issuecomment-486649695,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAABHRJEQTFJDNUUV3X2TYDPSGPZBANCNFSM4HAVVCXQ
.

--

Alex

$ bazel build tensorflow/tools/api/tests:api_compatibility_test
$ bazel-bin/tensorflow/tools/api/tests/api_compatibility_test \
      --update_goldens True

[ RUN      ] ApiCompatibilityTest.testAPIBackwardsCompatibility
[       OK ] ApiCompatibilityTest.testAPIBackwardsCompatibility
[ RUN      ] ApiCompatibilityTest.testAPIBackwardsCompatibilityV1
[       OK ] ApiCompatibilityTest.testAPIBackwardsCompatibilityV2
[ RUN      ] ApiCompatibilityTest.testNoSubclassOfMessage
[       OK ] ApiCompatibilityTest.testNoSubclassOfMessage
[ RUN      ] ApiCompatibilityTest.testNoSubclassOfMessageV1
[       OK ] ApiCompatibilityTest.testNoSubclassOfMessageV1
[ RUN      ] ApiCompatibilityTest.testNoSubclassOfMessageV2
[       OK ] ApiCompatibilityTest.testNoSubclassOfMessageV2
[ RUN      ] ApiCompatibilityTest.test_session
[  SKIPPED ] ApiCompatibilityTest.test_session
Ran 7 tests in 6.052s
OK (skipped=1)
this changes
	modified:   tensorflow/tools/api/golden/v2/tensorflow.summary.pbtxt
do i need to commit changes of this file?

Yes
On Thu, Apr 25, 2019 at 9:01 AM Gurpreet singh<EMAIL_ADDRESS>wrote:

$ bazel build tensorflow/tools/api/tests:api_compatibility_test
$ bazel-bin/tensorflow/tools/api/tests/api_compatibility_test
--update_goldens True
[ RUN ] ApiCompatibilityTest.testAPIBackwardsCompatibility
[ OK ] ApiCompatibilityTest.testAPIBackwardsCompatibility
[ RUN ] ApiCompatibilityTest.testAPIBackwardsCompatibilityV1
[ OK ] ApiCompatibilityTest.testAPIBackwardsCompatibilityV2
[ RUN ] ApiCompatibilityTest.testNoSubclassOfMessage
[ OK ] ApiCompatibilityTest.testNoSubclassOfMessage
[ RUN ] ApiCompatibilityTest.testNoSubclassOfMessageV1
[ OK ] ApiCompatibilityTest.testNoSubclassOfMessageV1
[ RUN ] ApiCompatibilityTest.testNoSubclassOfMessageV2
[ OK ] ApiCompatibilityTest.testNoSubclassOfMessageV2
[ RUN ] ApiCompatibilityTest.test_session
[ SKIPPED ] ApiCompatibilityTest.test_session
Ran 7 tests in 6.052s
OK (skipped=1)
this changes
modified: tensorflow/tools/api/golden/v2/tensorflow.summary.pbtxt
do i need to commit changes of this file?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/pull/27075#issuecomment-486731946,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAABHROPLTDPZ7M2PW643YTPSHIVJANCNFSM4HAVVCXQ
.

--

Alex

@alextp done :+1:

@alextp done :+1:

Just a quick note, the fft2d is broken in tensorflow when you feed it complex data.  This should impact the checks for *fftshift.
#28192

Just a quick note, the fft2d is broken in tensorflow when you feed it complex data. This should impact the checks for *fftshift.
#28192

is anyone working on this?

Not thatI know of.
On Fri, Apr 26, 2019 at 9:39 PM Gurpreet singh<EMAIL_ADDRESS>wrote:

Just a quick note, the fft2d is broken in tensorflow when you feed it
complex data. This should impact the checks for *fftshift.
#28192 https://github.com/tensorflow/tensorflow/issues/28192
is anyone working on this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/pull/27075#issuecomment-487253947,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAABHRPAOCAZZLRC5CSETULPSPKHXANCNFSM4HAVVCXQ
.

--

Alex

The tests are still failing with --test_env=TF2_BEHAVIOR=1

summary.pbtxt copied the content of this file


Extra decimal places being added to transaction values

Hi AidStream,
The British Council have highlighted a potential issue with the csv transaction importer.
Some values are having extra decimal places added to them, despite the value in the csv file being correct.
For example, the following data was loaded to AidStream using the importer:

But this was originally displayed in AidStream as follows (this has since been manually amended):

Please can this be looked into?
Thanks,
Josh

Hello Josh,
We have created the CSV file and tested every possible result, the amount is being imported as it is without extra decimal. So if you could provide the CSV through which the error has been reported, we could solve the issue.
Looking forward to your response.
Regards,
Anjana

Hey Anjana,
Thanks for looking into this!
Please find the original csv attached. The values hightlighted in BLUE are the ones which are in the csv as .00 but have been output in the XML as .0000000
Many thanks,
Josh
simple_transaction SPHEIR_06Jun2019 uploaded_errors highlighted (2).xlsx

Hello Josh,
We looked into the file that you have provided. Sorry if we were unclear before but you are trying to import "xlsx" file type, Aidstream only supports CSV file import for now. So, you are getting the inappropriate result. Please try to import CSV file and write us back if there is any problem. And apologies for the late response.
Regards,
Sonika

Hi Sonika,
Thanks for the explanation - I should have checked that myself!
I'll pass this on to the publisher.
Thanks,
Josh


MQTT Cover Fix Assumed State

Description:
Usually, if an MQTT platform has an optimistic mode, it means that assumed_state will also be True. This is usually used in cases where the actual state of a device (such as a cover) is unknown and causes the front-end to show the up AND down actions.
Right now, if optimistic is False, only one action is shown as seen below. However, if optimistic is True, ideally both actions should be enabled.

Related issue (if applicable): fixes #
Example entry for configuration.yaml (if applicable):
cover:
  - platform: mqtt
    optimistic: True
    # ...

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass

If the code does not interact with devices:

[x] Tests have been added to verify that the new code works.

(In my case, this would preferably be in a bug-fix release such as 0.70.1, as this is a pretty important part of the new cover component for esphomeyaml and since this is actually a bug fix. Of course I understand if this should rather fall into the usual full release cycle)

LGTM
Would the considerations I made in #14401 and #14151 also apply to the cover ?

@dgomes Probably, yes. But I think in the case of the cover it's not that important, since the frontend doesn't seem to show the state if in optimistic mode (the up/down buttons are there to show the state)
Also there are probably few use-cases where one needs the underlying state from templates/automations, so I don't think I'll do that in this PR.

well the obvious use case would be to avoid open/close the cover when the cover is already open/closed

My understanding of optimistic is different:

optimistic means that you think you know the state even when you don't have any sensor to support. - your optimistic interpretation leads to a nihilist situation in which any state goes, so all cover is actually in all states at once.

Well the Home Assistant property we're declaring is called assumed_state after all.
Also, consider this: I have a cover, which is optimistic as it does not any sensor reporting the actual state of the cover. Then:

I open the cover through the frontend. After this Home Assistant will only show the close button as Home Assistant now thinks the cover is open.
Home Assistant shuts down due to an update/reboot or whatever.
During this down period I manually close the cover through a push button I installed. The cover is now closed.
Home Assistant starts up again and thinks through the smart recorder recovery that the cover is open.
After a while I try to close the cover again through Home Assistant. But: As Home Assistant thinks the cover is closed it only displays open button. So I can't close the cover through Home Assistant -> bad UX

The same would happen in a more frequent scenario:

I press the open cover button, because of optimistic mode Home Assistant now thinks the cover is immediately open.
While the cover is opening, I decide that that wasn't what I wanted and press the stop button again. Home Assistant still thinks the cover is open.
I attempt to undo my action and close the cover again, but again Home Assistant only shows the open button.

Of course the latter scenario could be handled manually by setting assumed state to true once a stop happens, but that would just make things more complicated and once again a semi-bad UX imo.
To clarify, sure we can recover the state from the recorder, no problem. But we should definitely not try to prevent the user from opening a cover twice (by setting assumed_state to something else than optimistic)

upon restart the state should be set to intermediate (providing all the buttons UP & DOWN)
upon stop the state should also be intermediate (again all buttons)

It's true that a human can always mess around with the state, but thats why it's optimistic (we expects that no one does and everything is in sync)
How to recover from a closed cover that optimistically we thing is open ?

make the stop button always available (see above, when you press stop)

So I feel like we failed by naming the option optimistic for MQTT and not assumed. Because optimistic != assumed.
Optimistic: when sending the command, assume it succeeds and update the local cache of the state. Just being optimistic doesn't mean perse that we don't get a state reported, it might just be very slow.
Assumed: we never get a state reported. Be optimistic when sending commands.


Standardise logging of failed authentication attempts in internal SSH

Continuing on from #13953 continue to improve and standardise
logging from internal SSH.
Also updates the fail2ban setup
Signed-off-by: Andrew Thornton<EMAIL_ADDRESS>

Codecov Report

Merging #13962 (701fbbd) into master (1837e64) will decrease coverage by 0.12%.
The diff coverage is 32.14%.

@@            Coverage Diff             @@
##           master   #13962      +/-   ##
==========================================
- Coverage   42.25%   42.12%   -0.13%
==========================================
  Files         710      710
  Lines       77226    77250      +24
==========================================
- Hits        32628    32541      -87
- Misses      39235    39359     +124
+ Partials     5363     5350      -13

Impacted Files
Coverage Δ

modules/ssh/ssh.go
43.19% <32.14%> (-1.03%)
:arrow_down:

modules/notification/ui/ui.go
84.72% <0.00%> (-11.12%)
:arrow_down:

models/issue_comment.go
45.46% <0.00%> (-7.26%)
:arrow_down:

modules/notification/mail/mail.go
33.33% <0.00%> (-5.75%)
:arrow_down:

modules/git/commit.go
49.67% <0.00%> (-3.95%)
:arrow_down:

modules/notification/base/null.go
74.28% <0.00%> (-2.86%)
:arrow_down:

models/unit.go
46.57% <0.00%> (-2.74%)
:arrow_down:

modules/notification/notification.go
83.92% <0.00%> (-2.68%)
:arrow_down:

modules/charset/charset.go
68.53% <0.00%> (-2.25%)
:arrow_down:

services/gitdiff/gitdiff.go
69.05% <0.00%> (-1.94%)
:arrow_down:

... and 7 more

Continue to review full report at Codecov.

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


MongoError: can't map file memory  on Raspberry PI 3

Hello,
Trying this out on a Raspberry PI 3. I am just learning MongoDB stuff.
I get the following error after backfilling gdax.BTC-USD & gdax.LTC-USD
MongoError: can't map file memory - mongo requires 64 bit build for larger datasets
I realize now with 32 bit OS the size of the DB is limited to 2gb... SO I did:
$ show dbs
$ use zenbot4
$ show collections
$ db.trades.remove( { selector : 'gdax.LTC-USD'} )

Now zenbot4 DB is still 1.99926GB.
If I do:
$ db.repairDatabase()

 "errmsg" : "exception: can't map file memory - mongo requires 64 fit build for larger datasets"

My questions are:
How do I reduce the size of the DB?
Is there a work around to the database file size limit?
If i just drop the DB I assume I can just backfill again BUT if I continue backfill/trading over the next few weeks I am assuming the DB will max out again?
If data > 90 days can be removed does this mean the database will just expand in size anyway unless repaired each time there is a backfill?
I thinking running zenbot on a Raspberry Pi would be awesome I am just not sure how t get around the database size limitation.
Thanks!

Running mongo on a 32 bit machine is obviously a pretty bad idea :) It pre-acquires disk space and uses padding for performance, and I don't think you can compact it without the repair command, unfortunately. Only other option is to drop the db periodically I guess.
One thing I'm thinking of to help the disk space issue, is having a "reaper" to periodically trim the dataset to a certain length while the trader is active. At least then it wouldn't balloon to the point where you'd be desperate to compact or drop it. I'm putting that on the list for 4.1 release.
Another idea I had is a "lite" mode for the trader, which would be a barebones option where Mongo wouldn't be needed. You could run simulations on a different server that has mongo, then deploy the trader without needing all the data still around.

these are good thoughts... i like the "lite" trader and "reaper" ideas.
i wonder what would be a better board than the RPI for this? would need 64bit OS, etc....

A guy named adifferent in our Discord channel is using Pine64 with Ubuntu and a 64GB sd card to run it and says it's working well :D

hmmm... yeah just saw that on discord. Thanks!

just a side note: the RPI 3 does have a 64-bit A53 ARM processor which SLES & openSUSE have distribution for yet have not tried. I assume the problems faced by the mongodb 2gb limit will cease but who knows?

@megrimm any luck on getting this to work on a RPI 3? I'm interested in buyin one just for this

not really... i gave up and am running on an old laptop now. if you give it
a shot with a 64 bit distro and it works out let us know!
cheers
On Tue, Jun 13, 2017 at 6:31 AM, selachiix<EMAIL_ADDRESS>wrote:

@megrimm https://github.com/megrimm any luck on getting this to work on
a RPI 3? I'm interested in buyin one just for this
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/carlos8f/zenbot/issues/171#issuecomment-308075256,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAIOr49a6QHQ0wav7iN_bemQ3-iXB0OQks5sDmTxgaJpZM4NhmpR
.

--

m.e.grimm, m.f.a, ed.m.
syracuse u., tc3
megrimm.net

i have the bot running on rpi 3...
On Tue, Jun 13, 2017, 12:45 PM megrimm<EMAIL_ADDRESS>wrote:

not really... i gave up and am running on an old laptop now. if you give it
a shot with a 64 bit distro and it works out let us know!
cheers
On Tue, Jun 13, 2017 at 6:31 AM, selachiix<EMAIL_ADDRESS>wrote:

@megrimm https://github.com/megrimm any luck on getting this to work
on
a RPI 3? I'm interested in buyin one just for this
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/carlos8f/zenbot/issues/171#issuecomment-308075256,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/AAIOr49a6QHQ0wav7iN_bemQ3-iXB0OQks5sDmTxgaJpZM4NhmpR
.

--

m.e.grimm, m.f.a, ed.m.
syracuse u., tc3
megrimm.net

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/carlos8f/zenbot/issues/171#issuecomment-308090594,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALhf8i9aM7eko7Cp3i7iz2WQQCrhSWGnks5sDnZCgaJpZM4NhmpR
.

@talvasconcelos Which OS you are running on RPI 3? 32-bit or 64-bit?

32 bit latest jessie
On Sat, Jul 1, 2017, 11:52 AM pushkarnagle<EMAIL_ADDRESS>wrote:

@talvasconcelos https://github.com/talvasconcelos Which OS you are
running on RPI 3? 32-bit or 64-bit?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/carlos8f/zenbot/issues/171#issuecomment-312425228,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALhf8v5I0U9N-7isk7Lt0PT2zufppg78ks5sJiTRgaJpZM4NhmpR
.

@talvasconcelos I'm working on getting zenbot up and running on the rpi 3 also. I'm running 32 bit w the latest jessie same as you, but mongodb is giving me hell. How'd you get mongo running properly  on your system? It works fine until I run zenbot commands that require it's use (then it crashes and won't run).

I know very little about MongoDB, but would a configurable TTL Index work to expire old data to keep the DB small?

Dear issue reporter,
We have slightly changed our github issue policy and would now kindly request folks that have questions that they ask them in our zenbot subreddit.
You can find it here: https://reddit.com/r/zenbot
This issue will be closed, but if you disagree with your ticket being marked as a question feel free to leave a comment defending your case.
Thanks for contributing time and effort!
Greetings,
🤖


Error in IE 11

Hi there,
I have come across an error in IE 11:
Syntax Error: node_modules/vue-js-toggle-button/src/Button.vue:40
The issue appears to be on these lines:
const contains = (object, title) => {     return typeof object === 'object' && object.hasOwnProperty(title)  }
I actually use the same syntax in my own project and that doesn't give an IE 11 issue - so possibly the error is related to how this plugin is compiled?
If I can be of any other help let me know.

Hey !
Got exactly the same problem...
Would be nice if we can find a fix :)

Any updates?


Include docs about dual-stack config

Signed-off-by: Manuel Buil<EMAIL_ADDRESS>For Rancher (product) docs only
When contributing to docs, please update the versioned docs. For example, the docs in the v2.6 folder of the rancher folder.
Doc versions older than the latest minor version should only be updated to fix inaccuracies or make minor updates as necessary. The majority of new content should be added to the folder for the latest minor version.

What yaml am I meant to adjust to make this work?  Do I need to tear down the cluster and reinstall with the new options?  Where do those options go?

What yaml am I meant to adjust to make this work? Do I need to tear down the cluster and reinstall with the new options? Where do those options go?

Options go into this file: https://rancher.com/docs/k3s/latest/en/installation/install-options/#configuration-file
Yes, you need to redeploy


Consolidate install, build, and test functionality and dependencies

This PR does many significant things

Resolves #940 and #964 by creating a standard list of pip, host (apt), and package requirements
This creates a canonical way for developers (that matches our Travis build) leveraging Docker

To build a base docker image
Install forseti and it dependencies
Perform unittest and pylint with consistency

This consolidates various build, install, deployment, scripts into one and names it installer
This removes the unnecessary iam-explain deployment template
Addresses various lint issues

All done. PTAL @ahoying


Add ability to ignore logs by predicate

This PR adds more granular control over what should be logged.
use case: i need to log event with any LogLevel but only it has Exception property.
code:
configuration.WriteTo.Sentry(sentryDsn.AbsoluteUri,
    restrictedToMinimumLevel: LogEventLevel.Information,
    logIncludeSwitch: @event => @event.Exception != null);

Hi @msavencov,
Thank you for the contribution.
Does out of the box filtering work for you?
loggerConfigration
	.WriteTo.Logger(lc => lc
		.Filter.ByIncludingOnly(f => f.Exception != null)
		.WriteTo.Sentry("your_dsn", restrictedToMinimumLevel: LogEventLevel.Information));

Or you have a special case?

Oh, yes, this code snippet is doing exactly the same thing as changes in my PR.
I did not know about that config possibilities.
So, you can close PR, its redundant. Thank you!


Fallback to system resolve if error file path not relative

Changes
Fixes #1944, where if you had a member include from your local compile, it was not resolving in the Problems view correctly.
How to test this PR

Run the test cases

Example file:
**free
// put this in YOURLIB/ASRCPF/AMBR.RPGLE
dcl-c MYNUMBER 27;

**free

# put this in your local workspace

/copy yourlib/asrcpf,ambr

dcl-s mytext char(1);

mytext = '1';

return;

After compiling the local workspace file, you should see the info message point to the member correctly.
Checklist

[x] have tested my change
[ ] have created one or more test cases
[ ] updated relevant documentation
[ ] Remove any/all console.logs I added
[ ] have added myself to the contributors' list in CONTRIBUTING.md

@sebjulliand Could you review this PR when you have time?
It works for me in both local vscode and merlin.

@sebjulliand Seb, can you review this?

@william-xiang If you have tested and are happy then I will accept your review.


useAnimatedReaction does not trigger when used with onLayout

Description
I'm attempting to build a horizontally scrollable tabs component using reanimated 2. The active tab should be centered by default. To do this, I need to measure all of the tabs to know how much to translate the container view, ie the "track"
To position the track correctly on the first render and also to know how much to translate based on the current tab index, I'm storing an array of { index: number, width: number} using a shared value:
const widths = useSharedValue<Array<{ index: number; width: number }>>([]);

I'm updating this shared value using the onLayout event:
const tabs = [
  {
    name: "Skin",
  },
  {
    name: "Hair style",
  },
  {
    name: "Hair color",
  },
  {
    name: "Facial hair",
  },
  {
    name: "Coat",
  },
];

...

{tabs.map((tab, index) => (
  <Animated.View
    key={tab.name}
    style={styles.tabItem}
    onLayout={(e) => {
      console.log("ON LAYOUT", widths.value.length);
      widths.value.push({ index, width: e.nativeEvent.layout.width });
    }}
  >
    <Text style={styles.text}>{tab.name}</Text>
  </Animated.View>
))}

And then updating the position using useAnimatedReaction:
const scrollToIndex = (index: number) => {
  "worklet";

  // ...omitted for brevity
};

useAnimatedReaction(
  () => {
      console.log("PREPARE ");
      return widths.value;
  },
  (res) => {
    console.log("REACTING", res);
    if (res.length < 1) return;

    scrollToIndex(0);
  }
);

I'm expecting to see the "prepare" and "react" functions execute after either each time the width.value is mutated OR once after all onLayouts have finished executing. In reality, the animated reaction is only executed once before anything renders:
EXPECTED CONSOLE OUTPUT:
PREPARE
REACTING Array []
ON LAYOUT 0
ON LAYOUT 1
ON LAYOUT 2
ON LAYOUT 3
ON LAYOUT 4
PREPARE
REACTING Array [...]

ACTUAL CONSOLE OUTPUT:
PREPARE
REACTING Array []
ON LAYOUT 0
ON LAYOUT 1
ON LAYOUT 2
ON LAYOUT 3
ON LAYOUT 4

I'm not sure if this because I'm not updating the reference of the shared value? I've tried widths.value = [...widths.value, ({ index, width: e.nativeEvent.layout.width }) but has issues with race conditions where each onLayout event overwrites the previous value.
I feel like measuring a list of elements and storing that information is a pretty common use case so I'd be really gratful if someone can tell me if I'm doing anything wrong! :)
Thanks,
Lee
Version
0.64.3
Output of npx react-native info
System:
OS: macOS 12.1
CPU: (10) arm64 Apple M1 Pro
Memory: 93.69 MB / 16.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 16.13.2 - /usr/local/bin/node
Yarn: 1.22.17 - /usr/local/bin/yarn
npm: 8.1.2 - /usr/local/bin/npm
Watchman: 2<IP_ADDRESS> - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.11.2 - /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 21.2, iOS 15.2, macOS 12.1, tvOS 15.2, watchOS 8.3
Android SDK:
API Levels: 29, 30, 31, 32
Build Tools: 30.0.2, 32.0.0, 32.1.0
System Images: android-30 | Google Play ARM 64 v8a, android-32 | Google APIs ARM 64 v8a
Android NDK: Not Found
IDEs:
Android Studio: 2021.1 AI-211.7628.21.2111.8092744
Xcode: 13.2.1/13C100 - /usr/bin/xcodebuild
Languages:
Java: 11.0.11 - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: 17.0.1 => 17.0.1
react-native: 0.64.3 => 0.64.3
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found
PACKAGE.JSON
{
  "name": "use-animated-reaction-repro",
  "version": "1.0.0",
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web",
    "eject": "expo eject"
  },
  "dependencies": {
    "expo": "~44.0.0",
    "expo-status-bar": "~1.2.0",
    "react": "17.0.1",
    "react-dom": "17.0.1",
    "react-native": "0.64.3",
    "react-native-gesture-handler": "~2.1.0",
    "react-native-reanimated": "~2.3.1",
    "react-native-web": "0.17.1"
  },
  "devDependencies": {
    "@babel/core": "^7.12.9",
    "@types/react": "~17.0.21",
    "@types/react-native": "~0.64.12",
    "typescript": "~4.3.5"
  },
  "private": true
}

Steps to reproduce

On iOS or Android...
Create shared value.
Render a list of
Add onLayout handler to
In handler, add width and index to shared value array.
Add useAnimatedReaction.
In the prepare function, return the shared value.
Add some kind of debug to observe that the "prepare" and "react" functions do not execute when the shared value is mutated.

Snack, code example, screenshot, or link to a repository
https://github.com/AcidNoX/use-animated-reaction-repro

I am so sorry - I have no idea how I managed to post this to the react-native git hub and not the react-native reanimated github. I need more coffee.


Add optional skill and stat point costs to skills & stats YAML

Not all skills and stats are equal cost in every system.  Both skills and stats should have an optional cost keyword.  Without the cost keyword, the default cost would be 1 point for each improvement.

This is in the newer standard for v1.0.0.


Ombudsteam

The Code of Conduct currently says the enforcement mechanism is:

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at<EMAIL_ADDRESS>All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.

The bigbang-owners list currently has most of the same people on it as the developer's list. Addressing such a list may be an intimidating or ineffective way of enforcing the Code of Conduct, especially considering the lack of gender diversity on the list.
It has been suggested that BigBang have an ombudsteam that deals with Code of Conduct enforcement specifically. I suppose that's modeled on the IETF:
https://www6.ietf.org/ombudsteam.html
Good idea. But how would such people be selected? What are their responsibilities? What infrastructure should they use?
(Maybe the answer is obvious and lightweight).

We can draw on some of the procedures that the IETF lays out here [section 4] to address what their responsibilities are and what infrastructure they should use: https://datatracker.ietf.org/doc/rfc7776/?include_text=1
But the IETF approach of having the Chair appoint members of the Ombudsteam for a 2 year period does not seem like a good fit for us.
We could go for a grounded-community approach: i.e. start off with members self-nominating, or being nominated by the community, and with rough consensus/voting/some other mechanism decide they are on the Ombudsteam.
As the community grows, we can revisit and perhaps put in place more formal procedures?

I think the ombudsteam can make recommendations (and the project leadership can enact those recommendations), but if those recommendations don't turn into a response, then that will make things a lot less effective. The model code of conduct doesn't describe how the response gets implemented, just that we all agree that there needs to be an appropriate response implemented for each complaint.

All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances.

I agree.
What I am trying to be sensitive to is that my understanding of the 'ombuds' role in, say, universities is that they are limited in what they can do precisely so that they can be a safe person to reach out to and to avoid any perceived or actual conflicts of interest.
https://en.wikipedia.org/wiki/Organizational_ombudsman
My sense is that it's supposed to go that an issue that when an issue goes to an ombuds, their role is specifically mediation. If mediation fails, the issue may escalate into something that involves more muscular disciplinary action.
I'm not sure if that model makes sense in an on-line community or not. But I think there's something to it.

I think the ombudsteam is intended to have some separation, which we identified as a goal because you might have complaints that you don't want to share with the full project leadership or all participants.
But I don't see mediation described as an explicit first step or purpose. The ombudsteam receives complaints about violations of the Code of Conduct, investigates, and comes up with an appropriate response. In some cases that might be mediation of an interpersonal disagreement, in other cases, no mediation is necessary, but some action should be taken by the Core Developers (to remove commits, or bar further participation by a violator, say).

Dear both,
The IETF ombudsteam also has an explicit mediation role, it is one of their
response options. However, they do go through proper training for that
role.
As I am not sure we are qualified to do meditation, I am hesitant to
overcommit re:what the ombudsteam can offer especially when most of the
work is done online (as opposed to IETF/ICANN/Universities which have a big
f-2-f component).
What we could do, is lay-out a spectrum of the kind of remedial actions we
could recommend: from a one-on-one chat with someone, to barring them from
the list etc.
Best,
On Wed, Apr 18, 2018 at 10:34 PM, Nick Doty<EMAIL_ADDRESS>wrote:

I think the ombudsteam is intended to have some separation, which we
identified as a goal because you might have complaints that you don't want
to share with the full project leadership or all participants.
But I don't see mediation described as an explicit first step or purpose.
The ombudsteam receives complaints about violations of the Code of Conduct,
investigates, and comes up with an appropriate response. In some cases that
might be mediation of an interpersonal disagreement, in other cases, no
mediation is necessary, but some action should be taken by the Core
Developers (to remove commits, or bar further participation by a violator,
say).
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/datactive/bigbang/issues/326#issuecomment-382520247,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APfW5-80cBH-TKIcQ58cHS6_ACFjCQWzks5tp6M8gaJpZM4TURlz
.

--
Corinne Cath
Ph.D. Candidate, Oxford Internet Institute & Alan Turing Institute
Web: www.oii.ox.ac.uk/people/corinne-cath
Email<EMAIL_ADDRESS>&<EMAIL_ADDRESS>Twitter: @C_Cath


Add a packaging Git commitId/Tag reference to Docker images

Currently there is no way to reliably track down which version of https://github.com/jenkinsci/docker was used to package the image. It would be great to inject a file to the Docker image which references the commit ID or, later, a tag.
Such information can be used by users to track down changes, especially for weekly releases when changelogs from #856 are not available

@oleg-nenashev I would like to work on this. Couldn't we just add a label on the image ? if you prefer a file, where should we put it and how do we name it?

@glefloch label would be even better, you are right

is this issue still valid ?

yes


#2019 cleanup public API of remoteAssets feature

Pull Request Test Coverage Report for Build 5160

7 of 7 (100.0%)  changed or added relevant lines in 2 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.02%) to 54.886%

Files with Coverage Reduction
New Missed Lines
%

bundle/src/main/java/com/adobe/acs/commons/remoteassets/impl/RemoteAssetsBinarySyncImpl.java
2
95.83%

Totals

Change from base Build 5148:
0.02%

Covered Lines:
14581

Relevant Lines:
26566

💛  - Coveralls

(rebased branch on master)


Add entity name lookup

Going to revisit this in the future with a different implementation. Maybe as a component trait, but unlikely for entities as we already have ref() as exemplified in the /demo/replicatedstorage/std

Going to revisit this in the future with a different implementation. Maybe as a component trait, but unlikely for entities as we already have ref() as exemplified in the /demo/replicatedstorage/std


Cubic Hermite Splines

Adding new CubpicHermiteSplines to core!  These splines have the useful property that they let you specify the position and velocity at the two endpoints, and smoothly interpolate between them.  Very useful for animation, and giving physical-feeling feedback while still giving animation guarantees.
The splines provided are all structs, and have methods for getting position, velocity, and both at the same time.  Velocity is calculated analytically.  We can probably add a bunch of additional spline utility methods as time goes on and we used them.
Since C# is super annoying and doesn't allow addition or division operators to be used in generics, I opted for a lightweight code-gen solution for generating the float, Vector2, and Vector3 variants of the spline code.  This has made is a lot easier to iterate and evolve the interface over time.  The generation interface is super lightweight, and basically amounts to a structured way to trigger a custom method at edit time.
To test:

[x] Run the splines through some tests, see how they behave!
[x] Take a look at the code to make sure the splines look like they are suitable
[x] Check off on the code-gen solution

I added the 2D version simply for convenience and speed, and since the code gen made it easy :)
Yeah I agree we could find a better name than CHS, but expanding the full CubicHermiteSpline also makes me sad :( Since there are so many spline types, do you guys think it makes sense to just bite the bullet and go for the full name?


[Feature-9467][DataSource] add DM（达梦） data source

Purpose of the pull request
https://github.com/apache/dolphinscheduler/issues/9467

Brief change log

Verify this pull request

This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

(or)
If your pull request contain incompatible change, you should also add it to docs/docs/en/guide/upgrede/incompatible.md

test case:

Process_instance run result log :
[INFO] 2022-11-09 11:22:51.210 +0800 - Begin to pulling task
[INFO] 2022-11-09 11:22:51.212 +0800 - Begin to initialize task
[INFO] 2022-11-09 11:22:51.213 +0800 - Set task startTime:<PHONE_NUMBER>212
[INFO] 2022-11-09 11:22:51.217 +0800 - Set task envFile: /etc/profile
[INFO] 2022-11-09 11:22:51.218 +0800 - Set task appId: 3_6
[INFO] 2022-11-09 11:22:51.218 +0800 - End initialize task
[INFO] 2022-11-09 11:22:51.232 +0800 - Set task status to TaskExecutionStatus{code=1, desc='running'}
[INFO] 2022-11-09 11:22:55.116 +0800 - TenantCode:lenian check success
[INFO] 2022-11-09 11:22:55.119 +0800 - ProcessExecDir:/tmp/dolphinscheduler/exec/process/lenian/7486873665920/7487072336000_2/3/6 check success
[INFO] 2022-11-09 11:22:55.119 +0800 - Resources:{} check success
[INFO] 2022-11-09 11:22:55.132 +0800 - Task plugin: SQL create success
[INFO] 2022-11-09 11:22:55.132 +0800 - Success initialized task plugin instance success
[INFO] 2022-11-09 11:22:55.132 +0800 - Success set taskVarPool: null
[INFO] 2022-11-09 11:22:55.133 +0800 - Full sql parameters: SqlParameters{type='DM', datasource=1, sql='select * from person.person', sqlType=0, sendEmail=null, displayRows=10, limit=0, udfs='null', showType='null', connParams='null', groupId='0', title='null', preStatements=[], postStatements=[]}
[INFO] 2022-11-09 11:22:55.133 +0800 - sql type : DM, datasource : 1, sql : select * from person.person , localParams : [],udfs : null,showType : null,connParams : null,varPool : [] ,query max result limit  0
[INFO] 2022-11-09 11:22:55.173 +0800 - can't find udf function resource
[INFO] 2022-11-09 11:22:55.478 +0800 - prepare statement replace sql : select * from person.person, sql parameters : {}
[INFO] 2022-11-09 11:22:55.479 +0800 - main statement execute query, for sql: select * from person.person
[INFO] 2022-11-09 11:22:55.488 +0800 - display sql result 10 rows as follows:
[INFO] 2022-11-09 11:22:55.489 +0800 - row 1 : {"PERSONID":1,"SEX":"F","NAME":"李丽","EMAIL":"lily@sina.com","PHONE":"02788548562"}
[INFO] 2022-11-09 11:22:55.489 +0800 - row 2 : {"PERSONID":2,"SEX":"M","NAME":"王刚","EMAIL":"","PHONE":"02787584562"}
[INFO] 2022-11-09 11:22:55.489 +0800 - row 3 : {"PERSONID":3,"SEX":"M","NAME":"李勇","EMAIL":"","PHONE":"02782585462"}
[INFO] 2022-11-09 11:22:55.489 +0800 - row 4 : {"PERSONID":4,"SEX":"F","NAME":"郭艳","EMAIL":"","PHONE":"02787785462"}
[INFO] 2022-11-09 11:22:55.489 +0800 - row 5 : {"PERSONID":5,"SEX":"F","NAME":"孙丽","EMAIL":"","PHONE":"13055173012"}
[INFO] 2022-11-09 11:22:55.490 +0800 - row 6 : {"PERSONID":6,"SEX":"M","NAME":"黄非","EMAIL":"","PHONE":"13355173012"}
[INFO] 2022-11-09 11:22:55.490 +0800 - row 7 : {"PERSONID":7,"SEX":"F","NAME":"王菲","EMAIL":"","PHONE":"13255173012"}
[INFO] 2022-11-09 11:22:55.490 +0800 - row 8 : {"PERSONID":8,"SEX":"M","NAME":"张平","EMAIL":"","PHONE":"13455173012"}
[INFO] 2022-11-09 11:22:55.490 +0800 - row 9 : {"PERSONID":9,"SEX":"M","NAME":"张红","EMAIL":"","PHONE":"13555173012"}
[INFO] 2022-11-09 11:22:55.490 +0800 - row 10 : {"PERSONID":10,"SEX":"F","NAME":"刘佳","EMAIL":"","PHONE":"13955173012"}
[INFO] 2022-11-09 11:22:55.491 +0800 - The current task need to send alert, begin to send alert
[INFO] 2022-11-09 11:22:57.534 +0800 - Success send alert
[INFO] 2022-11-09 11:22:57.536 +0800 - Send task execute result to master, the current task status: TaskExecutionStatus{code=7, desc='success'}
[INFO] 2022-11-09 11:22:57.536 +0800 - Remove the current task execute context from worker cache
[INFO] 2022-11-09 11:22:57.536 +0800 - The current execute mode isn't develop mode, will clear the task execute file: /tmp/dolphinscheduler/exec/process/lenian/7486873665920/7487072336000_2/3/6
[INFO] 2022-11-09 11:22:57.540 +0800 - Success clear the task execute file: /tmp/dolphinscheduler/exec/process/lenian/7486873665920/7487072336000_2/3/6


show word Today for competition duration being added on current date

this seems more like a quick fix to me, I'm not sure at the moment what else to do with this.  I left a comment above the change, but it's basically comparing the start_date from the last milestone to the current date, excluding time values

this seems more like a quick fix to me, I'm not sure at the moment what else to do with this. I left a comment above the change, but it's basically comparing the start_date from the last milestone to the current date, excluding time values

There seems to be no way to avoid confusion without time information. I wonder if we could use created_date if the start_date and created_date are the same date.

this seems more like a quick fix to me, I'm not sure at the moment what else to do with this. I left a comment above the change, but it's basically comparing the start_date from the last milestone to the current date, excluding time values

There seems to be no way to avoid confusion without time information. I wonder if we could use created_date if the start_date and created_date are the same date.

@sunghwan-park-fw
No, Created and Start_date both will be different in many statuses.
If the status date is today then we can display "today" if yesterday then we can display "yesterday"/"a day" and for more, the 2 days, simply put x days, a week, and so on.
It is simple, we won't show any of this like minutes, hours, etc.

This is currently what the fix does


letsencrypt_plugin.yml should be added before running the migrations.

Otherwise I get the error
No such file or directory @ rb_sysopen - /Users/.../invest/config/letsencrypt_plugin.yml
I just think README.md should be updated.

I think this has been addressed by installation guide which is now referenced by the README.md: https://github.com/lgromanowski/letsencrypt-plugin/wiki/Installation-guide/2474c318a38b66b4c26dcb4b3f69ae28375b4954


apply missing pop up button style

I spot a few more uses of ↑ and ↓ that could be migrated. Either of us could tackle that in a followup

Follow up to https://github.com/dabreegster/abstreet/pull/344, to replace the remaining drop down ↓ with ▾ - sorry that I missed these on the first pass!
Note that though this completes the replacement for drop-down handles, there are still a couple places I intentionally left in the ↑/↓ - controls that are explicitly about direction:
e.g. the increment decrement operations:

e.g. the signal re-ordering

What do you think about keeping these as arrows @dabreegster?

LGTM, including the choices to keep a few of the arrows. Just one more place that should use the new pop_up -- the giant row_btn in info/person.rs. Originally Yuwen's design had the triangle shape, but it was also lost with the font change. But actually, that should just pull in the SVG and sometimes flip it, so that can't quite take advantage of pop_up


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_fa831obq_n/clone/recipe/meta.yaml:15: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_fa831obq_n/clone/recipe/meta.yaml:20: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_fa831obq_n/clone/recipe/meta.yaml:45: http_url: http://jlafon.io/pynamodb.html is not https
ERROR: /tmp/abs_fa831obq_n/clone/recipe/meta.yaml:45: http_url: http://pynamodb.readthedocs.io/ is not https
Errors were found


add Travis build status badge to README

Once we start testing the commands (#22, #34, #35, #36), we should add a Travis build status badge to the README.

There are a ton of other badges we might add, such as those implemented by the badges module and those supported by http://shields.io/. But the Travis one is the only one that I know would be useful to advertise.

I've found the dependencies and devDependencies badges to be useful too (for example I once chose a library over another because the green badges meant the library was actively developed).
A code coverage badge would be useful too to advertise the level of quality of the library, but we currently have 0% coverage :smile:


[fix][broker]Fix create topic fail deadlock

Fix #15131
Motivation
Fix #15131
Modifications
topics remove in another thread
Verifying this change

[x] Make sure that the change passes the CI checks.

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API: (no)
The schema: (no)
The default values of configurations: (no)
The wire protocol: (no)
The rest endpoints: (no)
The admin cli options: (no)
Anything that affects deployment: (no)

Documentation

[x] no-need-doc
(Please explain why)

LGTM, I'd like to point out that createNonPersistentTopic  had fix this bug already.
https://github.com/apache/pulsar/blob/a4c4aea993aabab5231d4136b7eba366bee9e778/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java#L1166-L1171

In order to avoid the same problem, do we need to improve ConcurrentOpenHashMap?
In ConcurrentHashMap, The same operation throws an exception, which makes it easier to spot the problem.
For example below:
Map<String, String> map = new ConcurrentHashMap<>();

map.computeIfAbsent("test", (key) -> {
    map.remove("test");
    return "ok";
});

It will throw java.lang.IllegalStateException: Recursive update

In order to avoid the same problem, do we need to improve ConcurrentOpenHashMap?
In ConcurrentHashMap, The same operation throws an exception, which makes it easier to spot the problem.
For example below:
Map<String, String> map = new ConcurrentHashMap<>();

map.computeIfAbsent("test", (key) -> {
    map.remove("test");
    return "ok";
});

It will throw java.lang.IllegalStateException: Recursive update

That's great. But it will introduce a new problem.  For example the following code:
 persistentTopic.stopReplProducers().whenComplete((v, exception) -> {
                                                topics.remove(topic, topicFuture);
                                                topicFuture.completeExceptionally(ex);
                                            })

If topics.remove throw exceptions, the topicFuture will not be done.  So we need check the existed code like this and also avoid in the future.  So in my opinion， we'd better keep it the way it is.@shibd

Make sense. The latest commit also fix ConcurrentOpenHashMap, PTAL @shibd @gaozhangmin @HQebupt @Technoboy-

I've see many exception branch ends with a line: pulsar.getExecutor().execute(() -> topics.remove(topic, topicFuture));, that's weird by the way.
It seems just a cleanup operation and it could be handled in only one place, such as below:
Index: pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java	(revision 5433d2ea03ff97a688e9c493e54282e1df07d66d)
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java	(date<PHONE_NUMBER>658)
@@ -977,12 +977,13 @@
                 }
             }
             final boolean isPersistentTopic = TopicName.get(topic).getDomain().equals(TopicDomain.persistent);
+            CompletableFuture<Optional<Topic>> loadTopicFuture;
             if (isPersistentTopic) {
-                return topics.computeIfAbsent(topic, (topicName) -> {
+                loadTopicFuture = topics.computeIfAbsent(topic, (topicName) -> {
                     return this.loadOrCreatePersistentTopic(topicName, createIfMissing, properties);
                 });
             } else {
-                return topics.computeIfAbsent(topic, (name) -> {
+                loadTopicFuture = topics.computeIfAbsent(topic, (name) -> {
                     final TopicName topicName = TopicName.get(name);
                     if (topicName.isPartitioned()) {
                         final TopicName partitionedTopicName = TopicName.get(topicName.getPartitionedTopicName());
@@ -999,6 +1000,12 @@
                     }
                 });
             }
+            return loadTopicFuture.exceptionally(ignore -> {
+                // wo don't need remove entry in another thread any more
+                // cause we are not in the computeIfAbsent block
+                topics.remove(topic, loadTopicFuture);
+                return null;
+            });
         } catch (IllegalArgumentException e) {
             log.warn("[{}] Illegalargument exception when loading topic", topic, e);
             return FutureUtil.failedFuture(e);

I've see many exception branch ends with a line: pulsar.getExecutor().execute(() -> topics.remove(topic, topicFuture));, that's weird by the way.
It seems just a cleanup operation and it could be handled in only one place, such as below:
Index: pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java	(revision 5433d2ea03ff97a688e9c493e54282e1df07d66d)
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java	(date<PHONE_NUMBER>658)
@@ -977,12 +977,13 @@
                 }
             }
             final boolean isPersistentTopic = TopicName.get(topic).getDomain().equals(TopicDomain.persistent);
+            CompletableFuture<Optional<Topic>> loadTopicFuture;
             if (isPersistentTopic) {
-                return topics.computeIfAbsent(topic, (topicName) -> {
+                loadTopicFuture = topics.computeIfAbsent(topic, (topicName) -> {
                     return this.loadOrCreatePersistentTopic(topicName, createIfMissing, properties);
                 });
             } else {
-                return topics.computeIfAbsent(topic, (name) -> {
+                loadTopicFuture = topics.computeIfAbsent(topic, (name) -> {
                     final TopicName topicName = TopicName.get(name);
                     if (topicName.isPartitioned()) {
                         final TopicName partitionedTopicName = TopicName.get(topicName.getPartitionedTopicName());
@@ -999,6 +1000,12 @@
                     }
                 });
             }
+            return loadTopicFuture.exceptionally(ignore -> {
+                // wo don't need remove entry in another thread any more
+                // cause we are not in the computeIfAbsent block
+                topics.remove(topic, loadTopicFuture);
+                return null;
+            });
         } catch (IllegalArgumentException e) {
             log.warn("[{}] Illegalargument exception when loading topic", topic, e);
             return FutureUtil.failedFuture(e);

Good point! I think we can change this in a new PR @Shawyeok

/pulsarbot run-failure-checks

Fix the ConcurrentOpenHashMap  in the latest commit , @Jason918 @gaozhangmin @shibd @eolivelli @Shawyeok PTAL

in theory we should follow the semantics of computeIfAbsent, that is...if the operation fails we should return null, and not try to remove something that is not in the map
what about this:
if (topics.contains(topic)) {
  topics.remove(topic, topicFuture);
}

so, if we are in the case of "computeIfAbsent" when the topicFuture has not been added to the map, we do nothing.
if we are in other code paths, in which the topic is already in the map, we do the remove operation

in theory we should follow the semantics of computeIfAbsent, that is...if the operation fails we should return null, and not try to remove something that is not in the map
what about this:
if (topics.contains(topic)) {
  topics.remove(topic, topicFuture);
}

so, if we are in the case of "computeIfAbsent" when the topicFuture has not been added to the map, we do nothing. if we are in other code paths, in which the topic is already in the map, we do the remove operation

Make sense.  But there are some other cases like this. It is better to  fix this case in the same way, I think ...

/pulsarbot run-failure-checks

Add UT, PTAL @eolivelli @codelipenghui

https://github.com/apache/pulsar/pull/15570 has fix it and merged, I will close this PR


TypeScript definitions for<EMAIL_ADDRESS>(closes #1190)

(at long last)
These are untested but putting these up here so hopefully more people will try it and find bugs before merging.  I'll test myself in the meantime, and once I feel comfortable with it, I'll remove the WIP and we can merge.
Any and all feedback welcome

Ok, I was able to get this working at least at some basic level -- whew.  Here is an MWE if anyone wants to play with this:
test.ts:
import * as winston from 'winston';

const logger: winston.Logger = winston.createLogger({
    level: 'info',
    format: winston.format.json(),
    transports: [
        new winston.transports.Console({ level: 'info' }),
    ],
});

let err: Error = new Error('ttdt');
logger.error(err);
logger.log('info', 'hey dude', { foo: 'bar' });
logger.log({level: 'info', message: 'hey dude', meta: { foo: 'bar' }});

tsconfig.json:
{
  "compilerOptions": {
    "module": "commonjs",
    "lib": [
      "es6"
    ],
    "target": "es6",
    "noImplicitAny": true,
    "noImplicitThis": true,
    "strictNullChecks": true,
    "baseUrl": "./",
    "forceConsistentCasingInFileNames": true
  },
  "files": [
    "test.ts"
  ],
  "include": [
    "test.ts"
  ],
  "exclude": [
    "node_modules"
  ]
}

I'd strongly recommend adding a Typescript compilation test to the CI, otherwise coverage/regression will be hard to track.  If no one else does this I'll take a stab soon (should be done before merging this imo).

Some surprising tsc errors from Travis that aren't repro'd locally with same tsc version.  Will get to the bottom of that sometime soon, unless someone spots a fix first...

This should now pass once a new release of winston-transport is cut (just re-run CI).  Very simple tests are in place, so feels like this should be good to merge, at least for an initial 3.0 release.


feat: add alert when missing attachment #1220

🔗 Issue
https://github.com/rubyforgood/homeward-tails/issues/1221
✍ Description
Adds an alert when a staff user attempts to upload 0 files or images
📷 Screenshots/Demos
bin/dev, log in as Staff, head to http://localhost:3000/alta/staff/pets/2?active_tab=photos
Click Attach without any photo uploaded, and see the new alert.

Add an image and check that the success alert pops up as it was intended.

Do the same for Files

Need to tinker with this a bit more, should've ran the tests locally - looks like having my method as a before_action for those actions is breaking some stuff.

@kasugaijin this is ready for a re-review. The :images and :files params behaved differently, just like you predicted.
In a live environment for some reason they're populated with an empty string, so they become an array of ["", {image-object}, {image-object}].
I figured instead of adding empty strings to the test environment it'd be cleaner to just remove those empty strings in the method. Let me know if this works, or if I should implement it differently.


Remove added pluginscript resource format loaders and savers on cleanup

Properly release added resource loader and saver references. Otherwise PluginScript API
may cause "ObjectDB Instances still exist!" warnings and segmentation faults on exit.

@karroffel yup seems pretty good to me, I've tried this branch with Pythonscript and everything works as expected
btw, Pythonscript always had the "ObjectDB instance still exist" on exit, but this is due to internal memory leaks on Pythonscript side (still have the message with the fix from this PR), so this bug was flying under the radar from my point of view ;-)

Thanks!


custom ui demo

No need to publish to npm, just as a demo

[ ] extension tab
[ ] custom sidebar

@buqiyuan Start the collaboration function on Thursday, remember to use the document archive if you have not finished the work

还差官方文档


Fix legislation-url in database with migration

Update previous policy_class records with the wrong urls
Updated the order of rubocops to put Layout/LineLength in
alphabetical order

This PR never got put through because I never had shell access to the server so couldn't test if it worked or not. It means that new planning applications have different legislation URL to old planning applications; It's not that bad as the URLs are almost the same.
I'm leaving it open but happy to have it put through or closed as long as you're aware of the situation.


fix segments sorting in log_merge_policy

bug: segments were sorted on their indices (first field in the tuples)
fix: sort on the segments size

Awesome thanks!


Add CSA/CSAND documentation

@strogonoff , Thanks!
Example document here:

https://github.com/riboseinc/csand-devsecops-whitepaper

Has been done


Feature/delta selection

Implemented logic to assign deltas to objects

Please, merge https://github.com/src-d/go-git/pull/172 first

Please, merge https://github.com/src-d/go-git/pull/172 first

Current coverage is 77.43% (diff: 80.51%)

Merging #182 into master will decrease coverage by 0.30%

@@             master       #182   diff @@
==========================================
  Files            91         93     +2
  Lines          5823       5956   +133
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           4527       4612    +85
- Misses          816        864    +48
  Partials        480        480

Powered by Codecov. Last update 7fb250f...d9a602f

@ajnavarro rebase

@mcuadros rebased


P2H must use a 'use profile' to empty its tank and should get default capacity and volume

The specs are the same as the hot water heat pump:

Tank volume: 100 liters
Temperature difference: 80 degrees (from 15 to 95)
Specific heat capacity of water: 0.00116 kWh / degree

Which results in a volume of: 9.3 kWh

As far as I can tell, this should work as expected save for the lack of profiles currently on beta. P2H already has a default volume assigned in the database, and correctly imports the capacity from ETEngine.
@ChaelKruip I'll reassign to you on account of the needed profiles. Assign back to me if I've misunderstood.

Profiles have been uploaded. Closing.


How to setup a monorepo with VsCode ?

In the FAQ, it says :

Monorepo support
Suppose you have a nested package(s) that you want to share the same Flutter version. You can set up the FVM config at the root of the monorepo.
FVM will do an ancestor look-up to find the config and use it as the default.

Can you please provide some detailed steps on how to do so ? Is there any command I should run at the root directory ?

@ojm-it depends a bit on your monorepo setup. However, FVM does a recursive look up on a nested project folder. To do the use command on the root of the repo, to pin the version at the root.

Got it. Thanks!


Set ImageView contentMode as UIViewContentModeScaleAspectFit

Hi,
Is there a way to set the imageView contentMode to AspectFit.
The below code doesn't work.
- (void)displayImage:(UIImage *)image
{
    self.imageView = [[UIImageView alloc] initWithImage:image];
    self.imageView.clipsToBounds = NO;
    self.imageView.contentMode = UIViewContentModeScaleAspectFit;
}

I have the same problem


Split synchronization code

This is the first PR towards supporting CONDSTORE and QRESYNC.
This PR splits synchronizeMailboxSynchronous in MessagingController into two pathways(ImapSyncInteractor and LegacySyncInteractor) depending on whether the protocol is IMAP or non-IMAP.
ImapSyncInteractor contains code that is copied over from synchronizeMailboxSynchronous and then split into multiple classes (SyncHelper, FlagSyncHelper and MessageDownloader).
LegacySyncInteractor contains code directly copied over from synchronizeMailboxSynchronous.

When I suggested splitting out the IMAP sync code my intention was to completely separate the code from the "legacy" sync code so it can be evolved independently. This first attempt still shares code between the two sync implementations and doesn't bring us much closer to that goal.
Maybe it helps to know that in a second step I want us to move the "remote store" abstraction further up so that it includes most of what lives in MessagingController right now. That allows implementations to leverage protocol specific features to realize the high level operations (sync, push, copy, move, delete, change read state, etc.) more efficiently.
Don't worry about duplicated code right now. We can look into adding abstractions that allow code reuse later, once we have a better idea what the different implementations look like in isolation.
If that all sounds too confusing, let me know and I'll create a pull request with what I had in mind.

Another thing: I don't like class names ending in "Helper". They're usually an indicator that the design can be improved. For now let's try to keep things in a single class. That should make it easier to change the code. We can always split it into multiple classes later.
Also, I don't think the "Interactor" suffix adds any value. ImapSync and LegacySync sound fine to me.

I created PR #2996 with the first step of what I had in mind.


First draft of languages to describe issues / findings

I just looked at the diagram you shared on slack and I do not understand why there are subclasses of IFinding that seems to indicates a severity (IError, IInfo, IWarning) but IFinding has also a field of type ISeverity`.
I would consider making severity an enum, as in this way one could write applications that deal with the expected level of severity, that are all predefined. While if we have an interface called ISeverity I suspect people could define arbitrary severities and that may be difficult to handle.

You've immediately found the biggest issue with my draft (-:
The severity is indeed duplicated, as I was unsure how to represent it myself (I changed it forth and back a few times).
I think there are two independent issues here:
A) Do we represent severity as field or interface?
B) How do we represent the field values?
A) Do we represent severity as field or interface?
Currently it's a mixture: IWarning essentially pre-populates the field.
The advantage of using interfaces to represent severity is that it's completely in the structure, no instance level needed. This simplifies model management -- we need only a language, no "accessory model".
The advantage of a field is the the general preference "composition over inheritance", and more flexibility. This highly relates to B).
B) How do we represent the field values?
Currently, an ISeverity has a value: integer property. It's meant to establish a total order between severities.
I pre-defined these instances:
Error    value=800000
Warning  value=500000
Info     value=300000

The advantage over an enum is the space we leave for other severities, e.g. Fatal value=900000 or Trace value=200000.
We can still interpret every severity in three categories, depending on their value.
Of course, we could also say "everything should fit into one of these three buckets" -- then an enum would fit perfectly.

I would choose to represent it using a field. We can use either a enum property if we think this is a fixed list. Otherwise I would opt for a string property with as list of predefined values.  That opens up the possibility to use additional values. Not sure whether we should.
I don't like the integer property, it is basically meaningless and the order is in my opinion irrelevant.

Location language: - Separating out the location language is a good thing. The location language should become a separate language on its own, useful to reuse in e.g. the LionWeb Differ, and probably other places as well.

Recoverability: - I think we should not say anything about recoverability in the language.  What is recoverable depends very much on the application using LionWeb.

Recoverability: - I think we should not say anything about recoverability in the language. What is recoverable depends very much on the application using LionWeb.

But for certain classes of issues – i.e.: the low-level JSON ones – we certainly can say something about recoverability. (Maybe we should “finalize” the correctness document as much and soon as possible?)

Recoverability: - I think we should not say anything about recoverability in the language. What is recoverable depends very much on the application using LionWeb.

But for certain classes of issues – i.e.: the low-level JSON ones – we certainly can say something about recoverability. (Maybe we should “finalize” the correctness document as much and soon as possible?)

But for certain classes of issues – i.e.: the low-level JSON ones – we certainly can say something about recoverability.

Even if we can, we should not say anything about it in the validation language. If we want to say anything at all I would put this in the validation correctness document only.
The validation language should be concise, only reporting the findings.

As with severity, I would also put the level (Serialization, Hierarchical, metaStructural, …) in a (enum or string) property.

Two presentations points:

Leaving out Node would make diagrams more readable (less line)
In typescript an optional property is shown with a question mark postfix.  Using this instead of <> might make the diagrams easier to read (less space needed).

Two presentations points:

I agree, and removed Node from all the manually edited diagrams.

Recoverability: -  Even if we can, we should not say anything about it in the validation language. If we want to say anything at all I would put this in the validation correctness document only.
The validation language should be concise, only reporting the findings.

It's not in the core validation language, but the serialization validation language. I agree with Meinte, it makes sense in that context.
IMHO, this should be technically accessible. I want to write code like
if (findings.all(f => f instanceof ICompletelyRecoverable)) {
  // happily continue working with my chunk
}

I don't like the integer property, it is basically meaningless and the order is in my opinion irrelevant.

I would also argue that enum literals have an order of definition within the enum declaring that, and we could use that order

As with severity, I would also put the level (Serialization, Hierarchical, metaStructural, …) in a (enum or string) property.

This is what we do in StarLasu. Each issue has an IssueType (one of  Lexical, Syntactic, Semantic, Translation) and an IssueSeverity (one of Info, Warning, Error). We have been using this for a few years and so far it worked well for us

It's not in the core validation language, but the serialization validation language

Not sure what you mean by "core validation language: vs "serialization validation language"? Can you explain?

But for certain classes of issues – i.e.: the low-level JSON ones

These cases are usually either already recovered by the JSON parser or marked as an error by the JSON parser used. We decided to just follow the JSOIN spec, so these errors are not even LionWeb errors.

if (findings.all(f => f instanceof ICompletelyRecoverable)) {
// happily continue working with my chunk
}

Two points:

Happily continue is not quiet right, it says "recoverable", not "already recovered", so the application still need to decide whether it can recover this error and how it would do this.
In TypeScript you cannot use instanceof for interfaces, so this won't work. Even if we add recoverable to the language I think it should be a property with an enum value.

Not sure what you mean by "core validation language: vs "serialization validation language"? Can you explain?

"core validation language" is the base of all validation (reporting). A client would ask for the derived model by this language to get all validations (as we've decided a long time ago to identify derived models by their language). It defines very basic classifiers used in any kind of validation.
"serialization validation language" is an extension of the former. It's used specifically to report issues found in serialization.

But for certain classes of issues – i.e.: the low-level JSON ones

These cases are usually either already recovered by the JSON parser or marked as an error by the JSON parser used. We decided to just follow the JSOIN spec, so these errors are not even LionWeb errors.

The errors would still need to be reported. And all error reports are nodes, so they need a concept.

if (findings.all(f => f instanceof ICompletelyRecoverable)) {
// happily continue working with my chunk
}

* In TypeScript you cannot use instanceof for interfaces, so this won't work. Even if we add recoverable to the language I think it should be a property with an enum value.

I didn't mean I want to write exactly that code, but want a way to filter for e.g. completely recoverable findings.

But for certain classes of issues – i.e.: the low-level JSON ones

These cases are usually either already recovered by the JSON parser or marked as an error by the JSON parser used. We decided to just follow the JSOIN spec, so these errors are not even LionWeb errors.

The errors would still need to be reported. And all error reports are nodes, so they need a concept.

I agree that they should be reported, but the discussion here is about whether JSON findings are recoverable or not.

In general, I consider "marker" interfaces (those without any features) as an anti-pattern. I know they are heavily used in MPS, but I never liked them. I would like to replace all the marker interfaces with properties (as has already been discussed for all of them somewhere above(.

Changes in latest commits:

Split location into separate language
Use enum for Severity
Use enum for SerializationSeverity

Now the advantage of marker interfaces is clear -- I can't know from the language which severity each finding is.


Fix a bug in the MySQL date/time test

There is an obscure bug in the MySQL date/time test (sqlpp11.mysql.usage.DateTime) which causes the test to fail even though the MySQL connector works correctly. Then the relevant error message in LastTest.log says something like:
95: abs(TIMESTAMP '2023-08-21 23:43:32.000000' - TIMESTAMP '2023-08-21 23:43:33.018933656') > 1s

In fact the real time difference is less than 1s, e.g. 0.25s, but the test fails due to incorrect comparison of two values, where the first one (2023-08-21 23:43:32.000000) has been rounded down.
The bug is caused by the fact that the corresponding database column (col_date_time_point) is of type datetime which automatically rounds the saved timestamp down to the nearest second and the compared value is taken from
std::chrono::system_clock::now() without any rounding. So for example if the value is saved in the database at 2023-08-21 23:43:32.999999, then it will be rounded down to 2023-08-21 23:43:32.000000. After that at 2023-08-21 23:43:33.018933656 the time difference will be calculated incorrectly as
1.018933656, while in fact it is just 0.018933657.
The fix which is used in the PR is to round down the second timestamp too.
The bug manifests rarely. On Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz each time when the test sqlpp11.mysql.usage.DateTime is run there is a chance of about 0.5% to 1% for the bug to show up. The slower the CPU is the higher the chance for the bug to show up.
The easiest way to reproduce the bug is to run:
ctest -R sqlpp11.mysql.usage.DateTime --repeat-until-fail 1000

On a side note - the new timestamp-parsing code (which uses regexes) is slower than the old code so the bug has higher chance of showing up - with the old code usually it takes less than 200 test iterations for the bug to show up and with the new code in most cases 100 iterations are sufficient. I am preparing a new PR to speed up the time-parsing code. But the current test bugfix is not directly related to that issue, so I decided to use two separate PRs for the current bugfix and for the speed-up of the date/time parser.

Nice find and fix! I have not encountered this myself, but it must have been unnerving to see :-)

Nice find and fix! I have not encountered this myself, but it must have been unnerving to see :-)

The bug manifested itself quite rarely so it is not surprising that it was not caught until now. Initially I blamed it on faulty hardware and only decided to look into it because I suspected that I might had introduced some bug with the recent changes in the date/time-parsing code  :-)


Discard the calculated flex lines when configration changes are handled manually.

When configration changes are handled manually, onSaveInstanceState
wasn't called in the FlexboxLayoutManager. Thus flex lines previously
calculated with the prior configuration including width of the screen
were not discarded.
This PR introduces the fields of the width/height of the previous
measurement. If the width (or height depending of the flex direction) is
different from the previous value discard the prior flex lines.
This PR also fixes the cases where width is getting changed in the multi
window mode.
Fixes #198

@yaraki could you have a look?


Errors with version 0.4.6

What version of ViaVersion are you using? Type /ver viaversion
0.4.6
What version of Spigot are you using? Type /ver
Spigot 1.8.8
How does this error happen? login? using an item?
Constant console spam
Is there an error in the console? Use pastebin.com. Is there a kick message?
http://hastebin.com/vuxaxakuni.avrasm
http://hastebin.com/dederoyidi.avrasm

This is a duplicate I think, don't know which issue though.
Could anyone link it?

Are you using PaperSpigot? https://github.com/MylesIsCool/ViaVersion/issues/89

It also disconnected me whenever I tried placing a block.

I am it says this on the front page tho.
"Please use Spigot-1.8.8 (PaperSpigot should also work), all plugins you use should be made for 1.8"

Should be fixed now, as for spam might be a paperspigot issue.


info-level problem reports shouldn't turn indicator red

Previously my project had no errors, but after the latest upgrade it says there are "5 issues" at the bottom of the window, all of which are TODO comments. It's okay to point out TODO's, but since they are at INFO level, it seems like the indicator light shouldn't be red?

I see now that there's a way to turn off info-level warnings so this is lower priority.

Yeah, that 5 Issues contribution comes from the linter plugin. We'll need to send them PRs to either remove their contribution to the status line, or display the summary differently on info/warning/error level issues.

I opened an issue on the linter plugin; looks like we'll get an API change that will help us out here.


Test moderation views

[x] check non-logged in users can't access moderation views
[x] check non-moderation users can't access moderation views
[x] check moderators can access moderation views

I would consider this now ready for review! I think it covers virtually all possibilities for moderation actions.
In particular it tests some disruptive behaviour that should be blocked:

Guests/non-moderators trying to edit the moderation flags for any post
Moderators should be able to set moderation flags & trigger labels, but not edit the experiences themselves.

It also fixes some minor bug in handling exceptions.
With this our test coverage doesn't look too bad:
Overall:
Name                                                                   Stmts   Miss  Cover
TOTAL                                                                    722     84    88%

For the main relevant files:
Name                                                                   Stmts   Miss  Cover
server/apps/main/forms.py                                                 71     12    83%
server/apps/main/helpers.py                                               91      3    97%
server/apps/main/models.py                                                27      2    93%
server/apps/main/templatetags/custom_tags.py                              12      3    75%
server/apps/main/urls.py                                                   4      0   100%
server/apps/main/views.py                                                124     55    56%
server/urls.py                                                            11      0   100%


Thanks for the awesome work

This is a faux issue, but I wanted to say thanks. This is going to save me a ton of time <3

Thanks! This made my day :]


tidy up the html

Indenting the content within  would make things easier to read

  dsfjklasdjfkljsadlfkjlsdf

modified the paragraphs @joseph-code-EDA

hello @maxine-ellah  ,thanks for the advice, indented the a elements,


Lab 4 test case 1 producing nullpointerexception error

Summary
After submitting my program for evaluation, my output is immediately met by nullpointerexception error.
Description:
On the side of 'Expected Output' there are 2 empty spaces but on the side of  'Your Output' it shows nullpointerexception error.
The part that managed to get evaluated seems to match the expected output. How do I rectify this issue?
Code Snippets
Attach code snippets (if any)
Screenshots

Yout Object might have been a null, so use the Optionals.orElse() or something similar to deal with it!

Yout Object might have been a null, so use the Optionals.orElse() or something similar to deal with it!

Hmm but the error appeared at the top before the autograder starts evaluating. Unless error will be brought all the way to the top?

Oh well then…
Get Outlook for iOShttps://aka.ms/o0ukef

From: LimZiXiong @.>
Sent: Saturday, March 16, 2024 3:23:32 PM
To: nus-cs2030/2324-s2 @.>
Cc: Zhang Hao Dong @.>; Comment @.>
Subject: Re: [nus-cs2030/2324-s2] Lab 4 test case 1 producing nullpointerexception error (Issue #189)
Yout Object might have been a null, so use the Optionals.orElse() or something similar to deal with it!
Hmm but the error appeared at the top before the autograder starts evaluating. Unless error will be brought all the way to the top?
—
Reply to this email directly, view it on GitHubhttps://github.com/nus-cs2030/2324-s2/issues/189#issuecomment-2001889012, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BBRJ5GWY3HD22QAQIUCBEHTYYPXPJAVCNFSM6AAAAABEYK7OV6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMBRHA4DSMBRGI.
 I was using substring and didn't take into account what if the string is empty. (Too used to optional handling such cases)


Block of steel has no loot table

The steel_block doesn't have a loot_table, therefore it doesn't drop.

Loot table added


New Game - Chuckman Go!

Avoid enemies throughout the path and reach the goal!
How to play your game?
Press WASD to move, J to restart, Get to the finishing position (yellow) by avoiding all the enemies.
Code
Check off the items that are true.

[x] The game was made using the Sprig editor.
[x] The game is placed in the in the /games directory.
[x] The code is significantly different from all other games in the Sprig gallery (except for games labeled "demo").
[x] The game runs without errors.
[x] The name of the file/game contains only alphanumeric characters, -s, or _s.
[x] The game name is not the same as the others from gallery

Here's the demo: https://editor.sprig.hackclub.com/?id=87b00c92c17948475462ccf97945a967

Very good game! did you manage to complete all the levels? I couldn't pass the first one haha

Yeah I did test them out a lot of times! Be assured it's totally possible :p

ok!

Yay tysm!


[DOCFIX] Update Use Cases doc

alluxio-bot, merge this please

alluxio-bot, cherry-pick this to branch-2.4 please


Pulseaudio for sound tests

I've put some comments here #73
Thanks!

rather than doing a regex replace you should be able to do something like this I think:
- name: Adding existing user jenkins to group audio
  user: name=jenkins
        groups=audio
        append=yes

Hi @gdams thanks a lot for let me know about this way. Just changed.

Hi there. I've just updated.
Let me know if we should group "apts" in a different way,
we sort of did it for Test and Build tools in another issue.
Maybe we could put everything together under the same task and
Include comments with the former tasks names just to explain
what those packages are related to.

@bblondin OK to land this now?

@karianna I'm ok with it...


support non English languages

Purpose

First of all, thank you for providing this useful sample code :) For now, to support non English languages, several hardcoded codes should be overwritten. In fact, we Japanese fork the repo and overwrite them to support customers (ref. nohanaga/azure-search-openai-demo, asashiho/azure-search-openai-demo, ks6088ts-labs/_azure-search-openai-demo, etc). But this approach brings some pain to catch up with the updates on new commits. So, in this PR, configurable parameters are introduced to get rid of those hardcoded codes. This fix can enlarge customers to worldwide, I think.

Does this introduce a breaking change?

[ ] Yes
[x] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

How to Test

Get the code

# To use Japanese languages
azd env set AZURE_SEARCH_QUERY_LANGUAGE ja-jp
azd env set AZURE_SEARCH_QUERY_SPELLER none
azd env set AZURE_SEARCH_ANALYZER_NAME ja.lucene

# deploy
azd up

What to Check
Verify that the following are valid

Check the App Service environment variables
Check the analyzer settings of Cognitive Search index

Other Information

Neat! So you don't also have to change the English prompts?

Neat! So you don't also have to change the English prompts?

Good question.  Thanks to the cool prompt If the question is not in English, answer in the language used in the question., there seems nothing to be desired.
Actually, it works as follows!

I think it would be better to inject prompts from environment variable, but it is out of this PR's scope.

Cool! It looks good except for updating the links to the docs when possible.


Documentation

Documentation added to the repository using sphinx. I have imported the repo in readthedocs, let me know if you think anything should be added/modified (you can add comments to the file docs/user_manual.rst).
While writing the docs I have realised the setup_client method in the MacroPipeline was not very descriptive (and potentially source of confusion with the webdav-client) - I have thus renamed it setup_cluster.

Codecov Report

Merging #28 into development will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@               Coverage Diff               @@
##           development      #28      +/-   ##
===============================================
+ Coverage        88.39%   88.40%   +0.01%
===============================================
  Files               12       13       +1
  Lines             1043     1044       +1
===============================================
+ Hits               922      923       +1
  Misses             121      121

Flag
Coverage Δ

#unittests
88.40% <100.00%> (+0.01%)
:arrow_up:

Impacted Files
Coverage Δ

lc_macro_pipeline/__version__.py
100.00% <100.00%> (ø)

lc_macro_pipeline/logger.py
93.75% <100.00%> (ø)

lc_macro_pipeline/macro_pipeline.py
85.13% <100.00%> (ø)

Continue to review full report at Codecov.

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

Great, thanks @rogerkuou . Any issue/limitation you thought we should mention? Otherwise let's leave these sections out for now, one could add them when/if there are elements..

Moving the conversation from teams
======
[11:00] Ou Ku
I commented to the Documentaion for laserfarm that maybe we need to mention some current limitation for laserfarm? One thing I am bearing in the mind is to state that it has been only tested for AHN case, and may have unknown issue with lat/lon coordinate system, since the tile size is not uniform
[11:02] Ou Ku
But maybe it is also good to only track issues when they happen, and only track it on GitHub to make it centralized
https://teams.microsoft.com/l/message/19:fd4065edfdcd41c38754375588860c2b@thread.tacv2/1589965221274?tenantId=aa3aeacc-6307-42b2-ac05-787dd5c32574&groupId=3f641c90-a9f9-4c5f-8ba7-8da9bf777826&parentMessageId=1589963572263&teamName=Atlas&channelName=General&createdTime=1589965221274
=====

Hi @fnattino, I am mainly thinking of mentioning the fact that so far we have only tested the laserfarm with AHN3, because there can be unknown issue with other lidar data format, coordinate system or other factors in other countries. These issues remain unknown until someone apply laserfarm+laserchicken in another application.

the vertex structure underlying point clouds in laserchicken should ba bale of handling non-rectilinear coordiante systems, at. least in the sense, that is simply stores values if PDAL can handle the values when provided a coordinate system reference, then the retiling should be fine. After that one is back to rectilinear

PDAL should be able to handle different reference systems (https://pdal.io/tutorial/las.html#spatial-reference-system) including lat/long data (https://pdal.io/workshop/exercises/translation/reprojection.html). Indeed, the data-processing part, which relies on laserchicken's point-cloud arrays should not have issues. And for the GeoTIFF export one would need to specify the correct EPSG code. So it seems all should work fine?

@fnattino I just briefly talked to Ou. You're right, that PDAL could handle other coordinates, but Ou pointed out that we aren't implementing any coordinate transformations is the splitter, i.e we feed pdal a bunch of points, as well as a grinding scheme. This tacitly assumes they're all on the same projection and coordinate system. The splitter then simply retiles the data according to the specifications. This is fine as long as we're using a planar euclidean projection,  as well as possibly lat, long, elevation. In the later case, however, all metrics will fail, as they are based on euclidean plane projections. We should indeed add a preface saying that the code is designed to work with data on a Euclidean plane projection.

Thanks @meiertgrootes and @rogerkuou ! I see, you are absolutely right, I willl add this 'disclaimer'!

Codecov Report

Merging #28 into development will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@               Coverage Diff               @@
##           development      #28      +/-   ##
===============================================
+ Coverage        88.39%   88.40%   +0.01%
===============================================
  Files               12       13       +1
  Lines             1043     1044       +1
===============================================
+ Hits               922      923       +1
  Misses             121      121

Flag
Coverage Δ

#unittests
88.40% <100.00%> (+0.01%)
:arrow_up:

Impacted Files
Coverage Δ

lc_macro_pipeline/__version__.py
100.00% <100.00%> (ø)

lc_macro_pipeline/logger.py
93.75% <100.00%> (ø)

lc_macro_pipeline/macro_pipeline.py
85.13% <100.00%> (ø)

Continue to review full report at Codecov.

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