[Windowing] [Formatter] Reset format context in-between analytic function groups

Closes goccy/go-zetasqlite#160
Previously clauses such as partition by and order by would be accumulated across window functions. This resets the context after each window function group has been processed.

Codecov Report

Merging #162 (6811acb) into main (961ce06) will increase coverage by 0.68%.
Report is 12 commits behind head on main.
The diff coverage is 75.00%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #162      +/-   ##
==========================================
+ Coverage   46.39%   47.07%   +0.68%
==========================================
  Files          47       47
  Lines       17828    17887      +59
==========================================
+ Hits         8271     8421     +150
+ Misses       8111     8002     -109
- Partials     1446     1464      +18


mp4v2: 2.0.0 -> 4.1.3

Switch into the maintainable fork. It is the community central fork.
To compile, removed old patch URL, and using new upstream patch URL that corresponds with maintenance of 4.1.3.
I weighted-in upstream on the patch reasoning to be merged.
Strictify the hardening.
Documentation update.
Motivation for this change
Found that there is good, maintainable fork of the project.
Fork already used in Arch-based distros for quite some time: https://repology.org/project/libmp4v2/versions
Should close the "Vulnerability roundup 85: mp4v2-2.0.0: 6 advisories [9.8]" https://github.com/NixOS/nixpkgs/issues/90888, until this version goes through the new scan.
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build mp4v2

Went through nix-shell -p nixpkgs-review --run "nixpkgs-review pr 91159" locally

It is the only, and so central maintained fork, in fact I kept an eye on it for some time, CVE report reminded me that switch is really beneficial. Thanks.


Header Formatting

Just changed the formatting of headers (missing spaces after hash)

Coverage remained the same at 0.0% when pulling 780d8696b56e62015fb2186ce5c32f5469f5ddf2 on faxm0dem:patch-1 into 7d533f1a89b6fd4dedf86bd9c5353a6757dfda44 on floragunncom:5.0.0.

merged with https://github.com/floragunncom/search-guard/commit/35f52f0068db0b13eab98e5a8981d72813a11256


Is it possible to precompile a web application programmatically?

I'm developing a Visual Studio 2015 extension which need to to pre compile a selected web application project and emit the output to a target location. The compiled binary will be submitted to a service for analysis. I'm using Roslyn Microsoft.CodeAnalysis.MSBuild.MSBuildWorkspace to generate build artifacts from non web apllications (class libs etc.). Roslyn team mentioned that their API currently doesn't support pre-compilation of web applications. What are the options I have to programmatically build a web app and generate pre-compiled artifacts?

There's no API for precompilation but there is a tool you can run. See https://github.com/aspnet/MvcPrecompilation.
/cc @pranavkm

This issue is being closed because it has not been updated in 3 months.
We apologize if this causes any inconvenience. We ask that if you are still encountering this issue, please log a new issue with updated information and we will investigate.


GRPC request showing error

I follow the guide and make this file test.http
### Service Account
proto < ./account.proto
keepCase: true
longs: String
enums: String
defaults: true
oneofs: true
GRPC grpcb.in:5002/AccountService/ReadAccount
{
	"email"<EMAIL_ADDRESS>}

When using the visual code extension I get the following error
Error: Service AccountService does not exist
	at Cpe.getService (/home/usr/.vscode/extensions/anweber.vscode-httpyac-4.5.0/dist/extension.js:105:117832)
	at /home/usr/.vscode/extensions/anweber.vscode-httpyac-4.5.0/dist/extension.js:105:115212
	at Xd (/home/usr/.vscode/extensions/anweber.vscode-httpyac-4.5.0/dist/extension.js:105:88403)
	at async Cpe.process (/home/usr/.vscode/extensions/anweber.vscode-httpyac-4.5.0/dist/extension.js:105:115068)
	at async $R.trigger (/home/usr/.vscode/extensions/anweber.vscode-httpyac-4.5.0/dist/extension.js:105:76713)
	at async Zd (/home/usr/.vscode/extensions/anweber.vscode-httpyac-4.5.0/dist/extension.js:105:95498)
	at async cyt (/home/usr/.vscode/extensions/anweber.vscode-httpyac-4.5.0/dist/extension.js:219:14944)
	at async Object.gF (/home/usr/.vscode/extensions/anweber.vscode-httpyac-4.5.0/dist/extension.js:219:14794)

Maybe there is somwthing missing

With the value accountservice I search for the service in the proto file. If this is also in a package this must be put in front of it.
If that was not the reason, the proto file would also be helpful.

I have extended the error message to include the loaded proto services. I also load the services as a fallback if it is only a part of the whole path.

I have provided the new version which improves the error output. Now you can see all services detected by the program and the path. If there are still problems just contact us again. Thanks:-)


Kano LED Lightshow OS v2.1.0

Hi, are the specs or any of the code for the original Kickstarter "Powerup Kit" available?
I'm happy I can still download the OS, but I'm curious about hacking on the board. I took my old Pi 1 and made it into a Pi-Hole, and it'd be neat if I could plugin in the LED board and have it light up as ads get blocked.
Thanks!

We never published it. However basically it takes pixels via the serial port at 38400 baud, one pixel per byte. There is a start flag 0x55 to align the start of a frame.

Note that the start flag doesn't reset the middle of a frame, the board will always consume 8*14 bytes before checking for the flag. It just won't start the next frame until it sees the flag.
There are only 8 light levels, but if I recall correctly they are spread across the range 0..255

Ah thanks! So no dependencies on Kanux then, cool.
Are there existing scripts somewhere in the LED Lightshow OS image (or wait, isn't it supposed to be programmable from Kano itself?) that might be worth poking at? I'm bad at coding. :-}

Oh! I found the powerup-kit_1.0-1.20150713_armhf.deb file, with the powerup Python modules. Nice! :-}
Hrm. The powerup-code-all.py sample script scrolls HELLO WORLD in reverse.  There's code to specify color, but it doesn't seem to work.
As I recall, there were Kano blocks so that the new Pi 2 could talk to the LED Lightshow in the old Pi. So then... there must be some kind of daemon code somewhere to enable that? Not seeing that in the package. I don't need to implement it, was just curious how the magic worked. :-}


run_me.py: FileNotFoundError: [Errno 2] No such file or directory

Hi I was trying to run python run_me.py command as suggested in the README, however ended up having a bit long, hard to understand error messages. I use pipenv and created a pyhton3.6.5 environment for this course.
Please help me decipher the following issues:
(ozkans) ozkans@OZKANs-MacBook-Pro Mastering-Big-Data-Analytics-with-PySpark % python --version
Python 3.6.5
(ozkans) ozkans@OZKANs-MacBook-Pro Mastering-Big-Data-Analytics-with-PySpark % python run_me.py
INFO     CourseHandler        Welcome to 'Mastering Big Data Analytics with Pyspark' by Danny Meijer<EMAIL_ADDRESS>INFO     CourseHandler        Course Version: 20200420
INFO     CourseHandler        Course Name: Mastering Big Data Analytics with Pyspark
INFO     CourseHandler        Container Name: mastering-pyspark-ml
INFO     CourseHandler        Downloading the data
INFO     CourseHandler        Processing Sentiment140TrainingData
INFO     CourseHandler        Directory "sentiment-140-training-data" already exists
INFO     CourseHandler        Skipping "trainingandtestdata.zip"
INFO     CourseHandler        Processing MovieLens-Small
INFO     CourseHandler        Directory "ml-latest-small" already exists
INFO     CourseHandler        Skipping "ml-latest-small.zip"
INFO     CourseHandler        Processing MovieLens
INFO     CourseHandler        Directory "ml-latest" already exists
INFO     CourseHandler        Skipping "ml-latest.zip"
INFO     CourseHandler        Connecting to Docker API
Traceback (most recent call last):
File "/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/urllib3/connectionpool.py", line 677, in urlopen
chunked=chunked,
File "/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/urllib3/connectionpool.py", line 392, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1239, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1285, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1234, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1026, in _send_output
self.send(msg)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 964, in send
self.connect()
File "/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/docker/transport/unixconn.py", line 43, in connect
sock.connect(self.unix_socket)
FileNotFoundError: [Errno 2] No such file or directory
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/requests/adapters.py", line 449, in send
timeout=timeout
File "/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/urllib3/connectionpool.py", line 727, in urlopen
method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
File "/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/urllib3/util/retry.py", line 410, in increment
raise six.reraise(type(error), error, _stacktrace)
File "/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/urllib3/packages/six.py", line 734, in reraise
raise value.with_traceback(tb)
File "/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/urllib3/connectionpool.py", line 677, in urlopen
chunked=chunked,
File "/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/urllib3/connectionpool.py", line 392, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1239, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1285, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1234, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1026, in _send_output
self.send(msg)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 964, in send
self.connect()
File "/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/docker/transport/unixconn.py", line 43, in connect
sock.connect(self.unix_socket)
urllib3.exceptions.ProtocolError: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/docker/api/client.py", line 205, in _retrieve_server_version
return self.version(api_version=False)["ApiVersion"]
File "/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/docker/api/daemon.py", line 181, in version
return self._result(self._get(url), json=True)
File "/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/docker/utils/decorators.py", line 46, in inner
return f(self, *args, **kwargs)
File "/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/docker/api/client.py", line 228, in _get
return self.get(url, **self._set_request_timeout(kwargs))
File "/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/requests/sessions.py", line 543, in get
return self.request('GET', url, **kwargs)
File "/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/requests/sessions.py", line 530, in request
resp = self.send(prep, **send_kwargs)
File "/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/requests/sessions.py", line 643, in send
r = adapter.send(request, **kwargs)
File "/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/requests/adapters.py", line 498, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "run_me.py", line 329, in
course = Course()
File "run_me.py", line 113, in init
self._client()
File "run_me.py", line 153, in _client
self.client = docker.from_env()
File "/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/docker/client.py", line 85, in from_env
timeout=timeout, version=version, **kwargs_from_env(**kwargs)
File "/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/docker/client.py", line 40, in init
self.api = APIClient(*args, **kwargs)
File "/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/docker/api/client.py", line 188, in init
self._version = self._retrieve_server_version()
File "/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/docker/api/client.py", line 213, in _retrieve_server_version
'Error while fetching server API version: {0}'.format(e)
docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))

Hey there,
Seems like a problem with the VirtualEnv. Please confirm that the
requirements.txt is installed in the environment by running pip install -r
requirements.txt.
It could also be related to the docker API - but not quite sure. What OS is
this being run on?
Kind regards
Danny Meijer
On Fri, Oct 23, 2020 at 7:16 AM ozkan serttas<EMAIL_ADDRESS>wrote:

Hi I was trying to run python run_me.py command as suggested in the
README, however ended up having a bit long, hard to understand error
messages. I use pipenv and created a pyhton3.6.5 environment for this
course.
Please help me decipher the following issues:
(ozkans) ozkans@OZKANs-MacBook-Pro
Mastering-Big-Data-Analytics-with-PySpark % python --version
Python 3.6.5
(ozkans) ozkans@OZKANs-MacBook-Pro
Mastering-Big-Data-Analytics-with-PySpark % python run_me.py
INFO CourseHandler Welcome to 'Mastering Big Data Analytics with Pyspark'
by Danny Meijer<EMAIL_ADDRESS>INFO CourseHandler Course Version: 20200420
INFO CourseHandler Course Name: Mastering Big Data Analytics with Pyspark
INFO CourseHandler Container Name: mastering-pyspark-ml
INFO CourseHandler Downloading the data
INFO CourseHandler Processing Sentiment140TrainingData
INFO CourseHandler Directory "sentiment-140-training-data" already exists
INFO CourseHandler Skipping "trainingandtestdata.zip"
INFO CourseHandler Processing MovieLens-Small
INFO CourseHandler Directory "ml-latest-small" already exists
INFO CourseHandler Skipping "ml-latest-small.zip"
INFO CourseHandler Processing MovieLens
INFO CourseHandler Directory "ml-latest" already exists
INFO CourseHandler Skipping "ml-latest.zip"
INFO CourseHandler Connecting to Docker API
Traceback (most recent call last):
File
"/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/urllib3/connectionpool.py",
line 677, in urlopen
chunked=chunked,
File
"/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/urllib3/connectionpool.py",
line 392, in _make_request
conn.request(method, url, **httplib_request_kw)
File
"/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py",
line 1239, in request
self._send_request(method, url, body, headers, encode_chunked)
File
"/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py",
line 1285, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File
"/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py",
line 1234, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File
"/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py",
line 1026, in _send_output
self.send(msg)
File
"/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py",
line 964, in send
self.connect()
File
"/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/docker/transport/unixconn.py",
line 43, in connect
sock.connect(self.unix_socket)
FileNotFoundError: [Errno 2] No such file or directory
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/requests/adapters.py",
line 449, in send
timeout=timeout
File
"/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/urllib3/connectionpool.py",
line 727, in urlopen
method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
File
"/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/urllib3/util/retry.py",
line 410, in increment
raise six.reraise(type(error), error, _stacktrace)
File
"/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/urllib3/packages/six.py",
line 734, in reraise
raise value.with_traceback(tb)
File
"/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/urllib3/connectionpool.py",
line 677, in urlopen
chunked=chunked,
File
"/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/urllib3/connectionpool.py",
line 392, in _make_request
conn.request(method, url, **httplib_request_kw)
File
"/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py",
line 1239, in request
self._send_request(method, url, body, headers, encode_chunked)
File
"/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py",
line 1285, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File
"/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py",
line 1234, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File
"/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py",
line 1026, in _send_output
self.send(msg)
File
"/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py",
line 964, in send
self.connect()
File
"/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/docker/transport/unixconn.py",
line 43, in connect
sock.connect(self.unix_socket)
urllib3.exceptions.ProtocolError: ('Connection aborted.',
FileNotFoundError(2, 'No such file or directory'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/docker/api/client.py",
line 205, in _retrieve_server_version
return self.version(api_version=False)["ApiVersion"]
File
"/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/docker/api/daemon.py",
line 181, in version
return self._result(self._get(url), json=True)
File
"/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/docker/utils/decorators.py",
line 46, in inner
return f(self, *args, **kwargs)
File
"/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/docker/api/client.py",
line 228, in _get
return self.get(url, **self._set_request_timeout(kwargs))
File
"/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/requests/sessions.py",
line 543, in get
return self.request('GET', url, **kwargs)
File
"/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/requests/sessions.py",
line 530, in request
resp = self.send(prep, **send_kwargs)
File
"/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/requests/sessions.py",
line 643, in send
r = adapter.send(request, **kwargs)
File
"/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/requests/adapters.py",
line 498, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.',
FileNotFoundError(2, 'No such file or directory'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "run_me.py", line 329, in
course = Course()
File "run_me.py", line 113, in init
self._client()
File "run_me.py", line 153, in _client
self.client = docker.from_env()
File
"/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/docker/client.py",
line 85, in from_env
timeout=timeout, version=version, **kwargs_from_env(**kwargs)
File
"/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/docker/client.py",
line 40, in init
self.api = APIClient(*args, **kwargs)
File
"/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/docker/api/client.py",
line 188, in init
self._version = self._retrieve_server_version()
File
"/Users/ozkans/.local/share/virtualenvs/ozkans-QsBVdfJX/lib/python3.6/site-packages/docker/api/client.py",
line 213, in _retrieve_server_version
'Error while fetching server API version: {0}'.format(e)
docker.errors.DockerException: Error while fetching server API version:
('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/PacktPublishing/Mastering-Big-Data-Analytics-with-PySpark/issues/3,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACQGM227SLTB7ZU2WU3VV6LSMEGRPANCNFSM4S4CSLXA
.

Did you ever get it to work OK? @oserttas-math

Did you ever get it to work OK? @oserttas-math


Issue: Alert developer if requirements path is invalid

Actual
As a developer if the path I defined in my manifest file does not exist, notify me! Right now juni build is creating an empty folder in the .zip artifact that has nothing. Assume that lambda/requirements.txt does not exist. The following manifest definition creates an empty requirements folder.
functions:
  events:
    requirements: ./lambda/requirements.txt
    include:
    - ./lambda/lambda_handler.py

Expected
In the case above as a developer I expected either a warning or an error from juniper letting me know that the path I set for the requirements is not valid.

https://github.com/eabglobal/juniper/pull/16


Add Bike class

Add a Bike class in the Model.
For now, the Bike can just have a name field.
After that, add a Bike data field to the Loan class.

I will work on this issue


Should DAP program ncdump/ocprint be installed or not?

I see this in the ncdump Makefile.am:
# Conditionally build the ocprint program, but do not install
if ENABLE_DAP
bin_PROGRAMS += ocprint
ocprint_SOURCES = ocprint.c
endif

If ocprint is not supposed to be installed, this should say:
noinst_PROGRAMS += ocprint
@DennisHeimbigner is ocprint intended to be installed? Currently I believe it is being installed, in spite of what the comment says.

I have slowly been moving the oc2 directory into libdap2.
This is part of that. I guess it should be marked as noinst_...

OK, that's what I guessed. I've got it changed in the PR I will put up shortly. Thanks for the quick answer!


Contextual never parameter type gets precedence over the initializer's type

🔎 Search Terms
contextual parameter type initializer never
🕗 Version & Regression Information

This is the behavior in every version I tried

⏯ Playground Link
https://www.typescriptlang.org/play?ts=5.4.0-dev.20231122#code/CYUwxgNghgTiAEAzArgOzAFwJYHtXwxAGcMAeAKHngBUBhPQgDwwBpKaBZEDACx2CLwQzEKgHwASuBwxgpEjCyoA5i3gAKTIwBcNeqiat4AOlOxlRXahAA3EDADaAXQCU8ALwA+eGgDWqHAB3VE82T00GYQxdOkjmNQBbbj4BGK5efiIXXRscLGAAbnJyQhJ1dgBvdiowHDRo+AAGNioAXxb4KqoannBfABksBKwGzQxGRKhGD3gAVkbGty9O9ur4HigiAEEwMGJLDS01ZCJ7XQr4VCgk3QUlZXhWpe8K1ba2FyKgA
💻 Code
declare function test<
  TContext,
  TMethods extends Record<string, (ctx: TContext, ...args: never[]) => unknown>,
>(context: TContext, methods: TMethods): void;

test(
  {
    count: 0,
  },
  {
    checkLimit: (ctx, max = 500) => {},
    hasAccess: (ctx, user: { name: string }) => {},
  },
);

🙁 Actual behavior
never gets assigned as the type of max parameter and TS errors on the initializer's type mismatch:

Type 'number' is not assignable to type 'never'.(2322)

🙂 Expected behavior
I'd expect the type inferred from the initializer to take precedence over never here. After all, we could annotate this contravariant position with max: number = 500 and that wouldn't violate any constraints.
Additional information about the issue
No response

For what it's worth, this isn't specific to never and in fact is a more general issue that TS doesn't care about the initializer type at all: if the contextual parameter type is, say, 1 | 2 | 3, then this is also an error when it doesn't need to be (a function that takes number is assignable to one that takes 1 | 2 | 3).

Good point. I can probably tweak this somewhat easily by checking the assignability between the initializer's type and the contextual type - just in the right direction.


mempool TX notifications + missing functionality in other RPCs

The initial batch of blockchain.address.{get_balance,get_history,...} RPCs are lacking the ability to report things happening in unconfirmed TXs. Need to monitor the mempool tables written by scribe? Or contact lbcd?

This is critical to getting tests working. Lbry-sdk needs to receive notifications about mempool TXs and retrieve TX details. See #77.
It appears (Python) herald monitors the MempoolTX table contents (prefix d).

Sending to @jeffreypicard who has volunteered to work on this.
(go) Herald needs to monitor MempoolTX table and/or HashXMempoolStatus to see when new txs appear or status changes happen. When status of a hashX changes, notification (hashXNotification) should be delivered on the NotifierChan. Client should respond to the notification by performing address.get_history and transaction.get_batch. Herald should respond with tx hashes and details that include mempool transactions. A quirk of mempool transactions is they report with height=-1 (and some other details are missing). Later when a transaction migrates from mempool to the blockchain, the height and other details become known.

    def get_mempool_height(self, tx_hash: bytes) -> int:
        # Height Progression
        #   -2: not broadcast
        #   -1: in mempool but has unconfirmed inputs
        #    0: in mempool and all inputs confirmed
        # +num: confirmed in a specific block (height)


Can't install debian bullseye

name: bullseye
encrypted: no
Entering /mnt/stateful_partition/crouton/chroots/bullseye...
crouton: version 1-20210907212903~master:9b281df5
release: bullseye
architecture: amd64
xmethod: xorg
targets: xfce,core,audio,x11,xorg,cli-extra,kde
host: version 14150.57.0 (Official Build) stable-channel octopus
kernel: Linux localhost 4.14.243-18084-g7bc10658733d #1 SMP PREEMPT Mon Oct 11 23:13:10 PDT 2021 x86_64 GNU/Linux
freon: yes

When trying to install debian bullseye it just says unable to find package kde-runtime. I tried installing it with xfce and kde and neither worked
If known, describe the steps to reproduce the issue:
sudo crouton -r bullseye -t kde/sudo crouton -r bullseye -t xfce

Duplicate of #4453.


Cleanpaste cleans the already inserted text, not the newly pasted text.

When trying to use the Cleanpaste plugin (which is awesome by the way), the wrong text is cleaned;
So when I paste some text which is not clean (for example it has a style attribute), the style attribute is pasted anyway, so the cleanpaste plugin is not picking it up.
However when I paste something again, next to the already pasted stuff, then the first text is cleaned.
To reproduce:

I copy
This goes wrong
from a rendered html page. (So you actually see red text)

I paste it in an initialized Trumbowyg editor (Observe it is still red)

I copy
Bladibla
 from a rendered html page

I paste it in the same Trumbowyg editor.

Now the "This goes wrong" text gets cleaned.

I can reproduce this on Ubuntu, in Chrome, Firefox and Opera.
Any suggestions?

Thanks! I"ll check if it's working now!

@Alex-D isn't the current behaviour "wrong"? I mean, cleaning all the text inside the text box seems fine, but the pasted text itself should also be cleaned right?

Deployed in 2.12.1


How to organize my customized dataset for finetuning InternVL2?

The document & guide for finetuning InternVL2 are generally clear. However, I overcome a problem with my dataset.
As I read from the document & code,  a dataset suitable for Internvl_chat finetuning might contain multiple "conversations" as shown below (Since its all single-turn in my case).
{
  "id": "XX",
  "image": "/path/to/image.jpg",
  "conversations": [{
      "from": "human",
      "value": "text1"
    },
    {
      "from": "gpt",
      "value": "text2"
    }]
}

My questions are:

Is 'system' role supported in this format?
In my case, I've multiple images that might be used at one time (all send by 'human'). How should I process my data? My data might look like:

{
  "id": "XX",
  "conversations": [{
      "from": "human",
      "value": "text <image1> some text <image2> some other text"
    },
    {
      "from": "gpt",
      "value": "text2"
    }]
}

Thank you!

Will simply putting all images in "image" work for my case?

Hi, see this document to prepare training data:
https://internvl.readthedocs.io/en/latest/get_started/chat_data_format.html

Thanks,
I've already solved my issue.
Sorry not closing the issue in time


Fix default config in docker release

I think you forgot this one:
https://github.com/Admiral-Piett/goaws/blob/bc027e4ec99c700f0935c75c9a57f6cc21157cb2/docker-compose.yml#L9

Maybe also https://github.com/Admiral-Piett/goaws/blob/bc027e4ec99c700f0935c75c9a57f6cc21157cb2/Dockerfile#L19
It's a bit unclear where the config mount is.
While using the new Docker image I had to change the mount to the /app/config path


Feature request for support for struct and arry data types

datafusion doesn't support all possible data types the arrow supports. What is the roadmap for supporting for structs, lists etc...? It would be good to support some pushdowns to the complex data to arrow.

You may find more information on https://github.com/apache/arrow-datafusion/issues/2326 -- it would be great to get some idea of what you are trying to do / what datafusion can't do for you today

I want to be able to specify so.e kind of path expression like select a.b.c for nested structs. For list types also some notation to access the index.
My data is a heavy nested and list structs. Currently I can't query them individual fields can't use nested columns in filters.

I tried for list list_column[0] it didn't work.
I get following exception:
thread 'tokio-runtime-worker' panicked at 'called `Result::unwrap()` on an `Err` value: ArrowError(ComputeError("concat requires input of at least one array"))', /home/kesav/.cargo/git/checkouts/arrow-datafusion-71ae82d9dec9a01c/8df5496/datafusion/common/src/scalar.rs:1383:18

If we take the Parquet provided by @kesavkolla, we have the following column, text whose Parquet schema is:
 |-- text: struct (nullable = true)
 |    |-- id: string (nullable = true)
 |    |-- extension: array (nullable = true)
 |    |    |-- element: string (containsNull = true)
 |    |-- status: string (nullable = true)
 |    |-- div: string (nullable = true)

and sample data:
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| text                                                                                |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|                                                                                |
| {"id": null, "extension": null, "status": "generated", ...

I tried the following SQL to select one of the fields in the struct:
ctx.register_parquet("t", "t.parquet", ParquetReadOptions::default()).await?;
ctx.sql("select t.text['id'] from t").await?;

However, this resulted in the following error:
Error: Arrow error: External error: Execution error: Job zlH3pzz failed: Error planning job zlH3pzz: DataFusionError(Internal("physical_plan::to_proto() unsupported expression GetIndexedFieldExpr { arg: Column { name: \"text\", index: 0 }, key: Utf8(\"id\") }"))

Looking at datafusion/proto/src/physical_plan/to_proto.rs it does appear that this is not supported at present.  Or perhaps I have made a mistake in my SQL?

If we take the Parquet provided by @kesavkolla, we have the following column, text whose Parquet schema is:

Hi @ahmedriza  -- I am not sure what your system is doing exactly, but that error appears to be related to protobuf serialization
I looked at to_proto and it seems like it has the right code
https://github.com/apache/arrow-datafusion/blob/d05647c65e14d865b854a845ae970797a6086e2c/datafusion/proto/src/logical_plan/to_proto.rs#L859C30-L867
Could you share the file you are using on this ticket so I can give it a try? Maybe we have fixed this in another version of DataFusion

@alamb Apologies, I should have been more clear.  The Parquet file mentioned was in https://github.com/apache/arrow-datafusion/issues/2439. Attaching here as well.
The above mentioned error was when I ran the SQL from ballista and I've checked that ballista on the master branch is currently using datafusion version 18.0.0.
Hence, I just wrote two little tests, using the datafusion and the ballista context respectively.
SQL from the datafusion context works, whilst the one that uses the ballista context fails.   Test code:
#[tokio::test]
async fn test_datafusion_sql() {
    let ctx = SessionContext::new();
    let filename = "part-00000-f6337bce-7fcd-4021-9f9d-040413ea83f8-c000.snappy.parquet";
    ctx.register_parquet("t", filename, ParquetReadOptions::default()).await.unwrap();
    let df = ctx.sql("select t.text['status'] from t").await.unwrap();
    df.show().await.unwrap();
}

Output:
+----------------+
| t.text[status] |
+----------------+
|                |
| generated      |
| generated      |
| generated      |
| generated      |
| generated      |
| generated      |
| generated      |
| generated      |
| generated      |
+----------------+

#[tokio::test]
async fn test_ballista_sql() {
    let config = BallistaConfig::builder().build().unwrap();
    let ctx = BallistaContext::standalone(&config, 10).await.unwrap();
    let filename = "part-00000-f6337bce-7fcd-4021-9f9d-040413ea83f8-c000.snappy.parquet";
    ctx.register_parquet("t", filename, ParquetReadOptions::default()).await.unwrap();
    let df = ctx.sql("select t.text['status'] from t").await.unwrap();
    df.show().await.unwrap();
}

Output:
thread 'query::test::test_ballista_sql' panicked at 'called `Result::unwrap()` on an `Err` value: ArrowError(ExternalError(Execution("Job QeRwZCh failed: Error planning job QeRwZCh: DataFusionError(Internal(\"physical_plan::to_proto() unsupported expression GetIndexedFieldExpr { arg: Column { name: \\\"text\\\", index: 0 }, key: Utf8(\\\"status\\\") }\"))")))', src/query.rs:44:25

I am a bit surprised by the failure from the ballista version.
I've checked my Cargo.toml and the cargo tree output as well to double check that there really is just datafusion version 18.0.0 that's being used.
ballista = { git = "https://github.com/apache/arrow-ballista", features = ["s3"] }
ballista-cli = { git = "https://github.com/apache/arrow-ballista", features = ["s3"] }
ballista-core = { git = "https://github.com/apache/arrow-ballista", features = ["s3"] }
datafusion = "18.0.0"

futures = "0.3"
object_store = "0.5"
tokio = { version = "1", features = ["full"] }

Yeah, it seems to work just fine for me in datafusion-cli. Thus I think we should close this ticket in datafusion. I am not sure what is going on with ballista.
alamb@MacBook-Pro-8:~/Downloads$ datafusion-cli
DataFusion CLI v18.0.0
❯ select text['status'] from 'part-00000-f6337bce-7fcd-4021-9f9d-040413ea83f8-c000.snappy.parquet' limit 10;
+----------------------------------------------------------------------------------+
| part-00000-f6337bce-7fcd-4021-9f9d-040413ea83f8-c000.snappy.parquet.text[status] |
+----------------------------------------------------------------------------------+
|                                                                                |
| generated                                                                        |
| generated                                                                        |
| generated                                                                        |
| generated                                                                        |
| generated                                                                        |
| generated                                                                        |
| generated                                                                        |
| generated                                                                        |
| generated                                                                        |
+----------------------------------------------------------------------------------+
10 rows in set. Query took 0.010 seconds.

I'll take a look to see if I can find out where ballista is going wrong, although, of course, ultimately, the call ends in datafusion.

After sorting out the protobuf serialisation of the GetIndexedFieldExpr, ballista now works. Tested the fixes on a branch at https://github.com/ahmedriza/arrow-datafusion/tree/get_indexed_proto.  Will raise a PR after checking it a bit more carefully.
Now this code works as expected:
async fn ballista_query()  {
    let config = BallistaConfig::new().unwrap();
    let ctx = BallistaContext::standalone(&config, 10).await.unwrap();
    ctx.register_parquet("t", part-00000-f6337bce-7fcd-4021-9f9d-040413ea83f8-c000.snappy.parquet,
        ParquetReadOptions::default()).await.unwrap();
    let df = ctx.sql("select id, a[0], a[1], a[2], a[3], a[100] from t").await.unwrap();
    df.show().await.unwrap();

    Ok(())
}

+----+--------+--------+--------+--------+----------+
| id | t.a[0] | t.a[1] | t.a[2] | t.a[3] | t.a[100] |
+----+--------+--------+--------+--------+----------+
| 1  |        | 1.71   | 2.71   | 3.71   |          |
+----+--------+--------+--------+--------+----------+

https://github.com/apache/arrow-datafusion/issues/2326 is tracking such support

I think we have significant support now for structs / lists so closing this down in favor of more specific asks / feature requests


Documentation improvements

Consistency in formatting and spelling
Added documentation for adding Fluent to extensions (resolves #196)

Small suggestion to clarify. ;D

Thanks. I'd like to get the bottom of my issue with this before this PR
gets merged so that I'm at least comfortable that the suggested approach is
working! :-)
On Thursday, 28 April 2016, Damian Mooyman<EMAIL_ADDRESS>wrote:

Small suggestion to clarify. ;D
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/tractorcow/silverstripe-fluent/pull/197#issuecomment-215311082

--
Robbie Averill
LA PETITE MANOUCHE - NZ Gypsy Jazz Guitar Duo
Phone: +64 27 321 4758
<EMAIL_ADDRESS>www.lapetitemanouche.com

All done. Glad I got to the bottom of #196 - it was doing my head in!

ok, it's a good PR but if you insist I'll merge it later. :)

Fine from me now - over to you


Issue/235: Unit tests for #193

Closes #235, adds units tests for #193 to public methods. Does not include integration tests

Codecov Report

Merging #246 (4bba5ea) into main (ae742d4) will increase coverage by 3.01%.
The diff coverage is 94.36%.

@@            Coverage Diff             @@
##             main     #246      +/-   ##
==========================================
+ Coverage   90.45%   93.47%   +3.01%
==========================================
  Files          21       18       -3
  Lines         220      383     +163
  Branches       18       52      +34
==========================================
+ Hits          199      358     +159
- Misses         21       25       +4

Flag
Coverage Δ

annotation-server
93.47% <94.36%> (-0.70%)
:arrow_down:

lab-server
?

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

Impacted Files
Coverage Δ

...ation-server/src/medications/medications.module.ts
100.00% <ø> (ø)

...tion-server/src/medications/medications.service.ts
89.41% <88.09%> (-1.82%)
:arrow_down:

...tation-server/src/guidelines/guidelines.service.ts
88.29% <88.29%> (ø)

annotation-server/src/app.module.ts
91.66% <100.00%> (+1.66%)
:arrow_up:

annotation-server/src/common/google-sheets.ts
100.00% <100.00%> (ø)

.../gene-phenotypes/entities/gene-phenotype.entity.ts
100.00% <100.00%> (ø)

...src/gene-phenotypes/entities/gene-symbol.entity.ts
100.00% <100.00%> (ø)

...r/src/gene-phenotypes/entities/phenotype.entity.ts
100.00% <100.00%> (ø)

.../src/gene-phenotypes/gene-phenotypes.controller.ts
100.00% <100.00%> (ø)

...rver/src/gene-phenotypes/gene-phenotypes.module.ts
100.00% <100.00%> (ø)

... and 23 more

Continue to review full report at Codecov.

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

Looks pretty good and runs quite fast on my machine 👍 Maybe you can add those unit tests to our GitHub workflow so our CI tests this as well.


Instance method 'getResponseBodyAsJSON(_:from:transforming:)' requires that 'HTTPBody' conform to 'Decodable'

Description
I created a new Framework project in Xcode, then set up swift-openapi-generator, swift-openapi-runtime, and swift-openapi-urlsession as described here, save for using Jellyfin's OpenAPI document as found here (warning: huge page, takes a bit to load.)
When I build the project, I get this error:
Instance method 'getResponseBodyAsJSON(_:from:transforming:)' requires that 'HTTPBody' conform to 'Decodable'

on line 3,975 and 28,168 of Client.swift.
Reproduction

Checkout the reproduction project
Open in Xcode and build

Package version(s)
swift-openapi-generator: 1.2.0
swift-openapi-runtime: 1.3.2
swift-openapi-urlsession: 1.0.1
Expected behavior
I expected the generated code to compile without errors.
Environment
Swift
$ swift --version
swift-driver version: 1.87.3 Apple Swift version 5.9.2 (swiftlang-<IP_ADDRESS>.56 clang-15<IP_ADDRESS>.5)
Target: arm64-apple-macosx14.0
$

macOS Sonoma 14.2.1

Xcode 15.2

Additional information
No response

I can't verify this right now, but my first hunch is that it's caused by a bug in the OpenAPI document: using the application/json content type with a schema of type string and format binary.
That's not allowed. The body either has to be JSON, or raw binary data, but not both.
If you let me know which is desired, I can advise how to update the OpenAPI document.

That was exactly it, thank you!

I haven't dug much into OpenAPI, but are there any guides you'd recommend that would have helped me solve this myself?

Any stricter OpenAPI linter/validator should catch this, I think.


add cwd aware hinter

towards https://github.com/nushell/nushell/issues/8883

I tried this out and it works - and I love the experience. This was the only thing I missed from fish.
Help with writing tests would be appreciated

Nice! It would be good to have an example that demonstrates its use in the examples folder. Can you add one of those please?

Nice! It would be good to have an example that demonstrates its use in the examples folder. Can you add one of those please?

I tried running the existing one (cargo run --example hinter) and don't actually see hints - do you want me to just copy-paste it into a new example and just change the constructor like so:

// Create a reedline object with in-line hint support.
// cargo run --example cwd_aware_hinter
//
// Fish-style cwd history based hinting
// assuming history ["abc", "ade"]
// pressing "a" hints to abc.
// Up/Down or Ctrl p/n, to select next/previous match

use nu_ansi_term::{Color, Style};
use reedline::{CwdAwareHinter, DefaultPrompt, Reedline, Signal};
use std::io;

fn main() -> io::Result<()> {
    let mut line_editor = Reedline::create().with_hinter(Box::new(
        CwdAwareHinter::default().with_style(Style::new().italic().fg(Color::LightGray)),
    ));
    let prompt = DefaultPrompt::default();

    loop {
        let sig = line_editor.read_line(&prompt)?;
        match sig {
            Signal::Success(buffer) => {
                println!("We processed: {buffer}");
            }
            Signal::CtrlD | Signal::CtrlC => {
                println!("\nAborted!");
                break Ok(());
            }
        }
    }
}

I think so, but you'll need to add some items to the history in order to get hints to work.

right - how do I change the cwd inside the repl though? One idea is to alternate between original cwd and std::env::home_dir() on every iteration.

How does the example look? I tested the example and it works as intended.

I think I need help writing tests as I'm not familiar with the code too much and there are no tests for the existingDefaultHinter

On the nushell side I just use DefaultHinter when the file format is FileBackedHistory (I'm assuming engine_state is updated at runtime, so the behaviour is that it is just not used)

https://paste.sr.ht/~p00f/5752fc99ba31990710f08c2a85de897a5b15bf54#cwd.diff-L48
@sholderbach this is my nushell patch

Note that this causes no undesirable behaviour - if you change the history format you don't get hints from the other history file anyway

(I'm assuming engine_state is updated at runtime, so the behaviour is that it is just not used)

this is correct - the Hinter is created inside the REPL loop

My caution is driven by the fact that we have a substantial number of non-nushell users of reedline. And since we introduced the new history search API (#401) we had a few panics based on the capabilities or assumptions what info is accessible (e.g. #480).
I would like to avoid a situation where you would encounter runtime panics when the Hinter/History combination gets used.
Things should be either abundantly clear from documentation, failure should happen either at the earliest point possible or handled gracefully.

paste.sr.ht/~p00f/5752fc99ba31990710f08c2a85de897a5b15bf54#cwd.diff-L48

This would bring every user of file_format: "sqlite" over to the behavior that prioritizes hints for the current directory.
Not sure if this is universally liked. So there might be someone proposing a decoupling between the two down the line.

I see - there's no way to find out the type of History, the trait has no such methods. Do I create a HistoryType enum and the implement such a method? If I do end up doing this, why not just do away with dynamic dispatch and use enums instead?
imo I should just document that it should always be used with SqliteBackedHistory.

Not sure if this is universally liked. So there might be someone proposing a decoupling between the two down the line.

If they do, I'll add a config option. At least for now, I think everyone will love this - fish has this by default without a config option, nobody complains.

I think everyone will love this ...

Personally, I pass on this behavior. I'll play with it and test it out, but I don't think I'll be using it. Let's make it configurable.
I think it's great to have it, and there's no doubt that some people will love it. However, I've worked on nushell long enough to know that you will never please everyone.
On a separate note, maybe I'll change my nick from "fdncred" to "everyone" then we can list the features that 'everyone' loves. 🤣

I'll play with it and test it out.

of course, I haven't created a nushell PR yet.

On a separate note, maybe I'll change my nick from "fdncred" to "everyone" then we can list the features that 'everyone' loves. 🤣

Please do, I hate when people ping @everyone on discord - this way it won't actually ping everyone 😛

Please do, I hate when people ping @everyone on discord - this way it won't actually ping everyone.

Briefly, I don't think just documenting it is a good approach for the public API.
With a FileBackedHistory things can be compiled, the builder executes and then things panic on the first keypress.

Panicking patch
cargo run --features sqlite --example cwd_aware_hinter

diff --git a/examples/cwd_aware_hinter.rs b/examples/cwd_aware_hinter.rs
index 17aa7dd..35f9c2f 100644
--- a/examples/cwd_aware_hinter.rs
+++ b/examples/cwd_aware_hinter.rs
@@ -49,16 +49,14 @@ fn main() -> io::Result<()> {
         #[allow(deprecated)]
         let home_dir = std::env::home_dir().unwrap();

-        let history = create_filled_example_history(
-            &home_dir.to_string_lossy().to_string(),
-            &orig_dir.to_string_lossy().to_string(),
-        );
+        let history = reedline::FileBackedHistory::new(100);
+

         let mut line_editor = Reedline::create()
             .with_hinter(Box::new(
                 CwdAwareHinter::default().with_style(Style::new().italic().fg(Color::Yellow)),
             ))
-            .with_history(history);
+            .with_history(Box::new(history));

         let prompt = DefaultPrompt::default();

Either we replace the current .expect()s in a way we can implement fall backs through recoverable error handling or we block at construction in .with_hinter/.with_history and provide a recoverable error there.
fallback/local error handling
As History::search already returns a result turning the expect here into a fall-back to a simpler query would be an option.
https://github.com/p00f/reedline/blob/00c59e4ca2762d5a12579b68de5dd505318fbfc4/src/hinter/cwd_aware.rs#L31
check at construction time
You are right that trait objects are limited on its own, but for "RTTI we have at home" the cost of adding a method that advertises a particular capability doesn't sound too bad if it is only checked in the constructors.
P.S.: just to disagree with @fdncred I really like this feature as a default and would be ok with saving ourselves another config option (just strawmanning it in for API design purposes)

Sorry, it took me a while to realize how "just don't use it" sounds.
I went with the first option as the second one requires more thought. Thanks for the help!

re: config option, we can introduce this without an option on main, then add it if people want to disable it. There's some time before the next release.

@sholderbach i fixed the warning causing the CI failure, can you re-run it?

Thanks for implementing the fallback!

re: config option, we can introduce this without an option on main, then add it if people want to disable it. There's some time before the next release.

Agree, your nushell patch looked already pretty good.

sorry, I think this one should pass

should I squash?

No need for manual squashing, we happily use the Github button for that.
Thanks for improving the quality of the hints. Looking forward to using them in Nushell

How do I do the nushell PR? Uncommenting https://github.com/nushell/nushell/blob/d0dc6986dd14e7ea5443f3dc0eb5b101c5de5efc/Cargo.toml#L167 ?

Yup uncommenting that line and running cargo update -p reedline to guarantee you get the most recent version on that branch

Yeah - I was wondering if it was acceptable to commit into main, then I read the diff - it was uncommented in main when I started working  😄


Fix up eth_bridge_tests::everything e2e test

The purpose of this test was to check that the EthBridge account's storage couldn't be modified arbitrarily wasm transaction. This test should be renamed and cleaned up to not reference things from the old design (e.g. the queue key).
Can salvage some things from this PR: https://github.com/anoma/anoma/pull/1229

Opened here by accident, moving to https://github.com/anoma/namada/issues/668


Clone Drush from Github Very Slow

I will often get stuck on this step for a very long time, everything else runs quickly but this is very slow.  Is there something I can do for debugging? I don't know if it is the download or some task afterwards.

@smmccabe - If you do a clone from github to your local computer directly, how long does it take (e.g. time git clone https://github.com/drush-ops/drush.git)? The process takes about 2-3s on my Mac, but it is 13 MB or so, so a really slow internet connection or somewhere far from GitHub CDN endpoints could make it slower.

I get between 8-9 seconds, but when it runs through vagrant up, I will get probably 2-3 minutes at least

Interesting. Are you on Mac or another platform, and I'm presuming you have VirtualBox, and not VMware or Parallels?

Ubuntu and VirtualBox

And I presume you're using NFS for the synced folder too? That's the only other quick thing I could think of. Maybe the virtual networking has an issue. Can you vagrant ssh in, then run a speed test like wget --output-document=/dev/null http://speedtest.wdc01.softlayer.com/downloads/test500.zip (or a cli speedtest tool), and see what you get? I got about 10.5 MB/s (for reference) both inside and outside the VM.

Runs right about the same at 1.5MB/s both in and out of VM

Interesting, I wonder why the Ansible task would take any longer then... it's basically running git clone https://github.com/drush-ops/drush.git {{ drush_install_path }}, and it shouldn't take any longer.
I'm running some tests locally, will see if I can figure out any possible reason it could take longer.

I've tested on three different computers—two on my home network, and one remote on a slower connection, and I also made sure the latest runs in Travis were the same—the Clone Drush from GitHub. task only takes maybe 5-10 seconds on faster connections/Travis, and 15-20 seconds on my slower connection.
I repeated twice on my personal computer with a fresh VM and completely empty cachier cache.
I'm guessing it's something to do with either the network or your local network on the machine, which makes it really hard for me to debug any further.
I'm going to close the issue, but here are some things you could check:

While provisioning, log into the VM (vagrant ssh) and run iftop to monitor the network traffic. Maybe do the same on your host to see what's up there.
See if you might be using a VPN or proxied network connection that could slow things down or be doing traffic sniffing/shaping.
Try the same config on a different computer or on a different network and see if there's any difference.

Also, does this happen every time (on the same task, Clone Drush from GitHub.), or did this just happen one time?


sample_baked_with_rotation gives wrong transform

Godot version
4.0.3.stable
System information
Windows 10
Issue description
evaluating a curve's sample_baked_with_rotation gives wrong Transform2D:
https://github.com/godotengine/godot/assets/1028756/078552a4-3965-4d36-9446-022054ade672
The texture should read A B C D correctly, you can see it flips the texture horizontally (or vertically depending how you see it)
It is trying to match textures Positive Y to the path direction, and then positive x to the right of the path.
I think the two correct options would be:

map negative y (which would be up) to the path direction
map positive x to the path direction (which I would like better, but would like to know your opinion)

I found this while working on this PR https://github.com/godotengine/godot/pull/77819
I could give a shot at fixing this during the weekend
Steps to reproduce
Just run the example project
Minimal reproduction project
PathSampleBug.zip

I think this is because you are using the wrong coordinate system, see here, you seem to be using a left handed coordinate system as opposed to a right handed one

Will look into it, yes, it seems to flip the axes

It appears the transform returned from the Curve2D is not a real transform, as the documentation shows to extract origin and rotation, but should be clearer, it works if you do:
target.position = tx.get_origin()
target.rotation = tx.get_rotation()

It appears the transform returned from the Curve2D is not a real transform, as the documentation shows to extract origin and rotation, but should be clearer, it works if you do:

I'm not sure what you exactly mean.  The negative y-scale in transform seems to be the culprit or bug here...
print(tx.get_scale())
(1, -1)
I.e. this works as expected:
target.transform = curve.sample_baked_with_rotation(distance)
target.scale = Vector2(1,1)

I mean no that gives a different result than the behaviour of PathFollow2D

I haven't had time to read/decipher the corresponding code. Other practical question, why it here manipulates the scale of the  target transform at all?

This is as I said because it swaps the X and Y axes, meaning that it no longer follows the right hand convention, by default the Y axis is 90 degrees clockwise of the X axis, but in this case it is counter clockwise, because of the swapped axes

Thanks a lot. I'm starting to not know what my left and right hands are in the matrix.  :arrows_clockwise: :repeat: :arrows_counterclockwise:  Godot obviously prefers 3D and 2D objects from behind :) Personally, I would rather break whatever compatibility and fix it once forever ...

No problems! I had a hard time getting my head around it for a while, and my right wrist is all sore from trying to work out the left and right hand rules, note that 3D in Godot is right hand, but 2D is left hand, very confusing
Unfortunately we can't do that, at least not for some time, I suspect not until 5.0 as it's an easy thing to resolve with documentation clarification, and doesn't break anything, as long as you compensate for it, you don't really need the whole transform anyway as it doesn't scale or skew, we could just return a Vector3 with a rotation alone
See if the documentation update in the linked PR is clear to you if you wouldn't mind

I just tried the PathFollow2D Node and it indeed does what I expected to do. I guess I didn't try it because I was focused on the text transform effect PR.
I think we should just make this function just return a good transform and match the behavior of PathFollow2D. I get the idea of using a Transform2D and then reading Y and X axis as forward and right, but the convenience of just using the transform to slap it into some visual element is too good to let it pass.
I like that it chooses X+ for forward. , as it is my preferred way of solving the problem. It makes it seamless to integrate with the work I did in the linked PR for flowing the text over a path.
I think that, given the use case is currently broken, and the docs previously had no suggestion on how to use this. I feel we should do an appropiate fix now instead of documenting the quirkiness of current implementation.
I can do a PR later today or tomorrow with my suggested fix.

The docs did have the proposal yes
This is a compatibility breaking change so I don't think it's going to be merged any time soon, at the very earliest for 4.2

Also you mean that fixing the sample_baked_with_rotation output transform would break something else?
diff --git a/scene/resources/curve.cpp b/scene/resources/curve.cpp
index 12ee36654d..bf3256a9c3 100644
--- a/scene/resources/curve.cpp
+++ b/scene/resources/curve.cpp
@@ -1025,6 +1025,8 @@ Transform2D Curve2D::sample_baked_with_rotation(real_t p_offset, bool p_cubic) c
        // 2. Sample rotation frame.
        Transform2D frame = _sample_posture(interval);
        frame.set_origin(pos);
+       frame.set_scale(Vector2(-1.0, 1.0));
+       frame.set_rotation(frame.get_rotation() + Math_PI);

        return frame;
 }

It would break anyone's code that uses it, it would of course have to be adjusted in the code, like PathFollow2D
The change would instead be in the _sample_posture, swapping the order of the arguments

It would break anyone's code that uses it ...

If it`s broken, I doubt someone will actually use it directly?

It isn't broken, it's just weird, you can use it fully

If it breaks the use case (see in the Minimal reproduction project)

It breaks any usecase, get_rotation() on the returned transform is different when using the corrected version

target.transform = curve.sample_baked_with_rotation(distance)
or
var tx = curve.sample_baked_with_rotation(distance)
target.position = tx.get_origin()
target.rotation = tx.get_rotation()
Works here in the MRP with same expected result.

Not given the expected results of PathFollow2D, the expected results would be for it to be facing up on a flat curve, no? Which is what you get from the current code with get_rotation

Realized that I had misinterpreted how it was used here, so changed the description in the documentation PR, a change to how the current implementation works would be good, but I still argue it would have to be delayed with consideration for compatability breaking

As you suggested, this does it for me
-	return Transform2D(side, forward, Vector2(0.0, 0.0));
+ 	return Transform2D(forward, side, Vector2(0.0, 0.0));

I agree that it breaks behavior for current users, but I also think that the sooner this gets fixed the better.

Not given the expected results of PathFollow2D, the expected results would be for it to be facing up on a flat curve, no?
I think this is debatable, and it ends up being a lot about preference.

I'm not sure what the expected result is here, but it isn't:

Why? there are many arguments in favor of this:

It is what PathFollow2D does.
It applies the least amount of transform for the simplest use case for example: a straight path from left to right wouldn't introduce any rotation.
not rotating an element in a left-to-right path would follow the principle of least surprise
nicely maps a positive value to a positive movement in an axis
if used for procedurally placing content, things such as trees-fences wouldn't be awkardly facing forward, but instead would naturally face up
it reduces the amount of code I need to write to lay out text with transforms in my other PR

Arguments in favor of keeping up as forward:

In top-view games people draw sprites with forward as up

In the end, if needed, rotation can be introduced by the user (although this applies both sides)
Overall I think this fix is kind-of critical for good performance, because using the get_rotation() function uses trigonometry and assigning it back to the object uses trigonometry again, which may be a concern when placing hundreds of items by code (which is what could happen with the text transform PR)

Agreed, realized that a scaling issue with the MRP caused me to fail to realize that the code as current does pointing along the path, not across it, as I thought, I was confused as to this part

In top-view games people draw sprites with forward as up

Flat-universe games people too.  MRP + ship & rocket :)
78361-PathSample2.zip


[turbopack] SyntaxError: setter functions must have one argument

What version of Turborepo are you using?
Nextjs 13.3
What package manager are you using / does the bug impact?
Yarn v2/v3 (node_modules linker only)
What operating system are you using?
Mac
Describe the Bug
I'm testing out the new app dir in nextjs. Given a component like this, which uses react-three-fiber and threejs:
"use client"

import { useRef, useState } from "react"
import { Canvas, useFrame } from "@react-three/fiber"
import { Mesh } from "three"

export default function Stuff({ products }: { products: any }) {
  return (
    <div>
      <Canvas>
        <ambientLight />
        <pointLight position={[10, 10, 10]} />
        <Box position={[-1.2, 0, 0]} />
        <Box position={[1.2, 0, 0]} />
      </Canvas>,
    </div>
  )
}

function Box(props: any) {
  // This reference will give us direct access to the mesh
  const mesh = useRef<Mesh>(null!)

  const [hovered, setHover] = useState(false)
  const [active, setActive] = useState(false)

  useFrame((state, delta) => (mesh.current.rotation.x += delta))
  return (
    <mesh
      {...props}
      ref={mesh}
      scale={active ? 1.5 : 1}
      onClick={(event) => setActive(!active)}
      onPointerOver={(event) => setHover(true)}
      onPointerOut={(event) => setHover(false)}>
      <boxGeometry args={[1, 1, 1]} />
      <meshStandardMaterial color={hovered ? 'hotpink' : 'orange'} />
    </mesh>
  )
}

The application fails to load with this error: SyntaxError: setter functions must have one argument. Looking at the linked source code [node_modules_three_build_three.module_b2ff5b.js:1821:14](http://localhost:4000/_next/static/chunks/node_modules_three_build_three.module_b2ff5b.js) I see this line in threejs:
    set image() {
        let value = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
        this.source.data = value;
    }

This seems valid to me. The setter is using the arguments array which seems okay to me, not sure on what the standards say.
Expected Behavior
Module to load fine
To Reproduce
See description
Reproduction Repo
No response

It should a syntax error to write this kind of setter function. See mdn doc , and in the bottom of the doc, it also provide the link to explain why this is a error.

Babel also fails on this with the newest version and a modern target: repl
But it looks like threejs updated their code, so I'm going to close this out.

This should be fixed now (before vs after)


MB-4935 refactor selected move type component logic

Description
Refactoring SelectMoveType page to simplify render logic.  Also going to rename the component to SelectShipmentType.
There should be no changes from a user's perspective.
Reviewer Notes
Does it seem like I'm going down the right path? Is there anything else missing?
Setup
make client_test

Code Review Verification Steps

[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

References

Jira story for this change.

Messages

:book:
:link: MB-4935

  Generated by :no_entry_sign: dangerJS against 0851c148026689c510e031f7197bf47b24f938c9

This is the commit I'm less sure about and am totally open to reverting: https://github.com/transcom/mymove/pull/6269/commits/05a0996841ffbea7c18cb815a9f17b6876875ef5


[MRG] plot_compare_evoked improved line colouring

Redo of #4221
Good for parametric and complex factorial designs.
See gist

@mmagnuski can you eventually check if the API works for you? I remember your ICON poster

Codecov Report

Merging #4526 into master will decrease coverage by 2.44%.
The diff coverage is 85.05%.

@@            Coverage Diff             @@
##           master    #4526      +/-   ##
==========================================
- Coverage   83.59%   81.15%   -2.45%
==========================================
  Files         349      349
  Lines       65212    65289      +77
  Branches    10083    10112      +29
==========================================
- Hits        54516    52983    -1533
- Misses       7840     9394    +1554
- Partials     2856     2912      +56

I propose to complete this once we have metadata in + kword file in datasets. This gist will make an amazing tutorial ! really nice @jona-sassenhagen 👍

Yeah, makes sense.
We can in fact reproduce the full analysis in Dufau, Grainger, ... 2015 in a few lines of code with MNE. I'd like to demonstrate how to use the cluster correction, cause it seems to confuse many newcomers, but is very hip in ERPland these days.

@jona-sassenhagen can you rebase?
what's left to do here?

Well you said:

I propose to complete this once we have metadata in + kword file in datasets

?

Or do you just mean the tutorial.

my bad.... forget it...

Yeah this is highly related to / mutually dependent on #4414, and we don't want that in before release. So we'll have to wait. But after we release, as far as I'm concerned this can go in first then we can simplify #4414

Eric, try the plot_metadata_epochs tutorial with this :)

Can you rebase and touch the tutorial to make circle do the work?

I just did both - is there anything wrong?

Oh god, there are tons of errors.

You need to make some change (even a trivial rewrite / typo fix) tutorials/plot_epochs_metadata.py otherwise Circle won't re-render it until merge, see:
https://6222-1301584-gh.circle-artifacts.com/0/tmp/circle-artifacts.1VuPluS/html/auto_tutorials/plot_metadata_epochs.html

Oh I see, I had those changes locally, but they were not pushed after the rebase (I assume because they were not changed by the original PR).

Nice!
https://6223-1301584-gh.circle-artifacts.com/0/tmp/circle-artifacts.feoSvsz/html/auto_tutorials/plot_metadata_epochs.html
I would separate the last two plots into separate sections so they appear full-size

Ugh, these look terrible :D They're supposed to look like this:

CircleCI doesn't have viridis, its matplotlib is too old

Oh wow, we are green, but I need to rebase from my own 2-line PR.
:|

I am sure you will survive...

@jona-sassenhagen once it comes back can you check CircleCI and post a link?

I will try :D

Hm. Something is wrong here.

I get the same for my local Python 2.7 :(

Time to work on those debugging skills

Well - better.
https://6255-1301584-gh.circle-artifacts.com/0/tmp/circle-artifacts.dIS8NwY/html/auto_tutorials/plot_metadata_epochs.html

indeed
ready to go?

I would prefer to do a few more tests. With my last big PR, I let too many bugs creep in.

PEP8:
https://travis-ci.org/mne-tools/mne-python/jobs/290636519

Ok, I think this is ready for reviews.

@mmagnuski when you have time for MNE, maybe also give this one a try ...

@agramfort something changed the post as I was editing and I lost all my comments, so I'm putting it here ...
Factorial:
evokeds = {'A/C': evoked1, 'B/C': evoked2, 'A/C': evoked3, 'B/D': evoked4}
mne.viz.plot_compare_evokeds(evokeds, colors="viridis")
or
mne.viz.plot_compare_evokeds(evokeds, colors={"A":"r", "B":"b"}, linestyles={"C":"-", "D":":"})

Continuous
evokeds = [evoked1, evoked2, evoked3, evoked4]
colors = list(range(len(evokeds)))
cmap = {"colorbar_label":"viridis"}
mne.viz.plot_compare_evokeds(evokeds, colors=colors, cmap=cmap)

colors is of the same shape as evokeds
Mixed:
evokeds = {'A/1': evoked1, 'A/2': evoked2, 'B/1': evoked3, 'B/2': evoked4}
linestyles = {"A":"-", "B":":"}
colors = {"1":1, "2":2}
cmap = {"colorbar_label":"jet"}
mne.viz.plot_compare_evokeds(evokeds, colors=colors, linestyles=linestyles, cmap=cmap)

(Mixed would depend on 1. giving a cmap parameter, 2. colors being a dict that links from HED tags to numeric.)
Mixed by order:
edit: this actually won't work because we don't have condition names
evokeds = [evoked1, evoked2, evoked3, evoked4]
linestyles = ["-", ":", "-", ":"]
colors = [1, 1, 2, 2]
cmap = {"colorbar_label":"jet"}
mne.viz.plot_compare_evokeds(evokeds, colors=colors, linestyles=linestyles, cmap=cmap)

(Currently, evokeds can be either 1. an Evoked obj, 2. a list of evoked objs, 3. a dict of evoked objs, 4. a list of lists of evoked objs, 5. a dict of lists of evoked objs.)
Right now I'm not sure the "dict of dicts" approach we discussed would be such a good idea.
colors = {"condition_label":[{"1":1}, {"2":2}, {"3":3}]} doesn't look so good.
Creating a pandas series might help, but isn't it overkill when we could simply have a dict?
I think your 'meta' idea would be better for something where we allow more flexibility (e.g., seaborn which has hue, col, row, marker, ...). But here we only ever have two: color and linestyle. Right?

@jona-sassenhagen I just posted what you wrote in the other PR. Let's reuse this for a narrative doc. Don't hesitate to edit.
I see for example that the cmap option is pretty "multi-form" and in the tutorial you only use cmap as a string. Sorry to bug you but I am also trying to teach myself how to use this function.
thanks

@jona-sassenhagen I will! :)

@agramfort what are you thinking of wrt. a "narrative doc"? Do you mean something like, a tutorial tutorials/plot_evoked_multiple_conditions.py?

@mmagnuski ..? :)

@jona-sassenhagen Hey, sorry, I'll take a look this evening.

@jona-sassenhagen I pushed directly my edits.
please update what's new and you have my +1

Thanks!
There is currently a major bug hiding here (I know what it is, just didn't have time to fix) and I'd like @mmagnuski 's input. I'll also take care of sensor locs. Then we can merge.

ok then I put the PR back to WIP :)

Hey @jona-sassenhagen, sorry I keep pushing it back, I'm chased by multiple deadlines. I should be able to look into it tomorrow or monday.

having both colors and cmap was indeed also a question for me...
@jona-sassenhagen
what's your bandwidth to finish this?

The example: link.

@agramfort

what's your bandwidth to finish this?

I'm at a conference, so I'll code during keynotes, my fav coding time :D

having both colors and cmap was indeed also a question for me...

@mmagnuski @agramfort
cmap tells you which colormap to use, colors where you are on the colormap.
I'd be open to the idea of enforcing the values of colors to lie between 0 and 1. It has some advantages, some disadvantages. I guess it'd probably better to have it like that.

But imagine how it would complicate the examples; we would have to normalise the variable that's color coded, e.g. do a bunch of (n_letter - min(letters)) / (max(letters) - min(letters)) instead of just n_letter.
And it's hard to prepared that list because we retrieve the values from the metadata each time.

@jona-sassenhagen

But imagine how it would complicate the examples; we would have to normalise the variable that's color coded, e.g. do a bunch of (n_letter - min(letters)) / (max(letters) - min(letters)) instead of just n_letter.

Can't you just do: np.linspace(0.1, 0.9, num=n_letters) and then list comprehension?
But for the clarity of the examples, why not just write (for example):
colors = {'3': 0.1, '4': 0.3, '5': 0.5}

that's more transparent.

we could also (at the danger of introducting too much complexity in the input options) normalized color values when they do not fit within 0 - 1 range (or when all are integers).

@agramfort @mmagnuski any further input on the possible values of colors? I.e., burden the user by enforcing 0-1 range for the dict values.

Just as I wrote above: we may consider allowing non-float values and normalize (just like you do now), but also allow to use floats. Using floats can be helpful if one does not want to use the whole colormap space (I remember that sometimes values from the edges of viridis were too bright / too dark to use for lineplots) or wants specific steps (non-linear stepping through colormap).
I mean - all these situations can be resolved by extracting color values by hand, so I can live without it. :)
Summing up:

I am ok with enforcing colors to be floats (if one uses colormap)
I am also ok with allowing both integers and floats
I am a little less ok, but still can live with allowing only ints

(I remember that sometimes values from the edges of viridis were too bright / too dark to use for lineplots)

That is true, I have the same problem. That's an argument in favour of giving the 0-1 option.
What do you think about:

if int, linear mapping of ranks
if float from 0-1, retrieve from cmap

Would that cover your use case?

@jona-sassenhagen Yes, that's the second option I am ok with. :)

Ok I will go for it, thanks.

without implementing anything how would the code look like for the kiloword
dataset?

The current solution would still work. However, there would be another solution where you re-scale the values of colors. I.e., something like
my_features = epochs.metadata["NumberOfLetters"]
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler().fit(my_features.reshape(-1, 1))
style_plot["colors"] = {n_letters: scaler.transform(float(n_letters))[0][0]
                        for n_letters in my_features.unique()}

for an added 2 or 3 or so lines.

or more simply, for example:
colors = {'4': 0.1, '5': 0.3, '6': 0.5, '7': 0.7, '8': 0.9}

;)

so it's not a simplification but an extra feature :)
I propose to do this in another PR then.
besides are you guys happy?

A separate issue, but not worh another open issue, @jona-sassenhagen are you ok with allowing ci=False? I often find myself writing ci=False instead of ci=None.

Ok, I will add a bool option.

@agramfort what do you think about @mmagnuski 's suggestion to use, in the plot_metadata_epochs example, using  a manual colors dict, instead of doing it programmatically? It would simplify the code, but would make it less realistic and pythonic.

https://6444-1301584-gh.circle-artifacts.com/0/tmp/circle-artifacts.5ANXZk6/html/auto_tutorials/plot_metadata_epochs.html

Oh that looks decent don't you think? I will move the sensor legend to the bottom though.

Yeah that is the only thing I noticed

BTW - is the legend a parasite axis (or something like this)? They are much harder to customize (change position etc.), I thinkI had this problem with plot_joint in the past.

It's an mpl_toolkits.axes_grid1.inset_locator.inset_axes (if you mean the channels), the function is plot_legend.

Oh nice. We are green.

Any chance we can get this merged before tomorrow morning? :)

There, very green.

@jona-sassenhagen I'll take a look this evening, be patient! :)

Thanks @mmagnuski !

This already got at least +3 so far so I'll go ahead and merge.
(but I hope for float color option in the future :) - and my nitpicks could be adressed in this future PR if you agree @jona-sassenhagen)

Thanks everyone for reviews!

The travis build timed out ... restarted.

codecov now complains, but previously all was green. My understanding of codecov is quite limited (I am often confused by why for the same PR one time it is green and another it compains) - so I refer to your intuitions @jona-sassenhagen @larsoner.

@mmagnuski don't merge. I spend a significant of time yesterday to simplify this code.
see https://github.com/mne-tools/mne-python/pull/4755
let me know If I miss some commits there and If none I'll close this PR


Fix jets-bench crate and add it to CI

This crate was broken by API changes in the rest of the repo, but also I'm not sure that the committed version ever compiled since there was a variable defined in an unsafe block but referred to outside of it.
I have not actually run the benchmarks since they will take a very long time and need exclusive overnight access to my server.

Rebased on master.


Add WindowsAppSDKRuntime

[ ] Have you signed the Contributor License Agreement?
[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

@DrusTheAxe @sachintaMSFT FYI - adding WinGet support for Windows App SDK Runtime.

I think we want the package family name support in validation and in this manifest before we merge it. That way it is actually associated with (at least) the main package on the machine.

Sounds good, do we know when this support is coming?

@yao-msft if he knows, otherwise we need to work on it.

Also, since the SDK compat is based on versions, there should probably be a different winget package for each main package family name. That way you request Microsoft.WinAppSDK.1.0 rather than "whatever the latest WinAppSDK is".

Yes, we'll need to create a separate entry for "Microsoft.WindowsAppRuntime.1.1". Should the version be included in the PackageIdentifier or just PackageVersion in the manifest?

Since these are implemented as different package families in MSIX, I would suggest having the same level of versioning in the PackageIdentifier as is in the family name of the main package.  Which I think means that this one would be:
PackageIdentifier: Microsoft.WindowsAppRuntime.1.0

Unassigning until the service integrates the manifest v1.2 changes. This pr requires a feature available in v1.2 manifests

Based on the earlier discussion, I added "Blocking-Issue". We should look at this once the AppsAndFeatures block is being evaluated by the client.


Get everything working without any bugs

Squirrelly now supports filters and helpers, but there are a few bugs I still need to work out--for example, when I nest native if helpers inside one another, it only displays the content of the center one. Since the project isn't fully developed, I think it will be me fixing the issues, and I probably won't accept any pull requests until everything works well.
Feel free to hack on it anyways though!

No known bugs right now... except when you make a syntax error it's really hard to find where.


Publish protobufs on release tags

Publish protobufs when:

A new commit is pushed into main (only if files in proto folder are modified)
A new release tag event is triggered

@alpe this is how cosmos-sdk will approach protobuf publishing. Should we follow the same path or we go with this solution since we might have backwards compatibility breaking changes and later on upgrade to the same approach adopted by cosmos-sdk?


--verbose --headers vs. --headers --verbose

--verbose --headers doesn't print the request headers, while --headers --verbose does. I think the ordering of arguments shouldn't matter in this case, and request headers should always be printed with --verbose.

@silverwind It's slightly counterintuitive in this case, but it's an intended behaviour and it's documented here: https://github.com/jakubroztocil/httpie#output-options
--headers, -h, --body, -b, and --verbose, -v are just aliases for --print=<arg>. And when you repeat an argument (which you in fact do here because both --headers and --verbose are treated as --print=<arg>), then the value specified last wins:

http --verbose --headers   (what you specify)
http --print=hbHB --print=h (what HTTPie sees)
http --print=h (how it interprets)

Thanks for the detailed explanation. Still strikes me as odd that --verbose actually makes it print less information.


With the examples, updating a label results in a black box being displayed

After updating the existing samples to display a label and then update it, I've run into a big problem: the label may (or may not) be drawn as a solid black box when it's refreshed.
My hardware: the NRF52840 and the 2.13 inch e-ink display as a feather.
Things that make a difference:

The scale of  the label. In the example code below, scale=1 will show the issue, but scale=2 will not
The length of the text. In the example code below, using scale=2 and a longer text "Snake say what?" and then "hissssss!" will show the issue. The issue seems to happen at a
ssd1680_simpletest.py.txt
text length of 7
Even with short texts, having multiple texts will show the issue
When using two background bitmaps and labels overlapping the two, half of the box might be red and half black.

In my code, the only robust solution I've found is remake the display (displayio.release_displays() followed by making a new display_bus and display) and doing a display.show(). I don't have to rebuild all of my visuals (e.g. the labels and groups)
With a little luck, here's my code:
https://github.com/pedasmith/Adafruit_CircuitPython_SSD1680/blob/LabelRefreshExample/examples/ssd1680_simpletest.py
A full project with the complete workaround is at https://github.com/pedasmith/ElectronicsProjects/tree/main/2023-Adafruit-Python-InkGoveeListener/code
(I've attached my code as a .py file renamed to be a .py.txt file. it should be called "code.py" to run on the nrf52840.)

Example of the display where a label is refreshed and becomes a black box.

What version of CircuitPython? This may be a core issue.

What version of CircuitPython? This may be a core issue.

boot_out.txt says:
Adafruit CircuitPython 8.2.2 on 2023-07-31; Adafruit Feather nRF52840 Express with nRF52840
Board ID:feather_nrf52840_express
UID:7D6217A39866847D
I used a very recent CircuitPython. I'm happy to provide whatever help in testing out new versions, etc. -- I'm very much wanting to make these e-ink displays work well. And this update thing: let me just say, I had any number of false starts in coming up with an reasonable explanation for the failures (wrong kind of bitmap / background / etc.)
Just for fun: Youtube link of the current mostly-completed project

Please give 8.2.6 and absolute latest a try to see if we've fixed the issue already. Thanks!

Please give 8.2.6 and absolute latest a try to see if we've fixed the issue already. Thanks!

Thanks, I'll give this a try in the next day or two.

Update: latest version doesn't help. I've just tried 8.2.6; it fails in the exact same way on the same code. I also updated the bundle lib files from adafruit-circuitpython-bundle-8.x-mpy-20230927.zip to get the latest e.g., adafruit_ssd1680.mpy files.
I tried the absolute latest CircuitPython from the amazon S3 buckets such as adafruit-circuitpython-feather_nrf52840_express-en_US-20230928-aa0d7aa.uf2 -- but every .uf2 after the 8.2.6 release is a new "9.0" and just gives me an "incompatible .mpy" file error when I try the code.
Contents of the 8.2.6 boot_out.txt:
Adafruit CircuitPython 8.2.6 on 2023-09-12; Adafruit Feather nRF52840 Express with nRF52840
Board ID:feather_nrf52840_express
UID:7D6217A39866847D

Thanks for trying! The 9.x version only works with .py files at the moment because we are in the middle of a MicroPython upgrade.

Thanks for trying! The 9.x version only works with .py files at the moment because we are in the middle of a MicroPython upgrade.

That's what I figured. Let me know if there's any other debugging, traces, or tests I should do. I'd love to get this fixed


Combined individual figures

Very nice scripts. I'm just wondering how you combine some separate figures into one large figure (appeared for publication). Do you use some programming language or some apps? Thanks.

Good question. I combine the separate PDFs/PNGs into one file using Powerpoint, KeyNote, or Adobe Photoshop.


Add NIOTransportServices TLS Configuration options

This PR comes from a discussion had on the swift-server with @Lukasa
I implemented NIOTS TLS support for client certificates, trust roots and applicationProtocols in my mqtt-nio project https://github.com/adam-fowler/mqtt-nio/blob/main/Sources/MQTTNIO/TSTLSConfiguration.swift. I ended up implementing a separate structure from the nio-ssl TLSConfiguration as there aren't easy translations to NIOTS structures from TLSConfiguration, specifically converting client certificates to a SecIdentity.
@Lukasa was not keen to have NIOTS build an abstraction over the Network.framework TLS implementation but he mentioned AHC could make use of something like this.
Changes include

New structure TSTLSConfiguration
HTTPClient.Configuration has a new init that takes a TSTLSConfiguration
If no TSTLSConfiguration is provided then TLS setup falls back to what we had already
Added test HTTPClientNIOTSTests.testHTTPS. Doesn't look like HTTPBin provides support for testing trust roots or client certificates. I have thoroughly tested this code in the MQTTNIO client but don't have any tests for AHC.

Anymore thoughts on this? I can implement the non SecIdentity code for TLSConfiguration already. If the desire is to use TLSConfiguration for NIOTS as well.

Anymore thoughts on this? I can implement the non SecIdentity code for TLSConfiguration already. If the desire is to use TLSConfiguration for NIOTS as well.

@adam-fowler What's your opinion on having AHC define its own TLS configuration structure that abstracts over this mess?

@adam-fowler What's your opinion on having AHC define its own TLS configuration structure that abstracts over this mess?

@adam-fowler What's your opinion on having AHC define its own TLS configuration structure that abstracts over this mess?

I think that is something we could aspire to. But that'd be a breaking change and would have to wait for v2.0. I'm not sure what is the full list of parameters from TLSConfiguration that apply to AHC. Also how do we support features not available in NIOTS but available in NIOSSL?
In the immediate future we can provide additional support for trust root certificates, application protocols via the TLSConfiguration we already have and if you supply the pkcs#12 generation we can get SecIdentity equivalent of a certificate chain and private key working.

@adam-fowler What's your opinion on having AHC define its own TLS configuration structure that abstracts over this mess?

I think that is something we could aspire to. But that'd be a breaking change and would have to wait for v2.0. I'm not sure what is the full list of parameters from TLSConfiguration that apply to AHC. Also how do we support features not available in NIOTS but available in NIOSSL?
In the immediate future we can provide additional support for trust root certificates, application protocols via the TLSConfiguration we already have and if you supply the pkcs#12 generation we can get SecIdentity equivalent of a certificate chain and private key working.

Hmm, ok. Let's get going with everything but the identity stuff, and we can schedule the PKCS#12 work for SwiftNIO SSL.

Hmm, ok. Let's get going with everything but the identity stuff, and we can schedule the PKCS#12 work for SwiftNIO SSL.

Closing this as it has been usurped by #350


Unable to use breakpoints to debug TypeScript in Visual Studio Code.

Issue
I'm unable to debug Jest test cases written in TypeScript. Possibly just a configuration problem? What am I missing?
Thanks!
Steps to reproduce

Install Visual Studio Code. I tested with version 1.11.2
Install Node.js. I tested with 7.8.0.
Clone the repo here
run npm install or yarn
Set breakpoint on line 6 of SystemUnderTest.spec.ts. (Just above debugger; statement)
Set breakpoint on line 3 of SystemUnderTest.ts. (Inside constructor).
Press F5 or click "Start Debugging".

Expected Behavior
Debugger should stop...

On line 6 of SystemUnderTest.spec.ts.
On line 3 of SystemUnderTest.ts.
On line 7 of SystemUnderTest.spec.ts.

Actual Behavior
Debugger only stops on line 7 of SystemUnderTest.spec.ts
Additional observations
debugger statements stop in the proper location in the TS files, not in the transpiled JS, so sourcemaps are being emitted and consumed.
Once stopped, VS Code debug controls (e.g. F10 to step over) work fine.
VS Code reports that the breakpoints are loaded. They are not greyed out.

However, as the debugger reaches each expected breakpoint but doesn't it it, it will begin reporting a source map problem.

The "future" breakpoint (line 8 of SystemUnderTest.spec.ts) does not report any sourcemap problem.

@jcgillespie thanks for creating the repo!
Making the following changes got this working for me:

In launch.json, set outFiles to [ "${workspaceRoot}/build/**/*" ]
In jest.json set testRegex to (/__tests__/.*|\\.spec)\\.js$

@kulshekhar That worked! Thank you so much! I Wouldn't have thought to point the jest tests at the .js files rather than the ts.

@kulshekhar What's the proper configuration to get this all to work and keep coverage remapping? The debug config above works, but coverage in the TS files is all zeroed out. I feel like the magic is somewhere in the collectCoverageFrom configuration, but I'm not finding the right combo.
As an interim, I've updated the testRegex to be "(/__tests__/.*|\\.spec)\\.(ts|js)$", which gets the coverage working again, but now the tests are run twice (once as .js and once as .ts).

@jcgillespie one way would be to have separate configs for debugging and testing/coverage

also, iirc, the degug config in the sample repo didn't use the --coverage flag when invoking jest

Maybe someone could post a working VSCode launch.json config if they have one? You would be such a dear ^-^

@netpoetica Here's mine, which I use on this project
I use a separate jest config for debugging.
launch.json
{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Debug Tests",
            "preLaunchTask": "debugBuild",
            "program": "${workspaceRoot}\\node_modules\\jest\\bin\\jest.js",
            "args": [
                "--runInBand",
                "--config",
                "${workspaceRoot}\\config\\jest.debug.json"
            ],
            "sourceMaps": true,
            "outFiles": [
                "${workspaceRoot}/output/debug/**/*"
            ]
        }
    ]
}

tasks.json
{
    "version": "0.1.0",
    "command": "yarn",
    "isShellCommand": true,
    "suppressTaskName": true,
    "tasks": [
        {
            "taskName": "build",
            "showOutput": "never",
            "args": [
                "run",
                "build"
            ],
            "isBuildCommand": true
        },
        {
            "taskName": "debugBuild",
            "showOutput": "never",
            "args": [
                "run",
                "build:debug"
            ]
        }
    ]
}

Relevant related files are here:
package.json
jest.debug.json
tsconfig.debug.json
Hope this helps!

Thanks @jcgillespie,
Which version of node are you using? I can't get this to work since 8.x (with the new Inspector Protocol).

Hi,
Does the debug work in v6.11.0? Anyone here has been able to do it.
I'm on windows10.
Thank you.

Thank you very much @jcgillespie!! That works perfect! 😄

@jcgillespie I tested your example with node 7.8, and it works as expected.  However using node 8+, it no longer breaks on breakpoints or debugger statements.
Any ideas how to fix it?  I'm assuming it has something to do with the newer inspector protocol.

@jordond found a solution to this one: https://www.jstwister.com/post/debugging-jest-with-vscode/
It's the "sourceMaps": true option in launch.json that prevents debugger from being triggered

Did anyone find a way to get this working without requiring a discrete build step? I really dig the way the preprocessor inside this repo makes it unnecessary to pollute the working directory with build artifacts.

Same as @Cryza , it's a pain to have to generate the js files beforehand to get the debugging working, it's even killing the need for ts-jest at all in that case as if we do that, this lib is not needed anymore 😞
When using jasmine, using ts-node wifh a simple --require ts-node/register arg make it work wonderfully, debugging included. Why can't this be also the case with Jest?

Hours spent on issues like that make me proud to be a software engineer.