[Table] Uncheck SelectAll Checkbox doesn't trigger onRowSelection event

In a Table component, Uncheck SelectAll Checkbox doesn't trigger any event. And right after Uncheck it, if you tap the checkbox of any row, onRowSelection event passes an array ending with 'undefined' item.

Is https://github.com/callemall/material-ui/pull/1609 solving your issue?

imho it's better to return a array no matter they are all selected or all unselected. But return 'none' is better than nothing.
And there's another issue described in my op, after uncheck the "select all" checkbox, if you tap a checkbox of any row, you get an array ending with "undefined", just like the pic above.

I have merge the latest PR. I have also noticed the second issue.
I don't really know how the table is working, do you want to submit a PR to fix it?

Sorry, I am just a casual developer. I don't understand what PR is. :stuck_out_tongue_closed_eyes:  But I do think that is a bug.

@oliviertassinari : is this still an issue. Just asking you because I saw you comment in here,

@oliviertassinari I believe this has been fixed. You can see the behavior here:
https://www.webpackbin.com/bins/-Kjz1oNfYwS4TzGbjEWO

Thanks for leting us know. Let's close it :).


Kafka 2.0.0

this fixes #28

@silverbadge can you please review if this fits your needs?
This is a backward compatible change, but it encourages people to add the extra CSV Column as a WARN.

@silverbadge so you fully tested it? Thanks a lot!


Adding Support to 5.7

@sleimanx2 It's a shame this PR isn't merged since this blocks us to upgrade to the latest Laravel version.
Can we help you with something regarding this upgrade?

+1


Restoring packages holds forever after "npm WARN notsup Not compatible with your operating system or architecture<EMAIL_ADDRESS>

I follow Visual Studio 2015 quickstart turorial. (https://angular.io/docs/ts/latest/cookbook/visual-studio-2015.html).
When I do Step 5: Restore the required packages, according to tutorial, after some time I should see : "npm command completed with exit code 0".
But restoring packages holds in the middle of the process. In output I see the last lines :
...
...
| | |   +--<EMAIL_ADDRESS>| | |   --<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | +--<EMAIL_ADDRESS>| | | --<EMAIL_ADDRESS>| | --<EMAIL_ADDRESS>| |   --<EMAIL_ADDRESS>| +--<EMAIL_ADDRESS>| --<EMAIL_ADDRESS>--<EMAIL_ADDRESS>npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture<EMAIL_ADDRESS>After this there was no progress for an hour ( I tried it several times with clearing cache before).
What can I do with it? (I have windows 10 x64, if it's important)

Your problem is not related to this repo. This seed project is for angular 1.
I would try asking on one of the general support channels (e.g. StackOverflow, Gitter etc).


Allow post pages to start from any reply (at_id)

As discussed here, it would be useful if it were possible to view, for example, posts 5–29, i.e. starting a page from any reply rather than being constrained by the page system.
On a slow computer or with slow Internet, sometimes it takes long enough loading the next page that one can forget the specifics of how the previous page ended, sometimes having to go back a page and reread.
On Dreamwidth this problem could be avoided by using threaded mode and always making sure the newly loaded set of posts overlap with those one has already read. The Constellation does not currently have a similar feature.
It seems like several people were in favor of this being available when it was discussed before. This is related to this issue, which was marked as resolved without this specific feature being implemented.

the lowest priority because it's hacky, but fix the hacky.

It worked perfectly with how I tested it, although as expected it behaved weirdly.
Details:
It still shows the original post unhidden, which confused me when I wasn’t expecting that.
Because of the confusion, I tried at_id=unread twice in a row, and got a 500-level error the second time, probably because there was no unread.
When I manually found the reply I wanted, at_id=388151&per_page=100 showed me what I wanted. It had the original post visible, and nothing was in the (mobile) pagination bar, making it look like a one-page thread with everything showing. This is fine since there was nothing after the end of the page shown.
Further testing (mobile view only) shows that pagination, both backwards and forwards, seems to work consistently if you start farther back than the last page, and works exactly as though the at_id were the first reply in the thread. Not ideal, but fixes my issues and good enough for a feature which isn’t exposed in the UI at all.
If you want to turn this into a proper feature instead of a quick hack to help a difficult user, I think you should hide the original post unless the first reply displayed is actually the first in the thread, and allow navigation before the at_id reply. This of course could cause problems when you get near the beginning of the thread if the at_id thread isn’t at a multiple of the page size; I think there are four reasonable ways to handle that. The first three have page 1 start at the first reply and page 2 start at at_id minus some multiple of the page size.
Page 1 shows all replies from the first reply to the start of page 2, even if this is fewer than the page size. This has the advantage of each reply being on one page, but the disadvantage of never getting back in phase with the standard pagination.
Page 1 shows the first per_page replies, even if this overlaps with page 2, and hitting next gets you that same page 2 compete with overlap. This has the advantage of using the full page size but has overlap and it’s impossible to get in phase with the standard pagination.
Page 1 works just like with no at_id; going to page 1 and then page 2 takes you to the standard page 2. This makes pagination change in a potentially weird way, but does allow getting back in phase.
Any backwards navigation takes you to a standard page, not just page 1. I think this is a bad option but maybe there’s something to be said for front-loading the weird behavior.
I go back and forth between preferring the first and third options. For any option, I’d implement this by making pagination links change the at_id value instead of combining at_id and page, although your pagination library might not like that.
Alternately, you can leave it as-is and not turn the quick hack into a proper feature, unless other people want it. It works fine for me as-is.
Thanks again.

http://alicorn.elcenia.com/board/viewtopic.php?f=12&t=459&start=1610#p30641

Cross-reference: #53


Make avatars selectable in signup modal

The user should be able to pick one of those avatars to identify them in the future.
This modal component is currently called SaveProgressButton, which is not quite right. I'd rename to to SignupModal or something like it.
Design in Figma.

Also, the "Done" button is not functional. I assume we'll be able to pass in a function callback to handle what should happen next. This modal can be opened from various places, so we need some flexibility there.

I'll work on this


Exception in checksum verification in ArmoredInputStream is sometimes swallowed

Hey!
The ArmoredInputStream does a checksum verification in its read() method.
Unfortunately, a mismatching CRC checksum results in an IOException being thrown.
This is unfortunate, because the default implementation of InputStream.read(bytes, offset, length) silently swallows IOExceptions. Therefore the CRC checksum error goes unnoticed.
I see two ways of fixing this:

Throw a custom exception not derived from IOException. This will likely break existing implementations, as a new runtime exception type needs to be introduced.
Override ArmoredInputStream.read(bytes, offset, length) to not swallow IOExceptions. This is probably the preferred way to solve the issue.

See https://github.com/pgpainless/pgpainless/issues/159#issuecomment-886694555

Closing as #999 now merged.


ompl.util._util error

hi, great work
python execute.py --task_config_path example_tasks/Change_Lamp_Direction/Change_Lamp_Direction_The_robotic_arm_will_alter_the_lamps_light_direction_by_manipulating_the_lamps_head.yaml
grasp the lamps head primitive
Traceback (most recent call last):
File "/ssd/code/RoboGen/pybullet_ompl/pb_ompl.py", line 2, in
from ompl import base as ob
File "/home/qiaojun/miniconda3/envs/robogen/lib/python3.9/site-packages/ompl/base/init.py", line 1, in
from ompl import util
File "/home/qiaojun/miniconda3/envs/robogen/lib/python3.9/site-packages/ompl/util/init.py", line 4, in
from ompl.util._util import *
ModuleNotFoundError: No module named 'ompl.util._util'
ubuntu 20.04

That means ompl is not correctly installed. Could you please take a look at https://github.com/ompl/ompl/issues/609.
We will also provide a docker with ompl installed.

OMPL py-bindings installation errors. You must have _utils.so and other libs generated under build/Release/lib, you can refer to ompl.

hi, great work python execute.py --task_config_path example_tasks/Change_Lamp_Direction/Change_Lamp_Direction_The_robotic_arm_will_alter_the_lamps_light_direction_by_manipulating_the_lamps_head.yaml
grasp the lamps head primitive Traceback (most recent call last): File "/ssd/code/RoboGen/pybullet_ompl/pb_ompl.py", line 2, in from ompl import base as ob File "/home/qiaojun/miniconda3/envs/robogen/lib/python3.9/site-packages/ompl/base/init.py", line 1, in from ompl import util File "/home/qiaojun/miniconda3/envs/robogen/lib/python3.9/site-packages/ompl/util/init.py", line 4, in from ompl.util._util import * ModuleNotFoundError: No module named 'ompl.util._util'
ubuntu 20.04

Hi，
Did you solve this problem？

hi, great work python execute.py --task_config_path example_tasks/Change_Lamp_Direction/Change_Lamp_Direction_The_robotic_arm_will_alter_the_lamps_light_direction_by_manipulating_the_lamps_head.yaml
grasp the lamps head primitive Traceback (most recent call last): File "/ssd/code/RoboGen/pybullet_ompl/pb_ompl.py", line 2, in from ompl import base as ob File "/home/qiaojun/miniconda3/envs/robogen/lib/python3.9/site-packages/ompl/base/init.py", line 1, in from ompl import util File "/home/qiaojun/miniconda3/envs/robogen/lib/python3.9/site-packages/ompl/util/init.py", line 4, in from ompl.util._util import * ModuleNotFoundError: No module named 'ompl.util._util'
ubuntu 20.04

Hi， Did you solve this problem？

I have solved that problem on ubuntu20.04. It was hard. I recommand creating a virtual python env instead of using /usr/bin/python to compile the py-bindings. Install numpy,  pygccxml==2.2.1 and pyplusplus in that venv before Cmaking. And then examine if there is any error in making update_bindings. If all succeeds,  _utils.so and other libs will be generated under build/Release/lib.

hi, great work python execute.py --task_config_path example_tasks/Change_Lamp_Direction/Change_Lamp_Direction_The_robotic_arm_will_alter_the_lamps_light_direction_by_manipulating_the_lamps_head.yaml
grasp the lamps head primitive Traceback (most recent call last): File "/ssd/code/RoboGen/pybullet_ompl/pb_ompl.py", line 2, in from ompl import base as ob File "/home/qiaojun/miniconda3/envs/robogen/lib/python3.9/site-packages/ompl/base/init.py", line 1, in from ompl import util File "/home/qiaojun/miniconda3/envs/robogen/lib/python3.9/site-packages/ompl/util/init.py", line 4, in from ompl.util._util import * ModuleNotFoundError: No module named 'ompl.util._util'
ubuntu 20.04

Hi， Did you solve this problem？

I have solved that problem on ubuntu20.04. It was hard. I recommand creating a virtual python env instead of using /usr/bin/python to compile the py-bindings. Install numpy,  pygccxml==2.2.1 and pyplusplus in that venv before Cmaking. And then examine if there is any error in making update_bindings. If all succeeds,  _utils.so and other libs will be generated under build/Release/lib.

I have installed pygccxml&& pyplusplus, but when I excute install_ompl_ubuntu.sh,  report errors as:
-- The following Python modules were NOT found:

pyplusplus pygccxml

hi, great work python execute.py --task_config_path example_tasks/Change_Lamp_Direction/Change_Lamp_Direction_The_robotic_arm_will_alter_the_lamps_light_direction_by_manipulating_the_lamps_head.yaml
grasp the lamps head primitive Traceback (most recent call last): File "/ssd/code/RoboGen/pybullet_ompl/pb_ompl.py", line 2, in from ompl import base as ob File "/home/qiaojun/miniconda3/envs/robogen/lib/python3.9/site-packages/ompl/base/init.py", line 1, in from ompl import util File "/home/qiaojun/miniconda3/envs/robogen/lib/python3.9/site-packages/ompl/util/init.py", line 4, in from ompl.util._util import * ModuleNotFoundError: No module named 'ompl.util._util'
ubuntu 20.04

Hi， Did you solve this problem？

I have solved that problem on ubuntu20.04. It was hard. I recommand creating a virtual python env instead of using /usr/bin/python to compile the py-bindings. Install numpy,  pygccxml==2.2.1 and pyplusplus in that venv before Cmaking. And then examine if there is any error in making update_bindings. If all succeeds,  _utils.so and other libs will be generated under build/Release/lib.

I have installed pygccxml&& pyplusplus, but when I excute install_ompl_ubuntu.sh, report errors as:
-- The following Python modules were NOT found:
* pyplusplus pygccxml

Do you have the required python libraries installed correctly in the python environment used by cMake? You can specify the python for cmake with param   -DPYTHON_EXECUTABLE <your path to python>
And, by the way, you should better compile OMPL mannually rather than run that script. Try to understand the procedure install_ompl_ubuntu.sh, it is quite simple. You may need to adjust the cmake configurations.

hi, great work python execute.py --task_config_path example_tasks/Change_Lamp_Direction/Change_Lamp_Direction_The_robotic_arm_will_alter_the_lamps_light_direction_by_manipulating_the_lamps_head.yaml
grasp the lamps head primitive Traceback (most recent call last): File "/ssd/code/RoboGen/pybullet_ompl/pb_ompl.py", line 2, in from ompl import base as ob File "/home/qiaojun/miniconda3/envs/robogen/lib/python3.9/site-packages/ompl/base/init.py", line 1, in from ompl import util File "/home/qiaojun/miniconda3/envs/robogen/lib/python3.9/site-packages/ompl/util/init.py", line 4, in from ompl.util._util import * ModuleNotFoundError: No module named 'ompl.util._util'
ubuntu 20.04

Encountered the same problem and took some time to solve it, and found that the version of pypy3 was incorrect , just upgrage pypy3 and compile ompl again:
sudo apt-get remove pypy3
sudo add-apt-repository ppa:pypy/ppa
sudo apt-get install pypy3
sudo apt update sudo apt install pypy3
pypy3 -V
Python 3.9.18 (7.3.13+dfsg-1~ppa1~ubuntu20.04, Oct 17 2023, 11:00:05)
[PyPy 7.3.13 with GCC 9.4.0]

I solved this problem by using latest ompl source from github, following this approach:
in install_ompl_1.5.2.sh comment the last line:
install_ompl -> #install_ompl
Run install_ompl_1.5.2.sh to install apt requirements.
Update my pypy3 install following @koupoo 's guide.
Compile ompl with guide from Github
git clone https://github.com/ompl/ompl.git
mkdir -p build/Release
cd build/Release
cmake ../..
# next step is optional
make -j 4 update_bindings # if you want Python bindings
make -j 4 # replace "4" with the number of cores on your machine

Don't forget to add py binding path to {your_conda_install}/envs/robogen/lib/python3.9/site-packages/ompl.pth
For my installation, py binding path is /home/ubuntu/RoboGen/ompl/py-bindings

I solved this problem by using the latest ompl source from github, following this approach:
in install_ompl_1.5.2.sh comment out the last line: install_ompl -> #install_ompl
Run install_ompl_1.5.2.sh to install apt requirements.
Update my pypy3 install following @koupoo 's guide.
Compile ompl with the guide from Github
git clone https://github.com/ompl/ompl.git
mkdir -p build/Release
cd build/Release
cmake ../..
# next step is optional
make -j 4 update_bindings # if you want Python bindings
make -j 4 # replace "4" with the number of cores on your machine

Don't forget to add py binding path to {your_conda_install}/envs/robogen/lib/python3.9/site-packages/ompl.pth
For my installation, py binding path is /home/ubuntu/RoboGen/ompl/py-bindings

Hey,
I exactly followed your steps for ubuntu 20.04, but I get the following error.
[ 74%] Built target test_nearestneighbors
/usr/bin/ld: CMakeFiles/test_2dpath_simplifying.dir/geometric/2d/2dpath_simplifying.cpp.o: in function SimplifyTest::SimplifyTest()': 2dpath_simplifying.cpp:(.text._ZN12SimplifyTestC2Ev[_ZN12SimplifyTestC5Ev]+0x1cc): undefined reference to boost::filesystem::path::operator/=(boost::filesystem::path const&)'
/usr/bin/ld: 2dpath_simplifying.cpp:(.text._ZN12SimplifyTestC2Ev[_ZN12SimplifyTestC5Ev]+0x819): undefined reference to `boost::filesystem::path::operator/=(boost::filesystem::path const&)'
collect2: error: ld returned 1 exit status
make[2]: *** [tests/CMakeFiles/test_2dpath_simplifying.dir/build.make:93: bin/test_2dpath_simplifying] Error 1
make[1]: *** [CMakeFiles/Makefile2:1124: tests/CMakeFiles/test_2dpath_simplifying.dir/all] Error 2
[ 74%] Linking CXX shared module ../lib/_util.so
Copying python module util into place
[ 74%] Built target py_ompl_util
make: *** [Makefile:163: all] Error 2
davood@davood-Latitude-3440:~/Downloads
Any Ideas?
Thanks

@yufeiwang63
Hi, I'm the maintainer of OMPL. If possible, I'd recommend using the pre-built Python wheels (available here currently: https://github.com/ompl/ompl/releases/tag/prerelease). We plan to release on PyPI soon.
Happy to help with build issues - I'd recommend if possible using the latest version of OMPL, as 1.5.2 has some known issues with compilation.

Thanks,
I clone the latest version from your Github repo. However, I still have a problem with boost. I already have raised an issue regarding this.
I have no idea how should I integrate this Python wheels with OMPL, as I'm new in this area.
I wonder whether is there any other way to use OMPL Python bindings on other platforms (Windows)?
Thanks again

@yufeiwang63
Hi, I'm the maintainer of OMPL. If possible, I'd recommend using the pre-built Python wheels (available here currently: https://github.com/ompl/ompl/releases/tag/prerelease). We plan to release on PyPI soon.
Happy to help with build issues - I'd recommend if possible using the latest version of OMPL, as 1.5.2 has some known issues with compilation.

Thanks! I used ompl 1.5.2 because I had trouble building the latest github source (I think it's version 1.6) back then.
It would be great to see you are planning to release the prebuild wheel! I will update the readme once that's stable, e.g., released on PyPI. I will also update the readme with the current prebuilt wheel link you posted.
Thanks for looking into this issue!

@yufeiwang63
Hi, I'm the maintainer of OMPL. If possible, I'd recommend using the pre-built Python wheels (available here currently: https://github.com/ompl/ompl/releases/tag/prerelease). We plan to release on PyPI soon.
Happy to help with build issues - I'd recommend if possible using the latest version of OMPL, as 1.5.2 has some known issues with compilation.

Thanks! I used OMPL 1.5.2 because I had trouble building from the latest source back then (I think it was version 1.6).
It's great to know that you have the prebuilt python wheels! I have updated the readme with your suggestion.
Thanks for looking into this issue!

Hi,
If any of you are still having trouble installing ompl python binding from source, please take a look at installing it from the pre-built python wheels, see the updated ReadMe for details.


I want phone screen always off when using hdmi

First, @rom1v thank you very much for all your efforts.  Please I need your help. I have a Phone With A Broken Screen and I want to make
screen always off when usin hdmi .  I use it as an android tv. How can I do it?  And knowing that I have root and I can modify the framework.jar android.view.SurfaceControl or any of the system files directly .Or even build a ROM from the source with modifications. I just want a way to make it work permanently with the phone starting . because I'm a beginner but I know the basics

On --turn-screen-off, scrcpy calls SurfaceControl.setDisplayPowerMode() to change the power mode. You probably want to call that at some point.


Incorrect SA1623 on property with init accessor

Consider the code below:
class MyClass
{
    /// <summary>
    /// Gets or sets xyz.
    /// </summary>
    public int X { get; set; }

    /// <summary>
    /// Gets or sets xyz.
    /// </summary>
    public int Y { get; init; } // Triggers SA1623, expecting only "Gets..."
}

I expect SA1623 to treat an init accessor exactly like a set accessor and therefore not trigger on this example.
Tested using beta 1.2.0-beta.435

On the other hand, the property is read-only after construction, so ignoring the init accessor might make sense. Somewhat similar to a property with a private setter:
/// <summary>
/// Gets xyz.
/// </summary>
public int Z { get; private set; }

Any other opinions on this?

I lean towards documenting as either "Gets xyz" or "Gets or initializes xyz". SA1623 in its current implementation will accept both of these, except for bool-returning properties that validate the words following Gets.

Leaving it as it is seems perfectly reasonable to me. Feel free to close this if you are sure.


failed to install using python version 3.12

This is due to pendulum, I have opened a PR for this @gi0baro @ariefendi992


Advanced File Structure, setup tailwindcss, and Setup starter npm packages

The main points that this PR covers are:

Tailwindcss installation (thru postcss)
File structure organization following webdev (for client) and mvc (for server)
npm packages for both. Setup concurrently and it works!

More in-depth read:
Tailwindcss installation
I utilized the PostCSS route of installation instead of the TailwindCLI route because the CLI method is mainly used for smaller projects in which we are only using Tailwind.
File Structure Organization and NPM Packages setup
In general, there are different folders to separate frontend and backend. There are also npm installations for each of them and also at the root folder. The one on the root folder is mainly for concurrently but can be used for global packages that we want to install later on. There is a script that I've added that you can run npm run dev that will run both client and server scripts using concurrently
Client
Within the src folder, I've allocated folders of the following (w/a brief explanation)

assets  - (images, CSS files, svgs, - things that apply throughout app)
components - (broken down into subfolders of reusable components throughout app)
context - (stores all your React context files that are used across multiple pages)
data - (similar to assets but this is for storing our data assets such as JSON. It can contain global constant variables, etc.)
features - more colocated work centralized on each part of kandoo. Referencing WebDevSimplified's video on YT:

hooks - (it will store the global hooks that are used across multiple pages)
layouts - (This is just a special folder for placing any layout-based components. This would be things like a sidebar, navbar, container, etc. )
lib - (This folder contains facades for the various different libraries you use in your project. For example, if you use the axios library then this folder would contain a file for that axios library that creates your own API overtop of the axios API which you then use in your application)
pages - ( This folder now only contains one file per page and the reason for this is that all the logic for the features on the pages is in the features folder.)
services - (This folder contains all your code for interfacing with any external API.)
utils - storing all utility functions such as formatters

Server
I think most of the folders there are self-explanatory since we have been using MVC. The folders added in addition to MVC are:

middleware - (things like auth, cloudinary, multer, etc.)
util - (utility tools, that can be used to simplify code like a dateParser or something)

Great Job

Im not sure if the file structure has been implemented? Or is my branch behind?


fix(chart): fix text padding and line weight

:tada: This PR is included in version 7.29.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Accordion height not animating

Describe the bug
Accordion height does not animate when opening using the latest @next version and bits-ui@next

NOTE: It appears that in the tailwindcss config the incorrect variable is being used for the animation height.
It's initially using var(--radix-accordion-content-height)
But needs to be updated to var(--bits-accordion-content-height)
Reproduction

Install the latest version of shadcn-svelte@next (Svelte 5)

Install the latest version of bits-ui@next

Install the accordion component npx  shadcn-svelte@next add accordion

Observe that it does not animate when opening

Logs
No response
System Info
System:
    OS: macOS 15.1
    CPU: (8) arm64 Apple M1 Pro
    Memory: 120.69 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.12.2 - /usr/local/bin/node
    npm: 10.9.0 - /usr/local/bin/npm
    pnpm: 9.6.0 - ~/Library/pnpm/pnpm
    bun: 1.1.3 - ~/.bun/bin/bun
  npmPackages:
    @sveltejs/kit: ^2.0.0 => 2.7.4
    bits-ui: 1.0.0-next.46 => 1.0.0-next.46
    lucide-svelte: ^0.454.0 => 0.454.0
    mode-watcher: ^0.4.1 => 0.4.1
    svelte: ^5.0.0 => 5.1.9

Severity
annoyance

Please run npx shadcn-svelte@next -v the latest version should be 1.0.0-next.1 I don't see this issue using the latest version. If you need to update the config you can run npx shadcn-svelte@next init.

Aha,
Will try that. Thanks!


Create lordwandsworth.txt

Lord Wandsworth College: http://www.lordwandsworth.org/

Lord Wandsworth College: http://www.lordwandsworth.org/

@Rickybas Sorry for the delay - we've been launching rebranding and I hadn't time to check the repo for a while. I'm adding the domain - you'll be able to apply shortly.

Thanks!


RFP - qelectrotech

Checklist

[x] The package I am requesting does not already exist on https://chocolatey.org/packages;
[x] There is no open issue for this package;
[x] The issue title starts with 'RFP - ';
[x] The download URL is public and not locked behind a paywall / login;

Package Details
Software project URL : https://qelectrotech.org/
Direct download URL for the software / installer : https://download.tuxfamily.org/qet/tags/20190717/Windows/Installer_QElectroTech-0.70_x86_64-win64%2Bgit5967-1.exe
Software summary / short description: QElectroTech est une application libre permettant de réaliser des schémas électriques. QElectroTech, ou QET pour faire court, est pour le moment disponible en version 0.70.
QElectroTech, QET for short, is a Free (Open Source) software for electrical, pneumatic, hydraulic, logic schemas and diagrams design.
Package Expectations
Standard installation with start menu folder and shortcut (Dektop shortcut optional).
Better would be to bundle DXFtoQET utility with it (https://github.com/rdsivd/DXFtoQET-2020, https://download.tuxfamily.org/qet/builds/dxf_to_elmt/windows/2020-05-05/DXFtoQET.exe).
Best would be to have some a way to install the dev daily build (https://download.tuxfamily.org/qet/builds/nightly/), maybe like FreeCAD's package --pre option. But this may require upstream to add a "permalinkable" installer...
Thanks for all and in advance
May yall be safe

I just submitted a QElectroTech package, and another for DXFtoQET.
I'll leave any qet-daily to someone else.

Great ! Thank you !
Posted to the community to let them know
https://qelectrotech.org/forum/viewtopic.php?pid=14562

Great job, is amazing, thanks;-)

Looks like the package is approved, and can be consumed normally.
Closing the request now as resolved.

Great, thanks a lot again 🙏
Le mar. 23 mars 2021 à 08:28, Kim J. Nordmo @.***> a
écrit :

Looks like the package is approved, and can be consumed normally.
Closing the request now as resolved.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/chocolatey-community/chocolatey-package-requests/issues/936#issuecomment-804682404,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADFGTGXHDUKUKXUDIN77NDTFA7KBANCNFSM4W4U5DAA
.

We release new version 0.9 see https://qelectrotech.org/forum/viewtopic.php?id=2379
Tarball here : https://git.tuxfamily.org/qet/qet.git/snapshot/qet-0.9.tar.gz
Changelog : https://git.tuxfamily.org/qet/qet.git/diff/ChangeLog?h=0.9


ISPN-9188 Cancelling the last segment doesn't remove transfer task

https://issues.jboss.org/browse/ISPN-9188

Cancel the task when there are no more unfinished segments
Cancelling shouldn't affect the initial segments, only the unfinished
segments

Some of the test failures may be related, intestigating

Fixed and rebased


Remove AliasAnalysis metadata from LocalScope

LocalScope is used in many places. It is referenced by some runtime objects, like MethodRootNode. The problem is that LocalScope contains references to AliasAnalysis metadata (e.g., AliasGraph in https://github.com/enso-org/enso/blob/develop/engine/runtime-compiler/src/main/scala/org/enso/compiler/context/LocalScope.scala#L34).
Loading AliasAnalysis metadata in IrToTruffle is potentially very slow, as the size of the metadata is enormous. Therefore, we should avoid using AliasAnalysis metadata in IrToTruffle altogether. This first PR (#10729) removed some usages and introduced new, lightweight, FramePointer metadata. In this task, let's remove the references to AliasAnalysis metadata from LocalScope altogether.
### Tasks
- [ ] ~~Remove references to `AliasAnalysis` metadata from `LocalScope`.~~
- [x] Ensure that the startup time is improved
- [x] Try to apply Jaroslav's suggestion from https://github.com/enso-org/enso/pull/10729#pullrequestreview-2242249968

Follow-up of #10129

A step towards some speedup seems possible, but:

... still see more than 500 of AliasAnalysis metadata being read ... coming from EnsoRootNode.buildFrameDescriptor() - we need to find a build to build the descriptor ... without needing AliasAnalysis.

Since #10837 the LocalScope can be constructed without loading AliasAnalysis data - if needed the data can be loaded later. Since #10906 we can build FrameDescriptor without loading these AliasAnalysis data at all. With #10996 we fix the caches to be able to load Hello_World.enso without needing any AliasAnalysis. To track use:
./enso --log-level trace --run xyz.enso | grep "] Scope"

I believe we are done.


Better API to update files

I don't know if this is the best option, but I think it confuses the need to change the active file to update a specif file's code.
changeActiveFile(file);
updateCurrentFile(code);

Maybe we can have a global Function to update it:
const { sandpack } = useSandpack();
const { files, updateFileCode } = sandpack;

updateFileCode(code, files[1])

I'm thinking to keep two functions on the context sandpack object:
  updateFile: (path: string, newCode: string) => void;
  updateCurrentFile: (newCode: string) => void;


Rasterplot: Use numpy for concatenation of spiketrains

Using numpy for concatenation instead of a list comprehension improves performance of the histogram calculation in rasterplot. While a list comprehension copies every single timestamp into a list of timestamps, numpy will just create a view a wrapper around the spiketrains. This decreases memory usage and speeds up the whole process.

@rgutzen Hi Robin, could you please have a look at this change?

Great. This can be merged now.
@mdenker, I don't have the rights for this, can you please merge the pull request or give me write access.


color temperature settings problem

@KristjanESPERANTO hello I installed your MMM-OneCallWeather module thanks to
@sdetweil, he helped me with this module and many other things and I have a question in the readme he wrote there:
"colored If set 'colored' to true the min-temp get a blue tone and the max-temp get a red tone.
Default value: true"
I added this to my js.config but the values remain white am I doing something wrong?
you asked me to put my js.config here it is:
{
			disabled: false,
    			module: "MMM-OneCallWeather",
    			position: "top_right", // This can be any of the regions.
    			// Best results in bottom_bar region due to horizontal default layout and icon sizes.
    			config: {
      			// See 'Configuration options' for more information.
			windunits: "kmh",
			updateInterval: 20 * 60 * 1000, // every 20 minutes

			tempUnits: "C",
			units: "metric",
			colored: "true",
			layout: "default",
      			latitude: "46.561180", // Longitude from https://www.latlong.net/
      			longitude: "-1.782440", // Longitude from https://www.latlong.net/ - is West + is East of London
      			apikey: "xxxxxxxxxxxxxxxxxxxxxxxxxxx" // openweathermap.org API key

    			}
  		},

Okay, that's very interesting. I took a closer look at the code. The colored option was not fully implemented. I have fixed that now :rocket: Please update the module and try again :slightly_smiling_face:
To update the module:
cd ~/MagicMirror/modules/MMM-OneCallWeather
git pull

And you must set the value for colored without the quotation mark. Like this:
colored: true,

@KristjanESPERANTO perfect, thank you for your answer, it works

You are welcome 🙂

@KristjanESPERANTO hello, do you know how I can enlarge the size of the "bubble" or there is the wind speed, thank you for your help


Airflow using cosmos can't locate the dbt_project.yml file

Hello,
Not. sure this is the place to ask but I am finding it extremely hard finding assistance on an issue I am facing.
I have a simple dag.py file to deploy dbt projects on Airflow using Cosmos. I have copied my dbt project into the dags/dbt folder.
Here is my dag.py file
from datetime import datetime
import os
from cosmos import DbtDag, ProjectConfig, ProfileConfig, ExecutionConfig
from cosmos.profiles import PostgresUserPasswordProfileMapping
from cosmos.profiles import SnowflakeUserPasswordProfileMapping

profile_config = ProfileConfig(profile_name="default",
                               target_name="dev",
                               profile_mapping=SnowflakeUserPasswordProfileMapping(conn_id="snowflake_conn",
                                                    profile_args={
                                                        "database": "dbt_db",
                                                        "schema": "dbt_schema"
                                                        },
                                                    ))
print("Present working directory: ", os.getcwd)
dbt_snowflake_dag = DbtDag(project_config=ProjectConfig("/Users/samkishan/dbt_snowflake_project/dbt_dag/dags/dbt/data_pipeline1/"),
                    operator_args={"install_deps": True},
                    profile_config=profile_config,
                    execution_config=ExecutionConfig(dbt_executable_path=f"{os.environ['AIRFLOW_HOME']}/dbt_venv/bin/dbt",),
                    schedule_interval="@daily",
                    start_date=datetime(2024, 5, 4),
                    catchup=False,
                    dag_id="dbt_snowflake_dag",)

print(f"Project Config: {dbt_snowflake_dag.project_config}")

I have made sure the dbt_project.yml file lies in this path: /Users/samkishan/dbt_snowflake_project/dbt_dag/dags/dbt/data_pipeline1/

However, on the Airflow UI, it doesn't seem to be able to locate this file..

Never mind, I had to change the ProjectConfig object to point the dbt project to the path: "/usr/local/airflow/dags/dbt/data_pipeline1" and now it works fine.


refactor(global-shortcut): enhance un/register to accept an array, remove un/registerAll

closes #1101

I don't think we should do the same on Rust, it is better to be kept as is.

Also should it unregister all registered shortcuts if the list is empty (or we provide a separate API for that)?

we could bring back unregisterAll I guess


Move google-cloud-core functionality into api_core

[ ] IAM (Related #3882)
[ ] Helpers - many of these will just be distributed among the existing helper modules in api_core.
[ ] Connection/JSONConnection
[ ] Client base - (Consider eliminating in favor of factory mixins and helpers?)

Scattered thoughts on stuff for my own future benefit (feel free to comment, but just know these are raw).
Clients:

We should just drop the common base class and depend on google.auth.default() for both default credential and project ID detection.
We should add a mixin class for from_service_account_file() and from_service_account_info(), with a deprecated alias for from_service_account_json. This can be used by gapic clients as well.

Connection/JSONConnection:

Stop using inheritance for configuration.
We should try to just treat this the same we do gRPC channels in gapic clients. The clients should accept a connection  argument and construct their own if not provided.
Connections should be reduced to just a basic class with an http property and a request method and made public.
The request method should handle serialization, deserialization, exceptions, and injecting clientinfo headers.
Storage seems to be the only client that does special things with the connection, so the bulk of the existing layers of code should be moved into storage. It's special enough to warrant that.
Some classes write "Stub"-like classes (like _HTTPVisionAPI). This is fine and aligns with the plans above.

@jonparrott I actually massively reduced the interface of Connection with plans to remove it (and I made it a non-public member intentionally). So I am all for it!

Okay, here's my proposal for removing google.cloud.core.client and somewhat addressing #4840.
First, we will no longer have base classes for providing the credentials,
project, and _http properties. Each client will have to implement this.
We could do an abstract base class, but I feel it's overkill (I can be
convinced otherwise).
We'll add an api_core helper for getting credentials and a project ID.
class SomeClient:
    SCOPES = [...]

    def __init__(self, credentials=None):
        self.credentials, _ = (
            google.api_core.client_helpers.get_default_credentials_and_project(
                credentials, scopes=self.SCOPES))

    @property
    def credentials():
        return self._credentials

Some clients need/use project id:
class SomeClient:
    def __init__(self, credentials=None, project=None):
        self._credentials, self._project = (
            google.api_core.client_helpers.get_default_credentials_and_project(
                credentials,
                project,
                scopes=self.SCOPES,
                require_project=True))

    @property
    def credentials():
        return self._credentials

    @property
    def project():
        return self._project

Some clients need to construct an HTTP object, underlying gapic, etc.
# HTTP
class SomeClient:
    def __init__(self, credentials=None, project=None, _http=None):
        self._credentials, self._project = (
            google.api_core.client_helpers.get_default_credentials_and_project(
                credentials,
                project,
                scopes=self.SCOPES,
                require_project=True))
        self._http = google.api_core.http_helpers.make_authorized_session(
            self._credentials)

# GAPIC is easy
class SomeClient:
    def __init__(self, credentials=None, project=None, _channel=None):
        self._credentials, self._project = (
            google.api_core.client_helpers.get_default_credentials_and_project(
                credentials,
                project,
                scopes=self.SCOPES,
                require_project=True))
        self._gapic = some_api_v1.SomeClient(
            credentials=self._credentials, channel=_channel)

Now let's get tricky: some clients need to support emulators.
class SomeClient:
    EMULATOR_ENV_VAR = '...'
    EMULATOR_PROJECT_ENV_VAR = '...'  # optional

    def __init__(self, credentials=None, project=None, _channel=None):
        emulator_address = os.environ.get(EMULATOR_ENV_VAR)

        if emulator_address:
            self._credentials = google.auth.AnonymousCredentials()
            # Optional
            self._project = os.environ.get(
                EMULATOR_PROJECT_ENV_VAR, 'project-id')
        else:
            self._credentials, self._project = (
                google.api_core.client_helpers.get_default_credentials_and_project(
                    credentials, scopes=self.SCOPES))

In addition to just that, though, grpc clients need to detect this case and
create a non-secute channel to the emulator
        if emulator_address:
            channel = google.api_core.grpc_helper.make_emulator_channel(
                emulator_address)

        ...

        self._gapic = some_api_v1.SomeClient(
            credentials=self._credentials, channel=_channel)

That may seem like a lot of code, but doing away with the inheritance based stuff for credentials/project/http will actually simplify a lot of code (see Datastore). This can also be done in a completely non-breaking way (yay).
@lukesneeringer @tseaver WDYT?

I'm fine with the notion overall.
One note:  the "construct an HTTP object" bit needs to account for the possibility that the user passed in _http.

One note: the "construct an HTTP object" bit needs to account for the possibility that the user passed in _http.

Good catch. Anything else I might have missed?

Necroing this bug to bring it to the attention of @crwilcox - this is what's needed to kill google-cloud-core.


Release 0.1.2

Release 0.1.2 adds the ability to add and remove bodies to/from the simulation

Current coverage is 55.28%

Merging #37 into master will not affect coverage as of 58295a4

@@            master     #37   diff @@
======================================
  Files            3       3
  Stmts          123     123
  Branches        18      18
  Methods          0       0
======================================
  Hit             68      68
  Partial          0       0
  Missed          55      55

Review entire Coverage Diff as of 58295a4

Powered by Codecov. Updated on successful CI builds.


Basic auth

Hi,
I've forked the pact, pact-support and pact_broker-client repository and made the changes on the 'basic_auth' branch for each project and created pull request.
The main changes are:
pact-support
pass the basic auth option to PactFile open method
pact

added the basic auth options in dsl

honours_pact_with 'ServiceConsumer' do
    pact_uri 'http://pact-broker-url/consumer/ServiceConsumer/latest', {username: 'user', password: 'pass'}
end

when running pact:verify:at['pact_broker_url'] task, currently I just let users to set environment variables PACT_REPO_USERNAME, PACT_REPO_PASSWORD for the basic auth information.  I am not sure whether it's good enough.

pact_broker_client
pass optional pact_broker_basic_auth in the PublicationTask
task.pact_broker_basic_auth =  { username: 'basic_auth_user', password: 'basic_auth_pass'} #optional

Testing

I've added unit tests for my changes.  The rake tasks of all the three projects all passed.
I used my version to run pact:verify, pact:verify:at['pact_url'] and publication task pointing to our pact broker with basic authentication and without basic authentication.  They both worked.

Documentation:
I've updated the README.md file in the pact_broker-client project.  But for the pact:verify part, I am not sure where to put the examples.
I am not sure whether my change matches your code convention. Please review my changes and I will revise based on your feedback.  Thanks.

Thanks for working on this! I will review and merge as soon as I can.

A convention for using basic auth with a url is to put the username and password in at the start (http://www.rojotek.com/blog/2008/05/19/http-authentication-in-a-url/)
eg<EMAIL_ADDRESS>Maybe we should use that instead of environment variables?

Thanks!
On 3 March 2015 at 08:26, Beth Skurrie<EMAIL_ADDRESS>wrote:

Thanks for working on this! I will review and merge as soon as I can.
--
Reply to this email directly or view it on GitHub
https://github.com/bethesque/pact-support/pull/4#issuecomment-76828584.

Yes. You are right.
So in the pact:verify:at[pact_url], in pact honour consumer dsl, and pact
publication task (in pact broker client project) we will use the same
pattern of<EMAIL_ADDRESS>How about this?
On 3 March 2015 at 08:31, Beth Skurrie<EMAIL_ADDRESS>wrote:

A convention for using basic auth with a url is to put the username and
password in at the start (
http://www.rojotek.com/blog/2008/05/19/http-authentication-in-a-url/)
eg<EMAIL_ADDRESS>Maybe we should use that instead of environment variables?
--
Reply to this email directly or view it on GitHub
https://github.com/bethesque/pact-support/pull/4#issuecomment-76829716.

I actually think that the ruby code will be nicer with separate args. If you imagine what it will look like if you use environment variables (which is likely):
pact_uri<EMAIL_ADDRESS>
That's already really long!
pact_uri "http://pactbroker.your.domain/pacts...",
  {username: ENV['PACT_BROKER_USERNAME'}, password:ENV['PACT_BROKER_PASSWORD'}}

I think your original idea is actually more readable, and it can be split over two lines.

For pact:verify task, in the provider_states file

pact_uri "http://pactbroker.your.domain/pacts...",
  {username: ENV['PACT_BROKER_USERNAME'}, password:ENV['PACT_BROKER_PASSWORD'}}

In the pact broker publish task

 PactBroker::Client::PublicationTask.new do | task |
    task.consumer_version = ENV['BUILD_NUMBER']
    task.pact_broker_base_url = 'http://pactbroker.your.domain/pacts...'
    task.pattern = 'spec/pacts*.json'
    task.pact_broker_basic_auth = {
      username: ENV['PACT_BROKER_USERNAME'],
      password: ENV['PACT_BROKER_PASSWORD']
    }
  end

For pact:verify:at['http://pactbroker.your.domain/pacts...'] task,  we can either

include the credential in the url

<EMAIL_ADDRESS>

* 2.  or set the environment variables/pass the environment variables in the rake task

pact:verify:at['http://pactbroker.your.domain/pacts...'] PACT_BROKER_USERNAME=username PACT_BROKER_PASSWORD=password
I think
* option 1 is convenient for users but the url is not consistent with the url in the provider_states file and pact broker publish task
* option 2 uses the same url pattern, but the command is a bit long unless the user sets the environment variables beforehand.

Personally I prefer option 2 because the different url pattern might confuse users.  Which way do you prefer for the pact:verify:at task?

Is there a way to elegantly do both? One thing I like about having the username and password in the URL is that you can copy paste the URL and use it with curl for debugging. If it's messy to do both, then I'm happy with the environment variables, because if you're using them for one method, it's easy to use them for the other.
I will have some time on Friday (Australia time) to merge this, sorry for the delay.

I will have a look to see whether we can do both.  It will be convenient to
the users.
On 17 March 2015 at 08:47, Beth Skurrie<EMAIL_ADDRESS>wrote:

Is there a way to elegantly do both? One thing I like about having the
username and password in the URL is that you can copy paste the URL and use
it with curl for debugging. If it's messy to do both, then I'm happy with
the environment variables, because if you're using them for one method,
it's easy to use them for the other.
I will have some time on Friday (Australia time) to merge this, sorry for
the delay.
--
Reply to this email directly or view it on GitHub
https://github.com/bethesque/pact-support/pull/4#issuecomment-81956018.

I've made a change in pact-support.

pact:verify:at task can support both userinfo in the url or from environment variable
<EMAIL_ADDRESS># or

pact:verify:at['http://pactbroker.your.domain/pacts...'] PACT_BROKER_USERNAME=username PACT_BROKER_PASSWORD=password

If basic authentication is defined by environment variables, they will take precedence over the user info which is included in the url.
* pact:verify task also support userinfo in the url in the provided state file

 ```ruby
  pact_uri "http://pactbroker.your.domain/pacts...",
   {username: ENV['PACT_BROKER_USERNAME'}, password:ENV['PACT_BROKER_PASSWORD'}} #or

 pact_uri<EMAIL_ADDRESS>
If basic authentication is defined by pact_uri username and password options , they will take precedence over the user info which is included in the url.

Cool! I will merge tomorrow, have some Pact time allocated then.


RequestList state management

Unfortunately, the standard state management of the RequestList is not yet clear to me. The documentation states that the state is stored in the default KeyValueStore at regular intervals. When and under what circumstances is this done? It seems to me that the state is only saved after the manual call of the function RequestList.persistState().

Hi @Druux , depending on how you're using the RequestList there are two ways to achieve persistence.
When using Apify.openRequestList() the first parameter is a name. When provided, the state will be automatically persisted. When null, the state will not be persisted.
When using new Apify.RequestList() the state will not be persisted automatically, unless the persistStateKey option is provided. There's also the persistSourcesKey option that's used to persist the original source list.
The state persistence is automatically triggered by the persistState event, which is emitted every minute. All the crawlers also abort their crawling when the migrating event is received and call requestList.persistState() to persist the latest state before actor migration.
I suppose it's the last paragraph that's not very clear, right? I'll try to include this information in the docs.


Support for Gentoo Linux based distros

Hey guys great work you've done so far, I'm currently running Gentoo and I've searched for a Firezone package and there doesn't seem to be any Gentoo based distro support for Firezone, it would be great if Firezone supported Gentoo based distros.
https://www.gentoo.org/
Some Gentoo based distros:
https://www.funtoo.org/Welcome
Some more are listed here: https://wiki.gentoo.org/wiki/Distributions_based_on_Gentoo

Closing as I've found a solution to my problem, I can just use plain wireguard on a VPS and my usecase doesn't really require Firezone.


Integrate slides-gen

Simply integrate slides-gen to Ppilot without adding more functions so far.

😢 The submodule you add is an inner source version. I cannot test it locally. Maybe further discussion of implementation is needed for this PR.

Thanks for your contribution! Merge it now and revert it temporarily for future refactoring plans.


golang/dep

motivation
please check: https://github.com/nixcloud/leaps-go-dep
using nix/nixos it is quite hard to package leaps and other go based softwares unless they use the new https://github.com/golang/dep utility. that is because we have https://github.com/nixcloud/dep2nix now and this makes some things easier.
that said, it best works if the upstream project also uses dep and with this repository i've played with dep deployment for leaps. so the question is: how do you like the idea of not using git submodules and using dep instead for dependency management? we at nixcloud are in the process of migrating our projects to dep.
if there is interest i would use the latest leaps master and create a PR. i'd like that!
lib
the lib directory has a special role, as it is referenced by: import with  github.com/Jeffail/leaps/lib and it still does not have to be a 'single' package with an upstream git repository.
see also https://github.com/nixcloud/leaps-go-dep/blob/master/src/github.com/jeffail/leaps/leaps.go#L38

Hey @qknight,
Happy to move over to dep, I'm not a fan of submodules either and I'm already using dep on other projects. While I do this it also makes sense for me to change the paths within leaps to github.com/Jeffail from github.com/jeffail since this has caused issues for me in the past with other projects, would that change be difficult for you to deal with?

Got a branch to test it: https://github.com/Jeffail/leaps/pull/49, it's currently lacking the client library deps (ACE, CodeMirror and vue.js repos)

Merged

did not check it yet, but i assume this is amazing news, thanks so much!


Upgrade dependences and add language translations.

Upgrade:

Webpack
React

Language:

English
Chinese Simplified

Great contribution @tinymins, thank you.


TaskIds that contain numbers or dashes are not supported

If you have a DAG which contains tasks where the id contains either numbers or dashes then, although the diagram Python file is created, it cannot be run to generate the diagram image.
e.g.
from diagrams import Diagram
from diagrams.generic.blank import Blank

with Diagram("airbyte", show=False):
    airbyte-job_sensor = Blank("airbyte_job_sensor")
    airbyte_trigger_async = Blank("airbyte_trigger_async")

    airbyte_trigger_async >> [airbyte_job_sensor]

➜  airflow-diagrams git:(master) ✗ python3 examples/airbyte_diagrams.py
  File "/Users/nathan/Projects/airflow-diagrams/examples/airbyte_diagrams.py", line 5
    airbyte-job_sensor = Blank("airbyte_job_sensor")
    ^
SyntaxError: cannot assign to operator

Thank you @nathadfield for reporting this.
This is indeed an issue. I will try to fix it in the next patch. Or if you want feel free to open a PR :)

You can see here how the variables will be generated. We could simply do a node["task_id"]|replace("-", "_") and edge["task_id"]|replace("-", "_")

Yes we can remove/replace them with a regex expression easily as well.

FYI - I also noticed that DAGs which use TaskGroups also generate invalid diagram variables.

Because of the .?

If that's the case, the Pr should also fix this as it is hashing it and every hash prefixed with an underscore should be a valid python variable.

@nathadfield could you please test if this is working now. You can install the latest release (candidate) by running pip install --pre airflow-diagrams. It should install 1.0.1rc1.

Because of the .?

Yep! I'll certainly take a look at the RC tomorrow.

@feluelle So, your changes do look like they fie the issues with task_ids although the node labelling is a bit of a mess.

This is perhaps for another version but might it be a good idea to put task groups into clusters?

Great idea. Let's move this to a different issue, please. And I would also add that to a minor release instead of a patch release. So will continue today with releasing 1.0.1.


Status 404 for existing pages

What version of starlight are you using?
0.24.0
What version of astro are you using?
4.9.3
What package manager are you using?
pnpm
What operating system are you using?
Windows
What browser are you using?
Firefox
Describe the Bug
Startlight 0.23.4:

Starlight 0.24.0:

In both cases, the pages exist and are displayed.
Link to Minimal Reproducible Example
https://stackblitz.com/edit/github-ztcekb
Participation

[ ] I am willing to submit a pull request for this issue.

Thanks for reporting this @dragomano — I think this is caused because we now use Astro’s i18n API under the hood and I guess that is reporting 404s for those routes even though the exist?
I’m curious if anyone has seen this in other uses of Astro’s i18n features? 🤔
cc @ematipico

I'm curious if this is an issue with en being hard-coded in some places in Starlight? Based on the repro, the locale config looks like this:
{
  defaultLocale: 'root',
    locales: {
      root: {
        label: 'Русский',
        lang: 'ru',
      },
    },
}

Some error messages when running npm run dev:
npm run dev

><EMAIL_ADDRESS>dev
> astro dev

10:08:52 AM [vite] Error when evaluating SSR module<EMAIL_ADDRESS>|- AstroUserError: Failed to get locale informations for the 'en' locale.

10:08:52 AM [vite] Error when evaluating SSR module<EMAIL_ADDRESS>failed to import<EMAIL_ADDRESS>|- AstroUserError: Failed to get locale informations for the 'en' locale.

10:08:52 AM [vite] Error when evaluating SSR module<EMAIL_ADDRESS>failed to import<EMAIL_ADDRESS>|- AstroUserError: Failed to get locale informations for the 'en' locale.

10:08:52 AM [vite] Error when evaluating SSR module<EMAIL_ADDRESS>failed to import<EMAIL_ADDRESS>|- AstroUserError: Failed to get locale informations for the 'en' locale.

10:08:52 AM [vite] Error when evaluating SSR module<EMAIL_ADDRESS>failed to import<EMAIL_ADDRESS>|- AstroUserError: Failed to get locale informations for the 'en' locale.

10:08:52 AM [vite] Error when evaluating SSR module /home/projects/github-ztcekb/astro.config.mjs: failed to import<EMAIL_ADDRESS>|- AstroUserError: Failed to get locale informations for the 'en' locale.

[astro] Unable to load your Astro config

[AstroUserError] Failed to get locale informations for the 'en' locale.
  Hint:
    Make sure to provide a valid BCP-47 tags (e.g. en, ar, or zh-CN).

Some error messages when running npm run dev:

The error you're seeing is probably related to #1986 and I'm assuming you may have opened the repro using Safari.
I'm currently working on a fix for that one right now.

Ah yup, it was Safari. Once again my testing in the worst browser for JS gets me again 😅

How do I get to see the error from the reproduction? It just fails cc @dragomano

If you’re troubleshooting you should also update to starlight 0.24.1 as it fixed an issue related to this. But it may have not resolved the full issue.

I've updated dependencies. It's still a problem.

Changing root.lang to en fixes the issue... so maybe there are places where starlight is pulling en instead of the configured root lang

Fixed in Starlight v0.24.2 — thanks again for reporting!


Can't create FargateService

When I try to create a FargateServiceArgs class the Error shows up and tells me that I must add  taskDefinition or taskDefinitionArgs. Even when I add taskDefinition, error still shows up. Example:
Dependencies:
//> using scala "3.3.1"
//> using options -Werror -Wunused:all -Wvalue-discard -Wnonunit-statement
//> using plugin "org.virtuslab::besom-compiler-plugin:0.2.1"
//> using dep "org.virtuslab::besom-core:0.2.1"
//> using dep "org.virtuslab::besom-awsx:2.5.0-core.0.2"

Main class:
import besom.*
import besom.api.aws.ecs.Cluster
import besom.api.awsx.ecs.{FargateService, FargateServiceArgs}
import besom.api.awsx.ecs.inputs.{
  FargateServiceTaskDefinitionArgs,
  TaskDefinitionContainerDefinitionArgs,
  TaskDefinitionPortMappingArgs
}

@main def main = Pulumi.run {
  val cluster = Cluster("cluster")

  val taskDefinition =
    FargateServiceTaskDefinitionArgs(
      container = TaskDefinitionContainerDefinitionArgs(
        name = "my-task-def",
        image = "nginx",
        memory = 512,
        portMappings = List(TaskDefinitionPortMappingArgs(containerPort = 80))
      )
    )

  val service = FargateService(
    "my-service",
    FargateServiceArgs(
      cluster = cluster.arn,
      // taskDefinition = "my-task-def",
      taskDefinitionArgs = taskDefinition,
      desiredCount = 1
    )
  )

  Stack.exports(url = service.urn)
}

Stack trace:
Previewing update (dev):
     Type                        Name                   Plan       Info
 +   pulumi:pulumi:Stack         aws-hello-fargate-dev  create     2 errors; 37 messages
 +   └─ awsx:ecs:FargateService  my-service             create

Diagnostics:
  pulumi:pulumi:Stack (aws-hello-fargate-dev):
    2024.02.21 11:44:24:850 scala-execution-context-global-20 [resource: my-service[awsx:ecs:FargateService]] ERROR besom.internal.ResourceDecoder.resolve:91
        Resolve resource: received error from gRPC call: 'UNKNOWN: Either `taskDefinition` or `taskDefinitionArgs` must be provided.', failing resolution
    2024.02.21 11:44:24:877 main  ERROR besom.internal.BesomModule.run:69
        io.grpc.StatusRuntimeException: UNKNOWN: Either `taskDefinition` or `taskDefinitionArgs` must be provided.
                at io.grpc.Status.asRuntimeException(Status.java:537)
                at io.grpc.stub.ClientCalls$UnaryStreamToFuture.onClose(ClientCalls.java:538)
                at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:567)
                at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:71)
                at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:735)
                at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:716)
                at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
                at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
                at java.lang.Thread.run(Thread.java:1583)

    Exception in thread "main" io.grpc.StatusRuntimeException: UNKNOWN: Either `taskDefinition` or `taskDefinitionArgs` must be provided.
        at io.grpc.Status.asRuntimeException(Status.java:537)
        at io.grpc.stub.ClientCalls$UnaryStreamToFuture.onClose(ClientCalls.java:538)
        at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:567)
        at io.grpc.internal.ClientCallImpl.access$300(ClientCallImpl.java:71)
        at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:735)
        at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:716)
        at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
        at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
        at java.base/java.lang.Thread.run(Thread.java:1583)

    Error: Either `taskDefinition` or `taskDefinitionArgs` must be provided.: Error: Either `taskDefinition` or `taskDefinitionArgs` must be provided.
        at new FargateService (/snapshot/awsx/bin/ecs/fargateService.js:47:19)
        at awsx:ecs:FargateService (/snapshot/awsx/bin/resources.js:25:45)
        at construct (/snapshot/awsx/bin/resources.js:43:12)
        at Provider.construct (/snapshot/awsx/bin/index.js:39:52)
        at Server.<anonymous> (/snapshot/awsx/node_modules/@pulumi/pulumi/provider/server.js:315:52)
        at Generator.next (<anonymous>)
        at fulfilled (/snapshot/awsx/node_modules/@pulumi/pulumi/provider/server.js:18:58)
        at processTicksAndRejections (node:internal/process/task_queues:96:5)

    error: besom.internal.ResourceDecoder.resolve:91 [resource: my-service[awsx:ecs:FargateService]] Resolve resource: received error from gRPC call: 'UNKNOWN: Either `taskDefinition` or `taskDefinitionArgs` must be provided.', failing resolution
    error: an unhandled error occurred: '/opt/homebrew/bin/scala-cli /opt/homebrew/bin/scala-cli run .' exited with non-zero exit code: 1

Another example, the same result:
import besom.*

import besom.api.awsx.ecs.FargateService

@main def main = Pulumi.run {
  val service = FargateService("my-service")
  Stack.exports(url = service.urn)
}

Thank you. We need to investigate why is this happening.
Note to self: the relevant code in the provider: https://github.com/pulumi/pulumi-awsx/blob/5586b5776d22c437044f2e20b23a1768d786fb97/awsx/ecs/ec2Service.ts#L53

Glad I found this issue!
I have a service definition like this:
//> using scala "3.3.3"
//> using options -Werror -Wunused:all -Wvalue-discard -Wnonunit-statement
//> using dep "org.virtuslab::besom-core:0.2.2"
//> using dep "org.virtuslab::besom-aws:6.23.0-core.0.2"
//> using dep "org.virtuslab::besom-awsx:2.5.0-core.0.2"
//> using dep "com.lihaoyi::upickle::3.2.0"

import besom.*
import besom.api.aws, besom.api.awsx, awsx.ecr, awsx.lb, awsx.ecs
import besom.api.awsx.ecs.inputs.*
import besom.api.awsx.lb.ApplicationLoadBalancerArgs
import besom.api.aws.ecs.inputs.ServiceNetworkConfigurationArgs
import besom.api.aws.cloudwatch.LogGroupArgs
import besom.json.*

@main def main = Pulumi.run {
  val repository =
    ecr.Repository(
      "sentiment-service-repo",
      ecr.RepositoryArgs(forceDelete = true)
    )

  val image = ecr.Image(
    "sentiment-service-image",
    ecr.ImageArgs(
      repositoryUrl = repository.url,
      context = p"../app",
      platform = "linux/amd64"
    )
  )

  val vpc = awsx.ec2.Vpc("sentiment-service-vpc")

  val loadBalancer = lb.ApplicationLoadBalancer(
    "sentiment-service-lb",
    ApplicationLoadBalancerArgs(subnetIds = vpc.publicSubnetIds)
  )

  val cluster = aws.ecs.Cluster("sentiment-service-cluster")

  val logGroup =
    aws.cloudwatch.LogGroup(
      "sentiment-service-log-group",
      LogGroupArgs(retentionInDays = 7, name = "sentiment-service-logs")
    )

  val service =
    image.imageUri.flatMap: image =>
      ecs.FargateService(
        "sentiment-service-fargate",
        ecs.FargateServiceArgs(
          networkConfiguration = ServiceNetworkConfigurationArgs(
            subnets = vpc.publicSubnetIds,
            assignPublicIp = true,
            securityGroups =
              loadBalancer.defaultSecurityGroup.map(_.map(_.id)).map(_.toList)
          ),
          cluster = cluster.arn,
          taskDefinitionArgs = FargateServiceTaskDefinitionArgs(
            containers = Map(
              "sentiment-service" -> TaskDefinitionContainerDefinitionArgs(
                image = image,
                name = "sentiment-service",
                cpu = 128,
                memory = 512,
                essential = true,
                logConfiguration = TaskDefinitionLogConfigurationArgs(
                  logDriver = "awslogs",
                  options = JsObject(
                    "awslogs-group"         -> JsString("log-group"),
                    "awslogs-region"        -> JsString("us-east-1"),
                    "awslogs-stream-prefix" -> JsString("ecs")
                  )
                ),
                /*portMappings = List(
                  TaskDefinitionPortMappingArgs(
                    targetGroup = loadBalancer.defaultTargetGroup
                  )
                )*/
              )
            )
          )
        )
      )

  Stack(logGroup).exports(
    image = image.imageUri,
    service = service,
    vpc = vpc.id,
    cluster = cluster.id,
    url = p"http://${loadBalancer.loadBalancer.dnsName}"
  )
}

And I get this exception IF I do any of the steps below:
Diagnostics:
  pulumi:pulumi:Stack (besom-smithy4s-kiss-dev):
    Error: Exactly one of [container] or [containers] must be provided: Error: Exactly one of [container] or [containers] must be provided
        at normalizeTaskDefinitionContainers (/snapshot/awsx/bin/ecs/containers.js:37:15)
        at new FargateTaskDefinition (/snapshot/awsx/bin/ecs/fargateTaskDefinition.js:34:79)
        at new FargateService (/snapshot/awsx/bin/ecs/fargateService.js:40:30)
        at awsx:ecs:FargateService (/snapshot/awsx/bin/resources.js:25:45)
        at construct (/snapshot/awsx/bin/resources.js:43:12)
        at Provider.construct (/snapshot/awsx/bin/index.js:39:52)
        at Server.<anonymous> (/snapshot/awsx/node_modules/@pulumi/pulumi/provider/server.js:315:52)
        at Generator.next (<anonymous>)
        at fulfilled (/snapshot/awsx/node_modules/@pulumi/pulumi/provider/server.js:18:58)
        at processTicksAndRejections (node:internal/process/task_queues:96:5)

Here are the things that trigger this error:

Uncommenting the portMapping block
Not using flatMap with imageUri, and instead referencing it directly

Now, I've only been using Pulumi for like 2 days, so I don't know if it's a semantics problem or what, but the exception is very confusing.
Note that there's a pulumi-java issue: https://github.com/pulumi/pulumi-java/issues/1325 and this awsx one https://github.com/pulumi/pulumi-awsx/issues/820 aaaand I'm only now noticing that @pawelprazak is aware :D

IIRC I've tried a couple of workarounds from both issues but neither of them worked with Besom.

Hey, I think we have this fixed on current main (with some workarounds for upstream issues). We will cut a release soon. @pawelprazak can you take a look on this and advise if anything can be done to work around this issue on 0.2.2? Paweł has made a big refactoring in serde layer that brought us to be completely up to date with upstream Pulumi serde and this was done to fix this issue mostly. This change is however binary incompatible on core-providers edge so we have to release it as a part of 0.3.x. I think we should do this really fast, considering I found a nasty grpc memoization issue when writing post-Scalar blogpost (also already fixed).

Hi @keynmol, thank you for the reproduction and I'm sorry you've stumbled upon this cursed issue :)
What we know:

awsx provider (technically it is a multi-language component) has a known issue when used from SDKs other than TS/nodejs, unfortunately I was not able to get the to root cause upstream yet
there should be a way to work around those issues (at least the ones I know of) (https://github.com/polkx/besom-bootzooka/blob/main/aws-fargate-bootzooka/Main.scala#L137)
there is a new-ish serialization framework used underneath by Pulumi, and it was ported to besom, awaiting release (https://github.com/VirtusLab/besom/pull/414)

The key workaround was to use explicit val task = awsx.ecs.FargateTaskDefinition(...) instead of the one inlined in the arguments. Please let me know if the issue persists after this change, and I'll try to help to find more workarounds if necessary.
The workarounds might work on the current 0.2.2, but unfortunately there are known issues that required binary compatibility breaking changes and are awaiting for 0.3.0, that we plan to release soon.

Good to hear 👍 I'm doing this for a blogpost as well so can easily wait.
I will try the workaround, and will excitedly wait for the 0.3.0 :)

Actually it seems I was able to achieve what I wanted (I think, the architecture looks and works the way I wanted) by

removing target group from port mapping, only keeping containerPort
adding loadBalancers block to FargateService:

.. 60           loadBalancers = List(
.. 61             ServiceLoadBalancerArgs(
.. 62               containerName = "sentiment-service",
.. 63               containerPort = 80,
.. 64               targetGroupArn = loadBalancer.defaultTargetGroup.arn
.. 65             )
.. 66           ),

Btw you should not need to flatMap on imageUri property to use its value as an argument for another Args. Args are built in a way that allows them to consume both raw values and values wrapped in Outputs (opaque type Input[A] = A | Output[A] essentially). We are working on adding a warning when you call a resource constructor in a body of lambda passed to flatMap on Output because, and this is a problem well understood in Scala community thanks to CT discourse, it is impossible for Pulumi to form a static plan of deployment when dynamic, monadic APIs are used (so, basically, applicative vs monadic from mill vs sbt discourse). In dry run computed properties (Outputs on resources) are unknown and behave like Option None - they short circuit and do not run flatMaps. Therefore they cut out subtrees of the deployment plan and that's exactly why we don't really flatMap anywhere beside computing derived properties that we later feed to args of another resource constructor that is called statically, not in a flatMap.

That's a gotcha coming from the elasticity of Pulumi that Scala's ease of use of flatMap sort of exacerbates. Compile warn should help push people to use this power only when really necessary.

Glad to hear you were able to workaround the issues. Feel free to reach out if any more problems crop up. I'll leave this open until release of 0.3.0, but I'm afraid that the underlying issue appears to be upstream unfortunately.

@lbialy WDYT, can we close this now that the 0.3.x was released? I think we've done what we could on our side and the main problem in this thread is upstream, in the awsx provider.

It is an open problem that is not fixed. I think we should leave this as a lower priority bug report and check after a new release of pulumi/pulumi-eks (there has been on few hours ago - 2.5.2 - btw).


minimize to tray

it would be excellent

ASF is a console app. It can't be minimized to tray by definition.
There are plenty of apps though, that can minimize to tray almost any window, like http://rbtray.sourceforge.net/ for example. Use it.
@JustArchi maybe this should be added to FAQ?

Should be added to FAQ.

Added to FAQ.


Revit: Align traversal behaviour with other connectors

Right now, The Revit connector is an exception when it comes to ToNative traversal. In that we perform most of the traversal inside the converter.
This leads to

Duplicated logic that is easy to misalign
Incomplete reporting as hosted/nested speckle objects won't have report cards created
Traversal misalignment with other connectors
Exception handling is inconsistent and can lead to bugs where one object failing can cause parents to fail conversion.

I propose (and agreed with @connorivy) we need to first align the Revit connector before we can have reliable error reporting

Closing this ticket as we are moving to Jira to reduce noise. You can access it there.


Add  supported_model_names to NNOperator

Signed-off-by: Jael Gu<EMAIL_ADDRESS>

Codecov Report

Merging #1389 (16f6f30) into branch0.7 (af729c4) will decrease coverage by 0.12%.
The diff coverage is 100.00%.

@@              Coverage Diff              @@
##           branch0.7    #1389      +/-   ##
=============================================
- Coverage      68.88%   68.76%   -0.13%
=============================================
  Files            292      295       +3
  Lines          15939    16377     +438
  Branches        2562     2687     +125
=============================================
+ Hits           10980    11262     +282
- Misses          4223     4354     +131
- Partials         736      761      +25

Impacted Files
Coverage Δ

towhee/operator/base.py
77.01% <100.00%> (+0.54%)
:arrow_up:

towhee/functional/mixins/column.py
70.28% <0.00%> (-14.09%)
:arrow_down:

towhee/functional/mixins/computer_vision.py
10.29% <0.00%> (-10.76%)
:arrow_down:

towhee/models/omnivore/omnivore.py
67.66% <0.00%> (-10.71%)
:arrow_down:

towhee/functional/entity_view.py
56.66% <0.00%> (-7.62%)
:arrow_down:

towhee/hub/builtin/operators/tensor_like.py
48.78% <0.00%> (-2.51%)
:arrow_down:

towhee/models/tsm/tsm.py
65.32% <0.00%> (-2.39%)
:arrow_down:

towhee/engine/factory.py
90.99% <0.00%> (-1.67%)
:arrow_down:

towhee/functional/mixins/parallel.py
75.51% <0.00%> (-0.69%)
:arrow_down:

towhee/types/tensor_array.py
33.33% <0.00%> (-0.63%)
:arrow_down:

... and 14 more

Continue to review full report at Codecov.

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

/lgtm
/approve


Model Finetuning

Just wanted to ask, are you working on creating a finetuning script for this model? If so, when do you plan on releasing it?

hello @donjuanpond, there is no script as such, but there is a finetuning example here - hope you'll find this useful. also note that the model has not been pre-trained, hence you may not get the expected performance.
currently, i am doing the groundwork to pre-train on printed and handwritten texts. script for fine-tuning would come later.

@donjuanpond are you happy for me to close this issue? or do you need assistance?

Sorry for not closing myself, everything seems good!


Simplifications for v0.14

Given the evolving use-cases for Iter8 (including traffic engineering use-cases), it is worth simplifying a few aspects of Iter8 in v0.14. A partial list of these simplifications are as follows.

[x] Use go install for Iter8. go install is a powerful command that supports multiple architectures, minor version prefixes, SHA/commit-id based install, as well as installations from PR branches, and latest already. This means, we don't need binaries, homebrew, and GitHub action for Iter8 install.
[x] Merge hub repo into iter8 repo. This way, we will still have a helm repo for installing Iter8 helm charts (and not a Git repo). However, we will not have two repos, only one.
[ ] Remove the iter8 k subcommand and replace them with the appropriate iter8 subcommands. iter8 k persistent flags will be absorbed as part of iter8 persistent flags.
[x] Ensure that ABn controller re-uses the same config struct/file as the traffic controller. This is a breaking change since for ABn since the config information it uses today is somewhat different. Installation of ABn will need to change accordingly. Also, it will use the routemap weights directly from the traffic controller as part of its lookup call, to support weighted routing.

This is no longer a v0.14 item. Closing the "epic"; the remaining isssue still present


make sure ChildName produces a valid dns subdomain

Changes

:bug: Fix bug
Add check to remove . from end of name

/kind bug

Fixes #2659
Fixes #2551

Release Note
N/A
Docs
N/A

I'm not sure what to make of this failing downstream unit test on "eventing-natss". It doesn't seem related to the changes in this PR
https://github.com/knative/pkg/actions/runs/3659935995/jobs/6186498978

natts is broken and it seems like people aren't maintaining it - we should probably remove it. But for this PR you can ignore it

/approve
leaving LGTM for others


DXF import: polylines are not imported correctly

DXF created in Inventor 2018 (export face as...). Renamed to txt as uploading a dxf doesn't seem possible.
K40 Whisperer opens and burns this file correctly. Meerk40t does not, for example the outer fillets on the 4 panel corners are replaced by straight lines. What's worse: no error message is shown.
FWIW, Inkscape has issues importing these files as well (warning "16 ENTITIES of type POLYLINE encountered and ignored. Please try to convert to Release 13 format using QCad."). The recommended solution to convert with QCad doesn't help.
Furthermore, this DXF has been created by a genuine Autodesk product, so I don't see why it shouldn't work (… and it works in k40 Wisperer so every time  i need to laser a DXF I find myself going back to wisperer I'm afraid.)
Top panel with DIN.txt

DXF uses the ezdfx code which does a great job interpreting everything in the dxf files. The problem is I haven't done the leg work on what the dxf objects actually are and mean and what to do with them. The edges of the bed should be rounded but are not rounded. The upper left hand circle is rendered wrongly as a square without rounding. The oval shaped outermost bits on the center left are also not rounded and should be. And a couple additional things are also not rounded when they should be.
Surprisingly it actually not too terrible. I mean, I put the dxf stuff together in a couple hours rather than giving it all the polish it actually needed. Mostly from a lack of test files.  Judging from the shapes there's some curve property of some of these elements that I just ignored. Lemme track that down for you.

Ah, the polyline objects have arcs. And ezdxf has been updated to allow explode() to read those more easily. Had that feature been there when I first wrote that code I'da used that. Okay, I'll check that and subparse those elements, rather than simply converting DXF Polyline to SVG Polyline on the assumption that it contains many-lines and does not contain arcs.

Okay, edited that stuff to get the DXF Bulges that the polylines have implemented (https://github.com/meerk40t/meerk40t/pull/160/commits/6bfb51c754d0eff883d5ac6e6e7b0956a0a6c915). It's fixed for 0.6.0  though Rastering is still broken in that version but you could run it a bit to see it generally works. Hopefully feature freezing and getting that version out. Got weirdly addicted to Ruida reverse engineering.

Great. Looking forward to seeing this implemented!
Thanks, much appreciate the effort.

Though, not sure whether

though Rastering is still broken in that version

is an issue for me as I'm not sure when I would need it. For the last few months I've mostly reverted to k40wisperer because family life has been hectic and I couldn't find the time to figure out how everything worked in Meerk40t. For instance, Wisperer just asks for 3 colors to vector/raster/cut. Meerk40t trows all elements together and I couldn't find out how to easily get some things cut and some vector engraved. There are far fewer options compared to Meerk40t so it's much easier to work with, as long as you don't need anything it doesn't offer.
It's about time to put some effort into figuring out how to work with Meerk40t. What's the best place to ask questions? Seems there are some basic things that I can't figure out how you expect them to be done, so I'm struggling a bit with even basic tasks....

Btw, if you need some more test DXF files, I'd be happy to generate them for you. Just let me know what you need.

How about instead of putting in effort figuring out how to work things with MeerK40t you just tell me how it should work. UI and UX is hard to get right. If you're confused other people are confused too and that means it's a problem with MeerK40t, not you. Even a steep learning curve is an issue that should be addressed.
I've made some design decisions which are notably a bit strange but make a lot of sense from a programming perspective. But, clearly are not well done or easy to use just yet. At a minimum though, there should be an easy intuitive workflow that works from the start and from there you can get fancier options as the need arises.
There are somethings about the classification system that just don't work. Like sometimes you'd need to recolor an object and reclassify things just so it'll make the object it needs.  https://www.youtube.com/watch?v=ikTlH5z2U-0 I think the UI there is just sort of in the way, for people. It's a good decision but poorly implemented, and I keep going off and making a killer terminal command and keybinds but no good way not a great way to make it cut things.
I think after finishing up this current version I'm going to hyperfocus on UX. While the every object has a operation paradigm is wrong in particular ways, the workflow it gives rise to, of just having some colors which indicate an operation and assigning those to elements is actually pretty nice as far as user interfaces go.
It was a bit hyper-focused on the correct way to do things, without the functional chops to back it up what seems like a better paradigm.  It's a better method, but a much poorer implementation.
Basically the operations are the important things and the elements are just the objects the operations work on. Most lasering software take a bunch of objects and assigns them some particular operation. But, then you're basically locked into a 1 object to 1 operation scheme, and you start making things like scan then cut, dot layer, etc. And you assign just that operation to that element, and that's all you can do. The better method is to have a bunch of operations that can do anything you might want to do and have them contain any of the elements you'd want. So you could cut 20 passes with an operation that does have explicitly says how many passes it has, or make 20 operation that each contain a 1 pass objects containing the same element. Or 1 operation with 20 references to the same object in it, or 5 operations each with 4 objects, with them all having some slight tweaks. You get smaller simpler and a more intuitive understanding of what's going to happen, and the order they will cut in when you send that job to the laser, and much more control over how that works.
The problem with this is I have very little code to make this part highly flexible methodology easy for the end user. And while the 1 color equals 1 operation bit works great, I kinda opted against it earlier because it felt a bit limiting since it basically works best when your elements and operations are 1:1 and really I can use the same element in every operation, as many times as is needed. To scan and cut that object, you add it to a scan and then to a cut. Which is much simpler. But the UI is much crapper. I figure the more typical 1 color = 1 operation, is a better starting point than I have.
You're not wrong, it is wrong, I'll work on it next version since I have a good idea about the problems and messed around with RDWorks a lot recently and understand the draw. Currently it does the Whisperer classification thing where red goes to cut, blue to engrave, and anything else to raster. And then it lets you move them around between the operations and elements at your leisure.
But, that's not really that easy to use by any stretch, even though it's technically much more power.

This is a pretty good overview video of 0.5.2 (not by me)
https://www.youtube.com/watch?v=oESYORW7LBA

As for DXF anything simple that fails would be great. I know Hatches and Ellipses are not fully working, but there might be other things I don't know to look for, like polylines having arcs. I'm not an expert in DXF by any stretch so critical features might get left out since I didn't know they were there.

In any case, I hope you realize there's people that really appreciate your work. I can do a little bit of Python, and can't imagine the amount of effort it takes to research, create, plan and maintain this. I can't imagine where you find the motivation (I suppose you thoroughly enjoy it), much less the time.
I don't really think I should tell you how it should behave/work. I use my k40 every few weeks lately since we have a toddler and a 4 week old baby, whereas there's people that use it daily. I'd think they have a better understanding of what is needed to make this an awesome tool, and what is required to change/added/removed.
What I could do is let you know where/when I need to search for certain actions or where I don't get the logic. It would be up to you (or others) to question whether my doubts/questions/stupidity is valid for a larger audience.
I'll take a look at the video's tonight, they would probably help me get started. The very early versions had less options and tools but were enough for me and how you did things was pretty obvious. I was actually tempted to go back to one of those versions until I remembered that those didn't work for the dxf files either. Since you spent much time typing replies I'm sure you realize how much time that takes and back then it was either write a issue report or getting the thing cut in wisperer. I chose the latter (it just had to get done).
Just one remark which really bothers me with almost every open source/free software: documentation. I know how hard a good manual is. I know it's not the sexiest of all tasks and gets behind on software changes quickly. What could help (or could have helped me) is to have a message pop up on the first launch with some links to places with more info, even if they would be made by others (such as the videos you refer me to now). The information is there, why not point people towards it (ok, I could have done a little search myself, that is true. But since I couldn't manage to import my DXF even after installing Qcad, trying with inkscape to convert to SVG and several other half-assed options, I could only be bothered to document an issue, burned with Wisperer and went to bed. Very happy to have a reply waiting for me in the morning ;) )

Oh, two more small things:

English is not my first language. I usually manage to get by by referring to an online dictionary sometimes, but sometimes small nuances get lost in translation...
I tried installing this on a Linux machine, but couldn't get it working. The issue was while compiling one of the dependencies (installed through pip). When ran as superuser, the dependency showed as installed but I think I couldn't launch Meerk40t for another reason. Don't know exactly anymore. In any case, I tried a couple of things but couldn't understand what was happening as it didn't seem to make sense. Since the issue was outside of Meerk40t but likely my system/python install I didn't feel like I should raise an issue.

Yeah, people tend to do what's easiest for them, if my program isn't the easiest. That's on me. I have solid ideas for how to make that better but I'll put them off until I'm finished with the current version, since I've been working on that version since mid-March.
The program itself is built with multiple languages in mind. There are no translations currently available for it but it's built quite specifically to allow translations everywhere. So, if you'd like to use it in your own language, I'd gladly make that happen, explain the process, and include your translation(s) in the next version.
There is in (https://github.com/meerk40t/meerk40t/releases) a natively pre-compiled Ubuntu Linux version. That might let you bypass the issues you have getting it to work. @joerlane does good work in this department.
Even if something seems to fall outside the scope, it is a concern that I'd like to know about.  It would tell other users that this is a problem and maybe help produce solutions. I would rather error on the side of too many raised issues rather than too few.

If you want to provide a translation. I have (https://localise.biz/tatarize/meerk40t) setup and could send you an invite (an email to tatarize at my gmail.com account, since public sharing of email has spammer issues, if you wanted to go that way), or you could download things like some poeditor and the messages.po file (https://github.com/meerk40t/meerk40t/blob/0.5.3/locale/messages.po ).  It's highly specialized work, that I categorically can't do.
https://github.com/meerk40t/meerk40t/wiki/Providing-a-Translation.

I'll try the precompiled Linux version, and let you know how it goes.
About the language, I'm sorry for the misunderstanding but I meant that I might express some feeling/idea in a manner that does not 100% reflect what I mean since I'm not native English. Even if I'd have plenty of time, I've never felt the need for translations of English software. There aren't that many menus etc to familiarize yourself with. Also, regardless whether you're using a translated version or not, you'll likely need support at some stage which would be in English anyway.

Don't know where you want comments as this is likely not the best place. Until I know where to put them, I've got this one as a first.
As I import the DXF (apart from the polyline issue), I get the following:

That list goes on. Then there's the elements part, and the file foldout. All of them contain a list of about 50 items, with little to go by besides their text (such as "M -2314.442885722,20042.480248..." and what seems to be a crude representation of the element, although I don't think that's really working too well (I do realize most of my elements are about the same form, but that's how it will mostly be for me):

Now I know that if you're doing more artistic designs, these might be more representative and useful.
Also,

why is that whole list repeated again in the file (because you can have multiple files as sources and you want to list which elements are from which file? In that case you could do a subdivision in your elements branch with a subsection for each file?)
Why are all expanded by default? After importing the file, I get a tree with about 150 items.
After reloading or changing some items in the tree, it scrolls back to the files subsection

at first, it's not clear how to add an operation. My initial reaction is to rightclick on the operations line, but that gives only "clear all" as options. Sure I'll find out.

I have been moving things around a bit, but now I'd like to select a few items using CTRL + click. That doesn't seem to work. Next idea: draw a bounding  box with the mouse to select multiple items. Doesn't work.
The big "rectangle" seems to have precedence over the other items that are within its boundaries. Or it is on the top layer if you will. Only by moving the big outline of my panel (the big rectangle) aside, I can select other items and then only one by one. Difficult to rearrange items.
I do realize I can select multiple items in the tree on the left, though its not very intuitive as the names/labels are not really related to the things they represent in my case. I realize that would be different if you're doing designs with more recognizable elements.

I try to drag one element to the operations to add a new operation. The operation list is long, but I expect the tree to scroll automatically when I am dragging to the top. It doesn't.
after I release the mouse button, the list jumps back to the files folder (not sure what the correct names are), every time. This is particularly annoying since the list is long and unreprestative

What would be great (for my specific case) is:

select elements in the main window by clicking on them, selecting multiple by holding CTRL or drawing a box (ideally the Autocad way where drawing the box from left to right has a slightly different effect than right to left).
right click on those selected/highlighted elements to show associated operations. Option to add an operation is there as well.

Not all text fits in the box, that is fine. However, I can't seem to change the size of the panel to see everything. Since the text ends with three dots, it seems like there is more text ready to be shown on that line. So I tried to mouse over, but that didn't do anything either. Rightclick? Perhaps that will show me a properties panel with the full text? No.
I know this is nitpicking, but you wanted to have all the details...

Selecting any element in the list highlights all other "instances" of that item. That's nice...

Maybe a mark (in the tree) for those elements that currently fall outside the bed area could be useful?

Telling me stuff is generally fine. I'll likely start a new issue and just link to this one after it's closed since the original point was fixed. So sometime after I publish MeerK40t 0.6.0. I've worked on that version for too long so I'm pushing all feature changes to the next version that is going to focus on this User Interface stuff.
I'm raising #174 for the UI/UX corrections. Which I've already sort of decided should be the core of the next version. I hopefully rephrased transcribed your objections accurately.

This issue was corrected in 0.5.0. Which is now in full release.

0.6.0*


Making Features as a singleton for improved caching

Description
Caches Features by making it singleton.
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[ ] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[x] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[x] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Testing
ubuntu@ip-172-31-82-110 ~/incubator-mxnet (singleton_feature) $ MXNET_TEST_COUNT=1 nosetests --logging-level=DEBUG --verbose -s tests/python/unittest/test_runtime.py
1
/home/ubuntu/anaconda3/lib/python3.6/site-packages/h5py/init.py:36: FutureWarning: Conversion of the second argument of issubdtype from float to np.floating is deprecated. In future, it will be treated as np.float64 == np.dtype(float).type.
from ._conv import register_converters as _register_converters
test_runtime.test_features ... 2
[✖ CUDA, ✖ CUDNN, ✖ NCCL, ✖ CUDA_RTC, ✖ TENSORRT, ✔ CPU_SSE, ✔ CPU_SSE2, ✔ CPU_SSE3, ✔ CPU_SSE4_1, ✔ CPU_SSE4_2, ✖ CPU_SSE4A, ✔ CPU_AVX, ✖ CPU_AVX2, ✖ OPENMP, ✖ SSE, ✔ F16C, ✖ JEMALLOC, ✔ BLAS_OPEN, ✖ BLAS_ATLAS, ✖ BLAS_MKL, ✖ BLAS_APPLE, ✖ LAPACK, ✖ MKLDNN, ✖ OPENCV, ✖ CAFFE, ✖ PROFILER, ✖ DIST_KVSTORE, ✖ CXX14, ✔ INT64_TENSOR_SIZE, ✖ SIGNAL_HANDLER, ✔ DEBUG, ✖ TVM_OP]
ok
test_runtime.test_is_singleton ... 2
2
ok
test_runtime.test_is_enabled ... 2
ok
test_runtime.test_is_enabled_not_existing ... 2
ok

Ran 4 tests in 0.001s

@ChaiBapchya @apeforest please review

@mxnet-label-bot add[pr-awaiting-review]

@larroy please review

@mxnet-label-bot add [pr-awaiting-merge]


buildah: support passing build args as Tekton parameter list

Description
For building ACS containers, we need to pass the same parameter to multiple tasks, one of them is buildah.
While there is BUILD_ARGS_FILE parameter (added in https://github.com/redhat-appstudio/build-definitions/pull/935), it requires us writing a file in a workspace which, well, requires creating a custom task which will be a pain to get rid of in order to conform with EC.
Here I introduce an additional parameter of Tekton's type list - BUILD_ARGS_LIST.
Notes on testing
I developed it in a toy task and also verified how it runs in a pipeline: https://github.com/stackrox/scanner/pull/1512. (Example runs, if you have access to the ACS tenant.)
A thing I'm concerned about is that now --build-arg-file option will point to a file that's outside of buildah Context directory (/build-args/build-args-unified). I think it should be fine but I was not able to test whether buildah will object (the latest version I get on my machine is 1.28 and it does not have that command-line option).
More broadly, I don't know how to test this change on real pipelines before it's merged so I'll appreciate some guidance. Also, leaving the template text :point_down: as a reminder.

Look for any open pull requests in the repository with the title "e2e-tests update" and
see if there are recent e2e-tests updates that will be applicable to your change.

@msugakov could you check #1023? Do you see some advantages in your approach over it?

Closing in favor of https://github.com/redhat-appstudio/build-definitions/pull/1023


Draft: Download file

Description:
Working on DownloadFile.vue, experiencing issues with null Ledger ID and client._network being null (client is not null).

Cleaning up commits.