"One line installation" fails on a vanilla MACOS 14 install

Hello @costashatz, this is an issue linked to the JOSS review https://github.com/openjournals/joss-reviews/issues/6771
I tried to install robot_dart on a fresh install of MacOS 14.5 (Virtual Machine, M2 series Processor, MACOS 14.5), but it did not succeed. I attached the terminal output at https://gist.github.com/c-joly/e26956198d2438ef62f1291c0b6c2809. Here are the main problems that I see (but it might have others):

pip3 install dartpy does not pass
cmake is not found, so no Makefile is generated and the make command provided no output
waf not found
After installing cmake via brew, there are other problems with pip3 that appears obviously ("This environment is externally managed; To install Python packages system-wide, try brew install...").
I also saw an error python not found... By default, the system uses python3 command only, there is no symlink python on a my vanilla MACOS-14.

It looks like the one line installation script makes several hypotheses concerning the machine configuration (homebrew, cmake, some installation of python). Can you list the requirements?
Finally, I realized that in case of error, the script continues to execute, so it is difficult to know if the installation succeeded or not (it might be possible to find some errors in the middle of the log). I suggest to configure the script to stop at the first encountered error (see bash strict mode). When it is configured like this, it stops with the error python not found.

Hello @c-joly,
Thanks for the comment and the effort.

I attached the terminal output at https://gist.github.com/c-joly/e26956198d2438ef62f1291c0b6c2809

Thanks for this. Really helpful.

pip3 install dartpy does not pass

Hmmm. I used pip to avoid having to deal with compiling from source. I am suspecting that the dart developers do not have pre-built binaries for M2 processors. I will update the script to build DART from source.

cmake is not found, so no Makefile is generated and the make command provided no output

This is very weird. brew install dartsim --only-dependencies and brew install binutils pybind11 should install cmake! In my MacOS CI (MacOS 12), I am not installing cmake explicitly and it works. In any case, this is an easy fix: I will update the script to install all the base compilation packages (clang, cmake, etc).

waf not found

Where did you run the script from? You should be in the root of the robot_dart repo. I guess this might be related to the python issue. Ahh no, I see why this happened. I will fix it.

there are other problems with pip3 that appears obviously ("This environment is externally managed; To install Python packages system-wide, try brew install...").

These should be only warnings. That's what I see in the output as well. We can safely ignore those. Or these were errors? I do not see any such error in the log.

I also saw an error python not found...

Yes. I will fix that.

It looks like the one line installation script makes several hypotheses concerning the machine configuration (homebrew, cmake, some installation of python). Can you list the requirements?

python should be there by default, no?
I'll handle cmake in the updated version. I will add homebrew as a requirement (I assumed it's always there as I know no Mac user without using brew).

I suggest to configure the script to stop at the first encountered error (see bash strict mode).

Thanks for the suggestion. I will update the script.
@c-joly  thanks for the comments! I will update the script and let you know so that you can try on a clean installation again! I am not using Mac and I trusted the GitHub CI Mac machine; turns out I needed to be more careful!

Hello @costashatz ,
Thanks for your fast reply!

This is very weird. brew install dartsim --only-dependencies and brew install binutils pybind11 should install cmake! In my MacOS CI (MacOS 12), I am not installing cmake explicitly and it works. In any case, this is an easy fix: I will update the script to install all the base compilation packages (clang, cmake, etc).

I was surprised too, since homebrew provides cmake

These should be only warnings. That's what I see in the output as well. We can safely ignore those. Or these were errors? I do not see any such error in the log.

These were errors. Eventually, I decided to not paste them since it might be due to the problems of python. I saw these errors after I launched the script a second time (after performing brew install cmake)

python should be there by default, no?

Yes, but on the install I used, the command is python3 and the OS does not create a symbolic link python by default. To be honest, I never use the python that comes with the OS, since I cannot really control it. Instead, I use conda environments and I have a specific version of python for each project. I may recommend to do the same for robot_dart, but at a first step, I wanted to test the standard install procedure.

I'll handle cmake in the updated version. I will add homebrew as a requirement (I assumed it's always there as I know no Mac user without using brew).

Thanks. I am not a big fan of homebrew since it changes the ownership of /opt/ (so I don't install it on my main system). For 99% of my usecases, the libraries I need can be found in conda or pypi repositories, so I don't need other package managers like homebrew or macport anymore.
Thanks very much again for your fast answer. Will try again the install when the new script is available.

Hi @costashatz , I think I succeed to update the install script for MacOS Silicon. I will summarize bellow the parts that are not working well with the original script. If you want, I can eventually propose a pull request of my script as an extra script install_silicon.sh
Prerequisites
The script does not work with an out of the box install of MacOS. In my previous message, I mentioned that cmake is missing and homebrew is needed. I figured out that we need more:

XQuartz: this is a software used to start an X server and launch X11 applications. After the installation, it add some includes files, especially "GLx.h" which is not there by default and is needed for one of the graphic libraries compilation (magnum or corrade, I don’t remember). XQuartz used to be very popular to run some software that have been port from Linux, e.g. Inkscape, so many Mac users used to install it. However, many of these software (including Inkscape) have been updated and do not need XQuartz anymore. So, there is a high probability that a recent Mac does not have this software already installed.

python: by default, MacOS comes with the builtin command python3, there is not any symbolic link with python command. Although it is possible to create one directly, I do not recommend this option. I chose to install an other python with brew and then create a virtual environment with the command:
 python3 -m venv ~/env_dart

Note: before creating the virtual environment, make sure that python3 command is the one installed by homebrew by  using:
which python3

If it is not the case, restart your terminal after python installation via homebrew.
Then, once the environment is installed, it can be activated  with
source ~/env_dart/bin/activate

This will provide directly the command python and so, the user does not have anything to do more. Using venv has two advantages:

It avoids any side effect with the system installation of python, which is something I like
It avoids an error with pip, that detects that some libraries are installed with brew and does not like anymore mixing the "system"pip and other libraries. (Note, it is still possible to cancel this behavior by passing the option —break-system-packages to pip, but has the name suggests, it might have some horrible side effects, including a sudden loss of cabine pressure 😀)
An other possible way might ber the use of a conda environment. However, dart documentation mentions some issues with that, so I do not recommend for an automatic installation.

Missing include in a jpeglib.h installed by homebrew
The compilation of MagnumPlugins fails because FILE is not recognized in the file jpeglib.h. I figured out this is because we need to include <stdio.h>. Maybe some linux compilers make this include by default, making the explicit include unnecessary, but it was not the case with the compiler called by cmake on my computer (Clang). Thus, I add in the script some lines to add automatically this include if necessary:
if ! grep -q '#include <stdio.h>' '/opt/homebrew/Cellar/jpeg-turbo/3.0.3/include/jpeglib.h'; then
   sed -i '' '1s/^/ #include <stdio.h>\n/' /
fi

Note: this solution is not perfect since I am using a hardcoded path with the specific version of the library. It might be possible to use some special variables of homebrew to make it more generic, but I did not have time to look how to do this. By the way, this is an ugly patch that makes a change in the source code of a library installed by homebrew!  I think an issue should be posted in order to have an official update of this header.
Dart and dartpy compilation
I add a block to compile and install dart and dartpy, based on the official documentation. I figured out that I had to checkout a specific tagged version. I picked the last one.; if I don’t do the checkout, the waf script dart.py ends with an error (it looks to have troubles to detect the version number, so it fails).
dart is finally installed in /opt/dart
Environment variables
I figured out that the variable LD_LIBRARY is not enough to find the libraries at runtime. Depending on the prefix install of the libraries, I got some errors with @rpath at runtime, showing that the shared libraries cannot be found. On MacOS, we can add values to rpath with the environment variable DYLD_LIBRARY_PATH. Moreover, I had to manually  add dart since it has been compiled. Finally, I update the PYTHONPATH variable to find dartpy which is not installed in the standard path for python packages. So, I add the following in the script:
export LD_LIBRARY_PATH=/opt/dart/lib:/opt/magnum/lib:$LD_LIBRARY_PATH
export DYLD_LIBRARY_PATH=$LD_LIBRARY_PATH
export PYTHONPATH=/opt/dart:$PYTHONPATH

(I don't think LD_LIBRARY_PATH is necessary, but I am not sure, so I kept it).
waf configuration
When installing the compiled libraries in /opt/dart and /opt/magnum, the waf configuration script fails to find them. I updated the command line with the options providing the path of these librairies. Then, I also prefixed the waf command by python3 as recommended in the manual installation page
python3 ./waf configure --prefix /opt/robot_dart --python --dart /opt/dart/ --corrade_install_dir /opt/magnum --magnum_install_dir /opt/magnum --magnum_plugins_install_dir /opt/magnum --magnum_integration_install_dir /opt/magnum
python3 ./waf -j8
python3 ./waf examples -j8
sudo python3 ./waf install

Miscellaneous

I changed the first line with set -e to make sure the script stops at the first error
When compiling the libraries, I had lines to check if the directory build exists or not; otherwise, mkdir will produce an error if build exists which is blocking with set -e:if [ -d "build" ] # In case of a previous attempt that has not been clean
then
  rm -rf build
fi

Finally, if we want to run the prebuilt C++ examples or import RobotDART in python, we just need to update the environment variables PYTHONPATH and DYLD_LIBRARY_PATH. In my case:  export DYLD_LIBRARY_PATH=/opt/dart/lib:/opt/magnum/lib:$DYLD_LIBRARY_PATH
  export PYTHONPATH=/opt/dart:/opt/robot_dart/lib/python3.12/site-packages

@c-joly this is great! Yes please do provide a pull request (please allow for changes), and I will try to adapt it for all MacOSes.
Thanks again for your hard work! Appreciated!

@c-joly I have updated the installation script for OSX in the master branch. I tried on an M1 apple machine and everything worked fine! Your script (from the PR) was very valuable! Thanks again!
One note is that I never encountered the Missing include in a jpeglib.h installed by homebrew issue. So I did not include this in my script as it appears that this has something to do with your local installation (and it is hacky to put hard-coded paths)?
Can you please verify that new script works also for you (apart maybe from this jpeglib issue)? Thanks! If the jpeglib issue persists, I will put a comment in the installation instructions linking to this issue in case someone encounters something similar.

Hi @costashatz ,
I am currently trying the new MacOS script on a fresh VM (MacOS 14, last version). I first installed ffmpeg, Xquartz and CMake (Xquartz brings some headers lined to OpenGL that I don't have by default).
But the installation does not succeed, I have some weird errors linked to waf that should be found in the dart directory but cannot be found during the installation of magnum_bindings. Bellow the last lines of the console output (complete log of the magnum_bindings installation available on https://gist.github.com/c-joly/ba003b67c5db31eb904d45736fb0bf82):
running install_egg_info
running egg_info
creating magnum.egg-info
writing magnum.egg-info/PKG-INFO
writing dependency_links to magnum.egg-info/dependency_links.txt
writing top-level names to magnum.egg-info/top_level.txt
writing manifest file 'magnum.egg-info/SOURCES.txt'
reading manifest file 'magnum.egg-info/SOURCES.txt'
writing manifest file 'magnum.egg-info/SOURCES.txt'
Copying magnum.egg-info to /opt/magnum/lib/python3/site-packages/magnum-0.0.0-py3.12.egg-info
running install_scripts
<EMAIL_ADDRESS>can't open file '/Users/cyril/robot_dart/temp_robot_dart/dart/waf': [Errno 2] No such file or directory

It looks like a file is missing in dart directory... This is weird because I did not have any similar error previously.
Then, I have an other problem when I launch again the script: the automatic cleaning does not work (access denied). Removing temp_dart manually does not work  completely: the subdirectory dart cannot be removed, it looks like some files belongs to root. I have to remove it by using sudo (which I think is not the expected behavior). FYI, the result of ls in one of the subsubdirectory of temp_dart:
cyril@Machine-virtuelle-de-cyril lib.macosx-14.0-arm64-cpython-312 % pwd
/Users/cyril/robot_dart/temp_robot_dart/dart/build/magnum-bindings/build/src/python/build/lib.macosx-14.0-arm64-cpython-312
cyril@Machine-virtuelle-de-cyril lib.macosx-14.0-arm64-cpython-312 % ls -la
total 8088
drwxr-xr-x   6 root  staff      192  6 sep 05:38 .
drwxr-xr-x   3 root  staff       96  6 sep 05:38 ..
-rw-r--r--   1 root  staff   130128  6 sep 05:38 _corrade.cpython-312-darwin.so
-rw-r--r--   1 root  staff  4007984  6 sep 05:38 _magnum.cpython-312-darwin.so
drwxr-xr-x   6 root  staff      192  6 sep 05:38 corrade
drwxr-xr-x  13 root  staff      416  6 sep 05:38 magnum

Can you check on your side? And tell me with which version of MacOS it is working fine?
Finally, it looks like the GitHub action that makes the MacOS installation test fails too.

And tell me with which version of MacOS it is working fine?

14.5

Can you check on your side?

As far as the errors concerns, I had forgotten a folder depth. The osx script should be fixed now.
As for the privilege issue, I guess I should pre-prend sudo in every rm command since sudo make install creates files with root priviliges.
The script in the master branch should be OK (I hope -- I lost access to the Mac PC and I am working on finding a working VM/PC at the moment).
Let me know! Thanks!

Finally, it looks like the GitHub action that makes the MacOS installation test fails too.

This is because of https://github.com/dartsim/dart/issues/1837 from DART. Should be fixed in the latest release. I will update the scripts to use the latest release (v6.14.5).

Hi @costashatz
There is still the problem with waf --> Need to go up one more folder.
After I corrected the problem with the cd command, it does not work, because of dart (6.14.5 is still not working). I changed for the version I used in my version of the script (6.13.2), and then it works.

@c-joly this is great!
I pushed a commit fixing this (see: https://github.com/NOSALRO/robot_dart/commit/03011e51da861ebea800b08411cd5d15500be752). Closing this as completed!
Thanks a ton for your help!


Hey Dev, I made some fixes to your auth code in the local-cli to make it run / work as expected

reminder to use the project prettier config

all set up now :)


Is someone going to update M5Stick+ on Arduino library manager?

The Arduino library manager says my Stick Plus is up to date on 0.0.2
But it's missing the entire directory: M5StickC-Plus/examples/Hat/C_BACK_DRIVER/
That folder's over 6 months old... so I figured there's probably several updates that should be in release 0.0.3 by now?

We have added him


Add support to install a specific version of extension

Description of issue (in as much detail as possible)
This could be a duplicate of https://github.com/Azure/azure-cli-extensions/issues/1123
When extension gets updated & have blocking issues, there is no way for the customers to use the older version & hence blocks the deployments.
For eg, we were blocked due to this issue https://github.com/Azure/azure-cli-extensions/issues/1578 till a fix was available.
If the "az extension add" command supports pinning to a particular version, we would have been able to unblock ourselves. (similar to using specific az cli version if we face any issues with the latest version)

From other thread:
It seems like currently the only way to achieve this is to store the desired commit SHA alongside your code's version, and at build time pulling down this extensions repository against that SHA by using the --source parameter on az extension add to add the versioned extension.
This adds significant complexity to build pipelines. It would also be great if a flag was introduced to allow pulling extensions from private registry should an organization elect to fork an extension.

add to S170

@gusnaughton I think it's a feature to request to support Azure CLI resolve/install extension from a private registry.
Could you create another issue to track it? I will fix the original one here.

@gusnaughton I think it's a feature to request to support Azure CLI resolve/install extension from a private registry.
Could you create another issue to track it? It might be complex to fix all those ones together.
It would be better to solve those requests step by step.

Sure thing, Harold. https://github.com/Azure/azure-cli-extensions/issues/1836

@devaradhanm CLI now support install extension with specific version. This feature is going to ship in Azure CLI 2.8.0 and expected at 6/23/2020.
If it's urgent, you could try it against dev branch or edge build


[HOLD for payment 2024-12-07] [$250] No RBR on Subscription row in the LHN in settings if the free trial has expired

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.62-3
Reproducible in staging?: y
Reproducible in production?: y
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?:
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @allgandalf
Slack conversation (hyperlinked to channel name): Expensify bugs
Action Performed:

Open an account who free trial has expired
Go to settings > Subscription

Expected Result:
RBR should also be on the Subscription row in the LHN
Actual Result:
Observe that there is a RBR on the Page but not on the settings option
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Standalone
[ ] Android: HybridApp
[ ] Android: mWeb Chrome
[ ] iOS: Standalone
[ ] iOS: HybridApp
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021858434959504168009
Upwork Job ID:<PHONE_NUMBER>504168009
Last Price Increase: 2024-11-18
Automatic offers:

daledah | Contributor | 104948042

Issue OwnerCurrent Issue Owner: @zanyrenney

Thanks for the proposals, everyone. @daledah 's proposal here is straightforward.
🎀 👀 🎀  C+ reviewed.

Hey @twilight2294,
I think your explanation makes sense. However during the proposals review process, here's what I thought:

getBillingStatus also used the subscriptionStatus from SubscriptionUtils.getSubscriptionStatus();.
hasSubscriptionRedDotError return getSubscriptionStatus()?.isError ?? false; which is the error for the whole Subscription page not only for one specific case and it was also intentional of the Author who implemented failed billing scenarios banner feature.
getBillingStatus retrieves billing details, while hasSubscriptionRedDotError indicates the current subscription status, including billing status.

Overall, I'm still aligned with my decision above, we should update the hasSubscriptionRedDotError logic instead of getBillingStatus.

BugZero Checklist:

[ ] [Contributor] Classify the bug:

Bug classification

Source of bug:

[ ] 1a. Result of the original design (eg. a case wasn't considered)
[ ] 1b. Mistake during implementation
[ ] 1c. Backend bug
[ ] 1z. Other:

Where bug was reported:

[ ] 2a. Reported on production (eg. bug slipped through the normal regression and PR testing process on staging)
[ ] 2b. Reported on staging (eg. found during regression or PR testing)
[ ] 2d. Reported on a PR
[ ] 2z. Other:

Who reported the bug:

[ ] 3a. Expensify user
[ ] 3b. Expensify employee
[ ] 3c. Contributor
[ ] 3d. QA
[ ] 3z. Other:

[ ] [Contributor] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.
Link to comment:

[ ] [Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner.
Link to discussion:

[ ] [Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.

Regression Test Proposal Template

[ ] [BugZero Assignee] Create a GH issue for creating/updating the regression test once above steps have been agreed upon.
Link to issue:

Regression Test Proposal
Precondition:

Test:

Do we agree 👍 or 👎

Source of bug:

[ ] 1a. Result of the original design (eg. a case wasn't considered)
[x] 1b. Mistake during implementation
[ ] 1c. Backend bug
[ ] 1z. Other:

Where bug was reported:

[x] 2a. Reported on production (eg. bug slipped through the normal regression and PR testing process on staging)
[ ] 2b. Reported on staging (eg. found during regression or PR testing)
[ ] 2d. Reported on a PR
[ ] 2z. Other:

Who reported the bug:

[ ] 3a. Expensify user
[ ] 3b. Expensify employee
[ ] 3c. Contributor
[x] 3d. QA
[ ] 3z. Other:

[x] [Contributor] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.
Link to comment: https://github.com/Expensify/App/pull/44072/files#r1875328860

[x] [Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner.
Link to discussion: N/A

[x] [Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.

Regression Test Proposal
Test:

Open an account with free trial expired
Go to settings > Subscription
Verify that: RBR is displayed on LHN

Do we agree 👍 or 👎

payment summary
@hungvu193 requires payment through NewDot Manual Requests - please request $250 on ND
@daledah requires payment automatic offer (Contributor) - paid via upwork
@allgandalf requires payment (Needs manual offer from BZ)

$250 approved for @hungvu193

@allgandalf invited you for the bug bounty here- https://www.upwork.com/jobs/~021867267566328938332

Paid @allgandalf $50 via upwork too!


Temporary enlargement of a grid tile for inspection

Users have expressed the desire the enlarge / grow a verification grid tile during a verification task so that they have a larger spectrogram that they can inspect events on.
We should therefore add grab points to the grid tiles so that users can resize them.

So, I'm thinking a little magnifier-plus/minus icon on the tiles.


Fix sbt bug #6453

A user pointed out that if two globs were specificed that looked like
a/b.txt and a/b/**, then FileTreeView.list(globs) would not return the
children in the subdirectory a/b. There is an optimization that
FileTreeView.list makes when handling paths that may have multiple globs
matching the same prefix. At the fork point (which in the example above
is the directory a), we save all of the files that we find in there so
that as the recursive algorithm proceeds, it doesn't necessarily need to
make an additional syscall to determine whether the next file it wants
to look at is a path or a directory. The problem here though was that we
incorrectly passed the parent (fork) path into the listPath method
rather than the path itself.

To validate this pull request against other sbt modules, please visit this link.

I tested in a local sbt build that https://github.com/sbt/sbt/issues/6453 was fixed by this change.


CRATE_HEAP_SIZE config in crate.yml does not start service

Crate version = 46.1 (in debian)
If I change crate.yml, adding "CRATE_HEAP_SIZE=10g" or "CRATE_MAX_MEM=10g" the service don't start.
I solved this in the /etc/init.d/crate file, changing "CRATE_MAX_MEM=${CRATE_MAX_MEM-1g}" to "CRATE_MAX_MEM=${CRATE_MAX_MEM-10g}".

hi @robertoabril
CRATE_HEAP_SIZE is actually an environment variable, and the crate init script takes that into account when starting. so you'd need to set it on the host:
export CRATE_HEAP_SIZE=10g
sudo service crate start

see https://crate.io/docs/en/latest/configuration.html#environment-variables
hope this helps!


created file incorrectly

Delete file

Please merge to add the directory and files for the API final project. (first 2 commits were creating and deleting a file instead of a repository with multiple files.

keep going!


Docker problem

I use Windows and when I open docker, I get this warning and I can't do anything.

Dear @OmarCifuentes ,
Have you followed the instructions on the link provided in the message? If yes, did you have an issue with a particular step?
Thanks for posting


When placing a model in WebXR, the model now faces the viewer rather than scene origin

Pulled out from #265 which has some other issues. Fixes #269

Can we test this?

Also, is #263 the right issue?

Shadows should appear when viewing via WebXR

@cdata nope, was wondering why links weren't working as expected: fixes #269

The important thing seems to be testing that the model is oriented correctly for WebXR mode.
As far as infrastructure is concerned, I did go out of my way to stub the relevant bits when we started testing scale: https://github.com/GoogleWebComponents/model-viewer/blob/master/src/test/three-components/ARRenderer-spec.js
Not sure what it would take, but it seems worthwhile to extend that a bit for this purpose.

Updated with tests, although no way to feasibly run the AR tests without stubbing more

Let's rebase on master to pull in the new WebXR test target.

LGTM 👍 Thanks for adding a test!


Update install instructions for qcint

Instructions for flag BUILD_MARCH_NATIVE

I'm pretty sure BUILD_MARCH_NATIVE is on by default
https://github.com/sunqm/qcint/blob/8293cf592f2cb08912705d0eb18c31cc1724622b/CMakeLists.txt#L15

In pyscf CmakeLists.txt, this flag was set to OFF by default.


row.delete() not working

I seem to be having an issue with row.delete();
here is my code
    let temp = row;
    if (temp['Last Live (GMT)']) {
      if (temp.Status === 'Offline') {
        const lastLive = moment.tz(row['Last Live (GMT)'], config.DATE_FORMAT, config.TIMEZONE);
        const currentLiveSub = moment().subtract(config.STREAM_EXPIRE_SECONDS, 'seconds');
        console.log(`${temp.Link} will expire in ${parseFloat(lastLive.format('X')) - parseFloat(currentLiveSub.format('X'))} Seconds`);
        if (lastLive.isBefore(currentLiveSub)) {
          const prevStreamsSheet = await getSheetTab(
            await serviceAccount(),
            config.PREV_STREAMS_SHEET_ID,
            config.PREV_STREAMS_TAB_NAME,
          );

          console.log(`expire row ${temp.Link}`);
          console.log('add to PreviousSheet');
          await prevStreamsSheet.addRow(temp);
          console.log('delete row from main sheet');
          await temp.delete();
          return;
        }
      }
    }

and i am getting this error:
unhandled fatal error Error: Google API error - [400] Invalid requests[0].deleteRange: Cannot cut from form data. Use copy instead.
    at createError (F:\Development\stream-list-updater-ts\node_modules\axios\lib\core\createError.js:16:15)
    at settle (F:\Development\stream-list-updater-ts\node_modules\axios\lib\core\settle.js:17:12)
    at IncomingMessage.handleStreamEnd (F:\Development\stream-list-updater-ts\node_modules\axios\lib\adapters\http.js:236:11)
    at IncomingMessage.emit (events.js:327:22)
    at IncomingMessage.EventEmitter.emit (domain.js:482:12)
    at endReadableNT (_stream_readable.js:1221:12)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)

It looks like this is because your sheet is linked to a google form. https://support.google.com/docs/thread/12158043?hl=en
I think there may still be a way to delete a row, but apparently it's not compatible with how the current row.delete is implemented.
I'd have to do a bit of digging to see what is allowed.


Attempt at clearer wording describing idle timeout notification in PSA

and explicitly say that it is on a best effort basis.

Merging this in with only Mario and my approval, as this is really a set of clarifications, without any changes to the published behavior.


Sample code missing xmlns=

I believe the first line of the sample misses the first part of the xmlns definition mentioned in the third bullet point. That is the line that reads
string xaml =
"<Ellipse Name="EllipseAdded" Width="300.5" Height="200"
Fill="Red" "http://schemas.microsoft.com/winfx/2006/xaml/presentation\"/>";
should actually read
string xaml =
"<Ellipse Name="EllipseAdded" Width="300.5" Height="200"
Fill="Red" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation\"/>";

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

ID: fe705b66-ab93-9b90-1799-f95d1d6c0448
Version Independent ID: f0c09a66-b141-3792-af6c-802f09313db8
Content: XamlReader.Load(String) Method (Windows.UI.Xaml.Markup) - Windows UWP applications
Content Source: https://cpubwin.visualstudio.com/DefaultCollection/windows-uwp/_git/winrt-api-build?path=%2fwinrt-api-build%2fwindows.ui.xaml.markup.xamlreader.yml&version=GBlive&_a=contents
Product: uwp
Git Login: jwmsft
Microsoft Alias: jimwalk

Thanks for reporting, we'll fix this!

Fixed, should be live in a couple days.


Pypi package

Hey @diego-vicente,
It would be nice to have a Pypi package for your algorithm.
We could be able to solve a TSP problem with the following command som-tsp myfile.tsp.
With some options I could choose whether to output the brut path, print the logs, display the distance, plot a graph or an animation...etc

This is currently not in the roadmap since it seems like a lot of functionality is missing and, in case I were to tackle pending work, I would try to start with much smaller tasks regarding the module. Feel free to fork if you need to

I just need to access the route variable in the main function. The only option I currently have to embeed your algorithm in my software is to create an another main.py that returns the values I need.

Again, it is MIT licensed so feel free to whatever, including copying and pasting the code if you need to. However, understand that this is not production ready code and that are plenty of algorithms that will outperform it and that contributions regarding packaging are unlikely not be merged upstream.

Yes. Do you know somd algorirhms on github that could outperform som-tsp ?


Error downloading video from la7.it

Hi, I get the following error when I try to download a video from www.la7.it:
sudo youtube-dl --verbose --no-playlist https://www.la7.it/piazzapulita/rivedila7/piazzapulita-puntata-del-13102022-14-10-2022-455682
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', '--no-playlist', 'https://www.la7.it/piazzapulita/rivedila7/piazzapulita-puntata-del-13102022-14-10-2022-455682']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.12.17
[debug] Python version 3.10.6 (CPython) - Linux-5.19.0-76051900-generic-x86_64-with-glibc2.35
[debug] exe versions: none
[debug] Proxy map: {}
[la7.it] piazzapulita-puntata-del-13102022-14-10-2022-455682: Downloading webpage
ERROR: piazzapulita-puntata-del-13102022-14-10-2022-455682: Failed to parse JSON  (caused by JSONDecodeError('Expecting value: line 4 column 8 (char 422)')); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 906, in _parse_json
    return json.loads(json_string)
  File "/usr/lib/python3.10/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.10/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.10/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 4 column 8 (char 422)
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 906, in _parse_json
    return json.loads(json_string)
  File "/usr/lib/python3.10/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.10/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.10/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 4 column 8 (char 422)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 815, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 836, in __extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 534, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/la7.py", line 51, in _real_extract
    player_data = self._parse_json(
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 910, in _parse_json
    raise ExtractorError(errmsg, cause=ve)
youtube_dl.utils.ExtractorError: piazzapulita-puntata-del-13102022-14-10-2022-455682: Failed to parse JSON  (caused by JSONDecodeError('Expecting value: line 4 column 8 (char 422)')); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

I can reproduce this. The URL works with yt-dlp: we need to back-port the extractor, like this:
$ python -m youtube_dl -v -F 'https://www.la7.it/piazzapulita/rivedila7/piazzapulita-puntata-del-13102022-14-10-2022-455682'
[debug] System config: [u'--prefer-ffmpeg']
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'-F', u'https://www.la7.it/piazzapulita/rivedila7/piazzapulita-puntata-del-13102022-14-10-2022-455682']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2021.12.17
[debug] Git HEAD: 6ec4a2497
[debug] Python version 2.7.17 (CPython) - Linux-4.4.0-210-generic-i686-with-Ubuntu-16.04-xenial
[debug] exe versions: avconv 4.3, avprobe 4.3, ffmpeg 4.3, ffprobe 4.3
[debug] Proxy map: {}
[la7.it] piazzapulita-puntata-del-13102022-14-10-2022-455682: Downloading webpage
[la7.it] piazzapulita-puntata-del-13102022-14-10-2022-455682: Downloading MPD manifest
[la7.it] piazzapulita-puntata-del-13102022-14-10-2022-455682: Downloading m3u8 information
[la7.it] /content/entry/data/0/530/0_33adfnkc_0_ddfjg19j_1: Check filesize
[la7.it] /content/entry/data/0/530/0_33adfnkc_0_vtffps07_1: Check filesize
[info] Available formats for piazzapulita-puntata-del-13102022-14-10-2022-455682:
format code    extension  resolution note
dash-f1-a1-x3  m4a        audio only DASH audio   63k , m4a_dash container, mp4a.40.2 (44100Hz)
dash-f2-a1-x3  m4a        audio only DASH audio  128k , m4a_dash container, mp4a.40.2 (48000Hz)
dash-f1-v1-x3  mp4        640x360    DASH video  599k , mp4_dash container, avc1.42c01e, 25fps, video only
dash-f2-v1-x3  mp4        1280x720   DASH video 1203k , mp4_dash container, avc1.64001f, 25fps, video only
hls-663        mp4        640x360     663k , avc1.42c01e, 25.0fps, mp4a.40.2
https-663      mp4        640x360     663k , avc1.42c01e, 25.0fps, mp4a.40.2, ~882.61MiB
hls-1331       mp4        1280x720   1331k , avc1.64001f, 25.0fps, mp4a.40.2
https-1331     mp4        1280x720   1331k , avc1.64001f, 25.0fps, mp4a.40.2, ~1.72GiB (best)
$

In your configuration you could test the la7.py in the attached zip archive. Remove the existing files la7.py* in /usr/local/bin/youtube-dl/youtube_dl/extractor, replace with the new file. You'll probably need to become admin; run youtube-dl --version at the same time.
la7.py.zip

Thanks for your quick response. When I access the folder "/usr/local/bin" and run "ls -la" command I get a youtube-dl file but no youtube-dl folder (see below). I have used the find command to scan the whole system but haven't found any folder called youtube-dl or youtube_dl. I am not sure then how to replace the files.
user@user:/usr/local/bin$ ls -la
total 1804
drwxr-xr-x  2 root root    4096 Oct 16 11:01 .
drwxr-xr-x 10 root root    4096 Feb 19  2022 ..
lrwxrwxrwx  1 root root      16 Oct 14 20:31 python -> /usr/bin/python3
-rwxr-xr-x  1 root root 1837828 Dec 16  2021 youtube-dl

Ah. Maybe the single executable file installation (is that what you used?) appears to have installed itself in /usr/local/bin while it's running.
When a PR appears to fix this I'll suggest how to install it for testing._

Yes, I have installed it using the following commands as in the instructions:
sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl

See https://github.com/yt-dlp/yt-dlp/issues/5360#issuecomment-1292387041 for another necessary change to be rolled in.

Thanks. I guess I can only wait at the moment, there is not yet a patch available, right?

We know what the patch is but there isn't a patched yt-dl release.
If you install yt-dl using pip, the extractor modules will be installed somewhere on your disk. Then you can replace the extractor/la7.py module as above, after applying the 1-line change as linked. You may need to be admin to do that. Or you can wait for yt-dlp to be updated. Or in due course there will be a yt-dl PR that should be rolled into a release.

I have installed it now using pip as you suggested, but also in this case I don't get the folder you mention, I only get a youtube-dl file in the folder "/usr/local/bin".

If you run the yt-dl instance installed with pip as in your original post, it should give you some output that will show where the files are installed. In that case there was this line:
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 906, in _parse_json

You might instead see
  File "/usr/lib/python3.10/site-packages/youtube_dl/extractor/common.py", line 906, in _parse_json

or maybe ~/.local/lib/... or /usr/local/lib/..., depending on how pip was run.

Thanks a lot for your support. I have replaced the la7.py file in the path you mentioned. This time I don´t get anymore the JSON error but I get the error of "no video formats found", see below:
youtube-dl --verbose --no-playlist -o "%(title)s.%(ext)s" https://www.la7.it/piazzapulita/rivedila7/piazzapulita-puntata-del-13102022-14-10-2022-455682
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', '--no-playlist', '-o', '%(title)s.%(ext)s', 'https://www.la7.it/piazzapulita/rivedila7/piazzapulita-puntata-del-13102022-14-10-2022-455682']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.12.17
[debug] Python version 3.10.6 (CPython) - Linux-5.19.0-76051900-generic-x86_64-with-glibc2.35
[debug] exe versions: none
[debug] Proxy map: {}
[la7.it] piazzapulita-puntata-del-13102022-14-10-2022-455682: Downloading webpage
[la7.it] piazzapulita-puntata-del-13102022-14-10-2022-455682: Downloading MPD manifest
WARNING: Failed to download MPD manifest: HTTP Error 413: Request Entity Too Large
[la7.it] piazzapulita-puntata-del-13102022-14-10-2022-455682: Downloading m3u8 information
WARNING: Failed to download m3u8 information: HTTP Error 413: Request Entity Too Large
ERROR: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/local/lib/python3.10/dist-packages/youtube_dl/YoutubeDL.py", line 815, in wrapper
return func(self, *args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/youtube_dl/YoutubeDL.py", line 836, in __extract_info
ie_result = ie.extract(url)
File "/usr/local/lib/python3.10/dist-packages/youtube_dl/extractor/common.py", line 534, in extract
ie_result = self._real_extract(url)
File "/usr/local/lib/python3.10/dist-packages/youtube_dl/extractor/la7.py", line 100, in _real_extract
self._sort_formats(formats)
File "/usr/local/lib/python3.10/dist-packages/youtube_dl/extractor/common.py", line 1374, in _sort_formats
raise ExtractorError('No video formats found')
youtube_dl.utils.ExtractorError: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Did you also make the change from https://github.com/yt-dlp/yt-dlp/issues/5360#issuecomment-1292387041?
The surrounding lines in the diff shown there may be slightly different but the pattern to be changed is the same.

That worked! Now I could download the video from la7.it
Thanks really a lot for your help!


Add note on resolving errors

Purpose

Added in APIM quick start md file on fixing address in bind issue
Added in root readMe md on resolving externally-managed-environment error

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.6 out of 9 committers have signed the CLA.:white_check_mark: vishmi49:white_check_mark: HeshanSudarshana:white_check_mark: Tharanidk:white_check_mark: YasasRangika:white_check_mark: pubudu538:white_check_mark: PasanT9:x: rmsamitha:x: tharikaGitHub:x: ChilliwidditYou have signed the CLA already but the status is still pending? Let us recheck it.


Replace Edition#schedulable? with inline checks

https://trello.com/c/a4sDMtqD/844-ensure-publishers-meet-requirements-before-they-schedule
Previously we had a schedulable? method on each edition that was used
for sanity checking in a couple of controller actions, as well as to
modify the actions shown to the user. The latter behaviour conflicts
with the new design for schedule requirements, as the 'Schedule' action
would disappear if the proposed time drifted into the past.
This replaces the schedulable? check for user actions by simply checking
the scheduled_publishing_datetime, noting the edition is editable in
both scenarios. Since it is valid to enqueue a job in the past (?!),
this also inlines and simplifies the schedulable? check when scheduling
a document, and removes it when harmlessly rendering the form.

Discussed with @kevindew and we've decided to merge this and address how we do checks in future work.


Including binaries with MoltenVK GitHub releases

I have a use case where I'd want to download MoltenVK artifacts to use in a universal CI build. Currently I can just download the Vulkan SDK, but it's a bit large when I really just want to link against MoltenVK itself for these builds. I also can't use the corresponding commits' Actions builds as GitHub specifies that artifacts only live for up to 90 days, so long-term the URL isn't stable.
I wanted to query if adding the Actions artifacts to releases is something you could consider doing, as that way I could just set my download link to the latest release to fetch MoltenVK without all of the extra SDK components.

Interesting scenario.
Yes, adding a build artifact to MoltenVK releases would be helpful.
Although every PR to the MoltenVK repository creates and uploads binary artifacts, as you mention, these only exist for 90 days. That 90 days limit is set by our organization, Khronos. We could possibly investigate extending it.
Currently, we create official MoltenVK releases manually, to align with Vulkan SDK releases. If you are familiar with GitHub Actions, how do you suggest we upload an artifact to a release? And can that upload have a longer duration than 90 days?
If we can't figure this out, you can always download an artifact from the PR action of your choice, and cache it somewhere more permanent within your resources.

Currently, we create official MoltenVK releases manually, to align with Vulkan SDK releases. If you are familiar with GitHub Actions, how do you suggest we upload an artifact to a release? And can that upload have a longer duration than 90 days?

The most straightforward way would be to just download the artifacts from the CI and upload them to the releases when you manually create them.
If you wanted to automate it, it’s also possible to set up an actions workflow to automatically cut releases when a commit is tagged, and as part of the workflow you can choose to build and upload artifacts to the release.
Example walking through this idea: https://trstringer.com/github-actions-create-release-upload-artifacts/

I don't see a direct way to do this manually from the GitHub web UI.

It’s not something they give a direct button or anything for, no. Basically you’d go into the release commit’s actions summary, download the artifact, go to your release that you’re creating, and upload the artifact as a release asset.

In the meantime, if you have the time and inclination to submit a PR to add a release-artifact workflow, please do so.

I’ll try to take a shot at it, I think it might be possible with conditionals to just tack the release bits on the end and share code with the normal action.

Opened a PR: https://github.com/KhronosGroup/MoltenVK/pull/1895
Could be preferable if there were still artifacts split out by platform, by the way, as if one only needs to compile for macOS that cuts the size down by 1/4 compared to the full bundle.

Opened a PR: #1895

Thanks!

Could be preferable if there were still artifacts split out by platform, by the way, as if one only needs to compile for macOS that cuts the size down by 1/4 compared to the full bundle.

I wanted to be able to make it really easy to point people at a single-source of binary content for any build environment.
The MoltenVK distribution bundle is only used during app development, not at runtime. If an app dev is statically linking MoltenVK into their app, the app will only include what it's using. If an app dev is dynamically linking, they should only bundle one of the libMoltenVK.dylib files with the app. So for almost all users of this artifact bundle, distro size shouldn't matter.
For your external CI requirements, the full tar/zip file is about 107MB, and I didn't think it would be too much for an external CI to pull down and extract. If this does end up being a real problem, we can look to streamline. For instance,  the MoltenVKShaderConverter directory is not needed for almost everyone, and removing would shrink the distro to less that 1/3 of it's current size, so we could add a second MoltenVK-only artifact as an option (or maybe call them MoltenVK and MoltenVK + ShaderConverter).

For your external CI requirements, the full tar/zip file is about 107MB, and I didn't think it would be too much for an external CI to pull down and extract.

GitHub itself lists the new combined artifact as ~400MB but I think you’re right as they actually list the size as that of the uncompressed contents instead of the zip size.
There could be a problem though in that, when you download artifacts to upload to a release in GitHub Actions you get them without that layer of compression, so the release asset is ~400MB. To keep the size down to the ~100MB you’re seeing we would either need to add compression to the tar or decompress it in the release workflow. Any thoughts?

Closing this out as the new release has artifacts, thanks!

@Steveice10 Thanks for your contributions on this one!


AttributeError: module 'taichi' has no attribute 'cuda'

when i run  'python3 fractal.py'
I got the error message like follow:

[T 01/10/20 15:38:18.243] [logging.cpp:Logger@67] Taichi core started. Thread ID = 34659
Traceback (most recent call last):
File "fractal.py", line 7, in
ti.cfg.arch = ti.cuda
AttributeError: module 'taichi' has no attribute 'cuda'

--
eg: i saw the web 2020-01-10 , i think it's Newest

i Had installed pip, my MacOS is 10.15.2


Add LetCodes Solutions

Actually this issue was assigned to me but unintentionally i closed it.

Leave for now, Contribute to other sections as this section is restricted now from contributing!

But at my end I have already done it as it was assigned to me by you , it was closed by me unintentionally so can you please merge it otherwise my efforts would be wasted.

Okay it'll be considered but the level will be decreased.

Yes it's all right


Automated cherry pick of #283: regiondns: configmap: quash trailing spaces

Cherry pick of #283 on release/3.2.
#283: regiondns: configmap: quash trailing spaces

/lgtm
/approve


[20.09] zfs: 0.8.5 -> 0.8.6

Motivation for this change
Just very few upstream bugfixes.  Most notably:

Linux 5.10 compat: check_disk_change() removed
Linux 5.10 compat: frame.h renamed objtool.h
Increase Supported Linux Kernel to 5.9

Things done

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

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

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

This should probably be held off until the channel has been fixed.
@jonringer @Mic92

Result of nixpkgs-review pr 106952 1

3 packages marked as broken and skipped:

bareos
virt-manager-qt
virtmanager-qt

66 packages built:

ceph
ceph-client
collectd
collectd-data
docker-machine-kvm
docker-machine-kvm2
easysnap
gnome3.gnome-boxes
grub2
grub2_efi
grub2_pvgrub_image
grub2_xen
libceph
libguestfs
libguestfs-with-appliance
libvirt
libvirt-glib
libvirt_5_9_0
libvmi
linuxPackages-libre.zfs
linuxPackages.zfs
linuxPackages_4_14.zfs
linuxPackages_4_19.zfs
linuxPackages_4_4.zfs
linuxPackages_4_9.zfs
linuxPackages_5_8.zfs
linuxPackages_5_9.zfs
linuxPackages_hardened.zfs
linuxPackages_latest-libre.zfs
linuxPackages_latest_hardened.zfs
linuxPackages_latest_xen_dom0.zfs
linuxPackages_latest_xen_dom0_hardened.zfs
linuxPackages_testing_bcachefs.zfs
linuxPackages_xen_dom0.zfs
linuxPackages_xen_dom0_hardened.zfs
linuxPackages_zen.zfs
minikube
minishift
nixops
nixopsUnstable
nixops_1_6_1
ocamlPackages.ocaml_libvirt
os-prober
perl530Packages.SysVirt
perl532Packages.SysVirt
python27Packages.guestfs
python27Packages.libvirt
python37Packages.guestfs
python37Packages.libvirt
python38Packages.guestfs
python38Packages.libvirt
rubyPackages.ruby-libvirt
rubyPackages_2_5.ruby-libvirt
rubyPackages_2_7.ruby-libvirt
samba4Full
sanoid
terraform-full
terraform-provider-libvirt (terraform-providers.libvirt)
terraform_0_11-full
vagrant
virtmanager (virt-manager)
virt-top
virtviewer (virt-viewer)
virtlyst
zfs
zfstools

@ofborg test zfs


I cant use selenium and multiprocessing in eel :/

Describe the problem
I am trying to use multiprocessing to open multiple windows
The whole problem is that it opens in the window for eel
** error **
OSError: [WinError 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted: ('localhost', 8000)
Code snippet(s)
import eel
from selenium import webdriver
from multiprocessing import Pool
import time

# Set web files folder and optionally specify which file types to check for eel.expose()
eel.init('web', allowed_extensions=['.js', '.html'])

@eel.expose                         # Expose this function to Javascript
def Open():
    if __name__ == '__main__':
        url_list = ['http://www.google.com', 'http://www.github.com', 'http://www.facebook.com', 'http://www.google.com',
                    'http://www.google.fr', 'http://www.amazon.com', 'http://www.ebay.com', 'http://www.youtube.com',
                    'http://www.google.com', 'http://www.python.com']
        pool = Pool(processes=2)
        ret = pool.map(parsing, url_list)
        for text in ret:
            print(text[:30])

def parsing(url):
    driver = webdriver.Chrome()
    driver.set_page_load_timeout(300)
    driver.get(url)
    text = driver.page_source
    time.sleep(12)
    driver.close()
    return text

eel.start('index.html')    # Start  , size=(300, 200)

<!DOCTYPE html>
<html>
    <head>
        <title>Hello, World!</title>

        <!-- Include eel.js - note this file doesn't exist in the 'web' directory -->
        <script type="text/javascript" src="/eel.js"></script>
        <script type="text/javascript">

        eel.Open();  // Call a Python function

        </script>
    </head>

    <body>
        Hello, World!
    </body>
</html>

Hi @olrtan1, sorry to hear you've having trouble.
I've just copied and pasted the code you shared (very helpful - thanks) but I can't reproduce the error you say you're having. All of the windows open as I'd expect them to, until each site has been visited.
Is it possible to were just running the code multiple times? Only one instance of Eel can be running at a time (unless you specify a different port for each to run on), but it doesn't appear to have any issues opening the sites from url_list in their own windows.

Hi @olrtan1, looks like your script is trying to create another bottle server on port 8000.
Try enclosing eel.start with if __name__ == '__main__' so that it's not called repeatedly during imports.
if __name__ == '__main__':
	eel.start('index.html')

I'm going to close this issue for now based on inactivity.


Reproducing Win Rate inference for TL;DR

Hi, I have been trying to reproduce the win rate results from the paper for summarization and I'm struggling to get similar values. I wonder if you've experienced this as well? Could this perhaps be due to changes made to GPT-4 since the published results?
Thank you!

Hi @jdchang1, may I ask how you achieved summarization task? Just change the dataset to TL;DR?


Fix variables typo & add unittest

val1, val2 seems to be typos.
Fix them into the name in declaration.
Also add its unittest.

Seems good.
According to contribution guide, it shouldn't be abbreviated.

Sure thing.


[extension] Use dedicated audience for dust api. Add scopes verification

Description
This introduces the usage of a custom auth0 API for our public api. The audience is set in an env var , DUST_API_AUDIENCE which should be https://dust-dev.tt/api/v1 in development or https://dust.tt/api/v1 in production.
This API defines scopes in auth0 configuration, that will need to be extended, for checking particular endpoints in the api. All scopes used by the app are set - we'll have to add/define other ones in another PR.
The scopes required by the app must be specified when requesting authorization, which will result in displaying a consent screen :

(This consent screen can be skipped  for 1st party apps , i.e. our own apps registered in our auth0 tenant, but must be shown for 3rd party apps)
The 2 wrappers withPublicAPIAuthentication and withAuth0TokenAuthentication are extended to support new option "resourceName" that can be used to create the scope.
Scope are only checked against oauth tokens . sk- keys are considered system and do not include any scope (no scope check).
Risk
For oauth users, some routes now require scope.
Deploy Plan

[x] Set up prod API on auth0
[ ] Set DUST_API_AUDIENCE env vars
[ ] Deploy front

Love that !
Quick question: did you define the scopes in auth0 dev env as well ?
Seems like the scopes values are not type checked, can you add it if not ?

nit: from the screenshot, the user facing description of the scopes in the consent screen are not amazing, can you update ?

@tdraier but I'm wondering if you are not going to break the raycast extension.

@tdraier but I'm wondering if you are not going to break the raycast extension.

this definitely require changes in raycast extension

@tdraier but I'm wondering if you are not going to break the raycast extension.

this definitely require changes in raycast extension

I can do it swiftly but there is a delay for them to approve, and for users to update. We need an intermediary step where the extension still work.


New Logo Proposal for laravel-filemanager

Hello,
This my logo/Icon design for your project. It's free for your project.
I design this logo using adobe illustrator cc 2017. I hope you like this logo.

If you need anything change please contact me
Md Nazmul Hasan
Email<EMAIL_ADDRESS>Thank You.

Awesome!
Would you like the logo licenced to MIT along with Laravel filemanager? or do you prefer CC BY or CC 0?

This work is licensed under a Creative Commons Attribution 4.0 International License.

give us the size requirement for the logo.

all source file here
https://drive.google.com/open?id=1q7A6ypH52nESOUst-RB3RKSNlnGUDqoy

Thank you @mdnazmulhasan27771 . Love this proposal!

When v2.0 is released, I will put it on top of the main document. For now I make it be the shortcut icon on browser tabs, and in the sidebar of mobile devices. The commit was e39c8ca.

Maybe in May or June.

@mdnazmulhasan27771 I put the logo you designed on the main page! Thanks for your work again!


#3417 remove POST handler overriding on data snapshots

Description
Remove POST handler overriding on data snapshots to add snapshot entities directly (from Prepbot)
Related Issue : #3417
How Has This Been Tested?
N/A
Need additional checks?
No.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have read the CONTRIBUTING document.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have added tests to cover my changes.

deploy to 1


[rdom]  Error: illegal state: operation not allowed in state 3

Toggle Menu
import { $list, $switch } from<EMAIL_ADDRESS>import { reactive, toggle, trace } from<EMAIL_ADDRESS>
const items = Array.from({ length: 4 }, (_, id) => ({ id, label: `Label ${id}` }))
const Item = x => ['li', { id: x.id }, x.label]
const items$ = reactive(items)

const isOpen$ = toggle(false)
isOpen$.subscribe(trace('isOpen'))
const onclick = () => isOpen$.next()

const Error = async e => ['error', {}, e]
const Loading = async () => ['div', {}, 'Loading...']

export const Menu = () =>
  [
    'div', {},
    ['button', { onclick }, 'Menu'],
    $switch(
      isOpen$,
      x => x ? 1 : 0,
      {
        0: s => '',
        1: s => $list(items$, 'menu', null, Item)
      },
      Error,
      Loading
    )
  ]

After 2 change state (call function)
Error: illegal state: operation not allowed in state 3
noticed this error when $switch includes $list  (ctrors)

Hi @bt-3000 - sorry for the slow response... The error (state:3) means that one of streams has already been closed (is complete) and attempting to write new values or subscribing to it will fail. This might sound counter-intuitive, but is down to the rstream default behavior of recursively garbage collecting stream/subscription topologies when a child subscription unsubscribes. In your example this happens to the items$ stream, when toggling the menu off again. When this happens, the $list() component will unsubscribe itself, which then propagates "upstream" to items$ which notices that its last/only subscriber is gone and therefore closes itself...
You can avoid this from happening by customizing the closing behavior of each stream, in this case like so:
const items$ = reactive(items, { closeOut: CloseMode.NEVER });

You can read more about it here: Common configuration options
Also, another related tip for better debugging of rstream events & lifecycle: Set a package logger, like so:
import { ConsoleLogger } from<EMAIL_ADDRESS>import { LOGGER } from<EMAIL_ADDRESS>
LOGGER.set(new ConsoleLogger("rs", "DEBUG"));

When enabled, you'll see all sorts of output in the browser console. Also see the thi.ng/logger readme for more details/options...


Use stretchr/testify assert library

Some tests are already using https://github.com/stretchr/testify library to assert test results, but other still do if result != expected { ... }.
Assert library although not essential, provides a better experience while developing. So the idea is to normalize all the tests to use it.

Closed in #10


Add support for newer version of VS code to install the extension.

As you can see the screenshot while installing this extension on my Mac VS Code it throws the error about not compatible which is a blocker to install and use such a nice extension.
VScode details
Version: 1.56.0
Commit: cfa2e218100323074ac1948c885448fdf4de2a7f
Date: 2021-05-04T22:06:21.189Z
Electron: 12.0.4
Chrome: 89.0.4389.114
Node.js: 14.16.0
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 19.6.0

The latest version of VSCode is 1.57.1, you have 1.56.0, so please update VSCode, restart VSCode and try installing Blockman again.


sink(ticdc): Dispatch DDL events to cloud storage sink

What problem does this PR solve?

Issue Number: ref #6797
What is changed and how it works?

Implement cloud storage DDL sink.
When dispatching DDL events, the table schema should be retrieved from DDLEvent and saved to cloud storage.
When emitting checkpoint ts, we check if the table schema file doesn't exist, then create it in a compensatory way.

Check List
Tests

Unit test

Questions
Will it cause performance regression or break compatibility?
No
Do you need to update user documentation, design documentation or monitoring documentation?
No
Release note
No

/merge

/merge


Provide more icons for species and specimen

provides more icon options for species and specimen
allows users to change the default icons when creating or editing an experiment
stores selected icon (labels) in the experiment table

Should these icons also be shown on the project summary? And if so from which experiment are they chosen?

that is the big question 🤷♂


refactor to ENV__VAR

Coverage remained the same at 100.0% when pulling 8ea9537fd700f95bc9e3394d903f4b48934a58ab on refactor into 227948b70f8d9227ab5a8f9ac57fd6b42bdd09e1 on master.


Handle unicode characters properly in the core and in the Web UI

Handle unicode characters properly in the core and in the Web UI
Automerge edits operate on the level of unicode characters (above bytes,
below grapheme clusters). The browser UI works on a byte level.
This introduces a fix for the core to operate on characters, and the React
UI to convert between the native byte offsets  and unicode offsets.
The method I currently use for this is not ideal and introduces a somewhat
noticeable lag on editing long documents with emojis in them, but I'm fairly
confident we can improve this by moving the logic into the core and exposing
both types of offsets to the shells.

Current dependencies on/for this PR:

master

PR #70   👈

This comment was auto-generated by Graphite.


Error

failed to unmarshal YAML: yaml: unmarshal errors:
line 1: cannot unmarshal !!str baseURL... into map[string]interface {}

same problem here..

Try a TOML file instead :)

failed to unmarshal YAML: yaml: unmarshal errors: line 1: cannot unmarshal !!str baseURL... into map[string]interface {}

missing quotes in baseURL value? Need an your config file


added passphrase input into the frontend

Added passphrase in the frontend for later use.

Hello, just wanted to make my mark


Properly extract expression from grouping sets for projection

Which issue does this PR close?
Grouping Set was represented as a plain string instead of distinct columns in the projection
Rationale for this change
To fix issues related to grouping set projection
What changes are included in this PR?
New function for that + test on top of it
Are these changes tested?
Yes
Are there any user-facing changes?
No

Sorry for lots of commits, it was pretty tricky to debug 🙂

Thank you @fsdvh 🙏