format help content: make arg names and help-msg aligned

~/s/build.debug (test|✚5) $ tests/stest/stest_test +h
====stest main running!====
usage: tests/stest/stest_test [+v VERSION] [+h HELP] [+c COUNT] [+ltc LIST_TEST_CASES] [+lts LIST_TEST_SUITES] [+lr LIST_REPORTERS] [+tc] [+tce] [+sf] [+sfe] [+ts] [+tse] [+sc] [+sce] [+r] [+o] [+ob] [+rs] [+f] [+l] [+aa] [+scfl] [+s SUCCESS] [++cs CASE_SENSITIVE] [+e EXIT] [+d DURATION] [+m MINIMAL] [+q QUIET] [+nt NO_THROW] [+ne NO_EXITCODE] [+nb NO_BREAKS] [+ns NO_SKIP] [+gfl GNU_FILE_LINE] [+npf NO_PATH_FILENAMES] [+nln NO_LINE_NUMBERS] [+ndo NO_DEBUG_OUTPUT] [+u USAGE]

 options:
  +v, ++version=<bool>                 show version of the
  +h, ++help=<bool>                    Print STest help information
  +c, ++count=<bool>                   Print the number number of test cases matching the current filters
  +ltc, ++list-test-cases=<bool>       Print the list of test cases matching the current filters
  +lts, ++list-test-suites=<bool>      Print the list of test suites matching the current filters
  +lr, ++list-reporters=<bool>         Print the list of registered reporters
  +tc, ++test-case=<string>            Filter test cases whose name matches the given pattern
  +tce, ++test-case-exclude=<string>   Exclude test cases whose name matches the given pattern
  +sf, ++source-file=<string>          Filter test cases whose source file matches the given pattern
  +sfe, ++source-file-exclude=<string> Exclude test cases whose source file matches the given pattern
  +ts, ++test-suite=<string>           Filter test suites whose name matches the given pattern
  +tse, ++test-suite-exclude=<string>  Exclude test suites whose name matches the given pattern
  +sc, ++subcase=<string>              Filter subcases whose name matches the given pattern
  +sce, ++subcase-exclude=<string>     Exclude subcases whose name matches the given pattern
  +r, ++reporters=<string>             List of reporters to use
  +o, ++output=<string>                Output file name
  +ob, ++order-by=<string>             Test cases will be sorted before being executed either by the file in which they are in/their name / random. the possible values of <string> are file / suite / name / rand / none.the default is file.
  +rs, ++rand-seed=<int>               Seed for random number generator
  +f, ++first=<int>                    The first test case to execute which passes the current filters - for range-based execution
  +l, ++last=<int>                     The last test case to execute which passes the current filters - for range-based execution
  +aa, ++abort-after=<int>             The testing framework will stop executing test cases/assertions after this many failed assertions.the default is 0 which means don't stop at all.
  +scfl, ++subcase-filter-levels=<int> Filter subcases whose name matches the given pattern
  +s, ++success=<bool>                 To include successful assertions in output
  ++cs, ++case-sensitive=<bool>        Filters being treated as case sensitive
  +e, ++exit=<bool>                    Exit after the tests finish
  +d, ++duration=<bool>                Print the time each test case took in seconds
  +m, ++minimal=<bool>                 Only prints failing tests
  +q, ++quiet=<bool>                   Does not print any output
  +nt, ++no-throw=<bool>               Skips exceptions-related assertion checks
  +ne, ++no-exitcode=<bool>            Always return a successful exit code -- even if a test case has failed
  +nb, ++no-breaks=<bool>              Disables breakpoints in debugger when an assertion fails
  +ns, ++no-skip=<bool>                Don't skip test cases marked as skipped with a decorator
  +gfl, ++gnu-file-line=<bool>         Prints the file/line in the format expected in gnu mode, :n: vs (n):
  +npf, ++no-path-filenames=<bool>     Removes the path from the filename in the output
  +nln, ++no-line-numbers=<bool>       Removes the line numbers from the output
  +ndo, ++no-debug-output=<bool>       Removes all debug output from the output
  +u, ++usage=<bool>                   show usage of the tests/stest/stest_test
~/s/build.debug (test|✚5) $

@longqimin gcc 下好像有问题，fix 一下吧。


Problem with Rotate instruction with x and y axis.

Versions

Python: 3.5.2 / 2.7.12
OS: Linux (Ubuntu based)
Kivy: 1.10.0
Kivy installation method: pip

Description
Rotate instruction (kivy.graphics.Rotate) doesn't rotate the coming vertex instructions correctly when the rotation axis given is x (1, 0, 0) or y (0, 1, 0). Instead the coming matrix is like cropped from its ends away from the point of origin (and respective to the other 2d perpendicular axis).
The right behaviour when rotated on one of the x any axis would look like if the matrix was scaled down around the origin in trigonometric pace ((end-origin)*sin(angle)) (respective to the other 2d perpendicular axis too of course).
For example A rotation of 60 degrees on x-axis should make the shape shorter by one half. And 60 degrees on y-axis should make the shape thinner by one half.
But only one degree distort it like that on x-axis:

And y-axis:

z-axis works perfect like it should:

This isn't an issue of conversion between radians and degrees. (You can adjust the sliders'ranges to be between -pi to pi, but that won't fix it). The cropping happening is non-related to rotation, and the body near origin remain with it's shape unaffected until the copping reach it.
I made a quick look at Rotate class but couldn't spot the glitch. Probably I have to re-study Matrix multiplication in it's compute method. But of course if the issue was approved there would be someone more able to fix it than me.
Code and Logs
I made this app just for demonstration of the issue:
from kivy.app import App
from kivy.lang import Builder
from kivy.properties import NumericProperty

from kivy.config import Config
Config.set('graphics', 'width', '400')
Config.set('graphics', 'height', '600')

kv = '''
#:set h 75
BoxLayout:
    orientation: 'vertical'
    Widget:
        size_hint_y: None
        height: self.width
        canvas:
            PushMatrix:
            Color:
                rgba: .4, .6, .8, 1
            Rotate:
                origin: self.center
                axis: 1,0,0
                angle: app.xangle
            Rotate:
                origin: self.center
                axis: 0,1,0
                angle: app.yangle
            Rotate:
                origin: self.center
                axis: 0,0,1
                angle: app.zangle
            Triangle:
                points: (self.center_x, self.center_y+h*2,\
                         self.center_x-h*3**.5,self.center_y-h,\
                         self.center_x+h*3**.5,self.center_y-h)
            PopMatrix:
            Color:
                rgba: .1, .9, .5, .1
            Rectangle:
                pos: self.x+10, self.y+10
                size: self.width-20, self.height-20
    BoxLayout:
        Label:
            text: 'x :'
            size_hint_x: None
            width: self.height
        Slider:
            id: xslider
            value: 0
            range: (-180, 180)
            on_value: app.xangle=self.value
        Label:
            text: str(int(xslider.value))
            size_hint_x: None
            width: self.height
    BoxLayout:
        Label:
            text: 'y :'
            size_hint_x: None
            width: self.height
        Slider:
            id: yslider
            value: 0
            range: (-180, 180)
            on_value: app.yangle=self.value
        Label:
            text: str(int(yslider.value))
            size_hint_x: None
            width: self.height
    BoxLayout:
        Label:
            text: 'z :'
            size_hint_x: None
            width: self.height
        Slider:
            id: zslider
            value: 0
            range: (-180, 180)
            on_value: app.zangle=self.value;
        Label:
            text: str(int(zslider.value))
            size_hint_x: None
            width: self.height
'''

class RotationApp(App):
    xangle = NumericProperty(0)
    yangle = NumericProperty(0)
    zangle = NumericProperty(0)
    def build(self):
        return Builder.load_string(kv)

if(__name__ == '__main__'):
    RotationApp().run()

A little edit I would like to make to the code above:

origin: (*self.center, 0)

So that I ensure the z of point of origin is set to 0, the screen surface. It makes no changes anyway.
I understand one end could be cropped for crossing the screen surface , but that doesn't justify the opposite end.
also translating the matrix away by z beyond 1 (+or-) make it disappear.

I think you want to read up on the OpenGL Projection matrix (for example http://www.songho.ca/opengl/gl_projectionmatrix.html), kivy being essentially 2D oriented, doesn't need one with much depth,
https://github.com/kivy/kivy/blob/b173ec64c4e48f6905eb582d469ab9a8bf34e941/kivy/core/window/__init__.py#L1438
On the other hand the 3DRendering example sets a different one to be able to do more.
https://github.com/kivy/kivy/blob/b173ec64c4e48f6905eb582d469ab9a8bf34e941/examples/3Drendering/main.py#L48
I can see how this can be surprising, but i assure you that kivy is very much able to do 3D rotations, it's just not setup to show the result nicely by default.
Hope this helps.
Closing as it's rather a support request than a bug report, but i can reopen if you disagree.


connected the infinite scroll script

Hi, you forgot to include the infinite scroll script in default.hbs

Hey @ravshan01, the libraries in the lib folder are combined into main.min.js file. So the extra include would be unnecessary 🙂

Hey @ravshan01, the libraries in the lib folder are combined into main.min.js file. So the extra include would be unnecessary 🙂


Enhancement - Twitter

We should have the ability to toggle names/images on off on twitter the same way we currently have for linkedin with individual settings

Hey! I'd love to tackle this, but just noting from #2 should I wait until you sort out a better file structure, or is that not in the works anymore?

Hey @bkd705!
I think the restructure is probably a little bit and some talking away, so don't wait on our accord!

Sounds good! I'll give this one a go then!

Closing this as @bkd705 addressed it.

Right! Thanks :D


Save the drama for your llama and also me.

LGTM!

what is an agony aunt?

whats the cost analysis here @QuinnyPig

my bad @QuinnyPig i suggested we determine the impact before merge


feat(arm64-support): add arm64 to goreleaser config

hi there! 👋🏻
I just got my Tidbyt in the mail (yay!) and started playing around. I had to build from source because I'm using an M1 Mac.
I have a bunch of experience with golang, so I decided to see if I could get things updated to fix this issue https://github.com/tidbyt/pixlet/issues/39
This PR is an attempt at that 😄
Notes
This adds arm64 to the list of supported go architectures in the
goreleaser configuration.
It also updates the fetch-artifacts.sh script to copy the linux and
darwin arm64 artifacts. I'm not entirely sure how this fits into the
buildkite CI process, but it seems like it might need to be updated.
I'm able to run the goreleaser command locally and see it generate all
the proper files.
One interesting and important note about building the render module
while running on macos, i did need to set up the CPATH and LIBRARY_PATH
as described here https://github.com/tidbyt/pixlet/issues/39#issuecomment-900727783
fixes #39 (I hope)

Hey @samandmoore, thanks for the PR! I'm investigating how this fits into our CI as well. I think it's going to take some work on our part here.
Currently we're building the final binaries natively, on a Linux amd64 agent and a macOS amd64 agent. So I think we'll have to spin up a macOS arm64 build agent.

Ah gotcha. That's interesting. Ideally you'd be able to use golang cross compilation. Do you know what is preventing that? Is it the linking to the webp library?

Yup, exactly. Since it's a native dependency we can't use cross-compilation (without setting up an entire cross toolchain, anyway).

Update, I'm able to cross-compile Linux amd64 -> Linux arm64, though I've only validated that the produced binary does not execute on an Intel CPU 😄 :
# Install cross compilation tools
sudo apt install -y crossbuild-essential-arm64

# Add arm64 based libewebp-dev package
sudo dpkg --add-architecture arm64
sudo apt update
sudo apt install libwebp-dev:arm64

Then we can run something like this to cross compile with CGO:
CC=aarch64-linux-gnu-gcc CGO_ENABLED=1 GOOS=linux GOARCH=arm64 go build -o pixlet tidbyt.dev/pixlet

./pixlet
zsh: exec format error: ./pixlet

CC=aarch64-linux-gnu-gcc tells system what gcc compiler to use
CGO_ENABLED=1 says even though we're cross-compiling, don't disable CGO since go does that normally
The ARCH and OS are what you would expect

I think we can follow a similar pattern for MacOS and I'm validating that now

Update, I found an arm64 based linux machine to test on and confirmed it can render the hello_world.star!

Good news! I had a chance to look at this again after the holidays and was able to get this to cross compile for M1 as well. I downloaded libwebp-1.2.2-rc1-mac-arm64.tar.gz from here since it was the only version with MacOS ARM support: https://storage.googleapis.com/downloads.webmproject.org/releases/webp/index.html
Then I was able to reference it to build against:
mspicer@americano:~/code/src/tidbyt.dev/pixlet|main ⇒  CGO_CFLAGS="-I/Users/mspicer/Downloads/libwebp-1.2.2-rc1-mac-arm64/include" CGO_LDFLAGS="-L/Users/mspicer/Downloads/libwebp-1.2.2-rc1-mac-arm64/lib" CGO_ENABLED=1 GOOS=darwin GOARCH=arm64 go build -o pixlet tidbyt.dev/pixlet

Again, was only able to confirm it is not able to run on my machine since I don't currently have an M1 to test against:
mspicer@americano:~/code/src/tidbyt.dev/pixlet|main ⇒  ./pixlet
zsh: bad CPU type in executable: ./pixlet

mspicer@americano:~/code/src/tidbyt.dev/pixlet|main ⇒  file pixlet
pixlet: Mach-O 64-bit executable arm64

Alright! I'm ready to land this. I might still need to make some tweaks here. I'm working on getting everything into GitHub actions so that it's all open source in #104

Awesome! Excited to see this coming together!


REST auth: 2.2 vs. 2.1

2.2:

wait 15 seconds
headers

time curl -XGET http://<IP_ADDRESS>:2480/connect/test

Set-Cookie: OSESSIONID=-; Path=/; HttpOnly
Content-Length: 129

{
  "errors": [
    {
      "code": 401,
      "reason": "Unauthorized",
      "content": "401 Unauthorized."
    }
  ]
}
real	0m15.048s
user	0m0.008s
sys	0m0.012s

2.1
time curl -XGET http://<IP_ADDRESS>:2480/connect/test

{
  "errors": [
    {
      "code": 401,
      "reason": "Unauthorized",
      "content": "401 Unauthorized."
    }
  ]
}
real	0m0.027s
user	0m0.016s
sys	0m0.004s

Hi @vovagp
Thank you for reporting, we know about this last-minute issue and we are working to a fix
Thanks
Luigi

Fixed
https://github.com/orientechnologies/orientdb/commit/2ad391a42cfcf22c4cbb4739f65e88524a67c891


Crash on register_property with Resources

When you try to export a property to be accessed in GDscript using register_property it crashes the game if the property happens to be a Resource type (I have encountered this with Path3D, Curve3D, and SurfaceTool).
For example
register_property<ClassName, Ref<SurfaceTool>>("surface_tool", &ClassName::surface_tool, Ref<SurfaceTool>());

I have identified the last argument as the source of the error. No matter the value passed it will crash the game, even if Null is passed.
This is closely connected to issue #156 . The issue there is that in order to use Resources you have to first define the resource and then call .instance() on it. Failing to do so will crash the game when you run it without giving an error. For example
Ref<SurfaceTool> st = Ref<SurfaceTool>();

Will run fine, but will crash if any method of SurfaceTool is called.
But,
Ref<SurfaceTool> st;
st.instance();

works perfectly. This seems to be intended behavior for defining and using Resources in GDNative. However, because of this implementation there is no way to call instance before exporting the property so if you try the game will crash.

So, by overriding _get_property_list I can avoid having to register the resources in _register_methods?

Well I use that for entirely different reasons, just giving it as an example that properties can work with references. Still need to look into why it doesn't seem to work with _register_methods, it should in the same way.


Bluesky website has a left offset on the entire page on desktop browsers

Steps to Reproduce

Open the app
Resize window so it uses mobile layout
Observe an offset on the left

This offset also exists on the desktop view. I can reproduce this on both Firefox and Chrome.
If do html { overflow:hidden }, then this margin also exists on the right side. Seems like it's trying to apply some kind of centering for visible scrollbar, but this isn't good when trying to use small browser window.
Seems to be fixed when adding html { scrollbar-gutter: stable; }, but I don't really understand why.
Attachments

What platform(s) does this occur on?
Web (Desktop)
Device Info
Windows 11
What version of the app are you using?
Build version: 1.94.0; Bundle info: 3c30bb1 (prod); Bundle date: 24111623; Platform: web; Platform version: undefined
Additional Information
No response

Can confirm I am having the same issue
https://github.com/user-attachments/assets/122e07d4-4005-4194-88f9-0ee2bcd97e91
Windows 10, Opera GX, using an ASUS ProArt Portable Monitor vertically

I believe this is an effort to make centering of content more straightforward. Since we have a persistent scrollbar on the right side, the extra space on the left ends up putting the middle content in the center of the screen. This also causes some jumping around of elements when opening modals on web. For example, if you open the post composer to make a new post you can see the sidebars jump left and right slightly as a result of these scroll bars rendering in and out.

The CSS rule responsible for this is:
`scrollbar-gutter: stable both-edges;`

located in these files:
https://github.com/search?q=repo%3Abluesky-social%2Fsocial-app scrollbar-gutter&type=code
I have a userstyle.css loaded in Stylus to "unset" it:
html
{
	scrollbar-color: rgba(155, 155, 155, 0.5) transparent !important;
	scrollbar-gutter: unset !important;
}

... and fix a bunch of other UX choices that I find to be very ugly.


After launching an APK in a headset, the application crashes instantly

After installing a new version of the APK on the Pico Neo 3 headset, when you try to run it, an instant crash occurs. App won't launch at all
Hardware
Headseat: Pico Neo 3
CPU: 11th Gen Intel(R) Core(TM) i9-11900KF @ 3.50GHz
GPU: NVIDIA TITAN X (Pascal) 12gb Driver Version 531.29
Audio: PHL 243V7 (2- NVIDIA High Definition Audio)
Installation
ALVR Version: ver. 21.0.0-dev12+ nightly.2023.06.26
SteamVR Version: 1.25.8
OS Name and Version (winver on Windows or grep PRETTY_NAME /etc/os-release on most Linux distributions):
Edition: Windows 10 Enterprise LTSC
Version 21H2
OS build 19044.2846

https://github.com/alvr-org/ALVR/assets/134388483/ba7459bd-d953-4cad-948a-a0af385833d4

@galister Can you reproduce this issue?

Can the author of the issue confirm, the issue still happens

Hi! Just checked version 21.0.0-dev00+nightly.2023.07.13 APK on Pico Neo 3 . It still close when i try to start app

Could you try running adb logcat then open ALVR and see what it outputs you may need to disconnect the USB right after opening alvr or the log may get lost

2023.07.13 nightly works fine for me on Pico 4, system version 5.6.0

Actually scratch that, I was running the wrong version.
I checked again with local builds.
5ae730c9b1cb9e6efa47ba4dd23133665668b496 won't connect on TCP or UDP due to handshake error (11)
59b981a5df8eb1975d275a663e0a5ac56c634449 (should be Jul 04 nigtly) works fine

HI! Checked on the same version. On Pico Neo 3 it still crashes. I check this version alvr  on Pico 4 does not have this problem.
Logcat form Pico Neo 3 attached below
logcat.txt

@Ruzevi what are your system versions on the Pico 4 and Neo 3?

@galister  pico 4 - 5.6.0  and Pico Neo 3 Pro - PUI 4.8.19

PUI conforms to OpenXR 1.0 starting system version 5.2.0. ALVR won't work with versions below that.

@galister The PUI 4.8.19 version on the Pico Neo 3 Pro is the latest, as stated on their official website. I understand correctly that support for Pico Neo 3 will be discontinued in the next version of Alvr?

No, in fact the regular Pico Neo 3 is at 5.6.3 stable, 5.7.2 beta right now, and works very happily with ALVR. I'm not sure why Pico would discontinue the system updates for the Neo 3 Pro but not the regular Neo 3.
Maybe join here and ask around about the firmware situation.
If you're locked to PUI 4.x then your only choice is ALXR, as it makes use of the older, Pico-specific XR headers.
ALVR only supports standard OpenXR, but headsets that support standard OpenXR will work with minimal maintenance effort, so I don't see the PN3 losing ALVR support.

The Pico Neo 3 can be updated to 5.X, but the Pro version is locked to 4.X. I have the Pro and I can confirm this.

I think you can upgrade the pro to 5.x if you disable the enterprise mode, but don't quote me on that.

Hi,
as described in #1756, I also found the client to immediately crash after installing v20.1.0 on my Quest 2, but I suspect the reason was some kind of conflict with some leftovers from a previously installed ALVR client version since the apk package name had changed. Perhaps you also want to try to explicitly uninstall the old version before (re-)installing v20.1.0?
Cheers!


Feature/3097/duplicate token registration

When a user tries to connect an account that has already been used for another account (or the users own account), have a better error message.
Previously, we were only catching this exception if the current user already had an account linked.
https://github.com/dockstore/dockstore/issues/3097
Ex. Bitbucket message

@denis-yuen Yeah, unfortunately removed a lot of if statements. There was a lot of overlap between endpoints, and we could probably generalize a lot of the code, however I was worried to make too big a change since it is hard to test.


ConversionError: Could not convert DataFrame to Parquet. | After upgrate to 0.16.0

Environment details

OS type and version: Windows 10 x64
Python version: 3.8.5
pip version: 20.2.4
pandas-gbq version: 0.16.0

Steps to reproduce
This code was executed in previous version of pandas-gbq (0.15.0) and was successfully executed.
Code example

import os
import pandas as pd
import pandas_gbq as gbq

table_schema = [{
    "name": "id",
    "type": "INTEGER"
},{
    "name": "nombre",
    "type": "STRING"
},{
    "name": "precio",
    "type": "NUMERIC"
},{
    "name": "fecha",
    "type": "DATE"
}]

data = pd.DataFrame({'id': [123],'nombre': ['Anderson'],'precio': [1.25],'fecha': ['2021-12-12']})

project_id = 'proyecto111'
table_name = 'prueba.clientes'

gbq.to_gbq(data, table_name, project_id, if_exists='append', table_schema = table_schema)

Stack trace
---------------------------------------------------------------------------
ArrowInvalid                              Traceback (most recent call last)
~\anaconda3\lib\site-packages\pandas_gbq\load.py in load_parquet(client, dataframe, destination_table_ref, location, schema)
     74     try:
---> 75         client.load_table_from_dataframe(
     76             dataframe, destination_table_ref, job_config=job_config, location=location,

~\anaconda3\lib\site-packages\google\cloud\bigquery\client.py in load_table_from_dataframe(self, dataframe, destination, num_retries, job_id, job_id_prefix, location, project, job_config, parquet_compression, timeout)
   2650
-> 2651                     _pandas_helpers.dataframe_to_parquet(
   2652                         dataframe,

~\anaconda3\lib\site-packages\google\cloud\bigquery\_pandas_helpers.py in dataframe_to_parquet(dataframe, bq_schema, filepath, parquet_compression, parquet_use_compliant_nested_type)
    585     bq_schema = schema._to_schema_fields(bq_schema)
--> 586     arrow_table = dataframe_to_arrow(dataframe, bq_schema)
    587     pyarrow.parquet.write_table(

~\anaconda3\lib\site-packages\google\cloud\bigquery\_pandas_helpers.py in dataframe_to_arrow(dataframe, bq_schema)
    528         arrow_arrays.append(
--> 529             bq_to_arrow_array(get_column_or_index(dataframe, bq_field.name), bq_field)
    530         )

~\anaconda3\lib\site-packages\google\cloud\bigquery\_pandas_helpers.py in bq_to_arrow_array(series, bq_field)
    289         return pyarrow.StructArray.from_pandas(series, type=arrow_type)
--> 290     return pyarrow.Array.from_pandas(series, type=arrow_type)
    291

~\anaconda3\lib\site-packages\pyarrow\array.pxi in pyarrow.lib.Array.from_pandas()

~\anaconda3\lib\site-packages\pyarrow\array.pxi in pyarrow.lib.array()

~\anaconda3\lib\site-packages\pyarrow\array.pxi in pyarrow.lib._ndarray_to_array()

~\anaconda3\lib\site-packages\pyarrow\error.pxi in pyarrow.lib.check_status()

ArrowInvalid: Got bytestring of length 8 (expected 16)

The above exception was the direct cause of the following exception:

ConversionError                           Traceback (most recent call last)
<ipython-input-5-49cafceeee1e> in <module>
     24 table_name = 'prueba.clientes'
     25
---> 26 gbq.to_gbq(data, table_name, project_id, if_exists='append', table_schema = table_schema)

~\anaconda3\lib\site-packages\pandas_gbq\gbq.py in to_gbq(dataframe, destination_table, project_id, chunksize, reauth, if_exists, auth_local_webserver, table_schema, location, progress_bar, credentials, api_method, verbose, private_key)
   1093         return
   1094
-> 1095     connector.load_data(
   1096         dataframe,
   1097         destination_table_ref,

~\anaconda3\lib\site-packages\pandas_gbq\gbq.py in load_data(self, dataframe, destination_table_ref, chunksize, schema, progress_bar, api_method)
    544
    545         try:
--> 546             chunks = load.load_chunks(
    547                 self.client,
    548                 dataframe,

~\anaconda3\lib\site-packages\pandas_gbq\load.py in load_chunks(client, dataframe, destination_table_ref, chunksize, schema, location, api_method)
    164 ):
    165     if api_method == "load_parquet":
--> 166         load_parquet(client, dataframe, destination_table_ref, location, schema)
    167         # TODO: yield progress depending on result() with timeout
    168         return [0]

~\anaconda3\lib\site-packages\pandas_gbq\load.py in load_parquet(client, dataframe, destination_table_ref, location, schema)
     77         ).result()
     78     except pyarrow.lib.ArrowInvalid as exc:
---> 79         raise exceptions.ConversionError(
     80             "Could not convert DataFrame to Parquet."
     81         ) from exc

ConversionError: Could not convert DataFrame to Parquet.

Thanks for the report! I wonder which data type it's struggling with? Perhaps NUMERIC? Note that floating point values aren't expected for a numeric column, as the whole point of that data type is to act similar to a decimal type in Python.

As a workaround, you can specify api_method='load_csv' to use the 0.15.0 behavior.

There are actually two problems discovered while investigating this issue:

[ ] Can't write floating point to NUMERIC column.
[ ] Can't write string to DATE column.

Hi Tim, as you said, I'm trying to write a float into NUMERIC bq data type. Using the argument api_method="load_csv" works fine for me.
Thank you.

Lowering the priority since there's a workaround of api_method="load_csv".


ETIMEDOUT ETIMEDOUT connect <IP_ADDRESS> 2376

Expected behavior
Actual behavior
Information about the Issue
Steps to reproduce the behavior

...
...

No information provided - Closing


Fixes #587: Improved FFT Normalization Handling in Arithmetic Operations

Which issue(s) are closed by this pull request?
Closes #587
Summary
Improvement on the _match_fft_norm function to support a wider range of arithmetic operations and introduction of a norm_override capability. Changes aim to improve the function's flexibility and its ability to handle exceptions more gracefully.
Changes proposed in this pull request:
Main Changes

Added support for 'multiply', 'divide', 'add', and 'subtract' operations. Previously, the function was limited to handling division implicitly through a boolean flag.
norm_override: Introduced an optional parameter to explicitly set the result normalization, allowing for more control over the function's output regardless of the input norms.
Implemented warnings for invalid norms and unsupported operations, which helps in identifying configuration errors without halting the execution.

Changes to Tests

Adjusted some of the existing unit tests to accommodate the introduction of the operation parameter, reflecting the new method signature and expanded functionality.
Introduced new tests to validate the norm override feature and the correct handling of various operations.
Added tests to verify that warnings are correctly issued for invalid norm inputs and unsupported operations.

Areas for Review

The implementation of the new operation parameter and how it integrates with existing logic.
The handling of the norm_override parameter and its precedence in normalization determination.
Error and warning mechanisms.

Hi, and thanks for the Contribution!  It's a hard to see, what you changed because there are many, many files touched. Can you please revoke the changes in tests/test_plot_data (we only update those, when we change something in the plot module), add pyfar_venv to .gitignore, and revoke all changes that only change the code style (e.g., changing everystring to use " instead of '). I assume the latter might have happened automatically.

thank you for the feedback and sorry for the confusion. I  downloaded the library through pip in my virtual environment then moved the files to my fork, which was obviously a bad decision. Update coming soon.

This was fixed in #606


VSP-22558: Encrypt vault volumes & use launch templates (WIP)

Encrypt Vault servers' root EBS volume as part of VSP-22558.  This also updates Vault servers to be provisioned using launch templates instead of launch configs, which will be deprecated soon (see VSP-23047).
WIP until I apply this in sre/dev

Is this our fork? Have you synced with upstream to pull the latest? Might they have added this there already?
If we intend to submit a PR upstream, we might consider removing DBL-specific links.

Is this our fork? Have you synced with upstream to pull the latest? Might they have added this there already?
If we intend to submit a PR upstream, we might consider removing DBL-specific links.

Yup, this is our fork, off the latest commit of Hashicorp's repo.  I don't intend to submit a PR to the upstream because that repo is no longer supported:

This repository is no longer supported, please consider using this repository for the latest and most supported version for Vault.


Enable compression for Actions logs by default

Close #31801. Follow #31761.
Since there are so many benefits of compression and there are no reports of related issues after weeks, it should be fine to enable compression by default.

Docs: https://gitea.com/gitea/docs/pulls/66


HHH-17948 add Session.findAll(), StatelessSession.getAll()

https://hibernate.atlassian.net/browse/HHH-17948

Minor comment, but looks reasonable otherwise


Controller manager label finalization

We now have a final form for operator controller-manager pod labeling of the format openstack.org/operator-name: <operator name> and are no longer relying on the inconsistent labels created by various operator-sdk versions.  All operators that lack this standardized pattern are being updated.

/test openstack-baremetal-operator-build


DNS resolution failure, but can ping host

What version of gRPC and what language are you using?
Python 2.8 - gRPC 1.25
What operating system (Linux, Windows,...) and version?
Linux
What did you do?
created a grpc.insecure_channel
Try to send a request
What did you expect to see?
getting a response back with status OK
What did you see instead?
UNAVAILABLE
2019-12-06 18:30:37.219771] <_Rendezvous of RPC that terminated with:
status = StatusCode.UNAVAILABLE
details = "DNS resolution failed"
debug_error_string = "{"created":"@1575657037.219589393","description":"Failed to pick subchannel","file":"src/core/ext/filters/client_channel/client_channel.cc","file_line":3934,"referenced_errors":[{"created":"@1575657037.219584798","description":"Resolver transient failure","file":"src/core/ext/filters/client_channel/resolving_lb_policy.cc","file_line":262,"referenced_errors":[{"created":"@1575657037.219562392","description":"DNS resolution failed","file":"src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc","file_line":370,"grpc_status":14,"referenced_errors":[{"created":"@1575657037.219545618","description":"C-ares status is not ARES_SUCCESS: Could not contact DNS servers","file":"src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc","file_line":244}]}]}]}"

Anything else we should know about your project / environment?
The gRPC server runs on Linux (debian 7).
The client run in a Docker container. I started a /bin/bash on the running container and tried to ping the host. It works just fine. So the host is definitely accessible from the running container.

It started working again, so not sure what happened. Sorry for any inconvenience


HSEARCH-3010 Update JBoss Logging to version 3.3.2.Final

https://hibernate.atlassian.net/browse/HSEARCH-3010

Merged, thanks!


Support User-Assigned Managed Identity Auth to Azure SQL

What happened?
We have multiple container apps trying to connect to an Azure SQL Database.  These container apps all use the same user-assigned managed identity (UAMI) and system-assigned managed identity is not enabled. We have permissioned this UAMI in Azure SQL.  When trying to auth into Azure SQL with it (by just omitting a username and password from the connection string as directed in documentation) we get the error message indicated in the relevant log output.
We would expect to be able to authenticate with this credential and access SQL with the UAMI.  This gives us the benefit of not having to add and remove system-assigned managed identities in SQL Security as container apps get added or removed.
Version
0.7.6
What database are you using?
Azure SQL
What hosting model are you using?
Container Apps
Which API approach are you accessing DAB through?
REST, GraphQL
Relevant log output
Azure.DataApiBuilder.Service.Exceptions.DataApiBuilderException: Cannot obtain Schema for entity <EntityName> with underlying database object source: <DatabaseObject> due to: ManagedIdentityCredential authentication failed: Service request failed.

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Thanks for opening this issue. Adding to the backlog.

For future reference when we or another contributor takes this up:

Add runtime config property to capture Managed Identity resource or client id.
Update the DefaultAzureCredential constructor in the QueryExecutor classes to take a DefaultAzureCredentialOptions with either ManagedIdentityResourceId or ManagedIdentityClientId property assigned based on values provided by an additional runtime config property.

Ref: https://learn.microsoft.com/en-us/dotnet/api/azure.identity.defaultazurecredentialoptions?view=azure-dotnet#:~:text=ManagedIdentityClientId,ManagedIdentityClientId should not be configured.

I thought I'd take a look at implementing this as I have the same requirements (UMI, ACA, and DAB):
https://github.com/jarrydpage/data-api-builder/tree/dev/jarrydpage/user-managed-identity
Real simple addition at the moment, adding in an additional runtime property:
{
    "runtime": {
        "identity": {
            "managed-identity": "aaca856b-xxxx-xxxx-xxxx-7296fb9ae9f5"
        }
    }
}

This uses a standard AZURE_CONNECTION_STRING:
Server=tcp:xxx.database.windows.net,1433; Initial Catalog=xxx; Authentication=Active Directory Default;
However, when looking into this, I did come across the documentation for SqlClient which mentions an alternative way to configure this:
https://learn.microsoft.com/en-us/sql/connect/ado-net/sql/azure-active-directory-authentication?view=sql-server-ver16#using-managed-identity-authentication
Server=demo.database.windows.net; Initial Catalog=xxx; Authentication=Active Directory Managed Identity; User Id=ClientIdOfManagedIdentity;
This may be a better alternative than trying to accomodate all potential options, unless there's a change in the behaviour of SqlClient in the future?

@jarrydpage thank you for taking a look at this and writing up a POC! Much appreciated.
Just to make sure I understand, you were able to get UAMI to work without changing DAB code and instead, only needed to provide the managed identity clientID + specific authN type in the connection string?

Authentication=Active Directory Managed Identity; User Id=ClientIdOfManagedIdentity;

@seantleonard yup, that's correct. I was able to successfully connect using the latest version of DAB at the time.

yup, that's correct. I was able to successfully connect using the latest version of DAB at the time.

@jarrydpage @seantleonard - Great find.  I got this to work in one of our test environments too.

@jarrydpage was hoping you'd submit a PR. :) No?

@jerryNixon this would be a docs update to mention setting User Id=ClientIdOfManagedIdentity; in the connecton string. So far, for MSSQL, no code change needed.

Using info provided by @jarrydpage, I have DAB configured in an Azure Container Instance to use a UAMI for Azure SQL. Would be super nice to have this documented. I know it's on the list... :)

https://github.com/MicrosoftDocs/data-api-builder-docs/pull/18

MicrosoftDocs/data-api-builder-docs#18

@JerryNixon , i see @seantleonard updated the docs. Can you check if there is something else that needs to be added here as well or are we good to close it?

This was completed. Pending publishing by docs team. Changes will appear here: https://learn.microsoft.com/en-us/azure/data-api-builder/reference-configuration#azure-sql-and-sql-server


Batch update for the Sync in Library

Problem
We currently sync the data one by one, which could put substantial stressful to the BE if the user has large number of un-sync data.
For instance,

Sync for each TimeEntry
https://github.com/toggl/toggldesktop/blob/4ae584d329e05fa4cae4e332e8b947ff7a04c188/src/context.cc#L4951-L4953
Clients
https://github.com/toggl/toggldesktop/blob/4ae584d329e05fa4cae4e332e8b947ff7a04c188/src/context.cc#L4825-L4827
Projects
https://github.com/toggl/toggldesktop/blob/4ae584d329e05fa4cae4e332e8b947ff7a04c188/src/context.cc#L4869-L4871

Why do we need it?

if all data could be sync in single API, it would be great and reduce significantly to the BE side.

💻 Environment
Platform: Library
Acceptance Criteria

[ ] Collaborate with BE team to create single API for TimeEntry, Project, Client.

There was a single backend to send all the changes in API/v8 but we moved away from it to convert to v9. I even remember we having the functionality to use the single request data sending with larger amounts of data and the one by one logic with a smaller number of changes. I have to look up the commit where we removed this logic.

This is where we remove the last of batch_updates (time entries)
cff123adfbf7a5dd92dc571894337e5f685ea84c
This is where we remove client and project syncing from batch updates
project ac8da150400f2e0f97ced9634e87fe23f21f7d37
client bd5721efbc64a1091afb85439402ec70af45f5e2


ERROR: Could not find a version that satisfies the requirement tensorflow (from nlpia) (from versions: none)

I'm trying to pip install nlpia but it returns this error and I don't know how to solve it.
Any ideas?

We've updated the requirements in setup.cfg so pip install nlpia may now work. But if not, you are likely to have better results with Anaconda, following the instructions in the README.md.


[Snyk] Security upgrade rails from 7.2.2 to <IP_ADDRESS>

Snyk has created this PR to fix 1 vulnerabilities in the rubygems dependencies of this project.
Snyk changed the following file(s):

Gemfile

⚠ Warning
Failed to update the Gemfile.lock, please update manually before merging.

Vulnerabilities that will be fixed with an upgrade:

Issue

Cross-site Scripting (XSS) SNYK-RUBY-ACTIONPACK-8496389

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
Max score is 1000. Note that the real score may have changed since the PR was raised.
This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Cross-site Scripting (XSS)

This PR will resolve this


scrape top stats page for the first player image

just add an image url to the first player of each stat category to match with the pattern "teamId-playerImageId.webp".
depends on:
scraping players 12 and players in teams

Hey @nightmir3  🏄♂
You could use the style guidelines for commits (also title) from the CONTRIBUTING.md file ?
in the titles of the PRs too? 🙏🏻
Thank you!
examples of some commits and titles:


create home screen

-page where you select your difficulty
-buttons for addition, subtraction, multiplication, division
-don't implement any logic, just the necessary toasts and logs to show it is functional
-will lead to problem generation screen(to be implemented later most likely in the next sprint or if there is still time left)

Operation selection screen completed


Check Device Volume

Description
This is a robust package that is already extremely versatile. I wonder if others would also like for it to include the following functionality to prevent adding yet another package to handle the phones volume settings.
Ideally:

get volume
add/remove volume listener
check if phone is in silent mode

Nice to have:

set phone to silent mode
set volume

One package that already claims to support this is react-native-system-setting
Use Case
If an app has features with sounds but the users volume is off, you could then warn them that they might not hear the app's features.

That package you linked looks like it is doing a good job of it, I wouldn't want to include the functionality here unless there was some coordination with the maintainer there to actually move it here and help support. Adding new code is not easy, supporting it forever is hard. it needs maintainer-power, not code, in other words. And it looks like it has maintainer-power already, over there
If you can coordinate a merge of features, I'm open to that but I don't have time to pursue it at the moment personally

+1 for this feature, with check device's silent or mute state of the setting.

It seems like you haven't addressed my comment. A reopen doesn't seem to make sense. But I never close comments unless people are behaving badly, so they are open for collaboration, sure.

@mikehardy I see your argument for the other package already doing this, and that's a fair point. It might hurt the smaller library and it does do the job currently.
On the other hand, I'd love to not have to use a different dependency for everything, I think we can both agree that react native apps typically already have way too many dependencies.
Imagine if I had to pull in a package for every single system sensor or setting that this package provided 😅
Whatever you do decide is your decision obviously as maintainer, I just wanted to offer a different perspective.

I hear you but that still doesn't move it forward, I don't actually have to do anything, it's up to a motivated person to coordinate a merge if they want, through diplomacy with the other package and a commitment for maintenance
Open source isn't free code, it's a free puppy 😅, this needs effort, not words in comment boxes. This isn't a use case of mine so I have no personal interest and won't invest in it.  I'm not obstructive or anything though, I would be happy to collaborate and we always need more maintainers, happy to share out authority in the repo

Thanks for the update.

Open source isn't free code, it's a free puppy 😅, this needs effort, not words in comment boxes. This isn't a use case of mine so I have no personal interest and won't invest in it. I'm not obstructive or anything though, I would be happy to collaborate and we always need more maintainers, happy to share out authority in the repo

I want to add that I was in no way implying that you'd have to be the one to implement or maintain this by yourself. I understand open source (and the work that comes with it) very well. My personal need for this feature is not high enough, but a maintainer can decide if a feature will be added when people submit a PR or not, this was my point I was trying to make, to at least consider it if someone was willing to put up the work for it (and effectively maintain it).


forge: new unified e2e testing framework

/land

:clipboard: Looks like this PR is still in progress, unable to queue for landing

/land


⚠ Bofrost.be has degraded performance

In 9a0621e, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1192 ms

Resolved: Bofrost.be performance has improved in d9dc769 after 303 days, 15 hours, 58 minutes.


Andstatus crash while opening

Hi,
I have a Xperia Z3 (model D6603) with KK 4.4.4, i installed this morning the app but when i tried to open, it crashed. I have tried to open connected to wifi and LTE and, in both cases, i sent a report through Android.

Thank you for the Crash Report sent to Google Play.
I fixed this bug more than two weeks ago but got only one report that time, so didn't hurry :-)
Now I see that it is quite critical,  so releasing an updated application today...
Java.lang.NullPointerException
at org.andstatus.app.TimelineActivity.prepareDrawer(TimelineActivity.java:476)
at

Great! Thanks!!

The fix is released in v.14.1
Please don't forget to update your review at Google Play!

Done. Thanks!!
El 21/01/2015 22:36, "Yuri Volkov"<EMAIL_ADDRESS>escribió:

The fix is released in v.14.1
Please don't forget to update your review at Google Play!
—
Reply to this email directly or view it on GitHub
https://github.com/andstatus/andstatus/issues/215#issuecomment-70926557.


Add #escape to allow clients to escape special characters

I ran into an issue trying to make a link that contained the < character.
notifier.ping "Write to [User <user@example.com>](mailto:user@example.com)"
# Message posted to Slack:
# Write to<EMAIL_ADDRESS><EMAIL_ADDRESS>
The Slack docs mention escaping < > and &, but not " and ' so the ERB::Utils.html_escape doesn't work since it escapes quotes so you end up with ' in your messages.
I suggest adding a Slack-specific Notifier#escape method that clients can use if they need.
I added a test, a section to the readme and a line to the changelog.

Look great! Thanks

Sorry, just thought about a potential edge case -- if a string already has some escaped special characters, this will escape the leading &. You have any thoughts on if we should check for escaped &<> and not touch them?

I'd err on the side of keeping things simple and predictable as this is an optional method that gem users can use if they choose to. If somebody knows that their strings are already escaped, they can avoid using Notifier#escape
Compare HTML_ESCAPE_REGEXP and HTML_ESCAPE_ONCE_REGEXP from ERB::Utils. I'd rather keep the simple regexp.

That's where I like 'em too. Sounds good.

Thanks Steve!


Changes in coverage diff Sun Dec  6 19:44:58 UTC 2020

"codename": "[sig-api-machinery] ResourceQuota should be able to update and delete ResourceQuota. [Conformance]", was moved from 1.9 to 1.16.
Movement of one endpoint to the new release. The overall cover stays the same.


Fail build if annotations aren't present

It could be interesting to implement some level of class name parsing (look for the word Servlet by example) and if a given class containing a specified keyword isn't annotated, the build would fail.
This would provide similar functionality to the javadocs plugin that can fail a maven build if your methods aren't clearly annotated.

This is difficult to do and may be a little hacky. We should see what the customers needs are in relation to this.
We have some options here:

Add package names or method naming conventions in a config file.
Add a field to the class-level annotation for force method-level annotation


Using OpenGL ES instead of OpenGL Desktop in Yocto Distro

Hi,
A colleague of mine is working with low level OpenGL libraries in order to change some of the display behavior on Jetson Xavier NX. Qt apps are being compiled with the following libraries:
LIBS          = $(SUBLIBS) -lEGL -lGLESv2 /opt/poky/3.2+snapshot/sysroots/armv8a-poky-linux/usr/lib/libQt5Quick.so /opt/poky/3.2+snapshot/sysroots/armv8a-poky-linux/usr/lib/libQt5OpenGL.so /opt/poky/3.2+snapshot/sysroots/armv8a-poky-linux/usr/lib/libQt5Widgets.so /opt/poky/3.2+snapshot/sysroots/armv8a-poky-linux/usr/lib/libQt5Gui.so /opt/poky/3.2+snapshot/sysroots/armv8a-poky-linux/usr/lib/libQt5QmlModels.so /opt/poky/3.2+snapshot/sysroots/armv8a-poky-linux/usr/lib/libQt5Qml.so /opt/poky/3.2+snapshot/sysroots/armv8a-poky-linux/usr/lib/libQt5Network.so /opt/poky/3.2+snapshot/sysroots/armv8a-poky-linux/usr/lib/libQt5Core.so -lGL -lpthread
Here, final -lGL library is added automatically, we believe it is because of the Qt configuration. When we look at the config.summary, we see that the desktop OpenGL is used.
OpenGL:
    Desktop OpenGL ....................... yes
    OpenGL ES 2.0 ........................ no
    OpenGL ES 3.0 ........................ no
    OpenGL ES 3.1 ........................ no
    OpenGL ES 3.2 ........................ no

Is there a way to switch to Open GL ES 3.2 in a proper way using Yocto distro?, e.g. using PACKAGECONFIG and DISTRO_FEATURES variables. Something like;
DISTRO_FEATURES_remove = "x11 wayland"
PACKAGECONFIG_qtbase_remove = "gl"

Any help is appreciated.

I am using Qt with OpenGL ES, but it has been quite some time since configuring it. Try adding gles2 to DISTRO_FEATURES, and eglfs gles2 to PACKAGECONFIG_qtbase, and see if this gets the configuration set up better.


ARROW-7177: [Java] Provide a utility to improve the performance of vector loading/unloading

Vector loading/unloading transforms a set of vectors to and from a set of buffers with meta data. It is heavily used in flight/IPC.
In the loading/unloading operations, only the number of type buffers are really needed. However, the current code logic gets a copy of the type buffers, which is not necessary.
In this issue, we provide a utility to get the number of type buffers, given an arrow type. It improves the performance by

avoiding creating objects unnecessarily.
avoiding list copying for vector unloading (which calls TypeLayout#getBufferTypes).

If I understand correctly, the original code was not copying any data, but copying (potentially) many objects describing the layout of the buffers?
Are there benchmark results for this change? (I haven't quite kept up with the new benchmark infrastructure...) I'd be curious if this makes a noticeable difference compared to the cost of actually reading/writing data in IPC or Flight.

@liyafan82 , do you have any numbers demonstrating the improvement in performance?

@lidavidm @siddharthteotia Thanks a lot for your comments.
I have provided a simple benchmark to evaluate the performance for vector unloading, because the performance improvement is greater for vector unloading. The results show only trivial performance improvement:
Before:
VectorUnloaderBenchmark.unloadBenchmark  avgt    5  731.253 ± 32.402  us/op
After:
VectorUnloaderBenchmark.unloadBenchmark  avgt    5  719.044 ± 12.481  us/op
Further investigations show the reason is that most time (more than 95%) is spent in creating the ArrowRecordBatch object. I think that problem deserves a separate issue. What do you think?

If I understand correctly, the original code was not copying any data, but copying (potentially) many objects describing the layout of the buffers?

You are right. In the old implementation, it creates a new list, and copy each element of the buffer object to the new list. So only shallow copy is performed.

For such a small performance improvement, I'm not sure this is worth it - in fact, the two distributions overlap! If indeed the vast majority of the time is in ArrowRecordBatch's constructor, it'd probably be better to focus efforts there.

For such a small performance improvement, I'm not sure this is worth it - in fact, the two distributions overlap! If indeed the vast majority of the time is in ArrowRecordBatch's constructor, it'd probably be better to focus efforts there.

@lidavidm Thanks for your valuable feedback, and sorry for my late response.
After investigation, we have found the reason for the long running time of creating a ArrowRecordBatch.
Briefly speaking, we have turned on the BaseAllocator#DEBUG flag by accident, so HistoricalLog#recordEvent is invoked every time the Reference#retain method is called.
HistoricalLog#recordEvent is an expensive operation, and only used for debugging purpose. So we have disabled this operation in our benchmark.
The new performance evaluation shows a 30+% performance improvement:
after:
VectorUnloaderBenchmark.unloadBenchmark  avgt    5  1.668 ± 0.152  us/op
before:
VectorUnloaderBenchmark.unloadBenchmark  avgt    5  2.513 ± 0.462  us/op

Ah, thank you for investigating further. I think that makes the improvement more reasonable, but I'd be curious what effect it has on the overall runtime of reading a stream (via Flight or otherwise).
Additionally, given that it's common in Flight to unload and then immediately load a batch, I wonder if the benchmark of the two operations together shows noticeable improvement.

Ah, thank you for investigating further. I think that makes the improvement more reasonable, but I'd be curious what effect it has on the overall runtime of reading a stream (via Flight or otherwise).
Additionally, given that it's common in Flight to unload and then immediately load a batch, I wonder if the benchmark of the two operations together shows noticeable improvement.

Sure. I am also interested in the result. However, maybe the improvement is not that great, as this change only improves a small part of the overall process.
I will conduct more experiments later, and post the results here.

Ah, thank you for investigating further. I think that makes the improvement more reasonable, but I'd be curious what effect it has on the overall runtime of reading a stream (via Flight or otherwise).
Additionally, given that it's common in Flight to unload and then immediately load a batch, I wonder if the benchmark of the two operations together shows noticeable improvement.

@lidavidm Sorry for my late response.
I have added a benchmark for vector loading. The performance improvement is about 8%, not as great as the improvement for vector unloading:
after
VectorLoaderBenchmark.loadBenchmark  avgt    5  4.418 ± 0.354  us/op
before
VectorLoaderBenchmark.loadBenchmark  avgt    5  4.800 ± 0.452  us/op
This is because, the origin implementation of vector loading does not involve the overhead of creating/copying type list (it was based on TypeLayout#getTypeLayout).
So we have the following overall results:

Benchmark
Before (us)
After (us)
Improvement

Unloading
2.513
1.668
33.6%

Loading
4.800
4.418
8.0%

Unloading + loading
7.313
6.106
16.5%

I also evaluated the performance by TestPerf tool in flight module. The evaluation method is: run one round of warmup, and take the best of consecutive two runs.
Before:
Average throughput: 1253.360341 MiB/s, standard deviation: 120.045803 MiB/s
After:
Average throughput: 1272.005214 MiB/s, standard deviation: 164.509097 MiB/s
However, I don't think the result is as reliable as the result obtained from JMH, as results of different runs may vary significantly.

@liyafan82 sorry for the delay. The improvement looks reasonable, but I'm not convinced that it makes a difference outside the microbenchmarks. (Maybe plain IPC is a better way to test this, instead of using Flight which has to hit the network?)

@lidavidm Thanks for your valuable feedback. I agree with you that the performance results may be different in real scenarios, as our microbenchmarks only evaluate the performance of serialization/deserialization for vectors, which is only part of the whole process.
As you have indicated, the results of Flight may distort the results, due to the network cost. There are other ways of IPC (e.g. shared memory, pipe, etc.). However, there also some extra cost (e.g. memory copy, system calls, etc.). Do you have any target scenario to support in mind?

Perhaps just repeatedly loading/writing the same data from/to an in-memory buffer would be enough - that way we include IPC protocol cost but not a file/network/domain socket.
(To be clear: I'm OK with the PR as-is, though I worry a little about keeping the visitor in sync with future changes.)

Perhaps just repeatedly loading/writing the same data from/to an in-memory buffer would be enough - that way we include IPC protocol cost but not a file/network/domain socket.
(To be clear: I'm OK with the PR as-is, though I worry a little about keeping the visitor in sync with future changes - though there is the unit test.)

Thanks for your additional feedback. You concern makes sense to me, and we should be mindful of the related future changes.

Perhaps someone more familiar with Java internals can take a look too?

@siddharthteotia Would you please take another look?

LGTM -- although I do feel this change may have a little impact on the overall pipeline of reading/writing via Flight as this may not necessarily be the bottleneck. So I feel it is unlikely to move the needle significantly in such cases.
Having said that, I am okay with merging the PR. @liyafan82 , please update the PR description since it is misleading and indicating that current code was doing some sort of memcpy whereas a list is created with objects  (buffers) whereas we only need the number of buffers

LGTM -- although I do feel this change may have a little impact on the overall pipeline of reading/writing via Flight as this may not necessarily be the bottleneck. So I feel it is unlikely to move the needle significantly in such cases.
Having said that, I am okay with merging the PR. @liyafan82 , please update the PR description since it is misleading and indicating that current code was doing some sort of memcpy whereas a list is created with objects (buffers) whereas we only need the number of buffers

@siddharthdave Thanks a lot for your comments.
I agree with you that the impact of this change may be small, because we only improve the performance of serializing/deserializing the record batches. In practice, the real bottleneck is likely to be transferring the payload (through network, for example)
I am sorry the description is confusing. I have updated it to make it clearer, please see if it looks good.


Support 3.3+?

First off this is an amazing tool. Thank you for creating it. I was wondering if you have any plans to support Sketch 3.3? Thanks!

Thanks. I'm glad you've found it useful.
I do plan to update to the new bundle format eventually, but for now the plugin is still working for me in 3.3.2. Is it not working for you? If not, what versions of Sketch, Skala Preview and the plugin are you using?

Awesome. I guess I might be having an issue with the WIFI connection
then... but just incase it is the plugin I'm using:
Skala Preview 1.6.0
Sketch 3.3.2
For the plugin I use Sketch Toolbox so it should be up-to-date
On Tue, May 12, 2015 at 9:48 AM, Marc Schwieterman<EMAIL_ADDRESS>
wrote:

Thanks. I'm glad you've found it useful.
I do plan to update to the new bundle format eventually, but for now the
plugin is still working for me in 3.3.2. Is it not working for you? If not,
what versions of Sketch, Skala Preview and the plugin are you using?
--
Reply to this email directly or view it on GitHub
https://github.com/marcisme/sketch-preview/issues/21#issuecomment-101345502
.

That should all work then. Is the file not opening in Skala Preview at all, or is it not showing up on your device? It might also be helpful to check for log messages in Console.app.

Just wondering @marcisme. Did you manage to fix the problem? I'm actually having the same problem. I select the page, but nothing happens. I took a look at the console.app, but I have no idea about what's happening. Thanks.

@ederdesign Do you have an artboard selected? Also I've noticed that Sketch seems to need to be restarted after installation now before the keyboard shortcut works.

I can't use it with 3.3.2, it doesn't load the preview on my machine, thus the phone doesn't know Skala Preview is running. I get the following message:

Also got a couple of warnings on the console, in case it's useful. No idea what all that means :)
30/05/2015 16:53:50.508 Sketch[7314]: Deprecation Warning in : /Users/alexlillo/Library/Application Support/com.bohemiancoding.sketch3/Plugins/SketchPreview/lib/common.js, line 21 «Plugin Developer»
30/05/2015 16:53:50.509 Sketch[7314]: Deprecation Warning in : /Users/alexlillo/Library/Application Support/com.bohemiancoding.sketch3/Plugins/SketchPreview/Preview.sketchplugin, line 23 «Plugin Developer»
30/05/2015 16:53:50.509 Sketch[7314]: Warning: #import syntax for CocoaScript is deprecated. Please update your script to use @import instead. «Plugin Developer»

@Nordicdesign Thanks for reporting this. Can you set the DEBUG variable to true in SketchPreview/lib/common.js, and post the output here?

@Nordicdesign Did you happen to rename Skala Preview to something else?

I updated the plugin to v0.8.0 today, and it is now using the new bundle format. I also moved the debug logging into the setup plugin, so turning that on no longer requires editing a file. Give the new version a try, and let me know if it's still not working for you.

Still nothing I'm afraid.
I've deleted the plugin and installed it again, just in case. The funny
thing is that the setup screen works.
I tried with a brand new file, and still nothing. Also disabled the
firewall just in case.
This is what I got on the console app, in case it helps.
Thanks
On Sun, 31 May 2015 at 02:43 Marc Schwieterman<EMAIL_ADDRESS>wrote:

I updated the plugin to v0.8.0 today, and it is now using the new bundle
format. I also moved the debug logging into the setup plugin, so turning
that on no longer requires editing a file. Give the new version a try, and
let me know if it's still not working for you.
—
Reply to this email directly or view it on GitHub
https://github.com/marcisme/sketch-preview/issues/21#issuecomment-107106632
.

Does Skala Preview work on its own? For example, if you drag and drop an image onto its dock icon, does that image show up in the main application window?
Are you using the direct download version of Sketch? (I'd guess so based on the preview image path.) I'll see if I can reproduce with the demo version.

Ok you can close it now. This SO terribly embarrassing that I'd prefer not to say why it wasn't working but... here you go:
I didn't have Skala Preview installed in this machine.
Stupid, I now. I did a fresh install some days ago, and what I remembered was the sketch plugin, not the app itself. So I installed the plugin and thought that it was enough, and went to install all the other software.
Anyway, really sorry about this, and thanks for the help :S  You can have a laugh on me. :)

Believe me, stuff like that happens to all of us. ;) I'm glad it's working for you now.


Refactor TOC and content area interaction and layout

Description
The following changes are implemented by this PR, since IMO they are part of the same UI

On navigation, scroll to to target or beginning of page.
Change TOC to be sticky instead of top aligned and has vertical scroll that is independent of content.
Change minimum height of content are to height of the browser window.
When TOC node is clicked, expand the node.

Motivation and Context

Current functionality where we don't scroll to the target or beginning of page is bad usability.
Users should be able to use the TOC and main content area separate from each other. For example, user should be able to read and scoll the main content are and the TOC should not move.
Users expect TOC node to expand when the node link is clicked.

When we just to beginning of page, now the code scrolls to the top of content area and the header is not visible. Should we scroll the beginning of the whole page and show the header? IMO the header is not important when you read and navigate in the docs, but I can understand why showing the header would make it clearer that we are on the top of the page.

Should we scroll the beginning of the whole page and show the header?

While there's an argument to be made for maximizing the viewable content while reading the docs, the header also provides valuable context like the version banner, Edit button and Search field, so I'd be inclined to keep it in view when selecting new topics in the ToC.

While there's an argument to be made for maximizing the viewable content while reading the docs, the header also provides valuable context like the version banner, Edit button and Search field, so I'd be inclined to keep it in view when selecting new topics in the ToC.

IMO the edit button and version banner are not important while reading the docs that you can't add that one scroll to see them. The search field is another case, that might be useful to be in view all the time. However, the current deployed search works so that when you click on a search result, the page navigates to h1 and the header is no longer visible. So in that sense the search is actually more consistent with the PR navigation behavior.

I saw a few odd cases on long pages with fully expanded ToC where the navigation was cut off at top and bottom, but I'm not sure there's any way to avoid that, so it's probably a worthwhile tradeoff.

This is by design. I checked whether we could have a fade-out in the top and bottom when content flows off view, but IMO it didn't look that much better. Also, comparing to multiple different documentation sites with a similar sidebar TOC, this cut off style is not uncommon.

For example, expanding additional ToC nodes on Checking the version currently pushes the footer down to create space for the new ToC nodes, but with the new code, doing so clips the bottom of the ToC so the additional nodes disappear "behind" the footer, rather than pushing it down.

Again by design. But even in the current one, if you expand TOC nodes, they are hidden from the view. The only difference is which block grows: the main block or just the TOC block.

Fixed the main and download page layout.
(Noticed that e.g. https://www.typescriptlang.org/docs/handbook/iterators-and-generators.html seems to have the same approach to layout as we do in that the header is not visible unless you scroll up to it.)

TOC fixed on small screens.


Set the window icon with sdl2

這主要新增可以設定 window 的 icon，以下是範例。

Do i need to push again ?

i don't know why it's not pass in macOS

i have triggered a re-run for macos workflow

MR


Any hook to set content-disposition in wagtail?

I want to serve some pdfs and I want them to be opened in the browser by default. I know in django development response['content-disposition'] does this trick, and I wonder if there is a hook in wagtail that has the same effect.

Theres a PR that makes Wagtail set this header automatically here: https://github.com/torchbox/wagtail/pull/733
Would this solve your issue?

yeah, I hope it will soon be merged into master branch

Hellu,
the linked issue #733 actually never got resolved in that respect (opening PDFs with content disposition "inline").
So bump - can we reopen this issue?
Thanks

This is in the list of things to be addressed by #1420 - however, since the scope of that issue is quite a bit larger, and we'd welcome a PR that deals with content-disposition specifically, I'll reopen.

Just wanted to share my solution for a workaround.
https://github.com/ProjectTIER/projecttier.org/blob/cb402b0102cdcb830e24341f15615e74814fb8fd/project_tier/urls.py#L14
https://github.com/ProjectTIER/projecttier.org/blob/cb402b0102cdcb830e24341f15615e74814fb8fd/project_tier/core/views.py#L1-L22
Therefore, visiting /document/view/<mydoc> will make the document viewable rather than downloaded.
It's pretty simple. It just calls the normal document view function in Wagtail to get the response, then alters the content-disposition of that response before returning it.

I'm wondering why inline isn't the default here?
This seems to be the spec's default (from MDN web docs).
@gasman are you still open to a PR on this?
What would be the way to go? A settings? A hook?
Thanks 😉

@johnraz Yes, a PR for this would be very welcome, thanks! The approach I'd suggest would be:

Add a setting named something like WAGTAILDOCS_INLINE_CONTENT_TYPES, defaulting to the list ['application/pdf']
Define two new properties on the AbstractDocument model:

content_type, which returns the MIME type for the document as determined by mimetypes.guess_type
content_disposition, which returns 'inline' or 'attachment' depending on whether content_type is found in WAGTAILDOCS_INLINE_CONTENT_TYPES

Update the wagtail.documents.views.serve view to use these properties when generating HTTP headers

This way, we'll be doing the right thing out of the box for the majority of users (I think most people just want PDFs to display inline); people who want to recognise additional content types have an easy setting to do that; and people with more complex requirements can use a custom Document model and override those methods.

See also https://github.com/wagtail/wagtail/issues/1420#issuecomment-524561077, where @Pomax proposes a WAGTAIL_DOCUMENT_CONTENT_TYPES mapping in settings to take priority over the mimetypes.guess_type result.

PR: https://github.com/wagtail/wagtail/pull/6229


export

Exporting notes should be allowed!

Hello, I can try this. I was thinking exporting content to a password protected file. What do you say? Lets discuss

How would you do that?

there are libraries to do this or we could brainstorm something

Nah, I would like to hear the entire process of how you would do it. This makes sure that you don't end up doing anything that is not planned.

I will draft a plan tomorrow
Sarthak Sharma
sarthaksh.netlify.app
Sent from Proton Mail Android
-------- Original Message --------
On 12/28/24 19:25, Harsh Shrikant Bhat  wrote:

Nah, I would like to hear the entire process of how you would do it. This makes sure that you don't end up doing anything that is not planned.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

Sure no rush


To add to the documentation for OAuth 2.0 Authentication

Where is the problem?
https://docs.konghq.com/hub/kong-inc/oauth2/
What happened?
I dont see documentation of various ways of calling "/oauth2/token" call for client_credentials flow.
What did you expect to happen?
In Client credentials flow, there is a provision to make "oauth2/token" call by passing the client ID, client secret and grant_type as query param or a JSON body along with usual way of sending it in URL-encoded way.
Code of Conduct and Community Expectations

[X] I agree to follow this project's Code of Conduct
[X] I agree to abide by the Community Expectations

I would like to fix it. Can you please let me know which repository I need to fork and create pull request?

Current Documentation :
There are no examples under client credentials flow to the various ways of how we can call the "/oauth2/token" to get the access_token when Kong acts as an IDP.
Expected Documentation :
Below are the various ways we can consume "/oauth2/token" endpoint the retrieve the access_token.

Content-Type set to application/x-www-form-urlencoded and sending the credentials as a form data in a POST call.

curl --location --request POST 'https://XXXX/v1/oauthprovider/oauth2/token' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'client_id=XXXX' \ --data-urlencode 'client_secret=XXXX' \ --data-urlencode 'grant_type=client_credentials'

Content-Type set to application/json and sending the credentials as a JSON body in a POST call.

curl --location --request POST 'https://XXXX/v1/oauthprovider/oauth2/token' \ --header 'Content-Type: application/json' \ --data-raw '{     "client_id": "XXXXX",     "client_secret": "XXXX",     "grant_type": "client_credentials" }'

Sending the credentials in URL query param in a POST call.

curl --location --request POST 'https://XXXX/v1/oauthprovider/oauth2/token?client_id=XXXX&client_secret=XXXX&grant_type=client_credentials'


Adding support for Android app deep linking

A new property can be added to the URLs, called androidLink, where users can specify the deep linking for Android apps

@markelarizaga I think you should take the changes to the ´package.json´ out of your pull request.

Hey @markelarizaga
First of all: thanks for the patch!
In addition to the @rauberdaniel 's request, please add some tests.
Thanks!

You both are right. I created a different branch on our fork so now I have to create a new Pull Request with that new branch.
It has the packacge.json without our modifications and also a new test for the Android links. Hope the apporach I took on the tests is correct and enough. If not, don't hesitate to ask me more changes. Let's move the conversation to pull request #73
BTW, great work!


Update dynamodb to 2.16.66

Updates software.amazon.awssdk:dynamodb from 2.16.65 to 2.16.66.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk", artifactId = "dynamodb" } ]

labels: library-update, semver-patch

Superseded by #130.


Detect Phx project structure used in Phoenix 1.3

We currently detect a Phx project structure by recognizing a folder hierarchy of  lib/app_name/web (used in 1.3 pre-release). The release version of Phoenix 1.3 uses lib/app_name_web. This change is causing Phx-related tests to fail.

@smpallen99 I removed the pre-release detection. This change makes the tests pass, but we're still targeting and testing against the pre-release lib/app_name/web structure. I opened #90 for this.


GET /api/v1/imports request being done quite often from js code

The request for checking the imports status is being done quite often, hitting rails and consuming resources. It can be changed to use an exponential backoff or similar (e.g: checking if an import finished at 2, 4, 8, 16,... rather than at fixed intervals)
This can be part of the new dashboard.

Already done in new dashboard :D.


Please add latex support.

Cheat.sh is awesome, but it's regret that it doesn't support Latex. Although Latex is a markup language, Latex has many boilerplate codes. Sometimes find and copy these boilerplate codes from the internet is very tedious. Please add latex support.
I am looking forward to this feature.

@zhenlingcn You mean: Latex support as a programming language, to make queries about,
or Latex as an output format? Because both is feasible and both options make sense

@chubin I think it would be great to be able to pass to cht.sh's curl or params the ability to have a latex file be created for a document/cheat sheet.  However, how would that be done?  Marked up in latex format for the requestor to be responsible for compiling or would you, hosting cht.sh be able to compile and host them as a temp file?
On the subject of Latex as a language to make queries about, I can go over to cheat.sheets and make a PR there if that's ok?

I took some initiative and made a directory _latex and a "basics" page over on cheat.sheets - you can see the PR here.

@chubin Actually, according the console services concept, you are always querying the same information, and you can chose by other means (first of all by the HTTP header) what format this information should have (i.e. HTML, ANSI, PNG, PDF, JSON, or in this context, Latex).
Cheat.sh does not support PNG currently, it support only HTML and ANSI (selected by the User-Agent header), but other services, i.e. wttr.in do, and there PNG format can be forced with the file extension:
wget https://wttr.in/Berlin.png

will show the same as curl wttr.in/Berlin with the only difference that the output is formatted as PNG.
So here we could implement something like that.
Say if you do:
curl -H "Accept: application/latex" https://cht.sh/python/create+empty+file

You will get the output, formatted as Latex, and so you can embed it into your bigger cheat sheet or somewhere else (of course, you can automatize your queries). And if you request a PDF, then you will get a PDF file.
It could be even possible to make a generated on the fly "cookbook" book a-la O'Reilly Cookbook Series Books.
(just a second, I will take a look at your PR, and merge it; probably we need a small guide, how programming language could be added, and what files should be edited for that)

@chubin Solid idea man -  it would be interesting to be able to generate an "offline" cookbook style series by chaining the requests together.
How do you think the latex could/would/should be formatted?  I imagine a solid standard style that encapsulates the page's content in a code block without having to worry too much about escaping/de-tainting the content of the requested cheat sheet.  See also: https://www.xkcd.com/327/  on a smaller scale, of course. ;)
Thanks for the PR merge!

@zhenlingcn Initial LaTeX supported added. Please test.
$ curl cht.sh/latex/:learn
% ...
$ curl cht.sh/latex/rosetta/:list
%...
$ curl cht.sh/latex/emoji+in+text?Q
% Compile with xelatex or lualatex and DejaVu Sans installed on your system.
\documentclass{article}
\usepackage{fontspec}
\newfontfamily\DejaSans{DejaVu Sans}

\begin{document}
Some emoticons from Unicode:

{\DejaSans ☺😐☹😁😂😃😇😉😈😋😍😱} and even cats: {\DejaSans 😺}!
\end{document}

@sullivant
Thomas, for future, how to add initial support for a new language/topic:

Add language lexer, for the language (in lib/languages_data.py)
If it has a different name in Vim (in  lib/languages_data.py)
If it is covered by Learn-X-in-Y, add a adapter class for the language (in lib/adapter/learnxiny.py)
Add language to the list of supported languages (in README.md)
Add the language section to https://github.com/chubin/cheat.sheets The section must be called _language and it must contain _info.yaml in it

See:

https://github.com/chubin/cheat.sh/commit/d6364fa66584afdfdda7dcbe18ed05b27a96264a
https://github.com/chubin/cheat.sh/commit/3f5084e8c04674ac276defc5ec72c45705689fbb
https://github.com/chubin/cheat.sheets/commit/cdea744f8edf09041aad900bc66110502f2df695

In future, the 1-4 steps will be not necessary, and all data about the language will be configured
via _info.yaml. In our case it would look like:
lexer: TexLexer
learnxiny: latex
rosetta: LaTeX
stackoverflow: latex
vim: tex
wikipedia: LaTeX

Regarding LaTeX format output, probably it would look like text with code blocks,
something like:
Some text before

\begin{frame}[fragile]
\frametitle{Inserting source code without setting typewriter}
\lstset{language=C++,
                keywordstyle=\color{blue},
                stringstyle=\color{red},
                commentstyle=\color{green},
                morecomment=[l][\color{magenta}]{\#}
}
\begin{lstlisting}
    #include<stdio.h>
    #include<iostream>
    // A comment
    int main(void)
    {
    printf("Hello World\n");
    return 0;
    }
\end{lstlisting}
\end{frame}
\end{document}

Some text after

% Author / License / Link

Something like that.
We also could publish some scripts that would generate cheat sheets / books
based on some input (for example, list of the questions grouped in some way).

Fantastic.  Thanks for the detail!


CurrentAccessToken null after a successful login followed by an app restart (<IP_ADDRESS>)

Hi guys
after updating this component to last available <IP_ADDRESS> in Xamarin components portal we started to have an issue with AccessToken.CurrentAccessToken. It returns null after a successful login followed by an app restart.
Of course that we do have all things that fb tell us to do
public override bool FinishedLaunching
...
Profile.EnableUpdatesOnAccessTokenChange(true);
Settings.AppID = FacebookAppId;
Settings.DisplayName = DisplayName;
return ApplicationDelegate.SharedInstance.FinishedLaunching(app, options);
This seems to be related to permissions or so. Any guess?
cheers
Manuel

Are you still facing this issue?

no response since november


v0.3.0

Codecov Report

Merging #2437 (c6fa60a) into main (fd25afb) will not change coverage.
Report is 6 commits behind head on main.
The diff coverage is n/a.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2437   +/-   ##
=======================================
  Coverage   65.87%   65.87%
=======================================
  Files         133      133
  Lines       16866    16866
=======================================
  Hits        11111    11111
  Misses       5755     5755

Hey @utam0k , I'll approve this PR, but before merge, can you check and merge https://github.com/containers/youki/pull/2438 ? It contains a simple bugfix for #2433 , would be nice if it also gets released along with this.


[FEATURE] Cascad delete for WINTER tables

Is your feature request related to a problem? Please describe.
I'm always frustrated when I cannot delete entries in the winter database easily.
Describe the solution you'd like
We should define foreign keys with cascade delete option, so deleting orphan entries is easier.

I think this is fixed, we can do cascade delete already


Chart fill mode 'stack' - negative values

Expected behavior
When using fill mode stack (fill: 'stack') I expect:

All lines to be stacked on top of each other, even if some data points or data sets are negative
Areas under lines to be stacked, even if some data points or data sets are negative
Stacks to have the area end at 'origin' - or at least an option to enable it

Current behavior
Currently the top of the stacks does not represent the sum of the values, if some dataset values are negative. The areas under the datasets look strange. There is no (?) Option to have stacking and have the area under the lines end at origin.

Figure 1: Stacking of total values, sum of these data points should be 20. The peak of the stacked values end up at 25.

Figure 2: Stacking with tooltip info
Reproducible sample
https://jsbin.com/tayareqige/1/edit?html,output
Optional extra steps/info to reproduce
No response
Possible solution

Add new fill modes, e.g. fill: {stack: 'origin'}, fill: {stack: 'start'}, fill: 'stack-origin'
Change existing fill mode "stack"

Figure 3: Montage of an example solution, where the constant-value green dataset is stacked on top of the negative red dataset, and where the pink and red datasets cancel out -- having the total/sum stay the same thoughout. The red dataset has no area.
Context
I am trying to have negative values in a stacked area chart, having one negative and one positive data set cancel out.
chart.js version
v3.7.1
Browser name and version
Safari
Link to your project
No response

Tagging as an enhancement because it's working as designed right now. We designed this to have positive and negative stacks separate. Some new configuration would be required to have a single stack mixed with positive and negative numbers. I do think that it will cause the fill to look weird if the datasets are not sorted in a good order. I don't think we'd want to change the dataset order on a per datapoint basis because it would make things visually very weird.
@kurkle @LeeLenaleee any ideas?

It looks like the negative fill is not based on the origin, so that would be a bug in current behavior.
For the desired behavior, the stacking would need another mode, the lines need to be drawn in the desired locations without the fill first, before fill can work.
We also have 'single' mode for stacking, which stacks positive and negative together. But I guess its not what you are looking for:

https://jsbin.com/raloyawoca/1/edit?html,output

I looked around a bit and made some changes. As you say this negative stacking is not that trivial.
One assumption that the negative stacking could be based on is that the negative datasets are in the very beginning of the dataset list. That would visually look the best, bit I think it would still require a bit more looking around when creating the boundary lines. For example, not only looking at linesBelow but also linesAbove, since the negative stacking is "upside down" with the current behavior of stacking the lines starting with the first dataset closest to origin.
As you say @etimberg handling dataset order on a per datapoint basis sounds complex and weird.
Changing the applyStack to skip the check of sign(value) === sign(otherValue)), as well as handling the boundary lines in a bit more dynamic manner could result in something like this (still with stacking targets weird):

Having the order of datasets change on the negative side (e.g. having green stack towards red instead of blue when negative) would make the stacking look nice. But again, this sounds very complex to do.
Compared to originally:


[Feature Request] compatibility with gradio custom components

Description
Hi.
Gradio is a prominent python webui framework with definitevely an overlapping use case with rio. Gradio also supports custom components.
Suggested Solution
I think it would be a smart move from rio to either be able to turn a rio component into a gradio custom component OR to use gradio component inside rio.
Alternatives
No response
Additional Context
No response
Related Issues/Pull Requests
No response

This looks interesting and could be worthwile if Gradio's paradim is close enough to Rio's. We'll have to discuss this after reading into their component system.
There's one obvious question that pops up in my mind: If somebody wants to use Gradio, why would they be using Rio. Likewise, if somebody is using Rio, why would they want to also use Gradio. I guess the real benefit here is that any basic components could be shared between the two?

Glad you keep an open mind.
Off the top of my head:

Gradio recently unveiled their custom component system. I see some popping up here and there and rio would benefit from deduplicating efforts. Things like "wow now LLM are completely multimodal, how can I make the chatbot UI make use of this".
I can see people prefering rio's syntax.
It seems a lot easier to create custom component for rio than gradio.