UP-4816: Auto handle line ending formats across operating systems

Checklist

[x] the individual contributor license agreement is signed
[x] commit message follows commit guidelines
[x] documentation is changed or added

Description of change

UP-4816
Setting eol=lf ensures git will checkout files with the line feed ending expected by Google code style.
https://git-scm.com/docs/gitattributes#_effects

Changes Unknown when pulling e3d93b6b9bc8ad9f4fb760a4a6c7a43abaf71b33 on ChristianMurphy:UP-4816 into ** on Jasig:master**.

Changes Unknown when pulling b51ef5981cb744bdd3837816d4ed8a12b011ad17 on ChristianMurphy:UP-4816 into ** on Jasig:master**.

I'm not entirely sure how these features work, but I'm a little concerned.
My main concern is that this approach appears to obligate us to maintain a list of file extensions that should be treated as binary and (therefore) left unaltered by the line endings engine.  If it falls to us to maintain that list, I can guarantee we will screw it up.  :(
Based on my reading, it appears that the Git best practice is to allow Windows users to have the files on their disk with CRLF, everyone else so have LF, and to use LF for the copy in the repo.  (I am unconcerned if Google Code Style believes Windows users should have LF on their disk;  as long as it's LF in the repo, I think we're hitting our goals.)
I see that this commit cleans up "bad" endings in several files.  That part is excellent... :+1:

My main concern is that this approach appears to obligate us to maintain a list of file extensions that should be treated as binary and (therefore) left unaltered by the line endings engine. If it falls to us to maintain that list, I can guarantee we will screw it up.

Git will also attempt to automatically determine which files are binary or not.
https://stackoverflow.com/questions/6119956/how-to-determine-if-git-handles-a-file-as-binary-or-as-text

Based on my reading, it appears that the Git best practice is to allow Windows users to have the files on their disk with CRLF everyone else so have LF, and to use LF for the copy in the repo.

That was my original thought as well. (see e3d93b6)
I changed course, instead targeting the linter being fully functional on all operating systems, without changing the styleguide.

as long as it's LF in the repo, I think we're hitting our goals.

I agree, having the files consistent in the repository is of paramount importance.

@ChristianMurphy -- I added in-line comments for each of the rules in the .gitattributes to show clearly what my reading says they mean.  I may be reading it wrong -- if I am, please point it out and please also provide a link to something that explains it.
But if my reading is accurate, I propose we tackle this task from another angle...
What are the files we currently lint or are looking to lint?  Which are the files that the Google Code Style has opinions about?  I propose we create a .gitattributes file that targets them specifically, leaving other file types unaffected.
I used this command to produce a list of all extensions currently in the repo...
find . -type f | perl -ne 'print $1 if m/\.([^.\/]+)$/' | sort -u

Here are the extensions to which I expect we want to apply this rule (it's actually longer than just the list of extensions I suspect we're linting)...
*.css text eol=lf
*.dtd text eol=lf
*.gradle text eol=lf
*.groovy text eol=lf
*.html text eol=lf
*.java text eol=lf
*.js text eol=lf
*.json text eol=lf
*.jsp text eol=lf
*.less text eol=lf
*.php text eol=lf
*.pl text eol=lf
*.properties text eol=lf
*.sh text eol=lf
*.tld text eol=lf
*.txt text eol=lf
*.wsdl text eol=lf
*.xml text eol=lf
*.xsd text eol=lf
*.xsl text eol=lf
*.yml text eol=lf

@drewwills that is a fair interpretation.
I personally prefer the blanket approach of * text eol=lf to be applied. :100:
But if we need to start with a more limited approach, that is fine.
Progress is progress. :+1:

Coverage increased (+0.009%) to 22.975% when pulling 0d3e24afdbc994eb403fb7025256e70df971136f on ChristianMurphy:UP-4816 into 64b912bfb3087a65fb6a2e78b9d413a1a0ab6fef on Jasig:master.

Coverage increased (+0.004%) to 22.97% when pulling 02f7bfff6492752f71d3d9039d8b02d6dafbfcc9 on ChristianMurphy:UP-4816 into 64b912bfb3087a65fb6a2e78b9d413a1a0ab6fef on Jasig:master.

Coverage decreased (-0.005%) to 22.961% when pulling 02f7bfff6492752f71d3d9039d8b02d6dafbfcc9 on ChristianMurphy:UP-4816 into 64b912bfb3087a65fb6a2e78b9d413a1a0ab6fef on Jasig:master.

@drewwills I tracked down some more file types. Adding an additional filter for only checked in file types assisted with generating more accurate results.
git ls-files | perl -ne 'print $1 if m/\.([^.\/]+)$/' | sort -u

Coverage decreased (-0.005%) to 22.961% when pulling<PHONE_NUMBER>f40dba2db8924cbd89056804fb5811 on ChristianMurphy:UP-4816 into 64b912bfb3087a65fb6a2e78b9d413a1a0ab6fef on Jasig:master.


Remove Wireguard backend from release 1.26

Is your feature request related to a problem? Please describe.

Remove wireguard backend after its deprecation #5391
Describe the solution you'd like

Describe alternatives you've considered

Additional context

Validated using v1.26.0-r2+k3s1

Noted before upgrade (using v1.25.4+k3s1) that there were warnings in the k3s logs:

Dec 19 18:58:19 ip-172-31-9-66 k3s[2361]: time="2022-12-19T18:58:19Z" level=warning msg="Flannel is using external addresses with an insecure backend: wireguard. Please consider using an encrypting flannel backend."
Dec 19 18:58:19 ip-172-31-9-66 k3s[2361]: time="2022-12-19T18:58:19Z" level=warning msg="The wireguard backend is deprecated and will be removed in k3s v1.26, please switch to wireguard-native. Check our docs for information about how to migrate"

Upgrade failed as expected due to following fatal error:

Dec 19 19:01:09 ip-172-31-9-66 k3s[5502]: time="2022-12-19T19:01:09Z" level=fatal msg="The wireguard backend was deprecated in K3s v1.26, please switch to wireguard-native. Check our docs at docs.k3s.io/installation/network-options for information about how to migrate."

Followed the steps from https://docs.k3s.io/installation/network-options#migrating-from-wireguard-or-ipsec-to-wireguard-native and after rebooting the nodes, upgrade was successful and all the nodes were now running v1.26.0-rc2+k3s1


Modify checkout to support Autofil

more details here: https://developers.google.com/web/updates/2015/06/checkout-faster-with-autofill

Probably need to modify the validation trigger (vuelidate) for changes not touch (as it’s right now)


Update information-for-dns-records.md

added a step to remove the TXT or MX after verifying the domain in o365.

@nenonix @JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks.

@msbemba  - please merge the commit on the copy/edit review made by JohanFreelancer9 / nenonix  or make the necessary changes on the PR following the suggestions made. Thank you.

@mypil Merged the Commits.

@pebaum - Can you please assist to check, approve and merge the content of this PR based on issue #493?
Thank you.


Ambilight implementation?

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
I’d like to know if it is technically possible to export to Home Assistant the RGB values of the perimeter pixels of the tv at a fast enough rate to be useful, if possible at all.
Describe the solution you'd like
A clear and concise description of what you want to happen.
While the tv is turned on take a screenshot every few milliseconds, trim the perimeter of the display and export the RGB value of the pixels. This would allow us to implement an Ambilight inspired solution, similar to Hyperion.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
I wasn’t able to find any other implementation, as Hyperion is Android exclusive and the only branch I’m aware of is for LG tvs.
Hue sync isn’t really a reasonable solution for me as I don’t own any Philips light, nor the sync box required.
Additional context
Add any other context or screenshots about the feature request here.

amen

amen

?

I don't know if this is possible, maybe with some dedicated hw just to do this it could be. But for sure this is not something that can be implemented by this integration based on ha infrastructure.

for sure this is not something that can be implemented by this integration based on ha infrastructure.

Just as curiosity, what are you seeing that makes you think this is not possible? Is the limit among the Samsung APIs, the polling rate of HA, the computational burden or something else I’m not aware of?

I wish there could be a workable solution.
Why is the Philips hue app able to do it then?
Isn't there any way to port to Tizen hyperion?

The only possible solution should have a software like Hyperion that run alone, maybe on a separate hw

The problem for this solution is that you need an external video source, from which you’ll split the signal. I don’t have an external source, and I’d like to access the internal video source.
I’m not familiar wit Samsung APIs, so I tried to launch the challenge to a tangent project.

There are a lot of complexity in this kind of implementation. First of all a language as Python (that is an interpreted language, basically a scripting language) is not the right one for this kind of solution. I don't know very well Hyperion, but as I can see it is written in C++ and I suppose it use low level OS API. You have to consider that a software that capture screenshot every ms it will use a lot of CPU, using python for this you will probably have 100% CPU without an acceptable response. Furthermore an HA integration run in the HA context and would totally kill the main HA functionality. The only possible solution should have a software like Hyperion that run alone, maybe on a separate hw (or may be not, depend on how powerfull is your hw), and the integration should comunicate with that software based on exposed API.

a detail:
AS far as I know, no external hardware is needed to run this type of ambilight system.
For example:
In Webos there is the possibility to install Hyperion by rooting the tv, it is the same TV that runs hyperion and it works perfectly.
In Samsumg, there is an official solution, it is an application of PHilips HUE, but it is very expensive and only allows to use its hardware for the leds.
I understand then that if there is an official application that does it, it should be possible.
Another thing is that they have had access to private methods of the video api and that officially for developers do not allow ....
But the tv should be able to do what is necessary without external hardware.

a detail: AS far as I know, no external hardware is needed to run this type of ambilight system.

Well, technically you need at least root access to the tv and a led controller that needs to be able to communicate with such tv.
Failing to have root access to the tv or to communicate with the leds requires at least a third microcontroller into the mix.

Un detalle: Hasta donde yo sé, no se necesita ningún hardware externo para ejecutar este tipo de sistema ambilight.

Bueno, técnicamente necesitas al menos acceso root al televisor y un controlador LED que pueda comunicarse con dicho televisor. No tener acceso raíz al televisor o comunicarse con los LED requiere al menos un tercer microcontrolador en la mezcla.

Yes, yes, right.
I nuance:
Specifically you need a small hardware, which receives the signal from hyperion ( or similar) and send it to the led strip.
What is most commonly used in the ambilight custom world, is a WLED device, which costs less than 5 euros.
This would be enough.
But that, the challenge here would be to somehow read the screen similar to how hyperion does.
I also agree that Python is probably not the solution.

But that, the challenge here would be to somehow read the screen similar to how hyperion does.

I think you may be underestimating the communication challenge: admitting the existence of a screenshot Samsung API based on the existence of Hue Sync, there might not be a fast enough API to send the content to the led driver. This will result in a strip that lag behind the actual image on the screen. There may also be a communication protocol challenge.
That said, I’m not familiar at all with Samsung APIs, so I’m currently stuck at the first step.

admitting the existence of a screenshot Samsung API based

As I know it does not exists. Consider that this protocol is not so well documented, most is based on test / reverse engineering.
Anyway I close this thread because this feature cannot be implemented here in any case.


throw is not working

When I do:
!/usr/bin/env bash

# Save current path
currentPath=$(pwd)

scriptDirectoryPath="$(cd "${BASH_SOURCE[0]%/*}" && pwd )"

# Load Bash Infinity Framework, import libraries and turn logging on
source "${scriptDirectoryPath}/vendor/bash-oo-framework/lib/oo-bootstrap.sh"
import util/exception util/tryCatch util/log util/variable util/type util/namedParameters UI/Color

e="test" throw

I will get following:
 ✘ UNCAUGHT EXCEPTION: shift (1)
    ➦ shift [exception.sh:41]
       ➦ command_not_found_handle [test.sh:7]
       ✘ e="test" throw [test.sh:7]

 ⚡ Press [CTRL+C] to exit or [Return] to continue execution.

When I comment out line 41 in lib/util/exception.sh of this framework I get
 ✘ UNCAUGHT EXCEPTION: test ()
    e="➦ test" throw [test.sh:12]

 ⚡ Press [CTRL+C] to exit or [Return] to continue execution.

Fixed in master!

@niieani Is my understanding correct I can't throw outside of try/catch?

@rbukovansky you can, it's just you'll get an "uncaught exception"
e=test throw

@niieani That's what I'm expecting...
Thanks a lot for help!


Rendering Footnotes

It would be good if footnotes were rendered in the copied file.
In my use case, I write comments and place tags and other annotations in footnotes, but for sharing with others those would be better at the foot of the rendered file.

for future reference, a good starting point: https://github.com/markedjs/marked/issues/1562#issuecomment-551269829

Works now!

Doesn't seem to work in all cases:

So sorry for my late response, I have been traveling.
I am unfamiliar with this footnote syntax. Is it a way to define the footnote text inline? I was previously only familiar with this syntax:
This is a paragraph^[1].

[1]: This is the footnote text, which will be rendered at the bottom of the page.

Yes, it is an inline footnote. Like^[this is a footnote] which shows at the
foot of the rendered file with an ordinal and the text. See
https://help.obsidian.md/How+to/Format+your+notes
You can also use inline footnotes. ^[notice that the carat goes outside of
the brackets on this one.]
On Fri, Sep 9, 2022 at 4:53 PM Maxime Cannoodt @.***>
wrote:

So sorry for my late response, I have been traveling.
I am unfamiliar with this footnote syntax. Is it a way to define the
footnote text inline? I was previously only familiar with this syntax:
This is a paragraph^[1].
[1]: This is the footnote text, which will be rendered at the bottom of the page.
—
Reply to this email directly, view it on GitHub
https://github.com/mcndt/noteshare.space/issues/24#issuecomment-1242461344,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAXFR3XNZE4KQCMY5H4SLLDV5OPTFANCNFSM57IF3PZA
.
You are receiving this because you authored the thread.Message ID:
@.***>

I created a new issue to track this bug separately, see #31.

Still doesn't seem to be working?
On Sun, Sep 11, 2022 at 5:28 AM Maxime Cannoodt @.***>
wrote:

Closed #24 https://github.com/mcndt/noteshare.space/issues/24 as
completed.
—
Reply to this email directly, view it on GitHub
https://github.com/mcndt/noteshare.space/issues/24#event-7362136509, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAXFR3U6KNJ7UTXATC3KXR3V5WQ43ANCNFSM57IF3PZA
.
You are receiving this because you authored the thread.Message ID:
@.***>

As I said, I created a new issue to track the bug. I haven't fixed it just yet :) But don't worry, it's on my radar.
You can subscribe to the new thread to follow progress: #31

Aha!
On Sun, Sep 11, 2022 at 2:57 PM Maxime Cannoodt @.***>
wrote:

As I said, I created a new issue to track the bug. I haven't fixed it just
yet :) But don't worry, it's on my radar.
You can subscribe to the new thread to follow progress: #31
https://github.com/mcndt/noteshare.space/issues/31
—
Reply to this email directly, view it on GitHub
https://github.com/mcndt/noteshare.space/issues/24#issuecomment-1243022435,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAXFR3V53FSHNMEZK42LJVTV5YTRRANCNFSM57IF3PZA
.
You are receiving this because you authored the thread.Message ID:
@.***>


Cleanup import paths

As it stands this package cannot be imported without Go complaining about the mismatch between the repository path and the path defined in go.mod.
Should be tagged as version 0.2.1 after merge.

@frankbraun Could you do the release?

@frol, thanks for merging. I released it as v0.2.1. Go modules require the v prefix.


Utils and libraries: fix line364 win signer yml

@camenlx Thanks! I tried changing base branch on this PR to develop but there are conflicts. Can you rebase this into develop instead? We don't merge into master branch.
Also, looks like we've removed that script in favor of a Python version, so not sure if this will make it in at this point.

Just verified that the issue being fixed in this PR does not exist in the Python version of this script found in the develop branch. Closing this PR. Please re-open this PR (or create a new one) if you find issues with the Python version.


Failed to import - xdm

Failing module

GitHub: https://github.com/wooorm/xdm
npm: https://www.npmjs.com/package/xdm

import { compile } from 'https://esm.sh/xdm'

Error message
After running deno run I get this:
error: TS2694 [ERROR]: Namespace '__' has no exported member 'Program'.
      import('https://cdn.esm.sh/v50/@types/estree@0.0.50/index.d.ts').Program,
                                                                       ~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-document.d.ts:11:72

TS2694 [ERROR]: Namespace '__' has no exported member 'Program'.
      import('https://cdn.esm.sh/v50/@types/estree@0.0.50/index.d.ts').Program
                                                                       ~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-document.d.ts:12:72

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'Directive'.
export type Directive = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').Directive
                                                                                ~~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-document.d.ts:14:91

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'ExportDefaultDeclaration'.
  import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').ExportDefaultDeclaration
                                                                    ~~~~~~~~~~~~~~~~~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-document.d.ts:16:69

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'ExportSpecifier'.
export type ExportSpecifier = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').ExportSpecifier
                                                                                ~~~~~~~~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-document.d.ts:17:97

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'ExportNamedDeclaration'.
export type ExportNamedDeclaration = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').ExportNamedDeclaration
                                                                                ~~~~~~~~~~~~~~~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-document.d.ts:18:104

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'ExportAllDeclaration'.
export type ExportAllDeclaration = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').ExportAllDeclaration
                                                                                ~~~~~~~~~~~~~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-document.d.ts:19:102

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'Expression'.
export type Expression = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').Expression
                                                                                ~~~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-document.d.ts:20:92

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'FunctionDeclaration'.
export type FunctionDeclaration = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').FunctionDeclaration
                                                                                ~~~~~~~~~~~~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-document.d.ts:21:101

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'ImportDeclaration'.
export type ImportDeclaration = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').ImportDeclaration
                                                                                ~~~~~~~~~~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-document.d.ts:22:99

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'ModuleDeclaration'.
export type ModuleDeclaration = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').ModuleDeclaration
                                                                                ~~~~~~~~~~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-document.d.ts:24:99

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'Node'.
export type Node = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').Node
                                                                                ~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-document.d.ts:25:86

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'Program'.
export type Program = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').Program
                                                                                ~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-document.d.ts:26:89

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'SimpleLiteral'.
export type SimpleLiteral = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').SimpleLiteral
                                                                                ~~~~~~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-document.d.ts:27:95

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'Statement'.
export type Statement = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').Statement
                                                                                ~~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-document.d.ts:28:91

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'VariableDeclarator'.
export type VariableDeclarator = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').VariableDeclarator
                                                                                ~~~~~~~~~~~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-document.d.ts:29:100

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'SpreadElement'.
export type SpreadElement = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').SpreadElement
                                                                                ~~~~~~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-document.d.ts:30:95

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'Property'.
export type Property = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').Property
                                                                                ~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-document.d.ts:31:90

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'Node'.
export type Node = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').Node
                                                                                ~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-stringify.d.ts:10:86

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'Program'.
export type Program = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').Program
                                                                                ~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-stringify.d.ts:11:89

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'JSXClosingFragment'.
export type JSXClosingFragment = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').JSXClosingFragment
                                                                                ~~~~~~~~~~~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-stringify.d.ts:14:100

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'JSXEmptyExpression'.
export type JSXEmptyExpression = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').JSXEmptyExpression
                                                                                ~~~~~~~~~~~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-stringify.d.ts:16:100

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'JSXMemberExpression'.
export type JSXMemberExpression = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').JSXMemberExpression
                                                                                ~~~~~~~~~~~~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-stringify.d.ts:20:101

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'JSXNamespacedName'.
export type JSXNamespacedName = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').JSXNamespacedName
                                                                                ~~~~~~~~~~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-stringify.d.ts:21:99

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'JSXOpeningFragment'.
export type JSXOpeningFragment = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').JSXOpeningFragment
                                                                                ~~~~~~~~~~~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-stringify.d.ts:23:100

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'Node'.
  write: (code: string, node?: import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').Node | undefined) => void
                                                                                ~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-stringify.d.ts:29:98

TS2694 [ERROR]: Namespace '__' has no exported member 'Program'.
      import('https://cdn.esm.sh/v50/@types/estree@0.0.50/index.d.ts').Program,
                                                                       ~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-jsx-rewrite.d.ts:15:72

TS2694 [ERROR]: Namespace '__' has no exported member 'Program'.
      import('https://cdn.esm.sh/v50/@types/estree@0.0.50/index.d.ts').Program
                                                                       ~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-jsx-rewrite.d.ts:16:72

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'Expression'.
export type Expression = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').Expression
                                                                                ~~~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-jsx-rewrite.d.ts:18:92

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'Function'.
export type ESFunction = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').Function
                                                                                ~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-jsx-rewrite.d.ts:19:92

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'ImportSpecifier'.
export type ImportSpecifier = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').ImportSpecifier
                                                                                ~~~~~~~~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-jsx-rewrite.d.ts:20:97

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'JSXMemberExpression'.
export type JSXMemberExpression = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').JSXMemberExpression
                                                                                ~~~~~~~~~~~~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-jsx-rewrite.d.ts:23:101

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'JSXNamespacedName'.
export type JSXNamespacedName = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').JSXNamespacedName
                                                                                ~~~~~~~~~~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-jsx-rewrite.d.ts:24:99

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'ModuleDeclaration'.
export type ModuleDeclaration = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').ModuleDeclaration
                                                                                ~~~~~~~~~~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-jsx-rewrite.d.ts:25:99

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'Program'.
export type Program = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').Program
                                                                                ~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-jsx-rewrite.d.ts:26:89

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'Property'.
export type Property = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').Property
                                                                                ~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-jsx-rewrite.d.ts:27:90

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'Statement'.
export type Statement = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').Statement
                                                                                ~~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-jsx-rewrite.d.ts:28:91

TS2694 [ERROR]: Namespace<EMAIL_ADDRESS>has no exported member 'VariableDeclarator'.
export type VariableDeclarator = import('https://cdn.esm.sh/v50/estree-jsx@0.0.1/dist/index.d.ts').VariableDeclarator
                                                                                ~~~~~~~~~~~~~~~~~~
    at https://cdn.esm.sh/v50/xdm@2.0.2/lib/plugin/recma-jsx-rewrite.d.ts:29:100

Found 38 errors.

Additional info

esm.sh version: v50
Deno version: 1.13.2

types again 🤣

found the reason why it crashes, estree-jsx is deprecated and types have moved to another package
https://www.npmjs.com/package/estree-jsx

it now crashes not because of types but because of micromark?
$ deno eval 'import { compile } from \'https://esm.sh/xdm\''
error: Uncaught SyntaxError: The requested module<EMAIL_ADDRESS>does not provide an export named 'compile'
    at <anonymous> (https://cdn.esm.sh/v53/micromark@3.0.5/deno/lib/preprocess.js:2:8)

It works now


Adds ability to have unique keys in mongodb schema.

Checks for key fields in schema and runs collection.createIndex({fieldName: 1}, {unique: true}); for each.
Runs collection.dropIndexes(); before hand to clear any previous keys.

Thanks. Could you please add a test?


JobsView Issues

[ ] The allowed job names regex should allow # anywhere in the string.
[x] The Jobs list is not immediately updated when a new job is added; requires refresh.

It turns out that we can't allow "#" in the project names because it will be misinterpreted in the url. So I ended up simplifying the regex considerably.


Atom Crash on Windows 7

Description
when i open atom on windows 7,it work well at the first hour,then,it run more and more slowly and crash at last.I surmised that atom have more and more rubbish.
Versions
1.12.3
Thanks

Please open a new issue and completely fill out the provided issue template.  Thanks!


Use project(sigstore-java) in sigstore-gradle-plugin tests

Changing sigstore-java requires changes in sigstore-gradle-plugin, but then some tests go out of sync (as they depend on maven central) and then fail.

Could you clarify? Which changes and which failures do you mean?

If for example we change the name of KeylessSigner.sign to KeylessSigner.sign2. We have to change the code in SignWorkAction.kt to reflect this. But a test that applies the plugin like the gradle plugin test SigstoreSignTest will fail with:
Caused by: java.lang.NoSuchMethodError: 'dev.sigstore.KeylessSigningResult dev.sigstore.KeylessSigner.sign2(java.n
io.file.Path)'

@vlsi, any updates on this, it's blocking some changes.

I think is also blocking any fix for #212

For backward-incompatible changes, we should probably use reflection. In other words, SignWorkAction should call KeylessSigner via reflection, so it could support multiple KeylessSigner versions.
Then, it looks like that the proper fix for #212  would to expose the set of trust roots to the users. In other words, there should be a plugin option (and the relevant sigstore-java option) so the clients could supply the root cert.


num_confs of a transactions are negative

After the tx succeeded, it showed the correct number of confs.

Can't reproduce. Is this LND?

Yes, LND

That's odd since I literally just forward 1:1 what I get from LND. I've added a log function to LND too.

@cstenglein Do you still experience this?

Currently not => can be closed for now


⚠ Thumbnails API Endpoint has degraded performance

In 3a413fa, Thumbnails API Endpoint (https://thumbnails.roblox.com/v1/assets?assetIds=82738847&format=Png&isCircular=false&size=30x30) experienced degraded performance:

HTTP code: 200
Response time: 1912 ms

Resolved: Thumbnails API Endpoint performance has improved in 3a25269.


Very slow performance on any cell that references the %sql magic

Several days ago, I opened an issue on ploomber-core about its lack of license and that impacting my ability to install jupysql in a corporate environment.  That environment scans every package imported for a variety of legal and security issues, and lack of acceptable license was preventing import.
The addition of a license fixed the problem, but I then found a different problem.
While I can install and run jupyter, every cell I run with a %sql or %%sql magic in it took 11+ seconds to run.  The same operations run on a machine with more open internet access worked instantly.  After looking at the docs for jupysql and ploomber-core, I found that it tries to phone home details about what its doing.  I edited the appropriate .ploomber/stats/config.yaml file to turn off stats collection and version checks and that improved things, but the %sql cells still take +4 seconds to complete trivial operations.
Are there any other points in jupysql or its dependencies that are trying to phone home and blocking while doing so? Or doing something else that would be prohibited in a tightly run corporate environment?  If so, can anyone comment on what they are, and if they can be turned off?
I can't be sure its related, but when running on my home computer, packet captures show every cell run seems to generate  https calls to some google hosted service, but I haven't tried to decrypt the traffic yet to see what it is. I wouldn't be surprised if such calls were blocked in the corporate environment, and if the code in question is blocking waiting for that to return, that could well be the source of the problem..
Any ideas?

I think you may be on to something, and not doing the google lookup seems like it would fix the problem.
That being said, I know I can reach google from this corp site via browsers, and from code, but the traffic goes through a http proxy server.  There are environment variables that many tools I have used recognize and use to redirect traffic.  I have not investigated too deeply, but it appears that httplib has to be manually told via a set_tunnel call to set which proxy it to use?  Not making the call will certainly fix the issue, but If there were a place in there where you needed to talk to external resources, making that httplib.HTTPSConenction proxy aware might help.  Or using a library that was already http_proxy aware may help.
Again, thanks for the help.

ok, I released ploomber-core 0.2.9 with a fix. Can you check again?
pip install ploomber-core --upgrade

we can leave this issue open so we tackle the proxy later.

That is much faster. The performance is much closer to what I see in a non-proxied environment.
Thanks again for the help.
In re: the proxy, I know that curl, and following suite, requests and httpx pay attention to the HTTP(S)_PROXY environment variables.  Some notes on httpx's support for it can be found here.
I have no insight on if you need a fix, nor what it should be, but I thought I'd pass along that page and its details on some of the env vars that other http request modules pay attention to.
Feel free to close this and pursue (or not) the proxy ideas in a different issue.

opened a new issue to keep track of the proxy thing: https://github.com/ploomber/core/issues/57
thanks for your feedback. if you encounter any other problems, let us know!
Also, our Slack community is a good place to get quick help so feel free to join as well: https://ploomber.io/community


Sample sheet error

Hello, after following the new outline for the sample sheet and ref sheet, I attempted the pipeline. However, there is a prescient error I encounter with the sample sheet. This is the command I used:
nextflow run main.nf --sample_data /nfs7/BPP/Chang_Lab/paradarc/paper1_bra/data/metadata/sample_data_N273_14ncbigenomes.csv --reference_data /nfs7/BPP/Chang_Lab/paradarc/paper1_bra/data/metadata/ref_data.csv --out_dir /nfs7/BPP/Chang_Lab/paradarc/paper1_bra/results/nxf_062524 --bakta_db /nfs7/BPP/Grunwald_Lab/home/paradarc/nxf_dev/db -profile mamba --max_memory 200.GB --max_time 240.h --email_on_fail<EMAIL_ADDRESS>--max_cpus 32 -resume --temp_dir /nfs7/BPP/Grunwald_Lab/home/paradarc/nxf_dev/pathogensurveillance/tmp --n_ref_closest 1

and this is the error I got:
ERROR ~ Error executing process > 'PATHOGENSURVEILLANCE:PREPARE_INPUT:SAMPLESHEET_CHECK (sample_data_N273_14ncbigenomes.csv)'

Caused by:
  Process `PATHOGENSURVEILLANCE:PREPARE_INPUT:SAMPLESHEET_CHECK (sample_data_N273_14ncbigenomes.csv)` terminated with an error exit status (1)

Command executed:

  check_samplesheet.R sample_data_N273_14ncbigenomes.csv ref_data.csv

  cat <<-END_VERSIONS > versions.yml
  "PATHOGENSURVEILLANCE:PREPARE_INPUT:SAMPLESHEET_CHECK":
      r-base: $(echo $(R --version 2>&1) | sed 's/^.*R version //; s/ .*$//')
  END_VERSIONS

Command exit status:
  1

Command output:
  (empty)

Command error:
  Error in ans[[1]] : subscript out of bounds
  Calls: lapply ... parse_esearch.XMLInternalDocument -> xmlValue -> [[ -> [[.XMLInternalDocument
  Execution halted

Work dir:
  /nfs7/BPP/Chang_Lab/paradarc/paper1_bra/scripts/pathogensurveillance/work/0d/282e1ecc1ce88431555abf0f01fc87

Tip: when you have fixed the problem you can continue the execution adding the option `-resume` to the run command line

 -- Check '.nextflow.log' file for details
ERROR ~ Cannot invoke method getAt() on null object

 -- Check script './workflows/pathogensurveillance.nf' at line: 277 or see '.nextflow.log' file for more details
-[nf-core/plantpathsurveil] Sent summary e-mail to<EMAIL_ADDRESS>(sendmail)-
WARN: Access to undefined parameter `outdir` -- Initialise it to a default value eg. `params.outdir = some_value`
-[nf-core/plantpathsurveil] Pipeline completed with errors

 To clean the cache, run the command:
 nextflow clean voluminous_jang -f

I checked the .nextflow.log but I didnt say anything in addition to the outputted error. Here's the sample sheet and ref sheet for troubleshooting.
sample_data_N273_14ncbigenomes.csv
ref_data.csv
Any advice would be appreciated!

I think I fixed it. Git it a try now


Example for more complex circuit

Hi,
is it possible to get more advanced example on how to use SpiceSharpBehavioral with circuit like this one?
I_M 0 N1 0.025
X_entry1 N1 0 N2 entry_1
X_entry2 N1 0 N3 entry_2

.subckt entry_1 m_in m_out v_vel
Vmas m_in msx 0
Rmas msx msy 1e-6
Bxm msy m_out V={V(v_vel)*V(v_vel)/2.1}
Hmss mss 0 Vmas 1
Buv 0 v_vel I={(V(mss)/120)/(0.1)}
Ruv 0 v_vel 1
.ends

.subckt entry_2 m_in m_out v_vel
Vmas m_in msx 0
Rmas msx msy 1e-6
Bxm msy m_out V={V(v_vel)*V(v_vel)/2}
Hmss mss 0 Vmas 1
Buv 0 v_vel I={(V(mss)/120)/(0.1)}
Ruv 0 v_vel 1
.ends

.OP
.SAVE V(N1)
.end

I have it implemented partially like this (in simplified form), but I doubt that it is correct (considering I have two subcircuits):
private Circuit GetCircuit()
{
	var dc = 0.025;
	var result = new Circuit
	{
		new CurrentSource("I_M", "0", "N1", dc),
	};

	result.Merge(GetSubCircuit(1));
	result.Merge(GetSubCircuit(2));

	return result;
}

private Circuit GetSubCircuit(int circuitId)
{
	var bxmExpr = circuitId == 1 ? "V(v_vel)*V(v_vel)/2.1" : "V(v_vel)*V(v_vel)/2";
	var buvExpr = "(V(mss)/120)/(0.1)";

	var result = new Circuit
	{
		new VoltageSource($"Vmas{circuitId}", "N1", $"msx{circuitId}", 0),
		new Resistor($"Rmas{circuitId}", $"msx{circuitId}", $"msy{circuitId}", 1e-6),
		new BehavioralVoltageSource($"Bxm{circuitId}", $"msy{circuitId}", "0", bxmExpr),
		new CurrentControlledVoltageSource($"Hmss{circuitId}", $"mss{circuitId}", "0", $"Vmas{circuitId}", 1),
		new BehavioralCurrentSource($"Buv{circuitId}", "0",$"v_vel{circuitId}", buvExpr),
		new Resistor($"Ruv{circuitId}", "0", $"v_vel{circuitId}", 1),
	};

	return result;
}

Also, can I declare expressions for Bxm and Buv as strings or should I add calls to my custom functions (through Parser)?

Hi!
I don't see anything particularly wrong with your way of implementing subcircuits. It is very similar to how all other Spice simulators will implement subcircuits.
For subcircuits, usually the "local" nodes are given a path like "X1.N1", which is node N1 of subcircuit X1. Nested subcircuits can similarly generate paths like "X2.Xabc.X1.v_vel".
Local entities are usually given the same treatment, except that the first character is retained to be able to identify the type of component, like "RX1.Rload". This is not necessary in Spice#.
You can enter whatever expressions you want for behavioral sources. You can also define your own functions, but remember that you also have to implement their derivatives to make it work in simulations.
You may need to be a bit careful with squaring V(v_vel) though, because the result is not defined over all ranges (it is only possible to have positive currents). This may lead to impossible Circuits or convergence issues. If you use "pow(V(v_vel), 2)" instead, the default implementation will instead use an antisymmetric function that is defined and derivable over all ranges.

Hi Sven!
I received permission to post the entire circuit that we need to test, so that it would be easier now to verify this (I initially wanted to make sure that our way of writing it is fine).
Here's the NetList for said circuit (simplified version of this is what I initially posted on SpiceSharpParser repo here):
* Test circuit from Spice3f5

I_M 0 N1 0.025
X_entry1 N1 0 N2 entry_1
X_entry2 N1 0 N3 entry_2

.subckt entry_1 m_in m_out v_vel
Vmas m_in msx 0
Rmas msx msy 1e-6
Bxm msy m_out V={((40*exp((-0.9)*ln(abs((V(v_vel))*0.0181818/6e-06)+1e-12))+90*exp(((-0.003))*ln(abs((0.0947059))))-80)*850*V(v_vel)*V(v_vel)/2)}
Hmss mss 0 Vmas 1
Buv 0 v_vel I={(V(mss)/850)/(0.1*0.01)}
Ruv 0 v_vel 1
.ends

.subckt entry_2 m_in m_out v_vel
Vmas m_in msx 0
Rmas msx msy 1e-6
Bxm msy m_out V={((40*exp((-0.9)*ln(abs((V(v_vel))*0.0181818/6e-06)+1e-12))+90*exp(((-0.003))*ln(abs((0.105294))))-80)*850*V(v_vel)*V(v_vel)/2)}
Hmss mss 0 Vmas 1
buv 0 v_vel I={(V(mss)/850)/(0.1*0.01)}
Ruv 0 v_vel 1
.ends

.OP
.options abstol=1e-5
.end

And this is how we feed it into the Parser:
public class NetListParser
{
	public void Run()
	{
		var netlist = File.ReadAllText(@"path-to-above-netlist");

		var parser = new SpiceParser();
		var parseResult = parser.ParseNetlist(netlist);
		var spiceSharpModel = parseResult.SpiceSharpModel;

		var simulation = spiceSharpModel.Simulations.Single();
		simulation.ExportSimulationData += (sender, args) => { Print(args); };

		simulation.Run(spiceSharpModel.Circuit);
	}

	private void Print(ExportDataEventArgs args)
	{
		Console.WriteLine("N1 {0}", args.GetVoltage("N1"));
		Console.WriteLine("X_entry1.msx {0}", args.GetVoltage("X_entry1.msx"));
		Console.WriteLine("X_entry1.msy {0}", args.GetVoltage("X_entry1.msy"));
		Console.WriteLine("N2 {0}", args.GetVoltage("N2"));
		Console.WriteLine("X_entry1.mss {0}", args.GetVoltage("X_entry1.mss"));
		Console.WriteLine("X_entry2.msx {0}", args.GetVoltage("X_entry2.msx"));
		Console.WriteLine("X_entry2.msy {0}", args.GetVoltage("X_entry2.msy"));
		Console.WriteLine("N3 {0}", args.GetVoltage("N3"));
		Console.WriteLine("X_entry2.mss {0}", args.GetVoltage("X_entry2.mss"));
	}
}

We get correct results compared to BerkeleySpice (or at least those are very close to what we expect).
Now what we would like to do is to implement it in Spice# directly, without using SpiceSharpParser (although it's very useful in fast verification and comparison of results). As an example, we have this implementation:
public class SpiceParserSample
{
	public void Run()
	{
		var op = new OP("op");
		op.Configurations.Get<BaseConfiguration>().AbsoluteTolerance = 1E-5;
		op.ExportSimulationData += (sender, args) => { Print(args); };
		op.Run(GetCircuit());
	}

	private void Print(ExportDataEventArgs args)
	{
		Console.WriteLine("N1 {0}", args.GetVoltage("N1"));
		Console.WriteLine("X_entry1.msx {0}", args.GetVoltage("msx1"));
		Console.WriteLine("X_entry1.msy {0}", args.GetVoltage("msy1"));
		Console.WriteLine("N2 {0}", args.GetVoltage("v_vel1"));
		Console.WriteLine("X_entry1.mss {0}", args.GetVoltage("mss1"));
		Console.WriteLine("X_entry2.msx {0}", args.GetVoltage("msx2"));
		Console.WriteLine("X_entry2.msy {0}", args.GetVoltage("msy2"));
		Console.WriteLine("N3 {0}", args.GetVoltage("v_vel2"));
		Console.WriteLine("X_entry2.mss {0}", args.GetVoltage("mss2"));
	}

	private Circuit GetCircuit()
	{
		var dc = 0.025;
		var result = new Circuit
		{
			new CurrentSource("I_M", "0", "N1", dc),
		};

		result.Merge(GetSubCircuit(1));
		result.Merge(GetSubCircuit(2));

		return result;
	}

	private Circuit GetSubCircuit(int circuitId)
	{
		var bxmExpr = circuitId == 1
			? "((40*Exp((-0.9)*Log(Abs((V(v_vel1))*0.0181818/6e-06)+1e-12))+90*Exp(((-0.003))*Log(Abs((0.0947059))))-80)*850*V(v_vel1)*V(v_vel1)/2)"
			: "((40*Exp((-0.9)*Log(Abs((V(v_vel2))*0.0181818/6e-06)+1e-12))+90*Exp(((-0.003))*Log(Abs((0.105294))))-80)*850*V(v_vel2)*V(v_vel2)/2)";
		var buvExpr = "(V(mss)/850)/(0.1*0.01)";

		var result = new Circuit
		{
			new VoltageSource($"Vmas{circuitId}", "N1", $"msx{circuitId}", 0),
			new Resistor($"Rmas{circuitId}", $"msx{circuitId}", $"msy{circuitId}", 1e-6),
			new BehavioralVoltageSource($"Bxm{circuitId}", $"msy{circuitId}", "0", bxmExpr),
			new CurrentControlledVoltageSource($"Hmss{circuitId}", $"mss{circuitId}", "0", $"Vmas{circuitId}", 1),
			new BehavioralCurrentSource($"Buv{circuitId}", "0",$"v_vel{circuitId}", buvExpr),
			new Resistor($"Ruv{circuitId}", "0", $"v_vel{circuitId}", 1),
		};

		return result;
	}
}

Print outputs nodes with the same name, just for easier comparison.
Variable bxmExpr was also adjusted a little bit to use correct names and capitalization of functions that SpiceSharp expects.
The issue we are facing is that SpiceSharpParser can parse original circuit correctly and provide good-enough results, but we cannot make pure SpiceSharp version to work, currently it crashes with this stack trace:
SpiceSharp.Algebra.SingularException: 'Singular matrix'
   at SpiceSharp.Algebra.Solve.MarkowitzEntireMatrix`1.FindPivot(Markowitz`1 markowitz, SparseMatrix`1 matrix, Int32 eliminationStep) in C:\src\SpiceSharp-master\SpiceSharp\Algebra\Solve\Markowitz\MarkowitzEntireMatrix.cs:line 109
   at SpiceSharp.Algebra.Solve.Markowitz`1.FindPivot(SparseMatrix`1 matrix, Int32 eliminationStep) in C:\src\SpiceSharp-master\SpiceSharp\Algebra\Solve\Markowitz\Markowitz.cs:line 383
   at SpiceSharp.Algebra.RealSolver.OrderAndFactor() in C:\src\SpiceSharp-master\SpiceSharp\Algebra\Solve\RealSolver.cs:line 297
   at SpiceSharp.Simulations.BaseSimulation.Iterate(Int32 maxIterations) in C:\src\SpiceSharp-master\SpiceSharp\Simulations\Base\BaseSimulation.cs:line 451
   at SpiceSharp.Simulations.BaseSimulation.Op(Int32 maxIterations) in C:\src\SpiceSharp-master\SpiceSharp\Simulations\Base\BaseSimulation.cs:line 236
   at SpiceSharp.Simulations.OP.Execute() in C:\src\SpiceSharp-master\SpiceSharp\Simulations\Implementations\OP\OP.cs:line 29

Can you help us with this?

Hello again!
I've taken the liberty to take a closer look at your example, and I found the following differences between your Spice#.Parser and Spice# examples. It seems to be mostly an issue of mixing "local" and "global" variables.
When you specify the expressions bxmExpr and buvExpr, you are using "local" references to v_vel1 and v_vel2, but actually, these variables are not local to the subcircuit, because in the parsed example they are connected to the outside (v_vel is connected to either N2 or N3).
A similar problem exists for buvExpr, which references a floating node mss. A bit further, you used mss1 and mss2.
I changed the code as follows and got a result that I believe will be the same as the parser.
public void Run()
{
    var op = new OP("op");
    op.Configurations.Get<BaseConfiguration>().AbsoluteTolerance = 1E-5;
    op.ExportSimulationData += (sender, args) => { Print(args); };
    op.Run(GetCircuit());
}

private void Print(ExportDataEventArgs args)
{
    Console.WriteLine("N1 {0}", args.GetVoltage("N1"));
    Console.WriteLine("X_entry1.msx {0}", args.GetVoltage("msx1"));
    Console.WriteLine("X_entry1.msy {0}", args.GetVoltage("msy1"));
    Console.WriteLine("N2 {0}", args.GetVoltage("N2"));
    Console.WriteLine("X_entry1.mss {0}", args.GetVoltage("mss1"));
    Console.WriteLine("X_entry2.msx {0}", args.GetVoltage("msx2"));
    Console.WriteLine("X_entry2.msy {0}", args.GetVoltage("msy2"));
    Console.WriteLine("N3 {0}", args.GetVoltage("N3"));
    Console.WriteLine("X_entry2.mss {0}", args.GetVoltage("mss2"));
}

private Circuit GetCircuit()
{
    var dc = 0.025;
    var result = new Circuit
    {
        new CurrentSource("I_M", "0", "N1", dc),
    };

    result.Merge(GetSubCircuit(1, "N1", "0", "N2"));
    result.Merge(GetSubCircuit(2, "N1", "0", "N3"));

    return result;
}

private Circuit GetSubCircuit(int circuitId, string m_in, string m_out, string v_vel)
{
    var bxmExpr = circuitId == 1
        ? $"((40*Exp((-0.9)*Log(Abs((V({v_vel}))*0.0181818/6e-06)+1e-12))+90*Exp(((-0.003))*Log(Abs((0.0947059))))-80)*850*V({v_vel})*V({v_vel})/2)"
        : $"((40*Exp((-0.9)*Log(Abs((V({v_vel}))*0.0181818/6e-06)+1e-12))+90*Exp(((-0.003))*Log(Abs((0.105294))))-80)*850*V({v_vel})*V({v_vel})/2)";
    var buvExpr = $"(V(mss{circuitId})/850)/(0.1*0.01)";

    var result = new Circuit
    {
        new VoltageSource($"Vmas{circuitId}", m_in, $"msx{circuitId}", 0),
        new Resistor($"Rmas{circuitId}", $"msx{circuitId}", $"msy{circuitId}", 1e-6),
        new BehavioralVoltageSource($"Bxm{circuitId}", $"msy{circuitId}", m_out, bxmExpr),
        new CurrentControlledVoltageSource($"Hmss{circuitId}", $"mss{circuitId}", "0", $"Vmas{circuitId}", 1),
        new BehavioralCurrentSource($"Buv{circuitId}", "0", v_vel, buvExpr),
        new Resistor($"Ruv{circuitId}", "0", v_vel, 1),
    };

    return result;
}

The exact reason why you're getting a SingularMatrix exception is because of node mss. The node is only used as an input for the behavioral current sources, but is never defined by any other part in the circuit. It is a floating node, which means that the node is not fixed to any particular voltage. The simulator encounters a singular matrix because of this and throws the exception.

@DZychlinski  I will verify if SpicesharpParser works correctly for your netlist. If it's not, I will publish bug fixes today.

@DZychlinski Thank you for your netlist.

@DZychlinski I believe there is a bug in the SpiceSharpParser or other place.
I've simulated your final netlist with LTSpice and TopSpice demo and results are somehow little different.
I'm kindly asking for little time to find the root cause.
/Marcin

Hi @marcin-golebiowski and @svenboulanger
I wanted to give you some more feedback after I'd setup the very same code (inside pure SpiceSharp) with function calls and then get back to you with results I got. Because you already started comparing results between SpiceSharpParser and other Spice implementations, I can also provide results we got from Berkeley Spice 3f5 (I haven't run this simulation myself, but I believe (or hope so) this comes from original BSpice implementation). I'll update results for SpiceSharp with function calls results when I'll get it to work.
-----------------------
BSpice 3f5 circuit results:
-----------------------
N1              1,09709206517086
X_entry1.msx    1,09709206517086
X_entry1.msy    1,09709205267879
N2              0,0146965458842177
X_entry1.mss    0,0124920640140771
X_entry2.msx    1,097092060948
X_entry2.msy    1,09709204844006
N3              0,0147152187922527
X_entry2.mss    0,0125079359859228
-----------------------
Parser circuit results:
-----------------------
N1              1,09709008759081
X_entry1.msx    1,09709008759081
X_entry1.msy    1,09709007509082
N2              0,0147058771145686
X_entry1.mss    0,0124999956227839
X_entry2.msx    1,09709008759273
X_entry2.msy    1,09709007509273
N3              0,0147058876089853
X_entry2.mss    0,0125000043772161
-----------------------
String equation circuit results:
-----------------------
N1              1,09709016147817
X_entry1.msx    1,09709016147817
X_entry1.msy    1,09709014897817
N2              0,0147058828519068
X_entry1.mss    0,0125000002793968
X_entry2.msx    1,09709016149282
X_entry2.msy    1,09709014899282
N3              0,0147058822314966
X_entry2.mss    0,0124999997206032

@DZychlinski and @marcin-golebiowski
When finding out the reason for these differences, please be aware that a simulator only should produce results that are within a specified tolerance. If you want more accurate results, you may also want to play with these tolerances yourself.
By default, the tolerance is computed using the RelativeTolerance and AbsoluteTolerance parameters, which are set to 1e-3 and 1e-12 respectively by default. Every iteration, and for each node voltage, an allowed tolerance is computed using the function:
tol = Math.Max(Math.Abs(previous_value), Math.Abs(new_value)) * RelativeTolerance + AbsoluteTolerance

If the new value is closer to the old value than the computed tolerance, the simulator decides that convergence has been achieved and that it can continue with this solution. If one of the variables has moved more than the computed tolerance, then the simulator will compute another iteration to get a value closer to the real solution.
So for different simulators with the default tolerance settings, you should allow a relative error of about x 0.001 on all the node voltages. Looking at the simulation outputs by @DZychlinski this seems to be the case.
You can specify a more strict tolerance (eg. RelativeTolerance = 1e-6) using a BaseConfiguration for the simulation to get a more accurate result.

@svenboulanger @DZychlinski One of the issues in the parser is that Abs and abs is different function . That will fixed.

@svenboulanger After fixing the Abs the results are very different.

@marcin-golebiowski
Using Spice#.Parser with the last update of Spice#.Behavior (v1.1.4) gives me
N1 1,09709008759081
X_entry1.msx 1,09709008759081
X_entry1.msy 1,09709007509082
N2 0,0147058771145686
X_entry1.mss 0,0124999956227839
X_entry2.msx 1,09709008759273
X_entry2.msy 1,09709007509273
N3 0,0147058876089853
X_entry2.mss 0,0125000043772161

This seems to be consistent with previous results.
Can you give more information in what's different and how different?

@svenboulanger
Please run:
public void Run()
{
var op = new OP("op");
op.Configurations.Get().AbsoluteTolerance = 1E-5;
op.ExportSimulationData += (sender, args) => { Print(args); };
op.Run(GetCircuit());
}
private void Print(ExportDataEventArgs args)
{
Console.WriteLine("N1 {0}", args.GetVoltage("N1"));
Console.WriteLine("X_entry1.msx {0}", args.GetVoltage("msx1"));
Console.WriteLine("X_entry1.msy {0}", args.GetVoltage("msy1"));
Console.WriteLine("N2 {0}", args.GetVoltage("N2"));
Console.WriteLine("X_entry1.mss {0}", args.GetVoltage("mss1"));
Console.WriteLine("X_entry2.msx {0}", args.GetVoltage("msx2"));
Console.WriteLine("X_entry2.msy {0}", args.GetVoltage("msy2"));
Console.WriteLine("N3 {0}", args.GetVoltage("N3"));
Console.WriteLine("X_entry2.mss {0}", args.GetVoltage("mss2"));
}
private Circuit GetCircuit()
{
var dc = 0.025;
var result = new Circuit
{
new CurrentSource("I_M", "0", "N1", dc),
};
result.Merge(GetSubCircuit(1, "N1", "0", "N2"));
result.Merge(GetSubCircuit(2, "N1", "0", "N3"));

return result;

}
private Circuit GetSubCircuit(int circuitId, string m_in, string m_out, string v_vel)
{
var bxmExpr = circuitId == 1
? $"((40*Exp((-0.9)*Log(Abs((V({v_vel}))0.0181818/6e-06)+1e-12))+90Exp(((-0.003))*Log(Abs((0.0947059))))-80)850V({v_vel})V({v_vel})/2)"
: $"((40Exp((-0.9)*Log(Abs((V({v_vel}))0.0181818/6e-06)+1e-12))+90Exp(((-0.003))*Log(Abs((0.105294))))-80)850V({v_vel})V({v_vel})/2)";
var buvExpr = $"(V(mss{circuitId})/850)/(0.10.01)";
var result = new Circuit
{
    new VoltageSource($"Vmas{circuitId}", m_in, $"msx{circuitId}", 0),
    new Resistor($"Rmas{circuitId}", $"msx{circuitId}", $"msy{circuitId}", 1e-6),
    new BehavioralVoltageSource($"Bxm{circuitId}", $"msy{circuitId}", m_out, bxmExpr),
    new CurrentControlledVoltageSource($"Hmss{circuitId}", $"mss{circuitId}", "0", $"Vmas{circuitId}", 1),
    new BehavioralCurrentSource($"Buv{circuitId}", "0", v_vel, buvExpr),
    new Resistor($"Ruv{circuitId}", "0", v_vel, 1),
};

return result;

}
with latest SpiceSharpBehavioral or in the netlist change function names to have first big letter.

@svenboulanger @DZychlinski I think I found the root cause of the problem.
After the PR #21 above program returns results as TopSpice and LTSpice


crypto-js PBKDF2 1,000 times weaker than specified in 1993 and 1.3M times weaker than current standard

crypto-js v4.1.1 have a vulnerability
Please, update crypto-js to v4.2.0

Thanks @andreyzanovskiy we will look at updating this and include in our next release.

Thanks a lot!
Maybe you know when the next version will be released?

@andreyzanovskiy An update has been released for this, thanks.


FBX Conversion Crash Fix

Resolves AB#575

Was closed accidentally because target branch was merged and deleted.


front end development of video description page

https://www.figma.com/file/tNI2fUodbSyrhaBGbOxiV9/Col-films-designs?node-id=1%3A2

Bro I can't see what I'm supposed to work on.
On Wed, 3 Aug 2022, 12:43 pm Dubuiz, @.***> wrote:

Assigned #28
https://github.com/zuri-training/Col_Films_Proj_Team_113/issues/28 to
@nicholasikiroma https://github.com/nicholasikiroma.
—
Reply to this email directly, view it on GitHub
https://github.com/zuri-training/Col_Films_Proj_Team_113/issues/28#event-7117863277,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZCOGWKGE3ZAQUFRNN23AN3VXJLP5ANCNFSM55OQ7XGA
.
You are receiving this because you were assigned.Message ID:
<zuri-training/Col_Films_Proj_Team_113/issue/28/issue_event/7117863277@
github.com>

go to the figma board and navigate to upload page.


Prototype for moving strip-componenets to chef recipe instead of tar

This creates more problems than it solves, notably this would shatter windows compat. I'm taking care of this elsewhere, stay tuned.


Release v1.116.1 - staging → master

Cloud Manager
[2024-04-08] - v1.116.1
Fixed:

Search indefinitely loading on large accounts (#10351)
Returning proper scope when selecting all perms (#10359)

I think when you update branch, it's going to dismiss reviews and need reapprovals, @jaalah-akamai.


when delete istio sidecar service  get 502

i writed Description in istio
https://github.com/istio/istio/issues/39837

This seems like a control plane issue with missing cluster? There is not enough details for Envoy team to provide an answer.


DDCE-2706-Mongo Migration

Please also fix commit message with the pattern JIRA_NR - Commit message what changes have you done or [JIRA_NR] - ...


Add addressRegion and poBoxNumber to address schema

This PR addresses (heh) DIAR-2048 and DIAR-176.
While the net result is two new optional attributes, there have been some under the hood changes to classes.

new PostalAddressGeneralClass as an abstract class with attributes common to the UK and other countries (we put poBoxNumber here because the logical attribute is in both Ordnance Survey AddressBase and schema.org)
new PostalAddressUKClass which inherits the general class and adds attributes only used in UK (e.g. uprn)
new PostalAddressInternationalClass which inherits the general class and adds attributes not typically used in UK (nor found in Ordnance Survey AddressBase) and which are primarily driven by the need to support non-UK addresses (for now, only addressRegion but more may be added in future)
PostalAddressClass now inherits its attributes as mix-ins from both the UK and non-UK classes named above, to result in the all-purpose class for postal address

The rationale for doing the modelling this way is to preserve the UK-specific examples and to add new non-UK examples in a separate dedicated place in the UI, while maintaining the PostalAddressClass as the reference for other classes and schema to get their address stuff (mainly person.yaml).
For now, everything still runs off PostalAddressClass as before. If later we identify that we could or should reference just the UK or non-UK schema in certain places in the vocabulary, the classes are now there to support that.
Local deployment looks sensible. Added addressRegion to the data-vocab/v1/examples/core-cri-authz-request.json test file and tests pass locally.
Screengrab from local deployment

It's a clever approach, but worth observing that the JSON schemas (and therefore the TS and Java types) only get the combined PostalAddressClass. This means that although the UK/International distinction is represented in the vocab site (and linkml), consumers won't currently be able to make use of it - limiting its value.
I haven't gone into great detail, but I suspect this may not be straightforward to resolve, as mixins map very differently across schemas and languages!

Yes, agreed that is a limitation. I felt constrained by person.yaml wanting to use a single class as a range for its address slot hence joining everything back into PostalAddressClass. I felt if I started changing person.yaml, it's picking at the thread too much.
The benefit is mainly just documentation at the moment, so we can have pages like the below.

Perhaps I should expose the UK and International classes into json and TS schema - if that's useful and required? I don't have sight of how they could be used though.


feat(bench): using semantic scholar to pull profile

Closes #
📑 Description

✅ Checks

[ ] My pull request adheres to the code style of this project
[ ] My code requires changes to the documentation
[ ] I have updated the documentation as required
[ ] All the tests have passed
[ ] Branch name follows type/descript (e.g. feature/add-llm-agents)
[ ] Ready for code review

ℹ Additional Information

duplicate with #822, abort


Stock management

Code for stock management:

[x] Increase stock by amount
[x] Decrease stock by amount
[x] Set new stock
[x] Save to database
[ ] Check stock min

PR #57


Installation problems under Win10 or Ubuntu 20.10 ("Jupyter server not found")

When trying to install the app (version 3.2.1-1) via the installers downloaded from this repo, I hit the following problems:

Win10: When I have to select the installation path, "Next" is greyed out without explanation. Probably the environment variable %HOMEDRIVE% is not set correctly on my PC but shouldn't this be detected by the installer? Suggesting a different location? Changing the path manually worked though.
Win10: The pop-up window displaying installation options mangles the text
Win10 and Linux: After finishing installation, I receive the message "Jupyter Server Not Found" and that's it.

I am a long-time python user running jupyterlab from a regular python installation so I don't need the desktop app. But when looking for a solution for python / jupyter newbies shouldn't the process be as streamlined as possible? Shouldn't it be easier than doing a plain vanilla python + jupyter installation (which it isn't)?
I've been trying several solutions over the last 6 years to use Jupyter Notebooks in BYOD classroom environments, using web servers, JupyterHub, local installations and now the Jupyterlab Desktop App. Deployment has been a major PITA for all sorts of reasons every time. I thought one of the ideas behind Jupyter Notebooks was to provide an easy access to experimenting with data and code. Well, it isn't, looking at the feedback from my students every term.

.

I suspect that this might be because there are two installers and they need to be provided paths in sync.
You mention that you needed to change the path in the first installer. What path did you set? Did you adjust the path of the second installer accordingly? Please see https://github.com/jupyterlab/jupyterlab-desktop/blob/master/user-guide.md#windows-instructions. I of course think that there should be only one installer.

Deployment has been a major PITA for all sorts of reasons every time. I thought one of the ideas behind Jupyter Notebooks was to provide an easy access to experimenting with data and code. Well, it isn't, looking at the feedback from my students every term.

I'm sorry for your experience. I understand it fully. I really want to make literate programming more accessible to every student and researcher (which is why I'm writing this response on Sunday morning). You may be interested in checking out server-less and installation-less JupyterLite which should eliminate the installation issues you mention.
Please bear in mind that the Desktop app was only recently revived and is improving by great strides every week. I apologize that communication on the readiness of the app was not clear.

Thanks for your quick and detailled response and most of all for your contributions to the python and jupyter community. I usually don't rant on FOSS channels because I know how unrewarding FOSS development can be at times. After GESIS announced pulling the plug on their free notebook server service I was really frustrated to see that JupyterLab Desktop also doesn't work for me, meaning I have to find another way to deploy my DSP labs (or rewrite them) within three weeks.
Your response highlights one of the main problems in my eyes: There are two installers but this is not obvious for a "normal" user (who doesn't read instructions). Even for me, it is not clear what I did wrong during the installation process - there are no instructions or hints, it just fails. I had to change the installation path on windows as described - and I have absolutely no idea how or where I could have adjusted the path of the second installer. The instructions didn't really help me. On Linux I just went the default path but both installations failed exactly the same way.
Honestly, I think it is easier (and much better documented) to install python and jupyter(lab) via the usual channels and that's what I'll recommend to my students. I'm using Notebooks only for a quite narrow field (digital signal processing 101) so I think I'll fully switch to my own app next term which is more of the point and click type. But please do streamline the installation process.
Thanks also for pointing me to JupyterLite, I'll test it although I don't see the advantage yet over a simple pip install jupyterlab.
I'll leave this issue open, please close it yourself if you like.

Thank you for the extra details. Two questions:

on Windows, have you tried installing as an administrator and selecting "install for All users"?
on Ubuntu, how did you install it? Did you use the GUI software manager, gdebi, dpkg, or apt?

Would you mind posting the answers to the above questions in #238, please? It will help us to consolidate discussion and figure out what works across a variety of setups users may have and inform how to remediate the problem. I will close this one in the meantime.
PS. I did try on another laptop with Ubuntu 20.10 just a moment ago and it worked well, so really having more information would be really help.

Thanks for posting extra information in the other issue. I will close this one as a duplicate and follow up on the other one. We worked to investigate and fix this problem in https://github.com/jupyterlab/jupyterlab-desktop/pull/339 and this will be included in the upcoming release. While it might not solve the issue, we at least hope that we might get the information necessary to find a solution (since the updated error screen should now show the underlying error).


Link documentation

Is your feature request related to a problem? Please describe.
The documentation available on website under docs folder does not have any reference to the official Apache Kafka Javadocs.
Describe the solution you'd like
Try to find a solution to cross-link the documentation.
Describe alternatives you've considered
N/A
Additional context
N/A

First version of JNet Reflector (see masesgroup/JNet#45) comes with an initial stub of code generation which links the documentation. When the tool will cover more features the documentation can be created using an automatic tool.

Many warning are raised because the following line report https://github.com/masesgroup/KNet/blob/3a72d0441fe53426b8337b8410f61223fec31594/src/net/KNet/Generated/Kafka/Admin/DeleteRecordsCommand.cs#L48 while the parameter is https://github.com/masesgroup/KNet/blob/3a72d0441fe53426b8337b8410f61223fec31594/src/net/KNet/Generated/Kafka/Admin/DeleteRecordsCommand.cs#L49
The worst case happens for parameters like https://github.com/masesgroup/KNet/blob/3a72d0441fe53426b8337b8410f61223fec31594/src/net/KNet/Generated/Kafka/Admin/BrokerMetadata.cs#L55 it contains $

https://github.com/masesgroup/KNet/issues/24#issuecomment-1624495285 still not closed, reopen issue


 :) I think it is good style common to many codebases to avoid unnecessary whitespace/trailing whitespace. So I'd recommend you to keep an eye on:

https://github.com/berlindiamonds/discourse-googledrive-backup/blob/master/lib/drive_synchronizer.rb#L11

https://github.com/berlindiamonds/discourse-googledrive-backup/blob/master/lib/drive_synchronizer.rb#L40

https://github.com/berlindiamonds/discourse-googledrive-backup/blob/master/plugin.rb#L6

https://github.com/berlindiamonds/discourse-googledrive-backup/blob/master/plugin.rb#L21

https://github.com/berlindiamonds/discourse-googledrive-backup/blob/master/spec/drive_synchronizer_spec.rb#L1

https://github.com/berlindiamonds/discourse-googledrive-backup/blob/master/spec/drive_synchronizer_spec.rb#L12

Hey Robin thank you for looking into it! Actually, master is several commits behind the current plugin and I believe those spacing/trailing are past now, I'm a spacing/trailing maniac!
The new plugin code is located in the dev branch.

some of the white lines in the end where unneccesary and I deleted them now. But others actually have a meaning. For example gouping gems that one gem is depending on together and the main gem alone...


Cockpit composer on fedora 35/36 is missing Fedora IOT image type

https://cockpit-logs.us-east-1.linodeobjects.com/pull-3915-20220929-142512-fd5e626c-fedora-36-osbuild-cockpit-composer/TestWizard-testOSTreeStep-fedora-36-<IP_ADDRESS>-2401-FAIL.png

fedora-iot-commit is now iot-commit


MudToolTip inside of MudSelect

Is your feature request related to a problem? Please describe.
I'd like to add tooltips to selection items. I have an application that selects regions using a shortcode, but would be nice to hover and have the full name in a tooltip.
Describe the solution you'd like
<MudSelect>
	<MudSelectItem Value="NA">
		<MudToolTip Text="North America">NA</MudToolTip>
	</MudSelectItem>
	<MudSelectItem Value="EU">
		<MudToolTip Text="Europe">EU</MudToolTip>
	</MudSelectItem>
</MudSelect>

Describe alternatives you've considered
Not using tooltips at all currently. Maybe a "subtext" description? But a tooltip seems to make the most sense without cluttering the content. Using image icons with highlighted maps of the world also are an option for visual guidance, but takes time to collect those and still missing the point -- tooltips in selects seem like they should just work with the current design.
Reporting as a feature request because I can't find an example of this usage in the docs. If it's actually a bug, let me know and I can redo this.

This is related to https://github.com/Garderoben/MudBlazor/issues/2344

@Garderoben @just-the-benno could you add the checklist this issue after your Popover work?

Disregard above, should've realized the feature was implemented as description indicated
Providing example below for anyone else that couldn't connect the dots lol
<MudSelect T="string" Label="Display Option">
	<MudSelectItem Value="@("Option 1")" >
        Option 1
        <MudTooltip Text="This is my tooltip">
            <MudIconButton Class="mx-2"<EMAIL_ADDRESS>/>
        </MudTooltip>
	</MudSelectItem>
</MudSelect>

https://try.mudblazor.com/snippet/mumRunmlrHubFicz


typo fix

Thank you very much for your PR! This repo is, unfortunately, only a mirror of main development repo located here. Would you be kind enough to move your PR there?


[FEATURE-20] Add EFragmentLoader to load graph without vertex file

Related issue number
https://github.com/alibaba/libgrape-lite/issues/20

 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.nengli.ln seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Codecov Report

Merging #21 (bffee88) into master (9b4467f) will decrease coverage by 0.21%.
The diff coverage is 84.14%.

@@            Coverage Diff             @@
##           master      #21      +/-   ##
==========================================
- Coverage   86.38%   86.17%   -0.22%
==========================================
  Files          50       51       +1
  Lines        3350     3371      +21
==========================================
+ Hits         2894     2905      +11
- Misses        456      466      +10

Flag
Coverage Δ

app_tests
86.17% <84.14%> (-0.22%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

grape/fragment/ev_fragment_loader.h
75.94% <ø> (-4.67%)
:arrow_down:

grape/fragment/e_fragment_loader.h
77.58% <77.58%> (ø)

grape/fragment/basic_fragment_loader.h
94.61% <100.00%> (+0.50%)
:arrow_up:

grape/fragment/loader.h
100.00% <100.00%> (ø)

grape/parallel/parallel_engine.h
93.79% <0.00%> (+0.30%)
:arrow_up:


TypeError when requiring react-redux

When requiring react-redux either via Browserify or in the Node REPL, I get the following:
TypeError: Super expression must either be null or a function, not undefined
    at _inherits (/Users/davidnorth/Sites/x/node_modules/react-redux/lib/components/createProvider.js:13:113)
    at /Users/davidnorth/Sites/xxx/node_modules/react-redux/lib/components/createProvider.js:26:5
    at Object.createProvider [as default] (/Users/davidnorth/Sites/x/node_modules/react-redux/lib/components/createProvider.js:70:5)

My version is 0.8.0

Which version of React are you using? What do you use to compile JSX?

React 0.12.2 an babelyify 6.0.2

React Redux requires React 0.13.
https://github.com/gaearon/react-redux/blob/master/package.json#L53


IGAPP-509: Tooltips are opened on click

…detection
This pull request belongs to an issue on our bugtracker.
You can find it there by looking for an issue with the key which is mentioned in the title of this pull request.
It starts with the keyword IGAPP.

@maxammann you mentioned in the call yesterday that we decided to open tooltips on click on mobile anyway, I can't remember that. Do you have a link? I don't really like it tbh.

@maxammann you mentioned in the call yesterday that we decided to open tooltips on click on mobile anyway, I can't remember that. Do you have a link? I don't really like it tbh.

Sadly I dont remember where, but tooltips work find on mobile. If we do not want to show them, then we would need a separate way of handling it on mobile. As they work fine on mobile I'd just keep them.

I just find it weird that tooltips are opened on click on mobile, this is not the case on web as well, it only appears on hovering there. But I guess that is just my opinion as I don't know any websites having tooltips on mobile at all.

Also: On small screens no tooltips are shown for the toolbar but tooltips are shown for the action items (search, location change, ...). Do you know why this is as it is? But this is also no new behavior, so nothing to fix here.

Looks fine for me, I already fixed some spacing there.


Gets wrong created date

The plugin writes down an edited date instead of a created date on mac os
I do believe it is because different OSs use different methods to get created date.
For a temporary workaround, I made a script to add created date to the frontmatter https://github.com/skorphil/meta_to_frontmatter

For me on macOS it keeps updating created date even if it already exists, and it keeps setting it back in time. There's a bug here, I had to turn off adding "Created at" if it doesn't exist. It shouldn't touch created if it's already set.

Hi, sorry for the delay. This should now be fixed as of 2.0.0. If that's still an issue, feel free to re open a new issue !


Upgrade module template AGP version

Follow up to https://github.com/flutter/flutter/pull/151433.
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making, or this PR is test-exempt.
[x] I followed the breaking change policy and added Data Driven Fixes where supported.
[ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

I think build variants is supported for modules which means that this feature wont work for people who have custom variants.
https://docs.flutter.dev/deployment/flavors#using-flavors-in-android
I think you are going to need to write some dynamic code to handle other variants.
(blog post for apps) https://medium.com/meeve/build-variants-in-flutter-for-multiple-backend-environments-7e139128949b

I'm not actually sure that modules support flavors, because:

it is possible to build a module as an AAR by itself (independently of a pure android host project)
Configuring flavors per https://docs.flutter.dev/deployment/flavors#using-flavors-in-android requires Gradle changes
The Gradle files are ephemeral for modules, so the user can't change them (reliably)

But I think also this new change would support them anyways, though it's kind of hacky

@reidbaker This should be ready for review again fyi


feat: ResponsiveView

GitHub Issue (If applicable): #

PR Type
What kind of change does this PR introduce?

What is the current behavior?

What is the new behavior?

PR Checklist
Please check if your PR fulfills the following requirements:

[ ] Tested code with current supported SDKs
[ ] Tested the changes where applicable:

[ ] UWP
[ ] WinUI
[ ] iOS
[ ] Android
[ ] WASM
[ ] MacOS

[ ] Updated the documentation as needed:

[ ] General Doc Update
[ ] Controls Doc Update
[ ] Extensions Doc Update
[ ] controls-styles.md
[ ] lightweight-styling.md (LightWeight Styling Resource Keys)

[ ] Runtime Tests and/or UI Tests for the changes have been added (for bug fixes / features) (if applicable)
[ ] Contains NO breaking changes
[ ] Associated with an issue (GitHub or internal)
[ ] Commits must be following the Conventional Commits specification.

Other information

Internal Issue (If applicable):

To Discuss:
1. How we handle Template Content
What should be done when, for example, Narrow VisualState is triggered but NarrowContent is null? Should the DefaultContent be displayed instead? What would be the order for other states like Wide/ExtraWide?
https://github.com/unoplatform/uno.toolkit.ui/blob/67ff5a47b7c4abf2e816f1673639efd17287a5e3/src/Uno.Toolkit.UI/Controls/ResponsiveView/ResponsiveView.cs#L97-L114
2. How to make the responsive settings global and overridable?
2.1 What should be the default setting for ExtraNarrow, Narrow, Default, etc... ?
https://github.com/unoplatform/uno.toolkit.ui/blob/67ff5a47b7c4abf2e816f1673639efd17287a5e3/src/Uno.Toolkit.UI/Controls/ResponsiveView/ResponsiveView.xaml#L7-L23
3. Properties naming
Would it make more sense if the we named them, for example, ExtraNarrowTemplate instead of ExtraNarrowContent, or ExtraNarrowTemplateContent?
https://github.com/unoplatform/uno.toolkit.ui/blob/67ff5a47b7c4abf2e816f1673639efd17287a5e3/src/Uno.Toolkit.UI/Controls/ResponsiveView/ResponsiveView.cs#L14
cc @Xiaoy312 @kazo0

@kazo0 and @Xiaoy312 , please note that my latest changes include:
#if WINDOWS || WINDOWS_UWP
	Content = dataTemplate?.LoadContent() as UIElement;
#else
        ContentTemplate = dataTemplate;
#endif

The reason behind this is that using ContentTemplate on non-windows platforms gives us a better experience when resizing the screen, see below:
ContentTemplate

Content

* Using ContentTemplate on Windows doesn't work.

It shouldnt flicker this much on windows, with the Content. You need to cache the last resolved content-template or winning size, and compare this value on size-changed, and only update when the new ones are different than previous.
do not compare the result of ContentTemplate.Load() that is guaranteed to be different.


Namespaces should have a unique constraint

Here: https://github.com/aldryn/aldryn-apphooks-config/blob/master/aldryn_apphooks_config/models.py#L15

Fixed in #18


Let ukernel plugin entry points alias the underlying ukernel

Plugin entry points have their own signature, taking 3 pointer args. They then call the actual ukernel entry point, passing it one of those pointers. https://github.com/openxla/iree/blob/2e939b0cb331ba07a62285c3268329394a665355/experimental/cpu_ukernel/plugin.c#L32-L37
Initially I chose to let the plugin advertise the plugin entry points using a custom namespace, "ukernel.", to disambiguate from the underlying entry point, namespaced iree_uk_.
But in #13460, @MaheshRavishankar is introducing bitcode ukernels, where the true iree_uk_ ukernel function is called directly. In that case, the ukernel op needs to have that as its function-name attribute, and so Mahesh has to change that there, but then that means that the resulting compiled modules can't call plugins anymore. We would have to introduce a new iree-compile command-line switch to tell whether to use only bitcode ukernels or only plugin ukernels. There's no fundamental problem with that, but it's nice if we can avoid the additional switch and have everything just work.
Apparently, this works. My only concern with this is that now iree_uk_mmt4d means 2 separate things, the actual ukernel and its exported name in the plugins. I think that's fine: once bitcode lands, plugins should be a minority case and for users who care about that minority case, this will be a lot more convenient.

Something we can do is rearrange the plugin import arg order such that the params are passed first. Currently the user context is passed first as that's C++-style (this in arg 0 register) but having consistency here would be nice. The plugin methods would have the additional args set but if you aren't using them that should become a no-op. Happy to make that change if it sounds good to you!

Good idea! Then we can drop the plugin entry points altogether, in cases like my current ukernels where the 2 other args are unused. And it becomes a solid fact, instead of an aliasing hack, that the ukernel op function name is always the name of the actual ukernel entry point.

Yep! I'll try to get that in today!

(Wasn't sure if we still wanted this but since you approved, I guess it makes sense to merge this first, will make your own diff smaller as all the compiler-side code and tests will already be targeting iree_uk_ namespace).

go for it! I can rebase and remove the wrapper functions

Heads-up to everyone who was already using the ukernel plugins: this PR breaks compatibility, meaning that once it's merged, you will need to rebuild all including iree-compile AND the plugins, and rerun iree-compile to recompile your modules. @hanhanW @lundong


support qwen2

support Qwen2https://huggingface.co/docs/transformers/model_doc/qwen2 FROM llama example

i use the code as https://github.com/RobotGF/TensorRT-LLM.git, the branch of support-qwen2,
i run the code as follow:
python convert_checkpoint.py --model_dir .tmp/Qwen/Qwen1.5-14B-Chat \
                --dtype bfloat16 \
                --output_dir ./tmp/Qwen/14B/trt_engines/fp16/1-gpu/

the error as :
Traceback (most recent call last):
  File "/home/powerop/work/rwq/my_tensorrt_llm/TensorRT-LLM/examples/qwen2/convert_checkpoint.py", line 27, in <module>
    from tensorrt_llm.models.qwen2.weight import (load_from_gptq_qwen,
ModuleNotFoundError: No module named 'tensorrt_llm.models.qwen2'

still not work, I need your help, thanks

i use the code as https://github.com/RobotGF/TensorRT-LLM.git, the branch of support-qwen2, i run the code as follow:
python convert_checkpoint.py --model_dir .tmp/Qwen/Qwen1.5-14B-Chat \
                --dtype bfloat16 \
                --output_dir ./tmp/Qwen/14B/trt_engines/fp16/1-gpu/

the error as :
Traceback (most recent call last):
  File "/home/powerop/work/rwq/my_tensorrt_llm/TensorRT-LLM/examples/qwen2/convert_checkpoint.py", line 27, in <module>
    from tensorrt_llm.models.qwen2.weight import (load_from_gptq_qwen,
ModuleNotFoundError: No module named 'tensorrt_llm.models.qwen2'

still not work, I need your help, thanks

sorry, I support Qwen2 on tag v0.8.0, the workflow and code base is old, So it doesn't work with this commit


fix mingw build

in mingw (aka 'windows gcc') do not have these compilation options

@ctapmex, thanks :+1


perf: prevent preparing stack traces in fs *Sync patches

This makes my test of 500 basic files about 2x faster, going from a fairly consistent 7.5-8 to 3.5-4. Those 500 files are just expect(true).toBeTrue() so the time invoking tests should be ~0 and it's all jest running, node loading files etc.
Originally I only wrapped some internal functions such as guardedRealPathSync but I think it's better to just wrap the full public methods so the Error try/catch modifications only happen once. The worry with that is stack traces thrown within the implementations wouldn't be complete but that seems to still work, see the stack trace tests.
See https://github.com/aspect-build/rules_jest/issues/50

Thanks @jbedard, this looks great. I noticed that webpack-dev-server is 2-3x slower with the fs patches turned on (WDS does a LOT of brute force directory crawling and symlink probing), and my profile showed that a lot of time was spent in node stack trace processing machinery (though I had not raised an issue yet). I will have to try, of course, but I am hopeful this will address that.

I think I've prevented 2/3 of the places I saw major stack trace cpu time, see the comments in the diff (including the TODO) which link to the nodejs source if you're interested. That last one with the TODO is still a major perf hit but my tests seem to have reduced it at least 50% with a super simple jest test.


chore: Fix formatting; add flake8 & isort configs

Issue #, if available:
Description of changes:

Added black-compatible configs for flake8 and isort
Fixed issues throughout ios sub-tree

This is in draft mode until I can confirm all tests pass with resources created after the formatting changes. I'm not particularly concerned about any of them, but the IoT custom resolvers in particular would be useful to verify
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Double checked that IoT tests pass. Ready for review.


QA with iPad + Apple Pencil and a similar Android tablet

Since a number of Atrament apps seem to target tablets, v4 should be properly tested on these devices, including input methods such as Apple Pencil.

QA with an iPad and Apple Pencil has been done and improvements have been made mostly in 5d3dd6c33d624b105b3bc2158a8f05c253531f6f eeb67a5dd7e156d23cef188f02348b7282cea6b0 and 086ef93727c2900923474cd4a3a7c0521f8a0c4c (as well as some follow-up commits)

Did some testing on Android Chrome and made fixes in fc2c084


chore: always use p2p difficulty to mine even if we mine solo

Description
Currently when we mine solo, the miner gets the full tari difficulty. Although this is correct, it can cause the miner to check in less with p2pool. If we are synced with p2pool we should start mining on the p2pool blocks as soon as possible again. Not wait till we mine a tari block or the template changes. This should make very little difference on the mining power, but will cause the miner to check in with p2pool more frequently

I don't know if this is necessary, xmrig is configured to check for a new template every second and xtrgpuminer every 10 seconds. I am not sure about the merge mining proxy though

Maybe, this is based on the miner, most miners will check frequently for template changes, but I know some of our miners use some complicated caching system. This is more preventative then reactive thou


[BUG] Slackbot link to function execution failure logs leads to blank page

The deno-slack versions

    "deno-slack-sdk/"<EMAIL_ADDRESS>    "deno-slack-api/"<EMAIL_ADDRESS>
Deno runtime version

deno 1.43.3 (release, aarch64-apple-darwin)
v8 <IP_ADDRESS>
typescript 5.4.5

OS info

ProductName:            macOS
ProductVersion:         14.5
BuildVersion:           23F79
Darwin Kernel Version 23.5.0: Wed May  1 20:13:18 PDT 2024; root:xnu-10063.121.3~5/RELEASE_ARM64_T6030

Describe the bug
Slackbot doesn't show logs of function execution failure.

Steps to reproduce

When function fails to execute,
Slackbot sends something like: "%s ran a workflow that you built and there was a problem with the step: Function failed to execute
You can view the details for this error in the logs"
The link leads to a 404 page (https://api.slack.com/apps/<app_id>)

Expected result

I should be able to see the logs.
Actual result

I'm getting a 404 page.
Requirements
Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to those rules.

I have the same issue and after contacting Slack support I was referred to this issue

I ran into this issue after installing an app using slack install and fixed it by running slack deploy if that helps anyone.


phf_codegen overflows the stack

The phf_codegen crate causes the following error whenever a large number of items (around 500 on my computer) is added to its Map builder:
thread 'rustc' has overflowed its stack
Could not compile 'myprogram'

I do not have this issue when using the phf_map! macro, but I can't use that on stable Rust.

Could you post something that causes the issue? I can't reproduce it with this:
    write!(&mut file, "static GINORMO: ::phf::Map<u32, u32> = ").unwrap();
    let mut builder = phf_codegen::Map::new();
    for i in 0..100000i32 {
        builder.entry(i, &i.to_string());
    }
    builder.build(&mut file).unwrap();
    write!(&mut file, ";\n").unwrap();

Okay, I figured it out. The stack overflow happens when you chain the builder calls together:
phf_codegen::Map::new()
    .entry(0, "0")
    .entry(1, "1")
    .entry(2, "2")
    // ...
    .entry(999, "999");

If you add them individually, the error goes away.
let mut builder = phf_codegen::Map::new();
builder.entry(0, "0");
builder.entry(1, "1");
builder.entry(2, "2");
// ...
builder.entry(999, "999");

The example in the documentation uses the chaining style, so it might be helpful to either change it to use the second style or warn readers about the stack overflow. I imagine that large sets of data are the norm rather than the exception if someone really needs a compile-time hash map.

The compiler's overflowing its stack in macro expansion:
#0  0x00007ffff747183c in rust_stack_exhausted () from /home/sfackler/.multirust/toolchains/beta/lib/libstd-4e7c5e5c.so
#1  0x00007ffff49c0185 in __morestack () from /home/sfackler/.multirust/toolchains/beta/lib/libsyntax-4e7c5e5c.so
#2  0x00007ffff490d325 in ext::expand::expand_expr::hb8eed3a5217eb3156V7 () from /home/sfackler/.multirust/toolchains/beta/lib/libsyntax-4e7c5e5c.so
#3  0x00007ffff48a4e64 in ext::expand::MacroExpander$LT$$u27$a$C$$u20$$u27$b$GT$.Folder::fold_expr::h7d915d430776f5bd198 ()
   from /home/sfackler/.multirust/toolchains/beta/lib/libsyntax-4e7c5e5c.so
#4  0x00007ffff4914b3f in fold::noop_fold_expr::h17904674019177153731 () from /home/sfackler/.multirust/toolchains/beta/lib/libsyntax-4e7c5e5c.so
#5  0x00007ffff490da1b in ext::expand::expand_expr::closure.59356 () from /home/sfackler/.multirust/toolchains/beta/lib/libsyntax-4e7c5e5c.so
#6  0x00007ffff490d325 in ext::expand::expand_expr::hb8eed3a5217eb3156V7 () from /home/sfackler/.multirust/toolchains/beta/lib/libsyntax-4e7c5e5c.so
#7  0x00007ffff48a4e64 in ext::expand::MacroExpander$LT$$u27$a$C$$u20$$u27$b$GT$.Folder::fold_expr::h7d915d430776f5bd198 ()
   from /home/sfackler/.multirust/toolchains/beta/lib/libsyntax-4e7c5e5c.so
#8  0x00007ffff4914b3f in fold::noop_fold_expr::h17904674019177153731 () from /home/sfackler/.multirust/toolchains/beta/lib/libsyntax-4e7c5e5c.so
#9  0x00007ffff490da1b in ext::expand::expand_expr::closure.59356 () from /home/sfackler/.multirust/toolchains/beta/lib/libsyntax-4e7c5e5c.so
#10 0x00007ffff490d325 in ext::expand::expand_expr::hb8eed3a5217eb3156V7 () from /home/sfackler/.multirust/toolchains/beta/lib/libsyntax-4e7c5e5c.so
#11 0x00007ffff48a4e64 in ext::expand::MacroExpander$LT$$u27$a$C$$u20$$u27$b$GT$.Folder::fold_expr::h7d915d430776f5bd198 ()
   from /home/sfackler/.multirust/toolchains/beta/lib/libsyntax-4e7c5e5c.so
....

It's not totally surprising. I've added a note to the phf_codegen docs mentioning this issue and workarounds: http://sfackler.github.io/rust-phf/doc/phf_codegen/index.html#note


release: v0.2.2

appc spec version: v0.7.1+git
v0.2.2 is a minor release incorporating a handful of changes since v0.2.1. Things this release includes:

Don't require a starting character of . or / when specifying an image for
the --modify flag.
Adds support for specifying a local directory with begin, for use as the
initial rootfs of the ACI.
Adds support for the run command on systems with a version of systemd <
209.
Versions of dependencies can be specified using tag syntax.
A bug related to the handling of hard links in tars was found, and fixed.
A history of acbuild commands performed is now tracked in annotations in the
ACI being worked on. This can be disabled via a flag.

LGTM


Hat Icons

Describe the requested icon(s)

Multiple kinds of hats that can be used in games, websites or UIs to represent different people, genres, jobs...
I don't think there is an icon library that provides this, so it would be nice to have them :)
For instance (but not limited to):

Fez
Bowler Hat
Fedora (can double as the Fedora/RedHat operating system icon)
Top Hat
Party Hat
Pilot's Cap
Chef's Hat
Witch's Hat
...

Added chef-hat, hard-hat, beanie, baseball-helmet, cowboy-hat, crown-cross, football-helmet in v2.1. Keeping this issue open for the others!


Improved get_attribute_access_type

Allow parsing of bare python class type annotations
Add support for sqlalchemy array types
Improved sqlalchemy type annotation parsing for Optional and Iterable
Add basic tests for get_attribute_access_type

Warning: Failed to resolve ForwardRefs for <class 'pandas.core.frame.DataFrame'>.get_setter_name due to name
'SingleBlockManager' is not defined
Warning: Failed to resolve ForwardRefs for <class 'pandas.core.frame.DataFrame'>.get_setter due to name
'SingleBlockManager' is not defined
Warning: Failed to resolve ForwardRefs for <class 'pandas.core.frame.DataFrame'>.get_setter_name due to name
'SingleBlockManager' is not defined

https://github.com/reflex-dev/reflex/pull/3357