Linux support

Are there any showstopping blockers to working on linux? It looks like a pretty handy tool and I'd love to try it out.

:+1:

:+1:

+1

+1

+1

:+1:

:+1:

+1

+1

upward pointed hand-extension

+1

+1

Yeah, linux support would be awesome.

:+1:

+1

+1

+1

+1

+1

+1
from twit https://twitter.com/kitematic/status/576037217702965248

What about remote linux support to via ssh? :o
—
Sent from Mailbox
On Fri, Mar 13, 2015 at 4:57 AM, Dmitriev Sergey<EMAIL_ADDRESS>wrote:

+1
from twit https://twitter.com/kitematic/status/576037217702965248
Reply to this email directly or view it on GitHub:
https://github.com/kitematic/kitematic/issues/49#issuecomment-78801573

:+1:

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

:+1:
Unrelated: I think Github issues need a like-like button

+1

+1

Liking the like-like
On Wed, Mar 25, 2015, 2:54 PM Andrew Stilliard<EMAIL_ADDRESS>wrote:

+1
—
Reply to this email directly or view it on GitHub
https://github.com/kitematic/kitematic/issues/49#issuecomment-86170895.

+1

+1

:+1:

+1 Also I'd like to manage my docker on digital ocean via ssh.

:+1:

+1

Wow! Awesome demand for Linux :smiley:
Questions for everyone regarding Linux support:

Would .deb and .rpm packages be best (similar to Atom)?
Would it make sense to run the Docker daemon on the Linux host itself? Or using some sort of virtualization via QEMU-KVM?

Just a .deb for me it's good but i think it's better to have both =)
I prefer to run the docker daemon on the Linux host itself.

.deb and .rpm makes sense but you should provide a binary distribution too
personally I'd prefer on the Linux host

I agree with top comments, you need deb, rpm and binary, so other distros can use your package too. Also virtualization doesn't seem right, docker is native on linux, but in case of a migration, moving a virtualbox image would be very handy.
Also any hope for remote docker management with kitematic?

+1 for native packaging
+1 for the Docker daemon on the Linux host

I'm on Archlinux so .deb or .rpm is useless for me :p
But maybe you can provide a container with the project so we would have only to use it:
docker run -p 80:80 kitmatic/kitmatic or I think we can configure our local X server so we can exectute the binary and get it rendred on the X server :)

You could use docker to run kitematic, sort of like how shipyard provides public images you can pull and hit the ground running with a quickstart deploy.

As for Gentoo and other portage-based distros, just sources and a list of dependencies will be enough :)

+1 for both .deb and .rpm
+1 root native host
On Mon, Apr 6, 2015, 3:49 PM Nexie Kind<EMAIL_ADDRESS>wrote:

As for Gentoo and other portage-based distros, just sources and a list of
dependencies will be enough :)
—
Reply to this email directly or view it on GitHub
https://github.com/kitematic/kitematic/issues/49#issuecomment-90218871.

+1 on .deb , sources and native host

+1 very nice app. Tnks

+1 definitely great to have it
+1 native host
+1 .deb and sources

+1

+1

:+1:

:+1:

:+1:

:+1:
+1 navite host
+1 docker container I can pull and run. similar to shipyard.

+1

:+1:

Pretty please with sugar on top, :+1:

+1

+1

+1

:+1:

+1

+1

+1
An official APT repository would be really awesome.

+1

+1

+1 to .deb, .rpm and binaries.
+1 to native host.

+1

Do you know more or less when a Linux release would be available ?

+1

+1 Is a linux release being considered?

+1

+1

Just to share what I know:

No opened branch for Linux portage but a pull request to initiate the Linux support
No ongoing fork with Linux support found in the network
As it's a nodejs app, no big deal to support Linux, the point is about to use the local docker (without VirtualBox and so on). I have tried to update some files to avoid all the setup part at the beginning and reach the point where the docker library is try to connect to the local docker deamon within 2 hours

Cheers

Some progresses :)

The hello-world-nginx image is working just fine :)

Give it a try : https://github.com/zedtux/kitematic/tree/linux-support :)

@zedtux I get some errors (on ubuntu 12.04, commit f1360507 from your branch, Docker version 1.0.1, build 990021a):

[8137:0620/131349:ERROR:browser_main_loop.cc(173)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on.
(electron:8137): IBUS-WARNING **: The owner of /home/jens/.config/ibus/bus is not root!
[8137:0620/131351:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command
[8137:0620/131546:ERROR:desktop_window_tree_host_x11.cc(810)] Not implemented reached in virtual void views::DesktopWindowTreeHostX11::InitModalType(ui::ModalType)
[8352:0620/131548:INFO:renderer_main.cc(200)] Renderer process started
[8352:0620/131548:WARNING:channel.cc(549)] Failed to send message to ack remove remote endpoint (local ID 1, remote ID 1)
[8352:0620/131548:WARNING:channel.cc(549)] Failed to send message to ack remove remote endpoint (local ID<PHONE_NUMBER>, remote ID 2)
[8137:0620/131710:ERROR:desktop_window_tree_host_x11.cc(810)] Not implemented reached in virtual void views::DesktopWindowTreeHostX11::InitModalType(ui::ModalType)
[8484:0620/131714:INFO:renderer_main.cc(200)] Renderer process started
[8137:0620/131906:ERROR:desktop_window_tree_host_x11.cc(810)] Not implemented reached in virtual void views::DesktopWindowTreeHostX11::InitModalType(ui::ModalType)
[0620/131912:ERROR:nss_util.cc(94)] Failed to create /home/jens/.pki/nssdb directory.

And after a while the app wasn't responding anymore (it wouldn't do anything anymore when I clicked on stuff)

@caske33 Your error is the following:

[8137:0620/131546:ERROR:desktop_window_tree_host_x11.cc(810)] Not implemented reached in virtual void views::DesktopWindowTreeHostX11::InitModalType(ui::ModalType)

Searching on google I find posts about Chromium. Are you using it ?

I use google chrome as my main browser.

I'm on Debian and I use Iceweasel (Firefox) so maybe it could be the reason why it's working for me and not for you.
Please try the link I gave you and let's hope !

I get stuck again. And I got again the last error:

[0620/131912:ERROR:nss_util.cc(94)] Failed to create /home/jens/.pki/nssdb directory.

I don't know why you have this ... I don't have this .pki folder in my home ... :(

It seems to be related to Chrome again: http://ubuntuforums.org/showthread.php?t=2216009.

@zedtux I've given chmod go+rw .config/google-chrome seems to fix it. probably because the root user needs access to the chrome settings (because of sudo npm start instead of npm start)
But you can actually run npm start (without the google chrome permission thing) if you make sure your user can run docker. (For ubuntu: http://docs.docker.com/installation/ubuntulinux/#create-a-docker-group, not sure if this also works on other systems)
(by the way, thanks for your work :+1: )

Thank you @caske33 :)
You can pull my repo, I have (partially) implemented the 'Exec' and 'Docker cli' buttons.

Not sure what exec is supposed to do. It opens a terminal and soon after closes it again.
Docker cli just opens a terminal in the location where I was when I ran npm start

Both buttons are doing the same thing which is to open a terminal in the container. Which terminal emulator are you using ?

Bash. And it seems to be running in my host computer, not in the docker machine.

Sorry, not the terminal but the terminal emulator. For instance, on GNOME, it's gnome-terminal

Oh, sorry. I don't know a lot about that kind of stuff. it's gnome-terminal indeed (I'm on unity, if that helps)

Alright so it's should work. You should have a new terminal opening (after having clicked one of the buttons) with a # which means you're in the container. You can also use hostname and you should see something like 8b0f6fa60721.

I'm on commit 59ec6d0b0146 and I get the behaviour I described earlier. The exec doesn't always show a terminal either (maybe it closes before it can show it).
(I'm testing this on a running nginx-hello-world image from kitematic. not sure if that's relevant)

Previously you told me that you're using docker version 1.0.1 ? It seems that the exec docker command has been implemented in docker version 1.2.0.
Can you upgrade docker ?

I upgraded docker and exec works now. The docker cli button still gives the same behaviour though (opens terminal in host computer, not inside the container)

You're right, I have the same behavior. At least, we're inline now :)

True. Thank you for the great work by the way :100:

Thank you :)

I've tried the 'Docker cli' button on Mac, and it's doing the same ... Open a console on the host machine ... so it's seems to be correct :)

Ok. Super! :tada:

Last update (As of now all seems working now but feel free to notify me if something is remaining):

Update fonts for logs and UI (Use Ubuntu font for UI and DejaVu Sans Mono for logs)
Remove 'VM Settings' from settings menu when running on Linux

@zedtux Thanks a lot for your work! Runs smooth on my Ubuntu 15.04 Box.

Stellar!

@zedtux Thanks for this!
I ran into some errors on Ubuntu.

Our bundled electron-prebuilt package 0.27.3 seems to have problems.  (installing latest 0.28.2 seemed to have fixed it)

npm ERR<EMAIL_ADDRESS>postinstall: node install.js`
npm ERR! Exit status 8
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.
npm ERR! This is most likely a problem with the electron-prebuilt package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node install.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls electron-prebuilt
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.16.0-40-generic
npm ERR! command "/home/mc/.nvm/v0.10.38/bin/node" "/home/mc/.nvm/v0.10.38/bin/npm" "install"
npm ERR! cwd /home/mc/workspace/kitematic
npm ERR! node -v v0.10.38
npm ERR! npm -v 1.4.28
npm ERR! code ELIFECYCLE
npm ERR! not ok code 0
`

Same here @mchiang0610.

I had to sudo service docker restart to get past that, @mchiang0610.

@tlongren Thanks, getting this error after:  (This is on Ubuntu 14.04 LTS 64bit)
npm install
npm WARN package.json<EMAIL_ADDRESS>No repository field.
npm run
npm ERR! npm run-script [<pkg>] <command>
npm ERR! not ok code 0
make: *** [run] Error 1

Fixed by installing the nodejs-legacy package:
sudo apt-get install nodejs-legacy

@tlongren and @mchiang0610 is all working fine now ?

good over here @zedtux!! :+1:

Working fine.
Linux Mint 17.1 Rebecca fresh install
:+1:

Works fine for me on Elementary OS.  It's now here, thx to @zedtux (:ok_hand:), so coud you test it out? And say if it works for you?
Btw @zedtux do you know if it will be easy to wrap this into .deb and .rpm packages?

@caske33, I tried. I have got the same bug with nssdb directory when i click on the dialog icon (bottom left). I tried to change the chmod but it's not solved the problem.
I tried to start php-apache and it succeeds ! =)

Thanks for this job !
Little question: kitematic can list local images ?

@caske33 you're more than welcome ! I'm really happy that this is enjoyed by couple of people ! :+1:
Regarding the .deb and .rpm packages, I have some knowledge for .deb packages but it's not my best area. I would prefer that a really packager is doing it (especially for Debian as they have a lot of rules and so on) but I'm completely free to help in case it's needed if there are some questions and for testing the package on Debian.

@ChristopheBoucaut Have you tried adding your user to a docker group and running kitematic as npm start (without the sudo)

Hello,
On ubuntu 15.11, works for me ! (recap)
mkdir ~/kitematic
cd ~/kitematic
git clone git@github.com:zedtux/kitematic.git
cd kitematic/
git checkout linux-support
sudo apt-get install npm nodejs-legacy
make
sudo npm start

Thanks !

@zedtux maybe fpm could help the packaging stuff.
@caske33 My user is on docker group, and this works fine.
Working well on Ubuntu 14.04, but when I hit the close button, the app just close the main window and keep running through terminal.

Yeah, you can actually Ctrl+C the terminal without closing the app.

@zedtux I think we can acheive the .deb packages etc. by using electron-packager to package it into a directory (https://github.com/maxogden/electron-packager) and then using fpm to package that directory into a .deb and .rpm (https://github.com/jordansissel/fpm/wiki/Source:-dir)

@caske33, i didn't create the docker group (this ?). I will try and I will you give the result.

@ChristopheBoucaut That's indeed what I'm referring to.

working without sudo for me.

@caske33 your packaging solution will produce a .deb package, but I do believe it will not be compliant to the Debian folks. Unless you don't care to have Kitematic in the official Debian repo, it should be done in the state of the art in order to get it accepted.

@zedtux your branch seems to work fine. here's what i did:
# install docker
curl -sSL https://get.docker.com/ubuntu/ | sudo sh
# add my user to docker group
sudo gpasswd -a ${USER} docker
# restart docker
sudo service docker restart

# download kitematic to /opt/kitematic
cd /opt
sudo git clone https://github.com/zedtux/kitematic
cd kitematic/
sudo git checkout linux-support
sudo make

# adjust permissions so that anyone in docker group may use kitematic
chmod -R g+w .
chgrp -R docker .

# start kitematic
npm start

Thank you @redeemed2011 for the details. I personally prefer to use sudo but it's nice to have this kind of documentation.

+1

The merge request has been opened.

On Debian Jessie it works with no trouble :100:

@funkymonkeymonk you're the author of this issue. I believe we can't go ahead without your validation :-)
Can you please take the time to test my portage ?

It's awesome that you guys really implemented the linux support! Thanks! :-)
Anyway, I am struggling with the make command on my Fedora 22. I followed @redeemed2011 manual and I got https://bpaste.net/show/8fd112596343 .
I will also try it on my Gentoo on the weekend.

@FrostyX That seems like a bug with the chromium-pickle module.

@caske33 install works fine on Ubuntu 12.04 using npm and node 0.12.2 :)

@caske33 seems to run fine on Archlinux.
Docker-cli gives unknown terminal emulator
Somewhere 'Finder' is mentioned, that should probably be changed to something more general.

@sanderboom In his PR, @zedtux mentioned that he only implemented the gnome-terminal emulator. Which one are you using?
@zedtux the mentioning of "Finder" is when you click on a volume, I believe.

@caske33 @zedtux I've added a comment to #699 about the 'Finder' wording.
@caske33 @zedtux mate-terminal, and I was going to open an issue for this, but you are faster ;)
thanks for the great work!

I will change the 'Finder' mention. I've noticed it and forgot to change it.
@sanderboom is mate-terminal installed in /usr/bin ? Also what is the flag to use to execute a command ?

@sanderboom and @caske33 the 'Finder' mention has been replaced in the PR.

@zedtux
Yep /usr/bin/mate-terminal
From man mate-terminal:
      -e, --command
              Execute the argument to this option inside the terminal

@sanderboom please do a git pull and try again for the 'Docker cli' :)

@zedtux great quick fix, works like a charm (opens a terminal kitematic directory)

Cool, thank you @sabatesduran :)

Awesome!   I'll hopefully be able to try it tonight!

In addition to the steps provided by @redeemed2011 above, I also had to run this one additional command, before I could "sudo npm start" to load Kitematic:
sudo npm install grunt-babel

Works fine on Ubuntu 15.04! Great work guys!

Simple patch to support KDE users and use konsole as a terminal emulator
diff --git a/src/utils/Util.js b/src/utils/Util.js
index 498d679..dab6f40 100644
--- a/src/utils/Util.js
+++ b/src/utils/Util.js
@@ -166,11 +166,13 @@ module.exports = {
return ['/usr/bin/gnome-terminal', '-e'];
} else if (fs.existsSync('/usr/bin/mate-terminal')) {
return ['/usr/bin/mate-terminal', '-e'];

} else {

} else if (fs.existsSync('/usr/bin/konsole')) {

 return ['/usr/bin/konsole', '-e'];

}else {
dialog.showMessageBox({
type: 'warning',
buttons: ['OK'],

   message: 'Unknow terminal emulator. Please open an issue at https://github.com/kitematic/kitematic/issues/new.'

   message: 'Unknown terminal emulator. Please open an issue at https://github.com/kitematic/kitematic/issues/new.'
 });
 return;

}

Seems to work well on Linux Mint 17.1.     Nice!

Fresh install of Ubuntu 15.04 following @sboily with https://github.com/kitematic/kitematic/issues/49#issuecomment-114077936
I get this issue,
"Unhandled rejection Error: /home/bweston/kitematic/kitematic/resources/docker-machine stop dev returned non zero exit code. Stderr: /home/bweston/kitematic/kitematic/resources/docker-machine: 1: /home/bweston/kitematic/kitematic/resources/docker-machine: Syntax error: word unexpected (expecting ")")

@bweston92 when exactly did this error happen? (what are the steps to reproduce it?)

@caske33 it happens whilst installing, how-ever for some reason I attempted to run the docker executable in resources for some idea and I get the same issue.
docker: Syntax error: word unexpected (expecting ")")
I'm running Ubuntu 15.04 64bit

Have you installed docker before installing kitematic?

No, I had a fresh install, where Kitematic would download it.

Kitematic currently doesn't install docker itself. As this is too hard to do because of the different package managers. When a kitematic deb package is made eventually, docker will be the dependency, but for now, you'll have to install it manually.

Ok, working fine now thanks!

Issue on restarting Kitematic though,
[Bugsnag] Invalid API key 'undefined', source: /opt/kitematic/build/node_modules/bugsnag-js/src/bugsnag.js (239)
Causes start page to ask to retry or delete and retry both options don't solve the issue.

@zedtux Ok, I'm stupid. This can't work on my professional computer, I'm in 32bit and docker afaik only work in 64bits, right ?

@mickaelandrieu you're not stupid, you've just missed an information. It's okay :)
I'm surprised that there would be not 32 bits version of Docker. What Linux distribution do you use ?

@zedtux ubuntu :/

@mickaelandrieu you was right:
from https://docs.docker.com/installation/ubuntulinux/

Docker requires a 64-bit installation regardless of your Ubuntu version. Additionally, your kernel must be 3.10 at minimum. The latest 3.10 minor version or a newer maintained version are also acceptable.

I had to take the following steps to get it working on my hybrid Ubuntu14.04/Mint17.02 setup:

cd /opt # Or wherever. I did it in my home dir.
curl -sSL https://get.docker.com/ubuntu/ | sudo sh # Installs Docker if you don't already have it.
sudo apt-get install nodejs-legacy # Installs Node if you don't already have it.
sudo gpasswd -a ${USER} docker # Adds your user to the docker group
sudo git clone https://github.com/zedtux/kitematic # Downloads Kinematic source
cd kitematic
sudo git checkout linux-support # Enables Linux support
sudo npm install -g npm # Updates NPM to avoid some sort of dependency version resolution issue.
sudo npm install grunt-babel # Recommended by other users
sudo make # Builds the things
sudo chgrp -R docker /var/lib/docker . # Changes the ownership of files so that Docker group members have access
sudo find /var/lib/docker -type d -exec chmod g+rwx {} \; # Changes the permissions of directories so that Docker group members have access
sudo find . -type d -exec chmod g+rwx {} \; # Changes the permissions of directories so that Docker group members have access
sudo chmod -R g+rw /var/lib/docker . # Changes the permissions of files so that Docker group members have access
sudo service docker restart # Allows Docker to pick up changes
sudo bash -c "echo -e \"[Desktop Entry]\nType=Application\nName=Kitematic\nComment=The easiest way to start using Docker.\nExec=npm start\nPath=$PWD\nIcon=$PWD/images/whaleicon.png\nTerminal=false\nCategories=Accessories;Development;System\" > /usr/share/applications/kitematic.desktop" # Creates an entry in your menu to launch Kitematic.

As with other users, I am unable to launch any CLI commands due to the terminal emulator not being set. Can someone please advise me on how to trick it into using whatever is the default terminal?

sudo bash -c "echo -e "[Desktop Entry]\nType=Application\nName=Kitematic\nComment=The easiest way to start using Docker.\nExec=npm start\nPath=$PWD\nIcon=$PWD/images/whaleicon.png\nTerminal=false\nCategories=Accessories;Development;System" > /usr/share/applications/kitematic.desktop" # Creates an entry in your menu to launch Kitematic.
Thank you for the tip :)

@nakedhitman You have to tell @zedtux how your terminal emulator executes commands. He can add support for your emulator then.

@nakedhitman you can :

Open a PR implementing Terminator
Open an issue about the Terminator implementation

in my fork: https://github.com/zedtux/kitematic.

@zedtux manually implementing every terminal would probably be a poor use of your time. Most terminal emulators accept a common set of input and launch options, and are available through the alternatives system with the alias x-terminal emulator. Executing this alias launches Terminator for me, and that is how most other programs know to use it.
You can find more information at:
http://linux.die.net/man/8/alternatives
http://www.howtogeek.com/howto/ubuntu/set-the-default-terminal-emulator-on-ubuntu-linux/

Thank you @nakedhitman for coming with this. I have already looked for this x-terminal-emulator and understood that this is something available for Debian and Ubuntu but it was looking like it could not be available for other distro so this is the reason why I'm doing the implementation of every terminals...
Do you think that the x-terminal-emulator alias is available everywhere ?

Getting this when trying to build on Fedora 22.
https://bpaste.net/show/8fd112596343
Any thoughts?

@pvangundy It looks like you're missing a lot of node packages. Could it be possible that your /tmp folder is in a partition and it would not have space left ?

@zedtux Thanks for the prompt response. The partition that my /tmp folder is in is 99% free. Perhaps there's an issue with running this on Fedora 22 as I see successes by others using Ubuntu?

@pvangundy you're welcome :)
Okay, at the end of the day, you're error is the following:
[...]/v8/include/v8.h: No such file or directory

As I've never used Fedora I don't know how you can install V8 ... but it should help !
And yes Debian/Ubuntu users seems to have no issues.

@zedtux So the issue appears to be with locating v8.h. V8 and V8 devel packages are installed and still having an issue. As this is likely being developed on Ubuntu, it is likely that these distributions aren't storing the files in the same path? v8.h on Fedora 22 is in /usr/include/v8.h.
Thoughts?

@zedtux alternatives is for sure a Debian project, but is jointly maintained by Red Hat now, and is commonly available on Fedora/RHEL/SLES/SLED and several derivatives. You're right that its not available everywhere (Arch and Gentoo do their own thing for example), but most users of those distros will be figuring out their own solution, as it is unreasonable to expect that developers support every niche. If you were to standardize on x-terminal-emulator and decide on the sorts of input that needs to be there, it would be relatively simple for users that do not have alternatives to put a script or symlink in its place that points to a supported terminal emulator.  Just trying to save you some work ;)

Thank you @nakedhitman for the details and I have to admit I'm agreeing with you. @TeckniX do you agree with that ?

@pvangundy to be more clear, your issue is when npm is installing the module native_mate. There is a compilation step which requires the file ../deps/v8/include/v8.h from the path /opt/kitematic/node_modules/grunt-electron-installer/node_modules/asar/node_modules/chromium-pickle/build.
To be honest ... I don't really see why it's not working. I'm sorry to not help more on that and I don't think that this issue is the right place to discuss the issue.
It looks like the issue is related to the electron module at the end of the day. Maybe you should open an issue on the electron project.

@zedtux @nakedhitman I think that's the right approach - Adding support for every flavor of terminal would be a nightmare.
The symlink should be a good enough fix and could be added to the wiki within a Linux section - We'd probably need some sort of try/catch and provide a link to the wiki to the user.

Thank you @FrenchBen, let's do it this way ! :)

@zedtux Here's the wiki entry - Let me know if anything is missing or should be changed:
https://github.com/kitematic/kitematic/wiki/Common-Issues-and-Fixes

Trying this on Ubuntu 14.04 64bit and hitting a problem.
https://bpaste.net/show/dd657c8c24de
Logfile: https://dl.dropboxusercontent.com/u/3371527/npm-debug.log

Sorry @who-me, I don't really understand the issue. There is a file missing while compiling a module ... I would recommend you to search on google.

@who-me Can you confirm your nodeJS and npm version?

@FrenchBen
nodeJS is version 0.10.25~dfsg2-2ubuntu1 and npm: 1.3.10

We'd probably need some sort of try/catch and provide a link to the wiki to the user.

@FrenchBen can you please give me the URL of the wiki page to be shown when the symbolic link x-terminal-emulator doesn't exists ?

I solved my problems with "sudo npm start" in user nvm environment using this command:
n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr/local
taked from http://stackoverflow.com/questions/21215059/cant-use-nvm-from-root-or-sudo
This worked for me and let me to start the app smoothly

@zedtux This is where I've added the stuff - Feel free to edit anything in the Linux version:
https://github.com/kitematic/kitematic/wiki/Common-Issues-and-Fixes

Thanks, thanks, thanks, really thanks @zedtux  !!! for provide support for Linux. We are first-class citizens, not second-class ones!!

@zedtux I tried your solution for Fedora-20. I am still getting this error:
73417 silly gunzTarPerm extractEntry lib/util.js
73418 silly lockFile 751422b8-e-modules-hawk-node-modules-hoek tar:///opt/kitematic/node_modules/grunt-curl/node_modules/request/node_modules/hawk/node_modules/hoek
73419 silly lockFile 751422b8-e-modules-hawk-node-modules-hoek tar:///opt/kitematic/node_modules/grunt-curl/node_modules/request/node_modules/hawk/node_modules/hoek
73420 silly gunzTarPerm extractEntry lib/properties/textLineThroughMode.js
73421 silly gunzTarPerm extractEntry lib/properties/webkitBorderAfterWidth.js
73422 silly lockFile ab0f25f8-root-npm-hoek-2-14-0-package-tgz tar:///root/.npm/hoek/2.14.0/package.tgz
73423 silly lockFile ab0f25f8-root-npm-hoek-2-14-0-package-tgz tar:///root/.npm/hoek/2.14.0/package.tgz
73424 error Error: ENOENT, open '/root/tmp/npm-10604-2mKRYYmW/1439188418264-0.9691407685168087/package/package.json'
73425 error If you need help, you may report this log at:
73425 error     <http://github.com/isaacs/npm/issues>
73425 error or email it to:
73425 error<EMAIL_ADDRESS>73426 error System Linux 3.11.10-301.fc20.x86_64
73427 error command "node" "/bin/npm" "install"
73428 error cwd /opt/kitematic
73429 error node -v v0.10.36
73430 error npm -v 1.3.6
73431 error path /root/tmp/npm-10604-2mKRYYmW/1439188418264-0.9691407685168087/package/package.json
73432 error code ENOENT
73433 error errno 34
73434 verbose exit [ 34, true ]

Apparently that's because of package.json file. But that file is already there. Any thoughts?

Thank you @sebelk :)
@Pensu can you please post all the commands you've run ?

@zedtux: I ran the ones given here: https://github.com/kitematic/kitematic/wiki/Common-Issues-and-Fixes
The ones that are titled, early linux support.

@Pensu do you have this error all the time ? Couldn't be that you got an issue to download a file ?

@zedtux: I tried it twice, it's the v8 issue this time:
 GET https://registry.npmjs.org/ansi-wrap/0.1.0
npm http 304 https://registry.npmjs.org/expand-range
npm http 304 https://registry.npmjs.org/async
npm http GET https://registry.npmjs.org/fill-range
In file included from ../node_modules/native-mate/vendor/src/native_mate/converter.h:13:0,
                 from ../node_modules/native-mate/vendor/src/native_mate/arguments.h:10,
                 from ../node_modules/native-mate/vendor/src/native_mate/arguments.cc:5:
../node_modules/native-mate/header_redirect/v8/include/v8.h:2:35: fatal error: ../deps/v8/include/v8.h: No such file or directory
 #include "../deps/v8/include/v8.h"
                                   ^
compilation terminated.
npm http 304 https://registry.npmjs.org/object-keys
npm http 304 https://registry.npmjs.org/mime-types
npm http GET https://registry.npmjs.org/mime-db

Any way to resolve that? I was reading the thread, couldn't find anything concrete! @pvangundy

+1

Running make is going through several errors on Ubuntu 15.10
Ran from Docker Hub jonadev95/kitematic-docker. Some features aren't working, but it's running

Works great! Why do Kitematic official project don't support it??

I had errors while running make.
Why don't overwrite the official readme.md to include the linux installation instructions?

@dalareo @pauloch8 As you can see opinions differ on when this works properly - The kitematic already has to QA OSX/Windows, I believe it's only normal that additional QA is made for this pull prior to seeing it being merged.
@pauloch8 As mentioned in the comments above, there's an entire wiki section for this:
https://github.com/kitematic/kitematic/wiki/Common-Issues-and-Fixes#early-linux-support-from-zedtux

+1

+1

+1

I've made a package for Arch Linux. It solely installs a binary build from the linux-support branch at https://github.com/zedtux/kitematic and adds a .desktop file and icon. Still quite experimental.
Also added some instructions to the wiki page (https://github.com/kitematic/kitematic/wiki/Early-Linux-Support).

+1

When closing Kitematic on linux I see 4 processes remaining:
sander@zenbook:~/dev/arch/vagrant
λ ps aux |grep Kite |grep -v grep
sander   22349  1.2  0.9 1240272 91196 ?       Sl   12:13   0:01 /opt/Kitematic-linux-x64/Kitematic
sander   22352  0.0  0.2<PHONE_NUMBER>0 ?        S    12:13   0:00 /opt/Kitematic-linux-x64/Kitematic --type=zygote --no-sandbox
sander   22366  0.9  0.7<PHONE_NUMBER>2 ?        Sl   12:13   0:00 /opt/Kitematic-linux-x64/Kitematic --type=gpu-process --channel=22349.0.676275670 --no-sandbox --supports-dual-gpus=false --gpu-driver-bug-workarounds=2,27,30,43,52 --disable-accelerated-video-decode --gpu-vendor-id=0x10de --gpu-device-id=0x1140 --gpu-driver-vendor --gpu-driver-version
sander   22374  4.1  1.0 1101692 111284 ?      SNl  12:13   0:03 /opt/Kitematic-linux-x64/Kitematic --type=renderer --force-device-scale-factor=1 --no-sandbox --enable-deferred-image-decoding --lang=en-US --node-integration=true --enable-pinch-virtual-viewport --enable-delegated-renderer --num-raster-threads=2 --use-image-texture-target=3553 --disable-accelerated-video-decode --channel=22349.1.4647250

@zedtux Any idea what's happening?

+1

:+1:

@sanderboom when I was developing the Linux support, I always has to do CTRL+C in order to really stop the app, but I think this due to the auto-refresh mode (Doing a change in the code, saving the file is reloading the app automatically).
Now how will this be out of the development box, I don't know, and I guess @mchiang0610 or maybe @FrenchBen could answer this question ?

Great work! Archlinux, HiDPI laptop, except some small fonts issues, everything is fine!

Thank you @zhulik for sharing :)

:+1: too

@sanderboom How did you create your Arch linux bin?

@FrenchBen I didn't want to have to rely on all node/npm dependencies on the installer's system, as I ran into issues with node 4+. I basically built as per https://github.com/kitematic/kitematic/issues/49#issuecomment-113741482

@sanderboom maybe I should've looked at what's in the repo.... I thought you created a true binary, maybe it's just a compiled js?

@FrenchBen FYI Kitematic is using https://github.com/atom/electron

+1

Installed following the instructions, but please +1 for linux support.
:+1: for native package
and may I add, web install or apt-get repo too?

@scs3jb native package/apt-get/yum is on the list of things that still need to be implemented. Buttoning up a few things in the PR to then see it merged

+1

For all: The Linux support has been merged in master yesterday ! @FrenchBen this ticket can be closed :)

Awesome news!

+1000
David A. Lareo
@dalareo
El 02/12/2015 09:50, "Sander Boom"<EMAIL_ADDRESS>escribió:

Awesome news!
—
Reply to this email directly or view it on GitHub
https://github.com/docker/kitematic/issues/49#issuecomment-161223365.

@zedtux There are still no binary releases for Linux. Will this change any time soon?

@fnkr more than a binary, there's been discussion of a package creation, but nothing has been set - Feel free to contribute and implement a package step :D

@fnkr I did the implementation but I'll not take care of the packaging.
@FrenchBen while waiting for a perfect packaging, why not just building a binary like it's done for Windows and OSX ?

@zedtux all the binaries are built using the Gruntfil - I didn't see an entry to get that done in your Linux PR - Feel free to add one :D

That's true my initial goal was about to make it working on Linux. Regarding the binary building, it shouldn't be that complicated thanks to electron and Grunt and Linux should be quite close to OSX.
Unfortunately I don't have the time.

+1 for continuing this effort !!

From my point of view a first step to package Kitematic on ubuntu/debian could be using electron-packager
Unfortunately tried that but I only get a Blank screen for the moment:
npm install electron-packager -g
cd Kitematic
electron-packager . --platform=linux --arch=x64 --overwrite
cp build/browser.js Kitematic-linux-x64/resources/app/
Kitematic-linux-x64/Kitematic

@adomenech73 Let us know if you get more headway on it. As an FYI we use grunt for our release process; if you can create the linux section there, it would be great!

@FrenchBen I read the gruntfile as you pointed and understood something.
This hack actually works for me:
kitematic/build
npm install
electron-packager . --platform=linux --arch=x64 --overwrite
Kitematic-linux-x64/Kitematic

This generates a binary file of 58 mb aprox with this description in my case
Kitematic-linux-x64/Kitematic: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=6e3bbc9ddc28902a3823195a3a30e12776f48c9f, stripped

Next i could use dpkg to create a deb package on my laptop.
Are you saying to integrate that process on the same gruntfile? I have to do it on after // image comented section of the file?
Tomorrow I try to check a bit more about grunt syntax

Seems that is almost done already
https://www.npmjs.com/package/grunt-electron-debian-installer

@adomenech73 exactly -- it would be nice to have the npm run release be the trigger for:

Mac
Windows
Linux (deb package or executable)

The packaging and support for different Linux versions may be an extra step that would be opiniated

@FrenchBen I think I've got something working:
https://github.com/docker/kitematic/pull/1677
Can you give me some feedback?
Regards

:+1: to Linux support!  :)

@mercuriete not sure what you mean?

@FrenchBen I think what @mercuriete means (correct me if I'm wrong) is to use Dockerfiles to build the different Linux possible packages, in that way you are not attached only to your distribution during the build process.
I did something similar here Bitbucket to build and package Nginx rpm for Centos7 from my Ubuntu laptop. Perhaps it could be useful in some cases

I see; It would be useful to have for local dev, but not very practical in our current build process.

@FrenchBen @adomenech73
Yes, i mean something like that. but more for lazy people like me :smile: that don't want to download dependencies or change my distro.
I am currently using gentoo linux, I'm not sure if I can build it.
Anyway, i supposed that you used jenkins with docker to build docker. https://jenkins.dockerproject.org/
Your work is awesome, keep going :+1:

Is anyone looking for this beyond more tooling and complicated setup?
This is a so awesome tool to leave behind just because a packaging issue.

@geovanisouza92 There is no packaging issue - If you look at the latest release we now have a full-blown Ubuntu package available for download.

@FrenchBen, Where would i find the ubuntu package?  I've looked at https://www.docker.com/products/docker-toolbox and https://github.com/docker/kitematic but only see the Mac and Windows versions mentioned.  Where would I find the 'full' package?

What about Debian? Usually you create a package for Debian which is then available for Ubuntu.

@geovanisouza92 @carukc https://github.com/docker/kitematic/releases/tag/v0.12.0
@zedtux it was created for debian but Ubuntu being a bigger keyword, it's named Ubuntu.

Fantastic!  Thanks.

@zedtux Do you have any solution about launching a terminal emulator? I read the whole topic but I did not understand if I should place a symlink somewhere so the terminal button to work? I am running it on Fedora 23, it is working just perfect except of launching a terminal into the container.
Other than that great work!

+1

Debian


'legal' vs. 'valid'

There are two occurrences of 'legal' on the 'cmap' page that should be replaced with 'valid', which is both more concise and more understandable for non-English speakers.
Ditto for 'illegal' vs. 'invalid'.
Some other pages are also affected.

Changes made in these pages for 1.8.4:

cff2charstr
cmap
ltsh
prep
tt_instructing_glyphs
tt_instructions


Latest version does not work with ubuntu 24.04

When running the latest version with the supposed fix, the following error is given:
The handler for VM extension type 'Microsoft.VisualStudio.Services.TeamServicesAgentLinux' has reported terminal failure for VM extension 'Microsoft.Azure.DevOps.Pipelines.Agent' with error message: '[ExtensionOperationError] Non-zero exit code: 1, /var/lib/waagent/Microsoft.VisualStudio.Services.TeamServicesAgentLinux-<IP_ADDRESS>/Handler.sh [stdout] [stderr] Traceback (most recent call last):   File "/var/lib/waagent/Microsoft.VisualStudio.Services.TeamServicesAgentLinux-<IP_ADDRESS>/Utils/WAAgentUtil.py", line 57, in <module>     waagent = imp.load_source('waagent', agentPath)               ^^^^^^^^^^^^^^^ AttributeError: module 'importlib' has no attribute 'load_source' During handling of the above exception, another exception occurred: Traceback (most recent call last):   File "/var/lib/waagent/Microsoft.VisualStudio.Services.TeamServicesAgentLinux-<IP_ADDRESS>/./AzureRM.py", line 9, in <module>     import Utils.HandlerUtil as Util   File "/var/lib/waagent/Microsoft.VisualStudio.Services.TeamServicesAgentLinux-<IP_ADDRESS>/Utils/HandlerUtil.py", line 71, in <module>     from .WAAgentUtil import waagent   File "/var/lib/waagent/Microsoft.VisualStudio.Services.TeamServicesAgentLinux-<IP_ADDRESS>/Utils/WAAgentUtil.py", line 64, in <module>     waagent = imp.load_source('waagent', agentPath)               ^^^^^^^^^^^^^^^ AttributeError: module 'importlib' has no attribute 'load_source' '.      'Install handler failed for the extension. More information on troubleshooting is available at [https://aka.ms/vmextensionlinuxtroubleshoot'](https://aka.ms/vmextensionlinuxtroubleshoot%27)
Of note is WAAgentUtil.py imports importlib as imp but then attemps to call load_source which does not exist on importlib

Should be fixed with <IP_ADDRESS> which is currently being rolled out. Please reopen if you see the issues with <IP_ADDRESS> or higher.

@tkasparek that extension is getting reverted back to 1.23 after updating to 1.26.x
Any ideas on why that would be?

@gavintoddchurch Are you still facing this rollback ? If yes, do you find any solution ?

@gavintoddchurch I was still seeing this last week, but today we recreated the VMSS and the agent pool in Azure DevOps and it installed the latest (1.26) version of the extension on the VMSS immediately.
I don't know whether it is only fixed for creating new VMSS/agent pool or whether the team managed to resolve the issue for everyone...

@Adrii77 @mario-d-s
I've been testing this every couple of days and seeing the same results, It updates and then reverts back. I opened up a support ticket with Azure. Yesterday evening I tested it again and it has not reverted back and I just got an email as I was writing this informing me that the have applied a fix and it shouldn't revert back now. It has now been like 15 hours or so without the revert back so i'm optimistic that this has been fixed.

@mario-d-s @gavintoddchurch
Thank you for taking the time to respond to me :) !
We'll try to recreate the VMSS from scratch. This is something that we haven't tested yet, as we use IaC with Terraform (and VMSS is not really destroy, but updated).

Reverting back to 1.23 should get fixed today.

It has been over a week for me without any revert. I've closed my MS ticket now that it has been a week as well.


fix: ensure multiprocessing is used for distributed serving in vLLM

This commit introduces a dedicated function, build_vllm_cmd to construct the vLLM command required to run the server. It ensures that the command includes necessary arguments such as host, port, and model path.
It also explicitly sets the distributed executor backend to multiprocessing to avoid unintended use of Ray, even if it's installed on the system. It uses the "--distributed-executor-backend mp" argument to the vLLM command if it's not already present. With this, we ensure that multiprocessing is used for distributed serving, even if Ray is installed on the system, as Ray is not supported yet.
Signed-off-by: Sébastien Han<EMAIL_ADDRESS>

Checklist:

[ ] Commit Message Formatting: Commit titles and messages follow guidelines in the
conventional commits.
[ ] Changelog updated with breaking and/or notable changes for the next minor release.
[ ] Documentation has been updated, if necessary.
[ ] Unit tests have been added, if necessary.
[ ] Integration tests have been added, if necessary.

Handling the distributed backend this way was on my wishlist so that's awesome. I wasn't sure which backend was being used. If it's mp by default that's convenient for us. I think this PR could go in because it clarifies the command string building.

@JamesKunstle @alimaredia @n1hility I'd like to move forward with this. I think the change is simple and enforces the right boundaries on what we support. Thanks


Just FYI "urllib3" appears twice in pdm.lock

No doubt harmless! ✅
But just FYI if in future dependencies ever need to be organized or reconciled... 💯
https://github.com/chapmanjacobd/library/blob/8e1d57c2c80cfd1180658fc940cebcf60daecfe0/pdm.lock#L2322-L2345

yeah I'm not sure why that happens. maybe because urllib3[socks] depends on urllib3.
when upgrading to py3.12 I had to do pip install --upgrade --ignore-installed urllib3 requests due to six bundling (urllib3.packages.six) but I think that is completely unrelated
This file is created by pdm so it might be worth opening an issue there.


Change compound column field name rules

Which issue does this PR close?

Closes #.
Rationale for this change

Origin in #792, some discussions here: https://github.com/apache/arrow-datafusion/pull/792#issuecomment-902936271
In the current implementation and spec., all field names don't contain the table or relation name. It might be better to hold those qualifiers in compound columns resulting from projection with calculating expr (select t1 + 1) or aggr expr (sum(t2)) etc. This can improve readability by figuring out where a column is from. And also in some parts of inner processing (like the logical plan phase), we use this qualified form to identify a column.
What changes are included in this PR?

This PR changes the rule of field name generation. For now, all compound columns' (columns with other outer expressions) field names will be qualified form.
Are there any user-facing changes?

Yes.
Compound columns' field name will now contain table / relation name, like AVG(table.c1).

Hi @houqp, could you please take a look at this?
And according to the PR template, this PR should be labeled as "API change". But I can't add the label myself.

Thanks for the proposal.
imo it is a bit counter-intuitive to write SELECT MIN(c1) FROM table1 and get MIN(table.c1) as the schema. Are there other engine doing this?
I am curious how this interacts with the dataframe API. E.g. (pseudo-code)
df = ctx.create_in_memory_table("table1", batches)?;
df = df.agg(sum(df["c1"]))?;
df.collect()

would yield the schema "SUM(table1.c1)" or "SUM(c1)"? Would I need to write df = df.agg(sum(df["table.c1"]))?; instead?

Thanks for your question @jorgecarleitao.

imo it is a bit counter-intuitive to write SELECT MIN(c1) FROM table1 and get MIN(table.c1) as the schema. Are there other engine doing this?

Not that I know of for now. There are some other engines' behavior here. This proposal does change a lot. From eliminating all qualifiers to bring all to those composite expressions.

would yield the schema "SUM(table1.c1)" or "SUM(c1)"

It will be SUM(table1.c1). The way of interacting with dataframe doesn't change. Only the result field names are different. There is one example in execution/dataframe_impl.rs

Thanks @waynexia for the PR, I am on vacation this week, but I will try to find some time to review it today or tomorrow.

Our current output field name semantics mostly aligns with what spark has, which strips column qualifiers in all cases.
This PR changes the semantics to handle compound and bare column names differently. For bare names, we strip column qualifiers, but not for compound columns.
Unlike Spark, relational databases like MySQL, Posgresql and Sqlite all treat compound and bare column names differently. MySQL, Postgresql and Sqlite strip qualifers for bare column names like we do. But MySQL and Sqlite use raw user query input for compound column names. Postgresql on the other hand just uses ?column? for all compound column names.
In all compute engines, users are not expected to reference compound columns by generated names because these names are not guaranteed to be valid sql expressions. Instead, they should always manually alias them. As a result, the output filed name for compound columns are just there for display/debug purpose only. See also @Dandandan 's comment at https://github.com/apache/arrow-datafusion/pull/280#issuecomment-834805975.
@jorgecarleitao as for the counter-intuitive example you mentioned, the current implementation will output field name SUM(id) column name for query SELECT SUM(t1.id), while the proposed new behavior will output SUM(t1.id) field name for query SELECT SUM(id). So both of them will not use the exact user query input as the output field name.
The proposed new behavior provides better UX compared to Postgresql's ?column? column name. I think it's also an improvement over the current behavior because it will produce an unambiguous column name for queries like SELECT t1.id * t2.id FROM t1 JOIN t2 USING id. The current behavior will output id * id, which is not as good as t1.id * t2.id IMO.

Thanks @alamb and @houqp for reviewing! I pushed a commit to address the comments.

Thanks @waynexia !


Commonjs module system instead of ESNext

I recently installed the v1.3.2 version in a next.js project. The compilaton failed with the following error message:

import { transformToNestObject } from 'react-hook-form';
^^^^^^

SyntaxError: Cannot use import statement outside a module

Which was in the file /node_modules/@hookform/resolvers/dist/yup.js:2
On inspection, I found that the built files has import statements. That means they'd need to be transpiled before using. I believe that it is not a good practice to transpile code from node_modules (especially if it is from a  third party library).
I noticed in the source code that v1.3.1 and later tsconfig with had the following option:
  "module": "ESNext"
Whereas v1.3.0 has:
 "module": "commonjs"
Downgrading to v1.3.0 fixes the import issue. I suggest changing the tsconfig.json. In case it was intentional, I'd like to know the rationale behind it.

Duplicate of https://github.com/react-hook-form/resolvers/issues/100
Problem solved in V2 currently in beta, more detail here: https://github.com/react-hook-form/resolvers/issues/71#issuecomment-754623998

Duplicate of https://github.com/react-hook-form/resolvers/issues/100
Problem solved in V2 currently in beta, more detail here: https://github.com/react-hook-form/resolvers/issues/71#issuecomment-754623998


[Cards] - Update card designs for simplicity

Customer would like to have:
Get Info, Photos, Directions, and Phone number on the cards only.

https://github.com/aemsites/hubblehomes-com/pull/81

Resolved


Preview not working

Hi, i am using your plugin with a bootstrap theme and just saw that posts previews wont work.
Regards and thanks for your nice plugin :)
Tested with Vanilla 2.2 and 2.1(?).

Previews are disabled on purpose as these are handled by Vanilla itself.
Reference: https://github.com/kasperisager/vanilla-bootstrapmarkdown/blob/master/js/src/main.js#L23-L25


chore: Update .codegen.json with commit hash of codegen and openapi spec

Pull Request Test Coverage Report for Build<PHONE_NUMBER>8
Details

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

Totals

Change from base Build<PHONE_NUMBER>5:
0.0%

Covered Lines:
6954

Relevant Lines:
9932

💛  - Coveralls


bosh create-release does not follow symlinks (in jobs) when generating tarball

When we generate a bosh release of the loggregator release, with this CLI and try to deploy on Windows, it complains that the templates for metron_agent_windows are missing.
The templates for that job are symlinked with the templates found in metron_agent. That way we can edit once and it affects both jobs.
We are able to verify that the symlinks work with the old bosh_cli Ruby gem with no problems.
Steps to reproduce:

git clone https://github.com/cloudfoundry/loggregator
cd loggregator
bosh create-release --tarball=loggregator.tgz

Untar loggregator.tgz/jobs/metron_agent_windows.tgz

Notice that templates has symlinks that go nowhere.

This behavior has been added in version 2.0.28. Closing.


POST Campaign Message middleware + timeout check

What's this PR do?
Splits up POST /campaigns/:id/message into middleware and adds req.timedout checks.
How should this be reviewed?
Using Thor:

200: POST /campaigns/7/message with type scheduled_relative_to_signup_date

422: POST /campaigns/7/message with type scheduled_relative_to_reportback_date -- We don't have a default scheduled_relative_to_reportback_date set.

404: POST /campaigns/723423/message with type scheduled_relative_to_signup_date

422: POST /campaigns/362/message-- Campaign is closed

422: POST /campaigns/62/message -- Campaign is not running on Gambit (no keywords)

Any background context you want to provide?
Technically we shouldn't close #504 without adding the req.timedout checks into the GET campaigns endpoints, but those are only used internally by Quicksilver to cache Campaigns, and good ol' Slothbot for internal staff usage...
Relevant tickets
#504
Checklist

[x] Tested on staging.

I'm with @aaronschachter on error codes. 404 means page not found. 422 means the request is understood, but not valid:
https://tools.ietf.org/html/rfc4918#section-11.2

Agreed -- I'm not into the 404, because the resource exists.


⚠ AGEG website (redirect) has degraded performance

In d25280c, AGEG website (redirect) (https://ageg.ca/) experienced degraded performance:

HTTP code: 200
Response time: 2139 ms

Resolved: AGEG website (redirect) performance has improved in 4ab6f1d.


ARROW-1334: [C++] Add alternate Table constructor that takes vector of Array

+1

Oops! I opened ARROW-1341 about this


Refactor SQL params replacement logic to support multiple dialects

Hello @nullism ,
I was exploring the project and noticed an opportunity to refactor the logic of sql parameters replacement. Currently the code handles params in a single function dialectReplace through a switch statement, making a little harder to implement new dialects if necessary.
My proposal is to create an interface DialectReplacer with specific implementation for each existing dialect Raw, SQL, MySQL and PgSQL  to encapsulate the replacement logic, making the code more modular.
Proposed Changes:
DialectReplacer Interface
Define the contract for any class implementing the parameter replacement logic for SQL queries.
type DialectReplacer interface {
    GetReplacedSQL() (string, error)
}

Modularization
Extract the replacement code into its own file (dialect_replacer.go) with dedicated tests (dialect_replacer_test.go).
Backward Compatibility
The current functionality remains intact without breaking the existing API while introducing a new implementation pattern.
I would like to know what you think of this approach. I've already implemented an initial version of this proposal in my fork and can send a PR with the details if you approve.
Thanks in advance for your time and for creating this amazing project.

Hi ew3g!
Glad you like the project and thanks for your thoughtful input!
I can see a benefit in that approach, as you say it makes it easier to implement new dialects. I do not see that code on your fork, but I imagine the usage would be something like q.ToMySql() would instantiate a MySql dialect replacer? I might not be understanding why an interface would be required here, unless a dialect replacer must be instantiated and injected to a new To() method or added upon query creation. If one of those cases I am opposed to that additional step when using the API. Is the presumed benefit of injecting a dialect replacer instance is the ability to extend bqb externally?
If not one of those cases, then I do not understand the benefit of an interface. We could inline that logic from the switch to the specific ToX() methods and achieve the removal of the switch.
I am not flatly opposed to something like this but would need to see an example of usage to understand it more fully.

Hey @ew3g,
I think I understand a bit better now. Thanks for the explanation!
The main question I have is: what is the problem you'd like to solve?
Looking over the code, it seems paramPh is internally defined anyway, and I believe we'd need to export that to extend bqb externally, so a dialect replacer interface wouldn't solve for that anyway since the parameters are encoded.
If there's a tangible use case I'd be more open to changing something so fundamental.
Thanks again!

Hey @ew3g,
It's my inclination to avoid changes if they don't provide some additional functionality. While I totally understand the argument that a replacer implementation might be more extensible for the future, it feels a bit like premature optimization for the sake of it to me. There'd likely be a slight performance hit when compared to a switch statement (heap allocation) so we'd need to (in my opinion) show some benefit for the user.
So I'm going to close this out for now, but wanted to thank you again for the interest in bqb!

Hey @nullism ,
Sure I totally understand your point.
Thanks a lot for your time and explanations!


Add APIversion dropdown for the ARM templates

The new ARM documentation is great. Should be nice to add the different api versions per schema (likewhise a dropdown)

⚠ Idea migrated from UserVoice
Created By: Anonymous
Created On: 2017/03/30 18:05:22 +0000
Votes at Migration: 2
Supporters at Migration: 2

@tfitzmac something your team can address?

@tfitzmac Any updates?

Send a email to @tfitzmac to follow up.

Sorry for the slow response. Yes, I see this as something important to implement, and I have heard feedback from others that is needed.
We have some changes to the generation process coming up in the next month, so I am hoping to work this in.

I still think this is an important addition to the template reference docs, but I haven't had time to work on it. I am hoping to get the time soon.

API version selector been added to the template reference.

#please-close


Explicitly set enable_doc_build to yes if --enable-docs is provided to allow documentation and manpages build

Hello,
As far as I can see, and understand, the option --enable-docs doesn't work as expected in 7.1.2.
Please note that I might be wrong. If so, I apologize and am likely to learn how it works :)
In configure.ac:
AC_ARG_ENABLE([docs],
  [AS_HELP_STRING([--enable-docs],[enable documentation building])],
  [],
  [enable_doc_build=no]
)
AC_MSG_RESULT([$enable_doc_build])
AM_CONDITIONAL([BUILD_DOCS], [test "xyes" = "x$enable_doc_build"])

enable_doc_build is set to no if option is missing. If option is provided, nothing is done.
Then, BUILD_DOCS is set to true only if enable_doc_build is set to yes which seems to be unlikely to happen.
In configure:
$as_echo_n "checking whether to build documentation... " >&6; }
# Check whether --enable-docs was given.
if test "${enable_docs+set}" = set; then :
  enableval=$enable_docs;
else
  enable_doc_build=no

fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_doc_build" >&5
$as_echo "$enable_doc_build" >&6; }
 if test "xyes" = "x$enable_doc_build"; then
  BUILD_DOCS_TRUE=
  BUILD_DOCS_FALSE='#'
else
  BUILD_DOCS_TRUE='#'
  BUILD_DOCS_FALSE=
fi

If --enable-docs option isn't provided, enable_doc_build is set to no and never set to yes if option is provided.
When testing enable_doc_build to set BUILD_DOCS_TRUE and BUILD_DOCS_FALSE, first case is never triggered, leading to enable_doc_build to be always empty.
This means BUILD_DOCS_TRUE will be always equal to '#', thus leading man pages generation to be disabled in doc/Makefile.in:

# Hook the 'all' target so that the man pages get generated in the "all" target, prior
# to "make install". If we leave it to "make install" time, then the man pages are likely
# to me generated as root.
@BUILD_DOCS_TRUE@@BUILD_MANPAGES_TRUE@all-am: $(man1_MANS) $(man3_MANS) $(man5_MANS) $(man8_MANS)

@SolidWallOfCode please decide :)

This has merge conflicts now, can you please rebase. @SolidWallOfCode Are you ok with this patch as is, or you want changes.

@jbfavre Please fix the merge conflict

Hmmm… Seems @SolidWallOfCode has fixed the issue 2 days ago with this commit https://github.com/apache/trafficserver/commit/e459667aad1756bad55db88235e8aa6dd229da61
I guess this PR is now useless.
Closing it

Sorry!

Yes, I ran in to this while working on the plantuml update and forgot about this PR. I do apologize. However, I'm not sure we want to pull that patch back in to 7.1.2 so this may be a better choice. I'm fine with @jbfavre's approach here, as I think it's the same one I ended up using myself.

Has merge conflicts now.

@zwoop it's because of modifications in master.
But since @SolidWallOfCode changed milestone to 7.1.3, maybe should I update the pull request so that it gets merged into 7.1.x branch ?

@jbfavre Yeh, that makes sense, make it so. Hey, are you somewhere in Europe? If so, don't forget the Summit / Barcamp event we're holding in Ireland, in May. :-)

@zwoop Juste rebase the PR against 7.1.x branch.
Waiting for @SolidWallOfCode review
About Summit / Barcamp in Ireland, I already saw it but not sure to be able to attend it (agenda conflicts) :-/


Install cpufrequtils and run scylla_cpuscaling_setup

It was mistakenly does not configured as expected, fixing. (Probably we broke this when we switched from Ubuntu minimal base image, since it does not have cpufrequtils)
Fixes #550

Test passed: https://jenkins.scylladb.com/job/scylla-master/job/releng-testing/job/next-machine-image/404/

@syuu1228 do you think it requires performance testing or can affect performance?

Ideally, we should have a test to see it's working.
@roydahan - yes, it can have implications. I doubt, as we did some work to ensure the CPU doesn't go to sleep ('C' state), etc., but I'm not sure about turbo for example.


ViaVersion bug 1.0.0

What is the output link of /viaversion dump?
You are not allowed to use this commands
Are you using any additional software like BungeeCord? If so, what software and version? (Please list your plugins as well)
I use viaversion 1.0.0 with bungeecord
Other bungee plugins: Bungeetablistplus, stafflist, buycraft, EasySetSpawn and liteannouncer
How does this error happen? login? Using an item?
When I am on a random realm on my network (1.11 on 1.8 server) and go to another i got kicked with an error.
https://gyazo.com/59c39adfe1f8a0a5dd86f72da96ce7af
Is there an error in the console? Use pastebin.com. Is there a kick message?
No

@VBeekDev enter the /viaversion dump command in the console so you have the permissions for it ;)

console /viaversion info: https://gyazo.com/42b52e10f9f931bdac50ccd643c3714a

Please execute /viaversion dump

http://hastebin.com/xavikafabo.json

Do you use ViaBackwards on your server?

same issue with PaperSpigot 1.10.2 and Bungeecord(1.11)
img: http://ww1.sinaimg.cn/large/0060lm7Tgw1f9s73uwafnj310g04dmzk.jpg
dump: http://hastebin.com/yafaluwike.json
I tried to remove ProtocolSupport, it still appears such errors, 1.11 can not join the game

What plugins do you use on your spigot server where the error occurs?

Could you try without Bungeetablistplus? and see what happens?

This is an issue in BungeeCord with item pickup, hopefully will be fixed soon. Alternative is to use 1 build behind bungee + ViaVersion for Bungee


Companion app login error

get this everytime i try to sign in now

This is generally an issue with the Frontier companion API, which sometimes stops working.  Is this working for you now?

yes, thank you!
On Sun, Mar 19, 2017 at 2:39 PM, cmdrmcdonald<EMAIL_ADDRESS>wrote:

This is generally an issue with the Frontier companion API, which
sometimes stops working. Is this working for you now?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/cmdrmcdonald/EliteDangerousDataProvider/issues/142#issuecomment-287637214,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AY5myiQTNLYJSaxRdWFkHfrOoYWUjzQxks5rnXZdgaJpZM4MPX7u
.

Same problem today (2017-4-4)
Recieving code by email is -2h-1h between 6:57pm - 8:30pm
Tried a few codes but recieved mails sometimes with earlier timestamp... lol
Looking forward to E:D 2.3 and all the updates that will follow... EDDI 3.0?
Thx for brill software! Thumbs up!


Revert "Make VendorTxCode unique"

Reverts activemerchant/offsite_payments#165
This revers the change makes the order number for sage pay out of range

RangeError:<PHONE_NUMBER>20150904173138 is out of range for ActiveRecord::Type::Integer with limit 8

I propose we revert this and push them onto the Hosted Payment SDK. I want to limit the amount of custom solutions we introduce to circumvent their incorrect handling of our checkout ids.
@girasquid @aprofeit

:+1:

:+1:


Add override

override (since C++11)

make sure the difference between overriding and overloading is stated.

Done.


Add support for pixi add -f requirements.txt

Problem description
I would like to take existing Python projects which normally contains a requirements.txt file and install the libraries with pixi.
A command like:
pixie add --file <path to requirements.txt>

Would be helpful.

I like the idea, I think it could be pretty beneficial for moving to pixi.
I would like to get the design a little more written out.
It should be designed to support more then only pypi requirements.txt. Some ideas I would have are:

requirements.txt for conda packages (CES)
environment.yml, we can already pixi init --import that but it seems like a good idea to also allow you to do that on existing projects.
conda-lock files
And possibly more that aren't on top of my mind.

We already support pixi init --import we could reuse that wording by making it pixi add --import.
Could you provide more input on the ideas and implementation details?

I like the idea for dealing with legacy projects but new projects should be encouraged to update to pyproject.toml. requirements.txt is actually an imperative list of instructions that have be read top to bottom because it’s actually a list of args that pip slurps in (and new tools have to emulate pip because you can pip args in there like alternative pypi mirrors) and not actually declarative like the toml file.

I agree @zbowling, thus only making it an "import" type function and not a split of information between files. A pixi.lock should only be made if the information is in the manifest.


Quarkus support?

Is your feature request related to a problem? Please describe.
As far as I know, the project template and most configs work best with spring. I would like to use quarkus and try to use Wow with it. Is it supported?
Describe the solution you'd like
If the framework is agnostic in terms of integration, and doesn't depend on Spring, then perhaps a guide to integrate with Quarkus? If the framework does depend on spring, is it possible to make a version/compat patch for Quarkus?
Describe alternatives you've considered
Using spring, because of performance considerations decided to use Quarkus.
Additional context
Thank you for this work.

Sorry, due to time constraints, there are currently no plans to integrate this framework. If you know enough about Wow, you can choose to integrate it yourself.


[Route Service Tabs 1 of 2] DCOS-14508: Splitting routes into overview and detail

This PR will split routes into services/overview and services/detail routes, which will allow for different children for these routes, which is necessary when routing tabs.
Route Service Tabs 1 of 2: https://github.com/dcos/dcos-ui/pull/2079
Route Service Tabs 2 of 2: https://github.com/dcos/dcos-ui/pull/2058

Checklist

[x] Did you add a JIRA issue in a commit message or as part of the branch name?
[ ] Did you add new unit tests?
[ ] Did you add new integration tests?
[ ] If this is a regression, did you write a test to catch this in the future?

Run integration tests

@mlunoe testing this locally I have noticed that the sidebar nav is activating services and deployments at the same time.

comments in #2058 can be applied for some parts of the code in this PR too.

@weblancaster comments addressed!

LGTM 👍  💯

LGTM 🎉
Thanks for making the updates.


Update pre-commit hook versions

In addition to being good to do periodically anyways, updating the black pre-commit hook should fix some linting errors we're seeing on main
black....................................................................Failed
- hook id: black
- exit code: 1

Traceback (most recent call last):
  File "/home/runner/.cache/pre-commit/repod4ln0wga/py_env-python3/bin/black", line 8, in <module>
    sys.exit(patched_main())
  File "/home/runner/.cache/pre-commit/repod4ln0wga/py_env-python3/lib/python3.10/site-packages/black/__init__.py", line 6606, in patched_main
    patch_click()
  File "/home/runner/.cache/pre-commit/repod4ln0wga/py_env-python3/lib/python3.10/site-packages/black/__init__.py", line 6595, in patch_click
    from click import _unicodefun  # type: ignore
ImportError: cannot import name '_unicodefun' from 'click' (/home/runner/.cache/pre-commit/repod4ln0wga/py_env-python3/lib/python3.10/site-packages/click/__init__.py)

You definitely can! Thanks @FabioRosado


Consider moving away from TravisCI

Travis has been fickle recently, with randomly failing bundle installs. As far as I can tell, this is not a problem with our library. Wonder if something like CircleCI would be more stable.

Aye: #85

CircleCI doesn't support multiple rubies for a build matrix, TravisCI is fixed.  Resolved.


[Feature] FullText index

I would like to implement fulltext search in my project. I want to use the simplicity of denormalizer to index documents from events.
Create a new storage for node-viewmodel based on search-index is it a good thing ?
I wan't your feeling about that.

To you describe it a bit more? With dummy code?

I want to have fulltext search capabilities in my cqrs based solution. I want implement this functionnality with the search-index library (https://github.com/fergiemcdowall/search-index).
For me it's an other read repository optimized for fulltext query.
I want use a denormalizer to build indexed views. Having a new backend with search-index into node-viewmodel allow possibility to index directly via cqrs-eventdenormalizer.

How would an indexed viewmodel look like? Dies it save a snapshot?


Problems getting devices.

I'm trying to get the devices but I get errors, the same thing happens when I want to listen to the messages received on the phone.
class _HomeScreenState extends State<HomeScreen> {
  late FlutterWearOsConnectivity _wearOsConnectivity;

  @override
  void initState() {
    super.initState();
    _wearOsConnectivity = FlutterWearOsConnectivity();

    _initWearOs();
  }

  void _initWearOs() async {
    _wearOsConnectivity = FlutterWearOsConnectivity();

    await _wearOsConnectivity.configureWearableAPI();

    List<WearOsDevice> connectedDevices = await _wearOsConnectivity.getConnectedDevices();

    print(connectedDevices);
  }
}

Error:
 Unhandled Exception: PlatformException(500, Can't retrieve connected devices, please try again, null, null)
                                                                                #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:648:7)
                                                                                #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:334:18)
                                                                                <asynchronous suspension>
                                                                                #2      FlutterWearOsConnectivity.getConnectedDevices (package:flutter_wear_os_connectivity/flutter_wear_os_connectivity.dart:49:21)
                                                                                <asynchronous suspension>
                                                                                #3      _HomeScreenState._initWearOs (package:padelapp/app/home.dart:36:43)
                                                                                <asynchronous suspension>

Your phone might not be on the wearos network. have you tried using the main Wear OS app to connect your phone to your watch?

My wear os doesn't work with that, it works with [https://play.google.com/store/apps/details?id=com.samsung.android.app.watchmanager](Galaxy Wearable)

Have you tried using the Emulator in Android Studio as the first step? I'm successfully using this with a Galaxy Wearable.
You need to ensure your namespace & applicationId are the same in your Watch and Phone app

android/app/build.gradle:    namespace "com.example.wearexample"
android/app/build.gradle:        applicationId "com.example.wearexample"

in android/app/src/main/AndroidManifest.xml, the name and permissions are defined

<!-- Permissions that the app requires -->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<!-- Add this if targeting Android 12 or higher -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>

3. in android/app/build.gradle you need to have your signing config setup in **BOTH Android and WearOS app** to use the same key.
`
def keystoreProperties = new Properties()

def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
........
    signingConfigs {
    release {
        keyAlias keystoreProperties['keyAlias']
        keyPassword keystoreProperties['keyPassword']
        storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
        storePassword keystoreProperties['storePassword']
    }
}`

I'm using the following code to initialize / connect on the WearOS side.

`  WatchViewModel() {
print("WatchViewModel initialized");
_initWearableAPI();
_setupChannelHandler();
}
void _setupChannelHandler() {
_channel.setMethodCallHandler((call) async {
print("Received method call: ${call.method}");
_handleMessage(call.arguments);
return null;
});
}
void _initWearableAPI() {
print("Initializing Wearable API");
wearOsConnectivity.configureWearableAPI().then(() {
print("Wearable API configured");
_wearOsConnectivity.getConnectedDevices().then((devices) {
print("Connected devices: ${devices.length}");
if (devices.isNotEmpty) {
_phoneDeviceId = devices.first.id;
print("Phone device ID: $_phoneDeviceId");
_listenForMessages();
} else {
print("No connected devices found");
}
});
}).catchError((error) {
print("Error configuring Wearable API: $error");
});
}
`


Fix NumberFormatException with malformed SST reference

Cells of type "s" (shared string reference) have an integer value that is a
lookup into the shared string table.
If a cell is of type "s", and the value ( tag) is blank, the StreamingExcelReader throws a NumberFormatException in StreamingSheetReader.unformattedContents():
int idx = Integer.parseInt(lastContents);
This happens if you have a cell that looks like this:

Normally, if Excel saves the file, that whole <c ...> wouldn't even be
there, but I've seen this happen twice now for data files from different
sources.
So unformattedContents() needs to check if the "lastContents" is null first.
This is effectively what the regular POI XSSF reader does - it checks
"isSetV()".

Looks good to me, thanks for including a unit test!


install: also install liblucet_wasi

The documentation on lucet-wasi specifies:

It can be used as a library to support WASI in another application, or as an executable, lucet-wasi

However, liblucet_wasi isn't available as a library in $LUCET_PREFIX/lib.
Is this an overlook?

Similarly, I can't help but wonder how come the lucet.h, lucet_wasi.h, and other headers aren't installed in $LUCET_PREFIX/include?

Hi, thanks for the bug report!
We don't use installed cdylibs in any of our tests, so this escaped our notice.
In fact, we don't recommend using the lucet-wasi cdylib alongside the lucet-runtime cdylib at all - some complications of how Rust dependencies get exposed in a cdylib makes this work incorrectly. Instead, if you need to use Lucet from C, we recommend using the approach that @shravanrn explains here: https://github.com/bytecodealliance/lucet/issues/441#issuecomment-612683535
I'll make changes to the repo and the docs to make that approach the canonical one, rather than hidden in a closed issue.

@pchickey Thank you for sharing!
Indeed, I believe that using Lucet from C will become a growing need as the WASI standard evolves and matures. In my opinion, many C "legacy" applications offering embedded scripting capabilities via languages such as Python, JS, Lua or other will see tremendous value in embedding a WASM sandbox such as Lucet instead. May I ask you to briefly elaborate on how the Lucet maintainers consider C embedding nowadays or in the future? What level of priority is given to this use-case (i.e. compared to Rust embedding)? Thank you.

@pchickey It seems like liblucet_wasi is already configured to produce something similar to @shravanrn's "fullrt" lib: https://github.com/bytecodealliance/lucet/blob/master/lucet-wasi/Cargo.toml#L17-L21.
Debug builds on the current master branch seem to properly export all liblucet_runtime symbols from liblucet_wasi.so:
$ nm target/debug/liblucet_wasi.so | grep lucet_instance
5546:0000000000123a60 T lucet_instance_check_heap
5547:0000000000123c60 T lucet_instance_embed_ctx
5548:0000000000123a90 T lucet_instance_grow_heap
5549:00000000001239e0 T lucet_instance_heap
5550:0000000000123a20 T lucet_instance_heap_len
5551:00000000001239b0 T lucet_instance_release
5552:0000000000123930 T lucet_instance_reset
5553:0000000000123670 T lucet_instance_resume
5554:0000000000122d80 T lucet_instance_run
5555:0000000000123260 T lucet_instance_run_func_idx
5556:00000000001238b0 T lucet_instance_run_start
5557:0000000000123d30 T lucet_instance_set_fatal_handler
5558:0000000000123cc0 T lucet_instance_set_signal_handler
6984:000000000011c6d0 t _ZN13lucet_runtime5c_api18lucet_instance_run28_$u7b$$u7b$closure$u7d$$u7d$17h3fba84ee94c4a7bcE
...
$

However, release builds don't:
$ nm target/release/liblucet_wasi.so | grep lucet_instance
$

May I ask you to briefly elaborate on how the Lucet maintainers consider C embedding nowadays or in the future? What level of priority is given to this use-case (i.e. compared to Rust embedding)? Thank you.

Lucet is fairly special-purpose compared to our sibling runtime Wasmtime (https://github.com/bytecodealliance/wasmtime), and shares many components. It uses the same code generator (Cranelift), different compilation strategy (AOT vs caching JIT), and caters to different priorities when implementing the runtime (Lucet leaves out a lot of features and is heavily optimized for low startup latency). We believe that most people probably just want to use Wasmtime, especially for a general-purpose embedding engine. The Wasmtime team has put a lot of time into providing a really good C API and there are already bindings to a number of languages available. Furthermore, in the long run (can't commit to timelines) we intend to merge Lucet into the Wasmtime project: https://www.fastly.com/blog/how-lucet-wasmtime-make-stronger-compiler-together.
If you do want to use Lucet over Wasmtime, we've been maintaining the C embedding with best effort, but we (the Lucet team at Fastly) don't use it anymore aside from the benchmark suite, so its not really on our radar. We're happy for help maintaining it, though, so I suppose if we can get the liblucet_wasi.so working the way you need, we can accept this PR. It will work unless you decide to expose any additional host functionality to wasm, in which case you'll need to follow the linked approach above.

However, release builds don't:

That is not the expected behavior. I'm not sure when that regression happened, but we did observe some changes to release mode linker garbage collection when we upgraded to rust 1.42.0.

@pchickey Thanks for the details! I have been experimenting with various runtimes, and Lucet was high on my priority list due to the AOT compilation strategy. I will be giving Wasmtime a try as well, also in the context of embedding into a larger C application, so see you there maybe? Having both projects merge sounds exciting, and potentially less work on my end to have to support multiple runtimes/compilation strategies :clap:
Feel free to close this PR as your convenience - or ping me if it is worthy of a merge but needs some changes.
Best,

Thanks!


Add labeled tunnels.

Current dependencies on/for this PR:

master

PR #2

PR #3   👈

PR #4

This comment was auto-generated by Graphite.


Add --not-uuid and --not-uuid-from-file

Query options for query and export.
Would need to add a not_uuid option to QueryOptions then these could be implemented with the existing query code. Adding this also helps with implementation of #1552


Bell & Settings Icons in Header

Add visual effects while hovering

added in pr #186

New visual effects are hardly noticeable, especially on the dark theme. You can try to update icon color while hovering. And do not change icons positions:

fixed


New version 0.23.0

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe/meta.yaml:

ℹ The recipe is not parsable by parser conda-souschef (grayskull). Your recipe may not receive automatic updates and/or may not be compatible with conda-forge's infrastructure. Please check the logs for more information and ensure your recipe can be parsed.
ℹ The recipe is not parsable by parser conda-recipe-manager. Your recipe may not receive automatic updates and/or may not be compatible with conda-forge's infrastructure. Please check the logs for more information and ensure your recipe can be parsed.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/11998903840. Examine the logs at this URL for more detail.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-webservice.
I tried to rerender for you, but it looks like there was nothing to do.
This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/11999116445. Examine the logs at this URL for more detail.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-webservice.
I tried to rerender for you, but it looks like there was nothing to do.
This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/11999551742. Examine the logs at this URL for more detail.

@conda-forge-admin, please lint

@conda-forge-admin, please lint

@conda-forge-admin, please lint

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-webservice.
I tried to rerender for you, but it looks like there was nothing to do.
This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/12001856489. Examine the logs at this URL for more detail.

@conda-forge-admin, please rerender


Flake Ass Shit

	restartOnPushState: false,

Could you please elaborate, thank you.

You should try some manners, and kindness.
Posting issues with the manners and titles like this, is going to get you removed from GitHub.
The very fact you got a response for such behaviour and manners, shows you exactly how this project is maintained.
Watch yourself. This sort of behaviour is not acceptable.


Allow to set a custom envelop

Coverage increased (+0.004%) to 91.932% when pulling 5c573ee75f2292a4634d4e67be78dd8726e51523 on tiste:custom-envelop into 759d886e5c00ab98a104dc91e0fb3c68ba167423 on vpulim:master.

Thanks a lot @tiste & sorry for the delay :+1:


feat: support vite 5

close #136
Also update dependencies to latest

Removed node 14 ci. Frankly we only have this test so I don't think it's a big deal 😬
https://github.com/svitejs/vite-plugin-qrcode/blob/f1c9ffe44fe40088bbec67022973c14354c8e385/packages/vite-plugin-qrcode/tests/index.ts#L5-L9

Forgot about the PR. Gonna merge and release this.


Running "demo" error

Trying to run demo without installing COLMAP,  following "Quick Start" directions.
After successful subtraction video frames  and creating corresponding subfolders inside result/ayush it throws an error:
"frame=   92 fps= 21 q=-0.0 Lsize=N/A time=00:00:03.06 bitrate=N/A speed=0.711x
video:252330kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
ERROR: 92 frames extracted, but 0 PTS entries." ,
Folder "R_hierarchical2_mc" stays empty.
"ayush_colmap.zip" content extracted to resluts/ayush/
"frames.txt" consists 3 lines:
0
1080
1920

Solved by install "Grep" GnuWin32

Solved by install "Grep" GnuWin32

How did you fix that issue? I cannot get the idea QAQ


IP Addresses & regions of dynamics unclear

On this page it states to add the IP address matching the region of your dynamics environment. The regions on this match don't match the regions of the CRM environment. In example I have my dynamics in Europe. So which should I add? West europe, North europe? Both?

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

ID: 3d51ad6f-b7a7-7abd-f1d1-1d7963dd3d49
Version Independent ID: 4612ff88-8457-2f49-8222-4fd110fd72f6
Content: Replicate data to Azure SQL Database using Data Export Service - Power Platform
Content Source: power-platform/admin/replicate-data-microsoft-azure-sql-database.md
Service: power-platform
Sub-service: admin
GitHub Login: @sabinn-msft
Microsoft Alias: sabinn

You need to add both. BTW, it seems like you are just setting this up? We would highly recommend switching to Azure Synapse Link instead as a future path and not take a dependency on DES - https://docs.microsoft.com/en-us/powerapps/maker/data-platform/export-to-data-lake


Can't pass resolved paths on Windows to dependencies

Hello Dears,
Since sassaby parses internally paths, this would not work:
    let sb = new Sassaby(file, {
        dependencies: [
            require.resolve('some-sass-lib')
        ]
    });

require.resolve('some-sass-lib') - will give the exact path taken from main key of the lib.
So the output will be:

Unix: node_modules/some-sass-lib/some-sass-file.scss
Windows: node_modules\\some-sass-lib\\some-sass-file.scss

So dependencies after parsing paths inside sassaby will not work anymore and raise errors while will be working fine on Unix systems, which is extremely inconvenient and not multi-environmental as I would say.
Could you please adjust your regexps?

having the same problem here with windows , and sassaby is removing slashes
 E:localdev_ubuntuTitaniumsrcscss01-settings_global.scss

hope this can be fixed soon

This should be fixed as part of the functionality added in: PR-24


User local domain for production app store

Description of change
Use local app store URL for production app store
CRM457-1288
Confirmation of of successful call from to Production app store from Production provider app pod:

Would it make sense for us to use the local domain for UAT too (even though the app store will also be available via its public ingresses in that namespace), just to keep our pre-prod environment as similar to prod as possible? Just in case, say, the format of internal domain urls changes or some nonsense like that, UAT failing might give us an early warning.

yeah I think this is a good shout - I was initially going to say Dev as I'd already setup the network policy stuff on dev but UAT makes more sense as the "closest thing to production" environment


Microsoft.Resources/deploymentScripts does not contain property "outputs"

Bicep version
Bicep CLI version 0.4.613 (d826ce8411)
Describe the bug
Bicep throws the following when trying to access the outputs attribute of a Microsoft.Resources/deploymentScripts resource.

Error BCP053: The type "AzurePowerShell" does not contain property "outputs". Available properties include "apiVersion", "eTag", "extendedLocation", "id", "identity", "kind", "location", "managedBy", "managedByExtended", "name", "plan", "properties", "scale", "sku", "systemData", "tags", "type", "zones".

To Reproduce
Define a Microsoft.Resources/deploymentScripts resource and try to output from it.
targetScope = 'resourceGroup'

param echo string = 'Hello World!'

resource testDeployment 'Microsoft.Resources/deploymentScripts@2020-10-01' = {
    kind: 'AzurePowerShell'
    name: 'TestDeployment'
    location: 'eastus'
    properties: {
        azPowerShellVersion: 'az6.3'
        timeout: 'PT30M'
        retentionInterval: 'P30M'
        scriptContent: '''
Write-Output "${TEXT_TO_ECHO}"
$DeploymentScriptOutputs = @{}
$DeploymentScriptOutputs['text'] = "${TEXT_TO_ECHO}"
'''
        environmentVariables: [
            {
                name: 'TEXT_TO_ECHO'
                value: echo
            }
        ]
    }
}

output text string = testDeployment.outputs.text

> bicep build .\test.bicep

test.bicep(29,37) : Error BCP053: The type "AzurePowerShell" does not contain property "outputs". Available properties include "apiVersion", "eTag", "extendedLocation", "id", "identity", "kind", "location", "managedBy", "managedByExtended", "name", "plan", "properties", "scale", "sku", "systemData", "tags", "type", "zones".

Additional context
According to this official how to page it is however totally allowed to output from a deployment script.

It's a bit confusing, but the property path in this case will be testDeployment.properties.outputs.text. Can you try that?

Indeed that works. Thanks.


Fold in nim bindings

They currently live in https://github.com/henridf/nim-kzg-4844
This seems like a good idea so that we have everything in one place and they are also included in the auditing scope.
Some things that also need to happen:

The bindings should implement the various required length checks (e.g. see the python bindings)
The bindings should be able to parse the yaml test vectors (see https://github.com/ethereum/c-kzg-4844/blob/main/bindings/python/tests.py)

We can perhaps add support for parsing the yaml after merging, just to get something in first.
/cc @henridf

Actually there's a second nim binding repo (written by @jangko) and it's likely the one we'll end up consolidating on: https://github.com/status-im/nim-kzg4844/

Done. Thanks a lot @jangko !


Support GitHub Enterprise Server

Unfortunately I'm not proficient in TypeScript, so I am not qualified to code a solution, but I have done a bit of analysis, and found some pointers.
AFAICT you can manipulate the url by setting options.baseUrl in octokit/core to point to the GHES URL.
Heavily inspired by probot, it should be possible to set an environment variable containing the GHES URL.
For inspiration, take a peak at their docs, search for GHE_HOST
The environment variable is used in their code here.
Disclaimer I am in no way affiliated with probot.

I am trying to build self hosted ec2 runner on GH Enterprise, though the EC2 instance created (ec2-github-runner) but got timed out on the first run itself. Is this due to the GitHub Actions does not support Enterprise server ? Please advise.
AWS EC2 instance i-00ed10e0d6006e9c4 is up and running
Waiting 30s for the AWS EC2 instance to be registered in GitHub as a new self-hosted runner
Checking every 10s if the GitHub self-hosted runner is registered
Checking...
Checking...
Error: GitHub self-hosted runner registration error
Checking...
Error: A timeout of 5 minutes is exceeded. Your AWS EC2 instance was not able to register itself in GitHub as a new self-hosted runner.

Regarding Enterprise support, I am not sure how complex it is to implement because I don't have experience in building GitHub Actions. I could see we are giving provision to pass runnerHomeDir as input param which is where actions_runner configurations are placed. What if we give another option to enter user_data to run from the runnerHomeDir itself.

Here, I am talking only about support for Enterprise servers, so I created a custom AMI with user_data to configure GH Actions for my enterprise server including running ./config.sh with predefined labels and name. but I don't want to run ./run.sh or ./svc.sh inside the AMI, so If we can have provision to run these commands from this plugin. It will be easy to start the runner and terminate the instance at the end.


[Bug/Glitch] Broken controllers

Legacy4J Version
1.21-1.7.2
Mod Loader Version
Fabric 0.16.0
Bug/Glitch Occurrence Context
When 2 or more controllers are connected at the same time.
Crash Report
[11:35:45] [Timer-1/ERROR]: Uncaught exception in thread "Timer-1" java.lang.IllegalArgumentException: Argument value 0x200000001 exceeds native capacity (4 bytes) mask=0xffffffff00000000 	at com.sun.jna.IntegerType.setValue(IntegerType.java:112) ~[jna-5.14.0.jar:?] 	at com.sun.jna.IntegerType.(IntegerType.java:69) ~[jna-5.14.0.jar:?] 	at dev.isxander.sdl3java.api.joystick.SDL_JoystickID.(SDL_JoystickID.java:25) ~[dev_isxander_libsdl4j-3.693c75e-36-b73680dfff8078a4.jar:?] 	at dev.isxander.sdl3java.api.gamepad.SdlGamepad.SDL_GetGamepads(SdlGamepad.java:58) ~[dev_isxander_libsdl4j-3.693c75e-36-b73680dfff8078a4.jar:?] 	at wily.legacy.client.controller.SDLControllerHandler.isValidController(SDLControllerHandler.java:183) ~[Legacy4J-1.21-1.7.2-fabric.jar:?] 	at wily.legacy.client.controller.ControllerManager$1.run(ControllerManager.java:63) ~[Legacy4J-1.21-1.7.2-fabric.jar:?] 	at java.base/java.util.TimerThread.mainLoop(Timer.java:566) ~[?:?] 	at java.base/java.util.TimerThread.run(Timer.java:516) ~[?:?]
What happened wrong?
all controller support breaks when i plug in a second controller and does not work again until i restart the game. keyboard and mouse still works afterwards.

Same issue here, have been unable to get any input

Legacy4J Version
1.21-1.7.2
Mod Loader Version
Fabric 0.16.0
Bug/Glitch Occurrence Context
When 2 or more controllers are connected at the same time.
Crash Report
[11:35:45] [Timer-1/ERROR]: Uncaught exception in thread "Timer-1" java.lang.IllegalArgumentException: Argument value 0x200000001 exceeds native capacity (4 bytes) mask=0xffffffff00000000 at com.sun.jna.IntegerType.setValue(IntegerType.java:112) ~[jna-5.14.0.jar:?] at com.sun.jna.IntegerType.(IntegerType.java:69) ~[jna-5.14.0.jar:?] at dev.isxander.sdl3java.api.joystick.SDL_JoystickID.(SDL_JoystickID.java:25) ~[dev_isxander_libsdl4j-3.693c75e-36-b73680dfff8078a4.jar:?] at dev.isxander.sdl3java.api.gamepad.SdlGamepad.SDL_GetGamepads(SdlGamepad.java:58) ~[dev_isxander_libsdl4j-3.693c75e-36-b73680dfff8078a4.jar:?] at wily.legacy.client.controller.SDLControllerHandler.isValidController(SDLControllerHandler.java:183) ~[Legacy4J-1.21-1.7.2-fabric.jar:?] at wily.legacy.client.controller.ControllerManager$1.run(ControllerManager.java:63) ~[Legacy4J-1.21-1.7.2-fabric.jar:?] at java.base/java.util.TimerThread.mainLoop(Timer.java:566) ~[?:?] at java.base/java.util.TimerThread.run(Timer.java:516) ~[?:?]
What happened wrong?
all controller support breaks when i plug in a second controller and does not work again until i restart the game. keyboard and mouse still works afterwards.

Until it gets fixed, have you tried using GLFW as the controller handler? it can be a potential work around. Try changing it before you plug in your second controller.
Help & Options -> Controls -> Controller -> Controller Handler slider (second or third from the top)

Until it gets fixed, have you tried using GLFW as the controller handler? it can be a potential work around. Try changing it before you plug in your second controller.
Help & Options -> Controls -> Controller -> Controller Handler slider (second or third from the top)

I haven't used this mod since as I was only testing out the mod, but I might try it again as you said

Legacy4J Version
1.21-1.7.2
Mod Loader Version
Fabric 0.16.0
Bug/Glitch Occurrence Context
When 2 or more controllers are connected at the same time.
Crash Report
[11:35:45] [Timer-1/ERROR]: Uncaught exception in thread "Timer-1" java.lang.IllegalArgumentException: Argument value 0x200000001 exceeds native capacity (4 bytes) mask=0xffffffff00000000 at com.sun.jna.IntegerType.setValue(IntegerType.java:112) ~[jna-5.14.0.jar:?] at com.sun.jna.IntegerType.(IntegerType.java:69) ~[jna-5.14.0.jar:?] at dev.isxander.sdl3java.api.joystick.SDL_JoystickID.(SDL_JoystickID.java:25) ~[dev_isxander_libsdl4j-3.693c75e-36-b73680dfff8078a4.jar:?] at dev.isxander.sdl3java.api.gamepad.SdlGamepad.SDL_GetGamepads(SdlGamepad.java:58) ~[dev_isxander_libsdl4j-3.693c75e-36-b73680dfff8078a4.jar:?] at wily.legacy.client.controller.SDLControllerHandler.isValidController(SDLControllerHandler.java:183) ~[Legacy4J-1.21-1.7.2-fabric.jar:?] at wily.legacy.client.controller.ControllerManager$1.run(ControllerManager.java:63) ~[Legacy4J-1.21-1.7.2-fabric.jar:?] at java.base/java.util.TimerThread.mainLoop(Timer.java:566) ~[?:?] at java.base/java.util.TimerThread.run(Timer.java:516) ~[?:?]
What happened wrong?
all controller support breaks when i plug in a second controller and does not work again until i restart the game. keyboard and mouse still works afterwards.

Until it gets fixed, have you tried using GLFW as the controller handler? it can be a potential work around. Try changing it before you plug in your second controller.
Help & Options -> Controls -> Controller -> Controller Handler slider (second or third from the top)

I have tried this before and it did not work however I didn't try restarting afterwards so I will have to try that next

@Opoodoop @Dragon-Mom did it work?

@Opoodoop @Dragon-Mom did it work?

After restarting with GLFW as the handler and changing the controller manually to my PS5 controller it did work yes, thank you 😄


feat: add width support to image compiler

🧰 Changes
Adds support for saving images without captions but with widths.
🧬 QA & Testing

Broken on production.
Working in this PR app.

This PR was released!
🚀 Changes included in v6.38.0-next.1

This PR was released!
🚀 Changes included in v6.38.0


add resources and update events

@victorvalle added your meetup for next Thursday
@fapires added your meetup from Dec 2018

Thanks @plhnk

Thanks! :)


Missing text on some PDFs

I've seen a few PDFs recently that do not render fully in the browser extension, although they work fine in Acrobat Reader after I download them. Example: http://craigmorton.com/ifr/29-jun00aopa.pdf
There is text missing when I load the PDF in my browser. In that example PDF, in the middle column on the first page, is text "Refer to the 'Red Rock TwoDeparture' from Las Vegas,Nevada, which is a typical Departure Procedure." After that, no further text is rendered in the middle column in the Opera extension. However, there is plenty of actual text there, starting with italic text "This DP is still titled 'SID' and will be changed to DP when it is revised for other aeronautical reasons." That text can be copy-pasted even though it is not visible in the browser extension. It appears visibly in Acrobat Reader.

I ran up against this problem too. My fix was to disable this extension (PDF Viewer 1.0.606) and enable the plugin (Chrome PDF Viewer in Opera Stable 27.0.1689.54).

Cannot reproduce in Chromium 40.0.2214.91 with PDF Viewer 1.0.1061). Perhaps the Opera addon maintainer should update the PDF Viewer?
Try installing a more recent version of the PDF Viewer from the Chrome Web Store: https://chrome.google.com/webstore/detail/pdf-viewer/oemmndcbldboiebfnladdacbdfmadadm

Also cannot reproduce in Firefox 35.0.1 which has PDF.js built in since FF19.
It seems to be related to, but not the same as, this issue and example problem.
https://github.com/mozilla/pdf.js/issues/5592
http://www.pdf-archive.com/2014/12/29/4111112/4111112.pdf
It was fixed on 2014-12-30 but my release stream FF35 still hangs rendering that.