Homepage: redesign hero, add diagrams

@aeplay I didn't change the diagram colors. Just couldn't choose a gray shade 😄 Re light mode, will do it another day

Are you happy with this? @aeplay

Jazz is an open-source framework that lets you build apps around data that’s synced in real-time between devices and users. It replaces 90% of what frontend + backend stacks do.

I think it needs a bit of polishing. It's kinda bland, and the second sentence feels like it should be in the middle of a paragraph.
What about:

Jazz is an open-source framework for building apps with real-time data sync across devices and users.

It's an improvement. But the first sentence jumps from one topic to another. Everything else in the hero (aside from the last sentence) talks about the instant sync, then we jump right into how it eliminates a big chunk of the work.

@aeplay Other than the hero copy, what else do we need for this PR? Are you still working on the "hard things are easy now" section, and do you need some help? I think each of those items need a description. Something like this:

Move the paragraph up, and have a 4-col grid below it.

@trishalim ooh great idea. The features definitely deserve explanations. Would it be ok if I push an ugly version that has all the content and then you re-style/layout it?

@aeplay Yes, that's great.


Support Deno?

Turndown looks like a great library. I'd love to use it from Deno, but I'm running into some issues at the moment.
I'm using Skypack to grab a module-based build of Turndown:
import tds from<EMAIL_ADDRESS>
but due to https://github.com/fgnass/domino/issues/153, the domino dependency can't be built by Skypack.
I'm not sure what the fix is for that. But if there's a way to make turndown work with Deno, that'd be awesome.  😄

Skimming info about domino, I see:

In contrast to the original dom.js project, domino was not designed to run untrusted code.

Hmm, I definitely want to pass untrusted HTML to turndown (and in turn domino). Is that a security issue in turndown?

Don't know anything about Deno, but this would be solved by "Bring Your Own Parser for Node.js environments (as suggested in #97 and #265).
For the current version, you might want to suppress the domino dependency and parse HTML to DOM on your own (if your environment does not provide native DOM parser like browsers do). So you might want to
import tds from<EMAIL_ADDRESS>
Then convert your HTML string to HTML DOM with any parser than works for you and pass the DOM to TurndownService#turndown() (instead of the string).

In contrast to the original dom.js project, domino was not designed to run untrusted code.

Hmm, I definitely want to pass untrusted HTML to turndown (and in turn domino). Is that a security issue in turndown?

This is unrelated to your issue.

@NfNitLoop Please let me know if that works. :)

Whew.  That works with some very bleeding edge code. 😆

import tds from<EMAIL_ADDRESS>
// JSDOM imports .json files, which doesn't seem to work in deno/skypack:
// import * as jsdom from<EMAIL_ADDRESS>
// This one doesn't have a cloneNode() implementation yet:
// import { DOMParser, Element } from "https://deno.land/x/deno_dom/deno-dom-wasm.ts";

// So import directly from GitHub: 😬
import {DOMParser } from "https://github.com/b-fuze/deno-dom/raw/188d7240e5371caf1b4add8bb7183933d142337e/deno-dom-wasm.ts"

const parser = new DOMParser()
const service = new tds({})
function example(html: string) {
    const doc = parser.parseFromString(html, "text/html")
    if (!doc) { throw `failed to parse doc`}
    let result = service.turndown(doc)

    console.log("input:", html)
    console.log("output:", result)
}

example(`
    Link One Link Two
`)

This is what's working for me:
import TurndownService from<EMAIL_ADDRESS>import jsdom from<EMAIL_ADDRESS>
const { JSDOM } = jsdom as any;

// Create a global window.document so that there is a virtual DOM for Turndown
declare global {
  // deno-lint-ignore no-explicit-any
  var document: any;
  interface Window {
    // deno-lint-ignore no-explicit-any
    document: any;
  }
}
window.document = new JSDOM().window.document;

const turndownService = new TurndownService({});

...

let result = service.turndown(doc)

Trying to use import jsdom from<EMAIL_ADDRESS>I'm getting an error "Expected ';', '}' or  at https://cdn.skypack.dev/-/domexception@v2.0.1-kxjDS6kD0nfMOQ7rhR8X/dist=es2020,mode=imports/unoptimized/lib/legacy-error-codes.json:2:18", which is actually why I stumbled upon this issue. I was trying to consolidate so that I wasn't using two different CDNs, but I'm seeing the same JSDOM problem with skypack that you are.
I'm not really getting any type definitions this way, everything seems to be "any" that I'm importing, but aside from that this is working without raw GitHub imports.

I guess the default setup still just works for more Node.js users.
But feel free to contribute.


Installation of Unicon in Linux Alpine

Hello. Recently I've been trying to optimizing my containerized Python application by switching from Python's buster base image, to a Python Alpine image. All of my dependencies are installed during build time by using Poetry. I have a pyproject.toml file that lists all of my dependencies and installs them when I use poetry install. One of my dependencies is the Meraki Dashboard API package. That one doesn't give me any problems, but unfortunately it depends on unicon, hence why Im here. Whenever Poetry runs into unicon, it spits out the following error:
#0 37.24   RuntimeError
#0 37.24
#0 37.24   Unable to find installation candidates for unicon (23.4)
#0 37.24
#0 37.24   at /usr/local/lib/python3.8/site-packages/poetry/installation/chooser.py:109 in choose_for
#0 37.26       105│
#0 37.26       106│             links.append(link)
#0 37.26       107│
#0 37.26       108│         if not links:
#0 37.26     → 109│             raise RuntimeError(f"Unable to find installation candidates for {package}")
#0 37.26       110│
#0 37.26       111│         # Get the best link
#0 37.26       112│         chosen = max(links, key=lambda link: self._sort_key(package, link))
#0 37.26       113│

I've checked that the version is correct, that the docker container has the correct dependencies, even that my connection to the internet is stable. No matter what I do, I cannot get my alpine base image to properly install unicon. Is there any specific way that I need to know about? I found in a stackoverflow post, that alpine is kind of unreliable when it comes to Python packages that serve as wrappers for C or C++ code, but no other package is giving me this error. Im pretty sure it was my move to alpine, but I would appreciate the help if anyone could provide some advice into how I could get the project up and going with an alpine image.
Here's my dockerfile code for reference:
FROM python:3.8-alpine3.18

RUN apk update && apk add --no-cache --no-progress \
    bash \
    gcc \
    build-base \
    python3-dev \
    py3-pip \
    libffi-dev \
    pkgconfig \
    # TO CONVERT CRLF TO LF
    dos2unix \
    xvfb \
    wget \
    openssl \
    libssl1.1 \
    py-cryptography

# Set the default shell to bash
RUN sed -i -e "s/bin\/ash/bin\/bash/" /etc/passwd

# Move back to the default working directory for the app
WORKDIR /opt/app

# Copy the 'pyproject.toml' file, install the dependencies and then "activate"
# the environment by doing "poetry shell"
COPY pyproject.toml poetry.lock ./
RUN pip3 install poetry && poetry lock
RUN poetry add unicon
RUN poetry install

# Copy all project files
COPY . .

EXPOSE 8080

# Run the starting script inside the poetry environment
CMD ["poetry", "run", "sh", "entrypoint.sh"]

Hi Srujan,
Thanks for reaching out piestack support team, I will be looking at your ticket and reviewing it

iirc pypi does not allow whl file upload that is non gnu linux (manylinux1) or macos builds. so there is no whl file for unicon for alpine linux in pypi hence why the install fails

Any solution in that case?

Hi @eddysanoli,
Can you please check again we have added the package for Linux Alpine

Hi ,
Please can you share updates here .

Hi @eddysanoli,
Can you please check again we have added the package for Linux Alpine

you did not https://pypi.org/project/pyats.reporter/#files

Hi ,
Can you please check again we have added the package for Linux Alpine.

Hi ,
Please can you share updates here .

Hi ,
Please share the updates on above ticket If you need any further assistance .Please let me know .


add option in setup.py to install MIOpen and MIOpenGemm

The setup has MIOpen and MIOpenGEMM install by default. Do you need an option to turnoff and on the neural net requirements? @rrawther

PR #355 adds --neural_net no to turn off all NN setup


Entire page is  backdropped

Hi ,
I am trying to use model popup in one of my page, but when I click a button to open the popup, the popup comes but entire page will be blurred, so I can not close the popup.
Any tips for this issue.

Try checking the z-index of the blur-overlay. I assume it is set too high, causing it to overlay the modal too.

I tried to change the z-index also, but no luck

Hi, I have the same problem... The overlay covers the entire page, but the z-index is correct:
My problem is that I have the button-trigger AND the modal template in my nav header
What is the best way to solve this? (I have a loginComponent that have the template and the button to show the template, wich are both inside of my header component)
http://imgur.com/a/6S9i3
Richard

@vsanat you closed this issue, how do you solved your problem?


Add interpreter for Churchroad programs

Addresses #24.
By no means is this a complete interpreter, but it's a good foundation!

@ninehusky please fix merge conflicts and make sure tests pass before requesting review

Whoops! I think things are okay now :)

Make sure to merge main as well!

I think I've resolved all comments!


Feature Request: Support for Lucide Icons

Since Obsidian uses Lucide icons, I thought it would be neat if there was a variant of %icon% that could use the Lucide weather icons.

Sorry for the late reply but for some reason I never got a notification for this post? I only just saw this after getting a different notification today. I will have a look at the Lucide icons and see if they have enough to coincide with all the possible weather conditions. I will be uploading an update this weekend so I will look into this as soon as that is done.

No worries! Thanks for looking into it :]

I just want to inform everyone that this plugin in being discontinued. Open Weather has discontinued the API 2.5 on which this plugin is based. I have however created a new plugin using the Visual Crossing Weather API and it follows the same basic approach to representing the weather as this plugin did so it should be relatively easy to move over to the new plugin. While it is still in development it is almost 100% functional. The documentation however is almost non existent but the list of available macros is complete and is in a nicely formatted table for better viewing. I hope to have it published soon as it is very close to being completed. If you want to try it before it is released you can find it on Github here.
@angiioh I did look into this and while it could be doable it would actually be a lot of work and time consuming to find a matching icon for every possible weather condition. I may actually do this however with the new plugin as the default ones they provide are not all that appealing. Getting the new plugin finished and then published has to take all priority for now though.
Thank you, William McKeever


fail on install-snipe-dependancies

TASK [wiggels.snipeit : Install composer] ************************************************************************************************************************
changed: [k0cdf-srv1-snipeit]

TASK [wiggels.snipeit : Install snipe dependencies] **************************************************************************************************************
fatal: [k0cdf-srv1-snipeit]: FAILED! => {"changed": true, "cmd": "export COMPOSER_ALLOW_SUPERUSER=1; php composer.phar install --no-dev --prefer-source", "delta": "0:00:00.296074", "end": "2023-01-03 04:16:48.285597", "msg": "non-zero return code", "rc": 2, "start": "2023-01-03 04:16:47.989523", "stderr": "Installing dependencies from lock file\nVerifying lock file contents can be installed on current platform.\nYour lock file does not contain a compatible set of packages. Please run composer update.\n\n  Problem 1\n    - Root composer.json requires PHP extension ext-curl * but it is missing from your system. Install or enable PHP's curl extension.\n  Problem 2\n    - eduardokum/laravel-mail-auto-embed is locked to version 1.0.7 and an update of this package was not requested.\n    - eduardokum/laravel-mail-auto-embed 1.0.7 requires ext-curl * -> it is missing from your system. Install or enable PHP's curl extension.\n  Problem 3\n    - facade/ignition is locked to version 2.17.6 and an update of this package was not requested.\n    - facade/ignition 2.17.6 requires ext-curl * -> it is missing from your system. Install or enable PHP's curl extension.\n  Problem 4\n    - nette/schema is locked to version v1.2.2 and an update of this package was not requested.\n    - nette/schema v1.2.2 requires php >=7.1 <8.2 -> your php version (8.2.0) does not satisfy that requirement.\n  Problem 5\n    - nette/utils is locked to version v3.2.7 and an update of this package was not requested.\n    - nette/utils v3.2.7 requires php >=7.2 <8.2 -> your php version (8.2.0) does not satisfy that requirement.\n  Problem 6\n    - phpoffice/phpspreadsheet is locked to version 1.24.1 and an update of this package was not requested.\n    - phpoffice/phpspreadsheet 1.24.1 requires ext-gd * -> it is missing from your system. Install or enable PHP's gd extension.\n  Problem 7\n    - phpspec/prophecy is locked to version v1.15.0 and an update of this package was not requested.\n    - phpspec/prophecy v1.15.0 requires php ^7.2 || ~8.0, <8.2 -> your php version (8.2.0) does not satisfy that requirement.\n  Problem 8\n    - rollbar/rollbar is locked to version v2.1.0 and an update of this package was not requested.\n    - rollbar/rollbar v2.1.0 requires ext-curl * -> it is missing from your system. Install or enable PHP's curl extension.\n  Problem 9\n    - spatie/laravel-backup is locked to version 6.16.5 and an update of this package was not requested.\n    - spatie/laravel-backup 6.16.5 requires ext-zip ^1.14.0 -> it is missing from your system. Install or enable PHP's zip extension.\n  Problem 10\n    - tecnickcom/tc-lib-barcode is locked to version 1.17.14 and an update of this package was not requested.\n    - tecnickcom/tc-lib-barcode 1.17.14 requires ext-bcmath * -> it is missing from your system. Install or enable PHP's bcmath extension.\n  Problem 11\n    - nette/schema v1.2.2 requires php >=7.1 <8.2 -> your php version (8.2.0) does not satisfy that requirement.\n    - league/config v1.1.1 requires nette/schema ^1.2 -> satisfiable by nette/schema[v1.2.2].\n    - league/config is locked to version v1.1.1 and an update of this package was not requested.\n\nTo enable extensions, verify that they are enabled in your .ini files:\n    - /etc/php/8.2/cli/php.ini\n    - /etc/php/8.2/cli/conf.d/10-opcache.ini\n    - /etc/php/8.2/cli/conf.d/10-pdo.ini\n    - /etc/php/8.2/cli/conf.d/15-xml.ini\n    - /etc/php/8.2/cli/conf.d/20-calendar.ini\n    - /etc/php/8.2/cli/conf.d/20-ctype.ini\n    - /etc/php/8.2/cli/conf.d/20-dom.ini\n    - /etc/php/8.2/cli/conf.d/20-exif.ini\n    - /etc/php/8.2/cli/conf.d/20-ffi.ini\n    - /etc/php/8.2/cli/conf.d/20-fileinfo.ini\n    - /etc/php/8.2/cli/conf.d/20-ftp.ini\n    - /etc/php/8.2/cli/conf.d/20-gettext.ini\n    - /etc/php/8.2/cli/conf.d/20-iconv.ini\n    - /etc/php/8.2/cli/conf.d/20-phar.ini\n    - /etc/php/8.2/cli/conf.d/20-posix.ini\n    - /etc/php/8.2/cli/conf.d/20-readline.ini\n    - /etc/php/8.2/cli/conf.d/20-shmop.ini\n    - /etc/php/8.2/cli/conf.d/20-simplexml.ini\n    - /etc/php/8.2/cli/conf.d/20-sockets.ini\n    - /etc/php/8.2/cli/conf.d/20-sysvmsg.ini\n    - /etc/php/8.2/cli/conf.d/20-sysvsem.ini\n    - /etc/php/8.2/cli/conf.d/20-sysvshm.ini\n    - /etc/php/8.2/cli/conf.d/20-tokenizer.ini\n    - /etc/php/8.2/cli/conf.d/20-xmlreader.ini\n    - /etc/php/8.2/cli/conf.d/20-xmlwriter.ini\n    - /etc/php/8.2/cli/conf.d/20-xsl.ini\nYou can also run `php --ini` in a terminal to see which files are used by PHP in CLI mode.\nAlternatively, you can run Composer with `--ignore-platform-req=ext-curl --ignore-platform-req=ext-gd --ignore-platform-req=ext-zip --ignore-platform-req=ext-bcmath` to temporarily ignore these required extensions.", "stderr_lines": ["Installing dependencies from lock file", "Verifying lock file contents can be installed on current platform.", "Your lock file does not contain a compatible set of packages. Please run composer update.", "", "  Problem 1", "    - Root composer.json requires PHP extension ext-curl * but it is missing from your system. Install or enable PHP's curl extension.", "  Problem 2", "    - eduardokum/laravel-mail-auto-embed is locked to version 1.0.7 and an update of this package was not requested.", "    - eduardokum/laravel-mail-auto-embed 1.0.7 requires ext-curl * -> it is missing from your system. Install or enable PHP's curl extension.", "  Problem 3", "    - facade/ignition is locked to version 2.17.6 and an update of this package was not requested.", "    - facade/ignition 2.17.6 requires ext-curl * -> it is missing from your system. Install or enable PHP's curl extension.", "  Problem 4", "    - nette/schema is locked to version v1.2.2 and an update of this package was not requested.", "    - nette/schema v1.2.2 requires php >=7.1 <8.2 -> your php version (8.2.0) does not satisfy that requirement.", "  Problem 5", "    - nette/utils is locked to version v3.2.7 and an update of this package was not requested.", "    - nette/utils v3.2.7 requires php >=7.2 <8.2 -> your php version (8.2.0) does not satisfy that requirement.", "  Problem 6", "    - phpoffice/phpspreadsheet is locked to version 1.24.1 and an update of this package was not requested.", "    - phpoffice/phpspreadsheet 1.24.1 requires ext-gd * -> it is missing from your system. Install or enable PHP's gd extension.", "  Problem 7", "    - phpspec/prophecy is locked to version v1.15.0 and an update of this package was not requested.", "    - phpspec/prophecy v1.15.0 requires php ^7.2 || ~8.0, <8.2 -> your php version (8.2.0) does not satisfy that requirement.", "  Problem 8", "    - rollbar/rollbar is locked to version v2.1.0 and an update of this package was not requested.", "    - rollbar/rollbar v2.1.0 requires ext-curl * -> it is missing from your system. Install or enable PHP's curl extension.", "  Problem 9", "    - spatie/laravel-backup is locked to version 6.16.5 and an update of this package was not requested.", "    - spatie/laravel-backup 6.16.5 requires ext-zip ^1.14.0 -> it is missing from your system. Install or enable PHP's zip extension.", "  Problem 10", "    - tecnickcom/tc-lib-barcode is locked to version 1.17.14 and an update of this package was not requested.", "    - tecnickcom/tc-lib-barcode 1.17.14 requires ext-bcmath * -> it is missing from your system. Install or enable PHP's bcmath extension.", "  Problem 11", "    - nette/schema v1.2.2 requires php >=7.1 <8.2 -> your php version (8.2.0) does not satisfy that requirement.", "    - league/config v1.1.1 requires nette/schema ^1.2 -> satisfiable by nette/schema[v1.2.2].", "    - league/config is locked to version v1.1.1 and an update of this package was not requested.", "", "To enable extensions, verify that they are enabled in your .ini files:", "    - /etc/php/8.2/cli/php.ini", "    - /etc/php/8.2/cli/conf.d/10-opcache.ini", "    - /etc/php/8.2/cli/conf.d/10-pdo.ini", "    - /etc/php/8.2/cli/conf.d/15-xml.ini", "    - /etc/php/8.2/cli/conf.d/20-calendar.ini", "    - /etc/php/8.2/cli/conf.d/20-ctype.ini", "    - /etc/php/8.2/cli/conf.d/20-dom.ini", "    - /etc/php/8.2/cli/conf.d/20-exif.ini", "    - /etc/php/8.2/cli/conf.d/20-ffi.ini", "    - /etc/php/8.2/cli/conf.d/20-fileinfo.ini", "    - /etc/php/8.2/cli/conf.d/20-ftp.ini", "    - /etc/php/8.2/cli/conf.d/20-gettext.ini", "    - /etc/php/8.2/cli/conf.d/20-iconv.ini", "    - /etc/php/8.2/cli/conf.d/20-phar.ini", "    - /etc/php/8.2/cli/conf.d/20-posix.ini", "    - /etc/php/8.2/cli/conf.d/20-readline.ini", "    - /etc/php/8.2/cli/conf.d/20-shmop.ini", "    - /etc/php/8.2/cli/conf.d/20-simplexml.ini", "    - /etc/php/8.2/cli/conf.d/20-sockets.ini", "    - /etc/php/8.2/cli/conf.d/20-sysvmsg.ini", "    - /etc/php/8.2/cli/conf.d/20-sysvsem.ini", "    - /etc/php/8.2/cli/conf.d/20-sysvshm.ini", "    - /etc/php/8.2/cli/conf.d/20-tokenizer.ini", "    - /etc/php/8.2/cli/conf.d/20-xmlreader.ini", "    - /etc/php/8.2/cli/conf.d/20-xmlwriter.ini", "    - /etc/php/8.2/cli/conf.d/20-xsl.ini", "You can also run `php --ini` in a terminal to see which files are used by PHP in CLI mode.", "Alternatively, you can run Composer with `--ignore-platform-req=ext-curl --ignore-platform-req=ext-gd --ignore-platform-req=ext-zip --ignore-platform-req=ext-bcmath` to temporarily ignore these required extensions."], "stdout": "", "stdout_lines": []}

it looks like php is missing extensions (or they are there but composer update was not run)

ext-curl
ext-gd
ext-zip
ext-bcmath

some packages require php < 8.2 but php 8.2.0 is installed, violating that
maybe new versions of

nette/schema
nette/utils
phpspec/prophecy

is required
thats what I got from the error but I could be missing something

https://github.com/wiggels/ansible-role-snipe-it/blob/main/tasks/snipeit.yml#L57-L62
update line 58 to
ansible.builtin.shell: "export COMPOSER_ALLOW_SUPERUSER=1; php composer.phar update; php composer.phar install --no-dev --prefer-source"

maybe?

root@k0cdf-srv1-snipeit:/opt/snipe-it# export COMPOSER_ALLOW_SUPERUSER=1; php composer.phar update
Composer is operating significantly slower than normal because you do not have the PHP curl extension enabled.
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires PHP extension ext-curl * but it is missing from your system. Install or enable PHP's curl extension.
  Problem 2
    - Root composer.json requires spatie/laravel-backup ^6.16 -> satisfiable by spatie/laravel-backup[6.16.0, ..., 6.16.5].
    - spatie/laravel-backup[6.16.0, ..., 6.16.5] require ext-zip ^1.14.0 -> it is missing from your system. Install or enable PHP's zip extension.
  Problem 3
    - phpoffice/phpspreadsheet[1.15.0, ..., 1.26.0] require ext-gd * -> it is missing from your system. Install or enable PHP's gd extension.
    - maatwebsite/excel[3.1.0, ..., 3.1.25] require php ^7.0 -> your php version (8.2.0) does not satisfy that requirement.
    - mediconesystems/livewire-datatables[v0.5.0, ..., v0.5.4] require maatwebsite/excel ^3.1 -> satisfiable by maatwebsite/excel[3.1.0, ..., 3.1.45].
    - maatwebsite/excel[3.1.28, ..., 3.1.30] require phpoffice/phpspreadsheet 1.16.* -> satisfiable by phpoffice/phpspreadsheet[1.16.0].
    - maatwebsite/excel[3.1.31, ..., 3.1.45] require phpoffice/phpspreadsheet ^1.18 -> satisfiable by phpoffice/phpspreadsheet[1.18.0, ..., 1.26.0].
    - maatwebsite/excel 3.1.27 requires phpoffice/phpspreadsheet ^1.16 -> satisfiable by phpoffice/phpspreadsheet[1.16.0, ..., 1.26.0].
    - maatwebsite/excel 3.1.26 requires phpoffice/phpspreadsheet ^1.15 -> satisfiable by phpoffice/phpspreadsheet[1.15.0, ..., 1.26.0].
    - Root composer.json requires mediconesystems/livewire-datatables ^0.5.0 -> satisfiable by mediconesystems/livewire-datatables[v0.5.0, ..., v0.5.4].

To enable extensions, verify that they are enabled in your .ini files:
    - /etc/php/8.2/cli/php.ini
    - /etc/php/8.2/cli/conf.d/10-opcache.ini
    - /etc/php/8.2/cli/conf.d/10-pdo.ini
    - /etc/php/8.2/cli/conf.d/15-xml.ini
    - /etc/php/8.2/cli/conf.d/20-calendar.ini
    - /etc/php/8.2/cli/conf.d/20-ctype.ini
    - /etc/php/8.2/cli/conf.d/20-dom.ini
    - /etc/php/8.2/cli/conf.d/20-exif.ini
    - /etc/php/8.2/cli/conf.d/20-ffi.ini
    - /etc/php/8.2/cli/conf.d/20-fileinfo.ini
    - /etc/php/8.2/cli/conf.d/20-ftp.ini
    - /etc/php/8.2/cli/conf.d/20-gettext.ini
    - /etc/php/8.2/cli/conf.d/20-iconv.ini
    - /etc/php/8.2/cli/conf.d/20-phar.ini
    - /etc/php/8.2/cli/conf.d/20-posix.ini
    - /etc/php/8.2/cli/conf.d/20-readline.ini
    - /etc/php/8.2/cli/conf.d/20-shmop.ini
    - /etc/php/8.2/cli/conf.d/20-simplexml.ini
    - /etc/php/8.2/cli/conf.d/20-sockets.ini
    - /etc/php/8.2/cli/conf.d/20-sysvmsg.ini
    - /etc/php/8.2/cli/conf.d/20-sysvsem.ini
    - /etc/php/8.2/cli/conf.d/20-sysvshm.ini
    - /etc/php/8.2/cli/conf.d/20-tokenizer.ini
    - /etc/php/8.2/cli/conf.d/20-xmlreader.ini
    - /etc/php/8.2/cli/conf.d/20-xmlwriter.ini
    - /etc/php/8.2/cli/conf.d/20-xsl.ini
You can also run `php --ini` in a terminal to see which files are used by PHP in CLI mode.
Alternatively, you can run Composer with `--ignore-platform-req=ext-curl --ignore-platform-req=ext-zip --ignore-platform-req=ext-gd` to temporarily ignore these required extensions.

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
root@k0cdf-srv1-snipeit:/opt/snipe-it#

i logged in and manually ran my suggestion above and got this

The PHP deps should be installed with https://github.com/wiggels/ansible-role-snipe-it/blob/main/tasks/install_packages.yml. I will have to take a look tomorrow and troubleshoot it with the specific image you are using--there may be a config missing. I have tested in 20.04 and 22.04 VMs, but not containers.

if you have access to a proxmox hypervisor install... I am using the proxmox ubuntu 22.04 LXC template as my base

TASK [wiggels.snipeit : Install php 8.1] *************************************************************************************************************************
ok: [k0cdf-srv1-snipeit]

so your ansible is trying to install php 8.1 and then the php compose is running with php 8.2 for some reason

yeah this works
root@k0cdf-srv1-snipeit:/opt/snipe-it# export COMPOSER_ALLOW_SUPERUSER=1; php8.1 composer.phar update
Loading composer repositories with package information
Info from https://repo.packagist.org: #StandWithUkraine
Updating dependencies
Lock file operations: 1 install, 92 updates, 1 removal
  - Removing symfony/polyfill-php81 (v1.26.0)
  - Upgrading aws/aws-sdk-php (3.231.12 => 3.255.7)
  - Upgrading bacon/bacon-qr-code (2.0.7 => 2.0.8)
  - Upgrading brick/math (0.9.3 => 0.10.2)
  - Locking composer/semver (3.3.2)
  - Upgrading dflydev/dot-access-data (v3.0.1 => v3.0.2)
  - Upgrading doctrine/annotations (1.13.3 => 1.14.2)
  - Upgrading doctrine/collections (1.6.8 => 1.8.0)
  - Upgrading doctrine/dbal (3.3.7 => 3.5.2)
  - Upgrading doctrine/event-manager (1.1.1 => 1.2.0)
  - Upgrading doctrine/instantiator (1.4.1 => 1.5.0)
  - Upgrading dompdf/dompdf (v2.0.0 => v2.0.1)
  - Upgrading dragonmantank/cron-expression (v3.3.1 => v3.3.2)
  - Upgrading ezyang/htmlpurifier (v4.14.0 => v4.16.0)
  - Upgrading facade/flare-client-php (1.9.1 => 1.10.0)
  - Upgrading fakerphp/faker (v1.20.0 => v1.21.0)
  - Upgrading filp/whoops (2.14.5 => 2.14.6)
  - Upgrading firebase/php-jwt (v6.3.0 => v6.3.2)
  - Upgrading graham-campbell/result-type (v1.0.4 => v1.1.0)
  - Upgrading guzzlehttp/guzzle (7.4.5 => 7.5.0)
  - Upgrading guzzlehttp/promises (1.5.1 => 1.5.2)
  - Upgrading guzzlehttp/psr7 (2.4.0 => 2.4.3)
  - Upgrading laravel/dusk (v6.25.0 => v6.25.2)
  - Upgrading laravel/framework (v8.83.22 => v8.83.27)
  - Upgrading laravel/serializable-closure (v1.2.0 => v1.2.2)
  - Upgrading laravel/tinker (v2.7.2 => v2.7.3)
  - Upgrading lcobucci/jwt (4.1.5 => 4.3.0)
  - Upgrading league/commonmark (2.3.4 => 2.3.8)
  - Upgrading league/config (v1.1.1 => v1.2.0)
  - Upgrading league/flysystem (1.1.9 => 1.1.10)
  - Upgrading league/oauth2-server (8.3.5 => 8.3.6)
  - Upgrading league/uri (6.7.1 => 6.8.0)
  - Upgrading livewire/livewire (v2.10.6 => v2.10.8)
  - Upgrading maatwebsite/excel (3.1.40 => 3.1.45)
  - Upgrading maennchen/zipstream-php (2.2.1 => v2.4.0)
  - Upgrading markbaker/complex (3.0.1 => 3.0.2)
  - Upgrading markbaker/matrix (3.0.0 => 3.0.1)
  - Upgrading masterminds/html5 (2.7.5 => 2.7.6)
  - Upgrading maximebf/debugbar (v1.18.0 => v1.18.1)
  - Upgrading mockery/mockery (1.5.0 => 1.5.1)
  - Upgrading monolog/monolog (2.7.0 => 2.8.0)
  - Upgrading myclabs/php-enum (1.8.3 => 1.8.4)
  - Upgrading nesbot/carbon (2.59.1 => 2.64.1)
  - Upgrading nette/schema (v1.2.2 => v1.2.3)
  - Upgrading nette/utils (v3.2.7 => v3.2.8)
  - Upgrading nikic/php-parser (v4.14.0 => v4.15.2)
  - Upgrading phenx/php-svg-lib (0.4.1 => 0.5.0)
  - Upgrading php-webdriver/webdriver (1.12.1 => 1.13.1)
  - Upgrading phpdocumentor/type-resolver (1.6.1 => 1.6.2)
  - Upgrading phpoffice/phpspreadsheet (1.24.1 => 1.26.0)
  - Upgrading phpoption/phpoption (1.8.1 => 1.9.0)
  - Upgrading phpseclib/phpseclib (3.0.14 => 3.0.18)
  - Upgrading phpspec/prophecy (v1.15.0 => v1.16.0)
  - Upgrading phpunit/php-code-coverage (9.2.15 => 9.2.23)
  - Upgrading phpunit/phpunit (9.5.21 => 9.5.27)
  - Upgrading psr/log (1.1.4 => 2.0.0)
  - Upgrading psy/psysh (v0.11.7 => v0.11.10)
  - Upgrading ramsey/collection (1.2.2 => 2.0.0)
  - Upgrading ramsey/uuid (4.2.3 => 4.7.1)
  - Upgrading rollbar/rollbar (v2.1.0 => v3.1.4)
  - Upgrading sebastian/comparator (4.0.6 => 4.0.8)
  - Upgrading sebastian/exporter (4.0.4 => 4.0.5)
  - Upgrading sebastian/type (3.0.0 => 3.2.0)
  - Upgrading symfony/console (v5.4.10 => v5.4.17)
  - Upgrading symfony/css-selector (v4.4.37 => v4.4.44)
  - Upgrading symfony/deprecation-contracts (v2.5.2 => v3.2.0)
  - Upgrading symfony/dom-crawler (v4.4.42 => v4.4.45)
  - Upgrading symfony/error-handler (v5.4.9 => v5.4.17)
  - Upgrading symfony/event-dispatcher (v5.4.9 => v6.2.2)
  - Upgrading symfony/event-dispatcher-contracts (v2.5.2 => v3.2.0)
  - Upgrading symfony/finder (v5.4.8 => v5.4.17)
  - Upgrading symfony/http-foundation (v5.4.10 => v5.4.17)
  - Upgrading symfony/http-kernel (v5.4.10 => v5.4.18)
  - Upgrading symfony/mime (v5.4.10 => v5.4.17)
  - Upgrading symfony/polyfill-ctype (v1.26.0 => v1.27.0)
  - Upgrading symfony/polyfill-iconv (v1.26.0 => v1.27.0)
  - Upgrading symfony/polyfill-intl-grapheme (v1.26.0 => v1.27.0)
  - Upgrading symfony/polyfill-intl-idn (v1.26.0 => v1.27.0)
  - Upgrading symfony/polyfill-intl-normalizer (v1.26.0 => v1.27.0)
  - Upgrading symfony/polyfill-mbstring (v1.26.0 => v1.27.0)
  - Upgrading symfony/polyfill-php72 (v1.26.0 => v1.27.0)
  - Upgrading symfony/polyfill-php73 (v1.26.0 => v1.27.0)
  - Upgrading symfony/polyfill-php80 (v1.26.0 => v1.27.0)
  - Upgrading symfony/process (v5.4.8 => v5.4.11)
  - Upgrading symfony/psr-http-message-bridge (v2.1.2 => v2.1.4)
  - Upgrading symfony/routing (v5.4.8 => v5.4.17)
  - Upgrading symfony/string (v5.4.10 => v6.2.2)
  - Upgrading symfony/translation (v5.4.9 => v6.2.3)
  - Upgrading symfony/translation-contracts (v2.5.2 => v3.2.0)
  - Upgrading symfony/var-dumper (v5.4.9 => v5.4.17)
  - Upgrading tecnickcom/tc-lib-barcode (1.17.14 => 1.17.19)
  - Upgrading tecnickcom/tc-lib-color (1.14.14 => 1.14.18)
  - Upgrading tijsverkoyen/css-to-inline-styles (2.2.4 => 2.2.5)
  - Upgrading vlucas/phpdotenv (v5.4.1 => v5.5.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 194 installs, 0 updates, 0 removals
  - Downloading symfony/deprecation-contracts (v3.2.0)
  - Downloading psr/http-message (1.0.1)
  - Downloading psr/http-client (1.0.1)
  - Downloading ralouphie/getallheaders (3.0.3)
  - Downloading psr/http-factory (1.0.1)
  - Downloading guzzlehttp/psr7 (2.4.3)
  - Downloading guzzlehttp/promises (1.5.2)
  - Downloading guzzlehttp/guzzle (7.5.0)
  - Downloading symfony/polyfill-mbstring (v1.27.0)
  - Downloading alek13/slack (2.2.1)
  - Downloading tmilos/scim-schema (0.1)
  - Downloading tmilos/value (1.0.2)
  - Downloading tmilos/lexer (1.0.2)
  - Downloading tmilos/scim-filter-parser (1.3.0)
  - Downloading voku/portable-ascii (1.6.1)
  - Downloading symfony/polyfill-php80 (v1.27.0)
  - Downloading symfony/polyfill-ctype (v1.27.0)
  - Downloading phpoption/phpoption (1.9.0)
  - Downloading graham-campbell/result-type (v1.1.0)
  - Downloading vlucas/phpdotenv (v5.5.0)
  - Downloading symfony/css-selector (v4.4.44)
  - Downloading tijsverkoyen/css-to-inline-styles (2.2.5)
  - Downloading symfony/var-dumper (v5.4.17)
  - Downloading symfony/routing (v5.4.17)
  - Downloading symfony/process (v5.4.11)
  - Downloading symfony/polyfill-php72 (v1.27.0)
  - Downloading symfony/polyfill-intl-normalizer (v1.27.0)
  - Downloading symfony/polyfill-intl-idn (v1.27.0)
  - Downloading symfony/mime (v5.4.17)
  - Downloading symfony/polyfill-php73 (v1.27.0)
  - Downloading symfony/http-foundation (v5.4.17)
  - Downloading psr/event-dispatcher (1.0.0)
  - Downloading symfony/event-dispatcher-contracts (v3.2.0)
  - Downloading symfony/event-dispatcher (v6.2.2)
  - Downloading psr/log (2.0.0)
  - Downloading symfony/error-handler (v5.4.17)
  - Downloading symfony/http-kernel (v5.4.18)
  - Downloading symfony/finder (v5.4.17)
  - Downloading symfony/polyfill-intl-grapheme (v1.27.0)
  - Downloading symfony/string (v6.2.2)
  - Downloading psr/container (1.1.2)
  - Downloading symfony/service-contracts (v2.5.2)
  - Downloading symfony/console (v5.4.17)
  - Downloading symfony/polyfill-iconv (v1.27.0)
  - Downloading doctrine/lexer (1.2.3)
  - Downloading egulias/email-validator (2.1.25)
  - Downloading swiftmailer/swiftmailer (v6.3.0)
  - Downloading ramsey/collection (2.0.0)
  - Downloading brick/math (0.10.2)
  - Downloading ramsey/uuid (4.7.1)
  - Downloading psr/simple-cache (1.0.1)
  - Downloading opis/closure (3.6.3)
  - Downloading symfony/translation-contracts (v3.2.0)
  - Downloading symfony/translation (v6.2.3)
  - Downloading nesbot/carbon (2.64.1)
  - Downloading monolog/monolog (2.8.0)
  - Downloading league/mime-type-detection (1.11.0)
  - Downloading league/flysystem (1.1.10)
  - Downloading nette/utils (v3.2.8)
  - Downloading nette/schema (v1.2.3)
  - Downloading dflydev/dot-access-data (v3.0.2)
  - Downloading league/config (v1.2.0)
  - Downloading league/commonmark (2.3.8)
  - Downloading laravel/serializable-closure (v1.2.2)
  - Downloading webmozart/assert (1.11.0)
  - Downloading dragonmantank/cron-expression (v3.3.2)
  - Downloading doctrine/inflector (1.4.4)
  - Downloading laravel/framework (v8.83.27)
  - Downloading arietimmerman/laravel-scim-server (dev-master 2c7ecc4)
  - Downloading aws/aws-crt-php (v1.0.2)
  - Downloading maximebf/debugbar (v1.18.1)
  - Downloading barryvdh/laravel-debugbar (v3.7.0)
  - Downloading sabberworm/php-css-parser (8.4.0)
  - Downloading phenx/php-svg-lib (0.5.0)
  - Downloading phenx/php-font-lib (0.5.4)
  - Downloading masterminds/html5 (2.7.6)
  - Downloading dompdf/dompdf (v2.0.1)
  - Downloading barryvdh/laravel-dompdf (v2.0.0)
  - Downloading composer/semver (3.3.2)
  - Downloading dasprid/enum (1.0.3)
  - Downloading psr/cache (1.0.1)
  - Downloading doctrine/annotations (1.14.2)
  - Downloading doctrine/reflection (1.2.3)
  - Downloading doctrine/deprecations (v1.0.0)
  - Downloading doctrine/event-manager (1.2.0)
  - Downloading doctrine/collections (1.8.0)
  - Downloading doctrine/cache (1.13.0)
  - Downloading doctrine/persistence (1.3.8)
  - Downloading doctrine/common (2.13.3)
  - Downloading doctrine/dbal (3.5.2)
  - Downloading squizlabs/php_codesniffer (3.7.1)
  - Downloading eduardokum/laravel-mail-auto-embed (1.0.7)
  - Downloading enshrined/svg-sanitize (0.15.4)
  - Downloading erusev/parsedown (1.7.4)
  - Downloading facade/ignition-contracts (1.0.2)
  - Downloading facade/flare-client-php (1.10.0)
  - Downloading facade/ignition (2.17.6)
  - Downloading fakerphp/faker (v1.21.0)
  - Downloading fideloper/proxy (4.4.2)
  - Downloading asm89/stack-cors (v2.1.1)
  - Downloading fruitcake/laravel-cors (v2.2.0)
  - Downloading intervention/image (2.7.2)
  - Downloading javiereguiluz/easyslugger (v1.0.0)
  - Downloading php-webdriver/webdriver (1.13.1)
  - Downloading laravel/dusk (v6.25.2)
  - Downloading laravel/helpers (v1.5.0)
  - Downloading symfony/psr-http-message-bridge (v2.1.4)
  - Downloading paragonie/random_compat (v9.99.100)
  - Downloading paragonie/constant_time_encoding (v2.6.3)
  - Downloading phpseclib/phpseclib (3.0.18)
  - Downloading php-http/message-factory (v1.0.2)
  - Downloading nyholm/psr7 (1.5.1)
  - Downloading league/uri-interfaces (2.3.0)
  - Downloading league/uri (6.8.0)
  - Downloading league/event (2.2.0)
  - Downloading lcobucci/clock (2.0.0)
  - Downloading lcobucci/jwt (4.3.0)
  - Downloading defuse/php-encryption (v2.3.1)
  - Downloading league/oauth2-server (8.3.6)
  - Downloading firebase/php-jwt (v6.3.2)
  - Downloading laravel/passport (v10.4.1)
  - Downloading laravel/slack-notification-channel (v2.4.0)
  - Downloading nikic/php-parser (v4.15.2)
  - Downloading psy/psysh (v0.11.10)
  - Downloading laravel/tinker (v2.7.3)
  - Downloading laravel/ui (v3.4.6)
  - Downloading laravelcollective/html (v6.3.0)
  - Downloading league/csv (9.8.0)
  - Downloading mtdowling/jmespath.php (2.6.1)
  - Downloading aws/aws-sdk-php (3.255.7)
  - Downloading league/flysystem-aws-s3-v3 (1.0.30)
  - Downloading league/flysystem-cached-adapter (1.1.0)
  - Downloading markbaker/matrix (3.0.1)
  - Downloading markbaker/complex (3.0.2)
  - Downloading myclabs/php-enum (1.8.4)
  - Downloading maennchen/zipstream-php (v2.4.0)
  - Downloading ezyang/htmlpurifier (v4.16.0)
  - Downloading phpoffice/phpspreadsheet (1.26.0)
  - Downloading maatwebsite/excel (3.1.45)
  - Downloading livewire/livewire (v2.10.8)
  - Downloading mediconesystems/livewire-datatables (v0.5.4)
  - Downloading hamcrest/hamcrest-php (v2.0.1)
  - Downloading mockery/mockery (1.5.1)
  - Downloading neitanod/forceutf8 (v2.0.4)
  - Downloading filp/whoops (2.14.6)
  - Downloading nunomaduro/collision (v5.11.0)
  - Downloading robrichards/xmlseclibs (3.1.1)
  - Downloading onelogin/php-saml (3.6.1)
  - Downloading phpdocumentor/reflection-common (2.2.0)
  - Downloading phpdocumentor/type-resolver (1.6.2)
  - Downloading sebastian/recursion-context (4.0.4)
  - Downloading sebastian/exporter (4.0.5)
  - Downloading sebastian/diff (4.0.4)
  - Downloading sebastian/comparator (4.0.8)
  - Downloading phpdocumentor/reflection-docblock (5.3.0)
  - Downloading doctrine/instantiator (1.5.0)
  - Downloading phpspec/prophecy (v1.16.0)
  - Downloading phpunit/php-token-stream (3.1.3)
  - Downloading sebastian/version (3.0.2)
  - Downloading sebastian/type (3.2.0)
  - Downloading sebastian/resource-operations (3.0.3)
  - Downloading sebastian/object-reflector (2.0.4)
  - Downloading sebastian/object-enumerator (4.0.4)
  - Downloading sebastian/global-state (5.0.5)
  - Downloading sebastian/environment (5.1.4)
  - Downloading sebastian/code-unit (1.0.8)
  - Downloading sebastian/cli-parser (1.0.1)
  - Downloading phpunit/php-timer (5.0.3)
  - Downloading phpunit/php-text-template (2.0.4)
  - Downloading phpunit/php-invoker (3.1.1)
  - Downloading phpunit/php-file-iterator (3.0.6)
  - Downloading theseer/tokenizer (1.2.1)
  - Downloading sebastian/lines-of-code (1.0.3)
  - Downloading sebastian/complexity (2.0.2)
  - Downloading sebastian/code-unit-reverse-lookup (2.0.3)
  - Downloading phpunit/php-code-coverage (9.2.23)
  - Downloading phar-io/version (3.2.1)
  - Downloading phar-io/manifest (2.0.3)
  - Downloading myclabs/deep-copy (1.11.0)
  - Downloading phpunit/phpunit (9.5.27)
  - Downloading pragmarx/google2fa (v8.0.1)
  - Downloading bacon/bacon-qr-code (2.0.8)
  - Downloading pragmarx/google2fa-qrcode (v1.0.3)
  - Downloading pragmarx/google2fa-laravel (v1.4.1)
  - Downloading rollbar/rollbar (v3.1.4)
  - Downloading rollbar/rollbar-laravel (v7.2.0)
  - Downloading spatie/temporary-directory (1.3.0)
  - Downloading spatie/db-dumper (2.21.1)
  - Downloading spatie/laravel-backup (6.16.5)
  - Downloading symfony/dom-crawler (v4.4.45)
  - Downloading tecnickcom/tc-lib-color (1.14.18)
  - Downloading tecnickcom/tc-lib-barcode (1.17.19)
  - Downloading unicodeveloper/laravel-password (1.0.4)
  - Downloading watson/validating (6.1.1)
  - Installing symfony/deprecation-contracts (v3.2.0): Extracting archive
  - Installing psr/http-message (1.0.1): Extracting archive
  - Installing psr/http-client (1.0.1): Extracting archive
  - Installing ralouphie/getallheaders (3.0.3): Extracting archive
  - Installing psr/http-factory (1.0.1): Extracting archive
  - Installing guzzlehttp/psr7 (2.4.3): Extracting archive
  - Installing guzzlehttp/promises (1.5.2): Extracting archive
  - Installing guzzlehttp/guzzle (7.5.0): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.27.0): Extracting archive
  - Installing alek13/slack (2.2.1): Extracting archive
  - Installing tmilos/scim-schema (0.1): Extracting archive
  - Installing tmilos/value (1.0.2): Extracting archive
  - Installing tmilos/lexer (1.0.2): Extracting archive
  - Installing tmilos/scim-filter-parser (1.3.0): Extracting archive
  - Installing voku/portable-ascii (1.6.1): Extracting archive
  - Installing symfony/polyfill-php80 (v1.27.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.27.0): Extracting archive
  - Installing phpoption/phpoption (1.9.0): Extracting archive
  - Installing graham-campbell/result-type (v1.1.0): Extracting archive
  - Installing vlucas/phpdotenv (v5.5.0): Extracting archive
  - Installing symfony/css-selector (v4.4.44): Extracting archive
  - Installing tijsverkoyen/css-to-inline-styles (2.2.5): Extracting archive
  - Installing symfony/var-dumper (v5.4.17): Extracting archive
  - Installing symfony/routing (v5.4.17): Extracting archive
  - Installing symfony/process (v5.4.11): Extracting archive
  - Installing symfony/polyfill-php72 (v1.27.0): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.27.0): Extracting archive
  - Installing symfony/polyfill-intl-idn (v1.27.0): Extracting archive
  - Installing symfony/mime (v5.4.17): Extracting archive
  - Installing symfony/polyfill-php73 (v1.27.0): Extracting archive
  - Installing symfony/http-foundation (v5.4.17): Extracting archive
  - Installing psr/event-dispatcher (1.0.0): Extracting archive
  - Installing symfony/event-dispatcher-contracts (v3.2.0): Extracting archive
  - Installing symfony/event-dispatcher (v6.2.2): Extracting archive
  - Installing psr/log (2.0.0): Extracting archive
  - Installing symfony/error-handler (v5.4.17): Extracting archive
  - Installing symfony/http-kernel (v5.4.18): Extracting archive
  - Installing symfony/finder (v5.4.17): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.27.0): Extracting archive
  - Installing symfony/string (v6.2.2): Extracting archive
  - Installing psr/container (1.1.2): Extracting archive
  - Installing symfony/service-contracts (v2.5.2): Extracting archive
  - Installing symfony/console (v5.4.17): Extracting archive
  - Installing symfony/polyfill-iconv (v1.27.0): Extracting archive
  - Installing doctrine/lexer (1.2.3): Extracting archive
  - Installing egulias/email-validator (2.1.25): Extracting archive
  - Installing swiftmailer/swiftmailer (v6.3.0): Extracting archive
  - Installing ramsey/collection (2.0.0): Extracting archive
  - Installing brick/math (0.10.2): Extracting archive
  - Installing ramsey/uuid (4.7.1): Extracting archive
  - Installing psr/simple-cache (1.0.1): Extracting archive
  - Installing opis/closure (3.6.3): Extracting archive
  - Installing symfony/translation-contracts (v3.2.0): Extracting archive
  - Installing symfony/translation (v6.2.3): Extracting archive
  - Installing nesbot/carbon (2.64.1): Extracting archive
  - Installing monolog/monolog (2.8.0): Extracting archive
  - Installing league/mime-type-detection (1.11.0): Extracting archive
  - Installing league/flysystem (1.1.10): Extracting archive
  - Installing nette/utils (v3.2.8): Extracting archive
  - Installing nette/schema (v1.2.3): Extracting archive
  - Installing dflydev/dot-access-data (v3.0.2): Extracting archive
  - Installing league/config (v1.2.0): Extracting archive
  - Installing league/commonmark (2.3.8): Extracting archive
  - Installing laravel/serializable-closure (v1.2.2): Extracting archive
  - Installing webmozart/assert (1.11.0): Extracting archive
  - Installing dragonmantank/cron-expression (v3.3.2): Extracting archive
  - Installing doctrine/inflector (1.4.4): Extracting archive
  - Installing laravel/framework (v8.83.27): Extracting archive
  - Installing arietimmerman/laravel-scim-server (dev-master 2c7ecc4): Extracting archive
  - Installing aws/aws-crt-php (v1.0.2): Extracting archive
  - Installing maximebf/debugbar (v1.18.1): Extracting archive
  - Installing barryvdh/laravel-debugbar (v3.7.0): Extracting archive
  - Installing sabberworm/php-css-parser (8.4.0): Extracting archive
  - Installing phenx/php-svg-lib (0.5.0): Extracting archive
  - Installing phenx/php-font-lib (0.5.4): Extracting archive
  - Installing masterminds/html5 (2.7.6): Extracting archive
  - Installing dompdf/dompdf (v2.0.1): Extracting archive
  - Installing barryvdh/laravel-dompdf (v2.0.0): Extracting archive
  - Installing composer/semver (3.3.2): Extracting archive
  - Installing dasprid/enum (1.0.3): Extracting archive
  - Installing psr/cache (1.0.1): Extracting archive
  - Installing doctrine/annotations (1.14.2): Extracting archive
  - Installing doctrine/reflection (1.2.3): Extracting archive
  - Installing doctrine/deprecations (v1.0.0): Extracting archive
  - Installing doctrine/event-manager (1.2.0): Extracting archive
  - Installing doctrine/collections (1.8.0): Extracting archive
  - Installing doctrine/cache (1.13.0): Extracting archive
  - Installing doctrine/persistence (1.3.8): Extracting archive
  - Installing doctrine/common (2.13.3): Extracting archive
  - Installing doctrine/dbal (3.5.2): Extracting archive
  - Installing squizlabs/php_codesniffer (3.7.1): Extracting archive
  - Installing eduardokum/laravel-mail-auto-embed (1.0.7): Extracting archive
  - Installing enshrined/svg-sanitize (0.15.4): Extracting archive
  - Installing erusev/parsedown (1.7.4): Extracting archive
  - Installing facade/ignition-contracts (1.0.2): Extracting archive
  - Installing facade/flare-client-php (1.10.0): Extracting archive
  - Installing facade/ignition (2.17.6): Extracting archive
  - Installing fakerphp/faker (v1.21.0): Extracting archive
  - Installing fideloper/proxy (4.4.2): Extracting archive
  - Installing asm89/stack-cors (v2.1.1): Extracting archive
  - Installing fruitcake/laravel-cors (v2.2.0): Extracting archive
  - Installing intervention/image (2.7.2): Extracting archive
  - Installing javiereguiluz/easyslugger (v1.0.0): Extracting archive
  - Installing php-webdriver/webdriver (1.13.1): Extracting archive
  - Installing laravel/dusk (v6.25.2): Extracting archive
  - Installing laravel/helpers (v1.5.0): Extracting archive
  - Installing symfony/psr-http-message-bridge (v2.1.4): Extracting archive
  - Installing paragonie/random_compat (v9.99.100): Extracting archive
  - Installing paragonie/constant_time_encoding (v2.6.3): Extracting archive
  - Installing phpseclib/phpseclib (3.0.18): Extracting archive
  - Installing php-http/message-factory (v1.0.2): Extracting archive
  - Installing nyholm/psr7 (1.5.1): Extracting archive
  - Installing league/uri-interfaces (2.3.0): Extracting archive
  - Installing league/uri (6.8.0): Extracting archive
  - Installing league/event (2.2.0): Extracting archive
  - Installing lcobucci/clock (2.0.0): Extracting archive
  - Installing lcobucci/jwt (4.3.0): Extracting archive
  - Installing defuse/php-encryption (v2.3.1): Extracting archive
  - Installing league/oauth2-server (8.3.6): Extracting archive
  - Installing firebase/php-jwt (v6.3.2): Extracting archive
  - Installing laravel/passport (v10.4.1): Extracting archive
  - Installing laravel/slack-notification-channel (v2.4.0): Extracting archive
  - Installing nikic/php-parser (v4.15.2): Extracting archive
  - Installing psy/psysh (v0.11.10): Extracting archive
  - Installing laravel/tinker (v2.7.3): Extracting archive
  - Installing laravel/ui (v3.4.6): Extracting archive
  - Installing laravelcollective/html (v6.3.0): Extracting archive
  - Installing league/csv (9.8.0): Extracting archive
  - Installing mtdowling/jmespath.php (2.6.1): Extracting archive
  - Installing aws/aws-sdk-php (3.255.7): Extracting archive
  - Installing league/flysystem-aws-s3-v3 (1.0.30): Extracting archive
  - Installing league/flysystem-cached-adapter (1.1.0): Extracting archive
  - Installing markbaker/matrix (3.0.1): Extracting archive
  - Installing markbaker/complex (3.0.2): Extracting archive
  - Installing myclabs/php-enum (1.8.4): Extracting archive
  - Installing maennchen/zipstream-php (v2.4.0): Extracting archive
  - Installing ezyang/htmlpurifier (v4.16.0): Extracting archive
  - Installing phpoffice/phpspreadsheet (1.26.0): Extracting archive
  - Installing maatwebsite/excel (3.1.45): Extracting archive
  - Installing livewire/livewire (v2.10.8): Extracting archive
  - Installing mediconesystems/livewire-datatables (v0.5.4): Extracting archive
  - Installing hamcrest/hamcrest-php (v2.0.1): Extracting archive
  - Installing mockery/mockery (1.5.1): Extracting archive
  - Installing neitanod/forceutf8 (v2.0.4): Extracting archive
  - Installing filp/whoops (2.14.6): Extracting archive
  - Installing nunomaduro/collision (v5.11.0): Extracting archive
  - Installing robrichards/xmlseclibs (3.1.1): Extracting archive
  - Installing onelogin/php-saml (3.6.1): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing phpdocumentor/type-resolver (1.6.2): Extracting archive
  - Installing sebastian/recursion-context (4.0.4): Extracting archive
  - Installing sebastian/exporter (4.0.5): Extracting archive
  - Installing sebastian/diff (4.0.4): Extracting archive
  - Installing sebastian/comparator (4.0.8): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.3.0): Extracting archive
  - Installing doctrine/instantiator (1.5.0): Extracting archive
  - Installing phpspec/prophecy (v1.16.0): Extracting archive
  - Installing phpunit/php-token-stream (3.1.3): Extracting archive
  - Installing sebastian/version (3.0.2): Extracting archive
  - Installing sebastian/type (3.2.0): Extracting archive
  - Installing sebastian/resource-operations (3.0.3): Extracting archive
  - Installing sebastian/object-reflector (2.0.4): Extracting archive
  - Installing sebastian/object-enumerator (4.0.4): Extracting archive
  - Installing sebastian/global-state (5.0.5): Extracting archive
  - Installing sebastian/environment (5.1.4): Extracting archive
  - Installing sebastian/code-unit (1.0.8): Extracting archive
  - Installing sebastian/cli-parser (1.0.1): Extracting archive
  - Installing phpunit/php-timer (5.0.3): Extracting archive
  - Installing phpunit/php-text-template (2.0.4): Extracting archive
  - Installing phpunit/php-invoker (3.1.1): Extracting archive
  - Installing phpunit/php-file-iterator (3.0.6): Extracting archive
  - Installing theseer/tokenizer (1.2.1): Extracting archive
  - Installing sebastian/lines-of-code (1.0.3): Extracting archive
  - Installing sebastian/complexity (2.0.2): Extracting archive
  - Installing sebastian/code-unit-reverse-lookup (2.0.3): Extracting archive
  - Installing phpunit/php-code-coverage (9.2.23): Extracting archive
  - Installing phar-io/version (3.2.1): Extracting archive
  - Installing phar-io/manifest (2.0.3): Extracting archive
  - Installing myclabs/deep-copy (1.11.0): Extracting archive
  - Installing phpunit/phpunit (9.5.27): Extracting archive
  - Installing pragmarx/google2fa (v8.0.1): Extracting archive
  - Installing bacon/bacon-qr-code (2.0.8): Extracting archive
  - Installing pragmarx/google2fa-qrcode (v1.0.3): Extracting archive
  - Installing pragmarx/google2fa-laravel (v1.4.1): Extracting archive
  - Installing rollbar/rollbar (v3.1.4): Extracting archive
  - Installing rollbar/rollbar-laravel (v7.2.0): Extracting archive
  - Installing spatie/temporary-directory (1.3.0): Extracting archive
  - Installing spatie/db-dumper (2.21.1): Extracting archive
  - Installing spatie/laravel-backup (6.16.5): Extracting archive
  - Installing symfony/dom-crawler (v4.4.45): Extracting archive
  - Installing tecnickcom/tc-lib-color (1.14.18): Extracting archive
  - Installing tecnickcom/tc-lib-barcode (1.17.19): Extracting archive
  - Installing unicodeveloper/laravel-password (1.0.4): Extracting archive
  - Installing watson/validating (6.1.1): Extracting archive
Package doctrine/reflection is abandoned, you should avoid using it. Use roave/better-reflection instead.
Package swiftmailer/swiftmailer is abandoned, you should avoid using it. Use symfony/mailer instead.
Package phpunit/php-token-stream is abandoned, you should avoid using it. No replacement was suggested.

Use the `composer fund` command to find out more!
No security vulnerability advisories found
root@k0cdf-srv1-snipeit:/opt/snipe-it#

for some reason the php alias is not going to php8.1 but instead going to php8.2

i did
apt remove -y php8.2*

and now it gets past this point

Does the image come with php8.2 already installed? That is odd. But I can add a step to change symlink to ensure 8.1.

im not sure how I ended up with php2.8

Now that 8.2 is released, we can look at bumping it up in the defaults.
You should also be able to use:
snipe_php_ver: 8.2
in the role variables to use 8.2 instead or 8.1 -- prob easiest way to get it working for you.
I will need to do some upgrade testing before I change the default from 8.1 to 8.2 for everyone.

ok, ill nuke my container and re-run and see if it works now

TASK [wiggels.snipeit : Install composer] ************************************************************************************************************************
changed: [k0cdf-srv1-snipeit]

TASK [wiggels.snipeit : Install snipe dependencies] **************************************************************************************************************
fatal: [k0cdf-srv1-snipeit]: FAILED! => {"changed": true, "cmd": "export COMPOSER_ALLOW_SUPERUSER=1; php composer.phar install --no-dev --prefer-source", "delta": "0:00:00.345100", "end": "2023-01-05 22:01:42.349443", "msg": "non-zero return code", "rc": 2, "start": "2023-01-05 22:01:42.004343", "stderr": "Installing dependencies from lock file\nVerifying lock file contents can be installed on current platform.\nYour lock file does not contain a compatible set of packages. Please run composer update.\n\n  Problem 1\n    - Root composer.json requires PHP extension ext-curl * but it is missing from your system. Install or enable PHP's curl extension.\n  Problem 2\n    - eduardokum/laravel-mail-auto-embed is locked to version 1.0.7 and an update of this package was not requested.\n    - eduardokum/laravel-mail-auto-embed 1.0.7 requires ext-curl * -> it is missing from your system. Install or enable PHP's curl extension.\n  Problem 3\n    - facade/ignition is locked to version 2.17.6 and an update of this package was not requested.\n    - facade/ignition 2.17.6 requires ext-curl * -> it is missing from your system. Install or enable PHP's curl extension.\n  Problem 4\n    - nette/schema is locked to version v1.2.2 and an update of this package was not requested.\n    - nette/schema v1.2.2 requires php >=7.1 <8.2 -> your php version (8.2.0) does not satisfy that requirement.\n  Problem 5\n    - nette/utils is locked to version v3.2.7 and an update of this package was not requested.\n    - nette/utils v3.2.7 requires php >=7.2 <8.2 -> your php version (8.2.0) does not satisfy that requirement.\n  Problem 6\n    - phpoffice/phpspreadsheet is locked to version 1.24.1 and an update of this package was not requested.\n    - phpoffice/phpspreadsheet 1.24.1 requires ext-gd * -> it is missing from your system. Install or enable PHP's gd extension.\n  Problem 7\n    - phpspec/prophecy is locked to version v1.15.0 and an update of this package was not requested.\n    - phpspec/prophecy v1.15.0 requires php ^7.2 || ~8.0, <8.2 -> your php version (8.2.0) does not satisfy that requirement.\n  Problem 8\n    - rollbar/rollbar is locked to version v2.1.0 and an update of this package was not requested.\n    - rollbar/rollbar v2.1.0 requires ext-curl * -> it is missing from your system. Install or enable PHP's curl extension.\n  Problem 9\n    - spatie/laravel-backup is locked to version 6.16.5 and an update of this package was not requested.\n    - spatie/laravel-backup 6.16.5 requires ext-zip ^1.14.0 -> it is missing from your system. Install or enable PHP's zip extension.\n  Problem 10\n    - tecnickcom/tc-lib-barcode is locked to version 1.17.14 and an update of this package was not requested.\n    - tecnickcom/tc-lib-barcode 1.17.14 requires ext-bcmath * -> it is missing from your system. Install or enable PHP's bcmath extension.\n  Problem 11\n    - nette/schema v1.2.2 requires php >=7.1 <8.2 -> your php version (8.2.0) does not satisfy that requirement.\n    - league/config v1.1.1 requires nette/schema ^1.2 -> satisfiable by nette/schema[v1.2.2].\n    - league/config is locked to version v1.1.1 and an update of this package was not requested.\n\nTo enable extensions, verify that they are enabled in your .ini files:\n    - /etc/php/8.2/cli/php.ini\n    - /etc/php/8.2/cli/conf.d/10-opcache.ini\n    - /etc/php/8.2/cli/conf.d/10-pdo.ini\n    - /etc/php/8.2/cli/conf.d/15-xml.ini\n    - /etc/php/8.2/cli/conf.d/20-calendar.ini\n    - /etc/php/8.2/cli/conf.d/20-ctype.ini\n    - /etc/php/8.2/cli/conf.d/20-dom.ini\n    - /etc/php/8.2/cli/conf.d/20-exif.ini\n    - /etc/php/8.2/cli/conf.d/20-ffi.ini\n    - /etc/php/8.2/cli/conf.d/20-fileinfo.ini\n    - /etc/php/8.2/cli/conf.d/20-ftp.ini\n    - /etc/php/8.2/cli/conf.d/20-gettext.ini\n    - /etc/php/8.2/cli/conf.d/20-iconv.ini\n    - /etc/php/8.2/cli/conf.d/20-phar.ini\n    - /etc/php/8.2/cli/conf.d/20-posix.ini\n    - /etc/php/8.2/cli/conf.d/20-readline.ini\n    - /etc/php/8.2/cli/conf.d/20-shmop.ini\n    - /etc/php/8.2/cli/conf.d/20-simplexml.ini\n    - /etc/php/8.2/cli/conf.d/20-sockets.ini\n    - /etc/php/8.2/cli/conf.d/20-sysvmsg.ini\n    - /etc/php/8.2/cli/conf.d/20-sysvsem.ini\n    - /etc/php/8.2/cli/conf.d/20-sysvshm.ini\n    - /etc/php/8.2/cli/conf.d/20-tokenizer.ini\n    - /etc/php/8.2/cli/conf.d/20-xmlreader.ini\n    - /etc/php/8.2/cli/conf.d/20-xmlwriter.ini\n    - /etc/php/8.2/cli/conf.d/20-xsl.ini\nYou can also run `php --ini` in a terminal to see which files are used by PHP in CLI mode.\nAlternatively, you can run Composer with `--ignore-platform-req=ext-curl --ignore-platform-req=ext-gd --ignore-platform-req=ext-zip --ignore-platform-req=ext-bcmath` to temporarily ignore these required extensions.", "stderr_lines": ["Installing dependencies from lock file", "Verifying lock file contents can be installed on current platform.", "Your lock file does not contain a compatible set of packages. Please run composer update.", "", "  Problem 1", "    - Root composer.json requires PHP extension ext-curl * but it is missing from your system. Install or enable PHP's curl extension.", "  Problem 2", "    - eduardokum/laravel-mail-auto-embed is locked to version 1.0.7 and an update of this package was not requested.", "    - eduardokum/laravel-mail-auto-embed 1.0.7 requires ext-curl * -> it is missing from your system. Install or enable PHP's curl extension.", "  Problem 3", "    - facade/ignition is locked to version 2.17.6 and an update of this package was not requested.", "    - facade/ignition 2.17.6 requires ext-curl * -> it is missing from your system. Install or enable PHP's curl extension.", "  Problem 4", "    - nette/schema is locked to version v1.2.2 and an update of this package was not requested.", "    - nette/schema v1.2.2 requires php >=7.1 <8.2 -> your php version (8.2.0) does not satisfy that requirement.", "  Problem 5", "    - nette/utils is locked to version v3.2.7 and an update of this package was not requested.", "    - nette/utils v3.2.7 requires php >=7.2 <8.2 -> your php version (8.2.0) does not satisfy that requirement.", "  Problem 6", "    - phpoffice/phpspreadsheet is locked to version 1.24.1 and an update of this package was not requested.", "    - phpoffice/phpspreadsheet 1.24.1 requires ext-gd * -> it is missing from your system. Install or enable PHP's gd extension.", "  Problem 7", "    - phpspec/prophecy is locked to version v1.15.0 and an update of this package was not requested.", "    - phpspec/prophecy v1.15.0 requires php ^7.2 || ~8.0, <8.2 -> your php version (8.2.0) does not satisfy that requirement.", "  Problem 8", "    - rollbar/rollbar is locked to version v2.1.0 and an update of this package was not requested.", "    - rollbar/rollbar v2.1.0 requires ext-curl * -> it is missing from your system. Install or enable PHP's curl extension.", "  Problem 9", "    - spatie/laravel-backup is locked to version 6.16.5 and an update of this package was not requested.", "    - spatie/laravel-backup 6.16.5 requires ext-zip ^1.14.0 -> it is missing from your system. Install or enable PHP's zip extension.", "  Problem 10", "    - tecnickcom/tc-lib-barcode is locked to version 1.17.14 and an update of this package was not requested.", "    - tecnickcom/tc-lib-barcode 1.17.14 requires ext-bcmath * -> it is missing from your system. Install or enable PHP's bcmath extension.", "  Problem 11", "    - nette/schema v1.2.2 requires php >=7.1 <8.2 -> your php version (8.2.0) does not satisfy that requirement.", "    - league/config v1.1.1 requires nette/schema ^1.2 -> satisfiable by nette/schema[v1.2.2].", "    - league/config is locked to version v1.1.1 and an update of this package was not requested.", "", "To enable extensions, verify that they are enabled in your .ini files:", "    - /etc/php/8.2/cli/php.ini", "    - /etc/php/8.2/cli/conf.d/10-opcache.ini", "    - /etc/php/8.2/cli/conf.d/10-pdo.ini", "    - /etc/php/8.2/cli/conf.d/15-xml.ini", "    - /etc/php/8.2/cli/conf.d/20-calendar.ini", "    - /etc/php/8.2/cli/conf.d/20-ctype.ini", "    - /etc/php/8.2/cli/conf.d/20-dom.ini", "    - /etc/php/8.2/cli/conf.d/20-exif.ini", "    - /etc/php/8.2/cli/conf.d/20-ffi.ini", "    - /etc/php/8.2/cli/conf.d/20-fileinfo.ini", "    - /etc/php/8.2/cli/conf.d/20-ftp.ini", "    - /etc/php/8.2/cli/conf.d/20-gettext.ini", "    - /etc/php/8.2/cli/conf.d/20-iconv.ini", "    - /etc/php/8.2/cli/conf.d/20-phar.ini", "    - /etc/php/8.2/cli/conf.d/20-posix.ini", "    - /etc/php/8.2/cli/conf.d/20-readline.ini", "    - /etc/php/8.2/cli/conf.d/20-shmop.ini", "    - /etc/php/8.2/cli/conf.d/20-simplexml.ini", "    - /etc/php/8.2/cli/conf.d/20-sockets.ini", "    - /etc/php/8.2/cli/conf.d/20-sysvmsg.ini", "    - /etc/php/8.2/cli/conf.d/20-sysvsem.ini", "    - /etc/php/8.2/cli/conf.d/20-sysvshm.ini", "    - /etc/php/8.2/cli/conf.d/20-tokenizer.ini", "    - /etc/php/8.2/cli/conf.d/20-xmlreader.ini", "    - /etc/php/8.2/cli/conf.d/20-xmlwriter.ini", "    - /etc/php/8.2/cli/conf.d/20-xsl.ini", "You can also run `php --ini` in a terminal to see which files are used by PHP in CLI mode.", "Alternatively, you can run Composer with `--ignore-platform-req=ext-curl --ignore-platform-req=ext-gd --ignore-platform-req=ext-zip --ignore-platform-req=ext-bcmath` to temporarily ignore these required extensions."], "stdout": "", "stdout_lines": []}

its failing. the versions of packages you are installing with composer want less than php v8.2

is there any progress on this? if I do a manual source install of snipe-it following the snipe-it docs will I be able to use this to keep it up to date in the future?


Add persistent communication routines.

I examined all examples including a multi-scale calculation and confirmed that results don't change. So I merge this PR.


Loading assemblies doesn't work in Terminal until I press Tab on the class name

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
At least for System.Windows.Media.GlyphTypeface, just loading PF with Add-Type isn't enough. I keep getting “Unable to find type” until I type all or part of the class without the closing bracket and try to autocomplete (I'm using PSReadLine).
It also fails with a test .ps1 file, and even if I rename Documents/PowerShell so it doesn't interefere.
addtype-bug.ps1.txt
Expected behavior
> [System.Windows.Media.GlyphTypeface]
InvalidOperation: Unable to find type [System.Windows.Media.GlyphTypeface].
> Add-Type -AssemblyName PresentationFramework
> [System.Windows.Media.GlyphTypeface]

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     False    GlyphTypeface                            System.Object

### Actual behavior

> [System.Windows.Media.GlyphTypeface]
InvalidOperation: Unable to find type [System.Windows.Media.GlyphTypeface].
> Add-Type -AssemblyName PresentationFramework
> [System.Windows.Media.GlyphTypeface]
InvalidOperation: Unable to find type [System.Windows.Media.GlyphTypeface].
> [System.Windows.Media.GlyphTypeface]
InvalidOperation: Unable to find type [System.Windows.Media.GlyphTypeface].
> [System.Windows.Media.GlyphTypeface«TAB»]

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     False    GlyphTypeface                            System.Object

Error details
> Get-Error

Type        : System.Management.Automation.RuntimeException
ErrorRecord :
    Exception             :
        Type    : System.Management.Automation.ParentContainsErrorRecordException
        Message : Unable to find type [System.Windows.Media.GlyphTypeface].
        HResult : -2146233087
    TargetObject          : System.Windows.Media.GlyphTypeface
    CategoryInfo          : InvalidOperation: (System.Windows.Media.GlyphTypeface:TypeName) [],
ParentContainsErrorRecordException
    FullyQualifiedErrorId : TypeNotFound
    InvocationInfo        :
        ScriptLineNumber : 1
        OffsetInLine     : 1
        HistoryId        : -1
        Line             : [System.Windows.Media.GlyphTypeface]
        PositionMessage  : At line:1 char:1
                           + [System.Windows.Media.GlyphTypeface]
                           + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        CommandOrigin    : Internal
    ScriptStackTrace      : at <ScriptBlock>, <No file>: line 1
TargetSite  :
    Name          : Invoke
    DeclaringType : System.Management.Automation.Runspaces.PipelineBase, System.Management.Automation,
Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35
    MemberType    : Method
    Module        : System.Management.Automation.dll
Message     : Unable to find type [System.Windows.Media.GlyphTypeface].
Data        : System.Collections.ListDictionaryInternal
Source      : System.Management.Automation
HResult     : -2146233087
StackTrace  :
   at System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input) in
System.Management.Automation.dll:token 0x600537f+0xb0
   at System.Management.Automation.Runspaces.Pipeline.Invoke() in System.Management.Automation.dll:token 0x600535d+0x0
   at Microsoft.PowerShell.Executor.ExecuteCommandHelper(Pipeline tempPipeline, Exception& exceptionThrown,
ExecutionOptions options) in Microsoft.PowerShell.ConsoleHost.dll:token 0x600023c+0x153

Environment data
> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.2.0-preview.9
PSEdition                      Core
GitCommitId                    7.2.0-preview.9
OS                             Microsoft Windows 10.0.19043
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Visuals
No response

The type System.Windows.Media.GlyphTypeface is located into the assembly PresentationCore
Add-Type -AssemblyName PresentationCore
[System.Windows.Media.GlyphTypeface]

But the assembly PresentationFramework has a referency to assembly PresentationCore, so it should work as expected.
As a workaround, if you use the passthru parameter, it loads all the referencies assemblies.
Add-Type -AssemblyName PresentationFramework -PassThru | Out-Null
[System.Windows.Media.GlyphTypeface]

The Cmdlet Add-Type doesn't load the referenced assemblies until the method GetTypes is executed on the assembly object.
This raw dotnet code demonstrates it :
> [System.Reflection.Assembly]::LoadFrom("$PSHome\PresentationFramework.dll") | Out-Null
> [System.Windows.Media.GlyphTypeface]

InvalidOperation: Unable to find type [System.Windows.Media.GlyphTypeface]

> [System.Reflection.Assembly]::LoadFrom("$PSHome\PresentationFramework.dll").GetTypes() | Out-Null
> [System.Windows.Media.GlyphTypeface]

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     False    GlyphTypeface                            System.Object

On Windows PowerShell, it works
> [System.Reflection.Assembly]::LoadWithPartialName("PresentationFramework") | Out-Null
> [System.Windows.Media.GlyphTypeface]

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     False    GlyphTypeface                            System.Object

That's happening when the switch parameter PassThru is used
https://github.com/PowerShell/PowerShell/blob/883ca98dd74ea13b3d8c0dd62d301963a40483d6/src/Microsoft.PowerShell.Commands.Utility/commands/utility/AddType.cs#L895-L898
or when the completion occurs interactively.
https://github.com/PowerShell/PowerShell/blob/17986d88c10eb6271b1aad2ca955889e45e2b285/src/System.Management.Automation/engine/CommandCompletion/CompletionCompleters.cs#L6357-L6376
3 possibles solutions :

Add assembly.GetTypes() to force the loading of dependencies https://github.com/PowerShell/PowerShell/blob/883ca98dd74ea13b3d8c0dd62d301963a40483d6/src/Microsoft.PowerShell.Commands.Utility/commands/utility/AddType.cs#L671-L676
Add a new switch parameter like "ImportDependencies"
Add a workaround in documentation :  use PassThru to force the loading of the referenced assemblies

/cc @rjmholt @vexx32

The type System.Windows.Media.GlyphTypeface is located into the assembly PresentationCore

Thanks Flavien, somehow I mixed up the two assemblies. For now loading the correct one directly serves me.
I did notice that autocompletion in general makes PS load additional assemblies (per CurrentDomain.GetAssemblies()).

Since it is standard assembly in distribution it make sense to preprocess it in TypeGen.

@iSazonov I agree with you for this particular type, but I don't think it will not solve the problem at the root.
I downloaded a random nuget package without the dependencies.
You can compare the difference in behavior between Windows PowerShell and PowerShell: there is a regression for referenced assemblies.
I understand there is a lot of technical changes around AppDomain, GAC, ALC, etc .. but at end, the behaviour is different.
Windows PowerShell
> add-type -Path C:\temp\system.interactive.async.5.0.0\lib\netstandard2.0\System.Interactive.Async.dll
add-type : Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.

> $error[0].Exception.LoaderExceptions
Could not load file or assembly 'Microsoft.Bcl.AsyncInterfaces, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The system cannot find the file specified.
...

PowerShell
> add-type -Path C:\Temp\system.interactive.async.5.0.0\lib\netstandard2.0\System.Interactive.Async.dll
> add-type -Path C:\Temp\system.interactive.async.5.0.0\lib\netstandard2.0\System.Interactive.Async.dll -PassThru
Add-Type: Unable to load one or more of the requested types.
Could not load file or assembly 'Microsoft.Bcl.AsyncInterfaces, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified.
...

We could simply document -PassThrou as workaround since it is .Net Core behavior.

I don't think it's unreasonable for folks to expect Add-Type to do what it says on the tin and actually import the types into the session. 🤔

Note that loading referenced assemblies could break some scenarios. If an assembly is referenced, but you never call a code path that triggers that assembly to load, you don't technically have to ship that assembly.
I've seen modules rely on this behavior (even though it can sort of break tab completion of type names).

I don't think it's unreasonable for folks to expect Add-Type to do what it says on the tin and actually import the types into the session. 🤔

I mean it kinda did though. PresentationFramework would maybe be worth an exception since it's really more like a group of assemblies.  But if I try to load System.Collections.Immutable.dll I wouldn't expect to be able to use System.Runtime.CompilerServices.Unsafe just because it happens to depend on it.

The Engine WG discussed this issue in today's meeting.
This is by design, and while the disparity between how assemblies are handled when doing tab-completion vs simply looking up the type is unfortunate, it's not particularly feasible to fix it. The behaviour stems from .NET itself; it doesn't load everything an assembly might need by default, instead deferring the loading until the types are actually required.
Due to how tab completion has to work, its enumeration of the types on the assembly ends up triggering the loading behaviour, but we don't think it's a good idea to mimic that behaviour for all type lookups as it can be quite expensive. Equally, because the behaviour stems from .NET, tab completion isn't in any way "aware" that it's triggering assembly loads, and while it might be useful to provide some kind of warning to users that they may want to load additional assemblies in a script context, it's not feasible to do so.


Fix: duplicate entries on running add subcommand multiple times

This fixes a bug where running the add subcommand multiple times on the same directory would create multiple entries of it.
It will throw an error Error: project already exists.

Fixes #7

LGTM!
Just another minor in the PR, can you squash these 3 commits into a single commit?
How to do it?

Stackoverflow
FreeCodeCamp

Hey, can you help me in squashing the commits  into one. The inital commits were made in the main branch, but the final commit was made in the new branch.
i tried git rebase -i HEAD~3 then renamed push to squash for two commits but for some reason its not working ! what to do now? Any help?

I guess i made it worse again. Should i delete my fork and create a new fork?

force pushing helped here. Thanks for telling me about squashing, this was a new thing that i learned today. Next time i will all this in mind so i wont have to force push

Glad you learned something. But you forgot to sign the commit.
run git commit --amend --signoff then git push -f.

How to sign-off when committing something:
git commit -s -m "title" -m "explanations"
The -s here signs your commit.

I had signed it, and now again I signed it again, following the above-mentioned steps. Where am i going wrong here ?

@sidkhuntia -s sign is used for the DOC.
What GitHub means by signing the with a unique key. This is what they mean This has an entire process of making entering Name, email and a passphrase.

So there is a difference between -s and -S ? I used the -s flag to sign and when I checked by commit it said it was signed off.
Thanks for pointing that out. I learned something new again 🙌


Understandable typo

The project must share the right language/locale and the gender properties as the data you intent to use for your voice training.
should be
The project must share the right language/locale and the gender properties as the data you intend to use for your voice training.
"intent" should be swapped to "intend". Both words sound very similar so it's possible that, ironically given this is about training voice datasets, speech-to-text was used to create content for the page at one point at it wasn't caught as a typo.

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

ID: 5f0fa35c-379f-a8e4-01ec-fb5658ea81e7
Version Independent ID: a17d066a-0c65-b956-ed1a-8503e3e17f6f
Content: Create a Custom Voice - Speech service - Azure Cognitive Services
Content Source: articles/cognitive-services/Speech-Service/how-to-custom-voice-create-voice.md
Service: cognitive-services
Sub-service: speech-service
GitHub Login: @erhopf
Microsoft Alias: erhopf

@DamonStamper we'll review your feedback and get back to you shortly. Thanks.

@DamonStamper the document will be updated shortly. Thanks again for your feedback!

The doc has been updated and the changes will go live on 9/22
@DamonStamper - Thanks for your feedback.
#please-close


PMM-11497 update dependencies

@BupycHuk Upstream is abandoned, I think we can get rid of vendor here

@artemgavrilov good point, but out of the scope of this task. I'll create a task


⛏ Write a test to fetch schema of a GraphQL API

💭 Introduction:
🎯 Requirements:
✅ Task summary:
Write an API test to check if GraphQL introspection query is enabled. Please provide the following -

Reference URL - where you took the inspiration
A Nuclei template similar to this or a Java template similar to this

✌🏻 Hints:

Write a level-1 test to just fetch query names using query {__schema{queryType{fields{name}}}}
Write a ninja-query to fetch everything

"fragment FullType on __Type {\n  kind\n  name\n  fields(includeDeprecated: true) {\n    name\n    args {\n      ...InputValue\n    }\n    type {\n      ...TypeRef\n    }\n    isDeprecated\n    deprecationReason\n  }\n  inputFields {\n    ...InputValue\n  }\n  interfaces {\n    ...TypeRef\n  }\n  enumValues(includeDeprecated: true) {\n    name\n    isDeprecated\n    deprecationReason\n  }\n  possibleTypes {\n    ...TypeRef\n  }\n}\nfragment InputValue on __InputValue {\n  name\n  type {\n    ...TypeRef\n  }\n  defaultValue\n}\nfragment TypeRef on __Type {\n  kind\n  name\n  ofType {\n    kind\n    name\n    ofType {\n      kind\n      name\n      ofType {\n        kind\n        name\n        ofType {\n          kind\n          name\n          ofType {\n            kind\n            name\n            ofType {\n              kind\n              name\n              ofType {\n                kind\n                name\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}\nquery IntrospectionQuery {\n  __schema {\n    queryType {\n      name\n    }\n    mutationType {\n      name\n    }\n    types {\n      ...FullType\n    }\n    directives {\n      name\n      locations\n      args {\n        ...InputValue\n      }\n    }\n  }\n}\n"

🙋🏼♂ Questions:
If you have questions, need any help, or just want to hang out, make sure to join us on our Discord server.

Reference URL - https://infosecwriteups.com/hacking-graphql-part-1-61d7a31b30c3
Test #akto-api-security/tests-library#9

Hi @marksowell thanks for your submission in Hackfest. 🔥 We are reviewing your work. Do these two below:
Join this group on discord for discussions around prizes? 🚀 🏆
Please fill this form your PR to be considered for prizes!


Allow PropertyGrid to Create Generics of Undefined

Right now, the Object Inspector can edit any List, but is only able to create one when T is pre-defined.
There should be a UI for manually selecting T when creating a new List without knowing what T could be. It also should pop up when T can be derived from previous elements in a list, but isn't strictly bound to be exactly one Type.
Generics should show up in the generalized create object dialog.

This appears more and more like a rather obscure thing to have. Closing this for now. Reconsider when needed.


Bad path from overlay pod to gateway of underlay subnets

Bug Report
Type: bug report
What happened
Bad network path from overlay pod to gateway of underlay subnets, when ping underlay gateway from overlay pod, unexpected neighbor event comes from vxlan interface.
What you expected to happen
We expect overlay pod will react underlay gateway on a underlay+snat network path.
How to reproduce it (as minimally and precisely as possible)
Ping underlay gateway from overlay pod.
Anything else we need to know?
Beside underlay gateway, if we only use part of a underlay subnet, the rest IPs will have the same problem as gateway.
Environment

rama version:
OS (e.g. cat /etc/os-release):
Kernel (e.g. uname -a):
Kubernetes version:
Install tools:
Others:

For the limits of kernel policy routing, we don't have a suitable way to skip rama ip-rules by destination ip. So it seems using both policy route and iptables/ipset mark function is the most suitable way to fix this.

A similar condition is, underlay pod subnet is overlapped with node subnet. But this might be quite different. Detecting if a node has a local ip address in underlay pod subnet might be a solution, if does, do not add any routes for the overlapped underlay subnet.

Actually, this is why overlay pod cannot access to underlay pod gateway.