:farmer: launch5-win fails to build because of undefined type in ignition-gazebo6 package

Environment

OS Version: Windows
Binary Fortress CI build

Description

Expected behavior: Build should pass
Actual behavior: Build is failing to build because of an undefined type

Steps to reproduce

Run a build in ign-launch5-win
See it fail

Output
Reference builds:

gz-launch5-win
gz-gazebo6-win

Log output:
C:\vcpkg\installed\x64-windows\include\pybind11\detail/type_caster_base.h(482,26): error C2027: use of undefined type '_frame' (compiling source file C:\J\workspace\ign_launch-ign-5-win\ws\gz-sim\python\src\ignition\common\Console.cc) [C:\J\workspace\ign_launch-ign-5-win\ws\build\ignition-gazebo6\python\common.vcxproj]

C:\Program Files\Python311\include\pytypedefs.h(22): message : see declaration of '_frame' (compiling source file C:\J\workspace\ign_launch-ign-5-win\ws\gz-sim\python\src\ignition\common\Console.cc) [C:\J\workspace\ign_launch-ign-5-win\ws\build\ignition-gazebo6\python\common.vcxproj]

C:\vcpkg\installed\x64-windows\include\pybind11\detail/type_caster_base.h(482,26): error C2027: use of undefined type '_frame' (compiling source file C:\J\workspace\ign_launch-ign-5-win\ws\gz-sim\python\src\ignition\common\_ignition_common_pybind11.cc) [C:\J\workspace\ign_launch-ign-5-win\ws\build\ignition-gazebo6\python\common.vcxproj]

C:\Program Files\Python311\include\pytypedefs.h(22): message : see declaration of '_frame' (compiling source file C:\J\workspace\ign_launch-ign-5-win\ws\gz-sim\python\src\ignition\common\_ignition_common_pybind11.cc) [C:\J\workspace\ign_launch-ign-5-win\ws\build\ignition-gazebo6\python\common.vcxproj]

This error points to: https://github.com/gazebosim/gz-sim/tree/ign-gazebo6/python/src/ignition/common folder

Linking with https://github.com/gazebosim/gz-sim/issues/2003 as it's the same problem

And is there a plan to solve this problem? Bumping pybind version?

vcpkg already has 2.10.3, so I'm not sure why we're getting an older version. @j-rivero can we update the vcpkg snapshot? https://github.com/gazebo-tooling/release-tools/blob/44fb01e28e3722835ac1fdd165ba470dff4e3513/jenkins-scripts/lib/windows_env_vars.bat#L19

vcpkg already has 2.10.3, so I'm not sure why we're getting an older version. @j-rivero can we update the vcpkg snapshot? https://github.com/gazebo-tooling/release-tools/blob/44fb01e28e3722835ac1fdd165ba470dff4e3513/jenkins-scripts/lib/windows_env_vars.bat#L19

Upgrading the snapshot is something we should try to avoid since it will move all the dependencies version of stable releases.
After checking offline with @azeey and @Crola1702, one possible option would be to get rid of pybind11 in the vcpkg dependencies we are using to get back the CI to the states before the migration in #892 happened. That has its own risks and the safer approach is probably disable building python bindings on windows in each library by setting SKIP_PYBIND11 to ON just like https://github.com/gazebosim/gz-math/pull/529.


Dynamically decide between sparse and dense kernels in dfsspmdm.

The dfsspmdm now attempts to JIT both sparse and dense kernels and, if both are available, it benchmarks them to decide which to proceed with.  The code is functional, although I would like to get feedback before writing the single precision variant.
One area that needs work is how we release/free the slower kernel which we do not need.  Specifically, how to be sure that we do not deallocate a kernel which someone else still has a reference to.  As such the deallocation code is currently commented.

Updated.  Permute operands are now static arrays and single precision is supported.

I'm fine with the code merging it. Just waiting on your comment above on the ABI discussion.

Lets leave the ABI stable for the moment; as it is possible that we'll want to change it again when ARM support is added on the sparse path so it would be nice to break all at once.

Updated.


training.py can't load models.py

Hi,
Thank you so much for putting this model out. Excellent work!
I'm trying to train the model and I stumble upon a problem, that points out to the models.py file
When I try to run training.py with the gin file, this is the error message I get:
Traceback (most recent call last):
File "C:\videoseg\TransNetV2\training\training.py", line 10, in
import models
File "C:\videoseg\TransNetV2\training\models.py", line 168, in
@gin.configurable(blacklist=["name"])
TypeError: configurable() got an unexpected keyword argument 'blacklist'
Do you have a sense of what could be the problem?
Thanks!

OK, found the problem. In latest gin, blacklist has to be replaced with denylist


[rctree] Add WeakRef?

I found myself needing to weakly reference a node and there was no pub type for that so I wonder if I should change my design or it'd be a good idea to add a WeakRef to the library?

I could imagine a few ways:

Add a downgrade method on NodeRef and something like pub struct NodeWeak<T>(Weak<RefCell<Node<T>>>); with anupgrade method.
Make the NodeRef field public so that you can do this yourself
Remove NodeRef and expose Rc directly. I’m not sure where all the NodeRef methods would go, though.

I’d take a PR for any of these, or something else, as you see fit.
That said, this repository was kinda meant as a way to explore various approaches and write down my findings, not really to be actually used by other code.
In Kuchiki for example, I ended up with something a lot like rctree here but with some changes. (Node::data is not generic, nodes are not entirely in RefCell, …)
I’d recommend copy/pasting the rctree code into your crate and tweak it as you see fit. I made many decisions and assumptions when building it and making different choices is perfectly valid. Different projects are gonna have different requirements, and I don’t really want to try and maintain a library for every kind of tree people might want to use :)

I see, I'll be copying it into my crate and tweaking it, indeed may be a better idea.


Stripped extraneous whitespace

Ah thanks for chasing these whitespaces! I keep cleaning them, but they always come back...


Reproducing the results for table 3

Dear authors, thank you for sharing your valuable work. I was trying to generate the results like table 3 of the paper using the script GIF/tests/deca_inf_vs_given_cond_landmark_viz.py. Here, I could not find the paths for flame_datapath and face_region_only_indices variable.

I seem to have cleared resources and do not have the file you are looking for anymore. The file contained the index of the vertices of FLAME that make up the front part of the face. The idea was to evaluate the mean error between the 3D mesh corresponding to the given parameters and a mes obtained by running DECA on the generated image. However, since the back of the head and the head under the hair is not observed, it is good to exclude those parts from contributing and possibly dominating the error. You can manually select the frontal part of the face in Blender and dump the vertex indices to get a similar result.


ExtractorError: Unsupported JS expression u'['

Download fails when running the following:
youtube-dl --verbose https://www.youtube.com/watch?v=bAZM6ghdwUI
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'--verbose', u'https://www.youtube.com/watch?v=bAZM6ghdwUI']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2<IP_ADDRESS>
[debug] Python version 2.7.14 (CPython) - Darwin-19.5.0-x86_64-i386-64bit
[debug] exe versions: avconv present, avprobe present, ffmpeg 4.3, ffprobe 4.3, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] bAZM6ghdwUI: Downloading webpage
[youtube] {18} signature length 104, html5 player f82a8c37
[youtube] bAZM6ghdwUI: Downloading player https://www.youtube.com/s/player/f82a8c37/player_ias.vflset/en_US/base.js
ERROR: Signature extraction failed: Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1426, in _decrypt_signature
video_id, player_url, s
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1338, in _extract_signature_function
cache_res = res(test_string)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1402, in
return lambda s: initial_function([s])
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 258, in resf
res, abort = self.interpret_statement(stmt, local_vars)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 56, in interpret_statement
v = self.interpret_expression(expr, local_vars, allow_recursion)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 92, in interpret_expression
m.group('expr'), local_vars, allow_recursion - 1)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 189, in interpret_expression
m.group('x'), local_vars, allow_recursion - 1)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 56, in interpret_statement
v = self.interpret_expression(expr, local_vars, allow_recursion)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 211, in interpret_expression
raise ExtractorError('Unsupported JS expression %r' % expr)
ExtractorError: Unsupported JS expression u'['; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
(caused by ExtractorError(u"Unsupported JS expression u'['; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.",)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1426, in _decrypt_signature
video_id, player_url, s
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1338, in _extract_signature_function
cache_res = res(test_string)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1402, in
return lambda s: initial_function([s])
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 258, in resf
res, abort = self.interpret_statement(stmt, local_vars)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 56, in interpret_statement
v = self.interpret_expression(expr, local_vars, allow_recursion)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 92, in interpret_expression
m.group('expr'), local_vars, allow_recursion - 1)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 189, in interpret_expression
m.group('x'), local_vars, allow_recursion - 1)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 56, in interpret_statement
v = self.interpret_expression(expr, local_vars, allow_recursion)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 211, in interpret_expression
raise ExtractorError('Unsupported JS expression %r' % expr)
ExtractorError: Unsupported JS expression u'['; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 797, in extract_info
ie_result = ie.extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 530, in extract
ie_result = self._real_extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 2107, in _real_extract
encrypted_sig, video_id, player_url, age_gate)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1436, in _decrypt_signature
'Signature extraction failed: ' + tb, cause=e)
ExtractorError: Signature extraction failed: Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1426, in _decrypt_signature
video_id, player_url, s
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1338, in _extract_signature_function
cache_res = res(test_string)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1402, in
return lambda s: initial_function([s])
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 258, in resf
res, abort = self.interpret_statement(stmt, local_vars)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 56, in interpret_statement
v = self.interpret_expression(expr, local_vars, allow_recursion)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 92, in interpret_expression
m.group('expr'), local_vars, allow_recursion - 1)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 189, in interpret_expression
m.group('x'), local_vars, allow_recursion - 1)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 56, in interpret_statement
v = self.interpret_expression(expr, local_vars, allow_recursion)
File "/usr/local/bin/youtube-dl/youtube_dl/jsinterp.py", line 211, in interpret_expression
raise ExtractorError('Unsupported JS expression %r' % expr)
ExtractorError: Unsupported JS expression u'['; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
(caused by ExtractorError(u"Unsupported JS expression u'['; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.",)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

See this answer first.
You can try to uninstall youtube-dl and reinstall it.

happens also with Python 3.8.3
[debug] System config: []
[debug] User config: ['-o', '/mnt/reserve/%(title)s.%(ext)s', '--no-playlist', '--no-overwrite', '--no-mtime', '-f', 'bestvideo[height<=480]+bestaudio[abr<=128]/best[height<=480]']
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://www.youtube.com/watch?v=chM5rDjajB4']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2<IP_ADDRESS>
[debug] Python version 3.8.3 (CPython) - Linux-5.4.52-1-MANJARO-x86_64-with-glibc2.2.5
[debug] exe versions: ffmpeg 4.3.1, ffprobe 4.3.1, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] chM5rDjajB4: Downloading webpage
[youtube] Downloading just video chM5rDjajB4 because of --no-playlist
[youtube] {18} signature length 104, html5 player f82a8c37
[youtube] chM5rDjajB4: Downloading player https://www.youtube.com/s/player/f82a8c37/player_ias.vflset/en_US/base.js
ERROR: Signature extraction failed: Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/youtube_dl/extractor/youtube.py", line 1425, in _decrypt_signature
func = self._extract_signature_function(
File "/usr/lib/python3.8/site-packages/youtube_dl/extractor/youtube.py", line 1338, in _extract_signature_function
cache_res = res(test_string)
File "/usr/lib/python3.8/site-packages/youtube_dl/extractor/youtube.py", line 1402, in
return lambda s: initial_function([s])
File "/usr/lib/python3.8/site-packages/youtube_dl/jsinterp.py", line 258, in resf
res, abort = self.interpret_statement(stmt, local_vars)
File "/usr/lib/python3.8/site-packages/youtube_dl/jsinterp.py", line 56, in interpret_statement
v = self.interpret_expression(expr, local_vars, allow_recursion)
File "/usr/lib/python3.8/site-packages/youtube_dl/jsinterp.py", line 91, in interpret_expression
right_val = self.interpret_expression(
File "/usr/lib/python3.8/site-packages/youtube_dl/jsinterp.py", line 188, in interpret_expression
x, abort = self.interpret_statement(
File "/usr/lib/python3.8/site-packages/youtube_dl/jsinterp.py", line 56, in interpret_statement
v = self.interpret_expression(expr, local_vars, allow_recursion)
File "/usr/lib/python3.8/site-packages/youtube_dl/jsinterp.py", line 211, in interpret_expression
raise ExtractorError('Unsupported JS expression %r' % expr)
youtube_dl.utils.ExtractorError: Unsupported JS expression '['; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
(caused by ExtractorError("Unsupported JS expression '['; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.")); please report this issue on https://yt-dl.org/bug . Makesure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/youtube_dl/extractor/youtube.py", line 1425, in _decrypt_signature
func = self._extract_signature_function(
File "/usr/lib/python3.8/site-packages/youtube_dl/extractor/youtube.py", line 1338, in _extract_signature_function
cache_res = res(test_string)
File "/usr/lib/python3.8/site-packages/youtube_dl/extractor/youtube.py", line 1402, in
return lambda s: initial_function([s])
File "/usr/lib/python3.8/site-packages/youtube_dl/jsinterp.py", line 258, in resf
res, abort = self.interpret_statement(stmt, local_vars)
File "/usr/lib/python3.8/site-packages/youtube_dl/jsinterp.py", line 56, in interpret_statement
v = self.interpret_expression(expr, local_vars, allow_recursion)
File "/usr/lib/python3.8/site-packages/youtube_dl/jsinterp.py", line 91, in interpret_expression
right_val = self.interpret_expression(
File "/usr/lib/python3.8/site-packages/youtube_dl/jsinterp.py", line 188, in interpret_expression
x, abort = self.interpret_statement(
File "/usr/lib/python3.8/site-packages/youtube_dl/jsinterp.py", line 56, in interpret_statement
v = self.interpret_expression(expr, local_vars, allow_recursion)
File "/usr/lib/python3.8/site-packages/youtube_dl/jsinterp.py", line 211, in interpret_expression
raise ExtractorError('Unsupported JS expression %r' % expr)
youtube_dl.utils.ExtractorError: Unsupported JS expression '['; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/youtube_dl/extractor/youtube.py", line 1425, in _decrypt_signature
func = self._extract_signature_function(
File "/usr/lib/python3.8/site-packages/youtube_dl/extractor/youtube.py", line 1338, in _extract_signature_function
cache_res = res(test_string)
File "/usr/lib/python3.8/site-packages/youtube_dl/extractor/youtube.py", line 1402, in
return lambda s: initial_function([s])
File "/usr/lib/python3.8/site-packages/youtube_dl/jsinterp.py", line 258, in resf
res, abort = self.interpret_statement(stmt, local_vars)
File "/usr/lib/python3.8/site-packages/youtube_dl/jsinterp.py", line 56, in interpret_statement
v = self.interpret_expression(expr, local_vars, allow_recursion)
File "/usr/lib/python3.8/site-packages/youtube_dl/jsinterp.py", line 91, in interpret_expression
right_val = self.interpret_expression(
File "/usr/lib/python3.8/site-packages/youtube_dl/jsinterp.py", line 188, in interpret_expression
x, abort = self.interpret_statement(
File "/usr/lib/python3.8/site-packages/youtube_dl/jsinterp.py", line 56, in interpret_statement
v = self.interpret_expression(expr, local_vars, allow_recursion)
File "/usr/lib/python3.8/site-packages/youtube_dl/jsinterp.py", line 211, in interpret_expression
raise ExtractorError('Unsupported JS expression %r' % expr)
youtube_dl.utils.ExtractorError: Unsupported JS expression '['; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/youtube_dl/YoutubeDL.py", line 797, in extract_info
ie_result = ie.extract(url)
File "/usr/lib/python3.8/site-packages/youtube_dl/extractor/common.py", line 530, in extract
ie_result = self._real_extract(url)
File "/usr/lib/python3.8/site-packages/youtube_dl/extractor/youtube.py", line 2106, in _real_extract
signature = self._decrypt_signature(
File "/usr/lib/python3.8/site-packages/youtube_dl/extractor/youtube.py", line 1435, in _decrypt_signature
raise ExtractorError(
youtube_dl.utils.ExtractorError: Signature extraction failed: Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/youtube_dl/extractor/youtube.py", line 1425, in _decrypt_signature
func = self._extract_signature_function(
File "/usr/lib/python3.8/site-packages/youtube_dl/extractor/youtube.py", line 1338, in _extract_signature_function
cache_res = res(test_string)
File "/usr/lib/python3.8/site-packages/youtube_dl/extractor/youtube.py", line 1402, in
return lambda s: initial_function([s])
File "/usr/lib/python3.8/site-packages/youtube_dl/jsinterp.py", line 258, in resf
res, abort = self.interpret_statement(stmt, local_vars)
File "/usr/lib/python3.8/site-packages/youtube_dl/jsinterp.py", line 56, in interpret_statement
v = self.interpret_expression(expr, local_vars, allow_recursion)
File "/usr/lib/python3.8/site-packages/youtube_dl/jsinterp.py", line 91, in interpret_expression
right_val = self.interpret_expression(
File "/usr/lib/python3.8/site-packages/youtube_dl/jsinterp.py", line 188, in interpret_expression
x, abort = self.interpret_statement(
File "/usr/lib/python3.8/site-packages/youtube_dl/jsinterp.py", line 56, in interpret_statement
v = self.interpret_expression(expr, local_vars, allow_recursion)
File "/usr/lib/python3.8/site-packages/youtube_dl/jsinterp.py", line 211, in interpret_expression
raise ExtractorError('Unsupported JS expression %r' % expr)
youtube_dl.utils.ExtractorError: Unsupported JS expression '['; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
(caused by ExtractorError("Unsupported JS expression '['; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.")); please report this issue on https://yt-dl.org/bug . Makesure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

See this answer first.
You can try to uninstall youtube-dl and reinstall it.

thanks, getting the latest youtube-dl indeed fixed it. turns out arch packages are out of date ATM

@love124356  Tried the step but no help. Still the same issue.

@love124356 Tried the step but no help. Still the same issue.
Here's the error dump:

you will run into it unless you are running the latest version 2020.07.28
if you are running packaged version you most probably are not using the latest version,


Typos and Minor Clarifications

Fixed some typos in the Filters section and altered the language to be
stylistically similar for each entry.
Few typos in Special Thanks.

thanks :)


Allow throttling SQS

Adds new config options to throttle SQS.

Hi @AlexITC sorry I've been slow to get around to looking at this PR.
Please can you tell me more about why this change is needed?  What behaviour were you finding without this change?  For example, was it a problem with the app running out of memory?  Or exceeding kinesis rate limits?
Are you using it as part of a Snowplow pipeline setup, or is it for some other purpose of copying from sqs to kinesis?

We have a project that copies data from SQS to Kinesis, still, from time to time, we are experiencing that messages are consumed faster than what Kinesis can process, leaving us with many errors.
Then, we have introduced a throttling strategy to not pull more data from SQS than what our Kinesis instance can actually handle, until now, it has worked reasonably for us.
So, we came to contribute the minor patch just in case others find it useful.

@istreeter any luck checking this?

Hi @AlexITC sorry I've been very slow to respond to this.  I will explain why I am hesitating about this change...
Akka-streams apps typically work with the concept of sinks applying backpressure towards the source, not the other way around.  In sqs2kinesis, the "sink" is writing to kinesis.  Sqs2kinesis works on the principle that it should write to kinesis as quickly as it is allowed to.  When it is throttled by kinesis... then that's OK!  It retries sending to kinesis until it is successful.  Then it fetches more from records from Sqs.
This design of the app seems to fit the akka-streams philosophy, that slow sinks set the overall rate, and quick sources adapt to that rate.  By throttling the source, it seems we are flipping that paradigm the wrong way around.
When you say...

we are experiencing that messages are consumed faster than what Kinesis can process, leaving us with many errors.

Are you just referring to messages in the logs saying that it got throttled?  Or is there some other error that I'm not aware of?
If you just mean the messages in the logs, then I wouldn't really call them errors.  I admit that we are currently logging them at ERROR logging level, and that is probably a mistake.  Maybe we just need to re-think how we log this transient problem?
Sorry again to be slow with this PR.  If there is a good reason why the fundamental design of the app is problematic then I'll try to help you out.  I just want to make sure we put in the right fix in the right place.

Thanks for taking the time to review and explain.
I should mention that I was hired for a few hours to check a problem faced by a customer, hence, I don't have as much context as I'd hope.

Akka-streams apps typically work with the concept of sinks applying backpressure towards the source, not the other way around. In sqs2kinesis, the "sink" is writing to kinesis. Sqs2kinesis works on the principle that it should write to kinesis as quickly as it is allowed to. When it is throttled by kinesis... then that's OK! It retries sending to kinesis until it is successful. Then it fetches more from records from Sqs.

Thanks for explaining this, I'm aware of this back-pressure mechanism, what my customer shared is that their Kinesis instance ended up crashing when processing a high amount of records (I don't know what's the number) which caused considerable delays before recovering.

This design of the app seems to fit the akka-streams philosophy, that slow sinks set the overall rate, and quick sources adapt to that rate. By throttling the source, it seems we are flipping that paradigm the wrong way around.

Fair point, still, this has been the simplest solution for my customer who is currently used my fork.

Are you just referring to messages in the logs saying that it got throttled? Or is there some other error that I'm not aware of?

My customer shared to me that their Kinesis instance was constantly crashing until the throttling strategy was introduced. As far as I saw, failed messages ended up being retried.

Sorry again to be slow with this PR. If there is a good reason why the fundamental design of the app is problematic then I'll try to help you out. I just want to make sure we put in the right fix in the right place.

I have raised this to my customer who is interested in getting rid of my fork, given the lack of details, do you have any better suggestion?

Hi @AlexITC thank you that is very helpful extra context!

their Kinesis instance ended up crashing when processing a high amount of records

I find this very interesting!!  If we're talking about the original Kinesis™ service managed by AWS... then in my experience it does not crash like this.  Because it's a highly resilient cloud service.
I wonder, is the customer using a "Kinesis-compatible" non-AWS instance?  Something like Localstack?  If I am guessing right, then that's an interesting angle I had never thought about for sqs2kinesis.  But I can see it would be nice to support these less resilient tools.
To avoid crashing the Kinesis sink, it might be possible to use some of the existing settings for backoff and retry.  However, our backoff mechanism assumes that the Kinesis instance issues WriteThroughputExceeded messages.  If we're talking about a non-AWS version of Kinesis, then I wonder if it has this support for WriteThroughputExceeded.
By the way, I am leaning towards merging this for you.  I never wanted to be a blocker for you or for your customer, I just wanted to understand the change.

@istreeter apologize for the delay, I can't share much context about this just yet, what I got to understand so far is that the problem fixed by this throttling strategy occurs rarely, requiring some specific settings/environment (I still don't know those details).


OCPBUGS-25745: Add Snyk file to exclude vendor directory on scan

Hello! This is a PR to add a snyk file to exclude the vendors folder while scanning the repo. Thanks!

Closing this to address with a cherry pick later


 Let's try bumping the version in case they fixed it.
While I was at it, I added Go 1.19 to the list of versions we test,
since it's out now (fixes #216).
Test plan: make lint

I have:

[x] Written a clear PR title and description (above)
[x] Signed the Khan Academy CLA
[x] Added tests covering my changes, if applicable
[x] Included a link to the issue fixed, if applicable
[x] Included documentation, for new features
[x] Added an entry to the changelog
[x] Crossed my fingers that the gods are with us today

Turns out the newest golangci-lint also uses Go 1.19, and turns out that means we need to update gofmt which does some new doc-comment formatting, and then I want to tweak some of our formatting while I'm at it. Will return to this later.


Lexicon cleanup

Removes src/lexicons
Replaces with imports from respective upstream packages
Replaces ts-node with tsx, namely because @atproto/bsky doesn't export lexicons

See: bluesky-social/atproto#2353
Merging bluesky-social/atproto#2354 will allow reverting to ts-node

Fixes #41.

Trying to merge this into a custom feed today, and it took me a long while to figure out why it's working successfully with tsx but failing when trying to build and run the program in a production setting from dist.
Need to import from @atproto/bsky/dist/lexicon instead of @atproto/bsky/src/lexicon!

Sorry for the late reply on this & thanks to @haileyok for putting it on my radar.
I agree that the lexicons are pretty noisy in here. And we really weren't sparing in what we copied over when we set this up 😅
However @atproto/bsky is a pretty heavy duty dependency to install (our entire appview service) just to get access to some types. I think the proper way to do this will be to have published packages for only the code-genned types which can then be installed by all services that use them (including the appview & the feed generator).
An alternate approach would be to add the actual relevant lexicon (JSON) files to the project and also add a codegen command to the package.json. That's the approach that we use on several of our other services.


std::map member variables should be marked as const if they never change

Given that these maps never change, they should be marked const. This would also require that you use std::map::at instead of std::map::operator[].
These could possibly be marked as static as well.
https://github.com/jasoncoposky/irods_client_rest_cpp/blob/15d367c05e387743d45ed8eb4d5fe9c7c34e4a9f/irods_specific_implementation/irods_rest_list_api_implementation.h#L136
https://github.com/jasoncoposky/irods_client_rest_cpp/blob/15d367c05e387743d45ed8eb4d5fe9c7c34e4a9f/irods_specific_implementation/irods_rest_list_api_implementation.h#L145

resolved by commit bdf398e


Action dosnt stop pipeline if error in test results

Hey, thx for great action, though i have discovered that it doesn't halt pipeline if test fails, usually the parameter "-CI" does this if i use invoke-pester, but cannot see an option for this, is this correct?

I've created PR #9  that should fix this!

Done! v1.4.0


Channel Player Buffering?

It seems that when a broadcast is concluded, the player goes into a buffering mode, meaning the rotating graphic stays active like forever?

You can see the rotating circle in the center of the video.

@rayj00 Thanks for creating this issue. It seems this happening because old segments are being cached by our nodes. Issue #9 is where we'll continue the discussion. 👍


Enforce that Task.Sources cannot have upstream task dependencies

This would simplify the data model considerably, make things easier to reason about internally, and avoid common mistakes (e.g. https://github.com/com-lihaoyi/mill/pull/4120). e.g. for watch-and-rerun or selective execution, it would mean we can just inspect the hashes of the input tasks in isolation, rather than running through an entire evaluation workflow to get their values
I wanted to do this a while back, but in the past the fact that T and T.sources were different types meant that you had to override T.sources with T.sources, so sources needed to support depending on tasks to allow the common override-and-add workflow. Now, we can simply override Task.Sources with Task, so we no longer need Task.Sources to support upstream task dependencies
This is a breaking change and would need to wait for 0.13.0

So how do I add new source dirs (that should be watched) to an inherited sources task then?
object Common {
  def sources = Task.Sources(millSourcePath / "src" )
}
object foo extends Common {
  def sources = Task.Sources {
    super.sources() ++ Seq(PathRef(millSourcePath / "src-foo"))
  }
}

Something like this:
object Common {
  def sources = Task.Sources(millSourcePath / "src" )
}
object foo extends Common {
  def newSources = Task.sources(millSourcePath / "src-foo")
  def sources = Task { super.sources() ++ newSources() }
}

A bit more verbose than the current setup, but not too bad

That's really inconvenient. Since this change is only motivated by the implementation impact, maybe we can restrict the super call to when super is a Task.Sources, so that the outcome can be merged easily?

The dynamism required for those can still be done with the API above I think. They just require crossValue/crossScalaVersion and the millSourcePath, all of which can be computed at resolution time without needing to evaluate any tasks.
Not sure if there are other use cases that do require task-results to do their computation, but at least those discussed here do not.
I'd like to remove the ability of Task.Inputs to depend on upstream tasks as well.
Overall these issues we'll need to sort out during implementation to see if it hits any blockers, but at least for now it still seems feasible

I'm not convinced crippling Input is a wise thing to do. Isn't there any other option to fix the watch and re-evaluate a command issue? Any setup that captures external tools output in an Input which also requires some configuration via some tasks won't work anymore.

I think there are two possible ways forward:

We remove Task.Sources(values: Result[Seq[PathRef]]) in favor of Task.Sources(values: Result[os.Path]*), and leave Task.Inputs in place. The PathRef overload of Task.Sources that takes arbitrary code is isomorphic to Task.Inputs anyway: anyone who needs it can still use that functionality, but people wont accidentally use it (which is common today, even in Mill's own codebase). This would just be tidying up without really reducing the power exposed by the Mill API, and would help reduce the error-prone-ness without allowing internal simplifications

We remove Task.Sources(values: Result[Seq[PathRef]]) and prevent Task.Inputs from taking upstream task dependencies. This is stricter than above, but it's possible. We do have one callsite in MillBuildRootModule that currently relies on an input with upstream dependencies, so we would need to see if that is really necessary, and also see if there are other parts in the third-party ecosystem that rely on this functionality. This would reduce the power of the Mill API but also allow internal simplifications

We don't need to come to a decision yet, just things to think about in the run up to 0.13.0

Giving the user the choice to use a more powerful but maybe less performant solution, Task.Input, when needed, but promote a less powerful but more performant Task.Sources as the preferred solution for most of the trivial cases, sounds best to me.
I think there should be an easy way to add static paths (aka overriding a Task.Sources) while keeping nice performance characteristics.

One interesting place I found where we have a source -> source dependency is in JavaTests#sources, where we rely on the outer.sources() to take its relative path so we can mirror the relative path layout in JavaTest#sources
https://github.com/com-lihaoyi/mill/blob/a117b6264ca6243a33febb35cbb5b9f7ffc10f04/scalalib/src/mill/scalalib/JavaModule.scala#L54-L58

I think changing the user facing API to always accept os.Path in Task.Sources and Task.Source, and just handle the PathRef creation behind the scenes would make it a bit easier.


fix(elixir): separate function from parameter matching

Previous queries were mixing the parameter matches and the function
matches into the same query. This would make it so that functions that
didn't have parameters wouldn't match @function.inner or @function.outer
queries.
Separating them makes it easier to focus on the specifics of fulfilling
each query. This should resolve issue nvim-treesitter#249.

Sorry @kiyoon for the barage of PR's I was trying to break up my work into smaller pieces. I wasn't sure all who is involved in this project and how many eyes would see it.

When I test it, it seems to be not working with functions with parameters in #249 examples?

Thanks a lot for your work, and no worries, it makes it easier to focus on one problem at a time.

Thanks for the reminder on this PR @yihuikhuu. I'll take another stab at this incorporating your feedback this week.

I should have checked existing PRs before opening #605 😅
Mine seems to be a lot simpler, but maybe it's too generic? I've tested it a bit and it seems to match all call parameters in every situation (and it helps simplify other queries as well) without breaking other stuff, but maybe I'm missing something.


Cannot delete owned events

Because as long as you are owner, the RESTRICT from the event_owners table prevents deletion.
If you remove yourself as owner, you cannot delete the event...

Fixed on the server with zomtir/cptserver@7e78bcb9fe28d41fb2c531d70140683aeae896bf


Datamart nightly job failed to Update Tables (RT 74078)

CAMPD is having a production issue (RT 74078). A user reported this early this morning. It appears the emissions data is saying there is no data available regardless of what date you put in. You are unable to get past picking the year. I have also tried this directly in the APIs and got a response with no data. This appears for all of the emission types, not just hourly.

Issue was traced to the fact that the nightly Datamart CDC job failed with the following error:
Message: Database driver error...
CMN_1022 [truncate camddmw.unit_fact cascade

FnName: Execute Direct -- [Informatica][ODBC PostgreSQL Wire Protocol driver]Socket closed., SQLSTATE [08S01]
]

Vamshi will be re-running the Datamart CDX job and will report back when it has completed.

Additionally, pending changes to the Datamart nightly job that are in the CDC development environment include updates to the email
notification logic to include additional people in error notifications.

Vamshi  re-run the Datamart CDX job and now we can see the Data

Linked with #6109

This will be handled by #6109, so closing this ticket.


safety on nil added to dispatch

The purpose of this pull request is to make it easier to write tests on systems that dispatch messages.
This way the system can be invoked and still call Engo.Mailbox.Dispatch, even if it hasn't been created by the runtime.
This can be worked around, but the reason I thought it would be worth making as a pull request is that we want to encourage testing, and taking away a hurdle to that could be helpful

Wouldn't this throw a nil pointer reference when you do mm.Dispatch() and never make it to that point? To test systems that dispatch messages wouldn't it be best to create an actual message manager and then a test system that listens for the messages, so you know it is being sent and able to be received by other systems?

Oddly this works here. Unlike most languages I've seen, the function can call on a type even if it's nil, but obviously you can't reference any internal data.
It's possibly not the best way to handle it. I pondered getting it to log or something since it was for test purposes. But could'nt see an easy way round.
I also considered having the system recieve a Dispatcher as a parameter, (dependency injection) but I thought that was too much work.
In some recent work I actually did
if engo.Mailbox != nil {
   engo.Mailbox.Dispatch(mess)
}

which worked for my case, and I could test it safely.
It was just a thought that the mailbox could do this and save a test case from outside.

I just mean wouldn't it be okay if you just made your own message manager instead of engo.Mailbox for testing. That way you get (and can test) the sending and receiving of messages without the overhead of the entire engo engine

Agred,


Zero matrix initialization in a one-liner

hey @everyday847 what is this?

It's certainly transparent and I have no problem keeping it as an option, but there's some value to mimicking what's seen within the broader python community as 'best practices' for organizing a project.
https://docs.pytest.org/en/latest/goodpractices.html is representative and also covers use of setuptools.


Cool idea!

Would you be able to do similar text crawls in other formats? Like a computer screen filling characters little by little, or a scroll unrolling and displaying gothic text?

This project was purely written in CSS which allows for easily adding other text into the animated crawl.  A typewriter animation is possible with pure CSS, but it would become problematic when adding multiple lines of text of variable lengths.  It's not impossible, but would require significantly more work adding JavaScript hooks.  If I end up running a cyberpunk game in the future I'll likely add that functionality, but at this time it's out side of the scope of the module.


Changed behaviour?

The (!) Note mentions, that unsaved data will be lost.
I've used setActiveProcess today and it triggers a save. No changes were lost.
Is this a new feature of this method?

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

ID: 71065911-65c7-1464-97f9-d5c6a673c808
Version Independent ID: 6573c9a2-6933-a8fe-eb70-a047990e3312
Content: setActiveProcess (Client API reference) in model-driven apps - Power Apps
Content Source: powerapps-docs/developer/model-driven-apps/clientapi/reference/formContext-data-process/activeprocess/setActiveProcess.md
Service: powerapps
Sub-service: mda-developer
GitHub Login: @HemantGaur
Microsoft Alias: hemantg

I've not heard of any intentional changes to the behavior here.
@HemantGaur  How about you?
I recommend that you try this in isolation from any other customizations and make sure that the save isn't triggered by something else.
If it still happens: It isn't aligned with the documented behavior, it would be a bug. You should contact technical support.

It also happens in an other environment on a form without other customizations.
I'm not available next week, so I'll contact support later.

I don't see anything actionable for documentation here. Closing.


AnswerFactory - Make recipe list have consistent order

It is difficult to find the desired recipe in the recipe dropdown list while creating a project. It would be better to make the list alphabetically ordered.

Fixed in #88.


Save and Load model

Hi, thank you so much for this repository and congratulations for your work!
Could you please update the code so that we can save and load the trained models? I trained a model based on your typed entity marker method and now I would like to load it and apply it to predict relations on new texts. I would appreciate if you can explain to me how to do it or give some examples.
Thank you!

You can refer to the Pytorch docs on how to save and load the model.


Generator "templates" / "base generators" / mixins

I want to allow my users to create generators that all follow a certain convention.
E.g. the generator will place every generated element in a certain module-folder (which has a modulename) and which will create that folder if it does not exist.
What i did now is create a helper function  that wraps plop.setGenerator and mutates the prompts and actions:
const makeModuleGenerator = (name, generatorConfig) =>
  plop.setGenerator(name, {
    ...generatorConfig,
    prompts: [
      {
        type: 'input',
        name: 'moduleName',
        message: "What's the module name?"
      },
      ...generatorConfig.prompts,
      {
        type: 'confirm',
        name: 'createModule',
        when(data) {
          return !exists(data, modulePath);
        },
        message: 'This module does not exist. Should I create this module?'
      }
    ],
    actions: data => {
      if (data.createModule === false) {
        return []; // abort
      }
      if (isFunction(generatorConfig.actions)) {
        return generatorConfig.actions(data);
      }
      return generatorConfig.actions;
    }
  });

and you can use it like this:
makeModuleGenerator('component', {
    prompts: [
      {
        type: 'input',
        name: 'name',
        message: "What's the component name?"
      }
    ],
    actions: [
      {
        type: 'add',
        template: 'templates/components/component.js',
        path: '{{moduleName}}/components/{{name}}.js',
      }
    ]
  });

While this works, you can't use this helper function out of the box in a plopfile.
Imaging you want to load this helper functions in a  plop-pack from npm. Usually, you can load this with plop.load("plop-pack-name") which will add generators, actions, helpers, etc.
But there is no way to provide such a helper function without any changes. You would need to import it additionally through npm.
An approach would be to provide a new generatorTemplate.
This could look like this (same example as above in makeModuleGenerator )
  plop.setGeneratorTemplate("withModule", config => ({
    prompts: [
       {
        type: 'input',
        name: 'moduleName',
        message: "What's the module name?"
      },
      ...config.prompts,
      {
        type: 'confirm',
        name: 'createModule',
        when(data) {
          return !exists(data, modulePath);
        },
        message: 'This module does not exist. Should I create this module?'
      }
    ],
    actions: data => {
      if (data.createModule === false) {
        return []; // abort
      }
      if (isFunction(config.actions)) {
        return config.actions(data);
      }
      return config.actions;
    }
  })

So its basically a function that will mutate the config of a generator.
And you could use this like this (same example as above):
plop.setGenerator('component', {
  generatorTemplate: "withModule",
    prompts: [
      {
        type: 'input',
        name: 'name',
        message: "What's the component name?"
      }
    ],
    actions: [
      {
        type: 'add',
        template: 'templates/components/component.js',
        path: '{{moduleName}}/components/{{name}}.js',
      }
    ]
  });

Apart from managing an additional entity "generatorTemplate", it would be easy to implement:
// where the generator is called
let actualConfig = config;
  if(config.template) {
    templateFunc = getGeneratorTemplates(config.template)
    actualConfig = templateFunc(config)
  }

(I don't like the name "generatorTemplate", as "template" is already overloaded in plop, maybe we find a better name for that?

hey @macrozone, somehow I didn't see this until now... not sure how I missed it :frowning_face:. I'm not sure that what you are proposing here belongs as a new entity within the plop api. You can achieve the same result with a function (as you mention) or a Class that generates the generator config.
example: plop.setGenerator('something', new ModuleGenerator({config}));
I think that adding this as a new entity would introduce unneeded cognitive load for others using plop. I'll give this some more thought, but I would lean toward distributing something like this as a standard npm module that exports a function or a class.
I'll leave this open for now for more discussion.

@amwmedia
A:

plop.load('my-plop-pack')

plop.setGenerator('components", {
   mixins: ["withModules],
....
})

B:
import { ModuleGenerator } from 'my-plop-pack'

plop.load('my-plop-pack')

plop.setGenerator('components", new ModuleGenerator({config}))

A fits more to how plop handles generators, actions and entities.
Not sure if B is really less "cognitive overhead" as it all of sudden introduce an import statement where everything else is loaded via plop.

I believe B is easier to understand because I know that setGenerator takes a name and a config object. I also know that constructor functions are a way to generate objects in a consistent way. So I understand B without knowing what a mixin is and how it relates to generators. I also think that you could run into some real trouble when you try to combine mixins and they both control the output, but that's just a gut feeling.
I guess the real question here is... how often do people want to create generators that inherit some of their behavior from somewhere else? My assumption is that this is a bit of an edge case. Plop is currently designed to have generators whose behavior is primarily owned by a single codebase.

"I believe B is easier to understand because I know that setGenerator takes a name and a config object. " --> that makes no sense. This is the case in A, not B (mixins is just a config property).
"My assumption is that this is a bit of an edge case."
Propably, probably not. I am missing this feature. You could also providing mixins like linting or pretty every file that has been generated. I think there are a lot more use case
But yeah, it can probably also be solved by saying the user to import some config generator functions manually and using them.  Less elegant, but also less complex

"that makes no sense. This is the case in A, not B (mixins is just a config property)" --> What I'm trying to say here is that the concept of a "mixin" is extra. A constructor function is a standard way to create objects in JavaScript, so I already know what is happening here. The constructor function will generate an object and the setGenerator method takes an object.
I would think that linting and prettier should be handled by build process instead of generators, but I don't doubt that other use cases could be found.
I'll take a look at the PR, maybe seeing your implementation will shed more light on this for me.

I tried to revisit that and tried to remove the mixins from my ploppack as this not seems to get merged.  But its hard to do. I need the plopfileconfig in my mixins and without a first-citizen api, this will get nasty:
const { moduleGenerator } = require('myploppack');

module.exports = function(plop, config) {
const customConfig = {
  foo: "bar"
}
  plop.load('myploppack',customConfig);
  plop.setGenerator(
    'reducer',
// need to pass in config somehow. This was already handled in my PR
    moduleGenerator(customConfig)({
      description: 'bla',
      /// ... config
    })
  );
};

is the part that "gets nasty" the fact that you have to pass the config in at 2 places? just want to be sure I understand your concern.

@amwmedia yes, exactly! Sorry for the bad wording.

you have to pass the config twice
and you have to load the "ploppack" twice (once with require/import and once with plop.load)

I think the underlying problem is because node-plop's architecture does not allow customizing it in a more advance way, you are stuck with the existing api (setGenerator, setAction, etc.), otherwise you have to monkeypatch it
My proposal does not improve the architecture and so does not solve this underlying problem, but it adds an additional api which is similar to the existing api and solves certain use cases.
Could we give it a chance as it is already implemented with tests?


Line numbers should be toggle-able for current cell AND subsequent cells (or multiple cells)

In the normal Jupyter notebooks, we can add line numbers by pressing the L key after selecting the cell. All the subsequent cells for that notebook will have line numbers automatically.
But this is missing in VSCode. Every time a new cell is created, we need to select the cell and press the L key to enable the numbering for that cell which is very tiresome.
Is there a way to automatically enable line numbering for all the cells in the VSCode Jupyter notebook?
Thank you.

notebook.lineNumbers can set line numbers for all cells and persist for all notebooks.


Move user functions into user.go

As title.

Hmm... Why not make this notice_model instead?

Hmm... Why not make this notice_model instead?

Then we just have two files in this sub model? It's too small so that we may have too many sub packages in models.

Codecov Report

Merging #17659 (03f1311) into main (8fdc524) will increase coverage by 0.11%.
The diff coverage is 53.30%.

@@            Coverage Diff             @@
##             main   #17659      +/-   ##
==========================================
+ Coverage   45.35%   45.47%   +0.11%
==========================================
  Files         799      800       +1
  Lines       89062    89228     +166
==========================================
+ Hits        40393    40574     +181
+ Misses      42163    42121      -42
- Partials     6506     6533      +27

Impacted Files
Coverage Δ

cmd/admin.go
0.00% <0.00%> (ø)

cmd/doctor.go
0.00% <ø> (ø)

cmd/hook.go
7.79% <ø> (+0.01%)
:arrow_up:

cmd/mailer.go
0.00% <ø> (ø)

cmd/web.go
0.00% <ø> (ø)

models/consistency.go
8.84% <0.00%> (ø)

models/db/engine.go
32.00% <ø> (ø)

models/error.go
38.81% <ø> (+0.33%)
:arrow_up:

models/issue_list.go
71.80% <ø> (ø)

models/repo_indexer.go
53.22% <ø> (ø)

... and 77 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 6874fe9...03f1311. Read the comment docs.


Restore PreparedStatement#executeUpdate instrumentation

Fixes #917
Checklist

[x] Implement code
[x] Add tests
[ ] Update CHANGELOG.md

Codecov Report

Merging #918 into master will decrease coverage by 0.34%.
The diff coverage is 27.77%.

@@            Coverage Diff             @@
##             master   #918      +/-   ##
==========================================
- Coverage     64.35%    64%   -0.35%
  Complexity       85     85
==========================================
  Files           234    234
  Lines          9807   9708      -99
  Branches       1285   1268      -17
==========================================
- Hits           6311   6214      -97
- Misses         3104   3105       +1
+ Partials        392    389       -3

Impacted Files
Coverage Δ
Complexity Δ

...astic/apm/agent/jdbc/StatementInstrumentation.java
32.5% <27.77%> (-0.84%)
0 <0> (ø)

...astic/apm/agent/impl/transaction/AbstractSpan.java
80.15% <0%> (-3.44%)
0% <0%> (ø)

...va/co/elastic/apm/agent/impl/transaction/Span.java
77.52% <0%> (-2.04%)
0% <0%> (ø)

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 151356f...ee4ec9c. Read the comment docs.


Impossible to load lib after version 2.0.0

I have tried to use the library and after the version 2.0.0, the module is not found when trying to load it in node.
I have this error :
const { compileFilter, compileSorter }  = require('scim-query-filter-parser');
Thrown:
{ Error: Cannot find module 'scim-query-filter-parser'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:668:15)
    at Function.Module._load (internal/modules/cjs/loader.js:591:27)
    at Module.require (internal/modules/cjs/loader.js:723:19)
    at require (internal/modules/cjs/helpers.js:14:16) code: 'MODULE_NOT_FOUND' }

When doing the same things with the version 1.1.1 works.
Print screen of what I have test :

Thanks! Fixed in version 2.0.2


chore(deps): update dependency ngx-markdown to v16

This PR contains the following updates:

Package
Type
Update
Change

ngx-markdown
dependencies
major
^15.1.1 -> ^16.0.0

Release Notes

jfcere/ngx-markdown
v16.0.0
Compare Source
Update Angular 16
Library has been updated to support Angular 16.
It is recommended to stick with ngx-markdown v15.x.x if you are using Angular 15.
New features and enhancements

Update to Angular 16
Add required version ranges to install instructions on README.md

Commits

Update Angular 16 (#454) (37f67d2) @jfcere

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: package-lock.json
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/@angular/cdk
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!   peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!   node_modules/@angular/material
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/@angular-material-components/datetime-picker
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Conflicting peer dependency<EMAIL_ADDRESS>npm ERR! node_modules/@angular/cdk
npm ERR!   peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!   node_modules/@angular-material-components/datetime-picker
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR!
npm ERR! For a full report see:
npm ERR! /tmp/renovate/cache/others/npm/_logs/2023-05-07T21_13_57_303Z-eresolve-report.txt

npm ERR!


import Dispatch framework at header needs.

Dear 'swift protobuf' community,
Latest release of Package has issue with building on linux.
If you try to build, you will get error:
/mnt/Kraken/Kraken/.build/checkouts/swift-protobuf-runtime.git--7221025210804308591/Sources/SwiftProtobuf/DoubleFormatter.swift:85:57: warning: '+' is deprecated: Mixed-type addition is deprecated. Please use explicit type conversion.         return _doubleToUtf8(Double(f), digits: FLT_DIG + 2)                                                         ^ /mnt/Kraken/Kraken/.build/checkouts/swift-protobuf-runtime.git--7221025210804308591/Sources/SwiftProtobuf/DoubleFormatter.swift:89:49: warning: '+' is deprecated: Mixed-type addition is deprecated. Please use explicit type conversion.         return _doubleToUtf8(d, digits: DBL_DIG + 2)                                                 ^ /mnt/Kraken/Kraken/.build/checkouts/swift-protobuf-runtime.git--7221025210804308591/Sources/SwiftProtobuf/Google_Protobuf_Any+Registry.swift:50:31: error: use of unresolved identifier 'DispatchQueue' fileprivate var serialQueue = DispatchQueue(label: "com.apple.swift.typeRegistry")                               ^~~~~~~~~~~~~
Solution is add import Dispatch in file ..Sources/SwiftProtobuf/Google_Protobuf_Any+Registry.swift
Environment:
roaming@octadero-kraken-builder:/mnt/Kraken/Kraken$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.2 LTS
Release:        16.04
Codename:       xenial
roaming@octadero-kraken-builder:/mnt/Kraken/Kraken$ swift -version
Swift version 3.1.1 (swift-3.1.1-RELEASE)
Target: x86_64-unknown-linux-gnu

What version are you using?  The import was added on Mar 29th - https://github.com/apple/swift-protobuf/commit/ea4b43949df497963dfdf12c6ef6a984951c64eb#diff-184c4a870f84be381b03d312487342f5
It looks like that should have been in all of the 0.90x tags.

Yes, I see, sorry my fault, has wrong number:
       dependencies: [.Package(url: "https://github.com/apple/swift-protobuf-runtime.git", Version(0,9,29)),

No worries.  Thanks for the report.  @tbkka also just landed a few other linux fixes in the 0.9.902 tag cut last week.


PhpdocTypesFixer - support generic types

Coverage increased (+0.005%) to 92.136% when pulling b5f79ebcba61eaa4ed9dca7eb119e5392a6615b8 on kubawerlos:PhpdocTypesFixer_support_generics into 51dd236e79ccb739f3fb54036c758ad0771921dc on FriendsOfPHP:master.

Thank you @kubawerlos.


Defined class attribute before using it

see
https://github.com/cboden/Ratchet/blob/master/src/Ratchet/Server/IoServer.php#L89-L90

Closing it ;)


[GitHub For Enterprise] update graphql-request to v6

Description
Update graphql-request to v6. As a major upgrade, this is done as a separate PR.
I tested the update on my GHE and it works - no breaking change.
Screencast
N/A
Checklist

[X] I read the extension guidelines
[X] I read the documentation about publishing
[X] I ran npm run build and tested this distribution build in Raycast
[X] I checked that files in the assets folder are used by the extension itself
[X] I checked that assets used by the README are placed outside of the metadata folder

That should work just fine, thanks @LunaticMuch 🔥
@Kinbaum do you mind checking this?


chore(master): release 2.6.1

:robot: I have created a release beep boop
2.6.1 (2024-05-28)
Bug Fixes

body should not be set when undefined (0674870)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/keq-request/keq/releases/tag/v2.6.1 :sunflower:


chore unit test for column nullable serialization

Unit test for column nullable serialization

run buildall

run buildall

run buildall


Can we use AGE with postGIS togeteher ?

Dear,
I would like both modelize a graph of data and walking through and in same time I would like perform some geospatial query.
So can can we combine these extensions for a same dataset ?
Thanks
Best regards

Yes you can, by using PostgreSQL you can use both AGE and PostGIS by adding them to the database to provide additional functionality. By combining AGE and PostGIS, you can model and query both graph and geospatial data in a single PostgreSQL database.

Yes, you can use both AGE and PostGIS in PostgreSQL by adding them to the database to provide additional functionality. You can model and query both graph and geospatial data in a single PostgreSQL database by combining AGE and PostGIS. This enables you to run graph algorithms and queries on your graph data, as well as geospatial operations on your geospatial data, all from a single integrated system.

thanks a lot @FahadZaheerfzr that seems promising
have a nice day


Speed up tests a little

by caching JSON schema in MockReporter

Codecov Report

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

@@            Coverage Diff            @@
##             master     #260   +/-   ##
=========================================
  Coverage     72.96%   72.96%
  Complexity     1134     1134
=========================================
  Files           121      121
  Lines          4221     4221
  Branches        422      422
=========================================
  Hits           3080     3080
  Misses          943      943
  Partials        198      198

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 7da2e91...9892379. Read the comment docs.


UPC-E CLASH ISSUE

It is observed that when we try to detect the other ONE-D barcodes (like EAN-13,UPC-A,CODE 128 etc) it is found that UPC-E & EAN-8 were decoding as a false barcodes (I.e. It is not a actual UPC-E/EAN-8 barcode).
I have observed the detailed working of UPC-E algorithm for the false barcode detection. It was completely passing with the algorithm (zxing library)

It has proper Quite zone.
Start pattern was perfect.
Middle data was decoded with the proper check digit.
End pattern was also perfect.

So this works according to the algorithm, but for us that was actually a wrong data that is being decoded.
I am attaching the samples that is being decoded as the false barcodes.
Let me know if any way to eliminate the false detection of these barcodes.

Here you can see the UPC-E barcode was decoded inside the some other ONE-D barcode (CODE-39) in the frame.
This image shows what text was decoding and at what point it was failing and passing.
So here you can see due to 1:1:1 proportion for the START_CODE makes it easier to enter into the detection algorithm (decode middle in zxing lib). So it was completely matching with the algorithm and the ENCODING scheme at some point of time.
Even at times if there was no barcodes in the frame the UPC-E type was being decoded due to black, white transitions in the frame.
More image Samples :

I tested current HEAD ZXingReader command line utility with all your samples and there was no EAN-8/UPC-E code detected. Could you please also try the current HEAD revision (in case you used an older one for your test)? If you still have the problems, please try to replicate the issue with ZXingReader, so that I can observe the issue myself.
Note: you uploaded photos with red dots in them, so they are obviously altered and not exactly what you originally fed your program. That might also be of relevance here.

Thanks for your response axxel,
Actually, I am currently using c++ port of zxing.
I have attached the fresh samples without red dots, kindly check with these samples and let me know,

Those samples work just as well as the above ones with the red dots.  Note that this project is "a" (not "the") c++ port of the Java code but there are others that behave completely different, since I rewrote much of the 1D barcode detection code.

These samples were tested with the current (nu-book/zxing cpp). Still I was facing the issue with the UPC-E barcode clash.
Input images :

Output images :

OK, this is now a different situation. This is the same issue as discussed in #255. See especially my comment https://github.com/nu-book/zxing-cpp/issues/255#issuecomment-918872248 for a potential solution.


Add haproxy::instance for the creation of multiple instances of haproxy

Add haproxy::instance for the creation of multiple instances of haproxy on a host.  See [MODULES-1783]

New Define Resource Type: haproxy::instance
New Define Resource Type: haproxy::instance_service
Class[haproxy] is now a wrapper that calls haproxy::instance
Add "instance" parameter to all public defines.
All private classes become private defined resource types.
Pass parameters to private defined resource types rather than
"inherts params" no longer used for classes that are now defines
Documentation updated, examples added
Spec tests updated and new tests added
Fixed: mode and options lines include an extra space

oy, why does it already contain merge-conflicts :|

This should merge easier if  https://github.com/puppetlabs/puppetlabs-haproxy/pull/167 is merged first.

ah, yeah, i saw #167 after this one

Merged.  PTAL

Tests passed!  Ready for review and merge!

PTAL

@tlimoncelli i've done my best to review your code, and the only thing left is for someone from puppetlabs to chime in. Well, that and a rebase

Hello. The nature of puppetlabs modules is that they are patterned after industry standards and conventions and are supported as such by the module team. The module team believes that multiple haproxy instances on a single node does not follow industry convention. Merging this PR would mean that we must maintain the functionality for questionable benefit to the majority of users. I hope you understand our concerns.

As you can guess, I'm disappointed by this response and would  like to discuss it further before the matter is considered closed.
This is following industry convention.  This is a configuration that is recommended by Willy, the author of haproxy, for anyone that needs to isolate frontends from each other or create separate domains of reliability.  The conventions used are similar to other puppet modules that permit multiple instances. For example the puppetlabs/tomcat module. Frankly, it is a tautology to say that Puppet users don't do this: they can't because the module doesn't support it.
The changes are minor and fully backwards compatible.  The classes are carefully constructed to be fully backwards compatible, as demonstrated by the spec tests as well as personal experience. If this PR is merged, I volunteer to work with anyone that finds incompatibilities until the next major release, and will create spec tests to demonstrate that they are fixed.
The one file that may be slightly difficult to support is instance_service.pp because it is a demonstration of how a site might use these new features but sites may choose to use it differently. If you prefer, I can move the contents of this file to the documentation as an example of how one might create the Service[] instance so-as to not to imply that this is the only way to use the module. This would be sad, considering that it is a fully working example with spec tests. I would prefer to alter the documentation to be more clear that this is an example, possibly renaming it to service_example.pp.
Lastly, I'm particularly surprised because I checked with the community before moving forward with this project.  I created (MODULES-1783) and Morgan Haskel wrote "that sounds like a reasonable feature to add".
I'd be glad to discuss this further.
Sincerely,
Tom Limoncelli

Could you rebase this an add some acceptance tests?

I've rebased and added some tests.  Sadly TravisCI fails the tests.  The tests all work on my machine.  It seems to have something to do with the "resource" function.  Any suggestions?

All problems found and fixed.

@TomOnTime could you please do a proper rebase? and squash down the commits that are failing tests!

Done.  PTAL

 still has the merge commit…
when you…
git remote add upstream git@github.com:puppetlabs/puppetlabs-haproxy
git remote update
git rebase upstream/master

it should vanish… should…
git :(

When github says the code needs to be rebased, it should include a link to those 3 commands.  I've been doing it a much longer, and more painful, way.

\o/
you're perfectly welcome!

why does this contain merge conflicts already again :(

I think I squashed things properly now. (I have a love-hate relationship with Git).  PTAL

you need to push this change, then it will be reflected in github. It is a pain, i agree.

@tphoney Please pretend I'm new to Git and tell me what you want me to do.

git people trying to use hg: "WHY WON'T IT LET ME DO THIS"hg people trying to use git: "WHY DID IT LET ME DO THAT"— ❀❁ eevee ❁❀ (@eevee) April 14, 2015

THE PAIN, IT HURTS. I used SVN for many years, although not great, i could do things. Even Perforce was ok. With Git, i know i can do it, it feels like magic if it does work. Most of the time i trawl the internet for solutions, and weep.
The following command will print out your commits.
git log --pretty=oneline
To squash (the last 2 commits)
git rebase --interactive HEAD~2
Then read the text squash the commits you want to, and save.
(You can view the squashed commit  with the log command above "git log --pretty=oneline")
then push it to github (you will push to the branch you were working on)
git push -f origin destination_branch
Or read this
http://stackoverflow.com/questions/2563632/how-can-i-merge-two-commits-into-one

@tlimoncelli this will also need updates in the README for new parameters and new classes/defines. Thanks!

Also, acceptance tests are failing for this branch.

@mhaskel  Docs updated.  Thanks for the reminder!
@bmjen Would you please link to the failing test?  I see all green here: https://travis-ci.org/puppetlabs/puppetlabs-haproxy/builds/59799099

@tlimoncelli Here is a snippet of the failures from my acceptance test run on centos-6.
https://gist.github.com/bmjen/9ddcd4cd54093cf70f71
Also failed similarly in Ubuntu-1404.

@tlimoncelli Also, the travis-ci you linked is for the PR passing unit tests.

@bmjen Ah, I missed that you said acceptance test.  Thanks, now I get it.  Well, my intention is that this big change should be fully backwards compatible, so I'd like to help get those tests passing.  Are they tests I can run some how so I can reproduce the issue locally?  Failing that, could we do a hangout/skype/whatever?

@tlimoncelli if you have a vagrant/vbox setup locally, you can run the acceptance tests via bundle exec rspec spec/acceptance

@bmjen I can't get the acceptance tests working on the master branch, let alone the multiple_instances branch.  I doubt I have the right hardware to run them.

@tlimoncelli I can help look at the failures if time permits. What errors are you getting when trying to run bundle exec rspec spec/acceptance?

Here's what I've tried so far:
https://gist.github.com/tlimoncelli/0dc02b5c5dd614d0e7f5

Perhaps the commands that you were after were bundle install then bundle exec rake beaker. You can also choose which vagrant image from spec/acceptance/nodesets to run the acceptance tests on with eg. BEAKER_set=ubuntu-server-1404-x64 bundle exec rake beaker
I would recommend jumping onto the #puppet IRC channel on Freenode, and even if you don't get a response immediately you'll get pointed in the right direction a bit faster.

I finally built an environment that could run the acceptance tests.  They all pass now.
I've updated the docs, rebased, etc.  Please take a look and consider merge if all is good.

@bmjen Once I finally got an environment that could run vbox and the other things that the acceptance tests require, it all worked. Can you try again and let me know if you see any issues still?

@hunner @igalic @mhaskel PTAL.

Thanks @tlimoncelli for your work, but can't be merged as it has conflicts. Please rebase them on the current master, fix the conflicts and repush here. https://git-scm.com/book/en/v2/Git-Branching-Rebasing

Will do.

Hi @tlimoncelli I'd love to see this PR get merged, can you resolve the merge conflicts so I can test?

@mentat I'm struggling with git, but I will try to get this done soon.

@TomOnTime we offer git related hand-holding in #puppet-community on freenode
(among other things :)

rebased. PTAL

@tlimoncelli almost! you still got a remote-tracking branch commit in there.
Please refer to my https://github.com/puppet-community/puppet-jira/pull/99#issuecomment-152528108 for how to do this cleanly.

Thanks for the link.  I got it this time!

@TomOnTime \o/

What do I do now?

now we wait…

for someone from @puppetlabs to re-review this pr, or just press that sweet, sweet green merge button.

I'll run acceptance on this today.

cool !!

FYI:
This includes https://github.com/puppetlabs/puppetlabs-haproxy/pull/175 merged in already. Hopefully they'll both be merged.

:+1:

\o/

\o/    Happy Dance
Thanks, y'all!


[RESTEASY-1974] Fix subset of checkstyle errors in testsuite

Fix subset of checkstyle errors in testsuite
Jira: https://issues.jboss.org/browse/RESTEASY-1974
3.6: I will prepare 3.6 PR once this PR will be merged.

Thanks @tterem


Evaluate: NameError - variable not recognized

When I use this robot code:
Sort List Specific Order
    [Arguments]    ${input_list}  ${alphabet}=${SPACE}_0123456789aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZåÅäÄöÖ()
    ${ns}    Create Dictionary    alphabet=${alphabet}    input_list=${input_list}
    ${sorted}    Evaluate     sorted(input_list, key=lambda word: [alphabet.find(c) for c in word])     namespace=${ns}
    [Return]    ${sorted}

It brings this error
Evaluating expression 'sorted(input_list, key=lambda word: [alphabet.find(c) for c in word])' failed: NameError: name 'alphabet' is not defined

In 3.1.2 it works, in 3.22 not.

This is an unfortunate regression caused by changes to the evaluation logic behind the Evaluate keyword and the new inline evaluation syntax in RF 3.2. We use Python's eval() for evaluation the expression and pass the explicitly given namespace, explicitly imported modules, and Robot's active variables to it as global and local namespace. In RF 3.1 both the explicit namespace and modules were passed in as a global namespace but this was changed in RF 3.2 and now the explicit namespace is passed as a local namespace. Most evaluated code isn't affected because it sees both the global and the local namespace, but apparently lambda creates a new intermediate scope where locals aren't visible. We actually had a similar problem with imported modules (#3510) but that was detected already during the RF 3.2 beta period and was fixed before the final release.
Good news is that fixing this ought to be easy by just passing the explicit namespace as part of the global namespace. That's how we fixed the issue with modules as well. Should also add a test for this to make sure this functionality isn't broken again by future changes.
Bad news is that RF 3.2.2 was the last planned release in the 3.2.x series and this isn't important enough bug to warrant one more bug fix release. Unfortunate this issue wasn't discovered earlier.
Luckily there's a way to workaround this problem but I don't have time to explain that right now.

The way to workaround this problem is explicitly passing needed values to the lambda. This can be done by using arguments with default values, because the default value is evaluated in the local namespace where the values are seen. With this particular case this means changing
Evaluate     sorted(input_list, key=lambda word: [alphabet.find(c) for c in word])     namespace=${ns}

to
Evaluate     sorted(input_list, key=lambda word, alphabet=alphabet: [alphabet.find(c) for c in word])     namespace=${ns}

A further enhancement would be not creating the namespace at all and instead relaying on Robot's variables being available in the evaluation namespace automatically using the $var syntax. That would change the example to this:
Evaluate     sorted($input_list, key=lambda word, alphabet=$alphabet: [alphabet.find(c) for c in word])

Probably the best way to avoid this problem would be converting this keyword to Python. Then the Python code would be evaluated normally, not with eval(), and the whole problem with namespaces would disappear. The resulting code would likely be easier to understand and maintain as well.

As I already commented, this can be fixed pretty easily by using the given namespace as the global namespace with eval(). Interestingly we need to keep passing the namespace also to our custom local namespace object to make it possible to detect which names (i.e. variables) in the expression aren't found and should be automatically imported. The latter wasn't done with modules (#3510) but I guess it wasn't needed because modules are automatically imported anyway. They are likely some corner cases where there could still be problems with modules so better to pass them to the custom namespace in the future as well.
For another example about problems with namespaces when using eval() see #3593. That issue unfortunately cannot be fixed easily because the global namespace must be a real dictionary and automatically importing modules is handled by our custom local namespace object.


1.12.2 Crash for MC.Eternal 1.3.4 pack (NEI added to pack)

it would work upon start and would let me play but after a few crashes (see logs most likely from another mod crashing) it won't even start up anymore... NEI v.<IP_ADDRESS>... I disabled NEI and it started up just fine... Added mods to the game are Vienminer, Squeedometer, NEI, Optifine, and XRay (so sue me, it's only solo play.)
Log files not actually caused by NEI as far as I can see but is preventing the game from starting now...
crash-2020-03-24_10.51.44-server.txt
crash-2020-03-24_10.43.12-server.txt
latest.log

Update, reverting to v<IP_ADDRESS> fixed the issue, whatever you did in the last update is what screwed it up...

You know what, if memory serves me, I think there's a compatibility issue with NEI and HWYLA... not sure if that was ever fixed but I just noticed it in the pack from stock... don't know why both HWYLA and WAILA are in the pack, they are essentially the same thing only something about HWYLA has issues with NEI... still testing, still no official crash logs generated... and I can't find the FML logs but regular logs are generated... I'll update you in a few if my game starts up, just deleted HWYLA


Custom Monster Image not loading

The custom monster image is not loading. It is an 200x200px - 81kb .PNG image created in GIMP.
It comes up as a red ? on a white background at present, which i've noticed is the default holding image when the image can't be found.
I have attached my Scenario, I have added a shortcut (Secret Door tile) to the first tile which will skip to the monster spawn event.
Stressandstrain.zip

Yep, found the bug.  It doesn't add the relative path, so it can't find the image.

I recommend using the base monster type of a picture that is close enough as a work around for now. (and don't set a custom image).

Thanks Bruce, I will do. Looking forward to the fix. Had fun making the custom images :D

Check out the prerelease here, let me know if you find any bugs:
https://github.com/NPBruce/valkyrie/releases/tag/prerelease%2F1.5%2Fv1.5.0a


Too many entries in logbook

If there is a possibility to exclude the activity in the recorder and the logbook?
I have excluded in the config, but the number of entries is too much from zaptec.
"Charger on" and "chareging finioshed" should be enough from the default add-on?

Let me check if there is something that can be done from the integration programmatically.

Personally I use a lot of the additional sensors. Especially those related to power and energy, as I'm actively regulating the power consumption in my house to ensure being within certain power limits. But I can understand that not all users might want to have all those entities. It seems it is possible to disable entities by default when it is added for the first time. So the question I think we need to have here is:
What entities should be enabled by default and which should be disabled?

I imagine the sensors related to power levels and charging state are the most important, and I don't really see anything that isn't important. @hlowe59, what entries are you referring to? The only thing that i see is less important is the phase voltage and current, but i'd imagine that info is relevant for somebody...

@johnhans I don't think any of the sensors are irrelevant, maybe my last post was misunderstood. It was just a comment on how the logbook and recorder was filled up with messages from this add-on.
I have excluded them in the config, no problem. I was just interested in the possibility to have them excluded in the code, in stead of every user have to exclude them himself?
entity_globs:
- switch.sol21_ladestasjon_1449_*
- sensor.sol21_ladestasjon_1449_*
- update.sol21_ladestasjon_1449_*
- binary_sensor.sol21_ladestasjon_1449_*
- number.sol21_ladestasjon_1449_*
- number.hans_lowe_larsen_*
- switch.hans_lowe_larsen_*
- binary_sensor.hans_lowe_larsen_*
- button.sol21_ladestasjon_1449_*

@hlowe59 I did some research and reached out to the HA dev community. It seems there isn't a mechanism built into HA to programmatically exclude recorder entries for entities. Its designed for opting-out by the user as done in the configuration example above, but not opt-in unfortunately.

This can be closed. Thank you.


Question/feature - Interpret hashbang

This is a feature request - I opened the issue with gotwarlost/istanbul, but I think maybe I should be opening it here instead
https://github.com/gotwarlost/istanbul/issues/788
First and foremost this is a question...I am wondering if Istanbul will currently interpret the hashbang in a file, for example if we have this:
#!/usr/bin/env mocha
instead of
#!/usr/bin/env node
such that when we run:
istanbul cover <file>
istanbul can execute the file with mocha instead of node (or whatever the executable might be besides node).
this would be very nice and is something I am obviously looking for.
Perhaps Istanbul already does this, I tested it though, and it doesn't seem to work.

@isaacs and @addaleax have done a lot of the work around this specific nyc functionality -- I definitely think it would be cool.
We're actually a few versions behind spawn-wrap, which is the library that facilitates #!/usr/bin/env node.

Yeah, I see, I guess supporting windows will make it a bit harder

So… I’m a bit torn on whether nyc should do this; on the one hand, it’s clear why this feature would make sense. On the other hand, what nyc supports right now is that it either lets you replace node with nyc in a command line and everything just works, or you prepend nyc to the command line. Implementing this feature would add a third such mode, and I’m a bit weary of the inconsistency/added complexity…
(A little aside: There’s some movement on adding support for pre-loading modules via environment variables on the Node core side, so spawn-wrap might not be necessary anymore at some point ^_^)

@addaleax

(A little aside: There’s some movement on adding support for pre-loading modules via environment variables on the Node core side, so spawn-wrap might not be necessary anymore at some point ^_^)

It'll still be required if you do spawn(node, [jsfile], { env: { foo: 'bar' } }) because it won't get passed in.  But, the spawn-wrap usage can potentially be simpler, because all it has to do is enforce an environment var rather than inject argv.
Currently, spawn-wrap will not detect a shebang line that is itself a shebang script invoking node.  That could be added pretty easily, care to open an issue over at https://github.com/tapjs/spawn-wrap/issues?  Thanks!

I just did some experimentation with the following shebang.js file:
#!/usr/bin/env mocha
console.log(it);

Then I added scripts to a package.json where mocha and nyc were already installed:
{
  "scripts": {
    "shebang": "./shebang.js",
    "shebang-nyc": "nyc --cache=false --all=false ./shebang.js"
  }
}

For both npm run shebang and npm run shebang-nyc I could see the following output:
{ [Function] only: [Function], skip: [Function], retries: [Function] }

  0 passing (1ms)

This output proves that shebang.js was being run by mocha, without mocha the it function would be undefined. In the case of shebang-nyc it also displayed 100% coverage.  So I'm unsure how/when but it seems like this issue is fixed.  @ORESoftware if you can still reproduce the issue with latest nyc please open a new ticket including a minimal reproduction repository.


Custom Huds

I know it's not a easy thing. But i genuinely believe it would be so useful. Maybe something that could be considered for V13E
Features it should have are:

custom colors for the whole hud or per individual element.
text, player name, level, world, sublevel, lives, health, max health, score, time, toxin, coins, keys, collectables and animation numbers.
icons (clock, coin, collectable, key and custom icons)
counter for collectables (like green stars in 3d world)
custom alignment (left, right and maybe middle)
overlays maybe

Since ACE is bust now i'd be happy to donate the current code. It might need some adjustment tho.
Yet again, not a small thing but it would be beyond useful and can't be easily recreated without it.

If you wanted to get REALLY fancy, maybe adding counters for more complex stuff such as X position, damage from Turrets, and custom character HP would be cool too. Or maybe even different HUD colors per level!

And, if you have extra time on your hands, you could add meters in place of numbers for stuff like coins and HP.
Oh, I almost forgot something this REALLY needs: parts of the HUD that vanish when inactive! And, also: parts of the HUD that follow the player around!

Truly been a busy week, PR may get uploaded next week 👀


Widget change it's color when snap is builded in linux app

as you can see in left image its from running code... it's in correct format but after building its snap file it changes it's widget's properties mainly color and pading.

Hi @PrashantSaxena07
When opening an issue, please try to provide all or some of the information indicated in the template so that we can address this issue properly.
More specifically, please provide the information indicated below:

A completed and minimal reproducible code sample
The output of flutter doctor -v
Reproduction steps

Once you update the issue with more information, please write in the comments for further discussion. Thanks!


Observability Feature Request: Metrics, Data Monitoring, and Graph Visualization

Feature request
I would like to propose the addition of an observability feature to LangChain, enabling developers to monitor and analyze their applications more effectively. This feature aims to provide metrics, data tracking, and graph visualization capabilities to enhance observability.
Key aspects of the proposed feature include:

Metrics Tracking: Capture time taken by LLM model to handle request, errors, number of tokens, and costing indication for the particular LLM.
Data Tracking: Log and store prompt, request, and response data for each LangChain interaction.
Graph Visualization: Generate basic graphs over time, depicting metrics such as request duration, error occurrences, token count, and cost.

This feature request aims to improve the development and debugging experience by providing developers with better insights into the performance, behavior, and cost implications of their LangChain applications.
Motivation
Last week, while I was creating an application using OpenAI's GPT 3.5 APIs to develop a chat-based solution for answering SEO-related queries, I encountered a significant challenge. During the launch, I realized that I had no means to monitor the responses suggested by the language model (GPT, in my case). Additionally, I had no insights into its performance, such as speed or token usage. To check the token count, I had to repeatedly log in to the OpenAI dashboard, which was time-consuming and cumbersome.
It was frustrating not having a clear picture of user interactions and the effectiveness of the system's responses. I realised that I needed a way to understand the system's performance in handling different types of queries and identify areas that required improvement.
I strongly believe that incorporating an observability feature in LangChain would be immensely valuable. It would empower developers like me to track user interactions, analyze the quality of responses, and measure the performance of the underlying LLM requests. Having these capabilities would not only provide insights into user behavior but also enable us to continuously improve the system's accuracy, response time, and overall user experience.
Your contribution
Yes, I am planning to raise a PR along with a couple of my friends to add an observability feature to Langchain.
I would be more than happy to take suggestions from the community, on what we could add to make it more usable!

Have you tried graphsignal?
https://graphsignal.com/docs/integrations/langchain/

Hey @OlajideOgun, thanks for the suggestion! Graphsignal integrates LangChain within it, and I wanted more of a solution which had  integration within langchain, in the form of callbacks to make it more usable.
So, we finally managed to create an Infino integration with #6218 for the above use cases.

Thanks! If you plan to use it, please do share the feedback/improvement :)

Closing the issue, as #6218 is merged.


native: remove cursor from useChannelPosts query key

Fixes TLON-2046 by removing the cursor param from the query key in useChannelPosts. Having the cursor in there forced the query to refetch every time we got a new message, so the user would briefly see the channel reload (since the data would be reset each time).

Closing this since it's addressed in #3607


Fix typo

Fixed typo in Japanese article about object-*.

Thank you!
@andreasbovens, could you please confirm and merge?

@andreasbovens, ping

All good.


Remove public channels

The public channel feature should be removed.
It was originally created to allow users to easily access the same channel from different modules without the need to pass around a reference to the channel between modules. However, this can be trivially solved by the user: Simply have a module that requires multivents, creates a channel and exports that same channel reference. That way, all of the user's modules can access the same channel by simply requiring this singleton-like channel module.
Since it is so trivial and natural to accomplish the same effect, and since public channels introduce quite a couple of if branches into multivents' source, I will most likely remove this feature.

https://github.com/objectliteral/multivents/commit/bf739fb4861b2662ebf2f5cbdd4c7ed1dc07b615


Custom renderer component: value passed as string instead of object

Description
One column of my table requires a complex data model, so I want to create a custom renderer and editor component for that column.
If loading my renderer, HOT is passing the value as an object.
If loading my editor, HOT is first running the value through stringify and then passing a string value to the setValue() function of my editor. The other direction works properly: the editor can pass an object back to HOT via the getValue() function.
The background for the complex data model is that I have to provide different auto-complete and hinting options to the text editor I am writing. So I need to store additional information to achieve that. Also, I need to store the resulting references to other objects when the user selects one of the suggestions.
Demo

https://jsfiddle.net/VinceSp/pj6vqyzg/40/
It can be fixed with this simple hack:
https://jsfiddle.net/VinceSp/pj6vqyzg/41/
But I feel that hack shouldn't be required.
Your environment

Vue wrapper version: 4.1.1
Handsontable version: 7.3.0
Browser Name and version: Google Chrome 79.0.3945.79 (Official Build) (64-bit)
Operating System: macOS 10.15.2 (19C57)

I noticed that also some other features of HOT are not working when using an object as a cell value, like autofill, copy'n'paste.
Alternatively, I realized I could simply store the value as a JSON string and parse that in the renderer and editor.
What would be the recommended pattern?

Thank you for sharing. I've asked my colleague to ib=nvestigate the case.

Hey @vincesp
I just got an update

It seems that the JSON string and parse is a good option.
Because of keep in cell value as an object.
Autofill works as expected, but copyPaste we should rethink of the functionality of copy to clipboard - maybe use JSON.stringify or even smarter solution.

Hi @vincesp,
We merged wrapper for Vue.js into our main repository, handsontable/handsontable, and now it's available as a monorepo.
We also transfer all issues into one common issue board, where you can follow work progress and request issues.


[TW#27392] Is there any way to disable automatic append of FCS for ethernet emac?

I wish to interface to an ethernet switch which uses tail tagging. An extra byte is inserted (by my software) just before the FCS, and the switch IC will remove it before it is sent to the LAN. This means that the FCS will be wrong, since it was computed with the tail tag present.
Is there a way I can disable automatic FCS inside the emac and instead compute and append my own?
Thanks

Check TRM 10.8.1 Transmit Descriptors

Thank you that looks like the information I need - stupidly I didn't even think to check the TRM.

@wayneuroda Well， playing esp32 with switch phy sounds interesting. Enable/Disable checksum calculation and insertion when transmit by setting/reset CIC bits in TDES1。

It turns out that I didn't need to disable the inbuilt CRC and compute my own at all, the issue I was facing was due to frame padding - in effect I was adding the tail tag and then the emac hardware was adding padding, so the tag wasn't in the right place. I simply added the padding and tail tag before sending the packet to the emac and everything is working now. That was a hair pulling experience trying to figure that one out!


Unsupported sql column for the array in postgres

Describe the bug

[SQL Builder] Unsupported sql column 'roles bigint[]', using StringColumn instead.

Environment (please complete the following information):

OS: macosx
Database: postgres
Jet version: v2.11.1

Code snippet
CREATE TABLE IF NOT EXISTS users (
    id bigserial PRIMARY KEY,
    status boolean NOT NULL DEFAULT true,

    username varchar(255) NOT NULL,
    email varchar(255) NOT NULL,

    roles BIGINT[],

    created_at timestamptz DEFAULT CURRENT_TIMESTAMP NULL,
    updated_at timestamptz DEFAULT CURRENT_TIMESTAMP NULL
);

Expected behavior
why don't support the array in postgres?

Array types are among the Postgres types currently unsupported. You can use raw expressions for sql builder and customize the generator to use your array destination type.

why don't support the array in postgres?

No one implemented it yet.

Got it, thanks. I'll have a try.