Same device on DDPMScheduler

Now that I have the chance to use the GPU to run diffusion experiments I noticed one of the schedulers I implemented (DDPMScheduler) performs operations on tensors on different devices.  This PR fixes it. I double checked all the other schedulers are sound from this point of view.

Thanks, out of curiosity what GPU do you end up using? How fast does the process run there compared to your cpu?

I used the environment I set up here #46. Compared to my CPU, it is (using  50 inference timesteps) around 20x faster.
Compared to hf, It seems comparable. I was wondering a couple of days ago whether working with Vec<f64>s  instead of tch::Tensors slows down a little (even if we only access them, we don't perform operations with timesteps or sigmas and when we do we access data that we combine with Tensors)

Updated the above reply with some numbers and some more details on the experimental setup.
I also noticed all the checks failed when you merged this pull request. I'm a little surprised, because they all succeeded when I open it. I mirrored the repo and re-run all the jobs. After the second attempt, 6 more passed. On the third re-run (only the failed ones) they all passed. Perhaps some new release of the actions broke something ?


Update audio-conferencing-common-questions.md

https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/issues/6482
Changed note.

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@tonysmit PR has been copyedited and is ready for final review, could you please check and merge? Thanks!

@tonysmit PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


Network: Reparenting spawned nodes

I'm new to godot, so of course I do the sensible thing and jump right into making a persistent network game!
I'm making a sci-fi ship-crew game where players are person-like avatars (Kinematic) inside a ship (Ridgedbody). The server is always running so players and ships will be spawning/despawning as they log in and out. There will be an arbitrary number of ships and players.
Ideally I would like the player avatar to be a child node of the ship, however the register_spawner function seems to requires a hard-coded node to spawn in.
If I have a PlayerCharacter spawn node, will the network addon allow me to reparent without the system breaking? Or is there a better way for me to go about this?

Hi there. That's actually an interesting use case I didn't think off when designing the entire system.
That said, the re-parenting should work. Internally it uses the unique ID to locate the corresponding reference to the node. Since re-parenting does not change the references, the internal data remains valid meaning that the networking system will still locate the correct nodes.
I'm now gauging some ideas and if believe any of them is "better" than just re-parenting the spawned node then I will incorporate the functionality into the system.


Fix serialization of sideloaded associations with embedded associations

Consider the following models, and note the serialization method:
// User (serializer sideloads posts)
export default Model.extend({
  posts: hasMany('post')
});

// Post (serializer embeds comments)
export default Model.extend({
  authors: hasMany('user')
  comments: hasMany('comments')
});

// Comment
export default Model.extend({
  post: belongsTo('post')
});

Assuming we have populated our database and we serialize a user, the
resulting serialization may look like this:
{
  user: {
    id: '1',
    name: 'John',
    postIds: ['1', '2']
  },
  posts: [
    { id: '1', title: 'Lorem', comments: [{ id: '1', text: 'first' }] },
    { id: '2', title: 'Ipsum', comments: [] }
  ]
}

Currently, there is a bug in Mirage which causes an error to be thrown
when attempting this kind of serialization:
TypeError: Cannot read property 'filter' of undefined
This commit fixes the bug, and adds multiples tests to ensure proper
serialization.

Hey @samselikoff, just curious if there is any movement on this or #1160. I'm sure you're busy, but let me know if I can answer any questions on these two!


Add <Image> component

Awesome work, and I like your taste in art. The Threatened Swan is in the Rijks Museum in Amsterdam, and when I was visiting there during high school excursion I chose that painting to write my essay about.

@michealparks Would it make sense to make this a material instead of a mesh?


Remove index by name

First of all thank you for your hard work on this gem!
I noticed that the ability to remove index by name doesn't work as it does using the Rails remove_index method.
example:
class Test < ActiveRecord::Migration[6.0]
  disable_ddl_transaction!

  def up
    add_index :campaigns, :weight, algorithm: :concurrently
  end

  def down
    remove_index :campaigns, name: :index_campaigns_on_weight, algorithm: :concurrently
  end
end

The above, after running migrate (successfully adds index), then rollback results in:
-- remove_index(:campaigns, {:name=>:index_campaigns_on_weight, :algorithm=>:concurrently})
-- [online_migrations] Index was not removed because it does not exist (this may be due to an aborted migration or similar): table_name: campaigns, column_name: []
   -> 0.0040s

As a side note, its quite inconvenient that this sets the migration as completed, though the index was not removed.

Hey @internethostage, thank you for the report! I am glad you find this gem useful.
Which rails version are you using? Are you on the main?
Opened also a PR into rails - https://github.com/rails/rails/pull/46458.

Hey!
Sorry for the lack of context, using Rails <IP_ADDRESS>

@internethostage Released a new version with the fix.


Example for handling file on server

@HriBB Do you perhaps have an example how to handle the file on the graphql server?
If I forward it to my REST endpoint, it doesn't seem to be recognised as a file.
My resolver:
...
uploadUserAvatar(root: Function, args: Object) {
      console.log(args.files) // see output below
      Viewer.uploadAvatar(args.token, args.files[0])
      return Viewer.fromToken(args.token)
}
...

Viewer connection:
uploadAvatar(token: string, avatar: Object){
    const options = {
      method: 'POST',
      uri: this.buildRestURL('settings/profile/uploadavatar'),
      headers: {
        'Authorization': `Bearer ${token}`,
      },
      body: {
        avatar,
      },
      json: true,
    }
    return rp(options)
      .then((res) => {
        console.log("\nuploadAvatar SUCCESS:", res)
        return {
          ...res.data,
          token
        }
      })
      .catch((err) => console.log("\nuploadAvatar ERROR:", err))

Console.log(args.files) from resolver:
[ { fieldname: 'files',
       originalname: 'elephant.jpeg',
       encoding: '7bit',
       mimetype: 'image/jpeg',
       destination: '../tmp/',
       filename: '5b4af2fa02e1cfde3995873a2d7ea959',
       path: '../tmp/5b4af2fa02e1cfde3995873a2d7ea959',
       size: 3536 } ] }

Hmm ... I don't exactly understand your problem. In your case, files[0].path points to the uploaded file, so you can move it to your uploads folder or do whatever with it.
When I find some time, I will make an example app with client & server demonstrating file uploads. Until then ... this is how I handle files on the server:
schema
addSalonProfilePicture(id: Int!, files: [UploadedFile!]!): SalonPicture

mutation
async addSalonProfilePicture(root, { id, files }, context) {
  // must be logged in
  if (!context.user) throw new Error('Must be logged in!')
  // load salon
  const salon = await Salon.find({ where: { id } })
  if (!salon) throw new Error('Salon not found!')
  // upload picture
  const path = await uploadPicture(`salon/${salon.slug}/profile`, files[0])
  // parse uploaded path
  const info = parse(path)
  // build picture data
  const data = {
    salon_id: salon.id,
    type: 'profile',
    filename: `${info.base}`,
    active: true,
    created_on: new Date(),
    created_by: context.user.id,
  }
  // insert into database
  const picture = await SalonPicture.create(data)
  // return picture
  return picture
}

upload
export async function uploadPicture(folder, file, name) {
  if (!file.path || !file.originalname || !file.mimetype) {
    throw new Error('Invalid file parameters!')
  }
  if (config.picture.allowedMimeTypes.indexOf(file.mimetype) === -1) {
    throw new Error('Invalid picture type!')
  }

  const base = `${config.documents.path}/${folder}`
  const finfo = parse(file.originalname)
  const filename = createSlug(name || finfo.name).toLowerCase()
  const path = await generateUniquePath(`${base}/${filename}${finfo.ext}`)

  await move(file.path, path)

  const info = parse(path)
  for (let size in config.picture.sizes) {
    let { width, height, crop, quality } = config.picture.sizes[size]
    let destination = `${base}/${info.name}-${size}${info.ext}`
    if (crop) {
      await cropImage(path, destination, width, height, quality)
    } else {
      await resizeImage(path, destination, width, height, quality)
    }
  }

  return path
}

@HriBB
Thanks for the quick response, seems like I have to handle file.path as your code suggests.
I'll give this a try tomorrow and let you know! :)

By the way, what is that parse(...) function, where is it coming from?

import { parse } from 'path'

https://nodejs.org/api/path.html#path_path_parse_path

We should create an example app to demonstrate the entire upload flow. Maybe we can use https://github.com/apollostack/react-apollo/tree/master/examples/create-react-app

You can use MemoryStore for Multer to avoid having to read the file after the fact, as each file object will then contain a Buffer object with the uploaded file contents

@thebigredgeek Do you have example code for that?

You can use MemoryStore for Multer to avoid having to read the file after the fact, as each file object will then contain a Buffer object with the uploaded file contents

Just look at multer docs.  It's in the readme.  This package doesn't care about how the file is shaped

@thebigredgeek I just did, learned a lot from this issue (parse, multer, fs-extra)....
After a lot of trial and error, I decided to go without the memoryStore/buffer.
In order to pass the file on to the REST endpoint, I had to:

save the file to disk with multer (settings as provided in readme)
move the tmp file to a hashed directory name and rename the file to its original name (I found no way to do this using the memoryStore), as the REST endpoint only accepts image MIMEs. (used fs-extra)
build the REST request (request-promise in this case)
clean up the tmp directory/file (used fs-extra)

Resolver method:
uploadUserAvatar(root: Function, args: Object) {
      const tmpFile = args.files[0]
      const tmpFileParsed = parse(tmpFile.path)
      const tmpAvatarDirPath = `${tmpFileParsed.dir}/avatar-${tmpFileParsed.base}`
      const newTmpFilePath = `${tmpAvatarDirPath}/${tmpFile.originalname}`

      fs.move(tmpFile.path, newTmpFilePath, function (err) {
        if (err) return console.error(err)

        return Viewer.uploadAvatar(args.token, newTmpFilePath).then(
          // cleanup tmpAvatarDir
          fs.remove(tmpAvatarDirPath, function (err) {
            if (err) return console.error(err)
          })
        )
      })
    }

Connector method:
uploadAvatar(token: string, avatarPath: string){
    const options = {
      method: 'POST',
      uri: this.buildRestURL('settings/profile/uploadavatar'),
      headers: {
        'Authorization': `Bearer ${token}`,
        'Accept': 'application/json',
      },
      formData: {
        avatar: fs.createReadStream(avatarPath),
      },
      json: true,
    }
    return rp(options)
      .then((res) => {
        return {
          ...res.data,
          token
        }
      })
      .catch((err) => console.error("\nViewer.uploadAvatar ERROR:", err.message))
  }
}


Feature: Validation Vortex 3000 🚀

Feature Notes
New Features

Add Validation and Exit 🚀

Implemented new validation functions to keep the input game strong like Hulk on a good day 💪.
Added validateInteger function to make sure your integers don't go all wonky like a shopping cart with a bad wheel 🛒.
Included validateFilePathString function for checking file paths, because ain't nobody got time for broken paths 🚧.
Enhanced the application to peace out gracefully when validation fails ✌. No more rage quits!

Fixes and Improvements

Dependencies and Configuration 🔧

Yeeted unnecessary dependencies to streamline the project faster than a cat on a Roomba 🐱.
Fixed various config issues and made sure those husky pre-commit hooks are tighter than your grandma's knitting 🧶.
Squashed CLI error bugs like a boss, making the app smoother than a buttered otter 🦦.
Updated and bumped versions using npm so hard, even your toaster knows it's up-to-date 🔥.

Continuous Integration (CI) 🔄

Dropped multiple patch and minor releases for ddcli like it’s hot to address various CI shenanigans 💥.

Documentation 📚

Gave the installation guide and templates folder a glow-up, now they’re as fresh as a meme straight outta Reddit 🌟.
Tweaked npm install version documentation to keep it 100 with the latest changes 💯.

Testing

Validation Functions ✅

Added tests for validateInteger and validateFilePathString functions, making sure they work as solid as a rock in a sea of jello 🪨.

These updates make the app not just robust, but also smooth and cool like the other side of the pillow 😎. Peace out! ✌

#YOLO


Basic docs edit/check

My initial writing of the README.md is probably full of errors and grammar issues.  This should be fixed by someone better at documentation than myself.

Sorry @lanceleonard, I didn't realize you had self-assigned this issue until after I had already committed 😅

@Agent-E11 - No worries.  I'll take a look.


Add Login link back to header

Is your feature request related to a problem? Please describe.
Since we added comments back it makes sense to expose the login link again since people can login and create comments now.

Fixed in https://github.com/jsolly/blogthedata/commit/3071bfdb5bcb810734c722c43d08cad9d3b2fe60


WSL2 where is docker volume location?

Your Windows build number:  (Type ver at a Windows Command Prompt)

Microsoft Windows [Version 10.0.18362.175]
Docker version 18.09.6, build 481bc77

What you're doing and what's happening:  (Copy&paste the full set of specific command-line steps necessary to reproduce the behavior, and their output. Include screen shots if that helps demonstrate the problem.)

I installed ubuntu-16.04 at WSL2, and also install docker.
I maked volume by docker command.
docker volume create doc_vol
docker volume ls
DRIVER              VOLUME NAME
local               doc_vol

What's wrong / what should be happening instead:

I looking for the mounted location so I execute command next follow
docker volume inspect doc_vol
[
{
"CreatedAt": "2019-06-18T02:11:35Z",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/doc_vol/_data",
"Name": "doc_vol",
"Options": {},
"Scope": "local"
}
]
and then checked the location, It's strange result.
ls -l /var/lib/docker/volumes/doc_vol/_data
ls: cannot access '/var/lib/docker/volumes/doc_vol/_data': No such file or directory
I checked the '/var/lib/docker/volumes/' only one file exist.
ls -l /var/lib/docker/volumes/
total 32
-rw------- 1 root root 32768 Jun 18 11:08 metadata.db
where is mounted doc_vol?

You need to be using sudo ls to access the volumes in that folder.
caloewen@LOE-WSL:/var/lib/docker$ sudo docker run -d --name=nginxtest --mount source=doc_vol,destination=/usr/share/nginx/html nginx:latest
ec7304a051d3f1564dfa91b4a81538caea236d4b30e0092da90d1737058b145d
caloewen@LOE-WSL:/var/lib/docker$ sudo ls ./volumes/doc_vol/_data
50x.html  index.html
caloewen@LOE-WSL:/var/lib/docker$

thanks @mscraigloewen I already root user.
this editor # change to big bold font. :(
anyway previous BIG font has # prompt
also I try as you said 'sudo ls ./volumes/doc_vol/_data' result is
'ls: cannot access '/var/lib/docker/volumes/doc_vol/_data': No such file or directory'

There were no takers on the question and no repro to form a WSL actionable. Might get more eyeballs over at Superuser. If you post be sure to include more specifics; I (personally) couldn't follow the ask on this one.

@craigloewen-msft Your answer is incorrect. sudo does not solve the problem because it is not caused by lack of permissions. That path does not exist.

@david-sackstein you're totally correct!
From my answer, it seems that I wasn't able to repro the error, which means it could be something specific to your setup. I agree with @therealkenc , as of right now it's hard for us to try and repro this so superuser might be your best choice, or posting more repro steps here for us to try.
Thanks!

With Docker Desktop <IP_ADDRESS> and WSL 2 (Ubuntu), I can see the volumes at /mnt/wsl/docker-desktop-data/data/docker/volumes. Access requires elevated permissions, so you could do ubuntu.exe config --default-user root before entering wsl.

@kerams Thanks.
From linux:  sudo ls /mnt/wsl/docker-desktop-data/data/docker/volumes
From windows: \\wsl$\docker-desktop-data\mnt\wsl\docker-desktop-data\data\docker\volumes

@mahmoud-samy Thanks for this info.
But how can I find out where Docker Desktop saves this data on the Windows host?

@haimat, it might be in in a VHDX file in C:\Users\_user_\AppData\Local\Docker\wsl\data

@kerams Ohh yes, that's it, thanks a lot!
Now, do you also know whether I can --export & --import both WSL's to another location, or does that confuse Docker Desktop? I know this is not the Docker GitHub repo, but maybe you do know that :-)

Thanks @mahmoud-samy
So what those paths really mean if they're not referring to host machine?

The key seems to be the "virtual" wsl distro named docker-desktop-data
See https://dev.to/kimcuonthenet/move-docker-desktop-data-distro-out-of-system-drive-4cg2 for solution

@haimat  @thejacket Sorry for the late reply
AFAIK, when you use WSL integration, two distros will be created for you (docker-desktop & docker-desktop-data)

To reach their file system, you need to access it over network
\\wsl$\docker-desktop
\\wsl$\docker-desktop-desktop

This is... not simple. I don't know why it's this hard. I found what I was looking for after dropping into wsl session, and using the find command to locate a folder name that I knew...
find /mnt/host/wsl/docker-desktop-data/data/ -name 'jekyll'

I found my volume here:
\\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes

I found my volume here:
\\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes

This took far too much failed Docker documentation trawling and Googling to find this answer. Nice one!

I found my volume here:
\\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes

Thanks, buddy, it helps a lot.

very helpful thread!
though i want to know where the docked containers reside from the windows perspective.
it seems to be inside the vhdx at C:\Users\johndoe\AppData\Local\Packages\distro\LocalState
is this correct? if I backup this VHDX from windows I will have a backup of the docker containers?

This should be clearly documented, as the advantage of WSL is that you can access volume files directly

I found my volume here:
\\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes

Thanks, This took far search to find this.
Just i want truncate log of containers but like said @gaia the mounted directory in WSL are not accessible
/wsl/docker-desktop-data/version-pack-data are empty
Somebody have an idea, how can access to this file from WSL2 ?

Counter intuitive why the path would include 'version-pack-data\community' !!! Why should this path have anything to do with the names associated with these directories???

/mnt/wsl/docker-desktop-data/version-pack-data is empty and docker-desktop-data\version-pack-data\community\docker\volumes does not exit, so I'm still not able to find where my images are located. WSL2 and docker desktop <IP_ADDRESS>. Does anyone know where to find it?

Did you try prefixing your path with:
\wsl$\
?

/mnt/wsl/docker-desktop-data/version-pack-data is empty and docker-desktop-data\version-pack-data\community\docker\volumes does not exist, so I'm still not able to find where my images are located. WSL2 and docker desktop <IP_ADDRESS>. Does anyone know where to find it?

This is strange. I get the exact same behavior and am unable to see the directory when in WSL2 guest. But when accessing the same folder in windows explorer using \\wsl$\ I see quite a few folders and the volumes are listed there nicely as well. Why is this a thing and we cannot see the folder in WSL guest?

\\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes is now empty with a metadata.db file
\\wsl$\docker-desktop-data\version-pack-data\community\docker\overlay2 \ randomstring \ diff folder
is where you should look for
Not sure how that randomstring is calculated
It's not container ID or image ID
Just brute force your way using search or find or other tools
I am not even sure this directory is safe to write files to given the complex structure Docker has laid out...
It should be safe to read from though
I am on Docker version 19.03.13, build 4484c46d9d or Docker Desktop <IP_ADDRESS>

\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes

From powershell, I can get to my volumes like this:
cd \\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes

I can also type this in the Windows Explorer address to get to the same path:
\\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes

I can't seem to access that folder from WSL2 though. Anyone know the path? Is it possible?
The reason why I want to access that path from WSL is because I'd like to use bash commands to play with the volumes (e.g. back up, restore, etc).


rdfs:Resource

After each distribution, this is listed:
<http://.../ipt-dcat/resource?r=glasaal> a rdfs:Resource .

Why is this? Is it required?

This is mandatory

:+1:


Forward Accept-Encoding Request header to AWS s3 to pass through encoded content.

Problem:
AWS S3 can serve files with a Content-Encoding response header when this attribute is set as metadata attribute. The aws-s3-proxy decoded the files with a Content-Encoding response header and served them either unpacked or re-packed when the CONTENT_ENCODING environment variable is set to true.
PR fix:
This PR makes sure encoded content passes through the proxy encoded end-to-end without unpacking and repacking the content. I also took the liberty to limit the amount of idle connections to 150 and the idle connection timeout to 10 seconds.

@RoelvandenBerg Thank you for adding a great feature including my typos. I will fix small lint errors later.


(master branch) Add Hana as a submodule of the master repository

This PR is equivalent to https://github.com/boostorg/boost/pull/98, except it targets the master branch instead of the develop branch of the modularized Boost repository.
From my understanding, merging this PR will cause Hana to be included in the next release of Boost. Please do not merge this PR yet; I need to resolve some issues in Hana before it is fully ready to ship with the next version of Boost.

Ok, I'm ready for this to be merged on my end!

Ping

That should be it!


Fix db check functions

Description

Checklist

[ ] Targeted PR against correct branch.
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Wrote unit tests.
[ ] Re-reviewed Files changed in the Github PR explorer.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@1a3272d). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #211   +/-   ##
=========================================
  Coverage          ?   66.72%
=========================================
  Files             ?       46
  Lines             ?     1806
  Branches          ?        0
=========================================
  Hits              ?     1205
  Misses            ?      541
  Partials          ?       60

Continue to review full report at Codecov.

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


Add experimental sycl support

This PR integrates asynchronous HPX futures for kernel launches using the Kokkos SYCL execution space. Mostly it just integrates the new get_future(sycl_queue) HPX functionality, makes sure that the correct result space is used for reduce operations and lastly, makes everything compile with SYCL in the first place.
For testing it, I used OneAPI (using dpcpp version 2<IP_ADDRESS>21020) on my integrated Iris Xe GPU and https://github.com/kokkos/kokkos/commit/61d7db55fceac3318c987a291f77b844fd94c165. Without the get_future(sycl_queue) integration, the asynchrony tests would fail, with it everything passes.
Though, to run the tests on the given Intel GPU in the first place, one needs to enable fp64 emulation like this:
export OverrideDefaultFP64Settings=1 && export IGC_EnableDPEmulation=1
This PR depends on https://github.com/STEllAR-GROUP/hpx/pull/6085 to be merged first!

retest cscs


Ask to enable notifications if disabled

Right after when user has set his/her first goal (and if notifications are currently disabled), ask user to enable notifications.
Ask this only once, after setting first goal.
User can close the popup by tapping 'x' at the top right corner.
Don't direct user to the iOS global settings, instead open the alert.

@pe0ny in a previous milestone we introduced the option for the users to say no to notifications. what should we do about those users in this situation

@sofokli1 we can always ask again :) they can close the popup if they don't want to get notifications.


Migrate user pruning to a systemd service or cron job.

old prune script: https://github.com/hashbang/shell-server/blob/master/root/scripts/prune.sh
Should also update to auto-prune any accounts that begin with 'test' and are over 24 hours old.

I'll get to working on a script that will automatically delete all users with a home directory of /home starting with "test" tomorrow after school, sometime before or after I look at hashbangctl.

I'm still working on this, but I don't exactly have time. Would like to see if anyone else would like to propose a system.

This was done by https://github.com/hashbang/shell-etc/pull/30


Consider DBNull.Value and NullString.Value the same as $null

PR Summary
Closes #9561

Adds LanguagePrimitives.IsNullLike() method to account for DBNull.Value and NullString.Value so that they can be considered the same as a null value where sensible in PowerShell.
Updates -ne and -eq binders to treat DBNull.Value and NullString.Value as equal to null/AutomationNull.
Update code paths for comparing objects in LanguagePrimitives to ensure consistency with how the -eq and -ne binders work when calling LanguagePrimitives methods to do the comparisons.
Make LanguagePrimitives.IsNull() and LanguagePrimitives.IsNullLike() public methods.
Added tests for null behaviours in NullRepresentatives.Tests.ps1

PR Context
DBNull.Value and NullString.Value are generally considered to be equivalent to null, and it makes the most sense to have PowerShell recognise them as such instead of treating them as strange class objects. See linked issue for more details.
/cc @daxian-dbw
PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[x] None
OR
[ ] Experimental feature(s) needed

[ ] Experimental feature name(s):

User-facing changes

[ ] Not Applicable
OR
[x] Documentation needed

[ ] Issue filed:

Testing - New and feature

[ ] N/A or can only be tested interactively
OR
[x] Make sure you've added a new test if existing tests do not effectively test the code changed

@vexx32, your last commit had 6 failures in PowerShell-CI-macos
(These are 5 of the failures)
Alias tests.Export-Alias literal path.for CSV
Expected <empty>, but got $null.
at <ScriptBlock>, /Users/vsts/agent/2.150.3/work/1/s/test/powershell/Modules/Microsoft.PowerShell.Utility/alias.tests.ps1: line 57
57:                     $exportAliasError.FullyqualifiedErrorId | Should -Be $test.expectedError

Alias tests.Export-Alias literal path.for PS1
Expected <empty>, but got $null.
at <ScriptBlock>, /Users/vsts/agent/2.150.3/work/1/s/test/powershell/Modules/Microsoft.PowerShell.Utility/alias.tests.ps1: line 57
57:                     $exportAliasError.FullyqualifiedErrorId | Should -Be $test.expectedError

Alias tests.Export-Alias literal path.for Null
Expected strings to be the same, but they were different.
Expected length: 95
Actual length:   102
Strings differ at index 32.
Expected: '...ErrorNullN...'
But was:  '...ErrorEmpty...'
at <ScriptBlock>, /Users/vsts/agent/2.150.3/work/1/s/test/powershell/Modules/Microsoft.PowerShell.Utility/alias.tests.ps1: line 57
57:                     $exportAliasError.FullyqualifiedErrorId | Should -Be $test.expectedError

Alias tests.Import-Alias literal path.for Null
Expected an exception, with FullyQualifiedErrorId 'ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.ImportAliasCommand' to be thrown, but the FullyQualifiedErrorId was 'ParameterArgumentValidationErrorEmptyStringNotAllowed,Microsoft.PowerShell.Commands.ImportAliasCommand'. from /Users/vsts/agent/2.150.3/work/1/s/test/powershell/Modules/Microsoft.PowerShell.Utility/alias.tests.ps1:110 char:45
    +                 { Import-Alias -LiteralPath $test.testFile -ErrorActi ...
    +                                             ~~~~~~~~~~~~~~
at <ScriptBlock>, /Users/vsts/agent/2.150.3/work/1/s/test/powershell/Modules/Microsoft.PowerShell.Utility/alias.tests.ps1: line 110
110:                 { Import-Alias -LiteralPath $test.testFile -ErrorAction SilentlyContinue } | Should -Throw -ErrorId $test.expectedError

CliXml test.Export-CliXml.with path as Null
Expected an exception, with FullyQualifiedErrorId 'ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.ExportClixmlCommand' to be thrown, but the FullyQualifiedErrorId was 'ParameterArgumentValidationErrorEmptyStringNotAllowed,Microsoft.PowerShell.Commands.ExportClixmlCommand'. from /Users/vsts/agent/2.150.3/work/1/s/test/powershell/Modules/Microsoft.PowerShell.Utility/clixml.tests.ps1:60 char:55
    + ...          { Export-Clixml -Depth 1 -LiteralPath $test.testFile -InputO ...
    +                                                    ~~~~~~~~~~~~~~
at <ScriptBlock>, /Users/vsts/agent/2.150.3/work/1/s/test/powershell/Modules/Microsoft.PowerShell.Utility/clixml.tests.ps1: line 60
60:                 { Export-Clixml -Depth 1 -LiteralPath $test.testFile -InputObject $test.inputObject -Force } | Should -Throw -ErrorId $test.expectedError

@vexx32, your last commit had 6 failures in PowerShell-CI-windows
(These are 5 of the failures)
Alias tests.Export-Alias literal path.for CSV
Expected <empty>, but got $null.
at <ScriptBlock>, D:\a\1\s\test\powershell\Modules\Microsoft.PowerShell.Utility\alias.tests.ps1: line 57
57:                     $exportAliasError.FullyqualifiedErrorId | Should -Be $test.expectedError

Alias tests.Export-Alias literal path.for PS1
Expected <empty>, but got $null.
at <ScriptBlock>, D:\a\1\s\test\powershell\Modules\Microsoft.PowerShell.Utility\alias.tests.ps1: line 57
57:                     $exportAliasError.FullyqualifiedErrorId | Should -Be $test.expectedError

Alias tests.Export-Alias literal path.for Null
Expected strings to be the same, but they were different.
Expected length: 95
Actual length:   102
Strings differ at index 32.
Expected: '...ErrorNullN...'
But was:  '...ErrorEmpty...'
at <ScriptBlock>, D:\a\1\s\test\powershell\Modules\Microsoft.PowerShell.Utility\alias.tests.ps1: line 57
57:                     $exportAliasError.FullyqualifiedErrorId | Should -Be $test.expectedError

Alias tests.Import-Alias literal path.for Null
Expected an exception, with FullyQualifiedErrorId 'ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.ImportAliasCommand' to be thrown, but the FullyQualifiedErrorId was 'ParameterArgumentValidationErrorEmptyStringNotAllowed,Microsoft.PowerShell.Commands.ImportAliasCommand'. from D:\a\1\s\test\powershell\Modules\Microsoft.PowerShell.Utility\alias.tests.ps1:110 char:45
    +                 { Import-Alias -LiteralPath $test.testFile -ErrorActi ...
    +                                             ~~~~~~~~~~~~~~
at <ScriptBlock>, D:\a\1\s\test\powershell\Modules\Microsoft.PowerShell.Utility\alias.tests.ps1: line 110
110:                 { Import-Alias -LiteralPath $test.testFile -ErrorAction SilentlyContinue } | Should -Throw -ErrorId $test.expectedError

CliXml test.Export-CliXml.with path as Null
Expected an exception, with FullyQualifiedErrorId 'ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.ExportClixmlCommand' to be thrown, but the FullyQualifiedErrorId was 'ParameterArgumentValidationErrorEmptyStringNotAllowed,Microsoft.PowerShell.Commands.ExportClixmlCommand'. from D:\a\1\s\test\powershell\Modules\Microsoft.PowerShell.Utility\clixml.tests.ps1:60 char:55
    + ...          { Export-Clixml -Depth 1 -LiteralPath $test.testFile -InputO ...
    +                                                    ~~~~~~~~~~~~~~
at <ScriptBlock>, D:\a\1\s\test\powershell\Modules\Microsoft.PowerShell.Utility\clixml.tests.ps1: line 60
60:                 { Export-Clixml -Depth 1 -LiteralPath $test.testFile -InputObject $test.inputObject -Force } | Should -Throw -ErrorId $test.expectedError

@vexx32, your last commit had 6 failures in PowerShell-CI-linux
(These are 5 of the failures)
Alias tests.Export-Alias literal path.for CSV
Expected <empty>, but got $null.
at <ScriptBlock>, /home/vsts/work/1/s/test/powershell/Modules/Microsoft.PowerShell.Utility/alias.tests.ps1: line 57
57:                     $exportAliasError.FullyqualifiedErrorId | Should -Be $test.expectedError

Alias tests.Export-Alias literal path.for PS1
Expected <empty>, but got $null.
at <ScriptBlock>, /home/vsts/work/1/s/test/powershell/Modules/Microsoft.PowerShell.Utility/alias.tests.ps1: line 57
57:                     $exportAliasError.FullyqualifiedErrorId | Should -Be $test.expectedError

Alias tests.Export-Alias literal path.for Null
Expected strings to be the same, but they were different.
Expected length: 95
Actual length:   102
Strings differ at index 32.
Expected: '...ErrorNullN...'
But was:  '...ErrorEmpty...'
at <ScriptBlock>, /home/vsts/work/1/s/test/powershell/Modules/Microsoft.PowerShell.Utility/alias.tests.ps1: line 57
57:                     $exportAliasError.FullyqualifiedErrorId | Should -Be $test.expectedError

Alias tests.Import-Alias literal path.for Null
Expected an exception, with FullyQualifiedErrorId 'ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.ImportAliasCommand' to be thrown, but the FullyQualifiedErrorId was 'ParameterArgumentValidationErrorEmptyStringNotAllowed,Microsoft.PowerShell.Commands.ImportAliasCommand'. from /home/vsts/work/1/s/test/powershell/Modules/Microsoft.PowerShell.Utility/alias.tests.ps1:110 char:45
    +                 { Import-Alias -LiteralPath $test.testFile -ErrorActi ...
    +                                             ~~~~~~~~~~~~~~
at <ScriptBlock>, /home/vsts/work/1/s/test/powershell/Modules/Microsoft.PowerShell.Utility/alias.tests.ps1: line 110
110:                 { Import-Alias -LiteralPath $test.testFile -ErrorAction SilentlyContinue } | Should -Throw -ErrorId $test.expectedError

CliXml test.Export-CliXml.with path as Null
Expected an exception, with FullyQualifiedErrorId 'ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.ExportClixmlCommand' to be thrown, but the FullyQualifiedErrorId was 'ParameterArgumentValidationErrorEmptyStringNotAllowed,Microsoft.PowerShell.Commands.ExportClixmlCommand'. from /home/vsts/work/1/s/test/powershell/Modules/Microsoft.PowerShell.Utility/clixml.tests.ps1:60 char:55
    + ...          { Export-Clixml -Depth 1 -LiteralPath $test.testFile -InputO ...
    +                                                    ~~~~~~~~~~~~~~
at <ScriptBlock>, /home/vsts/work/1/s/test/powershell/Modules/Microsoft.PowerShell.Utility/clixml.tests.ps1: line 60
60:                 { Export-Clixml -Depth 1 -LiteralPath $test.testFile -InputObject $test.inputObject -Force } | Should -Throw -ErrorId $test.expectedError

@daxian-dbw Given how PowerShell handles conversions from null -> string (yielding string.Empty if I'm not mistaken) it may not make sense to also handle NullString.Value as a true null here as well -- either that or I need to be more careful with the handling in the string conversion paths so that a null string is a valid result when given a "null" value.
See the failing tests, where it expects empty string because the class definition has a [string]-type property and it is converting "expected" values into empty strings as a result here.
What would be appropriate here, do you think?

I think [DBNull]::Value and [NullString]::Value should be treated as null only when comparing with $null, but not in general.
With your change, gm -InputObject ([System.DBNull]::Value) will start to fail.
Quote @mklement0's comment in the original issue:

I wouldn't frame the issue in terms of $null, but in terms of (possibly implicit) to-Boolean conversion.
Secondarily, the question is how direct comparison with $null should be handled.

As for LanguagePrimitive.IsNull, I think it probably should be renamed to IsLiterallyNull() and keep the existing implementation unchanged.

🤔 I guess that does make sense. I can do that.
Any chance you can point me in the general direction of where the direct comparison with $null would be implemented instead?
Also, given that, would we consider [DBNull]::Value -eq [NullString]::Value`?

Also, given that, would we consider [DBNull]::Value -eq [NullString]::Value?

I don't think we should consider them equal. The following shows how they should behave in my opinion:
## Equality comparison with $null should return true
$null -eq [AutomationNull].Value
> $true

[AutomationNull].Value -eq $null
> $true

$null -eq [DBNull].Value
> $true

[DBNull].Value -eq $null
> $true

$null -eq [NullString]::Value
> $true

[NullString]::Value -eq $null
> $true

## Equality comparison between '[AutomationNull].Value', '[DBNull].Value', and '[NullString].Value' should return false.
[AutomationNull].Value -eq [DBNull].Value
> $false

[DBNull].Value -eq [NullString]::Value
> $false

[NullString]::Value -eq [AutomationNull].Value
> $false

/cc @mklement0 for comments :)

would it make sense to make IsLiterallyNull() public

I agree to make it public, but we may need to chew on the name a bit more :)

Any chance you can point me in the general direction of where the direct comparison with $null would be implemented instead?

Sure, I will take a look at the code later today.

Appreciate it! Personally I'm a fan of IsActuallyNull() 😉  (or maybe IsTrueNull())

My vote is for IsTrueNull().
@daxian-dbw, I agree with the proposed behavior, thanks for hashing it out.
For someone who needs to distinguish between $null and one of the null-like values in an expression context (as an alternative to using Get-Member), they can use:
[NullString]::Value -is [NullString]
[System.DBNull]::Value -is [System.DBNull]

Unfortunately, we do not get the same behavior with [System.Management.Automation.Internal.AutomationNull]::Value, because it is seemingly converted to true $null during parameter binding and in expressions:
# FAILS - same as passing $null
Get-Member -InputObject ([System.Management.Automation.Internal.AutomationNull]::Value)

# $FALSE, paradoxically
[System.Management.Automation.Internal.AutomationNull]::Value -is [System.Management.Automation.Internal.AutomationNull]

Distinguishing between true $null and [System.Management.Automation.Internal.AutomationNull]::Value is currently only possible with obscure workarounds; e.g.:
# Determine if a given variable $v is true $null or AutomationNull
$isAutomationNull = $null -eq $v -and @($v).Count -eq 0
$isTrueNull = $null -eq $v -and @($v).Count -eq 1

Related: https://github.com/PowerShell/PowerShell/issues/7049#issuecomment-399808799

@daxian-dbw any luck finding an appropriate codepoint to check for this? I've made a couple attempts myself but I've not found anything that gets the right behaviour as yet.

@vexx32 Sorry for being tardy. I have been focusing on some PSReadLine issues and lost track of this PR.
I think there are a few places that need to be updated for the desired behavior:

For binary comparison in language
https://github.com/PowerShell/PowerShell/blob/65a3e467cc95059d16f58174335e6dd3a58c459b/src/System.Management.Automation/engine/runtime/Binding/Binders.cs#L3024-L3041
AND
https://github.com/PowerShell/PowerShell/blob/65a3e467cc95059d16f58174335e6dd3a58c459b/src/System.Management.Automation/engine/runtime/Binding/Binders.cs#L3047-L3063

For static methods in LanguagePrimitives

LanguagePrimitives.Equals
LanguagePrimitives.IsTrue
LanguagePrimitives.Compare // and other compare/trycompare overloads, to handle comparing $null and the special NULL representatives.
Review all methods in `LangaugePrimitives.cs` that are related to null comparison in names, like 'CompareObjectToNull'

@vexx32, your last commit had 5 failures in PowerShell-CI-windows
Null Representatives.Comparisons with $null.{ [DBNull]::Value } should be equivalent to $null (RHS: $null)
Expected $true, but got $false.
at <ScriptBlock>, D:\a\1\s\test\powershell\Language\Scripting\NullRepresentatives.Tests.ps1: line 20
20:             $Value.InvokeReturnAsIs() -eq $null | Should -BeTrue

Null Representatives.Comparisons with $null.{ [NullString]::Value } should be equivalent to $null (RHS: $null)
Expected $true, but got $false.
at <ScriptBlock>, D:\a\1\s\test\powershell\Language\Scripting\NullRepresentatives.Tests.ps1: line 20
20:             $Value.InvokeReturnAsIs() -eq $null | Should -BeTrue

Null Representatives.Comparisons with other null representatives.{ [AutomationNull]::Value } should not be equal to { [DBNull]::Value }
Expected $false, but got $true.
at <ScriptBlock>, D:\a\1\s\test\powershell\Language\Scripting\NullRepresentatives.Tests.ps1: line 42
42:             $LHS.InvokeReturnAsIs() -eq $RHS.InvokeReturnAsIs() | Should -BeFalse

Null Representatives.Comparisons with other null representatives.{ [AutomationNull]::Value } should not be equal to { [NullString]::Value }
Expected $false, but got $true.
at <ScriptBlock>, D:\a\1\s\test\powershell\Language\Scripting\NullRepresentatives.Tests.ps1: line 42
42:             $LHS.InvokeReturnAsIs() -eq $RHS.InvokeReturnAsIs() | Should -BeFalse

Null Representatives.Comparisons with other null representatives.{ [DBNull]::Value } should not be equal to { [NullString]::Value }
Expected $false, but got $true.
at <ScriptBlock>, D:\a\1\s\test\powershell\Language\Scripting\NullRepresentatives.Tests.ps1: line 43
43:             $RHS.InvokeReturnAsIs() -eq $RHS.InvokeReturnAsIs() | Should -BeFalse

@vexx32, your last commit had 5 failures in PowerShell-CI-macos
Null Representatives.Comparisons with $null.{ [DBNull]::Value } should be equivalent to $null (RHS: $null)
Expected $true, but got $false.
at <ScriptBlock>, /Users/vsts/agent/2.152.1/work/1/s/test/powershell/Language/Scripting/NullRepresentatives.Tests.ps1: line 20
20:             $Value.InvokeReturnAsIs() -eq $null | Should -BeTrue

Null Representatives.Comparisons with $null.{ [NullString]::Value } should be equivalent to $null (RHS: $null)
Expected $true, but got $false.
at <ScriptBlock>, /Users/vsts/agent/2.152.1/work/1/s/test/powershell/Language/Scripting/NullRepresentatives.Tests.ps1: line 20
20:             $Value.InvokeReturnAsIs() -eq $null | Should -BeTrue

Null Representatives.Comparisons with other null representatives.{ [AutomationNull]::Value } should not be equal to { [DBNull]::Value }
Expected $false, but got $true.
at <ScriptBlock>, /Users/vsts/agent/2.152.1/work/1/s/test/powershell/Language/Scripting/NullRepresentatives.Tests.ps1: line 42
42:             $LHS.InvokeReturnAsIs() -eq $RHS.InvokeReturnAsIs() | Should -BeFalse

Null Representatives.Comparisons with other null representatives.{ [AutomationNull]::Value } should not be equal to { [NullString]::Value }
Expected $false, but got $true.
at <ScriptBlock>, /Users/vsts/agent/2.152.1/work/1/s/test/powershell/Language/Scripting/NullRepresentatives.Tests.ps1: line 42
42:             $LHS.InvokeReturnAsIs() -eq $RHS.InvokeReturnAsIs() | Should -BeFalse

Null Representatives.Comparisons with other null representatives.{ [DBNull]::Value } should not be equal to { [NullString]::Value }
Expected $false, but got $true.
at <ScriptBlock>, /Users/vsts/agent/2.152.1/work/1/s/test/powershell/Language/Scripting/NullRepresentatives.Tests.ps1: line 43
43:             $RHS.InvokeReturnAsIs() -eq $RHS.InvokeReturnAsIs() | Should -BeFalse

@vexx32, your last commit had 5 failures in PowerShell-CI-linux
Null Representatives.Comparisons with $null.{ [DBNull]::Value } should be equivalent to $null (RHS: $null)
Expected $true, but got $false.
at <ScriptBlock>, /home/vsts/work/1/s/test/powershell/Language/Scripting/NullRepresentatives.Tests.ps1: line 20
20:             $Value.InvokeReturnAsIs() -eq $null | Should -BeTrue

Null Representatives.Comparisons with $null.{ [NullString]::Value } should be equivalent to $null (RHS: $null)
Expected $true, but got $false.
at <ScriptBlock>, /home/vsts/work/1/s/test/powershell/Language/Scripting/NullRepresentatives.Tests.ps1: line 20
20:             $Value.InvokeReturnAsIs() -eq $null | Should -BeTrue

Null Representatives.Comparisons with other null representatives.{ [AutomationNull]::Value } should not be equal to { [DBNull]::Value }
Expected $false, but got $true.
at <ScriptBlock>, /home/vsts/work/1/s/test/powershell/Language/Scripting/NullRepresentatives.Tests.ps1: line 42
42:             $LHS.InvokeReturnAsIs() -eq $RHS.InvokeReturnAsIs() | Should -BeFalse

Null Representatives.Comparisons with other null representatives.{ [AutomationNull]::Value } should not be equal to { [NullString]::Value }
Expected $false, but got $true.
at <ScriptBlock>, /home/vsts/work/1/s/test/powershell/Language/Scripting/NullRepresentatives.Tests.ps1: line 42
42:             $LHS.InvokeReturnAsIs() -eq $RHS.InvokeReturnAsIs() | Should -BeFalse

Null Representatives.Comparisons with other null representatives.{ [DBNull]::Value } should not be equal to { [NullString]::Value }
Expected $false, but got $true.
at <ScriptBlock>, /home/vsts/work/1/s/test/powershell/Language/Scripting/NullRepresentatives.Tests.ps1: line 43
43:             $RHS.InvokeReturnAsIs() -eq $RHS.InvokeReturnAsIs() | Should -BeFalse

All hail @SeeminglyScience's eyeballs tbh. I missed that both binder methods needed some extra logic there.
This should work, I think. Let me know if we need to make further changes @daxian-dbw but I think this ought to do it. Verified that the test cases added appear to pass locally so we should be set to go! 🤞

Okay, I see.
So @daxian-dbw the comparisons such as [AutomationNull]::Value -eq [DBNull]::Value are returning $true because that's kind of how [AutomationNull] is intended to behave in comparisons, typically. It's treated like a true null would be.
Is it worth digging in here and trying to tease apart that logic to make these all mutually not equal each other, do you think? It would be inconsistent in terms of how comparisons to automation null typically behave.
I'm thinking the way it's currently functioning is pretty sensible, given the typical cases you'll come across with AutomationNull, having it behave just like comparing these null-like values directly to null behaves.
Would appreciate your thoughts here. 🙂

because that's kind of how [AutomationNull] is intended to behave in comparisons, typically. It's treated like a true null would be.

Good catch. Yes, [AutomationNull]::Value is supposed to behave just like $null with the only difference that $null can be passed through pipeline while [AutomationNull]::Value cannot.
Given that, I think it makes sense to have [AutomationNull]::Value -eq [DBNull]::Value returning $true (the same to [AutomationNull]::Value -eq [NullString]::Value).
@mklement0 Do you have any concerns?

@daxian-dbw everything looks like it's all good.
@mklement, do you have any concerns about the comparison logic discussed here? (https://github.com/PowerShell/PowerShell/pull/9794#issuecomment-502417341 and https://github.com/PowerShell/PowerShell/pull/9794#issuecomment-502714647)

Thanks for asking, @daxian-dbw  and @vexx32, and sorry for the late reply.
The intricacies of the implementation are beyond me, but here's my end-user input:
Making [AutomationNull]::Value consistently interchangeably with $null makes sense, I suppose, but I do wish we could also make the following return $true, which currently isn't:
using namespace System.Management.Automation.Internal
[AutomationNull]::Value -is [AutomationNull]  # should be $true

On a related note - and that should probably be a separate issue - I wish that Get-Member acted differently:
Get-Member $noSuchVar  # should output $null - not fail, as it currently does
[System.Management.Automation.Internal.AutomationNull]::Value | Get-Member # should indicate that no pipeline input was received, not fail

Appreciate the input, @mklement0! Not sure about the latter, but seeing as the former already works with dbnull and nullstring it should probably be doable for automation null as well... Not sure exactly where that would need to be done, but I can take a look in a day or two :)

@mklement0 Thanks for the input!

[AutomationNull]::Value -is [AutomationNull]  # should be $true
but seeing as the former already works with dbnull and nullstring it should probably be doable for automation null as well... Not sure exactly where that would need to be done, but I can take a look in a day or two :)

@vexx32 I suggest you to not work on supporting this in this PR. I'm not really sure we want to do that because it could cause confusion semantically -- [AutomationNull]::Value is treated as null in PowerShell (e.g. [AutomationNull]::Value.GetType() fails because it's not considered as an object), The current behavior is consistent and makes sense.

@daxian-dbw

[AutomationNull]::Value is treated as null in PowerShell (e.g. [AutomationNull]::Value.GetType()

Yes, but we're now also treating [DbNull]::Value and [NullString]::Value as $null, correct?
But they are distinct types with distinct behaviors and sometimes you want to know what specific type you're dealing with.
And that currently only works (in a straightforward manner) with [DbNull]::Value and [NullString]::Value , with -is <type>.
By contrast, as shown above, it is far from trivial do distinguish between $null and [AutomationNull]::Value, yet that distinction arguably carries the most meaning in terms of behavior (sending something through the pipeline vs. not).
Do you not see value in detecting [AutomationNull]::Value, or do you envision a different solution?

@daxian-dbw I do see your point there, and we can always add this later...
However. There already is a disparity between $null and [AutomationNull] in that respect. For example:
using namespace System.Management.Automation.Internal
$null -is [psobject] # returns $true
[AutomationNull]::Value -is [psobject] # returns $false

If we want AutomationNull to properly mimic $null as much as possible (minus the pipeline behaviour of course) it might possibly make more sense to have it actually inherit PSObject or something along those lines. And for the few cases where we do actually need to distinguish $null from [AutomationNull] it would be helpful to have it also be properly recognised with -is. 😕

Yes, but we're now also treating [DbNull]::Value and [NullString]::Value as $null, correct?

No exactly, that's why the method added in LanguagePrimitive to check for them is called IsNullLike -- the change is only around when comparing [DBNull]::Value or [NullString]::Value with $null and [AutomationNull]::Value, and when casting [DBNull]::Value and [NullString]::Value to bool. [System.DBNull]::Value.GetType() still give you the type DBNull.

Do you not see value in detecting [AutomationNull]::Value, or do you envision a different solution?

Personally, I don't see the value to differentiate $null and [AutomationNull]::Value. They should be the same, only with on difference that should be meaningful only to the engine -- [AutomationNull]::Value means not passing along the pipeline while $null does.
@vexx32 Thanks for showing that example (I didn't know it before :)). The comment you put in the code snippet are reversed though, $null -is [psobject] returns false and the other one returns true.
Yes, that's inconsistent, and how to fix that (if we want to) depends on how we want to treat [AutomationNull]::Value -- more of an implementation detail, or something that makes sense for users to depend on the be able to tell.

Yeah, I noticed that went I went to check it myself; I've edited the comments. 😄
Given there are circumstances where the difference between $null and [AutomationNull] do matter to the user, I don't see any harm in permitting users to check for it explicitly with -is, really. If they really want to check it, there are already ways to do so, so I think we are better off permitting a more clear and explicit way to check for it, rather than forcing users to rely on this kind of hack:
@($null).Count # outputs 1
@([AutomationNull]::Value).Count # outputs 0

(The above method is another way, of course, as well.)

@([AutomationNull]::Value).Count # outputs 0

Maybe we should fix this 😄, to make it more like a $null.

Well, you say that, but... depending on the situation it can actually be kind of tricky. Because technically a pipeline that doesn't emit output ends up storing [AutomationNull]::Value iirc.
Quick example would be:
$a = if ($False) { 2 }
@($a).Count # currently 0

Now, if we "fix" this, I think we may end up with a case where piping the $a value starts to invoke a pipeline and pass the $null value, or at least seem like it should.
The farther you go, the trickier it becomes. 😉

It's definitely worth discussion and the behavior should depend on the real use cases where [AutomationNull]::Value has to be differentiated from $null.
I think you can open an issue to track the conversions around [AutomationNull]::Value. Once this PR is merged, the discussion here could be lost.

@vexx32 Thanks for showing that example (I didn't know it before :)). The comment you put in the code snippet are reversed though, $null -is [psobject] returns false and the other one returns true.
Yes, that's inconsistent, and how to fix that (if we want to) depends on how we want to treat [AutomationNull]::Value -- more of an implementation detail, or something that makes sense for users to depend on the be able to tell.

Ideally if this were to be fixed it would just be removed from assignment, e.g. $obj = [AutomationNull]::Value would populate $obj with true null.  The -is operator is one of the few things that never "lie" on occasion and I think it would be a detriment to change that.
You can also make [AutomationNull]::Value -is [AutomationNull] work by:

Removing the static keyword from the class decl
Make it inherit PSObject
Change the singleton instance to new AutomationNull()

That would allow $autoNull -is [psobject] to still work while enabling $autoNull -is [AutomationNull].  Though I think there are a few places in the compiler where it uses a pattern like if (expr.ExpressionType == typeof(PSObject) && expr.Value == AutomationNull.Value) so that might need to change.

@JamesWTruher Can you please quickly review this PR? Thanks!

I'll write up a quick issue and link back here for the [automationnull] discussion & CC you guys so we can have a more focused discussion on that. 💖

@PoshChan Please remind me in 2 hours

@daxian-dbw, this is the reminder you requested 2 hours ago

@vexx32 Thanks for the great work!

@LaurentDardenne Good catch. Will add this to breaking changes in the release log.

@daxian-dbw  Should it be CL-BreakingChange?


Fix handling of deleted custom emoji used as a user's emoji status

We have a relatively recent feature of support for using custom emoji as your status.  It turns out that this has a bad interaction with deactivated emoji, which (I think) appear in all_realm_emojis but not active_realm_emojis, where if anyone sets a custom emoji as their status and that custom emoji is then deleted, the app's JS crashes on page load.
We should fix this, potentially by doing the same thing we aim to do with emoji reactions, where we display deactivated custom emoji but don't let anyone set them as their status anew.  (We should test that still works as well)
Tagging as a release goal since it's a nasty failure mode and is with a new feature in this release.
@alya thoughts ?
@YashRE42 can you look at this one?

This proposal sounds fine to me.

I'm working on this and I've made progress. I'll try have a PR tomorrow.


RDK-53610 - sample hello world plugin that uses auto generated stubs

b'## Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/rdkservices/5789/rdkcentral/rdkservices

Commit: d38669e155c416af2539fd1cbfe30f2ffb3c3506

Report detail: gist'

b'## Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/rdkservices/5789/rdkcentral/rdkservices

Commit: d38669e155c416af2539fd1cbfe30f2ffb3c3506

Report detail: gist'


Datatables, wrong colvis button

On template datatable.stub, there is a "Colvis" button, it has been retired from datatables extension and throws an error while rendering the datatable.
I had to comment that line which mentions colvis.
Reference: https://datatables.net/extensions/colvis/

@Germanaz0 colvis is completely working fine for me and other users. Can you post some more details about your layout files and generated view files and the error you are getting ?

@Germanaz0 colvis is retried, and we are using buttons project https://datatables.net/extensions/buttons/ and from there we are using colvis button plugin from buttons https://datatables.net/extensions/buttons/examples/column_visibility/index.html.


Feature Request: Add 3500mAh Battery capacity

USB C rechargeable batteries with an extended capacity of 3500mAh are now available. Would it be possible to add this new capactiy battery to the hidden battery menu so that a more accurate discharge curve is available for it, similar to the 2600mAh battery capacity please?

 Though yes, each to their own, some people don't want to have to carry a spare battery and would just prefer one slightly bigger to carry around.


Add "gedit command" in WSL

Description
As we know gedit command is used to open a file in a new terminal and by which we can write/edit things on it but in WSL, this command is already in ubuntu for desktops but missing in WSL.
Need and use case

gedit command is available in ubuntu for desktops but not in WSL.
Helpful for beginners who are learning Linux.
Don't have to install it manually.

Additional information
No response

Hi, thanks for your request.
gedit is not available by default in WSL because we try to keep the download size small. But you can install it yourself:
sudo apt update
sudo apt install -y gedit

Note that there are some requirements on Windows' side that you'll need to fulfill in order to run any graphical application. You can read about them in Microsoft's documentation page on WSLg


Relay commands throw errors if the RelayService has not been intialized

The usage of multiple DB contexts causes an error to occur when initializing the RelayService. After this first failed command run, the command works fine. Or, if a message has been sent over the relay already, the command will work fine.

Mitigated by initalizing the relay service upon DiscordBot.StartAsync


Search on the dashboard page to search public trees and our databases once indexed

This is  a bug | feature request.

Prerequisites

[x] Are you running the latest version?
[x] Are you reporting to the correct repository?
(enso is made of many specialized packages: https://github.com/laravel-enso)
[x] Did you check the documentation?
[x] Did you perform a cursory search?

Description

Steps to Reproduce

Expected behavior

Actual behavior

Geneanum
WikiTree
FamilySearch
OpenArch
Local indexes for public trees.

Search form for first name, last name and date range, maybe countries too and then search all the APIs. Cache result for 1 minute.


Implement System.Callback.* interops

Now we can create various callbacks, pass them around and invoke them. Some syscalls can be used as callbacks also. See neo-project/neo#1629

See also neo-project/neo#1723.

Depends on #1208.

Syscall callbacks implementation depends on neo-project/neo#1655 changes done in #1191 .


Fix broken videos on wellcomelibrary.org

Harkiran has found that a number of videos on wellcomelibrary.org are broken; if you try to look at them in the viewer, you get a 403 error from DLCS. They need to be reinvested through Goobi.
It's possible to script the lookup of videos and find which ones are broken (saving her team the time of checking up ~900 videos by hand).
Here's the script I'm using:
find_broken_videos.py
```python
#!/usr/bin/env python
import csv
import os
from pprint import pprint
import requests
import tqdm
if name == "main":
with open("GoobiExport.csv") as infile, open("GoobiStatus.csv", "w") as outfile:
reader = csv.DictReader(infile)
    fieldnames = [f for f in reader.fieldnames if f != ""]
    fieldnames.append("Website status")

    writer = csv.DictWriter(outfile, fieldnames=fieldnames)
    writer.writeheader()

    for row in tqdm.tqdm(list(reader)):
        del row[""]
        bnumber = row["b-number"]

        try:
            resp = requests.get(f"https://wellcomelibrary.org/iiif/{bnumber}/manifest")
            resp.raise_for_status()
        except Exception:
            row["Website status"] = "??? (cannot get IIIF manifest)"
            writer.writerow(row)
            continue

        mp4_url = resp.json()["mediaSequences"][0]["elements"][0]["rendering"][0]["@id"]

        resp = requests.get(mp4_url, stream=True)

        if resp.status_code == 403:
            row["Website status"] = "403 (needs reingest)"
            writer.writerow(row)
        elif resp.status_code == 200:
            row["Website status"] = "200 (okay)"
            writer.writerow(row)
        else:
            row["Website status"] = f"{resp.status_code} (???)"
            writer.writerow(row)
        outfile.flush()

</details>

It takes a few minutes to run on a VM in the cloud and we can run it repeatedly. We can run this script to help the production team verify all the videos have been fixed.

Original discussion: https://wellcome.slack.com/archives/C3TQSF63C/p1596465736329100

Donald ran a script to reingest everything, which succeeded – just one anomaly, which is being checked separately.
See: https://wellcome.slack.com/archives/CBT40CMKQ/p1596618445452600


browsers block some content

At chrome, safari and firefox some files don't open because were loaded over HTTP:
insecure stylesheet 'http://tale.biezhi.me/templates/themes/default/static/css/style.min.css' insecure image 'http://tale.biezhi.me/templates/themes/default/static/img/logo.png' insecure stylesheet 'http://tale.biezhi.me/templates/themes/default/static/css/style.min.css'
So pages display completely without styles:

Is that still true?

no, now everything looks fine  👀


(2.0) Enable proxy for both strategies

Closes https://github.com/poanetwork/token-wizard/issues/1022
Closes https://github.com/poanetwork/token-wizard/issues/957
The last PR to enable Proxy contracts.

Proxies registry smart-contract was deployed for Ropsten
Exec-id is eliminated. Instead, proxy address is used.
./exec-id query param => ./addr query param
registryExec.exec(...) => ...proxy.exec(...)
all getters ...idx => ...proxy

Manage page: incorrect maxCap for whitelist

Dutch-Manage page: link to crowdsale page is broken

@vbaranov
Dutch with whitelist-Contribution page: error when whitelisted investor contributes
Proxy address 0x8bc98fe870d28090a2e309d3ef6f55dd1c6ff2f8 ,Ropsten

@dennis00010011b

MInted-Manage page: incorrect maxCap for whitelist

Fixed

Dutch-Manage page: link to crowdsale page is broken
Dutch with whitelist-Contribution page: error when whitelisted investor contributes

I cannot repeat both of them. Could you provide steps to reproduce?

@vbaranov

Dutch-Manage page: link to crowdsale page is broken
Steps for reproduce:

Create dutch crowdsale with any parameters
Open manage page as an owner
Click link Crowdsale page that located below button Finalize

@vbaranov

Dutch with whitelist-Contribution page: error when whitelisted investor contributes

Still reproducible. Steps:

Create dutch crowdsale with one whitelisted address
Wait until crowdsale starts
Set whitelisted account in metamask
Buy allowed amount: fill out  field contribute with value more than minCap and click button contribute

@dennis00010011b

Dutch-Manage page: link to crowdsale page is broken

Steps for reproduce:

Create dutch crowdsale with any parameters
Open manage page as an owner
Click link Crowdsale page that located below button Finalize
Expected result: crowdsale page should contains actual info about crowdsale
Actual result: link leads to empty page
Proxy:0xde9b82a5860e6e5bea78d1ae0d6cbaa485489878, Ropsten

ah, makes sense now, thanks, fixed.

Dutch with whitelist-Contribution page: error when whitelisted investor contributes

Could you post log from Chrome developer console? I still cannot reproduce the issue

@vbaranov
dutch-contr.log

@dennis00010011b I've added handling of gas estimation for buy function. Please, let me know the results of new test.

@vbaranov
Dutch: Incorrect amount passes to  Metamask. Investor can't buy, any contribution's transaction is failed(but owner still can modify whitelist).

@dennis00010011b do you have the same problem in 2.0 branch? if yes, please open a separate issue.
I repeated all steps:

Create dutch crowdsale with one whitelisted address
Wait until crowdsale starts
Set whitelisted account in metamask
Buy allowed amount: fill out field contribute with value more than minCap and click button contribute

and error doesn't exist for me. If error still exists for you please record a video.

@vbaranov

Dutch with whitelist-Contribution page: error when whitelisted investor contributes

This issue was fixed with last commit . Instead I can't buy from Dutch crowdsale https://github.com/poanetwork/token-wizard/pull/1024#issuecomment-403496871

@vbaranov
https://drive.google.com/open?id=1eMDZSXSugpLLoSRa5IpvMZZX3Lefza3u
Proxy address: 0x70989912ccdd685b13a27c4c567438149efeb77d  , ropsten
Crowdsale parameters (one acoount  was added later in whitelist )
{
"name": "scenarioDutchRopsten.json",
"ticker": "test",
"decimals": 10,
"totalSupply":100,
"walletAddress":"0x56B2e3C3cFf7f3921Dc2e0F8B8e20d1eEc29216b",
"gasprice":100,
"tiers":[
{
"isWhitelisted":true,
"startDate": "360000",
"startTime": "360000",
"endDate":"72000000",
"endTime":"72000000",
"minCap":11,
"minRate":1000,
"maxRate":10000,
"supply": 100,
"whitelist":[{
"address": "0xDb0E42Ee8fDaAd8A7f295f447F71A1480c98a373",
"min": 50,
"max": 150
} ]
}]
}

@dennis00010011b I have fixed here https://github.com/poanetwork/token-wizard/issues/1025 also. Please test it again.

@vbaranov
Tested it . No issues were found

@fernandomg looking forward to your review.


Add Freelens author were it is missing

I had also to correct the package.json inside freelens dir and I simply did it through a commit directly on the main branch.

@dex4er fyi


Expose SubTask Time Tracking though the User API

We are using those in a desktop time tracking applet that needs to be able to log time spent in subtasks and to also create new subtasks

I renamed the class , adding the "Api" suffix , making it consistent with the other API classes.
By the way many thanks for making Kanboard - it has significantly improved our everyday operations.

Hi @ngtech , may I know which is the desktop time tracking software you are using?

It's an electron "kanboard client" app I wrote and I am still developing - it's currently in a very early / alpha stage of development without a decent user interface but  I am planing to release it once it hits a useful level of functionality.


[Themes] menu.separatorBackground color doesn't work as intended

The documentation claims that menu.separatorBackground controls the

Color of a separator menu item in menus.

However, the actual color seems to differ from the color specified in a theme. For example, use the following entries in a theme:
"menu.background": "#ffffff",
"menu.separatorBackground": "#000000",

Result:

The real color for the separator will be #999999 and not #000000. From the color value, it seems like a transparency of 60% is applied to the specified color.
In case this is the intended behavior, the documentation is wrong and it should be mentioned that menu.separatorBackground is not the actual color, but some kind of postprocessing will be applied to it.
By the way, there already exists an issue for this: https://github.com/microsoft/vscode/issues/85690, but it was closed by an apparently unrelated commit and its conversation has been locked.

VSCode Version: 1.49.0
OS Version: Windows 10

I'll try moving the opacity to the separator color (via rgba), though we'd need to test how this would look in other themes because there will be a noticeable difference.

Does this still reproduce?


Use the correct published date instead of created at date for ordering

Dude this looks awesome! Great work!  Had some comments

thanks for the tips :blush: gonna clean it.

Thanks so much! Awesome work and sorry for the back and forth! :dancers:

no no no thanks for the guidance buddy :baby_symbol: :lollipop:


Roll Flutter Engine from 0a8ad236e4af to e4749e77e12b (4 revisions)

https://github.com/flutter/engine/compare/0a8ad236e4af...e4749e77e12b
2023-09-27<EMAIL_ADDRESS>Roll Skia from bc4f22353590 to d1215b38667c (4 revisions) (flutter/engine#46306)
2023-09-26<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from a56c8yPp4DDlj_Qbl... to Lg6FR6iDnZeV6y-E8... (flutter/engine#46302)
2023-09-26<EMAIL_ADDRESS>[ios] Fix app extension not able to find assets from unloaded bundle (flutter/engine#46283)
2023-09-26<EMAIL_ADDRESS>[Android] Fix enableSuggestions set to false not honored (flutter/engine#46037)
Also rolling transitive DEPS:
fuchsia/sdk/core/linux-amd64 from a56c8yPp4DDl to Lg6FR6iDnZeV
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jacksongardner@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


CH06 - Support/instructions for Raspberry Pi 4

Are there instructions on how to follow chapter 6 for the Raspberry Pi 4?

It depends what you want to achieve. From easiest to hardest:
Play with Qt3D

If you just want to play with Qt3D, you can follow the chapter 6 skipping the Raspberry Pi part and use only your desktop computer to run the software.

Build on the Raspberry Pi

If you want to also run it on your Raspberry Pi  without the "complicated" cross-compilation part. You can download Qt on your Raspberry Pi 4 and compile it directly on the Raspberry Pi 4. Like the Raspberry Pi was your devel computer.

Cross-compilation for the Raspberry Pi

If you want to achieve the cross-compilation part (build fast on your computer binaries runnable on the ARM processor of the Rasperry Pi). The theoretical inscrutions in the book are still correct but must be adapted. In any case, you need a sysroot of the target, the toolchain for the target, the Qt sources, build Qt for Rpi, configure a new kit for Qt creator, etc.
I think you can learn a lot from my side project QTRB that contains scripts to cross-compile Qt for a Raspberry Pi 3 step by step.
If you use QTRB for a Raspberry Pi 4, you must update the "config.sh" with a recent raspbian version and the file "30_configure_qt5_rpi.sh" to update the device parameter from "linux-rasp-pi3-g++" to something like "linux-rasp-pi4-v3d-g++".
The device name "linux-rasp-pi4-v3d-g++" comes from the file Qt mkspecs/devices


Further increase adminrouter's client_max_body_size - COPS-5615

High-level description
What features does this change enable? What bugs does this change fix?
The following PR increased the max size to 16GB but that is still too small:  https://github.com/dcos/dcos/pull/5376/files
This change increases it to 32 GB.
Corresponding DC/OS tickets (required)

DCOS-61233 COPS-5615: Large package cannot be uploaded to package registry

Related tickets (optional)

DCOS-20269 Request entity too large error

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[ ] Change log from the last version integrated (this should be a link to commits for easy verification and review): example
[ ] Included a test which will fail if code is reverted but test is not. If there is no test please explain.
[ ] Test Results: [link to CI job test results for component]
[ ] Code Coverage (if available): [link to code coverage report]

@jongiddy @vespian  can you review this?

@jeffwhite530 Can you please add a description to the CHANGES.md file?

@jeffwhite530 Is this PR still WIP? If not - could you please make the PRs as ready for review?
Thank you!

@jeffwhite530 Is this PR still WIP? If not - could you please make the PRs as ready for review?
Thank you!

How do I do that?

Please issue
@mesosphere-mergebot label Ready For Review

Mergebot also commented this PR with detailed instructions - see https://github.com/dcos/dcos/pull/6564#issuecomment-558244940

@mesosphere-mergebot label Ready For Review

Sorry for taking so long to verify this. I have tested, and it seems we do need to increase the timeout to 10 minutes.
@jeffwhite530 Would you mind if I add my test (https://github.com/mesosphere/dcos-enterprise/pull/7021/files) to the Enterprise branch of this PR? Then we can click the second box in the PR description.

@jongiddy, go right ahead.  Let me know if I need to do anything for that.

@jeffwhite530 Have you been able to test this in a working cluster? I'm beginning to think that the registry may have a 5 minute timeout for upload.

@jongiddy I just tested it now and I was able to upload the package.  It doesn't seem to be working as 15 minutes later I still don't see it in the catalog.  However, this PR is still needed since when client_max_body_size is 16GB the upload immediately fails.  So we may also need to make a change in package registry but admin router definitely needs this change.

@vespian & @jongiddy please approve this pr to make sure can deliver the fix to the customer.

If the package not going to be uploaded successfully, then failing immediately is much better behavior than failing after ten minutes. We need to ensure that we're getting a benefit from making this change, since it may cause undesirable behavior for other services.
@takirala Is there any change needed in the package registry itself to make this work?

This change will be merged in #6766, so this PR can be closed. Thanks for everyone's efforts here.


Added ReactQueryDevtools

https://tanstack.com/query/v3/docs/react/devtools

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


%1 is not a valid Win32 application when installing packages

Hey guys,
Just getting started with pipenv so please forgive any obvious gaffs...I installed everything awhile back and I'm just coming back to trying to use pipenv for a project.  I could have sworn that everything worked before, but now when I create a new directory and run pipenv install numpy I get the following:
Creating a virtualenv for this project…
Pipfile: C:\repos\test\Pipfile
Using c:/users/wt255008/.pyenv/pyenv-win/shims/python (None) to create virtualenv…
[=== ] Creating virtual environment...RuntimeError: failed to query c:\users\wt255008\.pyenv\pyenv-win\shims\python with code 8 err: '%1 is not a valid Win32 application'

Failed creating virtual environment

[pipenv.exceptions.VirtualenvCreationException]:
Failed to create virtual environment.

It seems to imply an architecture mismatch but everything I'm using should be 64 bit and I've checked it as best as I know how and everything seems kosher.
If I run pipenv install numpy --python 3.7.7 I see this:
Creating a virtualenv for this project…
Pipfile: C:\repos\test\Pipfile
Using C:/Users/wt255008/.pyenv/pyenv-win/versions/3.7.7/python.exe (3.7.7) to create virtualenv…
[ ===] Creating virtual environment...OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: 'C:\\Users\\wt255008\\.virtualenvs\\test-oUeIiS9_-C:\\Users\\wt255008\\.pyenv\\pyenv-win\\shims\\python'

Failed creating virtual environment

[pipenv.exceptions.VirtualenvCreationException]:
Failed to create virtual environment.
'in' is not recognized as an internal or external command,
operable program or batch file.

I thought https://github.com/pypa/pipenv/issues/4330 would help me so I followed the recommended step at the end of that discussion.  It appears to be trying to append the python version by accessing the PIPENV_PYTHON environment variable but ends up with the path instead of the version number.
 I would consider this a pyenv-win deficiency, not pipenv.

Maybe we should reject a pyenv-win shim directly when it is found, instead of failing later when trying to create a virtual environment from it.

does that mean I'm out of luck using pipenv on Windows or is there a better way?

You can specify a full path to the real Python executable, like pipenv --python=C:\Python35\python.exe. This should always work (assuming that path is valid). pipenv --python=py should also work if you have py.exe installed.

None of those options worked - pipenv still used the PIPENV_PYTHON env variable to try and name the virtual environment which caused an OS error.  I uninstall everything and reinstalled and made sure there was no PIPENV_PYTHON env variable and now it seems to be working.

Had the same issue as the originally reporter. I tried @uranusjr suggestions, but I had to specify the batch file. Example: pipenv --python="%USERPROFILE%\.pyenv\pyenv-win\shims\python3.8.bat"

I had to set PIPENV_PYTHON variable with full path to exe file, any other solution was not working for me.
Also using variables like %USERPROFILE% in this path was failing, even if it was pointing to exaclty the same python.exe... I have no idea what is going on...
'set PIPENV_PYTHON=C:\Users\username.pyenv\pyenv-win\versions\3.8.0\python.exe'

@lukaszgradzik this worked for me also. I encountered a different issue in my .vscode/settings.json file, which pointed at <project_name>-<8digitGUID>/python.exe. Maybe this is just how pipenv works with pyenv-win? A bit annoying, as I have the project in gitlab, I guess I need to .gitignore the local .vscode folder.


[Technical debt] Key terms using stable UUIDs

Problem statement
Currently, terms are "keyed" using a standardized form of their Cherokee phonetics. (look up keyForCard and cherokeeToKey). These keys are used by the leitnerBoxes, lesson objects, vocabSets, and many other things. We have serious problems when we need to update the Cherokee phonetics for a term, eg. due to a typo, because we have stored these phonetics in a billion places. And we have to update phonetics regularly.
Solution
All terms get a UUID that is used as a key.
Things to watch out for

This will require changes outside of just the CherokeeLanguage/online-exercises repo, but also CherokeeLanguage/online-exercises-audio-pipeline and maybe CherokeeLanguage/cherokee-audio-data, too
We need to figure out where in the data pipeline to assign these UUIDs (as early as possible, in ground-truth tables)
We need to identify all the places where a key is generated or used from a card, and move to using UUIDs. Eg. find all lookups, records that use "term" as a key, etc.
We need to figure out how we will handle mixed data between the database and the code...

Eg. Loading old lessons that were keyed with phonetics (maybe use a new field for UUID keyed stuff or add a "version" field to some records)

Acceptance requirements

Test that shows old data will be rekeyed properly
Test that makes sure all terms load with new key structure

I will handle this ticket.

Remember to use this branch!


Arrow function erroneously uses the arguments object

According to the ES6 specification, arrow functions do not bind their own arguments object, and instead inherit it from their parent scope.
In the following code snippet,  I think the intent is to check the number of args of the sendNotification method. But the arguments object here represents the  args of function createConnection.
export function createConnection<...>(
	connectionFactory: (logger: Logger) => ProtocolConnection, watchDog: WatchDog,
	factories?: Features<...>,
): _Connection<...> {

	...
	let protocolConnection: _Connection<PConsole, PTracer, PTelemetry, PClient, PWindow, PWorkspace, PLanguages, PNotebooks> & ConnectionState = {
		listen: (): void => connection.listen(),

                ...
		sendNotification: (type: string | MessageSignature, param?: any): Promise<void> => {
			const method = Is.string(type) ? type : type.method;
			if (arguments.length === 1) {
				return connection.sendNotification(method);
			} else {
				return connection.sendNotification(method, param);
			}
		},
       }
...

See https://github.com/microsoft/vscode-languageserver-node/blob/main/server/src/common/server.ts#L1491

Good catch. The lucky thing is that this doesn't introduce any wrong behavior since it is only there to make the TS compiler happy :-). At the end everything binds to this function: https://insiders.vscode.dev/github/microsoft/vscode-languageserver-node/blob/dbaeumer/tiny-mastodon-yellow/jsonrpc/src/common/connection.ts#L1266
which uses vargs.
I will look to change the code to avoid misinterpretation.


Setting Up GitHub Pages and Updating Repository Description

Go to the repository Settings and set up GitHub Pages (from the main branch), update the repository description with the correct link. Follow the link to check if everything is working correctly.

Done


Yo-Check the name for illegal characters

When entering a name for the project, which is used in the package.json, yo should check for illegal characters like whitespaces, which prevent yarn or npm from installing dependencies.

Reproduction:
When running yo kittn you're asked to enter a project-name. When you enter a name with whitespaces or specialchars, this will be entered in the package.json as well, what breaks npm install.
Either prevent the user from entering whitespaces/specialchars or filter the entered name in the package.json-

Fixed by 46b42c7de3ff9b0992d3709f630689c744cb4d4e


Any need for a --loop option?

I have an example up here: https://github.com/cfurrow/castnow/tree/loop
castnow *.mp4 --loop Will put all the .mp4 files in a playlist, and after each video is played, it's popped off the playlist, and then immediately inserted at the end of the playlist.
Thoughts?

+1

Send a PR.

I can't get this to work on a raspberry pi: castnow --loop --device "Living Room" foo.mp3 --loop
using node v4.2.1

You should only need to add --loop once (e.g. castnow --loop --device "Living Room" foo.mp3), but I don't think that's your problem. Does castnow work without the --loop option? Is the problem that it is not looping on your raspberry pi, but it plays the mp3 fine otherwise?

Doh. Should not add it twice. You're right. Also, the behavior is exactly as you suggest. All mp3's play just fine, even ones played with the --loop option. But it never loops on the raspberry pi. castnow just casts the mp3 a single time, and then exits. Is this option just dead now?

The option shouldn't be dead, although I haven't used it at all in the past 3+ months. Let me give it a shot, and see if it works on my machine. I don't have a raspberry pi to test with, but I'll see if I can figure out what may be going on.

Hey @afspear, finally got around to test this out, and the --loop option did not work with the castnow version I grabbed from npm, but it did work with the latest from github.
Not working (latest from npm as of this morning)
commit 71ed81d3f7d68014c57fb177292af4d1fdd52336
Author: Kaz Sera<EMAIL_ADDRESS>Date:   Sun Feb 14 01:52:28 2016 +0900

    skinny 2.0.7

    Closes #49149.

    Signed-off-by: Dominyk Tiller<EMAIL_ADDRESS>
Working git log message (latest from this github repo as of this morning):
commit 559a64493906a4291f6013ba9ba22dab4e730c5a
Merge: 87c6ab6 34616ba
Author: hemanth.hm<EMAIL_ADDRESS>Date:   Mon Jan 25 13:56:33 2016 +0530

    Merge pull request #133 from lekez2005/stdin

    Read input from stdin to allow piping from other apps

Sorry guys for the delay... it's now on NPM


Empty document from specific url ( curl works )

Description
empty document when loading from this url: https://netsplit.de/networks/top100.php
Exception
No exception unless I search for some node
Fiddle or Project
https://dotnetfiddle.net/TFAuIk

I just noticed that it was the website anti-scraping protection checking user agent


Floating prices on inventory page after new RMB addition

RMB prices are floating on the inventory page when they should be next to the converted prices.
This is likely because the container id .detail-tab-cont that's used on the market listings page is used in the inventory page as well, and the extension is trying to apply that styling to both.

We'll need to differentiate between the two.

handled in #4


Editor-friendly output format

This tool currently outputs both verbose and useless information directly into
stdout, which makes using this in an automated fashion seem very hard:
―❤―▶ gokart scan . 2> /dev/null
Using default analyzers config found at "~/.gokart/analyzers.yml".

Revving engines VRMMM VRMMM
3...2...1...Go!

Uh oh, a dashboard light is on! GoKart was unable to load the following packages:
- "github.com/diamondburned/gotktrix/internal/app/emojiview"
- "github.com/diamondburned/gotktrix/cmd/emoji-uploader"

Race Complete! Analysis took 3.254922703s and 1261 Go files were scanned (including imported packages)
GoKart found 0 potentially vulnerable functions

I think it would be better for there to be a flag that makes gokart output
only the information that the user actually cares about, similar to staticcheck:
―❤―▶ staticcheck ./...
internal/gotktrix/internal/db/node.go:74:6: func convertPrefix is unused (U1000)
internal/gotktrix/internal/db/node.go:78:6: func appendString is unused (U1000)
internal/secret/secret.go:12:5: var drivers is unused (U1000)

With staticcheck's format, I should be able to trivially add this tool into
Vim.

Hey @diamondburned, thanks for the issue submission! We agree that GoKart does not currently have adequate support for more automated or headless use cases, and functionality such as what you've described would help to change that.
What information would you be interested in seeing in the stripped-down version of the output? For instance, a single line of output for each potential vulnerability that identifies the vulnerability type and the affected line of code? Or two lines for each vulnerability, one for the vulnerable sink and one for the untrusted input source?

What information would you be interested in seeing in the stripped-down version of the output? For instance, a single line of output for each potential vulnerability that identifies the vulnerability type and the affected line of code? Or two lines for each vulnerability, one for the vulnerable sink and one for the untrusted input source?

I think most editors will expect one line each issue, but for more verbose ones,
perhaps there could be a unique ID assigned to each that points to a wiki
explaining in details that issue.

Hi @diamondburned just want to confirm that we've added a flag, -o, --output https://github.com/praetorian-inc/gokart/pull/20
We've also created issues for adding CWE mappings to the findings
https://github.com/praetorian-inc/gokart/issues/1
as well as adding SARIF output https://github.com/praetorian-inc/gokart/issues/21
Thanks for the feedback and support!


[Question]: RTMP CloudLiveStream migrated to WEBRTC

Ask your question
Hey @bropat
So once again something is patched.
The cloud livestreams which we fixed a while ago are again patched.
This time the RTMP streams do not exist anymore and everything is moved to WebRTC.
Upside is: The streams are now realtime 🎉
I'm trying to debug the webportal code and see if i can make something useful so it might be used in this integration.
To be continued

@martijnpoppen
Is there any progress here?

@bropat not really. Limited in time on Eufy at the moment. Have quite some projects for Homey currently

are cloud streams used when P2P is not feasible?

@fuatakgun not anymore as cloud streams are webRTC now.

I looking how to put the stream into my app. Is there any update how should we use the webRTC stream with this plugin?
My knowledge about the webRTC is also not that good so maybe someone can tell me how should I integrate it with my custom web app?
Thanks for help 🫶

stale

Agreed with closing @bropat , this will probably never work again ;)


Pray Icon

Icon Request

Icon name: pray
Use case: pray group of church
Screenshots of similar icons:

🙏

Maybe it should be named folded hands or praying hands

👏
Clapping hands
U+1F44F

🙌
Raised hands
U+1F64C

👐
Open hands
U+1F450

🤲
Palms together hands
U+1F932

🤝
Handshake
U+1F91D

🙏
Praying hands
U+1F64F

✍
Writing hands
U+270D

Please fill out a proper icon request issue: https://github.com/lucide-icons/lucide/issues/new?assignees=&labels=🙌+icon+request&projects=&template=01_icon_request.yml


always use "go" version of vespa-start-container-daemon

@baldersheim please review

We must never, ever change the default for a flag in the flags module. In this case, doing so would trigger immediate restart of all containers in all clusters for all versions.

Yes, you are right about stuff that changes the sentinel config as that will trigger a restart.


Adds Round tracker

For #48.
@dayvar14 feel free to really go through this with a fine-toothed comb. This is my first time working with these state / effect hooks, so lmk if there's anything to tighten up.
Features/Changes:

Round tracker which replaces Draw Steel header.
tracker increments when action reset button clicked.
GM allowed to manually input round count. Input is readonly for players.
RoundCount is persisted in the scene context.

Will get to this asap but prob not till midweek. Out for my honeymoon atm. Thanks for the contribution!

Alright back took a second longer to get back rolling. Looking at this now

Sorry for the time it took to get back to you. Overall looks great! Just some styling nits.


Feature/readme license

Connected to #13

This change is

Reviewed 1 of 2 files at r1.
Review status: 1 of 2 files reviewed at latest revision, 2 unresolved discussions.

README.md, line 5 [r1] (raw file):

`angular2-polymer` is a directive factory that aims at bridging the gaps between using [Polymer](https://www.polymer-project.org) based Web Components in [Angular 2](https://angular.io/) applications.

Normally we have screenshots to illustrate our elements here.
Instead of a screenshot, let us add a brief usage example here, like you have in the ng-cli doc. It looks very descriptive, I think, and explains very well what this repository is for and how it is used.

README.md, line 39 [r1] (raw file):

For running Tests you need [Bower](http://bower.io) installed.

Then, you can download all bower dependencies needed by Tests.

“needed by the tests”.

Comments from Reviewable

Reviewed 1 of 2 files at r1.
Review status: all files reviewed at latest revision, 2 unresolved discussions.

Comments from Reviewable

Review status: 1 of 2 files reviewed at latest revision, 2 unresolved discussions.

README.md, line 5 [r1] (raw file):
Previously, platosha (Anton Platonov) wrote…
> Normally we have screenshots to illustrate our elements here.
>
> Instead of a screenshot, let us add a brief usage example here, like you have in the ng-cli doc. It looks very descriptive, I think, and explains very well what this repository is for and how it is used.

Done.

README.md, line 39 [r1] (raw file):
Previously, platosha (Anton Platonov) wrote…
> “needed by _the tests_”.

Done.

Comments from Reviewable

Reviewed 1 of 1 files at r2.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

Comments from Reviewable

Previously, manolo (Manuel Carrasco Moñino) wrote…
> #### Feature/readme license
>
> Connected to #13
>
>
>

Reviewed 1 of 1 files at r3.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

@magi42 please review this README file

Reviewed 1 of 1 files at r4.
Review status: all files reviewed at latest revision, 4 unresolved discussions.

docs/overview.adoc, line 10 [r4] (raw file):

= Angular 2 Integration

While Vaadin Elements are built using Polymer, you need the [literal]#https://github.com/vaadin/angular2-polymer[@vaadin/angular2-polymer]# directive to enable seamless usage within Angular 2 applications.

Maybe start with “Since”?

docs/overview.adoc, line 14 [r4] (raw file):

The `angular2-polymer` is a directive factory that aims at bridging the gaps between using link:https://www.polymer-project.org[Polymer] based Web Components in link:https://angular.io/[Angular 2] applications.

It is able to scrap the Polymer element public API in order to define Angular 2 `outputs` and `inputs`, to apply the `ngControl` and the `ngForm` directives, and to observe DOM changes updating the element's DOM tree appropriately.

Better to say simply, “It scraps the Polymer element API”. Not only that it can scrap the API, but it also actually does it.

docs/overview.adoc, line 18 [r4] (raw file):

== Quick Start

. Install the `angular2-polymer` directive, and the Polymer element you want to use.

“Install the @vaadin/angular2-polymer package and the Polymer element...”

docs/overview.adoc, line 35 [r4] (raw file):

----

. Use the Angular 2 directive in your code.

“Import the Angular 2 directives and use them in your code”.
The SystemJS import step is missing here. I feel, that SystemJS configuration changes are too hard to explain here. Though it's better to mention, that there is an import step, that developers should care about. So I suggest to rephrase as “Import ... and use ...”, as quoted above.

Comments from Reviewable

Review status: all files reviewed at latest revision, 4 unresolved discussions.

docs/overview.adoc, line 10 [r4] (raw file):
Previously, platosha (Anton Platonov) wrote…
> Maybe start with “Since”?

Done.

docs/overview.adoc, line 14 [r4] (raw file):
Previously, platosha (Anton Platonov) wrote…
> Better to say simply, “It scraps the Polymer element API”. Not only that it can scrap the API, but it also actually does it.

Done.

docs/overview.adoc, line 18 [r4] (raw file):
Previously, platosha (Anton Platonov) wrote…
> “Install the `@vaadin/angular2-polymer` package and the Polymer element...”

Done.

docs/overview.adoc, line 35 [r4] (raw file):
Previously, platosha (Anton Platonov) wrote…
> “Import the Angular 2 directives and use them in your code”.
>
> The SystemJS import step is missing here. I feel, that SystemJS configuration changes are too hard to explain here. Though it's better to mention, that there is an import step, that developers should care about. So I suggest to rephrase as “Import ... and use ...”, as quoted above.

I will update this when public links in docsite works.

Comments from Reviewable

Reviewed 1 of 1 files at r5.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

Comments from Reviewable


storage: Sort volume list by type and name

Signed-off-by: Stéphane Graber<EMAIL_ADDRESS>

buildd03 fails with the forkstart issue. The rest is fine.


Custom home screen switch for Tables doesn't work

Custom home screen is always enabled. Force stopping the apps and resetting configuration also don't turn off custom home screen.

Ping, still doesn't work


Reduntant assignement of arr[i + max]

Godot version
4.0 ff0b5f8fa1be4ccd5b8de1d9d49f8a4b71439f63
Issue description
https://github.com/godotengine/godot/blob/ff0b5f8fa1be4ccd5b8de1d9d49f8a4b71439f63/core/debugger/remote_debugger.cpp#L409-L413

This was fixed by https://github.com/godotengine/godot/pull/59911.


refactor: state query error handling

Right now if you call a state query function (e.g. fn total_supply) and it is not allowed in the runtime (i.e. AllowedApiCall for RuntimeStateKeys #122) there is no error handling in api ink! library.
Edit: error handling was already implemented, the integration tests had to be refactored.

Closed by #133


feat(website-frontend): add new homepage

Will merge as soon as the pipelines are green.

Supersedes #392

Will Fix the e2e tests at a later time 😃