Output of "Terminal" is wrong if script is using #!/bin/sh

General description of bug:
Using fastfetch within a script with #!/bin/sh will result the terminal as the name of the script. But changing it to #!/bin/env bash will result in correct terminal, kitty in my case. I consider this a bug, even if this is expected from scripting perspective. Notice this issue is present in previous versions of fastfetch too, but I just decided to make a report today.
Often helpful questions:

Does the issue occur across multiple terminal emulators? Y (tested with kitty and konsole)
Does the issue occur across multiple shells? (bash, zsh, fish, etc) NA (yes, but no, tricky to answer, due to the nature of the problem)

Output of fastfetch --version:
fastfetch 1.8.0

Output of fastfetch --load-config devinfo:
fastfetch --load-config devinfo
██████████████████  ████████    tuncay@matrix
██████████████████  ████████    -------------
██████████████████  ████████    OS: Manjaro Linux x86_64
██████████████████  ████████    Host: neither product_family nor product_name is set by O.E.M.
████████            ████████    Kernel: 6.1.1-1-MANJARO
████████  ████████  ████████    Uptime: 22 hours, 54 mins
████████  ████████  ████████    Packages: 2396 (pacman)[stable], 2 (flatpak)
████████  ████████  ████████    Shell: zsh 5.9
████████  ████████  ████████    Resolution: 2560x1440 @ 144Hz
████████  ████████  ████████    DE: KDE Plasma 5.26.4
████████  ████████  ████████    WM: LG3D (X11)
████████  ████████  ████████    WM Theme: Unknown WM: LG3D
████████  ████████  ████████    Theme: breeze (GruvboxColors) [QT], Klaus [GTK2/3/4]
████████  ████████  ████████    Icons: breeze [QT], Gruvbox [GTK2/3/4]
                                Font: Noto Sans (12pt) [QT], Noto Sans (12pt) [GTK2/3/4]
                                Cursor: default (24px)
                                Terminal: kitty
                                Terminal Font: SauceCodePro Nerd Font Mono (14.0pt)
                                CPU: Intel(R) Xeon(R) E3-1230 v3 (8) @ 3.7 GHz
                                GPU: NVIDIA GeForce GTX 1070
                                Memory: 1.95 GiB / 15.57 GiB (12%)
                                Disk (/): 134 GiB / 220 GiB (61%)
                                Disk (/home/tuncay/.steam/steam_games): 430 GiB / 916 GiB (46%) [Removable]
                                Disk (/home/tuncay/Arbeitsplatz): 996 GiB / 4 TiB (27%) [Removable]
                                Disk (/home/tuncay/Backup): 264 GiB / 917 GiB (28%) [Removable]
                                Disk (/home/tuncay/Bilder): 996 GiB / 4 TiB (27%) [Removable]
                                Disk (/home/tuncay/Dokumente): 996 GiB / 4 TiB (27%) [Removable]
                                Disk (/home/tuncay/Downloads): 996 GiB / 4 TiB (27%) [Removable]
                                Disk (/home/tuncay/Emulatoren): 4 TiB / 5 TiB (78%) [Removable]
                                Disk (/home/tuncay/Musik): 996 GiB / 4 TiB (27%) [Removable]
                                Disk (/home/tuncay/Projekte): 996 GiB / 4 TiB (27%) [Removable]
                                Disk (/home/tuncay/VM): 430 GiB / 916 GiB (46%) [Removable]
                                Disk (/home/tuncay/Videos): 996 GiB / 4 TiB (27%) [Removable]
                                Disk (/media/Backup): 264 GiB / 917 GiB (28%)
                                Disk (/media/Emulation): 4 TiB / 5 TiB (78%)
                                Disk (/media/My): 996 GiB / 4 TiB (27%)
                                Disk (/media/System): 430 GiB / 916 GiB (46%)
                                Battery: batteryDir doesn't contain any battery folder
                                Power Adapter: Not supported on this platform
                                Locale: de_DE.UTF-8

                                ████████████████████████
                                ████████████████████████

Output of fastfetch --load-config devinfo-verbose:

Error: unknown option: --media-format

Output of fastfetch --list-features:
libpci
vulkan
wayland
xcb-randr
xcb
xrandr
x11
gio
dconf
dbus
imagemagick7
chafa
zlib
xfconf
egl
glx
osmesa
opencl

I cannot reproduce. If i execute run.sh, which has #!/usr/bin/env sh at the top, i correctly get konsole as my terminal and zsh as my shell. In fact, i already explicitly ignore sh when walking up the process tree: https://github.com/LinusDierheimer/fastfetch/blob/50983f83f5c80c8241d2ce8ce697dcd5c3e6c558/src/detection/terminalshell/terminalshell_linux.c#L135
When putting #!/usr/bin/env bash at the top, the terminal is still konsole, but the shell is bash. I think that this is correct behaviour. Do you mean this?

#!/usr/bin/env sh and #!/bin/sh are not the same. I have just tested it with a fresh script. While the first one (your example with env sh) will list the Terminal correctly, but when using the more common approach (/bin/sh) it does not work.

I tested following in the interactive shell / terminal (in my zsh):

Run sh and echo $0, result: sh
Run /usr/bin/env sh and echo $0, result: sh
Run /bin/sh and echo $0, result: /bin/sh

Not sure if this is any helpful, but sharing can't hurt.

I can reproduce this behaviour. Putting #!/usr/bin/sh at the top changes the process name from sh to run.sh.
This makes it pretty hard to fix, because how should fastfetch know if run.sh is just a script or a terminal? There is no difference from a process point of view. Detecting shells only work because of a hard coded list of known shell process names.
My best solution right now would be to ignore process names containing a dot, because executables usually don't have it, but this fails for scripts without an file extension (or names longer than 16). Do you have a better idea?

I might switch from process name to executable name, as this should still be sh. Looking into this now.

Would it make sense to check if its a text (script) or binary executable? Terminals aren't scripts usually. But on the other hand, if someone uses a script to run a Terminal...

No, kitty for example is a python script.

On my system kitty is an ELF executable. But either way, your case shows this is a bad assumption. I noticed that when the Terminal is fetched correctly, then we get also the Terminal Font. So maybe that's the way to go.

We may detect shell and terminal by env variables ($SHELL and $TERM_PROGRAM) first, which is set by shell and terminal themselves, and is more accurate.

On my machine $SHELL is set, but not $TERM_PROGRAM. So the latter does not seem to be universally working. You probably meant $TERM.

It is $TERM_PROGRAM. Modern terminals set it, but not gnome-terminal
$TERM is always xterm-*, which is useless.

We may detect shell and terminal by env variables

> env | rg -i term
COLORTERM=truecolor
TERM=xterm-256color

Konsole can't be detected that way

What if we walk up the process tree and use the shell that is the closest child to the terminal as shell. If we use executable names scripts would be seen as shell too. For example in the following tree, konsole would be the terminal, and zsh the shell:
konsole
- zsh
  - bash (executable name of run.sh process)
    - fastfetch

What wouldn't work is, when the user starts a shell from within a shell:
konsole
- zsh
  - bash (by typing bash)
    - fastfetch

Same output, but the shell should be bash. Don't know how to detect that one. Maybe look if the process name doesn't match the exe name for known shell processes?

Since this issue is not a regression. I'd like to release 1.8.1 first to fix the build error for homebrew

Okay, lets do that. Having the fix for #364 is also good.

Using #!/usr/bin/env sh will search the PATH environment for sh, which means the argument is sh. And #!/bin/sh is called directly without an argument. Maybe it is possible to check the arguments of the process?
AND BTW $TERM_PROGRAM is not only not set by gnome-terminal, but on my kitty as well.

same for me, #!/usr/bin/bash gave same issue, changed to #!/usr/bin/env bash and now shows correcly, at least it shows if im in a tmux shell or not :)

Why not use stdin/stdout/stderr files?
Here is tty on my system which return the terminal pts file
user@host ~$ tty
/dev/pts/2

We could check for which PID is the owner/master/creator of /dev/pts/2 to get
its exe name.
And if the /dev/stdin resolve to /dev/tty[0-9] then we are in a TTY.

Why not use stdin/stdout/stderr files?
Here is tty on my system which return the terminal pts file
user@host ~$ tty
/dev/pts/2

We could check for which PID is the owner/master/creator of /dev/pts/2 to get its exe name.
And if the /dev/stdin resolve to /dev/tty[0-9] then we are in a TTY.

I didn't see any difference
~
❯ cat test.sh
#!/usr/bin/sh

lsof $(tty)

~
❯ ./test.sh
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
fish     7542 carter    0u   CHR  136,2      0t0    5 /dev/pts/2
fish     7542 carter    1u   CHR  136,2      0t0    5 /dev/pts/2
fish     7542 carter    2u   CHR  136,2      0t0    5 /dev/pts/2
test.sh 16138 carter    0u   CHR  136,2      0t0    5 /dev/pts/2
test.sh 16138 carter    1u   CHR  136,2      0t0    5 /dev/pts/2
test.sh 16138 carter    2u   CHR  136,2      0t0    5 /dev/pts/2
lsof    16140 carter    0u   CHR  136,2      0t0    5 /dev/pts/2
lsof    16140 carter    1u   CHR  136,2      0t0    5 /dev/pts/2
lsof    16140 carter    2u   CHR  136,2      0t0    5 /dev/pts/2

After reading a lot of man pages, I found nothing about "Get PID of the process that is the owner of device /dev/pts/XX."
So walking up the process tree and searching for terminal process name should be the only solution.
BTW here is a list of terminal emulators that could help you.

I have experimented a little bit further and don't know if that makes sense or not. With ps command one can get lot of information, including the commandline and its argument that was used to run the script. I tried following script
pts=$(tty | grep -oE 'pts/.+')
psu=$(ps -u)
pid=$(echo "${psu}" | grep "${pts}" | grep " Sl*+ " | awk '{print $2}')
echo $pid

by creating different files with
test_bin.sh:
#!/bin/sh
...

test_env.sh:
#!/usr/bin/env sh
...

test_bin.bash:
#!/usr/bin/bash
...

test_env.bash:
#!/usr/bin/env sh
...

Remove the awk and other parts of the pipe, to see what information it delivers. One could probably use echo "$0" to grep the line with filename as argument. Maybe these investigations can be useful in finding a solution.


beforeCancel event

When listening for a cancel event the files object is empty.
I have added a new event for beforeCancel which fires on the cancel event before emptying the files array.
This is specially useful for telling the server and this files have are being cancelled and get a proper clean up.
The changes  for this are here
https://github.com/RenzoF/resumable.js/commit/c360cc799883a5284ed1077a66c4cb90b3092a73#diff-03bcb23354a37cce7d530235a3dbbde9
Anyone else doing anything similar found another way to do this ?

That's a great point -- and a great idea for the cleanup bit (even if you probably need to trigger cleanup on the server in other ways as well). Do you want to contribute with a pull request -- or should I simply add it in?
Steffen

Thanks @steffentchr just created a pull request, also modified the readme.
Cheers
Renzo


Implement OriginatedBy interface in dump entry dbus obj

This new interface "OriginatedBy" will be implemented by all the dump entry dbus objects. It contains a property "OriginatorId" which stores the unique id of the user that has initiated the dump. The unique id in this case is a string that contains the ip address of the client that initiated the dump.

Please point to the upstream commit in the PR description @nitinkotania


fix xds cache

Ⅰ. Describe what this PR did
Fix the issue where the xDS cache version was not correctly set when Istio processes multiple push requests consecutively.
Ⅱ. Does this pull request fix one issue?

Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 43.52%. Comparing base (ef31e09) to head (e3af4df).
Report is 214 commits behind head on main.

Additional details and impacted files

@@            Coverage Diff             @@
##             main    #1559      +/-   ##
==========================================
+ Coverage   35.91%   43.52%   +7.61%
==========================================
  Files          69       76       +7
  Lines       11576    12325     +749
==========================================
+ Hits         4157     5365    +1208
+ Misses       7104     6625     -479
- Partials      315      335      +20

see 69 files with indirect coverage changes


Add tabbed editing to the Playground

What about having tabs in the Playground to edit the source code?
Something like that (warning: bad coder art, it's only to have a visualization of the things):

The only change in the source code would be to have a separator to indicate when a tab starts:
// TABSEPARATOR title="Main"
var createScene = function() {
    ...
};
// TABSEPARATOR title="Terrain Generator"
class TerrainGenerator {
    ...
}
// TABSEPARATOR title="Erosion"
class Erosion {
    ...
}
// TABSEPARATOR title="Terrain shader"
BABYLON.ShadersStore["terrainPixelShader"] = `...`;

So that would be fully compatible with the existing playground and we would still be able to edit the source code as a whole, without tabs (we could add an option "Use tabbed editing" to switch/unswitch to/from this new mode).
We should be able to add/remove and move tabs (as the order of the tabs is the order in which the code is concatened before running/saving it).
That would help working with bigger PGs.
One thing I'm unsure is how to make it work with intellisense: we should have intellisense in a tab for objects in other tabs. So Monaco should be aware of the code in the other tabs when editing the current one.

Closed in favor of #10551 might be reopen depending on the final design.


Add object detection 00 webcam notebook

Description

Related Issues

Checklist:

[ ] I have followed the contribution guidelines and code style for this project.
[ ] I have added tests covering my contributions.
[ ] I have updated the documentation accordingly.

The model.py and environment.yml are based on PR #292 with minor modifications.

All revisions required in PR #296 are made in this PR.

Looks good! @jiata is making extensive changes to the core code. Best to check with him and only merge into stagingOD after he signed off. I suspect JS will ask you to remove the files model.py and the environment.yml from this PR, since model.py is his code and which also he is currently editing.

Looks good! @jiata is making extensive changes to the core code. Best to check with him and only merge into stagingOD after he signed off. I suspect JS will ask you to remove the files model.py and the environment.yml from this PR, since model.py is his code and which also he is currently editing.

I would new a PR after @jiata finish and include only my part of modifications.

I left some pretty minor comment in the notebook, it looks good in general though.

Thanks for making so many changes to the code!! Haven't gone through model.py and plot.py yet, but left comments for everything else. Nearly there..


CI fails to install cryptography 3.4.1

Information

Qiskit Aqua version: NA
Python version: NA
Operating system: NA

What is the current behavior?
CI fails to install cryptography 3.4.1.
If we update pip, it works. But, the current CI config seems to force to use pip 9 as follows.
https://github.com/Qiskit/qiskit-aqua/blob/7c2c2e546e9002e758ff6b25f98a9a594589bd6f/.github/actions/install-libraries/action.yml#L24
https://github.com/Qiskit/qiskit-aqua/pull/1527/checks?check_run_id=1852012104
Collecting cryptography>=1.3 (from requests-ntlm>=1.1.0->qiskit-ibmq-provider->-r requirements-dev.txt (line 18))
  Downloading https://files.pythonhosted.org/packages/06/ed/cb79cc94ec58d9d92557238fc6c629cd6e07d72334d2de556aecc2211370/cryptography-3.4.1.tar.gz (544kB)
    Complete output from command python setup.py egg_info:

            =============================DEBUG ASSISTANCE==========================
            If you are seeing an error here please try the following to
            successfully install cryptography:

            Upgrade to the latest pip and try again. This will fix errors for most
            users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
            =============================DEBUG ASSISTANCE==========================

    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-etw2xocn/cryptography/setup.py", line 14, in <module>
        from setuptools_rust import RustExtension
    ModuleNotFoundError: No module named 'setuptools_rust'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-etw2xocn/cryptography/
You are using pip version 9.0.3, however version 21.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Error: Process completed with exit code 1.

Steps to reproduce the problem
What is the expected behavior?
Suggested solutions

I don't think we need to rely on miniconda. Terra does not.

The reason for miniconda on chemistry unit test is to test psi4 that doesn’t have a proper pip install. It seems cryptography is being installed because of qiskit-ibmq-provider in requirements-dev.txt. IBMQ should not be in requirements-dev.txt as it is not used in any tesl. Probably just removing it will fix the failure


Adapter set values as default instead of initial value

When I start the adapter, connected to a bridge with multiple devices, I get first default values at the state objects (previous existing al always overwritten).
It needs 1 or 2 polling interfaalls before th correct data is loaded.
Example : Temps sensor are all set to 20 or 25 degrees instead of real value
Debug informatie of adapter boots is send to developer in private message

Sxcreenshot of datapoint logging, reboot was at

@DutchmanNL I would have no idea why that happens ... do you have a debug log please of such a case?

@DutchmanNL I would have no idea why that happens ... do you have a debug log please of such a case?

Sorry but no I switched to different implementation 😔

Ok, without debug log or ither reports I close


Update to V9

This module is not compatible with Foundry Version 9.
Could you make it?

Thanks for mentioning. I haven't used Foundry in a while so I didn't notice it myself. I will take a look into it during the next days.

The new release of the module supports Version 9 now.


Bug: Swagger and Redoc docs don't work for Piccolo ORM in Litestar>2.11.0

Description
Piccolo ORM has a feature for scaffolding simple ASGI applications for various ASGI frameworks. I notice that
Swagger and Redoc docs do not work with the latest version of Litestar. The latest working version is Litestar==2.11.0.
For scaffolding ASGI apps, we don't use PiccoloDTO but Piccolo's internal tool (create_pydantic_model) to create a Pydantic model from a Piccolo table, which has an extra property, but Litestar Schema does not has a extra key and that causes a ValueError to be raised. I tried two things and after that everything works.

adding an extra key to a Schema like this

class Schema(BaseSchemaObject):
    ...
    extra: dict[str, Any] | None = None

or excluding the extra key from checking here like this.

if not hasattr(schema, schema_key) and schema_key != "extra":
    raise ValueError(
        f"`schema_extra` declares key `{schema_key}` which does not exist in `Schema` object"
    )

I don't know if that's good enough, but these are just ideas. Any solution that will enable Piccolo ORM works with the latest Litestar version will be great. Thanks in advance.
URL to code causing the issue
No response
MCVE
https://github.com/sinisaos/simple-piccolo

Steps to reproduce
1. Clone repository
2. Install requirements
3. Start app with `python litestar_app.py`
4. Go to `http://localhost:8000/schema/swagger` and see error

Screenshots
"![SCREENSHOT_DESCRIPTION](SCREENSHOT_LINK.png)"

Logs
ERROR - 2024-09-28 07:35:34,331 - litestar - config - Uncaught exception (connection_type=http, path=/schema/swagger):
Traceback (most recent call last):
  File "/home/rkl/dev/piccolo_env/lib/python3.11/site-packages/litestar/middleware/_internal/exceptions/middleware.py", line 159, in __call__
    await self.app(scope, receive, capture_response_started)
  File "/home/rkl/dev/piccolo_env/lib/python3.11/site-packages/litestar/_asgi/asgi_router.py", line 100, in __call__
    await asgi_app(scope, receive, send)
  File "/home/rkl/dev/piccolo_env/lib/python3.11/site-packages/litestar/routes/http.py", line 80, in handle
    response = await self._get_response_for_request(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rkl/dev/piccolo_env/lib/python3.11/site-packages/litestar/routes/http.py", line 132, in _get_response_for_request
    return await self._call_handler_function(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rkl/dev/piccolo_env/lib/python3.11/site-packages/litestar/routes/http.py", line 152, in _call_handler_function
    response_data, cleanup_group = await self._get_response_data(
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rkl/dev/piccolo_env/lib/python3.11/site-packages/litestar/routes/http.py", line 195, in _get_response_data
    data = route_handler.fn(**parsed_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rkl/dev/piccolo_env/lib/python3.11/site-packages/litestar/_openapi/plugin.py", line 161, in _handler
    return plugin_.render(request, self.provide_openapi_schema())
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rkl/dev/piccolo_env/lib/python3.11/site-packages/litestar/_openapi/plugin.py", line 99, in provide_openapi_schema
    self._openapi_schema = self.provide_openapi().to_schema()
                           ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rkl/dev/piccolo_env/lib/python3.11/site-packages/litestar/_openapi/plugin.py", line 94, in provide_openapi
    self._openapi = self._build_openapi()
                    ^^^^^^^^^^^^^^^^^^^^^
  File "/home/rkl/dev/piccolo_env/lib/python3.11/site-packages/litestar/_openapi/plugin.py", line 83, in _build_openapi
    path_item = create_path_item_for_route(context, route)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rkl/dev/piccolo_env/lib/python3.11/site-packages/litestar/_openapi/path_item.py", line 139, in create_path_item_for_route
    return path_item_factory.create_path_item()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rkl/dev/piccolo_env/lib/python3.11/site-packages/litestar/_openapi/path_item.py", line 44, in create_path_item
    operation = self.create_operation_for_handler_method(route_handler, HttpMethod(http_method))
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rkl/dev/piccolo_env/lib/python3.11/site-packages/litestar/_openapi/path_item.py", line 68, in create_operation_for_handler_method
    request_body = create_request_body(
                   ^^^^^^^^^^^^^^^^^^^^
  File "/home/rkl/dev/piccolo_env/lib/python3.11/site-packages/litestar/_openapi/request_body.py", line 49, in create_request_body
    schema = schema_creator.for_field_definition(data_field)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rkl/dev/piccolo_env/lib/python3.11/site-packages/litestar/_openapi/schema_generation/schema.py", line 333, in for_field_definition
    result = self.for_plugin(field_definition, plugin_for_annotation)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rkl/dev/piccolo_env/lib/python3.11/site-packages/litestar/_openapi/schema_generation/schema.py", line 515, in for_plugin
    schema = plugin.to_openapi_schema(field_definition=field_definition, schema_creator=self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rkl/dev/piccolo_env/lib/python3.11/site-packages/litestar/contrib/pydantic/pydantic_schema_plugin.py", line 235, in to_openapi_schema
    return self.for_pydantic_model(field_definition=field_definition, schema_creator=schema_creator)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rkl/dev/piccolo_env/lib/python3.11/site-packages/litestar/contrib/pydantic/pydantic_schema_plugin.py", line 252, in for_pydantic_model
    return schema_creator.create_component_schema(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rkl/dev/piccolo_env/lib/python3.11/site-packages/litestar/_openapi/schema_generation/schema.py", line 645, in create_component_schema
    schema.properties = {k: self.for_field_definition(v) for k, v in property_fields.items()}
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rkl/dev/piccolo_env/lib/python3.11/site-packages/litestar/_openapi/schema_generation/schema.py", line 645, in <dictcomp>
    schema.properties = {k: self.for_field_definition(v) for k, v in property_fields.items()}
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rkl/dev/piccolo_env/lib/python3.11/site-packages/litestar/_openapi/schema_generation/schema.py", line 361, in for_field_definition
    return self.process_schema_result(field_definition, result) if isinstance(result, Schema) else result
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rkl/dev/piccolo_env/lib/python3.11/site-packages/litestar/_openapi/schema_generation/schema.py", line 596, in process_schema_result
    raise ValueError(
ValueError: `schema_extra` declares key `extra` which does not exist in `Schema` object

Litestar Version
2.12.1
Platform

[X] Linux
[ ] Mac
[ ] Windows
[ ] Other (Please specify in the description above)

[!NOTE]
While we are open for sponsoring on GitHub Sponsors and
OpenCollective, we also utilize Polar.sh to engage in pledge-based sponsorship.
Check out all issues funded or available for funding on our Polar.sh dashboard

If you would like to see an issue prioritized, make a pledge towards it!
We receive the pledge once the issue is completed & verified
This, along with engagement in the community, helps us know which features are a priority to our users.

This is a bug on Piccolo's side. Litestar is strict about the OpenAPI schema, which does not specify an extra property field as of version 3.1, nor does it allow arbitrary fields, but Piccolo seems to use this to include additional information.
The spec does allow for extensions of the schema, but those fields must be prefixed with an x-: https://spec.openapis.org/oas/v3.1.0.html#specification-extensions

@provinzkraut OK. Thank you for your time and effort.


Bug: After connecting to local mysql, an error is prompted when opening a database

Chat2DB Version
Chat2DB pro
Describe the bug

Hi, I haven't reproduced it. Do you still have this problem?


Skalman

I saw that you use Skalman from the Swedish cartoon Bamse as icon. Have you been living in Sweden or another country where the magazine is sold?

No. It was a suggestion from one of my friends.


uamiv test using only raw uamiv variables

Previous test relied on CF generated metadata, but this test is more robust.

[x] Addresses #3409 #3420 #3434
[x] Tests fixed

Development machine is missing python3.6 environment, using azure to check. This should help me get this fix in faster.

Hello @barronh! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file xarray/tests/test_backends.py:

Line 3409:24: E999 SyntaxError: invalid syntax

Thanks @barronh !


Failed consul restart in Vagrant

The docker role is calling consul restart (it should be consul reload) after loading the docker.json configuration file.
NOTIFIED: [consul | restart consul] *******************************************
failed: [default] => {"cmd": "/usr/local/bin/consul-rolling-restart.sh", "failed": true, "rc": 2}
msg: [Errno 2] No such file or directory

FATAL: all hosts have already failed -- aborting

Related to this PR #297

The PR has been merged, I think we can close this issue. I have tested deployment in Vagrant and it looks fine.

@loshkovskyi thanks! closing the issue


Advice on implementing precedence with parentheses?

I'm working on a grammar for a logical expression mini-language, and I have hit a snag: I can't figure out how to implement explicit precedence using parentheses in the grammar.  I know about rule priorities (and I'm making use of them), but I want to be able to use parentheses to override precedence.
How would I go about doing something like this in the grammar?  Or is it something I would need to implement in the tree transformer?

Parentheses are almost a built-in feature in standard parsers.
Review the calculator example for a simple demonstration of it: https://github.com/erezsh/lark/blob/master/examples/calc.py
Let me know if you still have questions.

I had a look at this, and I'm not sure if I got the idea correctly.
Here's the grammar I'm trying to parse:
`expression: comparison
andclause: (expression "AND"i expression)
| (orclause "AND"i expression)
| (expression "AND"i orclause)
orclause: (expression "OR"i expression)
| (notclause "OR"i expression)
| (expression "OR"i notclause)
notclause: "NOT"i (expression | comparison)
comparison: value cmp value
| "(" expression ")"
cmp: EQ|NE|LT|GT|LE|GE
value: STRING -> stringval
| NUMBER -> numeric
| CNAME -> ident
| "true"i -> true
| "false"i -> false
| "null"i -> null
%import common.CNAME
DOUBLE_QUOTED_STRING  : /"[^"]"/
SINGLE_QUOTED_STRING  : /'[^']'/
STRING: SINGLE_QUOTED_STRING | DOUBLE_QUOTED_STRING
EQ: "="
NE: "!="
LT: "<"
GT: ">"
LE: "<="
GE: ">="
%import common.SIGNED_NUMBER -> NUMBER
%import common.WS
%ignore WS`
I have a feeling that there's something obvious that I'm missing.

I was right: there was something I was missing. I'd overcomplicated the rules, and what I really needed was something more sensibly recursive.  This is what ended up working:
?expression: (comparison | andclause | orclause | notclause)

andclause: (expression "AND"i expression)

orclause: (expression "OR"i expression)

notclause: "NOT"i (expression)

?comparison: value cmp value
            | "(" expression ")"

(I omitted the rest of the rules and terminal definitions.)
So, I think I have it figured out.  Thanks for your advice!

Yes, this looks much better. It's not ideal for precedence parsing, but it should work if you add priorities.
Ideally, you would enforce the precedence in the rules, for example:
orclause: andclause ("AND"i andclause)*

But whatever works


Error : Cannot enqueue Handshake after already enqueuing a Handshake.

i know this issue was opened many times but every time solution over internet is remove .connect() & . end() and using .release
Any one please explain again for the year 2016 why this issue comes during using this module in node.js. what is problem with using .connect() and .end() ?

my code
var mysql      = require('mysql');

var connection = mysql.createConnection({
    host     : 'hostname',
    user     : 'user',
    password : 'password',
    database : 'dbname',
    dateStrings :true
});

connection.connect(function(err) {
            if (err) {
                //error code
            }

            //success
        });

if we cant use .connect then how can we handle db connection error

There is no reason you cannot use connect and the code you provided runs fine for me without error on the current version of this module.


Add a hotkey to disable the alert

Somewhat related to #2, for situations where you get TB'd etc and need to actually see what you are doing.

Closing as notification override integration (#28 ec5ad85) includes a 'flash until cancelled' option which should cover this


Cannot run on port 80

Changing port to 80 in config.js results in this error:
Uncaught ReferenceError: require is not defined
    at eval (eval at <anonymous> (client.js:909), <anonymous>:1:18)
    at Object.<anonymous> (client.js:909)
    at __webpack_require__ (client.js:660)
    at fn (client.js:84)
    at Object.eval (eval at <anonymous> (client.js:760), <anonymous>:14:21)
    at eval (eval at <anonymous> (client.js:760), <anonymous>:256:30)
    at Object.<anonymous> (client.js:760)
    at __webpack_require__ (client.js:660)
    at fn (client.js:84)
    at Object.<anonymous> (client.js:915)

Any other changes? including the options you choose when initializing the project.

enabled electron and jsx.
and i did name the project xxx-web in CLI init, but then renamed to web manually.
I think that is it.

Check out https://github.com/egoist/vuepack/blob/master/docs/electron.md
You're not supposed to open browser when using as electron app, run npm run app instead.

I thought electron option was to allow both browser + desktop.  So your saying enabling electron disables browser?  If so that explains https://github.com/egoist/vuepack/issues/108

It could be but will also bring a lot of limitations.

ok thanks


Allow removal of arguments

Next to adding anonymous arguments (even though the function description specified less), it is now possible for arguments to removed (even though the function description specified more).
This is usefull for example when dealing with arguments with default values.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
We've detected an issue with your CI configuration that might affect the accuracy of this pull request's coverage report.
To ensure accuracy in future PRs, please see these guidelines.
A quick fix for this PR: rebase it; your next report should be accurate.

0 of 3 (0.0%)  changed or added relevant lines in 1 file are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.07%) to 46.562%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

libraries/analysis-javascript/lib/type/resolving/InferenceTypeModelFactory.ts
0
3
0.0%

Files with Coverage Reduction
New Missed Lines
%

libraries/analysis-javascript/lib/type/resolving/InferenceTypeModelFactory.ts
2
22.58%

Totals

Change from base Build<PHONE_NUMBER>:
-0.07%

Covered Lines:
1540

Relevant Lines:
3057

💛  - Coveralls


How should the memory operate when starting API services through MultiPromptChain

Hi @qimingyangyang! Could you please share a sample of your code?


Avoids relying on Bash

This script runs fine with just Dash (SH) instead of Bash. Alpine Linux and others don't have Bash.

Lgtm — thanks


Ag 17 render nucleotides

Fixed mouse hover links
Fixed vertical scrolling
Fixed frozen stuff (input texts, arrows, nucleotides)

This was approved with one more commit.  This will be merged in from branch urbanslug-ag-17-render-nucleotides


AzureKeyVaultCertificateClient fails on Macos

Describe the bug
When developing on Macos, IBankIdBuilder.UseClientCertificateFromAzureKeyVault fails with MAC verification failed during PKCS12 import (wrong password?) because Macos doesn't accept an empty string as a password.
However, passing null instead of string.empty in https://github.com/ActiveLogin/ActiveLogin.Authentication/blob/main/src/ActiveLogin.Authentication.BankId.AzureKeyVault/AzureKeyVaultCertificateClient.cs#L72 resolves the problem.
What area is it related to
API
To Reproduce
Use the API on Macos and try to start a signing with BankId using a certificate from Azure Key Vault.
Expected behavior
The signing process should start.
NuGet package version
5.0.0
Runtime version
Dotnet Core 6.0.408
Desktop (please complete the following information):

OS: Macos Ventura 13.3.1
Browser Chrome, Firefox

Smartphone (please complete the following information):
N/A
Additional context
The fix has been tested on Macos and Windows.

Thank you! I can confirm that null seems to be what should have been passed.
Are you up for a PR to fix this?

Yeah, I'll get back with a PR 🙂


feat: add namespace column

What does this PR do?
Adds a 'namespace' column or property to the output of 'org:list' commands.
What issues does this PR fix or reference?
Issue #1790: https://github.com/forcedotcom/cli/issues/1790

@atsutton sorry, forgot to assign this in our backlog.
I added this to our current sprint and will review it next week 👍🏼


ZeroTier as Connection Method?

Suggesting this to see if it can be integrated? Might facilitate the connection process, it's free and self-hostable.
https://www.zerotier.com/

Hi @meditatus we will examine ZeroTier's feasibility to see if it would be a suitable cable engine.

100 nodes is free ,more than is not!

Was there a purpose to that response?
The self hosted version is unlimited.
On Thu, Apr 4, 2019, 6:22 AM AnJia<EMAIL_ADDRESS>wrote:

100 nodes is free ,more than is not!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rancher/submariner/issues/4#issuecomment-479840325,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AZEzpr7KN2ykL_SY-ENWpMAXicsew-QHks5vddJogaJpZM4b_8BY
.

@meditatus you can now consider the contribution of a cable driver. We now have wireguard and libreswan on the making.


add photo gallery for ckeditor

add photo gallery for ckeditor

Move ckeditor JS init to a separate file so viewers don't receive it.


protocol-less websites don't load

To start out, we could simply assume that https was the default protocol. Moving forward, we could make it a little more intelligent.
Repro:

go to navbar
type www.webtorrent.io
press enter, notice nothing happens
change to http://www.webtorrent.io
press enter, note that it now works

@phoenix1796 want to take a pass at this? It touches a little bit of the UI layer and (potentially) the protocol layer.

Did this part , but now the only thing is that , if we choose https as the default protocol and navigate to a site with only http support (For example , will.blankenship.io/peerweb/) . it displays a blank page instead of automatically redirecting to the http variant .
But , atleast for now , URLs like google.com , fb.com etc. open up fine.

Awesomesauce! That is fine for me right now. I wonder how web browsers do it? Do they assume http and let 3XX redirects handle passing the user to HTTPS?

Firefox gives a warning about the page not being secure and stops us there ,
Same goes for Chrome (It tells us "Your connection is not private" and stops us there)


link fix: new links to upgrade and update instructions

In Connect using a real device page, fixed
the links to point to NCS docs instead of
infocenter. This was due to the doc transfer.
Signed-off-by: Pekka Niskanen<EMAIL_ADDRESS>

Need to do this for all releases...

Why is there no redirect?

Why is there no redirect?

I honestly don't know. Maybe there is some limitation.


Totally SAME count matrix(generated) compared to the reference data

Hi Dongyuan,
Good news is that I run tutorial simulating batch effect again(take a new subset of my own data) and codes work for my own data now. But a new problem is that the generated count matrix is totally the same as before. I am wondering if the reason is the many 0 in the original matrix. (Codes and data source below)
example_sce <- read_h5ad('./cite_500gene.h5ad')#one modality-several cell types with batch
example_sce<-AnnData2SCE(example_sce)

BATCH_data <- construct_data(
  sce = example_sce, #SCE object, ref data
  assay_use = "counts",#'counts','celltype', 'pseudotime' or 'spatial'.
  celltype = "cell_type",
  pseudotime = NULL,
  spatial = NULL,
  other_covariates = c("batch"),#provided in example_sce colData
  corr_by = "1"
)
BATCH_marginal <- fit_marginal(
  data = BATCH_data,
  predictor = "gene", #intermediate variable name, not matter
  mu_formula = "cell_type + batch",
  sigma_formula = "1",
  family_use = "nb",
  n_cores = 1, #can be changed to more, some errors may appear, and large value -> save time
  usebam = FALSE
)
set.seed(123)
BATCH_copula <- fit_copula(
  sce = example_sce,
  assay_use = "counts",
  marginal_list = BATCH_marginal,
  family_use = "nb",
  copula = "vine",#determine the copula function, can be changed to gaussian. decide the dependence structure of genes
  n_cores = 1,
  new_covariate = NULL,
  input_data = BATCH_data$dat
)

BATCH_marginal_alter <- lapply(BATCH_marginal, function(x) {
  x$fit$coefficients[length(x$fit$coefficients)] <- rnorm(1, mean = 5, sd = 2) #change to 0 for batch correction
  x
})

BATCH_para_alter <- extract_para(
  sce = example_sce,
  marginal_list = BATCH_marginal_alter,
  n_cores = 1,
  family_use = "nb",
  new_covariate = NULL,
  data = BATCH_data$dat
)

set.seed(123)
BATCH_newcount_alter <- simu_new(
  sce = example_sce,
  mean_mat = BATCH_para_alter$mean_mat,
  sigma_mat = BATCH_para_alter$sigma_mat,
  zero_mat = BATCH_para_alter$zero_mat,
  quantile_mat = NULL,
  copula_list = BATCH_copula$copula_list,
  n_cores = 1,
  family_use = "nb",
  input_data = BATCH_data$dat,
  new_covariate = BATCH_data$newCovariate,
  important_feature = BATCH_copula$important_feature
)
BATCH_para_alter <- extract_para(
  sce = example_sce,
  marginal_list = BATCH_marginal_alter,
  n_cores = 1,
  family_use = "nb",
  new_covariate = NULL,
  data = BATCH_data$dat
)

set.seed(123)
BATCH_newcount_alter <- simu_new(
  sce = example_sce,
  mean_mat = BATCH_para_alter$mean_mat,
  sigma_mat = BATCH_para_alter$sigma_mat,
  zero_mat = BATCH_para_alter$zero_mat,
  quantile_mat = NULL,
  copula_list = BATCH_copula$copula_list,
  n_cores = 1,
  family_use = "nb",
  input_data = BATCH_data$dat,
  new_covariate = BATCH_data$newCovariate,
  important_feature = BATCH_copula$important_feature
)
simu_sce <- example_sce
counts(simu_sce) <- BATCH_newcount_alter
logcounts(simu_sce) <- log1p(counts(simu_sce))
´´´

I use the CITE-seq data downloaded from here, and take the subset of first 500 gex and first 2 batches 's1d1' and 's1d2'.
Thanks a lot in advance!
Best,
Danyang

Hi Xia,
That sounds crazy! For clarification, you mean that the simulated counts are identical to the reference counts, right? Could you please check the following things?

Check if the two matrices are really the same -- sorry for asking this, but we have to confirm this again.
Check the BATCH_para_alter$mean_mat. If they are all 0, then the result is expected since 0 will always return 0 back.
Change set.seed(123) to another seed. It should give you another random result, if everything works correctly.

Let me know how it works!
BEst,
Dongyuan

Hi Dongyuan,
Thanks for your reply. For saving time, I checked and run all the things with the first 100 genes instead of 500.(still with the same batches 's1d1' and 's1d2')

As I checked the identity with codes in R, they are really the same.

matrix_s <- as.matrix(assay(simu_sce))
matrix_ref <- as.matrix(assay(example_sce))

if (all(matrix_s == matrix_ref)) {
    cat("The count matrices are identical.\n")
  } else {
    cat("The count matrices are different.\n")
  }

it returns "The count matrices are identical."

There are some NA value and also many values not 0 in BATCH_para_alter$mean_mat.

tried seeds 1, 23 and 42, but still have the identical count matrix.

Best,
Danyang

Hi Danyang,
Could you please reinstall the scDeisgn3 package? The NA values will not show in our newest version. Sorry that I have no idea about your issue. I do have a question: when you use AnnData2SCE, does your converted data have the assay counts?
@qw130 Hi Qingyang, could you also help us check this issue?
Danyang, if you do not mind, can you send your demo data to our email<EMAIL_ADDRESS>Since it is a public dataset, I guess it won't trouble you too much.
Best,
Dongyuan

@XiaPoppy
Hi Danyang,
Your code generates correct results in my server. After checking your description, now I understand what happened to you. Note: your assay(simu_sce) does not return your counts assay; I think it returns your X assay due to the conversion from anndata. Therefore, you haven't change this one in your simulated data, thus it remains the same as the real data.
Could you check assay(simu_sce, "counts") and assay(example_sce, "counts") instead?
Best,
Dongyuan


Add "as" keyword

The as keyword is used in pattern matching:
foo =
    when [1, 2, 3, 4] is
        [1, .. as b] -> b
        _ -> []

Oh, this is a good one @Hasnep! Love it!


SSL certificate problem: Self signed certificate

Hey, I've used your library in the past and it worked great. I'm Trying it again for a new project and I can't connect. The error I get is:
Uncaught PutIO\Exceptions\RemoteConnectionException: SSL certificate problem: self signed certificate in certificate chain in putio/vendor/nicoswd/putio/src/PutIO/Engines/HTTP/CurlEngine.php:97
I've checked the code and I also changed
private $verifyPeer = \true;
to false in CurlEngine.php

I went back to this, still an error. Any chance this can get some attention?

Hey @monxas!
Can you try commenting out line 45 in CurlEngine.php and see if that helps?
//    $options[CURLOPT_CAINFO]         = $this->getCertPath();

Didn’t help. I tried more stuff, I keep getting the exact same error.

El 4 sept 2019, a las 12:36, Nico Oelgart<EMAIL_ADDRESS>escribió:

Hey @monxas!
Can you try commenting out line 45 in CurlEngine.php and see if that helps?
//    $options[CURLOPT_CAINFO]         = $this->getCertPath();
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


feat(zksync_cli): Health checkpoint improvements

What ❔

Add three new components to node's healthcheck:

General (i.e., version, last migration)
State Keeper
Eth Sender

Why ❔

Checklist

[x] PR title corresponds to the body of PR (we generate changelog entries from PRs).
[x] Tests for the changes have been added / updated.
[x] Documentation comments have been added / updated.
[x] Code has been formatted via zkstack dev fmt and zkstack dev lint.

Comments are nits; I've left them mostly to be addressed in a follow-up PR. I can produce such a PR once I've got less swamped with tasks 🙃

No worries! I can address the here. 👍 Thanks for the review!


Fix [GitlabCoverage] self-hosted test and example

Switched to https://gitlab.gnome.org/GNOME/at-spi2-core which seems to have everything set up properly.

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @PyvesB!

  Generated by :no_entry_sign: dangerJS against eba9ed4320eca843f9e9b1bb887bc1b80a65b71f


sway: xwayland: Fractional scaling is broken after suspend

Describe the bug
Fractional scaling is broken after suspend.
To Reproduce
Steps to reproduce the behavior:

Enable fractional scaling in sway config

output eDP-1 {
  scale 1.5
  scale_filter linear
}

Open an Xwayland application like Atom
Close lid / suspend
Xwayland application scaling is broken

Expected behavior
Scaling should be correct after suspend.
Screenshots

Notify maintainers
@gnidorah @primeos @colemickens
Metadata
 ✘ asbachb@nixos  ~  nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.4.46, NixOS, 20.03.2157.db31e48c5c8 (Markhor)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.3.6`
 - channels(asbachb): `""`
 - channels(root): `"nixos-20.03.2157.db31e48c5c8, nixos-unstable-20.09pre228204.467ce5a9f45"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute: sway xwayland
# a list of nixos modules affected by the problem
module:

@asbachb could you test setting Xft.dpi: 96 (or to another fixed value)? See:

https://github.com/swaywm/sway/wiki#after-unplugging-an-external-display-some-applications-appear-too-large-on-my-hidpi-screen
https://github.com/swaywm/sway/wiki#xwayland-dpi-increases-after-hotplug

If it only affects X11 applications this could potentially fix it.

@primeos does not work for me:
 asbachb@nixos  ~  cat ~/.Xresources
Xft.dpi: 96
 asbachb@nixos  ~  cat ~/.config/sway/config | grep xrd
exec xrdb -load ~/.Xresources

Maybe related to: https://gitlab.freedesktop.org/xorg/xserver/-/issues/731

@asbachb yeah, in your case it might be this where suspending / closing the lid has the same effect as turning the monitor off and on again.
I think this is the original report in Sway's issue tracker and it seems like there is finally a merge request to fix this issue.
Anyway, I'll close this issue as this shouldn't be caused by our packaging in Nixpkgs.


chunk: fix binmode usage for prevent gc

Which issue(s) this PR fixes:
Fixes #3110
What this PR does / why we need it:
I had a same problems as the issue.
Just set binmode, not use return value.
It is because IO#binmode returns File not Tempfile, so It would be collected by GC in if block.
irb(main):001:0>  require 'tempfile'
=> true
irb(main):002:0>  a = Tempfile.new("example")
=> #<Tempfile:/var/folders/bm/69m8bqqd343fx6vddc3lkqyc0000gp/T/example20200929-59624-zqnwq>
irb(main):003:0>
irb(main):004:0> a.binmode
=> #<File:/var/folders/bm/69m8bqqd343fx6vddc3lkqyc0000gp/T/example20200929-59624-zqnwq>
irb(main):005:0> a.binmode?
=> true
irb(main):006:0> a
=> #<Tempfile:/var/folders/bm/69m8bqqd343fx6vddc3lkqyc0000gp/T/example20200929-59624-zqnwq>
irb(main):007:0> a.class
=> Tempfile
irb(main):008:0> b = a.binmode
=> #<File:/var/folders/bm/69m8bqqd343fx6vddc3lkqyc0000gp/T/example20200929-59624-zqnwq>

Docs Changes:
Release Note:

Ah, good catch!
I'm surprised Tempfile's binmode changes the object...


How to properly configure the ROS environment

Hi, thanks for a handy tool for URDF visualization.
When I tried the example, I got the following errors:
[W 2022-08-13 18:46:09.980 ServerApp] 404 GET /ros/pkgs/t12_description/meshes/Body.STL (<IP_ADDRESS>) 24.62ms referer=http://localhost:8890/lab
How to properly configure the ROS environment to access mesh '*.stl'?
After I install jupyterlab-ros and jupyterlab-urdf(conda install jupyterlab-urdf -c conda-forge), the path is changed and checked by echo $ROS_PACKAGE_PATH.
Even if I added the current catkin project to this variable, it also cannot access the mesh files.
How could I change the folder/ros/pkgs/ to the one I want to access?
Thanks.
Best.

Hello!
I think the problem might be because you need to configure the environment before launching JupyterLab.
Let's say your environment is called ros_env where you already have jupyterlab, jupyterlab-ros, jupyterlab-urdf and ros-noetic-desktop. From a single terminal:

Activate the environment conda activate ros_env
Navigate to the jupyterlab-urdf/examples folder. Inside you will find a src directory so essentially examples/ is treated as a workspace.

From examples/

Build the workspace with catkin build
source devel/setup.bash
Your $ROS_PACKAGE_PATH should now contain the paths to the robot descriptions
Now you can launch JupyterLab from that same terminal with jupyter lab

Let me know if this works :)

Hi, @ihuicatl thanks for the quick reply.
My guess is there is a conflict between envs jupyterlab-urdf  and catkin source.
When I reinstall jupyterlab-urdf , the path becomes home/*/anaconda3/envs/robostackenv/share/.
When I did catkin build and source devel/setup.bash, then I start jupyter lab the jupyter urdf is not properly started.
It includes the mesh and ros path, but does not includejupyterlab-urdf, e.g. //jupyterlab-urdf/examples/src/ned_description://jupyterlab-urdf/examples/src/spot_description:/*/jupyterlab-urdf/examples/src/t12_description:/opt/ros/noetic/share.
Then I manually used export ROS_PACKAGE_PATH to append the necessary path for both jupyter-urdf and catkin. It also did not work. It seems there are some other envs variables needed to be set.
I am looking forward to your reply.

Hi @zengtaiping!
I think the best idea would be to start with a fresh environment. Also, make sure there is nothing in your .bashrc file which could be modifying your ROS paths. Do you have noetic installed locally? It looks like one of your paths includes /opt/ros/noetic/share

Create environment called ros_env (or anything else) with the required packages. All of these packages need to be installed in the same environment.conda create -n ros_env jupyterlab jupyterlab-urdf jupyterlab-ros ros-noetic-desktop -c conda-forge -c robostack

Activate the environmentconda activate ros_env

Echo $ROS_PACKAGE_PATH. This should only contain home/*/anaconda3/envs/ros_env/share/. If this is not correct, there may be an issue with the conda configuration.
Navigate to the examples folder and clean the workspacecd jupyterlab-urdf/examples/
catkin clean

Build the workspace again with catkin build and run source devel/setup.bash from the examples directory
Check your ROS path again, and if everything looks good then you can launch JupyterLab

And just to double check, make sure you are only working with a single conda environment since you mentioned there might be a conflict between environments.
Let me know how it goes.

Hi @ihuicatl ,
I am so sorry for the late response.
Thanks so much for your detailed information. It works now.

I am sorry for the wrong click.


Added Contact us Form in Footer as described in the Issue

Kindly assign the task to me and do evaluate my PR
Here's a pic of the Contact Form in Footer.

This branch has conflicts that must be resolved
Use the web editor or the  to resolve conflicts.
Conflicting files
index.html

This branch has conflicts that must be resolved Use the web editor or the to resolve conflicts. Conflicting files index.html

Okay, will resolve them

I've resolved merge conflicts in PR #92 by switching to main branch, kindly evaluate it


Support object, array equivalency along with tests

This also enables type test (is ) related test cases.

Codecov Report

Merging #15325 into master will decrease coverage by <.01%.
The diff coverage is 0%.

@@             Coverage Diff              @@
##             master   #15325      +/-   ##
============================================
- Coverage     23.27%   23.26%   -0.01%
  Complexity     5112     5112
============================================
  Files          1345     1345
  Lines         68124    68127       +3
  Branches       9285     9285
============================================
  Hits          15853    15853
- Misses        50502    50505       +3
  Partials       1769     1769

Impacted Files
Coverage Δ
Complexity Δ

.../ballerinalang/compiler/BIRPackageSymbolEnter.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...llerinalang/compiler/bir/writer/BIRTypeWriter.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

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 c2f6367...0400204. Read the comment docs.


Document branching setup (develop and main)

Describe the changes made in this pull request

Document changes to branching model ("semantic" changes (schema, format, docs) are now to be put against develop, typoes, etc. against main)

Review checklist

[ ] Please check if the pull request is against the correct branch
(format/schema/semantic documentation changes: develop; typos, meta files, etc.: main)
[ ] Please check if all changes are recorded in CHANGELOG.md and adapt if necessary.
[ ] Please run tests locally.

cd $(mktemp -d --tmpdir cff.XXXXXX)
git clone https://github.com/citation-file-format/citation-file-format .
git checkout <branch>
python3 -m venv env
source env/bin/activate
pip install --upgrade pip wheel setuptools
pip install -r requirements.txt
pytest
<do other things>

[ ] Check if changes are correct and in the right places.

These changes are already in main, should merge main into develop instead.


[Bug] Button in Radios component moves out of alignment when zoom is not 100%

Background
This issue was reported via the Radios discussion board #56.
Issue
Radios component
When zoom is not 100%, the user reported that the button moves out of alignment. The user reported that this issue appears to mainly affect MacOS users, however I was able to replicate it without MacOS.
Example

Tasks

Investigate the issue and identify a potential fix.
If possible, implement a fix for the issue.
PM to update the user of the outcome.

#2652 - previous ticket completed.


Unable to instantiate a ProxyExecutionListener via URL when it has a constructor dependency

Feature Request

Is your feature request related to a problem? Please describe

When the url has a proxyListener, which takes a constructor parameter, the URL based invocation doesn't work.
Example:
url:r2dbc:proxy:mysql://localhost:3306/?proxyListener=com.example.QueryTimeMetricsExecutionListener
When this class needs a MeterRegistry from Micrometer, the URL based instantiation fails.
Describe the solution you'd like

Given a ProxyExecutionListener with dependencies, should be able to wire that up from the URL instead of the programmatic way.
Describe alternatives you've considered

Alternative is to use the programmatic way of constructing the ConnectionFactory. Spring R2DBC provides auto configuration and hence, want to make this working there.
Teachability, Documentation, Adoption, Migration Strategy

@ttddyy Requesting you to have a look at this issue.

The connection parsing and instantiation in r2dbc-proxy is limited to no-arg instantiation.
This is because the r2dbc-proxy is not aware of the spring container.
If Spring Data R2DBC provides dependency injection to the r2dbc infrastructure components, it is more appropriate that this feature is implemented there.


locale is transformed to lowercase

I am working on pretty big project reworking it from svetle-i18n and we are using locale when saving items to database, so previously we saved every locale in uppercase format and now if i implement this package it breaks everything across the project, because it transforms current locale to lowercase. I think that locale should be kept in same format as it is defined in loaders (key locale).
const config = {
  parser: parser({ ignoreTag: true }),
  loaders: [
    {
      locale: 'CS',
      key: '',
      loader: async () => (await import('localization/messages/cs.json')).default,
    },
    {
      locale: 'EN',
      key: '',
      loader: async () => (await import('localization/messages/en.json')).default,
    },
  ],
};

Locale is not transformed to lowercase (actually in your case is), but to ISO 639-1 Language Code and I think this is a correct behavior, because you want to be able to use lang, hreflang (and others) html attributes using your $locale..
Don’t know your exact use case, but I think you could use transformed store derived from the original $locale…?

And would it be possible to at least add option to the config, if the transformation to ISO 639-1 Language Code should be enabled or not? I think I am not the only one who is migrating from svelte-i18n and who might find this automatic transformation causing a lot of breaking changes.

That’s a good point… Could you, please, provide some small repro? Just to see what exactly causes the issue… I’ll provide some solution for use cases like this.)


http.Agent: Add Group variants for parallel fetching

What type of PR is this?
/kind feature
/kind documentation
What this PR does / why we need it:
This pull request adds *Group variants of the existing http.Agent methods to support parallel fetching of multiple URLs. The new included docs explain it better:
Each of these functions also provide a _Group_ equivalent that takes a list of URLs and performs the requests in parallel. The easiest way to understand the functions is this expression:

METHOD[Request|ToWriter][Group]

So, for examaple, the functions for the POST method include the following variations, note that the Group
variants take and return the same arguments but in plural form, ie same type but a slice:

 Post(string url, []byte postData) ([]byte, error)
 PostRequest(string url, []byte postData) (*http.Response, error)
 PostToWriter(io.Writer w, string url, []byte postData) error
 PostGroup([]string urls, [][]byte postData) ([][]byte, []error)
 PostRequestGroup([]string urls, [][]byte postData) ([]*http.Response, []error)
 PostToWriterGroup([]io.Writer w, []string urls, [][]byte postData) []error

Which issue(s) this PR fixes:
None
Special notes for your reviewer:
Most of the line changes in the PR is documentation, the real code is in 482d365c10a95f98082b4b9cf8ed8122b90dc9c1
I added a doc.go to document the module better and an example to illustrate the new functions.
The functions rely on the existing fetch logic, I added a test to check that the parallel logic returns values in the expected order.
Finally I marked as deprecated the http.GetURLResponse() function to encourage developers to use the agent directly.
Does this PR introduce a user-facing change?
The `http.Agent` now has `*Group` variants of its functions to support parallel fetching o lists of URLs.

OK, I've replaced the external dependency with the new throttle package and repushed. PTAL!

OK, I pushed another commit optimizing some of the tests, should be ready to go now.
# Before

[puerco@babieco release-utils] 🦆❯ time  go test ./http/...
?   	sigs.k8s.io/release-utils/http/httpfakes	[no test files]
ok  	sigs.k8s.io/release-utils/http	18.407s

real	0m18.660s
user	0m0.456s
sys	0m0.176s

# After

[puerco@babieco release-utils] on  parallel-http 🦆❯ time  go test ./http/...
?   	sigs.k8s.io/release-utils/http/httpfakes	[no test files]
ok  	sigs.k8s.io/release-utils/http	0.264s

real	0m0.522s
user	0m0.487s
sys	0m0.158s


Main thread issues

Essentially, as you know, in the AVCaptureVideoDataOutputSampleBufferDelegate, we apply the MTIFilter to the sample buffer, and set the MTIImageView image as the filter output image. And we do the image set on the main thread as seen below.
 DispatchQueue.main.async {             self.renderView?.image = renderedImage         }
My issue is, whenever we use a collection view with horizontal scrolling on top of the Metal Image View, when the user interacts with the collection view (.ie scrolls), it freezes the setting of the MTIImage to the MTIImageView, and the video then appears to the user as if it is freezing. Do you guys have a solution for this? Or a work around?

@YuAo Could you give a bit more of an example for rendering in the background?

Oh. You use a CADisplayLink! Did you set the runloop mode to include UITrackingRunloopMode? See: https://stackoverflow.com/questions/2524347/cadisplaylink-stops-updating-when-uiscrollview-scrolled

@YuAo , you're a hero. thanks.solved.


Obsolete information about show_exceptions

You'll still want to ensure you've disabled anything that would prevent errors from being propagated to the Raven::Rack middleware, like ActionDispatch::ShowExceptions:

config.action_dispatch.show_exceptions = false # this is the default setting in production

https://github.com/getsentry/raven-ruby/wiki/Integrations
show_exceptions is default true in production in rails (at least the latest versions). Is there anything that should be done in modern rails to make sure errors are propagated to Raven?

@travisp I was curious about this too.
It looks like, with the default Raven.configuration.catch_debugged_exceptions = true, it will still capture those shown or debugged by ActionDispatch: https://github.com/getsentry/raven-ruby/blob/9b3ad788130f502ee66b5c4a6a4521fc7e15ecf9/lib/raven/integrations/rails.rb

Hey - the answer is no, you shouldn't do anything extra. There's a problem with how we interact with ShowExceptions right now which will be fixed by #422.


🚀 SignUp and Login

Describe the need for this component. ✍🏻
If we could able to add signup and login functionality , it will be much better. We can give options to user like signup with github and other third parties. It could add this project more value and , It has best design , these functionallity wil make website more better.
Describe briefly how you would implement and plan to use this component.
Some steps to implement this new component-
1. Create Design for Sign Up and Login Functionality
2. Create Backend for all apis , and database
3. Integrating backend with frontend and also third party authorization

Screenshots Example (if applicable)
No response
Additional information
No response
Contributor terms

[X] I agree to follow the Contributing Instructions

can i work on this issue??


Added exit animation when deleting course in Wishlist

#308
Added exit animation when deleting a course from Wishlist which would make increase visual accessibility and makes it easier for user to understand that something has been deleted.

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] All new and existing tests passed.
[x] The title of my pull request is a short description of the requested changes.

@RohankumarM code looks good to me but there is a slight delay in deleting animation, it lags a bit. To resolve this you may possibly need to reduce animation time a bit.
You may need mentor's suggestion for this as I just mentioned what I observed 😅 maybe this animation works like this( with a delay).

@RohankumarM I think the code is not working means it not showing any animation on deleting a wishlist component please cross-check it once may be due to recent upstream changes code may not be pushed, as it was working before.

@RohankumarM I think the code is not working now means it not showing any animation on deleting a wishlist component please cross-check it once may be due to recent upstream changes code may not be pushed, as it was working before.

@RohankumarM code is working fine now, just remove external CSS files and add them into the makeStyles of files they are associated with.

@adarsh-technocrat Review the latest changes please and let me know if anything needs an improvement.

@adarsh-technocrat Review the latest changes please and let me know if anything needs an improvement.

LGTM !!


Create CONTRIBUTING.md

Added a file that would walk any contributor through on how to go about it on this project.

having conflicts


Custom formatting function for ticks

It would be helpful if you could specify a custom formatting function for the ticks, which gets the value of the tick and returns a string. So you can format the ticks more easily yourself. For example date and time for a scatter plot. Or is there already a possibility to display date & time in a scatter plot? Otherwise you could simply use the DateTime.ticks as X values and then use a formatting function to create a DateTime object and then a formatted string from the ticks.

Hey @OgreTransporter, do these methods / examples provide the functionality you're looking for?
plt.Ticks(dateTimeX: true);

http://swharden.com/scottplot/cookbooks/4.0.20/#Customize_Ticks_DateAxis
double[] xPositions = { 7, 21, 37, 46 };
string[] xLabels = { "VII", "XXI", "XXXVII", "XLVI" };
plt.XTicks(xPositions, xLabels);

http://swharden.com/scottplot/cookbooks/4.0.20/#Customize_Ticks_Positions

The examples above combined with the feature that was just added in #301 will probably solve your issue.
http://swharden.com/scottplot/cookbooks/4.0.21/#Customize_Ticks_CustomCulture
If not, feel free to open this issue again


Team page graph causes hamburger menu to move off screen on mobile

On mobile (I'm testing with Chrome's simulator), when the graph is open, the hamburger menu moves off the right of the screen. This seems to be due to the graph itself sticking out the right of the screen

I tried with a real phone (my iPhone), and the navbar works properly. The graph still goes a little off-screen though


Wrong address from PrivateKeyTestnet

Hello! Thanks a lot for your library!
I have the following problem, when I generate the instance of the PrivateKeyTestnet and get the public address I got the address I cannot send money to:
>> key = PrivateKeyTestnet()
>> key.address
qq6pzzfpuf9uumjmeayfw9qtuy7w386kyy42pkdau8

Even if I compress it, I get the same error called One or more input or output is invalid:
>> key = PrivateKeyTestnet(wif='cMqw...')
>> key.address
qpgdlktn6ltjgxd4dz63rtn6gk6dk0wnusth8axycv

When I send money (through ccoin-cash web-site) from my own test-net address mntaWjMep9AVmssAg7bd9hEHmNsuLtZDSS to another also mine, all goes fine.
>>> len('qpgdlktn6ltjgxd4dz63rtn6gk6dk0wnusth8axycv') == len('mntaWjMep9AVmssAg7bd9hEHmNsuLtZDSS')
False

Can you help me with this question or even with all process to create signed offline raw transaction through your library? Thanks a lot!

Hi Anstasia!
I'm sorry for the wait. Have been out for a few days. I'll take a look into this and get back to you shortly. I do have some test cases with testnet, but my use has all been mainnet, so the odds of a bug with testnet are fairly high.
-Teran

Okay, turns out this isn't a bitcash bug afterall. ccoin.cash is using the old Bitcoin address format and hasn't updated to cashaddr. If you want to use bitcash with ccoin, you'll need to convert the cashaddr to the legacy address.
One site you can do this with is: https://cashaddr.bitcoincash.org
If you want to keep this within Python, you can do so with cashaddress: https://github.com/oskyk/cashaddress
cashaddress is already used inside this repository. You can send to legacy addresses, but the .address property will always return the cashaddr format.
I hope this helps! Let me know if you have any questions.

Oh, about raw transactions, just use .create_transaction() and it will give you something that you can broadcast, just the hex output.
https://github.com/sporestack/bitcash/blob/master/bitcash/wallet.py#L208

Teran, thank you so much for your reply!
You helped me a lot, with new converted BCH address everything works!
And thank you for your cool library!

anastasia-bilova - I found a great library for converting between BCH and legacy addresses natively in python - https://github.com/oskyk/cashaddress - super handy little one to have in your tool belt :)

You're welcome! Glad I could help.
Though most of the credit goes to @ofek, he wrote the bit library for Bitcoin which I ported this from. He did 99% of the legwork.

I would also like to thank you for this library. Absolutely amazing. You have made a huge difference to the BCH ecosystem with this, regardless of who did the original core work. Still takes effort to connect all the ports, add extra features, taylor it to BCH and make it work right out of the box.

Thank you! I really appreciate that. I needed it myself and I'm glad you've been able to find it useful as well.
Will close this out for now.


Please provide permission

(This PR template only applies to permission changes -- ignore for changes to the tool)
Description
Need permission for existing plugin
Permissions pull request checklist
Always
https://github.com/jenkinsci/allure-plugin

[x] Add link to plugin/component Git repository in description above

When adding new uploaders (this includes newly created permissions files)
@pupssman, confirm it please

[x] Use the Jenkins community (LDAP) account name in the YAML file, not the GitHub account name
[x] Make sure to @mention an existing maintainer to confirm the permissions request, if applicable
[x] All newly added users have logged in to Artifactory at least once

LGTM


BIGTOP-4067. Fix build failure of Python 2.7 on Rocky Linux 9.

https://issues.apache.org/jira/browse/BIGTOP-4067
The error is emitted on running tests. Since --enable-optimizations makes the tests mandatory, we can skip tests by removing the configure option.
0:08:41 load avg: 0.67 [256/399] test_poplib
Exception in thread Thread-332:
Traceback (most recent call last):
  File "/usr/src/Python-2.7.14/Lib/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/src/Python-2.7.14/Lib/test/test_poplib.py", line 132, in run
    asyncore.loop(timeout=0.1, count=1)
...(snip)
  File "/usr/src/Python-2.7.14/Lib/ssl.py", line 554, in __init__
    self._context.load_cert_chain(certfile, keyfile)
SSLError: [SSL: EE_KEY_TOO_SMALL] ee key too small (_ssl.c:2693)

Since --enable-optimizations makes the tests mandatory, we can skip tests by removing the configure option.
Since migrating to Python 3 is the right fix, just removing --enable-optimizations on Rocky Linux 9 should be enough as a short-term fix.

successfully built Docker images of Rocky Linux 9 and OpenEuler 22.03 and CentOS 7. The patch of #1238 must be applied too in order to test this on CentOS 7.

+1, tested on Rocky 9. Thanks @iwasakims
$ curl -sL https://github.com/apache/bigtop/pull/1240.diff | git apply
$ (cd docker/bigtop-puppet && ./build.sh trunk-rockylinux-9)
$ (cd docker/bigtop-slaves && ./build.sh trunk-rockylinux-9)
$ docker run -it bigtop/slaves:trunk-rockylinux-9 python -V
Python 2.7.14


[Feature Request] - Logic Saleae data import

My main use case with this device is to have two devices always connected.
I would like to be able to import some digital (and analog?) waveforms. For me, supporting just the Saleae Logic is fine.
Is there any expected support path for this?
(Love the Joulescope so far! I have wanted this exact thing for so long!)

Hi @gideon-decr
Great to hear that you are loving your Joulescope so far!
We do not currently have plans to integrate with Saleae Logic directly.  The original ".logicdata" sounds messy:
https://support.saleae.com/faq/technical-faq/can-i-create-or-edit-logicdata-files
They do have a feature request to document the new ".sal" Logic 2 format:
https://saleae.upvoty.com/b/feature-requests/provide-info-on-the-sal-file-format/
We have thought about integrating with sigrok, which is open-source.  What do you think?
Which is more important to you?  Exporting Joulescope UI data to another tool or importing the other tool's data into the Joulescope UI?  If you don't care, that works, too ;)

It is your program! Support whatever you want. Just wanted to let you know what I would use most.
What I really want is a workflow to go from two signals to a synced set of signals.
I don't care if I have to export it and then run it through a script and then import it.
Ideally, you would define a synchronization scheme that would simultaneously sync the two signals and sync the relative timing.
Example:
embedded code:
static pseudo random sequence of us delays and toggling the bit each time
(this lets you use a match filter to find the location of these easily and uniquely )
A series of toggles with 1us between each
The option to have another of that toggle sequence at the "end" of the interesting area of the signal. (Or just every X period of time)
You can use the location of these sequences in the digital signal from the Joulescope and the same signal from the other device (ex. Saleae) to then resample the other devices signals to make them all line up. (This matters more and more the longer the sampling period.
Another request you mentioned recently talked about multi-day recordings. That kind of recording would be the type of thing that would really shine. The waveform from the Joulescope and the other device might be wildly off by the end. (Perhaps by minutes!)
I might have some code that solves this problem.

At one point in a past life, I used a 50% duty cycle pulse-per-second signal.  The rising edge of the pulse was accurately triggered, such as by a GPS receiver.  The falling edge was then followed by the UART-encoded timestamp of the rising edge of the pulse.  This presented a unique signal for doing just this type of resynchronization.
Your Joulescope has ±20 ppm accuracy.  Another option is to correct the sampling rate to your PC's clock, which is usually synchronized through NTP, which is based upon very accurate Stratum 1 servers.  This would significantly reduce the amount of clock scaling issues.  It would also help with #55.

Oh, sorry if it seemed if I was attacking the Joulescope. I am not. It doesn't matter if the Joulescope is perfectly accurate.
The device connected to the GPIO pin likely has a clock that will have an offset and drift over time. (both faster AND slower)
Pushing synchronization to the embedded device isn't really a good idea. Introducing a third party into the mix won't help a lot in this case. (because then you have to prove how often your Joulescope is being synced to that same party's clock) You want your two signal streams to be aligned and resampled to be on the same time basis relative to one another. And, ideally, you probably don't want either of them synched during the process to cause a likely time-basis jump in one system.
The non-square-wave-ness of the signal I was talking about allows you to use that channel for lots of other signals without concern of confusion. The fact that you only have two GPIO inputs (and the embedded system might only have one GPIO output!) means that it is important to consider unambiguous in-band synchronization techniques.
I know this is an advanced feature and perhaps something to add to an issue to get back to ... never. But it might at least be worth thinking about how to expose the needed tools to others to make it easy for them to put together a system like this. (Perhaps they already exist and I haven't thought hard enough about it yet. Or it simply requires exporting and not using your software for visualization.)

I still think it would be a game changer for you to define the scheme and have your program support it but perhaps this is possible via this process:
Ability to export just the GPIO waveforms from the jls file with time stamp information. (Perhaps this already exists. I haven't looked yet.)
A script is run separately that takes the GPIO waveform and the external signals and resamples them to be on the time basis of the jls file.
You support importing a logic-analyzer type file format for bringing those back into the Joulescope program.
(Ideally this import would allow text overlay of some sort to allow import of protocol decoder's information on logic streams.)
All signals are now displayed in the Joulescope program on the same time-basis with all of the interesting current and logic-decoded information in one place.
That makes it such that the supported features for you are minimal and probably useful in 1000s of other contexts. And you just work with someone (possibly myself) to create a tutorial on this particular workflow along with the scripts that solve the hard synching problems.

@gideon-decr Oh, sorry if it seemed if I was attacking the Joulescope. I am not.

No worries!  I didn't take it that way.  Unless you use a precision lab clock for everything, devices will drift.  I do need to figure out how to match accurate UTC time onto Joulescope samples, so that's likely the first approach.

@gideon-decr Ability to export just the GPIO waveforms from the jls file with time stamp information. (Perhaps this already exists. I haven't looked yet.)

The existing 0.9.2 Joulescope UI does not have this feature, but it would be a reasonably easy feature, once we have UTC time.

@gideon-decr You support importing a logic-analyzer type file format for bringing those back into the Joulescope program.

I really like the Joulescope UI for current, charge, voltage, power, and energy analysis, but am a little concerned about the amount of software work here as the Joulescope UI is not even close to being a full-fledged logic analyzer.  It's a long way from displaying any protocol decoder info.  We may be able to add sigrok integration or exporting so that we don't have to recreate everything from scratch.

Last thing I will say about this:
If you don't want to support the data streams in your app then you should create the ability to import a time synchronization vector. (This would be conserved along with the UTC sync approach.)
Just allow the import of 2 1d vectors  that create a mapping from sample number to time stamp (or any arbitrary integer).
Then all you have to do to support this is create the function for mapping from your integers to the other integer. (That is just a curve fitting operation to obtain a simple mathematical function to go from counts to time.) You would actually only have to run the integers that you display on your UI or transform the integers on export using this mapping function. You technically wouldn't have to change anything else in your UI. (I am sure there are 1-2 other places you would have to map back and fourth.) You then can conditionally apply a int->int -> timestamp string transformation for the case of going to a easy to read human string in place of an integer.
Then you just need to store in your JLS file an occasional set of times (perhaps once every 10 minutes and when it is started and stopped) when you sent an integer from the Joulescope and had a high degree of reliability on time received on the host. (This could be via an explicit sync operation or just when you happen to know the last sample was in a stream operation.)
Then you can use the same int->int approach for timestamps for a while and then add the int->int->timestamp when you have time to tune the UI to handle all the strange text formatting corner cases.  You could even just do an counts_int->fxp_utc_int->utc_float for a while so you can go from counts to utc in fixed point to a user visible floating point UTC number.

checking in on this one, I find myself wanting to combine the saleae and joulescope plots all the time
my hack has been to measure a less exact current using say an INA223 to get a voltage output to connect into an analog channel on the saleae.
a dream feature on a future hardware version of joulescope would be either

0-10V or -10 V to 10 V voltage output jack that mirrors the current readout (configurable range to voltage)
or
joulescope with say 4-8 analog voltage input channels to be able to plot a few more rails when measuring system current

Hi @raveslave, and thanks for the feedback!  We are working on the next-generation Joulescope now.  The current design in progress has 4 digital general-purpose inputs and 2 digital general-purpose outputs.  This will give you a couple more inputs to help with synchronization.
For the analog output feature, what output sampling rate would you need for your application?  Would 0 to 3.3V output with zero biased to 1.65V be good enough?  Our existing microcontroller does have a 12-bit, 1 Msps DAC that we could potentially use for this feature.  I am not sure if it has enough processing remaining for the full rate.
I definitely understand your desire to have more analog inputs.  I do think that there could be a market for a DAQ focused on the low-power space.  Unfortunately, the current supply chain problems make it very difficult to consider any other new products at this time.

hi, looking forward to the next version! great with some added i/o, a nice feature would be if the inputs can double as UART and I2C in case you want to trig on a specific i2c event or just get a timestamped UART log that can be synced to the current graphs (log could just be a socket to terminal for those who run the py bridge)
I find myself wanting to measure at least 3-4 voltage rails in parallel, shouldn't att too much to the bom to allow this as an extra to the main current/voltage input!?
about the CV ouput, does it need to go via the ARM or could you track & scale it in the analog domain?
I would make it 10V range so that when using a scope or saleae (50 MS/s btw) you can simply do a "1:1" conversion if the range is 1A in joulescope, that would be 10V on the scope.

We plan to support UART RX with timestamped messages for the next-generation Joulescope, the JS220.  Depending upon how things go, this feature might be added after the initial launch, but we are designing for it!  Timestamped I2C and SPI decode would be good to add, but those features would be lower priority than UART.  The JS220 will have a much bigger FPGA than the JS110, so we will have more options open.
The JS220 will have dedicated V+ and V- inputs.  You could potentially use an external analog multiplexer to sample multiple rails.  I am not sure what exists off-the-shelf.  Right now, adding any additional hardware is almost a non-starter due to the component supply shortage.  I don't see any easy way to expose 3-4 more inputs with the existing design.
The DAC is on the USB host side, so the signal would be referenced to USB ground.  We could do 0.1V / A.  No promises on being able to add this feature, but I will investigate.  The deciding factors will be cost and component availability.  For many applications a simple digital signal output triggered on an analog threshold may be enough.  The JS220 will have this feature.

great features. hoping that the cpu dac might happen, it's a good extra.
just got an idea to an alternative "saleae mixed measurements" that might work on current hardware too!
utilizing one of the digital outputs, the joulescope could output a light-weight, streaming uart-packet that is converted using a logic2-extension + High Level Analyzer to show the result as a text-string in their UI

The JS220 will also have the ability to output UART TX (N81), too.  Sending short text strings should work great with the existing Saleae Logic UART analyzer.
The JS110 general-purpose outputs are both controlled directly by the host software, so the timing is not great.  USB variability is measured in milliseconds, so I don't see a way to get any reasonable data rates.  The easiest path to UART RX/TX support is to upgrade to the JS220.


Regular Expression Denial of Service from vinyl deps

Hi,
First, thanks for the great lib. (:
I'm using the service nodesecurity.io e it is blaming about some dependencies vulnerability:
118 - Regular Expression Denial of Service

Vulnerable: <=3.0.1 - Patched: >=3.0.2 - Path<EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>
How to fix
Updated to version 3.0.2 or greater

Vulnerable: <=3.0.1 - Patched: >=3.0.2 - Path<EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>
How to fix
Updated to version 3.0.2 or greater

The lib vinyl here is using the version 0.3.14 and checking, the actual version is 2.4.3 (https://github.com/gulpjs/vinyl-fs/blob/master/package.json) which updates glob-stream to 6.1.0 and maybe fix this issue, since the actual version a little bit old.
Any plan to update vinyl?
Thank you for the great work, again. (:

https://github.com/gulpjs/gulp/issues/1719#issuecomment-231514385


Add inspect

Some objects are overly large when displayed in IRB or test output. Overriding inspect on the classes will make them to be easier to view.

The easy, quick way to end the horrendously verbose console output is to override inspect (or to_s) in the connection classes. Another approach would be to try to bring the output of inspect (or to_s) for every public class in line with the Rest API resource representation. A big job for sure, but there may be value in it. As suggested by the official Ruby documentation:

User defined classes should override this method to provide a better representation of obj. When overriding this method, it should return a string whose encoding is compatible with the default external encoding.

@blowmage How were you originally picturing this scope of work?

The default inspect reveals the internals of the object, the implementation, which may change over time. Normally it isn't a problem, but we have some very large objects in the object graph and the output is ridiculously big. I agree that the biggest bang for the buck is overriding the Connection objects, which are not part of the public API but expose many things about how gcloud works. Google API Client, Signet, etc.  But, if we override inspect on Connection I figure we might as well do the other classes as well. Consistency is good.
That said, I haven't started this yet so I don't know what the appropriate scope of the work is. Perhaps overriding inspect in all classes is more work for minimal benefit? Hard to say until we dig into it.

Let's schedule a time to pair on this one.

Here's what I currently have locally. The final method call shows how the new Storage connection inspect looks in a collection.
irb(main):001:0> gcloud.bigquery
=> #<Gcloud::Bigquery::Project:0x007ffb84099d90 @connection=Gcloud::Bigquery::Connection(nodal-almanac-725)>
irb(main):002:0> gcloud.datastore
=> #<Gcloud::Datastore::Dataset:0x007ffb8435a638 @connection=Gcloud::Datastore::Connection(nodal-almanac-725)>
irb(main):003:0> gcloud.pubsub
=> #<Gcloud::Pubsub::Project:0x007ffb83ab88b8 @connection=Gcloud::Pubsub::Connection(nodal-almanac-725)>
irb(main):004:0> gcloud.storage
=> #<Gcloud::Storage::Project:0x007ffb83cfd290 @connection=Gcloud::Storage::Connection(nodal-almanac-725)>
irb(main):005:0> _.buckets
=> [#<Gcloud::Storage::Bucket:0x007ffb8723a1d8 @connection=Gcloud::Storage::Connection(nodal-almanac-725), @gapi=#<Google::APIClient::Schema::Storage::V1::Bucket:0x3ffdc391d268 DATA:{"kind"=>"storage#bucket", "id"=>"bigquery-exports-0943faf3-5e27-42ec-acd9-765450b3ce55", "selfLink"=>"https://www.googleapis.com/storage/v1/b/bigquery-exports-0943faf3-5e27-42ec-acd9-765450b3ce55", "projectNumber"=>"324770174224", "name"=>"bigquery-exports-0943faf3-5e27-42ec-acd9-765450b3ce55", "timeCreated"=>"2015-08-19T22:29:55.089Z", "metageneration"=>"1", "owner"=>{"entity"=>"project-owners-324770174224"}, "location"=>"US", "storageClass"=>"STANDARD", "etag"=>"CAE="}>>,
#<Gcloud::Storage::Bucket:0x007ffb8723a188 @connection=Gcloud::Storage::Connection(nodal-almanac-725), @gapi=#<Google::APIClient::Schema::Storage::V1::Bucket:0x3ffdc391d1f0 DATA:{"kind"=>"storage#bucket", "id"=>"datastore-backups-d914dd52-7f99-4a74-8aa2-8cb15c25a05c", "selfLink"=>"https://www.googleapis.com/storage/v1/b/datastore-backups-d914dd52-7f99-4a74-8aa2-8cb15c25a05c", "projectNumber"=>"324770174224", "name"=>"datastore-backups-d914dd52-7f99-4a74-8aa2-8cb15c25a05c", "timeCreated"=>"2015-08-24T22:58:09.821Z", "metageneration"=>"1", "owner"=>{"entity"=>"project-owners-324770174224"}, "location"=>"US", "storageClass"=>"STANDARD", "etag"=>"CAE="}>>
, #<Gcloud::Storage::Bucket:0x007ffb8723a138 @connection=Gcloud::Storage::Connection(nodal-almanac-725), @gapi=#<Google::APIClient::Schema::Storage::V1::Bucket:0x3ffdc391d178 DATA:{"kind"=>"storage#bucket", "id"=>"gcloud_ruby_regression_2015_07_31t17_28_30z_f7396365_dataset", "selfLink"=>"https://www.googleapis.com/storage/v1/b/gcloud_ruby_regression_2015_07_31t17_28_30z_f7396365_dataset", "projectNumber"=>"324770174224", "name"=>"gcloud_ruby_regression_2015_07_31t17_28_30z_f7396365_dataset", "timeCreated"=>"2015-08-07T14:47:26.213Z", "metageneration"=>"1", "owner"=>{"entity"=>"project-owners-324770174224"}, "location"=>"US", "storageClass"=>"STANDARD", "etag"=>"CAE="}>>]

I think the new inspect on the Connection class for each service solves most of the problem at very low cost, but maybe I should try to improve some of the slightly too verbose classes such as Bucket?

I kinda agree about overriding inspect on other classes. Especially when viewing collections. But I can also see the argument for only doing Connection.
Up to you IMO. :)

After thinking about it, I think it's best to leave this @gapi output as-is, for the benefit of easy inspection of any attribute that someone may be interested in. PR coming soon for connection changes.


.env.example

give me a example of .env file
Also what do I need to do after downloading the ImageMagick  executable file?
I asked it because i am getting error TypeError: search_for_stock_videos() missing 1 required positional argument: 'api_key' even though i had pexels api key saved in the .env file
Please provide detailed readme file

Sorry for inconvenience. the code is quite old and I don't remember much. But imagebricks is necessary to run this code and coming to the part of updating the Readme. I will do it soon.
If having some issues then contact in telegram group 👇
https://t.me/devsdocode


Update node base image

I'm working with cypress/browsers:chrome69 as my base image which in the end depends on node:10.13.
As of today, the apt-get update && apt-get -y upgrade && apt-get -y autoremove which   I have in my Dockerfile does not work anymore.

Failed to fetch http://deb.debian.org/debian/dists/jessie-updates/main/binary-amd64/Packages  404  Not Found

According to https://wiki.debian.org/StableUpdates this is because there isn't any jessie-updates anymore.
The problem is that the /etc/apt/sources.list of the node:10.13 based image looks like this:
root@d1c803ed61fa:/e2e# cat /etc/apt/sources.list
deb http://deb.debian.org/debian jessie main
deb http://security.debian.org/debian-security jessie/updates main
deb http://deb.debian.org/debian jessie-updates main

Therefore it would be awesome if you folks could update to a more recent base image.
Best regards

Thank you for posting this! I copied your fix for my Docker container.


Add error fix suggestion for too long input size

This PR adds a message to help the user fix the input size too long error, particularly when a non-admin user has access to too many namespaces

@jgbernalp Do we need a JIRA to track this?

/lgtm


Sound Off Button

A click option to turn off the sound (client)

Bug: On ai prompt submit the mute button becomes unmuted. The state should be saved such that it stays muted.


updated changelog in prep for releaseg

Pull Request Test Coverage Report for Build 338

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.938%

Totals

Change from base Build 336:
0.0%

Covered Lines:
1505

Relevant Lines:
1793

💛  - Coveralls


Github old release

On all other platforms it´s 1.4.13 but on github 1.4.12.

Thx for noticing. 1.4.13 was released accidentally and I still don't know how that happened.


Depth testing

Jonathan,
I'm using
GPU_SetDepthTest( target, true );
GPU_SetDepthWrite( target, true );
target->camera.z_near = -65535;
target->camera.z_far = 65535;

to help override "drawing order" of certain sprites in my application. (Yes, I'm aware of blending artifacts when drawing transparent sprites in reverse order)
In my engine, I draw hierarchy of sprites - parent first, then children, then grandchildren. In the basic case, they all have z coordinate = 0. When depth write, and testing is enabled, it looks like the parent is always drawn last, on top of children (even though the actual drawing order is the opposite). I suspect the depth testing is "greater than" instead of "greater or equal", or something along those lines. When I turn off depth testing, they are drawn correctly.
Could you add the ability to alter the depth testing function, or change its default type?
It would also be great if there wasn't a hard limit on camera z_near/z_far being in -100/100 range.
Thank you.

Hi, has there been a commit to fix this yet?

Recent job change has me busy!  This latest adds a function to change the depth test.  The z range of the depth buffer should be affected by the target camera's z_near and z_far values.

Thank you, Jonathan. Good luck on the new job!


Change AVX2/512 kernel infrastrucure for additional gate/generator operations

Before submitting
Please complete the following checklist when submitting a PR:

[x] All new features must include a unit test.
If you've fixed a bug or added code that should be tested, add a test to the
tests directory!

[ ] All new functions and code must be clearly commented and documented.
If you do make documentation changes, make sure that the docs build and
render correctly by running make docs.

[x] Ensure that the test suite passes, by running make test.

[ ] Add a new entry to the .github/CHANGELOG.md file, summarizing the
change, and including a link back to the PR.

[x] Ensure that code is properly formatted by running make format.

When all the above are checked, delete everything above the dashed
line and fill in the pull request template.

Context: This PR extracts an essential structural change in #393. Especially, the SingleQubitGateHelper and TwoQubitGateHelper classes for AVX2/512 gates are clarified and tested.
Description of the Change:
Benefits:
Possible Drawbacks:
Related GitHub Issues:

Thanks @chaeyeunpark for the nice work! Just left a few comments.

[sc-31399]


Let the next version be v4 instead of v3

CuPy and Chainer has different major version. This problem often causes confusion.
So, We will change the next major version of CuPy to v4

The version number is bumped from beta.


Cannot login to keybase: no secret key available

KBFS was mounting to ~/.local/share with only a single directory symlinked to /keybase. Uncertain what to do, I blew away the .local/share/keybase and .config/keybase directories. On attempted re-login I am greeted with "No secret key available"

You threw away your private key

@maxtacoIs Is there a solution?

Use one of your other devices to revoke that device, and then reprovision it.


Update config.json

Updated cp4d and itts build version to 4.8.0.

Can you take care of the dco requirement please.

@sandeepravutla473 And now you have access to merge as well.


Feature/first connection to database

This works natively, but not with wasm :-(
Using mysql_async + tokio
Problem I faced: mysql_async is not compatible with wasm/wasi.
I tried mysql_async_wasi, but that is not compatible with eGui/eFrame :-( :-(
Solution is either finding another crate who is, but couldn't find one, or switching GUI framework...

So apparently, even with wasm it's not straightforward to have an IP connection to a database directly.
I would expect, if apps can be run natively and with TLS, it should be possible, probably with WASI.


Cannot delete folders inside the main archive once the archive has auto expanded and an aux archive has been created.

Our documentation says the following:
"You can delete items in a subfolder that points to an auto-expanded storage area, but the folder itself can't be deleted."
This paragraph implies that only folders that have been moved in aux archives or have a copy in an aux archive, can no longer be deleted. In reality, we cannot delete ANY folder which exists in the archive, regardless if it points to an aux archive location or not.

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

ID: 69e08cf1-3ef1-7d22-122e-ef0f45c26215
Version Independent ID: e9677dc3-580d-0a66-80ac-30a8aabdd45f
Content: Overview of unlimited archiving in Office 365 - Microsoft 365 Compliance
Content Source: microsoft-365/compliance/unlimited-archiving.md
Service: o365-seccomp
GitHub Login: @markjjo
Microsoft Alias: markjjo

@Alex-Catalin Thanks for the heads up. I'll confirm with engineering and then update the topic accordingly.