Error "Specified group generation id is not valid" during consumption

Hi there,
We quite often experience the error "Specified group generation id is not valid" when consuming messages for some of our topics:
{"throwable":{"file":"/app/vendor/mateusjunges/laravel-kafka/src/Commit/KafkaCommitter.php:20","code":22,"message":"Broker: Specified group generation id is not valid","class":"RdKafka\\Exception"}}

Unfortunately, this causes the consumer to break/fail. We fiddled around  with the heartbeat and timeout settings as suggested here. Sadly, it doesn't solve the issue.
Question: Is it possible for the consumer to rejoin the group automatically? If not, any other solution than recreating the consumer?
Thx a lot for your advice!

I gues this could be the potential fix: https://github.com/tulios/kafkajs/pull/1474/commits/5ec2806d758425b9df17a7bcb348d37fdfd5be16

We encountered the "Specified group generation id is not valid" as well while manually committing offsets via Consumer.commitOffsets(). It seems that any errors encountered during this, including the generation id error, are wrapped within a non-retriable error. We solved this by catching and unwrapping the unretriable error and re-throwing the underlying error, thus allowing https://github.com/tulios/kafkajs/commit/5ec2806d758425b9df17a7bcb348d37fdfd5be16 to handle the rejoining.


store_metadata_in_osv3: log extra debug info on failure

Coverage decreased (-0.1%) to 87.208% when pulling c549fd6d25e8f5e14329c169016df6af34901162 on store-metadata-extra-debug-output-on-error into d408c587d710cd34fb6c98ef956def3b0147f8e5 on master.

Coverage decreased (-0.1%) to 87.184% when pulling 7ff6c01f3c1ea4d8c27699e3500c86e5a0072108 on store-metadata-extra-debug-output-on-error into d408c587d710cd34fb6c98ef956def3b0147f8e5 on master.

LGTM

Coverage increased (+0.03%) to 87.226% when pulling a15a3d3cb9071b196e5e757d01622c84e5fb175d on store-metadata-extra-debug-output-on-error into 6cd930579b9ca3e54af66756026ef285ec176de5 on master.

LGTM, merged.


Handle broken invalid thumbnails

PR Checklist

Please check all that apply to this PR using "x":

[x] I have checked that this PR is not a duplicate of an existing PR (open, closed or merged)
[x] I have checked that this PR does not introduce a breaking change
[ ] This PR introduces breaking changes and I have provided a detailed explanation below

PR Type
What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting)
[ ] Refactoring (no functional changes)
[ ] Documentation changes
[ ] Other - Please describe:

Fixes
Issue Number: https://github.com/lbryio/lbry-desktop/issues/3290
What is the current behavior?
There is no default thumbnail for channel or stream.
What is the new behavior?
A new environment variable has been added to act as a default thumbnail for channels and streams in case the thumbnail can't be loaded.
The variables are:

CHANNEL_THUMBNAIL_FALLBACK: For channels
STREAM_THUMBNAIL_FALLBACK: For streams

Other information
A new library has been included to handle the image fallback: https://github.com/mbrevda/react-image

@Ruk33 This looks great. Please rebase this branch then I will merge it.-

Thank you @seanyesmunt , updated!


Add SlideController

SlideController is simple and flexible UI component completely written in Swift. It is a nice alternative for UIPageViewController built using power of generic types.
Project URL
https://github.com/touchlane/SlideController
Category
ScrollView
Description

Why it should be included to awesome-ios (optional)
Because it is awesome 😀
Checklist

[+] Only one project/change is in this pull request
[+] Addition in chronological order (bottom of category)
[+] Supports iOS 9 / tvOS 10 or later
[+] Supports Swift 4 or later
[+] Has a commit from less than 2 years ago
[+] Has a clear README in English

          1 Warning

:warning:
Found 1 link issue, a project collaborator will take care of these, thanks :)

Link issue by awesome_bot

Line
Status
Link

2869
302
http://www.ios-blog.co.uk/ redirects tohttp://www.ios-blog.co.uk/cgi-sys/suspendedpage.cgi

  Generated by :no_entry_sign: Danger


Document that --retry works for update.

Also makes the --jobs doc a little closer to the copy from install.

Wonderful, thanks so much!
@bundlerbot r+

@bundlerbot retry


Bridge.NET's Array.get() throws exception when array outside of boundaries

For C#, when an array is touched outside its allocated area, and exception is thrown, as it could be touching any unexpected memory address.
For JavaScript, this is not true. Accessing an array beyond its boundaries just returns 'null' if that's actually beyond arrays' defined data. Also returns null when the element has not been set (non-contiguous arrays).
PoC
The C# code:
namespace ClassLibrary1
{
    public partial class Class1
    {
        public static int[] MyArray = new int[5];
        public static int[,] My2DArray = new int[5, 5];

        [Ready]
        public static void TriggerError()
        {
            Console.Log("Array value outside its bounds is: " + MyArray[10]);
            Console.Log("Next command will trigger an exception, whereas it should just show 'null'.");
            Console.Log("Breaking array outside its bounds is: " + My2DArray[2, 10]);
        }
    }
}

Will result in the JS code:
Bridge.define('ClassLibrary1.Class1', {
    statics: {
        config: {
            init: function () {
                this.myArray = new Array(5);
                this.my2DArray = Bridge.Array.create(0, null, 5, 5);
                Bridge.ready(this.triggerError);
            }
        },
        triggerError: function () {
            console.log("Array value outside its bounds is: " + ClassLibrary1.Class1.myArray[10]);
            console.log("Next command will trigger an exception, whereas it should just show 'null'.");
            console.log("Breaking array outside its bounds is: " + ClassLibrary1.Class1.my2DArray.get([2, 10]));
        }
    }
});

And an exception will be triggered once the third command on triggerError function is executed on the browser. The exception is thrown from Bridge.Array.get(), corresponding to:
Bridge.js:4275                     if (indices[i] < 0 || indices[i] >= arr.$s[i]) {
Bridge.js:4276                        throw new Bridge.ArgumentException("Index " + i + " out of range");
BRidge.js:4277                    }

As per a chat with @vladsch, the 2D array exception is expected. Then, it turns out that the 1D array is the culprit in this case.

Closed unintentionally by github; reopening.

Hi @michaelcheers, thanks for providing the fix.
PR #1369 had already been merged, please create a new one. There is a comment here.
I created a Live example that could help in testing the fix.


Heatmap: Incorrect colors when using custom scale

Bug Report
Issue:
The custom scale for Heatmap was not right. It can be noticed from the example in the Cookbook 4.1 (winform). Below is the screenshot of the example showing in the cookbook

The max/min of the intensities are 200/-200. However, based on the colors after setting the scale, it shows the min value was somewhere close 100.
System Details

ScottPlot Version: 4.1.27
Operating System: ( Windows 10)
Application Type: (WinForms)
.NET Version: (.NET 5.0?)

Thanks for reporting this @ZPYin!
@bclehmann do you have any thoughts here? If you're not available to take a look I'll check it out but it may take me a few days to get to this one...
I'm guessing the bug is in this code block:
https://github.com/ScottPlot/ScottPlot/blob/604b08c3c5c3f776f061a80362410b78ead1f5a4/src/ScottPlot/Plottable/Heatmap.cs#L174-L219

I think what's happening is that in the plottable intensities below zero are clipped, and all mapped to the middle of the colourmap. But in the axis the range is stretched so that zero is mapped to the minimum of the colourmap. Neither behaviour is necessarily wrong (in my opinion), but they need to be consistent with eachother.
I think we had a discussion before on which behaviour made the most sense, but I cannot remember what we decided on.

I also encountered this problem, I think when I need custom scale, I should not need the code block：
 min = ((scaleMin.HasValue && scaleMin.Value < min) ? new double?(scaleMin.Value) : min);
 max = ((scaleMax.HasValue && scaleMax.Value > max) ? new double?(scaleMax.Value) : max);

When I define the maximum and minimum values,Replace with：
min = scaleMin.Value;
max = scaleMax.Value;

Python
Here's a better matplotlib example demonstrating the intended effect
from math import sin, cos
import numpy as np
import matplotlib.pyplot as plt

intensities = np.zeros((100, 100))
for x in range(100):
    for y in range(100):
        intensities[x, y] = (sin(x * .2) + cos(y * .2)) * 100

plt.imshow(intensities, vmin=0, vmax=200, interpolation='bicubic')
plt.colorbar()
plt.show()

ScottPlot (Issue)
double[,] intensities = new double[100, 100];
for (int i = 0; i < 100; i++)
    for (int j = 0; j < 100; j++)
        intensities[i, j] = (Math.Sin(i * .2) + Math.Cos(j * .2)) * 100;

var plt = new ScottPlot.Plot(500, 400);

var cmap = ScottPlot.Drawing.Colormap.Viridis;

var hmap = plt.AddHeatmap(intensities, cmap, lockScales: false);
hmap.Interpolation = InterpolationMode.Bicubic;
hmap.Update(intensities, cmap, min: 0, max: 200); // intentionally cut-off data

var cbar = plt.AddColorbar(hmap);
cbar.MinValue = 0;
double[] tickPositions = ScottPlot.DataGen.Range(-150, 150, 50, true);
string[] tickLabels = tickPositions.Select(x => x.ToString()).ToArray();
cbar.SetTicks(tickPositions, tickLabels, -200, 200);

plt.Margins(0, 0);
TestTools.SaveFig(plt);

Figured it out! The hard-coded 0 was the problem
https://github.com/ScottPlot/ScottPlot/blob/c663da9e059ed07199fb2ad770a23592b9aaf9d7/src/ScottPlot/Plottable/Heatmap.cs#L214

Matplotlib
ScottPlot


Support All DuckDB platforms

currently only linux amd and macos are supported, the goals is to support all platforms.

arm binaries are available from nightly now: force install delta from core_nightly for v1.0.0


Allowed for variation in JSON ordering in unit test

NetflixOSS » Hystrix » Hystrix-pull-requests #338 SUCCESS
This pull request looks good


Use PyDateTime C API to Write Timestamps

This change uses the PyDateTime C API to access the Timestamp
attributes from the datetime super class. It improves Timestamp
serialization by about 10% for both Text and Binary. I expect the
improvement for basic datetimes to be higher but I haven't measured
it.
It should be compatible with future changes to the Timestamp types
so long as they still inherit from DateTime, which I think is a safe
assumption.
Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Can the timestamp-specific strings (e.g. month_str, day_str) be cleaned up now too, or are they used elsewhere?

Addressed.


placeholderTextColor should be a style property, not an element property

Description
I can't style the placeholderTextColor via my application styles, but rather have to do something like this:
..
placeholderTextColor={styles.inputField.placeholderTextColor}
..

Solution
Start supporting placeholderTextColor (or maybe it should be called placeholderColor) via style and deprected the TextInput property over time.
Additional Information

React Native version: 0.41.0

We're cutting down on the number of outstanding issues, in order to allow us to focus. I'm closing this issue because it has been open for over 60 days with no activity. If you think it should still be opened let us know why. PRs are always welcome.

I think that this is an easy one and may be pushed into queue

No, it should not. Styles should be standardized set of layout props that applicable for any view.


Consider differentiating icons for dropdown list and searchable list

Description
Icons should help people differentiate between form elements when making that choice.
The reason for when to choose dropdown list vs. searchable list is unclear
Steps to reproduce

Go to "Add form element"
Scroll down to "Dropdown" and "Searchable list"

Details

Browser: Chrome
Operating system: Windows
Environment: App router PR
Language: French
Viewport: Tablet

Expected behaviour
Either combining similar components like "Name"/"Names" and "Dropdown"/"Searchable" or differentiating them enough to make the choice easier for users (including making the difference clearer in the name and in the icon if they are distinct enough to each warrant their own type)
Screenshots or videos

This will need design input, so we'll descope this from the App Router bug fix work.
(Flagging as a heads up @connorscarolyns )


Makefile: fix tar options to create a tar.gz and inform the user abou…

…t the package location

Thanks!


Install and find SyntaxError: invalid syntax

Hi, I follow the install instruction:
export PYTHON_LIBRARY=/usr/lib/python2.7/config-x86_64-linux-gnu/libpython2.7.so
export PYTHON_INCLUDE_DIR=/usr/include/python2.7
python setup.py install

and get SyntaxError: invalid syntax
generating python binding
[ 20%] Swig source
Scanning dependencies of target _tinysplinepython
[ 40%] Building CXX object CMakeFiles/_tinysplinepython.dir/python/tinysplinepythonPYTHON_wrap.o
[ 60%] Building C object CMakeFiles/_tinysplinepython.dir/tinyspline.o
[ 80%] Building CXX object CMakeFiles/_tinysplinepython.dir/tinysplinecpp.o
[100%] Linking CXX shared module _tinysplinepython.so
[100%] Built target _tinysplinepython
creating file: __init__.py
package init file './__init__.py' not found (or not a regular file)
package init file './__init__.py' not found (or not a regular file)
removing cmake build directory
running install_lib
copying build/lib.linux-x86_64-2.7/tinyspline/tinyspline.py -> /usr/local/lib/python2.7/dist-packages/tinyspline
copying build/lib.linux-x86_64-2.7/tinyspline/_tinysplinepython.so -> /usr/local/lib/python2.7/dist-packages/tinyspline
copying build/lib.linux-x86_64-2.7/tinyspline/__init__.py -> /usr/local/lib/python2.7/dist-packages/tinyspline
byte-compiling /usr/local/lib/python2.7/dist-packages/tinyspline/tinyspline.py to tinyspline.pyc
  File "/usr/local/lib/python2.7/dist-packages/tinyspline/tinyspline.py", line 111
    def ts_deboornet_default(deBoorNet: 'tsDeBoorNet *') -> "void":
                                      ^
SyntaxError: invalid syntax

Could you please help? Thank you.

Did you install python2 headers with?:
sudo apt-get install libpython2.7-dev

Yes, I already install libpython2.7-dev.

Do you have multiple versions of python installed on your system. It looks like the generated python file belongs to python3, though, I'm not entirely sure.

Could you please paste the whole output of CMake? There should be a line telling us which mode (python2 or python3) has been used to create the binding.

Yes, I have both python 3 and python 2. The following is the whole output of
sudo python setup.py install

cbj@cbj-703:~/docs/learning/tinyspline$ sudo python setup.py install
running install
running build
running build_py
creating cmake build directory
creating /home/cbj/docs/learning/tinyspline/build/lib.linux-x86_64-2.7/build
generating cmake tree
-- The C compiler identification is GNU 4.8.4
-- The CXX compiler identification is GNU 4.8.4
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found SWIG: /usr/local/bin/swig (found suitable version "3.0.10", minimum required is "3.0.1")
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.4m.so (found version "3.4.3")
-- Using Python 3 mode.
-- Could NOT find JNI (missing:  JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH)
-- Could NOT find any suitable C# compiler.
-- Could NOT find Ruby (missing:  RUBY_INCLUDE_DIR RUBY_LIBRARY RUBY_CONFIG_INCLUDE_DIR) (found version "1.9.1")
CMake Warning (dev) in CMakeLists.txt:
  No cmake_minimum_required command is present.  A line of code such as

    cmake_minimum_required(VERSION 3.6)

  should be added at the top of the file.  The version specified may be lower
  if you wish to support older CMake versions for this project.  For more
  information run "cmake --help-policy CMP0000".
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Configuring done
-- Generating done
-- Build files have been written to: /home/cbj/docs/learning/tinyspline/build/lib.linux-x86_64-2.7/build
generating python binding
[ 20%] Swig source
Scanning dependencies of target _tinysplinepython
[ 40%] Building CXX object CMakeFiles/_tinysplinepython.dir/python/tinysplinepythonPYTHON_wrap.o
[ 60%] Building C object CMakeFiles/_tinysplinepython.dir/tinyspline.o
[ 80%] Building CXX object CMakeFiles/_tinysplinepython.dir/tinysplinecpp.o
[100%] Linking CXX shared module _tinysplinepython.so
[100%] Built target _tinysplinepython
creating file: __init__.py
package init file './__init__.py' not found (or not a regular file)
package init file './__init__.py' not found (or not a regular file)
removing cmake build directory
running install_lib
copying build/lib.linux-x86_64-2.7/tinyspline/tinyspline.py -> /usr/local/lib/python2.7/dist-packages/tinyspline
copying build/lib.linux-x86_64-2.7/tinyspline/_tinysplinepython.so -> /usr/local/lib/python2.7/dist-packages/tinyspline
copying build/lib.linux-x86_64-2.7/tinyspline/__init__.py -> /usr/local/lib/python2.7/dist-packages/tinyspline
byte-compiling /usr/local/lib/python2.7/dist-packages/tinyspline/tinyspline.py to tinyspline.pyc
  File "/usr/local/lib/python2.7/dist-packages/tinyspline/tinyspline.py", line 111
    def ts_deboornet_default(deBoorNet: 'tsDeBoorNet *') -> "void":
                                      ^
SyntaxError: invalid syntax

byte-compiling /usr/local/lib/python2.7/dist-packages/tinyspline/__init__.py to __init__.pyc
running install_egg_info
Removing /usr/local/lib/python2.7/dist-packages/tinyspline-0.1.2.egg-info
Writing /usr/local/lib/python2.7/dist-packages/tinyspline-0.1.2.egg-info

Should I run cmake before I run python setup.py? When I  run cmake .., I get these output:
-- Using environment variables PYTHON_LIBRARY and PYTHON_INCLUDE_DIR
-- Found PythonLibs: /usr/lib/python2.7/config-x86_64-linux-gnu/libpython2.7.so (found version "2.7.6")
-- Using Python 2 mode.
-- Could NOT find JNI (missing:  JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH)
-- Could NOT find any suitable C# compiler.
-- Could NOT find Ruby (missing:  RUBY_INCLUDE_DIR RUBY_LIBRARY RUBY_CONFIG_INCLUDE_DIR) (found version "1.9.1")
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
GLUT_Xi_LIBRARY (ADVANCED)
    linked by target "bspline" in directory /home/cbj/docs/learning/tinyspline/examples/c
    linked by target "beziers" in directory /home/cbj/docs/learning/tinyspline/examples/c
    linked by target "split" in directory /home/cbj/docs/learning/tinyspline/examples/c
    linked by target "derivative" in directory /home/cbj/docs/learning/tinyspline/examples/c
    linked by target "triangle-nurbs" in directory /home/cbj/docs/learning/tinyspline/examples/c
    linked by target "interpolation" in directory /home/cbj/docs/learning/tinyspline/examples/c
    linked by target "buckle" in directory /home/cbj/docs/learning/tinyspline/examples/c
    linked by target "triangle" in directory /home/cbj/docs/learning/tinyspline/examples/c
    linked by target "nurbs" in directory /home/cbj/docs/learning/tinyspline/examples/c

-- Configuring incomplete, errors occurred!
See also "/home/cbj/docs/learning/tinyspline/CMakeFiles/CMakeOutput.log".

As we can see in your log, CMake generated a python 3 interface file:
...
-- Found -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.4m.so (found version "3.4.3")
-- Using Python 3 mode.PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.4m.so (found version "3.4.3")
-- Using Python 3 mode.
...

It looks like python setup.py install does not pass the exported environment variables to CMake.

So what can I do to make it work? Thank you!

So what can I do to make it work? Thank you!

For now I was not able to properly pass the shell environment variables to python/cmake. However, you can you edit your setup.py file and add putenv to set PYTHON_LIBRARY and PYTHON_INCLUDE_DIR:
...
from shutil import rmtree, copy2
from os import path, chdir, putenv # add putenv
from glob import glob
import subprocess

cmake_bin = "cmake"
cmake_build_config = "Release"
cmake_build_target = "_tinysplinepython"

# export your environment variables
putenv("PYTHON_LIBRARY", "/usr/lib/python2.7/config-x86_64-linux-gnu/libpython2.7.so")
putenv("PYTHON_INCLUDE_DIR", "/usr/include/python2.7")
...

I will try to properly fix this issue as soon as possible.

I found that the environment variables exported as a regular user are not available with sudo. Therefore, another fix is to become root before exporting the variables and installing the binding.

Have a look at: http://stackoverflow.com/questions/8633461/how-to-keep-environment-variables-when-using-sudo. It shows that with sudo -E a user may keep his/her existing environment variables. Thus, you should be able to export the variables as regular user and run:
sudo -E python setup.py install

I tried it on my machine and it works flawless.

Thank you! I will take a try! Maybe on Monday, we are off now. Wish you a good weekend^_^

Hi, I use git pull to update and try sudo -E, it finds python 2.7 but it still does not work. When I run quickstart.py, I get:
cbj@cbj-703:~/docs/learning/tinyspline/examples/python$ python2 quickstart.py
Traceback (most recent call last):
  File "quickstart.py", line 22, in <module>
    spline.ctrlp = ctrlp
  File "/usr/local/lib/python2.7/dist-packages/tinyspline/tinyspline.py", line 356, in <lambda>
    BSpline.ctrlp = property(lambda self: list(self.__ctrlp()), lambda self, value: self.__setCtrlp(value))
TypeError: in method 'BSpline___setCtrlp', argument 2 of type 'std::vector< ts::rational,std::allocator< ts::rational > > const'

When I use python3 to run I get the same output
cbj@cbj-703:~/docs/learning/tinyspline/examples/python$ python3 quickstart.py
Traceback (most recent call last):
  File "quickstart.py", line 22, in <module>
    spline.ctrlp = ctrlp
  File "/usr/local/lib/python3.4/dist-packages/tinyspline/tinyspline.py", line 356, in <lambda>
    BSpline.ctrlp = property(lambda self: list(self.__ctrlp()), lambda self, value: self.__setCtrlp(value))
TypeError: in method 'BSpline___setCtrlp', argument 2 of type 'std::vector< ts::rational,std::allocator< ts::rational > > const'

Here is the output of compilation:
cbj@cbj-703:~/docs/learning/tinyspline$ sudo -E python setup.py install
running install
running build
running build_py
creating cmake build directory
creating /home/cbj/docs/learning/tinyspline/build/lib.linux-x86_64-2.7/build
generating cmake tree
-- The C compiler identification is GNU 4.8.4
-- The CXX compiler identification is GNU 4.8.4
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using environment variables 'PYTHON_LIBRARY' and 'PYTHON_INCLUDE_DIR'
-- Found SWIG: /usr/local/bin/swig (found suitable version "3.0.10", minimum required is "3.0.1")
-- Found PythonLibs: /usr/lib/python2.7/config-x86_64-linux-gnu/libpython2.7.so (found version "2.7.6")
-- Could NOT find JNI (missing:  JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH)
-- Could NOT find Ruby (missing:  RUBY_INCLUDE_DIR RUBY_LIBRARY RUBY_CONFIG_INCLUDE_DIR) (found version "1.9.1")
CMake Warning (dev) in CMakeLists.txt:
  No cmake_minimum_required command is present.  A line of code such as

    cmake_minimum_required(VERSION 3.6)

  should be added at the top of the file.  The version specified may be lower
  if you wish to support older CMake versions for this project.  For more
  information run "cmake --help-policy CMP0000".
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Configuring done
-- Generating done
-- Build files have been written to: /home/cbj/docs/learning/tinyspline/build/lib.linux-x86_64-2.7/build
generating python binding
[ 20%] Swig source
Scanning dependencies of target _tinysplinepython
[ 40%] Building CXX object CMakeFiles/_tinysplinepython.dir/python/tinysplinepythonPYTHON_wrap.o
[ 60%] Building C object CMakeFiles/_tinysplinepython.dir/tinyspline.o
[ 80%] Building CXX object CMakeFiles/_tinysplinepython.dir/tinysplinecpp.o
[100%] Linking CXX shared module lib/_tinysplinepython.so
[100%] Built target _tinysplinepython
creating file: __init__.py
package init file './__init__.py' not found (or not a regular file)
package init file './__init__.py' not found (or not a regular file)
removing cmake build directory
running install_lib
copying build/lib.linux-x86_64-2.7/tinyspline/tinyspline.py -> /usr/local/lib/python2.7/dist-packages/tinyspline
copying build/lib.linux-x86_64-2.7/tinyspline/_tinysplinepython.so -> /usr/local/lib/python2.7/dist-packages/tinyspline
copying build/lib.linux-x86_64-2.7/tinyspline/__init__.py -> /usr/local/lib/python2.7/dist-packages/tinyspline
byte-compiling /usr/local/lib/python2.7/dist-packages/tinyspline/tinyspline.py to tinyspline.pyc
byte-compiling /usr/local/lib/python2.7/dist-packages/tinyspline/__init__.py to __init__.pyc
running install_egg_info
Removing /usr/local/lib/python2.7/dist-packages/tinyspline-0.1.2.egg-info
Writing /usr/local/lib/python2.7/dist-packages/tinyspline-0.1.2.egg-info

Looks like an error introduced by the recently added double precision support. Will fix it as soon as possible.

OK, thank you:)

Should be fixed with newest commit.

Can I close this one?

Yes of course:)


Improve error message and logs when displaying cluster names

When waiting for clusters to become ready times out, we show:
RuntimeError: Timeout waiting for cluster hub

The error may be confusing if your hub cluster is not named hub. Make it more clear:
RuntimeError: Timeout waiting for cluster 'hub'

This should be used for all cases we show a cluster names in errors or logs.

@Shwetha-Acharya do you want to take this issue? This is a good learning task, and
add value to users of the tool.

@Shwetha-Acharya do you want to take this issue? This is a good learning task, and add value to users of the tool.

yes @nirs I will take it up


Check and correct terminology in README

Review the README as some of the class names have changed during migration to 1.9 (e.g. RequiresAuthentictionHandler becoming SecurityHandler) and correct any inaccuracies.

The j2e-pac4j README is our template.


Event System

Neil- Maybe write a little bit about what you want the event system to look like. I saw the code you wrote and it looks pretty great- just write down what you want it to do though for future contributors.

I created endpoints to create, list, and query events. Eventually the user should be able to rsvp to events, which is what I am working on right now


[BUG] Lsp server terminated immediately after launch

I am tyring to use distant.nvim for remote work. It is a really nice plugin. But there is an issue in my setup: after I DistantOpen /path/to/server/file.py, I can see some diagnostic show up but the server is terminated quickly, I check the distant.log, which says that ".../nvim-data/lazy/distant.nvim/lua/distant-core/client.lua:195: Client terminated: "INVALID_SERVER_JSON"".
commands that I use:

DistantLaunch ssh://USER@SERVER_IP:PORT
DistantOpen /path/to/server/file.py

Related:

platform: I have tried on windows/mac as local machine, and linux as remote machine. Both has the same issue.
distant version: 0.20.0, I also tried 0.20.0-alpha.10, the same issue.
distant.nvim version: v0.3
lsp server: pyright/clangd (both of them failed with the same problem)
distant.nvim config:

            require('distant'):setup(
              {
                  servers = {
                      ['SERVER_IP'] = {
                          lsp = {
                              ['/home/project'] = {
                                  -- cmd = {'/usr/bin/pyright-langserver', '--stdio'}, -- I have tried both of the two "cmd"
                                  cmd = '/usr/bin/pyright-langserver --stdio',
                                  root_dir = '/home/project/',
                                  settings = {
                                      {
                                          python = {
                                              analysis = {
                                                  autoSearchPaths = true,
                                                  diagnosticMode = "openFilesOnly",
                                                  useLibraryCodeForTypes = true
                                              }
                                          }
                                      }
                                  },
                                  single_file_support = true,
                                  file_types = {'python'},
                                  on_exit = function(code, signal, client_id)
                                      local prefix = '[Client ' .. tostring(client_id) .. ']'
                                      print(prefix .. ' LSP exited with code ' .. tostring(code))

                                      -- Signal can be nil
                                      if signal ~= nil then
                                          print(prefix .. ' Signal ' .. tostring(signal))
                                      end
                                  end,
                              }
                          }
                      }
                  }
              }
             )

I also have the same issue for python as well, I also tried the "fix/AddCheckForFailingToStartLspClient" which results in no LSP client being attached.


Basic dao Motoko example

There's a very useful basic dao example
Do you see any blockers on implementing that? Only thing I see is the heartbeat functionality but we can differ that to later when it's available.
It's more involved and would yield more insights on the limitations and bugs, I can start working on it if no objections.

Go ahead, heartbeat won't work like you said, and there is no access to stable storage yet either. It will be interesting to see how far you get.

BTW the testing infrastructure for examples should be coming today, working on it now

BTW the testing infrastructure for examples should be coming today, working on it now

That's a good news 🥳


Added meteor support

Hi,
I'm a Meteor.js dev and eager package creator for Meteor. jquery.actual is a cool library, and adding it to Meteor's ecosystem will expose it to many new devs (Meteor has 22k+ stars on GitHub), likely bringing in new testers and contributors.
This PullRequest will let you directly publish updated versions of the library as they become available. All you have to do is create an account at https://meteor.com/ (click SIGN IN, then Create account). After you've done that, please let me know the name of the account, and I'll add you as a maintainer.
I've already published the current version of the package on Atmosphere (Meteor's package directory, you can see it here: https://atmospherejs.com/dreamerslab/jquery.actual). When you release new versions, you can publish them automatically to Atmosphere with grunt meteor.
Thanks & best regards,
Jan

Thanks!

@mediatainment I no longer write frontend code, is it possible for others to install through Github like the other frontend package management system?

Yes, this is only a wrapper code, which is added to you lib. Meteor (atmospherejs = official Package List) grabs your lib from github.


Memory leaks fixed. Formatting improved.

First of all, thanks for the great work. I've been using this library and it helped me a lot.
Nevertheless I've been running into memory leaks caused by the calendar view. I quickly went thought all blocks which had strong references to self and added modified them with [weak self].
I've been testing it with the modifications and leaks are gone.
I used the chance to run swiftformat (https://github.com/nicklockwood/SwiftFormat) to enforce the swift style guide and get rid of extra spacing, unneeded self, etc.
Also renamed a couple of variables theData -> calendarData, theOffset -> newOffset, there is no need to include the article in a variable name.
Thanks for your time again.
Cheers!

hmm. I was not aware of any memory leaks in this app.
The was an introduction of two memory leaks on starting on version 8.0.0

But this has since been fixed in version 8.0.1
Did you by chance have the leaks on version 8.0.0 ?

Mmm, I need to double-check that on Monday (I don't have access to the project till then).
But nevertheless there are still blocks in 8.0.1 using strong self in dispatch queues (e.g. JTACMonthActionFunctions.swift).
That code will be scheduled and executed whether or not that object is still alive, meaning that self will be retained till then (more info here: https://stackoverflow.com/a/21988407/4473187).

Hmm.
I am not sure that calling self inside of a closure will cause a retain cycle.
There are a number of places in the library where I do thing like this -->
DispatchQueue.main.async {
   self.something()
}

To my knowledge, this will not cause retain cycles because, the closure is not owned by the class. I guess we can talk again once  you can check your project. I highly suspect the retain cycle was from version 8.0.0 and not 8.0.1. Lets see 🍻

for reference --> https://stablekernel.com/how-to-prevent-memory-leaks-in-swift-closures/

That's an interesting topic, Paul Hudson suggests to use weak self also in GCD... 🤷♂

Interesting. I guess the main reason why he did this was to be safe and that there is no harm in doing it to be safe as seen in the screenshot below.

Its not a bad practice i guess, but in our case, it really should not cause a leak.
Let me know (once you get the chance) if the leak was from version 8.0.0
If you were using version 8.0.1, then i'll have to go leak hunting xD

Version confirmed. We were using 8.0.0, we need to find a solution to integrate 8.0.1 since we are no using Xcode 11 yet 🤔
I'm closing the PR.
Nevertheless you may want to take a look at swiftformat, you can run it as a run scrip during build phase or via command line. It's super fast and makes sure that the project has a consistent formatting.
Thanks again.

i'll take aa look. thanks.

We are hosting the Podspec file for 8.0.1 under https://github.com/cluno-engineering/Specs.git
So anyone interested in continue using JTAppleCalendar via Cocoapods can use that spec as long as they add the repo to their configuration:
pod repo add cluno-specs https://github.com/cluno-engineering/Specs.git
In the Podfile you would need to specify the version and the source:
...
source 'https://github.com/cluno-engineering/Specs.git'
platform :ios, '11.0'
...

 pod 'JTAppleCalendar', '8.0.1'

you did it?
One of the reasons why i have cocoa pods removed was because i didnt know how to re-merge it into the project. I tried every configuration and it was not working on my end. I also tried to look for many tutorials on how to re-add it to my project.
 Would you mind doing a pull request? I just didnt have more time to invest into learning cocoapods to get it working.

This clearly shows my lack of understanding on cocoapods...

Well, we didn't do much. Downloaded the latest podspec from Cocoapods: https://raw.githubusercontent.com/CocoaPods/Specs/1a5e5dc616914491f19921db79a0d96741136b36/Specs/4/0/b/JTAppleCalendar/8.0.0/JTAppleCalendar.podspec.json
Updated the version to 8.0.1 and then run:
pod spec lint
pod repo push master (in our case was cluno-engineering instead of master) JTAppleCalendar.podspec.json

if you have any issues you can add the --verbose flag and check the output.

@patchthecode, any luck here?

yes, i got tied up this week with work.
I'll look this up over the weekend. I should have positive results by then. Sorry for the late response.

I just had time to look at this.
I am a little confused.
Just few questions. One I know the answers to these, i can write proper instructions for people still wanting to use cocoapods.

Do i need to put a copy of your JtappleCalendar.podspec.json in my repository? and at which path in my repository? (if the path matters)
What does someone need to put in their podfile to download this lib in their project?

If you want to support Cocoapods directly you should be able to push into the master repository (as you did before). So you would need to update the podspec file to the version 8.0.1 (or use the one we are hosting) and run the commands I wrote above.
The file can be anywhere (no need to have it on the JTAppleCalendar repo), can be deleted after being pushed to Cocoapods.
If that doesn't work, you could use our Podspec repo:

Add cluno repo to your local installation:
pod repo add cluno-specs https://github.com/cluno-engineering/Specs.git
Modify the Podfile adding the new source to look into our repo for podspecs:

source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/cluno-engineering/Specs.git'
use_frameworks!
inhibit_all_warnings!
platform :ios, '11.0'

target 'YOUR_PROJECT' do
    pod 'JTAppleCalendar', '8.0.1'

...

thanks for the help.
I think i got cocoapods back in again.

Glad to hear! Good job! 💪


Post 1.5.2 , dev branch joining nodes issue(ooming)

100+20 network has a change in behavior after 1.5.2 was released, where most of the non-validating joiner nodes were ooming, when using the dev branch to test
Following are the test results
Network: 100  + 20
Name: ajith-dev-big (HIGHWAY)
Branch: dev
Commit: 9b14e264fa660e4fd7492477dca00f40ebcaedfc
Config: {"config":{}, "chainspec":{"era_duration": "60minutes", "minimum_block_time": "32768ms", "consensus_protocol": "Highway" }}
Test: Native Transfer Load Testing
Highway Consensus
running at 32s block time
12k Native Transfers Periodically
Observations:
network behaviour has degraded since 1.5.2 release
Occasionally hitting 'Invalid Deploy' because of timestamp validation checks using casper-client 2.0.0
KeepUp nodes consuming all memory and OOMing
majority of KeepUp nodes OOMing and transitioning to 'CatchUp'
instance becomes unresponsive due to OOMing
node recovers once it re-starts
contract_runtime_run_execute_count metrics on some KeepUp nodes show extremely high count for executed deploys. (729425 (keepUp) vs 9048 (validate))
a lot of Warning/errors observed continuously
{"timestamp":"2023-08-08T06:52:58.585604Z","level":"WARN","fields":{"message":"failed to apply execution results","error":"attempt to apply execution results for already completed block_hash: block hash 6027..c015"},"target":"casper_node::components::block_synchronizer::block_acquisition"}
{"timestamp":"2023-08-08T06:41:40.469691Z","level":"WARN","fields":{"message":"BlockAcquisition: invalid attempt to register deploy for: block hash 6027..c015","deploy_id":"Id { deploy_hash: DeployHash(3d9a7a4c73eb361ec128104b61f3e4b08c9aec1b4ab23da594e03e509bd24893), approvals_hash: ApprovalsHash(7e51b6ee2a97aab4794b1e857704cb8cfc2f4a405bb8593c601b0bf3d1f8002f) }"},"target":"casper_node::components::block_synchronizer::block_acquisition"}
{"timestamp":"2023-08-08T06:41:40.455503Z","level":"WARN","fields":{"message":"invalid attempt to start block execution","block_hash":"block hash 6027..c015"},"target":"casper_node::components::block_synchronizer::block_builder"}
{"timestamp":"2023-08-08T07:07:25.442171Z","level":"WARN","fields":{"message":"dropped outgoing message, lost connection","our_id":"tls:9a0e..6171","dest":"tls:e9e6..4dca","msg":"SendError((Ping { nonce: Nonce(5719887388720792088) }, None))"},"target":"casper_node::components::network","span":{"addr":"<IP_ADDRESS>:35000","peer_id":"tls:e9e6..4dca","state":"connected","name":"outgoing"},"spans":[{"addr":"<IP_ADDRESS>:35000","peer_id":"tls:e9e6..4dca","state":"connected","name":"outgoing"}]}
{"timestamp":"2023-08-08T07:07:25.740336Z","level":"WARN","fields":{"message":"dropped outgoing message, lost connection","our_id":"tls:9a0e..6171","dest":"tls:e9e6..4dca","msg":"SendError((Payload(FinalitySignatureGossiper(Gossip(FinalitySignatureId { block_hash: BlockHash(f54923b6a917fe55bc29cb89504287941cf91684f600eb12e9b729cd8d2e9c37), era_id: EraId(5), public_key: PublicKey::Ed25519(527f461cb635a529df4bb049810d5aa1642752b9c7a91aec3749f050487bbc87) }))), None))"},"target":"casper_node::components::network"}
Dumps:  http://genesis.casperlabs.io/ajith-dev-big/casper-node-dumps/ajith-dev-big/08082023_0707/dump_download_list.html
Grafana: - https://grafana.casperlabs.io/d/NtiRElLMg/release-test-metrics-overview-v3-1?orgId=1&refresh=30s&var-casper_environment=ajith-dev-big&var-casper_version=casper-ajith-dev-big&var-casper_node_type=All&var-casper_hostname=All&from=1691467983241&to=1691478783241

Should be fixed now by: https://github.com/casper-network/casper-node/pull/4205


Investigate if AnnotationEnabler can be used to prepare classes for test

From<EMAIL_ADDRESS>on December 02, 2008 16:41:33
Investigate if AnnotationEnabler can be used to prepare classes for test.
It could for example scan all fields annotated with @Mock and prepare those
types automatically without specifying the @PrepareForTest annotation.
Original issue: http://code.google.com/p/powermock/issues/detail?id=79

From<EMAIL_ADDRESS>on December 04, 2008 00:11:59
This won't work since the classes would already have been loaded.
Status: WontFix


Peer dependencies of eslint-config-react-app are outdated

Is your proposal related to a problem?
Yes.
I got this warning when I install eslint-config-react-app
warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>
Turns out eslint-plugin-react-hooks is already at 2.1.1 now, and eslint-plugin-flowtype is at 4.3.0.
Describe the solution you'd like
I can update eslint-plugin-react-hooks and eslint-plugin-flowtype to the latest version if it's a good idea.
Describe alternatives you've considered
Make those two a dependencies instead of peer dependencies (https://github.com/facebook/create-react-app/issues/6129).
Additional context
None.

Should be fine to upgrade eslint-plugin-react-hooks to v2. The breaking change is forbidding top level use*() calls: https://github.com/airbnb/javascript/issues/2084#issuecomment-527487083
Also should be fine to upgrade eslint-plugin-flowtype to v4. The breaking change is ESLint upgraded to v6. https://github.com/gajus/eslint-plugin-flowtype/releases/tag/v4.0.0

I'll upgrade those two then.

I still get the warning though. Is there a fix? (I have the eslint-plugin-react-hooks version ^2.3.0 installed)
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.

Warning appears, but does not affect project operation
warning antd > babel-runtime ><EMAIL_ADDRESS>core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning antd > rc-tree-select > rc-trigger > rc-animate > fbjs ><EMAIL_ADDRESS>core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning react-scripts > jest > jest-cli > jest-config > jest-environment-jsdom > jsdom ><EMAIL_ADDRESS>use String.prototype.padStart()
warning stylelint > postcss-markdown > remark > unified > @types/vfile ><EMAIL_ADDRESS>This is a stub types definition. vfile-message provides its own type definitions, so you do not need this installed.
[2/4] Fetching packages...
info<EMAIL_ADDRESS>The platform "win32" is incompatible with this module.
info<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
info<EMAIL_ADDRESS>The platform "win32" is incompatible with this module.
info<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
warning "react-scripts ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>warning "react-scripts > @typescript-eslint/eslint-plugin ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta".
warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>[4/4] Building fresh packages...

So we can we safely ignore, right?

Yes, we've been using it for a while without any noticeable problems, but it still would be nice to get this fixed to avoid the warnings

Thank you for the feedback!


Invert state and key parameters in selectors

Closes #3

Coverage remained the same at 96.923% when pulling 7c8d231b755e193933713538d1e0ff7dd6924404 on fix-selector-order into 7607f52272ea6174b55694b6c72d6aaacb75b885 on master.

Coverage remained the same at 96.923% when pulling 49e4a318412a324e43702d07a99b66af4f995225 on fix-selector-order into 7607f52272ea6174b55694b6c72d6aaacb75b885 on master.


Prims op support

Support prims ops in torch. Need

Code gen from torch._prims.
OpInfos for testing.

Is this for "Prim IR", or are we observing prim ops for fx graphs in "ATen IR"? (IR reference https://pytorch.org/docs/master/ir.html)

it's for Prims IR. Do we need/ not need them?

By calling torch._C._dispatch_get_all_op_names we can filter 189 prims ops in total. 151 of them have corresponding Opinfos in common_methods_invocations.py file while the rest of 38 don't exist.
So I think we can leverage current ops test mechanism and common_methods_invocations.py file for those 151 prims ops. Probably some of them are not implemented under aten namespace and we need to move them to prims.py file.
For the left 38 prims ops, we just need to leverage current extra_opinfo.py to customize the tests.
So seems we don't need to do any extra work for item 2. Make sense?


test(auth): add tests for auto verifying stored session compatibility

What kind of change does this PR introduce?
Bug fix, feature, docs update, ...
What is the current behavior?
Please link any relevant issues here.
What is the new behavior?
Feel free to include screenshots if it includes visual changes.
Additional context
Add any other context or screenshots.

Quick question: How is the test now verifying the backwards comp to 2.4.0? The JSON file represents the 2.5.0 schema, right?

Hey, it doesn't verify specifically the 2.4.0 compatibility, but now it stores values in a JSON file, so the test verifies it can load the previous stored value (asserting that it is compatible with older versions), and then update the stored value.
If we make incompatible change to StoredSession type, it will fail to decode from the current local-storage.json file.


Motor Control Pulse Width Modulator (MCPWM)

See #92
Example:
let peripherals = Peripherals::take().unwrap();
let config = OperatorConfig::default().frequency(25.kHz().into());
let mcpwm = Mcpwm::new(peripherals.mcpwm0.mcpwm)?;
let mut operator = Operator::new(
    peripherals.mcpwm0.operator0,
    &mcpwm,
    &config,
    peripherals.pins.gpio4,
    peripherals.pins.gpio5,
)?;

operator.set_duty_a(my_duty_percentage_a)?; // Set duty for pin 4
operator.set_duty_b(my_duty_percentage_b)?; // Set duty for pin 5

Todo:

[-] Add dead time example - Maybe wait for a later PR?

[x]  Figure out how daed time works with regards to MCPWMXB, have a sneak peak at IDF example - all dead time modes except MCPWM_ACTIVE_RED_FED_FROM_PWMXB makes set_duty_b do nothing

[-] More examples/tests? - Maybe wait for a later PR?
[x] Improve documentation

[x] Check with the really great new docs

[x] Test on actual hardware (no tests performed on actual hardware in any way yet!)

[x] ESP32

[x] Example: mcpwm-simple
[x] Dead time: DeadtimeConfig::ActiveHighComplement

[x] ESP32-S3

[x] Example: mcpwm-simple
[x] Dead time: DeadtimeConfig::ActiveHighComplement

[ ] Cleanup? Do we need to implement Drop to clean up stuff?

[ ] What about release() ?

[ ] More?

Have not have had time to check if this even compiles since my last changes...
Anyways is this somewhat what we want things to look like api wise? :)

One of my main reasons fo wanting to use MCPWM is for syncing multiple timers with a phase offset. How should that best be exposed? Something like a new type SyncedOperator which would offer the same functionality as Operator but with the added method fn set_phase(&mut self, phase_percentage: f32). Perhaps it could be used something like:
let operator_0 = Operator::new(...);
let operator_1 = Operator::new(...);

// This will be synced to operator_0 with a phase shift of 50%
let synced_operator_1 = SyncedOperator(operator_1, &operator_0, 50.0);

// Should SyncedOperator keep a reference to its sync source(operator_0 in this case)?
// That would prevent updating phase shift when chaining multiple levels (& xor &mut).
// will try to elaborate on my though another day...

Is this perhaps to be considered blocked on some sort of ESP/ESP-S3 CI?

Sorry! I went on vacation, and I was also waiting on some hardware so I can test this out :). Taking a look into this now.

No worries :)

Just found a problem in release mode in the mcpwm-simple example

The same thing in debug mode works fine

Just found a problem in release mode in the mcpwm-simple example

I can't seem to reproduce here (judging by the output, it looks like there were some extra changes to the example which haven't been pushed).
Could you rebuild, capture the output again and upload the elf too?

Oh right sorry. I'll push when I get home. I believe I reduced the step size to something like 0.1% and sleep time to 10ms, only printing on integer values of duty.
Same error on both ESP and ESP32-S3(clean build).
Again, I will try to push the code in a couple of hours

I am currently at:
#[cfg(any(esp32, esp32s3))]
fn main() -> anyhow::Result<()> {
    use embedded_hal::delay::blocking::DelayUs;
    use esp_idf_hal::delay::FreeRtos;

    esp_idf_sys::link_patches();

    let v = f32::from(159_u16) * 0.1;
    println!("159 to float is={v}");  // 159 to float is=15.900001 as expected

    let v = f32::from(160_u16) * 0.1; // Boom
    println!("160 to float is={v}");

    loop {
        FreeRtos.delay_ms(10)?;
    }
}

So seems to be unrelated to MCPWM. Also, removing the  * 0.1 makes everything work fine

This also works fine:
#[cfg(any(esp32, esp32s3))]
fn main() -> anyhow::Result<()> {
    use embedded_hal::delay::blocking::DelayUs;
    use esp_idf_hal::delay::FreeRtos;

    esp_idf_sys::link_patches();

    let v = f32::from(159_u16) * 0.1;
    println!("159 to float is={v}");

    let v = f32::from(160_u16) * 0.1;
    println!("160 to float is=some number");

    let v = v + 0.1;
    println!("is={v}");

    loop {
        FreeRtos.delay_ms(10)?;
    }
}

#[cfg(any(esp32, esp32s3))]
fn main() -> anyhow::Result<()> {
    esp_idf_sys::link_patches();

    let v = 16.0;
    println!("f32 literal is={v}");

    let v = f32::from(16_u16);
    println!("Converting the number seems to work");
    println!("from u16 to f32 is={v}"); // Boom
    loop {}
}

Created #112 since I think the problem might be unrelated to this PR

Reading the IDF 4.4 to 5.0 migration guide

The legacy driver has an inappropriate assumption, that is the MCPWM operator should be connected to different MCPWM timer. In fact, the hardware doesn’t have such limitation. In the new driver, a MCPWM timer can be connected to multiple operators, so that the operators can achieve the best synchronization performance.

This changes things. Something we should think of now right away or save for a later PR?

Sorry, I haven't forgotten about this! I will try to review this early next week.

Hi @MabezDev ,
No rush, just a friendly reminder :)

These four methods are needed when dealing with brushed motors:
    /// set 'a' low
    pub fn set_low_a(&mut self) -> Result<(), EspError> {
        unsafe {
            esp!(esp_idf_sys::mcpwm_set_signal_low(
                U::unit(),
                O::timer(),
                esp_idf_sys::mcpwm_generator_t_MCPWM_GEN_A
            ))
        }
    }

    /// set 'b' low
    pub fn set_low_b(&mut self) -> Result<(), EspError> {
        unsafe {
            esp!(esp_idf_sys::mcpwm_set_signal_low(
                U::unit(),
                O::timer(),
                esp_idf_sys::mcpwm_generator_t_MCPWM_GEN_B
            ))
        }
    }

    /// set 'a' high
    pub fn set_high_a(&mut self) -> Result<(), EspError> {
        unsafe {
            esp!(esp_idf_sys::mcpwm_set_signal_high(
                U::unit(),
                O::timer(),
                esp_idf_sys::mcpwm_generator_t_MCPWM_GEN_A
            ))
        }
    }

    /// set 'b' high
    pub fn set_high_b(&mut self) -> Result<(), EspError> {
        unsafe {
            esp!(esp_idf_sys::mcpwm_set_signal_high(
                U::unit(),
                O::timer(),
                esp_idf_sys::mcpwm_generator_t_MCPWM_GEN_B
            ))
        }
    }

These four methods are needed for Operator when dealing with brushed motors:

Any suggestions for how to undo the effect of those methods? How do I restore the normal behaviour after, for example, set_low_a has been called? Also note that the answer might depend on whether MCPWM from IDF <= 4.4 or from IDF 5.0 is used. (IDF <= 4.4 for this PR, 5.0 for #132).
For IDF 4.4 I believe mcpwm_set_duty_type has to be called to restore output. Have not looked into any 5.0 equivalent yet.

You are correct. mcpwm_set_duty_type is needed as well. (missed that when I pulled the others from a C++ brushless motor driver.

Question: (and this probably reveals my naiveté with rust)
How can I represent one of the motor operators generically - like in a system where I'm controlling three motors say left wheel, right wheel, and lidar motor.  I want to store a reference (or pass ownership) to another struct... but the signature make it difficult as I'll have more than one instance each using separate operators:
Operator<U: Unit, O: HwOperator<U>, M: Borrow<Mcpwm<U>>, PA: OutputPin, PB: OutputPin>

Thoughts?  (even RTFM if you have a pointer)

Question: (and this probably reveals my naiveté with rust) How can I represent one of the motor operators generically - like in a system where I'm controlling three motors say left wheel, right wheel, and lidar motor. I want to store a reference (or pass ownership) to another struct... but the signature make it difficult as I'll have more than one instance each using separate operators:
Operator<U: Unit, O: HwOperator<U>, M: Borrow<Mcpwm<U>>, PA: OutputPin, PB: OutputPin>

Thoughts? (even RTFM if you have a pointer)

Great question! Hard to say without knowing more. However assuming you want to have two operators live in the same struct sharing the same mcpwm module(also living in the struct), then perhaps something like:
struct Foo<U: Unit, O0: HwOperator<U>, O1: HwOperator<U>, P0B: OutputPin, P0B: OutputPin>
where
    U: Unit,
    O0: HwOperator<U>,
    O1: HwOperator<U>,
    P0A: OutputPin, P0B: OutputPin,
    P1A: OutputPin, P1B: OutputPin
{
    mcpwm: Arc<Mcpwm<U>>,
    operator0: Operator<U, O0, Arc<Mcpwm<U>>, P0A, P0B>,
    operator1: Operator<U, O1, Arc<Mcpwm<U>>, P1A, P1B>,
}

or something like this if you want to have the mcpwm module live outside the struct:
struct Bar<'a, U, O0, O1, P0B, P0B>
where
    U: Unit,
    O0: HwOperator<U>,
    O1: HwOperator<U>,
    P0A: OutputPin, P0B: OutputPin,
    P1A: OutputPin, P1B: OutputPin
{
    operator0: Operator<U, O0, &'a Mcpwm<U>, P0A, P0B>,
    operator1: Operator<U, O1, &'a Mcpwm<U>, P1A, P1B>,
}

Let me know if this answered your question :)

Yes - that was very helpful!  This worked:
pub struct MotorMCPWM<'d, U: Unit, O: HwOperator<U>, PA: OutputPin, PB: OutputPin>
{
    operator: Operator<U, O, &'d Mcpwm<U>, PA, PB>,
    direction: Direction,
    percent: Percent,
    invert: bool,
}

impl<'d, U: Unit, O: HwOperator<U>, PA: OutputPin, PB: OutputPin> MotorMCPWM<'d, U, O, PA, PB>
{
    pub fn new(mcpwm: &'d Mcpwm<U>, operator: O, pin_ph: PA, pin_en: PB, invert: bool) -> Result<Self, EspError>
    {
        info!("MotorMCPWM::new ph={} en={}", pin_ph.pin(), pin_en.pin());
        let config = OperatorConfig::default().frequency(50.Hz());
        Ok(Self {
            operator: Operator::new(
                operator,
                &*mcpwm,
                &config,
                pin_ph,
                pin_en,
            )?,
            direction: Direction::Stopped,
            percent: 0 as Percent,
            invert: invert,
        })
    }
}

And code not shown implements the following trait to make the motor generic, letting me not have everything having to deal with the long type specification.
pub type Percent = f32;

#[derive(Clone, Copy, Debug)]
pub enum Direction {
    Stopped,
    Forward,
    Reverse,
}

pub trait Motor {
    type Error;
    fn set_percent(&mut self, percent: Percent) -> Result<(), Self::Error>;
    fn set_direction(&mut self, direction: Direction) -> Result<(), Self::Error>;
}

Hi @usbalbin, firstly I want to apologize for the time between reviews. We've had a succession of compiler issues in the last couple of releases (one of which you found :D) and most of my time has been spent digging into that.
Looking at this again, and the surrounding discussion this looks good to me! My understanding is that #132 builds on top of this PR, so we should merge this first?
I think this is ready to merge as is, would you mind rebasing on the main branch?

Do you want me to reduce the number of commits? If so, then how? One commit or multiple?

One of the bigger differences being that timer and operator are two independent things in https://github.com/esp-rs/esp-idf-hal/pull/132. So https://github.com/esp-rs/esp-idf-hal/pull/132 would very much be a breaking change. However at the same time this pr (https://github.com/esp-rs/esp-idf-hal/pull/93) is for IDF < 5 while https://github.com/esp-rs/esp-idf-hal/pull/132 is for IDF >= 5...

Going the other way, using some clever generic bounds there might be possible to make something that looks like https://github.com/esp-rs/esp-idf-hal/pull/132 work for IDF < 5 but with lots of restrictions like timer1 can only connect to operator1...

Perhaps then we should actually develop the interface for esp-idf v5 first then, if it's more flexible? We can then re-use that same interface for v4.4 but with the caveat that we panic if operator0 is not used with the timer0 for example. Along the way, we might find we can enforce this with generic bounds, but If not I still think it's perfectly fine to panic in that situation.


Pagespeed + naxsi

Hello,
I'm try to compile nginx 1.12.1 + pagespeed <IP_ADDRESS>-stable and naxsi with branch http2.

Thanks
Manuel

Hi -- see https://github.com/pagespeed/ngx_pagespeed/issues/1194 for a workaround (reversing the module order if ngx_pagespeed and naxi)
Closing this as a duplicate.


Add List Command to DG

Closes #104

Codecov Report

Merging #124 (6424417) into master (9af8d21) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 6424417 differs from pull request most recent head f293574.

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


Repeating notifications about KBFS re-keying

The end result is something which looks somewhat like #2346. I get a re-keying notification fairly regularly between every 1-5 minutes despite no access being made to the KBFS.  As I understand it, re-keying should only need to occur if the keys of either side of the conversation change?

Hmm, yeah that doesn't seem right.  Are you willing to run keybase log send, and report the resulting log ID here, so we can see more details about your platform/version and logs?

Erm. Maybe this could be related?

ERROR API network error: Post https://api.keybase.io/_/api/1.0/logdump/send.json: read tcp <IP_ADDRESS>:39031-><IP_ADDRESS>:443: wsarecv: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

The connection seems stable enough for normal browsing.  Ping 17ms.

Strange.  Are you behind some kind of proxy/firewall that could be messing with ssl traffic?  Not sure how that would lead to rekeying messages, but something weird is going on...

I'm behind a firewall but it doesn't make any changes to SSL traffic.  I managed to get the log to submit (bc0c9a6a22165cb030b3861c).  Maybe it was just a flaky line after all?

Ah, this is the same issue as #5601.  There's a bug in that version of the client that is failing to rekey, but it keeps trying.  I guess it sends the notification before it figure out it fails.  Sorry about that.
Unfortunately we haven't released a Windows client with the fix yet.  We plan to in the next few days I think.  Until then, I'm not sure there's a good workaround unfortunately, other than a new client on some non-Windows computer if you have one handy, and letting that one do the rekey.

Ah, we just released a new Windows version.  Hopefully it works for you; if so, please close this out.

No re-keys seem to be waiting any more.  I'm going to hold off declaring this closed until it's run for a day tomorrow but it's looking good so far!

Looks good.  Great job!


Release 1.6.0

This release targets Swift 2.1 / Xcode 7.2.
Added

Add DecodeError.Custom case (#92).
Rename decode functions to decodeValue (#96). decode functions still exist to keep backward compatibility but are deprecated.
Add Transformer for value transformaion API (#93).

Improved

Minor improvement for decodeDictionary (#95).
Add AnyJSON typealias for supporting Any type on Linux (#98).

=====
TODO

[x] Update README with Transformer API usage

:rocket:


Some columns not imported (Bologna Persons)

(Some?) values from residence_id and social_relation1_value_label in Bologna Persons  have not been imported - there is just the proptype, but no propvalue.
E.g. P0002 should have wife and location of residence (detail).

I know how this one emerged. This is a result of behind-the-scenes stitching of different versions of the import. I have played heavily with Bologna and I made a mistake in syncing the right tables together in certain moment.
Easy to fix. But I will wait for other bugs.
@BTW all of the locations or people props and metaprops connections in Bologna will be messed up because of this. The same source of the problem.

The example above checked as fixed. Closing.


PHP8 Compatibility

What's new?

PHP 8.x!!
Coding standards
Update tests to phpunit ^9.5

Gotchas

Optional parameter $limit removed getAllUsersFromGroup see b8bbb4b52607cf4ad56c6731a3de33fb5b446dc1

The optional parameter being removed is fine. Just make the next release a major version, no issue :)


Port Button Seed example

https://github.com/electro-smith/DaisyExamples/tree/master/seed/Button

Via #15


Bump v3 docs dependencies

Bump v3 docs dependencies

[x] I have reviewed the contributing guide

[x] I have viewed, signed, and submitted the Contributor License Agreement

[x] I have made this pull request to the main branch

[x] I have run all the unit tests using bundle exec rake

[ ] I have run CF Acceptance Tests

Just cause I'm seeing this, feel free to consider adding docs dependencies back to dependabot.  It was previously removed in https://github.com/cloudfoundry/cloud_controller_ng/pull/3350


Scroll stutters/resets when using CellMeasurer with scrollToIndex on a List

When using CellMeasurer and scrollToIndex at the same time (on a List), scrolling upward seems to be broken. Explained in more detail here:
https://stackoverflow.com/questions/45993421/react-virtualized-scrolltoindex-not-working-with-cellmeasurer
Plunker:
https://plnkr.co/edit/XPF5D88WI9CErhkmrgAy?p=preview

#610 should be the same problem

It actually seems that there are two distinct issues here:

If you scroll upward toward unmeasured cells, then once the cells are measured the scrollbar will jump to accommodate the newly calculated sizes. The severity of the effect is related to the difference between a cell's default size and the actual size. This seems to be a very challenging issue to solve, and I think it's the focus of #610.

Independent of that, when you use the scrollToIndex prop on a list that also uses CellMeasurer, the list seems to repeatedly jump back to the specified index (maybe whenever cells are measured?), as if the list seems to think that the scrollToIndex prop changed (and thus it must scroll to the new value) even though it has not. This is cause of my issue, and intuitively it seems like it's probably much easier to solve. At the very least, it seems like we can workaround this issue by calling List.scrollToRow() instead of setting the scrollToIndex prop. Example:

https://plnkr.co/edit/8V4AtlqPtELrmDQMgBr7?p=preview

Using this for now. Thanks @athorwall

At the very least, it seems like we can workaround this issue by calling List.scrollToRow() instead of setting the scrollToIndex prop

This seems to be another issue that was at least partially addressed in version 20.1.  This plunker example:
https://plnkr.co/edit/UDbO2KKjQ3neDok0EOah?p=preview
is a fork of the example mentioned above, but with updated React and RV libraries.  It seems to work unless the RV version is 20.0 or less.
Are there still cases that are not working with a current version of RV?


How can I control read / write pressure on sink?

Hi!
I have a big Kafka topic and this sink connector is consuming a lot of CPU and RAM, because it tries to do the job very fast on initial snapshot.
What can I change, in the configs, to make the sink process less resource-intesive?
Thanks!

Nothing to do with the connector, Kafka Connector does not have any throttling mechanisms --you are throttled by IO/cpu only.
Things you can do to slow down:  reduce the number of tasks and run on a smaller machine --cpu will slow it down but be careful about RAM (you will OOM if you reduce this too much).
Typically though you don't want to.  The best path forward is to get through your backlog of data and reach steady state w/ the producer.


Update dependencies.

Fixes #296.

Should I update devDependencies as well?

About #296, no WebSocket server is used here, but whatever...

Should I update devDependencies as well?

Is there a compelling reason?

It's a good idea to keep dependencies up-to-date, mostly due to bugfixes.

I kind of disagree, more than once this policy led me to deal with unexpected bugs. I prefer to wait for a bug to surface in the main repo in order to update a dependency.
I'm going to merge this PR.


A required function is missing: glfwGetWaylandDisplay

Environment

LWJGL version: 3.2.2
LWJGL build #: SNAPSHOT 2018-12-08
Java version: openjdk version "1.8.0_172"
Platform: Linux
Module: glfw|glfwGetWaylandDisplay()

Description
Hi all !
When trying to use the GLFWNativeWayland.glfwGetWaylandDisplay() method, the program crashes with :
Exception in thread "main" java.lang.ExceptionInInitializerError
	at org.lwjgl.glfw.GLFWNativeWayland.glfwGetWaylandDisplay(GLFWNativeWayland.java:47)
	at ME.main(ME.java:30)
Caused by: java.lang.NullPointerException: A required function is missing: glfwGetWaylandDisplay
	at org.lwjgl.system.APIUtil.requiredFunctionMissing(APIUtil.java:142)
	at org.lwjgl.system.APIUtil.apiGetFunctionAddress(APIUtil.java:135)
	at org.lwjgl.glfw.GLFWNativeWayland$Functions.<clinit>(GLFWNativeWayland.java:28)
	... 2 more

Without it the program runs without problem. The GLFWNativeWin32 for example works perfectly. I do verified that I had the correct jars in the classpath (lwjgl-glfw-natives-linux.jar...), and by the way all of GLFW is available and working.
Here is a minimal program to reproduce the error :
import org.lwjgl.*;
import org.lwjgl.glfw.*;
import org.lwjgl.system.*;

import java.nio.*;

import static org.lwjgl.glfw.Callbacks.*;
import static org.lwjgl.glfw.GLFW.*;
import static org.lwjgl.system.MemoryStack.*;
import static org.lwjgl.system.MemoryUtil.*;

public class ME {
	public static void main(String args[]) {
		GLFWErrorCallback.createPrint(System.err).set();

		if (!glfwInit())
			throw new IllegalStateException("Unable to initialize GLFW");

		glfwDefaultWindowHints();
		glfwWindowHint(GLFW_VISIBLE, GLFW_FALSE);
		glfwWindowHint(GLFW_RESIZABLE, GLFW_TRUE);

		long window = glfwCreateWindow(300, 300, "Hello World!", NULL, NULL);
		long monitor = glfwGetWindowMonitor(window);

		if(window == NULL)
			throw new RuntimeException("Failed to create the GLFW window");

		long dpy = GLFWNativeWayland.glfwGetWaylandDisplay();
	}
}

Thanks for your help, and thanks for all the great work !

Currently, the choice between X11 and Wayland cannot be made at runtime, GLFW must be built to support one or the other. That's why lwjgl-glfw-natives-linux.jar includes two binaries. LWJGL defaults to X11. You can use -Dorg.lwjgl.glfw.libname=glfw_wayland (or call Configuration.GLFW_LIBRARY_NAME.set("glfw_wayland") before initializing GLFW) to enable the shared library that supports Wayland.

Thanks a lot for this answer !
May I suggest to point to these configurations options in the exception error message if possible ?
Thanks again


ArcGISRuntime V100: How to display polygon symbols where the geometry is defined by one single anchor point?

From @JoergTurla on December 20, 2016 16:20
The MIL22525D defines some polygon symbols which requires one anchor point (see attachment). The
size of the shape is determined by additional attributes. For example the shape of
"Rectangular Target" symbol(Symbol Set 25, Code 240802) is defined by the target length and
target width in meters.

Another example is the "Airspace Coordination Area (ACA) Circular" symbol (Symbol Set 25,
Code 240103). The shape size is defined here by the radius of the circle (in meters).

I tried to set the attributes according to MIL2525D ("length" and "width" for the rectangle
symbol and "radius" for the circle) via Esri::ArcGISRuntime::AttributeListModel
to the graphic object (Esri::ArcGISRuntime::Graphic). With both examples above the
EsriRuntimeQt throws an exception: C++ exception
Esri_runtimecore::Common::Invalid_argument_exception at memory location 0x00C7C460
The symbols are not visible on the map. Then I checked the symbologyFieldNames of class
DictionarySymbolStyle and the attributes length, width and radius are not part of this list.
But a "Call For Fire Zone" symbol (25-241202) works without any Problems in descriped manner.  This
Symbol has a rectangle geometry and requires 2 anchor points. The shape size is defined by a width attribute.

Setting the width here to the AttributeListModel provides the desired result.

Why does setting the width Attribute works in some case and in other it doesn't?
What do I have to do to get the symbols defined by one single anchor point running?
Additional information:
The symbologyFieldNames provided by DictionarySymbolStyle are:

identity
symbolset
symbolentity
modifier1
modifier2
echelon
mobility
array
context
indicator
status
operationalcondition
specialentity
subtype
civilian
sidc

The textFieldNames are:

additionalinformation
additionalinformation2
combateffectiveness
commonidentifier
credibility
datetimeexpired
datetimevalid
distance
equipmentteard
owntime
higherformation
idmode
platformtype
quantity
reinforced
reliability
sigintmobility
speed
staffcomment
targetdesignator
type
uniquedesignation
uniquedesignation2
x
y
z
z2

Copied from original issue: Esri/military-features-data#257

From @NorbertThoden on February 1, 2017 8:46
I have the same question

From @csmoore on February 1, 2017 13:27
Sorry I missed this question earlier. Those attributes:

"radius"
"length"
"width"
"orientation"

Should be valid field/attribute names (and documented as such). For the particular/odd case where only one width/height is used, I believe a 2 point line is expected as the base geometry (PT1 PT2 in the standard illustration-so it has some way to get the other dimension). But if that doesn't work then it may be a bug you need to submit to Runtime.
I just updated the attribute table to include these missing attributes: https://github.com/Esri/military-features-data/tree/dev/data/mil2525d/core_data/gdbs#otherspecial-cases - hope this helps

From @JoergTurla on February 1, 2017 16:36
I checked the WRT symbol (set 25, Code 240802) again, setting now all 3 attributes (width,length, attitude). The result is the same as before. The symbol is not drawn and I get many error messages on console output window.

From @ottenw on February 1, 2017 14:50
WRT the "Rectangular Target" symbol (set 25, Code 240802), it is different from other rectangular areas by design.  The attributes of the rectangular target are defined in NATO and US doctrine.  A rectangular target is defined not only by the target length and target width in meters, but also by the target "Attitude", as represented in MIL-STD-2525D by amplifier "AN", and the anchor point located in the center.  Target attitude is defined as the directional alignment of the major (length) axis of a target measured from true north.

From @csmoore on February 2, 2017 16:31
@JoergTurla You may just want to confirm that you are using a Multipoint (MultipartBuilder) geometry as the 1 or 2 Pt geometry - mentioned in a previous issue here if you need more info - if that doesn't work you will probably need to submit an issue and use the "Irregular" target symbol versions (defined by only map points) as a workaround for now.
@ottenw - thanks for the background/motivation. One drawback to defining a message with both map points (ex. WGS84 coords) and size attributes in meters is that it does create potential errors/dependencies/feedback on a mapping system to convert between the 2 measurement systems (usually 3 because the map itself will often be in some other coordinate system) so may be something the spec tries to minimize if possible. I realize you often don't have any control over this, and are just a consumer of these message formats, but did want to mention this implementation issue.

From @JoergTurla on February 3, 2017 6:45
Hi Chris,
thanks for your last comment. I changed my implementation to your proposed workaround. Now the 4 verticies of the rectangle defines the geometry of the symbol. By using a PolygonBuilder this works now.
But what about the second expample ("Airspace Coordination Area (ACA) Circular" - symbol set 25, code 240103). The geometry of this symbol is a circle. It would really not be a practical workaround to rasterize a circle and then pass a Pt list to a PolygonBuilder. So what can I do to get this working too.

This issue was moved to ArcGIS/military-symbology-styles#89


Add env export for PKG_CONFIG_PATH

This was needed in order to successfully build crate mongoc-sys, which mongo_driver v0.12 depends on.

Thanks!


[Issue #24] Add translation draft for user-guide/annotations.md

See #24

Some comments from my side, thanks a lot.

@resouer : I've made some changes based on your annotations.

Thanks, lgtm. Please squash your commits and I will merge this one :)

@resouer - if the branch is clean, now squash can be automatically done by choosing Comfirm squash and merge option after you pressed the big green button.

Great! Never know that it can be automatically squashed :)


Backport Proxy support on 1.x

Issue
https://gravitee.atlassian.net/browse/APIM-1430
https://github.com/gravitee-io/issues/issues/9001
Description
Apply https://github.com/gravitee-io/gravitee-ae-connectors/pull/11 on 1.x
(cherry picked from commit d61b2e368cad37c574131ce44d37731c5f43abfb)

Gravitee.io Automatic Deployment
🚀 A prerelease version of this package has been published on Gravitee's private artifactory, you can:

use it directly by updating your project with version: 1.1.0-APIM-1430-backport-proxy-settings-SNAPSHOT
download it from Artifactory here

:tada: This PR is included in version 1.1.0 :tada:
The release is available on:

1.1.0
GitHub release

Your semantic-release bot :package::rocket:


Cache Refactor Tracking Issue

This issue tracks the progress of refactoring the caching mechanism within the btc-assets-api. The goal is to improve performance by caching data。

[ ] rgbpp/v1/address/tb1q4vsuv95gdum3cdrswujv9qzqf72ehqxh7vhhak/activity

curl 'https://btc-assets-api-git-fix-182-duplicated-bindings-cell-studio.vercel.app/rgbpp/v1/address/tb1q4vsuv95gdum3cdrswujv9qzqf72ehqxh7vhhak/activity?rgbpp_only=false'

It is recommended to cache the data. It takes a long time to check the data now.

Originally posted by @Dawn-githup in https://github.com/ckb-cell/btc-assets-api/issues/194#issuecomment-2303664171

[ ] Feel free to add new slow queries here @Dawn-githup

I am validating on the testnet at "https://api.testnet.rgbpp.io/" with an average response time of about 2 seconds.


Conflicting documentation for shared_texture_sync_key

html_layer.cpp in cefmixer states set the sync key to 0 so Chromium will setup the shared texture with a keyed mutex and sync on key 0 whereas the documentation in cef_types_win.h states Set to 0 to NOT use a KeyedMutex associated with the shared textures.
Judging by OffscreenBrowserCompositorOutputSurface::IsValidSyncKey I'm guessing the one in cef_types_win.h is incorrect?

My bad, yes the documentation is incorrect in cef_types_win.h.  I will update that.  0 is a valid key and Chromium will setup the shared texture when using key = 0.  Originally, I wanted to use 0 to mean disabled ... but it didn't work out.

The code comments should now be up to date in PR158
Thanks!


Frequent DashManifestStaleException errors on Live Dash manifests

Version
Media3 1.4.1
More version details
This has been observed on Media3 1.2.1+ (may exist on previous versions as well)
Devices that reproduce the issue
Not device specific, occurs on a variety of devices and versions
Devices that do not reproduce the issue
None known
Reproducible in the demo app?
Not tested
Reproduction steps
Our professional sports and other live content is DRMed, thus we cannot attempt to reproduce this in the Demo app.  We will send an email with a debuggable APK with EventLogger turned on and instructions on how to log in/find content.

Play Live Dash stream with SSAI injection(this includes most of our Live content)
Allow the stream to play uninterrupted for a period of time
Observe periodic DashManifestStaleException errors (this comes from the "Loaded out of sync manifest" case in DashMediaSource.java)

We understand that our Live streams may have an issue we need to try to fix for Media3, but there are other players (such as Roku) which do not have this frequent problem playing the same Dash streams.  We are hoping to identify the issue and get a Media3 fix or have our Video provider help us adjust the manifests/SSAI periods.
Note that I have also opened the following Issue that has an easy-to-recreate "indefinite buffering" issue that is related to our SSAI ad-break periods, where as this DashManifestStaleException error is periodic/random.  I'm hoping the two are related and we can squash both at the same time, but that one may be worth looking at first.
Live DASH Manifest indefinite buffering occurs between SSAI ad period and content #1636
Expected result
No DashManifestStaleException
Actual result
Frequent DashManifestStale exceptions (maybe every 20-30 minutes)
Media
Sending an email with a debuggable APK, user credentials, recreation details.
Bug Report

[ ] You will email the zip file produced by adb bugreport to<EMAIL_ADDRESS>after filing this issue.

APK and instructions have been sent.  I'm available any time to help, thank you!

I have the same issue when testing a manifest with key rotation.
It happens everytime it needs to read a new period.
Media3 version 1.3.1 (I have also tried version 1.4.1)
The error is either DashManifestStaleException
Caused by: androidx.media3.exoplayer.dash.DashManifestStaleException                                                                                at androidx.media3.exoplayer.dash.DashMediaSource.onManifestLoadCompleted(DashMediaSource.java:683)
or IndexOutOfBoundsException
java.lang.IndexOutOfBoundsException: Index: 1, Size: 1 at java.util.ArrayList.get(ArrayList.java:437) androidx.media3.exoplayer.dash.manifest.DashManifest.getPeriod(DashManifest.java:128)
I already use MediaItem.DrmConfiguration.Builder.setMultiSession(true) as specified by the documentation.
https://developer.android.com/media/media3/exoplayer/drm#key-rotation
@tonihei Do you know already if it's an issue on the player's side or if it's something we can fix ourselves?
Is there a workaround?

I looked into the Exoplayer code and saw the reasons for the exception to be throwed.
https://github.com/androidx/media/blob/c35a9d62baec57118ea898e271ac66819399649b/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/DashMediaSource.java#L655
The issue for us was resolved by adding incremental start times to each new period in the manifest.

I've been looking at HAR outputs from Proxyman and the manifest downloads for us all seem to have  values that are increasing right before the DashManifestStaleException.  So in our case, which happens sporadically, I'm not seeing the same problem.  I can see from looking at the "Loaded out of sync manifest" case in DashManifestSource that Media3 expects to see increasing Period Start times, as you have described.

I've been looking at a HAR file from an occurrence.  I'm hoping a Media3 dev can help us determine what's going on here.
Last period in manifest before the problem is
Suggests Ad break has started and is playing successfully in the player
Last two periods in the next manifest are:

I believe this is the point that ExoPlayer starts reporting a "buffering" state, and I can see the ..item_init.m4i URLs being loaded that suggests the player is trying to recover from some problem.
The period id suggests this next period is of the game (no longer playing Ads).  However playback stalls here and we only see the last frame of the Ad Slate.
Last 4 periods in the next manifest are:
 (original Ad period from 8921/8927)
 (didn't see this Ad period in the previous manifest)
 (didn't see this Ad period in the previous manifest)
 (didn't see this Ad period in the previous manifest)
 (original Source period from 8927)
ExoPlayer is having problems and continues to try to "recover" from some manifest sync issue.  It finally gives up with DashManifestStaleException
So these three Ad periods (ad-16-2-1, ad-16-3-1, ad-16-4-1) appear in the last manifest (before the Source period) when they were not included in the previous manifest

Thanks for the analysis done here already! Having access to your test app is actually not that useful I'm afraid because we can't see the actual MPD updates happening to understand how they are handled. Even if they are DRM-protected, I think it would work to share the live stream itself as we don't actually need to decode the video to see the MPD update logic.
However, your last post may just hold the answer already. The update between the second and third manifest is not valid I believe if I understand the DASH interop guidelines correctly. The guidelines say about live MPD updates that updates in the MPD only extend the timeline. This means that information provided in a previous version of the MPD shall not be invalidated in an updated MPD (section <IP_ADDRESS>. in the IOP guidelines v4.3).
The second manifest has the period "ad-16-x-1-1" with an implicit duration of about 1:45 minutes (until the next declared Period). The third manifest update then inserts new Periods in the middle, changing the duration of the already defined period "ad-16-x-1-1" to about 30 seconds. This is the part that is not officially allowed according to the rule above I think. The IOP guidelines can be quite complex and I may be wrong on this part, so if you feel like this is a valid update, please let me know and point me to the sections that describe this kind of operation.
Coming back to the actually observed issues:

The DashManifestStaleException is interesting because I think it's an indirect detection of the issue above where the number of periods tracked by ExoPlayer just doesn't add up anymore. I wonder if we should add a more explicit verification when receiving a new manifest. The goal would be to immediately detect the unsupported update in the example above and not only at a later point.
https://github.com/androidx/media/issues/1636 is very likely related as well. For example, ExoPlayer could have started loading the presumed next period "src-17-src-0-2592" already and then gets stuck because the segments aren't available yet.

I appreciate your help @tonihei . I now have time to look at this and plan on getting back to you soon.


Show alert when someone is not eligible on backend

If the first two highlighted answers are no an applicant is not eligible, and if the second two are yes, they are also not eligible. Is it possible for these to appear red in this circumstance to alert the service centre?

Or even stop signing when the answer is "lived_other_owned_property: no" and "deducts_over_half_rates: yes"


User Retention Recipe

Document all steps neede in how to achieve the endgoal:

What's my User Retention

Follow the documentation template for how recipes should be written. If the template isn't good enough, then change it to a better solution and make sure to sync with any other recipes that are written or about to be written.

Working on it right now. More research on user retention can be found in the Nether OneNote.


Problem.solve() could return an optimal value

In cvxpy, problem.solve() returns the optimal value. It might be better if dsp.Problem had the same behavior.

Good catch, fixed in f7c8d0d95fe1f4f7b57083c250de83d6cadaa3cd


NATS Messaging Connector

[ ] reactive connection with stan.java
[ ] backpressure - possible to use MaxPubAcksInFlight and MaxInFlight?
[ ] ack
[ ] durable subscriptions - equivalent of consumer group in kafka?
[ ] testing - mocking as only alternative?

Might be better to look into using the JetStream engine from NATS which is the next gen of NATS Streaming (https://github.com/nats-io/nats.java#jetstream)

Might be better to look into using the JetStream engine from NATS which is the next gen of NATS Streaming (https://github.com/nats-io/nats.java#jetstream)


Refactoring VarName: new indexing scheme

At the moment, Turing internally stores and index parameters using two different naming schemes
{model_id, original_varname}:counter # VarInfo
original_varname  # Chain

This causes a lot of issues, e.g.

Chain can't handle dynamic dimentionality #370 #386
VarInfo ==> Chain is not reversible  #269

These issues can be resolved together with a consistent naming scheme used by all data structures such as Chain, VarInfo and inference algorithms. One possible naming scheme is
@model mdemo(y) = begin
 #  {model_id, unique_scope_id, original_varname, indexing}:counter
 #       counter increases everytime mdemo is called
   x ~ Normal
   z ~ Discrete
   for i = 1:z
       # counter increases for each loop iteration
       #      {model_id, unique_scope_id, original_varname, indexing}:counter
       w ~ Normal
   end
end

Both VarInfo and Chain can internally use unique_compiletime_id:counter as their index. At the same time, we can also support the following

c = sample(mdemo(y), alg)

# return all vars with the same unique_compiletime_id
c[:unique_var_id][counter]

# return all vars with the same name: x
#  note unique_compiletime_id may be different for different entries
c[:x]

This indexing scheme supports stochastic control flows (e.g. conditional, loops). It can also support compositional modelling #139 since var names don't clash with each other even when mdemo is called by another model.
Related issues: #456
@trappmartin @xukai92 @emilemathieu

For sanity checks, we might want to store the domain constraints of each parameter and verify them during replaying.

Closed by https://github.com/TuringLang/Turing.jl/pull/965


Support reading or downloading a GCS object range.

With this change applications can choose to download a small portion of
an object.

This change is

@frankyn Do you think we should write an example for this?  If so, just let me know, happy to do that in a future PR.

/cc: @benjaminr FYI.

PTAL.


Update dependencies

Updated composer to the newest stable version (by using their install script)
Updated ast to the newest version (as the image wouldn't build without it, probably due to Phan updates)
Install PHP before composer, to be able to use PHP to install composer

Edge build just tested and works for me with this configuration.

@bobvandevijver I should have been more clear earlier: I was actively resolving some of these issues. In particular, the correct version of php-ast is used for each supported version of phan, and I'm purposefully not using the composer install script for maintenance reasons.

Not sure why you would want to update composer manually every time, when you can do it automatically, but okay.

@bobvandevijver We've had upgrading it break builds before.


It will be great if this can support Nuxt.js

Currently it is not available to use in Nuxt.js.
Will be great if this can support Nuxt.js in the near future.

Will do in 3.0, which in the pipeline. More info: #140 #123 .
Thanks for your support. 😄


Get Dask working on LSST cluster using Dask-Jobqueue

Get dask-jobqueue working for launching a dask cluster

[x] from head node
[ ] from Jupyterhub env

From head node is complete.
'Jupyterhub env' doesn't have access to slurm.


add g:auto_save_events option

removed the expand around the event

Merged. @leoroos Thanks for the contribution!

Happy to do that!


Corrected typo: thet -> the

Changed "the hash of the commit that thet current branch is on" to "the hash of the commit that the current branch is on".

Thanks a lot for this! I have merged it.

My pleasure! Great job on gitlet, very impressive. Nice way of doing the
two-column explanation, too.
Peter Whittaker
EdgeKeep Inc.
www.edgekeep.com
+1<PHONE_NUMBER>
+1 613 864 KEEP
On Sat, Jan 24, 2015 at 9:56 AM, Mary Rose Cook<EMAIL_ADDRESS>wrote:

Thanks a lot for this! I have merged it.
—
Reply to this email directly or view it on GitHub
https://github.com/maryrosecook/gitlet/pull/3#issuecomment-71320695.

Thanks! I used a great tool called docco by Jeremy Ashkenas to generate the annotated source.


Add a post-link script to fetch the raw input data files directly from the tudat-resources Github repository

Currently, creating a conda package for the input data files in tudat-resources GitHub repository presents a storage bottleneck on the Anaconda server. Considering that version control on individual data files is not a priority, distributing the data files as releases on the GitHub repository could be a solution. Github allows individual file size to be a maximum of 2GB, and does not impose any limits on the total size of the release.
Currently, the conda package tudat-resources is a dependency for both tudat and tudatpy. The post-link.sh script in tudat-resources-feedstock downloads the raw data files to the directory .tudat/resource on the host machine. This script is executed by conda as the last step of the installation process.
As a first step towards enabling this workflow of directly downloading the raw data files directly from the Github repsoitory, a similar post-link script can be created for tudatpy-feedstock and tested if the script is executed and the data files are downloaded. This script can be later moved to tudat-feedstock.
The existing dependency of tudat and tudatpy on tudat-resources is kept intact for the initial test. A different target location than .tudat/resource will be specified to verify the successful execution of the post-link script.

Closed with #10


Update example with less dependencies

Codecov Report

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

@@          Coverage Diff          @@
##           master     #2   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           7      7
  Lines         169    169
=====================================
  Hits          169    169

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 6f4aa4d...2f4965d. Read the comment docs.


replace all mozilla/sops with getsops/sops

Refs: https://github.com/getsops/sops/issues/1246

After this I want to bump the sops 3.7.3 (1+ year old, 173 commit, https://github.com/getsops/sops/compare/v3.7.3...v3.8.0) to 3.8.0

@lucasfcnunes please run go mod tidy locally.

@yxxhero doing it rn

Bump to 3.8.0 because of: module go.mozilla.org/sops/v3 @ https://github.com/getsops/sops/blob/v3.7.3/go.mod#L1
Causing:
$ go mod tidy
go<EMAIL_ADDRESS>parsing go.mod:
        module declares its path as: go.mozilla.org/sops/v3
                but was required as: github.com/getsops/sops/v3

Closes https://github.com/helmfile/vals/pull/169

@yxxhero could you approve the pending workflows?

Guess I'll fix google.golang.org/genproto/googleapis/cloud/secretmanager/v1 in another PR and then rebase here.

@yxxhero could you reopen?

@lucasfcnunes no. please post a new PR. thanks.


internal/clock: Improve the stabilizing logic of the clock especially for the case when FPS and TPS don't match

This issue is forked from https://github.com/hajimehoshi/ebiten/issues/1595
From the latter log (vsync is on), Update is often called 2 times or 0 times followed by one Draw with a 240 Hz display.  A branch cut for v2.1 will happen soon.

@Zyko0 Hi, does the latest commit 2534b78755d719ffef684ae4e156d7ed4f013946 work as expected? Thanks!

Total duration: 1.0006748s - updates 121 - draws 180

As for vsync off, too many Draw to display logs, but crazy improvement, I'm seeing way more Draw calls than before, still respecting the amount of Updates:

Total duration: 1.0366807s - updates 121 - draws 2797

🥳

Thanks! So the current issue is, FPS seems 180 even though you are using 240Hz display?

Exactly, and my Update/Draw are still empty, also I'm waiting 5 seconds from start to make sure I'm recording after everything is loaded/initialized

Sure, as this seems another issue, I'll open a new issue.


refactor: use BaseWallet instead of a specific wallet type

Replaces the direct usage of IndySdkWallet with BaseWallet trait.

Codecov Report
Attention: 408 lines in your changes are missing coverage. Please review.

Comparison is base (7f15000) 0.05% compared to head (1a4b8f4) 0.05%.

Files
Patch %
Lines

...es/aries_vcx_core/src/wallet/indy/wallet_config.rs
0.00%
93 Missing :warning:

aries/aries_vcx_core/src/wallet/indy/mod.rs
0.00%
50 Missing :warning:

...ries_vcx_core/src/wallet/base_wallet/did_wallet.rs
0.00%
35 Missing :warning:

...s_vcx_core/src/wallet/base_wallet/record_wallet.rs
0.00%
30 Missing :warning:

...es/aries_vcx_core/src/wallet/base_wallet/record.rs
0.00%
28 Missing :warning:

...vcx_core/src/wallet/indy/restore_wallet_configs.rs
0.00%
28 Missing :warning:

aries/aries_vcx_core/src/wallet/entry_tags.rs
0.00%
25 Missing :warning:

aries/aries_vcx_core/src/wallet/mock_wallet.rs
0.00%
18 Missing :warning:

...ies/misc/wallet_migrator/src/vdrtools2credx/mod.rs
0.00%
18 Missing :warning:

...ies_vcx_core/src/wallet/indy/indy_wallet_record.rs
0.00%
15 Missing :warning:

... and 13 more

Additional details and impacted files
@@           Coverage Diff            @@
##            main   #1122      +/-   ##
========================================
- Coverage   0.05%   0.05%   -0.01%
========================================
  Files        494     502       +8
  Lines      24866   25406     +540
  Branches    4459    4577     +118
========================================
  Hits          13      13
- Misses     24853   25393     +540

Flag
Coverage Δ

unittests-aries-vcx
0.05% <0.00%> (-0.01%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

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

Things that will need to be addressed in the future:

close/delete wallet
import/export wallet

The dynamic dispatch is no longer used.


feat: add terraform GCP provider (preview)

closes: https://github.com/nitrictech/nitric/issues/610

Needs an update to the release workflows so the gcptf binary gets published.


UDS v4 property comparison with current code

A2: NEWINF needs to be removed from entities, models and mapping. Also needs removed from UI.
A3: AFFFAMM, NWINFMUT, NWINFSIB, NWINFKID needs to be removed from entities, models and mapping. Not in use in form but needs cleaned up.
A5D2: DIABGLP1, DIABRECACT missing in current code. Needs added to API and UI