wingetcreate looks for installer architecture instead of application architecture

Brief description of your issue
To replace my team's current custom tooling for deploying to winget, I am trying to adopt wingetcreate for automatic updates of the Microsoft.Git manifest each time we release. The manifest currently has one installer and specifies an x64 architecture. Note that this refers to the application to be installed not the installer itself (which is x86).
When we attempt to publish a new manifest, wingetcreate downloads the installer and detects that the installer is x86. It then compares it to the x64 specified in the manifest and fails. I've included more details below, but in short I think wingetcreate is matching on installer architecture when it should be matching on application architecture.
Steps to reproduce
Pre-Requisites

Use a Windows 10 machine
Ensure winget and wingetcreate are installed and on the path
Generate a PAT that has repo:public_repo scope

Steps to Reproduce
Run the following command (replacing *** with the token you generated above):
wingetcreate update Microsoft.Git -u https://github.com/ldennington/git/releases/download/v2.33.0.vfs.0.7/Git-2.33.0.vfs.0.7-64-bit.exe -v <IP_ADDRESS>.7 -o manifests -t ***
Expected behavior
I expected the Microsoft.Git manifest to be updated successfully and saved to the manifests directory.
Actual behavior
The following error is thrown:
Each new installer URL must have a single match to an existing installer based on installer type and architecture. The following installers failed to match an existing installer:
Multiple matches found for X86 Inno installer detected from the url: https://github.com/ldennington/git/releases/download/v2.33.0.vfs.0.7/Git-2.33.0.vfs.0.7-64-bit.exe

I tried to update the architecture to x86 in the manifest, but that broke winget validation (which makes sense since x64 applications can't run on x86 machines). So I don't actually think this was the right fix. My understanding is that Inno Setup only ships an x86 version, and it's only possible to create x86 Inno installers using this tech, so I would expect this issue to impact a lot of products beyond just Microsoft.Git.
In light of this, I believe that wingetcreate should be looking at the application architecture instead of the installer architecture when attempting to find an installer match.
Environment
Windows Package Manager Version: v1.1.12701
Windows OS Build: 19043.1288
wingetcreate Version: <IP_ADDRESS>
Package: Microsoft.Git

This is also extremely important to fix for nullsoft installers, since NSIS doesn't have a x64 version of the installer. All nullsoft installer executables are x86, even if they install a x64 application.

AFAIK the only way to get the application arch is by installing it. If you know of another way please let us know though! If it's not possible, then the alternative is to allow the user to override the detected installer, and/or to improve our URL parsing. In this case, adding "64-bit" to the URL parsing would resolve it, which we should do: https://github.com/microsoft/winget-create/blob/7c61f3e877f95f6c8ab60ed4e3a34d9449d7e774/src/WingetCreateCore/Common/PackageParser.cs#L466. I filed #199 to track that change

Thank you so much!! I'd be happy to contribute this change if you'd like.

If you know of another way please let us know though

Would you be opposed to extracting the installer somehow (there's three or four projects that do this for Inno, innoextract and innounp seem to work great) and checking to see if there are any 64-bit binaries inside of it? If there were, you could conclude that it was a 64-bit installer.
Granted, wingetcreate would probably have to have it's own extractor so you don't have to run other binaries, but it would be one way of solving it (probably not the best way, especially if ISVs name their installers correctly as https://github.com/microsoft/git has).

Thank you so much!! I'd be happy to contribute this change if you'd like.

We would love a contribution 👍

Would you be opposed to extracting the installer somehow (there's three or four projects that do this for Inno, innoextract and innounp seem to work great)...

We're definitely not inherently opposed to using 3rd-party libraries, but unfortunately my brief inspection seems to show these only distributed as exes, w/o DLLs that we could pinvoke into, and I couldn't find any .NET libraries either. Packaging additional exes into winget-create is not ideal. I didn't look into the source to see how difficult it is. If it's something you're familiar with and would like to tackle that'd be fantastic!

@ldennington,
I have already merged the changes for improving our URL parsing to better detect the architecture from your provided installer URL. Your problem should be resolved when we push out our next release soon. Thanks for bringing this issue to our attention and I apologize for the inconvenience it may have caused you!

@ryfu-msft Awesome thanks so much for the fast fix!! Looking forward to the next release 😊.

Ran into this issue when using wingetcreate to do this pull request:
https://github.com/microsoft/winget-pkgs/pull/34079
In my case, there's no x86 or x64 in the installer title, so I think we specifically need a commandline switch or something to override and say "No, this is an x64 application".
I could potentially see this as an issue for things like ARM applications which may still use installers like Nullsoft, which may not have ARM versions specifically.

@ryfu-msft Awesome thanks so much for the fast fix!! Looking forward to the next release 😊.

@ryfu-msft Out of curiosity, is there an ETA for the next release?

@ryfu-msft Awesome thanks so much for the fast fix!! Looking forward to the next release 😊.

@ryfu-msft Out of curiosity, is there an ETA for the next release?

@ldennington, we have plans to release today, so it should be out shortly. Will tag you again when it is ready.

@ldennington, I just released v<IP_ADDRESS> of WingetCreate so your issue should be resolved now. Please try it out and let me know if you come across any other issues. Leaving this issue thread open as the root issue still needs work to be done. Thanks!

I still have this problem with <IP_ADDRESS>
I was trying to update BOINC
C:\Users\Toby>wingetcreate update --urls https://boinc.berkeley.edu/dl/boinc_7.16.20_windows_x86_64.exe --version 7.16.20 UCBerkeley.BOINC
Retrieving latest manifest for UCBerkeley.BOINC
Downloading and parsing: https://boinc.berkeley.edu/dl/boinc_7.16.20_windows_x86_64.exe...
Each new installer URL must have a single match to an existing installer based on installer type and architecture. The following installers failed to match an existing installer:
Multiple matches found for X86 Exe installer detected from the url: https://boinc.berkeley.edu/dl/boinc_7.16.20_windows_x86_64.exe


Convert readme listing to table

Changes the listing of directories to markdown-table-format for to make great pretty.

Superseded by other changes


Adding hover effect on card buttons on index page (Moksh features)

I would like to work on this issue under Gssoc'23 . Can you assign me this issue @akshitagupta15june ?

some contributors are working on it

Ok ! Thanks for letting me know


restore build's littering of elc files

Spruce up Makefile.
Let make create elc files as it once did.

Thanks! I will wait for @tarsius, he put much effort into his PR. Maybe we can combine them ?


allow for errorHandler middleware

Since the error function handler is very different, it cannot be handled generically.
Instead, wrap separately for each of the most common function signatures:
function (req, res) {
    // complete request
}

function (req, res, next) {
    // do middleware stuff
}

function (err, req, res, next) {
    // handle errors
}

@michal-choluj this is now passing the tests and ready for review


Allow ContentType field of publish command to be specified

Made a change to the Amqp.publish command to allow a content type to be specified

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


Fetch text/data from URL using CSS selectors

A command to fetch text and tag attribute values from web pages, using CSS selector syntax.
BS4 can do this, however apparently lxml supports more syntax.
Not sure what the command would be called, but it would be used like this:
.cssGrab text http://valid.url html head title
(returns "Page Title")
.cssGrab attr http://valid.url data-attribute div#id
(returns the value of data-attribute)
(Actually I like CSSGrab as a name now)

I've decided .slurp is a much better name

Implemented in d2b7f191519835a3a8f0e8a32fb52c7b354b0e33 and f3195d0d41232c7655250dea15ba4ecbe1a7b036


Please advise a way to specify pin apart from D/C and RST

Maybe duplicate with #11, but I think I need a clear answer.
I got the same LCD as what described in #11 , so I have to reassign the PIN in the code.
I went over the doc, only found how to change D/C and RST, but no description of the rest ones (SCLK, SDA, and CE)
How do I change them?
Thank you
Link to LCD I got
More detail

By default PCD8544 driver is SPI compatible, hence the reason it is fixed to use the RPIs SPI interface pins.. this allows us to use the SPI hardware and the Linux kernel to drive the device efficiently. If you have bought a board which interfaces those lines to non-SPI griot header pins, then that is a poor decision by the board designer!
The only choice you have really is therefore to do what is called bit-banging in software .. this is what
https://github.com/pevandenburie/node-pcd8544-rpi/blob/master/src/PCD8544.cc#L812 does.
Luma.lcd will support bitbanging but I haven’t tried it for a while. Instead of SPI, you would need to look at using this serial interface instead:
https://github.com/rm-hull/luma.core/blob/master/luma/core/interface/serial.py#L118

To be honest I would just source a different LCD board from ebay or aliexpress ... one where you wire it yourself

Thank you for your quick reply! 😄
I tried bitbang in your core before, seems not working.
I will take another look when I got time

Hi @rm-hull
Hope it is something wrong on my side, I used below code, but no luck, nothing shows on my screen
please checkout Front pic to see what front looks like.
from luma.core.interface.serial import spi, bitbang
from luma.core.render import canvas
from luma.lcd.device import pcd8544

# serial = spi(port=0, device=1, gpio_DC=27, gpio_RST=23)
serial = bitbang(SCLK=17, SDA=18, CE=22 , DC=27 ,RST=23)
device = pcd8544(serial, rotate=1)

with canvas(device) as draw:
    draw.rectangle(device.bounding_box, outline="white", fill="black")
    draw.text((30, 40), "Hello World", fill="red")

Now that I won't use stock hardware SPI, I think below operation is meaningless, but I want to show you still
[ 22:22 - <IP_ADDRESS>  ]
pi@Saturn ~/projects/PCD_8544_screen/python/test $ ls -l /dev/spi*
crw-rw---- 1 root spi 153, 0 Dec  5 23:19 /dev/spidev0.0
crw-rw---- 1 root spi 153, 1 Dec  5 23:19 /dev/spidev0.1
[ 22:23 - <IP_ADDRESS>  ]
pi@Saturn ~/projects/PCD_8544_screen/python/test $ lsmod
Module                  Size  Used by
cmac                    3239  1
bnep                   12051  2
hci_uart               20020  1
btbcm                   7916  1 hci_uart
bluetooth             365780  24 hci_uart,bnep,btbcm
spidev                  7373  0
brcmfmac              292632  0
brcmutil                9863  1 brcmfmac
cfg80211              544545  1 brcmfmac
rfkill                 20851  6 bluetooth,cfg80211
snd_bcm2835            24427  0
snd_pcm                98501  1 snd_bcm2835
snd_timer              23968  1 snd_pcm
snd                    70032  3 snd_timer,snd_bcm2835,snd_pcm
bcm2835_gpiomem         3940  0
spi_bcm2835             7596  0
uio_pdrv_genirq         3923  0
fixed                   3285  0
uio                    10204  1 uio_pdrv_genirq
i2c_dev                 6913  0
ip_tables              13161  0
x_tables               20578  1 ip_tables
ipv6                  408900  43
[ 22:23 - <IP_ADDRESS>  ]
pi@Saturn ~/projects/PCD_8544_screen/python/test $

@duchenpaul got it to work?

Yes, I will close it.


Support GPU accelerated inference for MacOS on apple silicon chips

Is your feature request related to a problem? Please describe.
It seems that currently only CPU is used for interference on Mac. I've tried my Mac M3 Pro.
Describe the solution you'd like
It would be nice to support GPU accelerated inference for MacOS apple silicon chip.
Additional context
Can you list the part where it needs to be modified to support that?

There used to be PR using MPS, but it is slower than cpu on mac, maybe it is not mature yet


proposal: support limiting results to security releases

Back in May, the node.js Releases team added a new security property to the index (https://github.com/nodejs/nodejs-dist-indexer/pull/9).
The property is a boolean that indicates if the release is a security release, which is useful for a few reasons (many described in https://github.com/nodejs/Release/issues/437#issue-435787538); the one that I believe justifies adding functionality to resolve-node is this one (emphasis mine):

Theoretically, developers (us included!) could use this in a few ways:
...

loop over every release in a release line until they encounter true – when they encounter true for the first time, they know that version is the minimum secure version

The proposal is to add support for a security query param on all endpoints that causes the eligible list of versions to be filtered by security === true before applying the maxSatisfying() query.
eg:
$ curl https://resolve-node.now.sh/lts/dubnium
v10.17.0

$ curl https://resolve-node.now.sh/lts/dubnium?security=true
v10.16.3

This tells us that, at the time of the query, anyone running Dubnium < 10.16.3 is on a known, potentially insecure version.
what do y'all think? should I whip together a PR?

half way through typing up the proposal I realized this would be a fairly trivial change, so I crunched out a first pass so y'all could see what it might look like implemented 😅
no pressure, but #6 should give you an idea of what I had in mind should you agree that this could be a useful feature.
thanks!


add @edgeware/node-types to webb.js SDK

This added support to connect to edgeware-node using @edgeware/node-types and expose a new function optionsWithEdgeware from @webb-tools/api similar to options function, that contains Edgeware spec.
to test it out, run edgeware-node from the derw-erup-4 branch and then run
yarn script scripts/edgeware-connect.ts

it should connect correctly to the local edgeware node.
Relative Tasks: https://www.notion.so/hicommonwealth/edgeware-node-types-webb-js-11292ae983f3429fad0764c6c4495848

I tried out the script on edgeware-node branch drew-erup-4 with flags `--rpc-external --ws-external --rpc-cors="all" --dev" but I am running into the following error, any suggestions?:
2021-05-23 21:11:18        REGISTRY: Error: Unable to create Enum via index 13, in V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12
    at assert (/Users/nathanbarnavon/workspace/web/webb.js/node_modules/@polkadot/util/assert.cjs:34:11)
    at createFromValue (/Users/nathanbarnavon/workspace/web/webb.js/node_modules/@polkadot/types/codec/Enum.cjs:87:20)
    at decodeFromValue (/Users/nathanbarnavon/workspace/web/webb.js/node_modules/@polkadot/types/codec/Enum.cjs:118:14)
    at decodeEnum (/Users/nathanbarnavon/workspace/web/webb.js/node_modules/@polkadot/types/codec/Enum.cjs:142:10)
    at new Enum (/Users/nathanbarnavon/workspace/web/webb.js/node_modules/@polkadot/types/codec/Enum.cjs:196:21)
    at new <anonymous> (/Users/nathanbarnavon/workspace/web/webb.js/node_modules/@polkadot/types/codec/Enum.cjs:211:9)
    at new Type (/Users/nathanbarnavon/workspace/web/webb.js/node_modules/@polkadot/types/create/registry.cjs:349:16)
    at decodeU8a (/Users/nathanbarnavon/workspace/web/webb.js/node_modules/@polkadot/types/codec/utils/decodeU8a.cjs:24:19)
    at decodeStruct (/Users/nathanbarnavon/workspace/web/webb.js/node_modules/@polkadot/types/codec/Struct.cjs:100:41)
    at new Struct (/Users/nathanbarnavon/workspace/web/webb.js/node_modules/@polkadot/types/codec/Struct.cjs:134:26)
2021-05-23 21:11:18        RPC-CORE: getMetadata(at?: BlockHash): Metadata:: createType(Metadata):: Unable to create Enum via index 13, in V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12
2021-05-23 21:11:18        API/INIT: Error: FATAL: Unable to initialize the API: createType(Metadata):: Unable to create Enum via index 13, in V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12
    at EventEmitter.value (/Users/nathanbarnavon/workspace/web/webb.js/node_modules/@polkadot/api/base/Init.cjs:91:25)
    at processTicksAndRejections (node:internal/process/task_queues:94:5)
    at runNextTicks (node:internal/process/task_queues:63:3)
    at processImmediate (node:internal/timers:437:9)
2021-05-23 21:11:18        API/INIT: Error: createType(Metadata):: Unable to create Enum via index 13, in V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12
    at createTypeUnsafe (/Users/nathanbarnavon/workspace/web/webb.js/node_modules/@polkadot/types/create/createType.cjs:66:11)
    at RpcCore._formatOutput (/Users/nathanbarnavon/workspace/web/webb.js/node_modules/@polkadot/rpc-core/index.cjs:387:41)
    at callWithRegistry (/Users/nathanbarnavon/workspace/web/webb.js/node_modules/@polkadot/rpc-core/index.cjs:253:42)
    at processTicksAndRejections (node:internal/process/task_queues:94:5)
    at runNextTicks (node:internal/process/task_queues:63:3)
    at processImmediate (node:internal/timers:437:9) ```

I’m guessing we just need to update the polkadot api types in the webbjs
lib.
On Sun, May 23, 2021 at 9:18 PM nepoche @.***> wrote:

I tried out the script on edgeware-node branch drew-erup-4 with flags
`--rpc-external --ws-external --rpc-cors="all" --dev" but I am running into
the following error, any suggestions?:
2021-05-23 21:11:18        REGISTRY: Error: Unable to create Enum via index 13, in V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12
at assert @./util/assert.cjs:34:11)
at createFromValue @./types/codec/Enum.cjs:87:20)
at decodeFromValue @./types/codec/Enum.cjs:118:14)
at decodeEnum @./types/codec/Enum.cjs:142:10)
at new Enum @./types/codec/Enum.cjs:196:21)
at new  @./types/codec/Enum.cjs:211:9)
at new Type @./types/create/registry.cjs:349:16)
at decodeU8a @./types/codec/utils/decodeU8a.cjs:24:19)
at decodeStruct @./types/codec/Struct.cjs:100:41)
at new Struct @./types/codec/Struct.cjs:134:26)
2021-05-23 21:11:18        RPC-CORE: getMetadata(at?: BlockHash): Metadata:: createType(Metadata):: Unable to create Enum via index 13, in V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12
2021-05-23 21:11:18        API/INIT: Error: FATAL: Unable to initialize the API: createType(Metadata):: Unable to create Enum via index 13, in V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12
at EventEmitter.value @./api/base/Init.cjs:91:25)
at processTicksAndRejections (node:internal/process/task_queues:94:5)
at runNextTicks (node:internal/process/task_queues:63:3)
at processImmediate (node:internal/timers:437:9)
2021-05-23 21:11:18        API/INIT: Error: createType(Metadata):: Unable to create Enum via index 13, in V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12
at createTypeUnsafe @./types/create/createType.cjs:66:11)
at RpcCore._formatOutput @./rpc-core/index.cjs:387:41)
at callWithRegistry @./rpc-core/index.cjs:253:42)
at processTicksAndRejections (node:internal/process/task_queues:94:5)
at runNextTicks (node:internal/process/task_queues:63:3)
at processImmediate (node:internal/timers:437:9) ```
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/webb-tools/webb.js/pull/74#issuecomment-846669397,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADELLF2BJ5BD2CTDS6FKZLLTPGSNZANCNFSM45JH5RJQ
.

FYI, this error happens also in the polkadot UI
try to connect to the local node built from this commit https://github.com/hicommonwealth/edgeware-node/commit/114856d7d78a81153e05dd0988b865e016de8243
https://ipfs.io/ipns/dotapps.io/?rpc=ws%3A%2F%2F<IP_ADDRESS>%3A9944#/settings/developer
So, I don't think it is an issue with our version of polkadontjs for now, since it does not work in the UI either, that means we need to add more types or we have something wrong somewhere.

So after the last commit, it now works:
❯ yarn script scripts/edgeware-connect.ts
[16:19:21] , [Api]  Connecting to  ws://localhost:9944
[16:19:21] , [Api]  🎉 Connected to  Development
[16:19:21] , [Api]  Network Properties:  { ss58Format: '42', tokenDecimals: [ '18' ], tokenSymbol: [ 'tEDG' ] }


Everytime, every request I have: "User Load (0.3ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2  [["id", 1], ["LIMIT", 1]]"

I'm using:
class GoodsController < ApplicationController
  before_action :authenticate_user
  ....

so now I have everytime, every request in my log:
User Load (0.3ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2  [["id", 1], ["LIMIT", 1]]

Why? Everytime a query? Is token valid just with secret_key?

I wonder the same. +1

If I understand it correctly perhaps Knock calls the current_user method it defines to ensure the user still exists?

I am facing the same issue. It executes following query for every request
SELECT  "users".* FROM "users" WHERE "users"."email" = $1 LIMIT $2
We have separate front / back end application. We are integrating auth0 in our application.
For back authentication we are using knock gem.
I have added following code in my user.rb
def self.from_token_payload(payload)
   User.find_by_email(payload['email'])
   # or create new one
end

Every request comes to this method and each time its validating user.
Is there any configuration like it will call this method only once?


Move DB-related functions and classes to inmanta.db.util module

Description
Moved the do_clean_hard and postgres_get_custom_types functions and the PGRestore and the AsyncSingleton classes to the inmanta.db.util module. This way it can be used from other Inmanta extensions.
closes #5383
Self Check:

[x] Attached issue to pull request
[x] Changelog entry
[x] Type annotations are present
[x] Code is clear and sufficiently documented
[x] No (preventable) type errors (check using make mypy or make mypy-diff)
[x] Sufficient test cases (reproduces the bug/tests the requested feature)
[x] Correct, in line with design
[x] End user documentation is included or an issue is created for end-user documentation

I didn't check the implementation in inmanta.db.util under the assumption that it remained unchanged. Let me know if that is not the case.

I added some code to fix the typing issues. But the logic should remain the name.

Processing this pull request


Support different citation_format depending on type [feature suggestion]

It would be great if there would be several citation_formats, depending on the type of item. Like for instance,

 citation_format_incollection = '{{author}}. ({{year}}). {{title}}. In {{editor}}, {{booktitle}}',
 citation_format_article = '{{author}}. ({{year}}). {{title}}. {{journal}}, ({{number}}:{{volume}}). {{doi}}. Retrieved {{urldate}} from {{url}}.',
 citation_format_book = '{{author}} ({{year}}), {{title}}.',

Citation format would be selected automatically, according to @type of item.
Some users might appreciate different c-X commands for manual format according to specific types. Somewhat related to #49.
Maybe include a citation_format_fallback as well, or keep the current, plain citation_format as fallback, and so as to avoid a breaking change.

Sounds reasonable. Will put this on my list of feature requests I will look into once I got the time (sometimes during April).
Not sure what you mean by the c-X command tho... Do you mean that the citation based on the @type should be triggered by c-X ?

Sorry, was unclear. It seemed that the other bug report suggested different insert format commands. The X in c-X was meant as a general placeholder, to be replaced by keys; c-a, c-b etc. But I'm primarily interested in format according to type, so the c-X discussion would rather belong to the other issue/feature suggestion.

Alright, thanks for the clarification.


Why node-git uses 90% rotated hexagon?

Why node-git uses 90% rotated hexagon instead of classical for nodejs?
What is initial conflict in #69?

I think that rotating it the 90% resolved the conflict that we had with joylent (ref this comment(.

Given that the majority of node-related thing now use the hexagon, including Tessel (a company!), nodeschools, nodeconf, etc.. maybe we can fix this?

Given that iojs uses that same hexagon, I do not see issues.

That's true. We could probably change it now. @isaacdurazo and @tbranyen, since you guys started the logo stuff, what do you think?

I intentionally engaged Joyent, because I believe they have a right to protect their brand and I have no intention on setting up a conflicting brand that we'd inevitably be legally forced to change.  The problem is/was more than just the hexagon, it was the color, hexagon size/orientation, AND the word Node following it.  That is the problem.  IOJS does not have that same problem.
We agreed on the current brand and changing it to something potentially problematic is pointless at this point :-)

The problem is/was more than just the hexagon; it was the color, hexagon size/orientation, AND the word Node following it.

This is a description of Node Inspector logo =)

@3y3 i'm sure there's more than just Node Inspector, but we extended Joyent a professional courtesy and asked.  They told us no and we complied.  Feel free to contact them again on our behalf (speaking for us) and if they oblige I'd be happy to reopen this issue.


[ERR] AxiosError: Request failed with status code 500

What happened?
When creating a new collection, the action ends with an error message:
[ERR] AxiosError: Request failed with status code 500
Please reproduce in steps
Go to ... Click on .... See error
Expected Behavior
I've expected ...
What browsers are you seeing the problem on?
No response
Are you logged in?
No response
At which address did you encounter bug?
No response
Screenshots
https://user-images.githubusercontent.com/81104034/176128546-82837eff-4643-4c0d-8f5a-c4dbe8430740.mp4
Relevant log output
No response
Payment link for reward
https://kodadot.xyz/transfer?target=FqCJeGcPidYSsvvmT17fHVaYdE2nXMYgPsBn3CP9gugvZR5
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Same on beta.kodadot.xyz, look like pinning endpoint is in error

Same on beta.kodadot.xyz, look like pinning endpoint is in error

yes, I confirm

Hey,
Our pinning service does not work today.

@jkdizajn looks like Estuary is working again!


B74 server spontaneous crash while idle

What version of Music Assistant has the issue?
B74
The problem
MA was running idle, while an external dice was using my chromecasts.
Memory and CPU usage ever normal and flat.
The log  stopped with one error. I added the latest log entries below
How to reproduce
?
Relevant log output
2023-10-29 16:30:43.563 DEBUG (Thread-8) [music_assistant.providers.chromecast.Everywhere_57] Received media status update: PLAYING
2023-10-29 16:31:13.598 INFO (Thread-8) [pychromecast.socket_client] [Everywhere_57(<IP_ADDRESS>):32034] Error writing to socket.
2023-10-29 16:31:13.598 WARNING (Thread-8) [pychromecast.socket_client] [Everywhere_57(<IP_ADDRESS>):32034] Error communicating with socket, resetting connection
2023-10-29 16:31:13.598 INFO (Thread-8) [pychromecast.controllers] Receiver:channel_disconnected
2023-10-29 16:31:13.599 DEBUG (Thread-8) [music_assistant.providers.chromecast] Woonkamer got new media_status for group: 57b1b07e-d533-4a38-a1d0-27374f404622
2023-10-29 16:31:13.599 DEBUG (Thread-8) [music_assistant.providers.chromecast.Everywhere_57] Received media status update: UNKNOWN
free(): corrupted unsorted chunks
Additional information
No response
What version of Home Assistant Core are your running
Core 2023.10.5
What type of installation are you running?
Home Assistant OS
On what type of hardware are you running?
Raspberry Pi

Do you have uvloop enabled in the addon settings ? How much memory does your HA host have ?

No, I didn't enable uvloop. My Pi4B has 4GB memory and atriums the crash the memory use was ca 35% and CPU 6%

are you sure your stats are updated correctly ? as that crash indicated the crash happening while trying to free memory. Could also be another thread safety issue in pychromecast. Its hard to debug that is for sure. Please keep an eye on it. If it happens again we'll investigate.


Feature Request: Uncontrolled SFX Randomization

Add an option to allow SFX to be randomized with no categorisation constraints. This should include the ability to choose the number of levels to apply to.

Resolved under #328.


adding a wkhtmltopdf note to README

Fixes #21 (sort of: still needs a manual install of wkhtmltopdf, but adding a note about that)

Coverage remained the same at 45.594% when pulling 77a0f30df689ecc4b263750f9fb8d9e30d1ec863 on vaxrank-add-wkhtmltopdf-note into b4bb440b1e99b4da6ea166f2e25b90600b02dcb6 on master.

Coverage remained the same at 45.594% when pulling 8b2fd911a7ee3194b7ef19b85386b513c3b2431f on vaxrank-add-wkhtmltopdf-note into b4bb440b1e99b4da6ea166f2e25b90600b02dcb6 on master.

LGTM!


Add auto-update feature in netbird script for binary installation

Describe your changes
This pull request addresses the need to enhance the installer script by introducing a new parameter --update to trigger updates. The goal is to streamline the update process for binary installations and provide a better experience for users.
Issue ticket number and link
Checklist

[ ] Is it a bug fix
[ ] Is a typo/documentation fix
[x] Is a feature enhancement
[ ] It is a refactor
[ ] Created tests that fail without the change (if possible)
[ ] Extended the README / documentation, if necessary

So, for binary installations, how does one update NetBird? Just run install.sh again?

So, for binary installations, how does one update NetBird? Will running curl -fsSL https://pkgs.netbird.io/install.sh | sh again do it?

You can update by running curl -fsSL https://pkgs.netbird.io/install.sh | sh -s -- --update

You can update by running curl -fsSL https://pkgs.netbird.io/install.sh | sh -s -- --update

I am guessing this an intelligent update (meaning no update if none needed), right?

Thanks. I am guessing this an intelligent update (meaning no update if none needed), right?

Correct. In case you are running the latest version, there will be no updates.


Feature/new

:tada: This PR is included in version 1.0.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


MudDataGrid needs a SortChanged event that can be subscribed to.

Feature request type
Enhance component
Component name
MudDataGrid
Is your feature request related to a problem?
No
Describe the solution you'd like
Currently, there is no way to easily tell when the sort has changed in the data grid. There is a SortDefinitions parameter but the type is an Dictionary<string, SortDefinition> which does not allow notifying when a definition has been added, removed or changed. There needs to be an event, SortChanged than can be subscribed to for notifying when the sort of the data grid has changed.
Have you seen this feature anywhere else?
No
Describe alternatives you've considered
The only solution really is implementing your own ObservableDictionary.
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Seconded!

Hi, will this event be available in the next future?
thank you

Hi, will this event be available in the next future?

Pull Request is welcome.

Hi, will this event be available in the next future?

Pull Request is welcome.

sorry, what do you mean?

sorry, what do you mean?

MudBlazor is a community project. When someone needs a feature, users like you can implement it, post the code through a pull request, and then the team will review it. If everything is okay, the code will be added to the MudBlazor codebase.

MudBlazor is a community project. When someone needs a feature, users like you can implement it, post the code through a pull request, and then the team will review it. If everything is okay, the code will be added to the MudBlazor codebase.

it's ok, but, as the documentation says that there is such an event, I think that this is a bug either in the code or in the docs.


Door Remote Control resprite

About the PR
resprite DRC by ThetaStation Community
Q: Why?

A: Separating the remote control sprite from the sindiborg's caller/uplink/gangtool/whatever else in the build
Screenshots

ALTERNATIVE lights:

Changelog

:cl: AgRevol

add: Added new sprite for DRC

These sprites look worse, and I'm not interested in them at this time.


Fix for Anyone Delete

At an update at some point the client uses anyone can edit. While the server.lua uses anyone can delete.
Only anyone could edit true/false was in the config. So by adding the anyone can delete to the config it fixes the bug where it wasn't allowing folks to delete scenes.

Wow, cant believe I forgot to add the actual config variable 🤦
Thanks!


Port restic.Find to return IDs and identify keys by restic.ID

What does this PR change? What problem does it solve?
All objects used by the repository should be identified by a restic.ID. Thus use an ID instead of a str when possible.

Was the change previously discussed in an issue or on the forum?
No.

Checklist

[x] I have read the contribution guidelines.
[x] I have enabled maintainer edits.
[ ] I have added tests for all code changes.
[ ] I have added documentation for relevant changes (in the manual).
[ ] There's a new file in changelog/unreleased/ that describes the changes for our users (see template).
[x] I have run gofmt on the code in all commits.
[x] All commit messages are formatted in the same style as the other commits in the repo.
[x] I'm done! This pull request is ready for review.

LGTM.


Changing explorer options should invalidate any caches

For example for /trapvalue

fixed in 2.1.47

caches
terminology question.  Are we talking about engine caches the cloud being one of them?  or is this more web tech than chess?
I got interested, because I have had many experiments of engine per position analysis (can tell more later).  And at least the CLOUD internet scale cache would get in the way of analytical and interpretable usage of the engine tool.  Among other depth related problem I have experienced with SF on lichess (not that this might not be same on other sites. Lichess is my only real experience with actual chess study and play and as user on regular basis, so when I say problem I mean given my chess perceived needs, and also not just whims, I have rational basis to think this could be improved).  The general assumption is that depth is better.  But human chess learning juice needs to have all the reasoning keys visible.  The learnable information from using that tool is wasted by the normal practice common sense (if common means it is as it is).
But this here, I see,  is about the book.. sorry. answering myself, but leaving this as something I wanted to share.  Not sure it is the scope of LT either.
I am working from some page summarizing issues history.. so this might be misplaced.  Eager to move it upon request and suggestion of where better.

It was about the internally cached data in LT, specifically for the /trapvalue command.


[Docs] elaborate README docs

Description
Adding examples and installation guide
Notes for Reviewers
Signed commits

[x ] Yes, I signed my commits.

Excellent. 🙂


is Stitches dead?

After reading the statement on modulz page and some posts in twitter.
My questions are

is Stitches dead?
Any Updates for React18? SSR + static style generation?
can we back the project to keep it up in production?

Any ideas to move to an alternative (sadly since DX is so far the best for all CSSinJS solutions )

is Stitches dead?

No

Any Updates for React18? SSR + static style generation?

No plans to support this in Stitches as of yet.

can we back the project to keep it up in production?

it's already in production and we're committed to fixing bugs or issues
if you have more questions feel free to ask them on discord as you're likely to get the answer there quickly as we're trying to keep issues to actual stitches bugs/feature requests


[All Hosts] (ui) update Fluent React tutorial for new library structure

Fixes 3097

Docs Build status updates of commit 1852c30:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/design/using-office-ui-fabric-react.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


The module is imported incorrectly

Environment
npmPackages:
  react: 16.8.3 => 16.8.3
  react-native: 0.59.8 => 0.59.8
npmGlobalPackages:
  eslint-plugin-react-native: 3.2.1
  react-native-cli: 2.0.1

Platforms
Android and iOS
Versions

react-native-geolocation: 1.4.0
react-native: 0.59.8

Description
import Geolocation from '@react-native-community/geolocation'

imports the index.js instead of index.native.js, resulting in "method not supported by the browser" errors even on Android and iOS devices

Thanks! We're tracking this in #30 and a PR is open at #32.


Add ability to execute notification on specific thread

Eg. someone want to execute notification in background thread

this feature is expected,espacially for AsyncEventBus.
the the consume() function is expected to be put into one background thread to process the event asynchronously.
the backgound thread may be like the following:
std::thread t( {
while (true)
{
getAsyncBus()->consume();
// using namespace std::chrono_literals;
// std::this_thread::sleep_for(1s);
}
});
t.detach();
but the consume() will lead the CPU load to 100% without some sleep. if you added some sleep, the event may not be consumed in time.
will you make the function consume() blocked if there is no event?

Yes sure. It could be done.

@shenfumin I'm going to add: (brief example)
			if(bus.wait())
			{
				bus.consume();
			}

So it will wait until event come in. Also can be waitFor(10s) as timeout

thanks your information. it is good idea, i agree with you.

Are there any updates to this? I noticed AsyncEventBus has been removed, but I can not see an alternative mechanism for consuming events asynchronously.

Hello
For now there is no possibility to handle event per thread. As EventBus 3.0 you may only handle events on specific thread calling EventBus::process() but you shouldn't call process from same bus on different threads, you should pick one and stick to it.
So you can add events from any thread as this is thread safe operation but processing events (calling listeners) is done on thread which is calling EventBus::process()
Currently I'm not planning to add such feature out of the box. Maybe you can add new "perk" to bus and decide on some tag that you pass on which thread process event.
Other solution may be to create MAIN EventBus which will pass event to other EventBus2 which will work on desired thread.
If you have any suggestions I'm happy to discuss.

Are there any updates to this? I noticed AsyncEventBus has been removed (but AsyncEventBusPerformance.cpp added in the same commit??), but I can not see an alternative mechanism for consuming events asynchronously (and calling the listeners on different threads).
the most code had been changed,  but the old version may be suite for you. you can checkout the old version for this issue
commit d51be92632576224f8976996dc02cfcae157fe61
Author: Dawid Drozd<EMAIL_ADDRESS>Date:   Mon Jun 24 19:10:01 2019 +0200

Add AsyncEventBus::wait() function

then you can setup one thread to consume events asynchronously like the following
std::thread t( {
while (true)
{
getAsyncBus()->wait()
getAsyncBus()->consume();
}
});
t.detach();

In the absence of a proper event loop in c++ having a secondary listen-only event bus that is thread-specific. the main issue is that the execution of the event listener must run in the thread it was allocated.  Maybe there can be a thread-aware listener that implicitly creates its own "listen-only" bus.

@gelldur actually isn't this was PassEverythingPerk would more or less do?  You would create a bus on each thread, and then use the perk to forward everything to it?  I guess the only issue there would be the removal of that when the thread exits.  Or do I misunderstand what that does?  Maybe it needs some more documentation ;)

@geiseri yes you are right that was intention of PassEverythingPerk to have for example 2 event loops e.g. for logic and UI and pass events between those EventBus. I nned to prepare use case for such scenario. I'm also not so happy of such solution right now :) but we will see.

I think I have a use case here, but it seems to be not working.  To be honest I think the best way is to have a thread-specific bus that is a subordinate of the main bus. Chances are that the thread might have a different scheduler or even event loop that would want to drive the bus.  Since the bus itself is thread-safe everyone would publish back to the main one.  I think the only issue you might run into is backpressure if a subordinate cant keep up.  You wouldn't want to block the main bus, so you might need to introduce a TTL, or something.
My current case is that I have a main thread that needs to asynchronously communicate with an IO system that runs in a different thread.  I need to be able to alert the main thread listeners when a message arrives, but I also need to send messages back.  Since neither can block the other the bus seems the best option.  Originally I was going to have a bus for rx and a bus for tx.  The problem there is that the IO is in a thread pool, and coordination pretty much nullifies any decoupling the bus has to offer.
If each thread in the thread pool had its own subordinate bus that would solve this in a pretty slick way.

EventListener will be executed on thread which calls EventBus::process() it doesn't matter on which thread we create it. (It is thread safe)

The only reason I would want the thread-specific ownership would be to make it explicit it was tied to that thread. Since calling process from the wrong thread can cause interesting things to happen it would be nicer to the API consumer to make that hard to do =)


Boolean field is not displayed

I noticed this issue and tried your demo which also has this issue. any boolean field won't be displayed

I sent a PR for its fix

Merged PR


Page /bb-themes/boxbilling/assets/style.css not found

Verifing the bb-data/log/php_error.log I get this message about style.css not found, the file is in assets/css/style.css.
Then, to bypass that error, I maked a link from assets/style.css point to assets/css/style.css

@BrunnoPrego What theme are you using in BoxBilling?
I have had a little look and I've found one template which could potentially cause the issue in the boxbilling theme but I don't think it is used anywhere.

@notbasetwo if the path is /bb-themes/boxbilling then they were using the default BoxBilling theme that is enabled out of the box

@notbasetwo if the path is /bb-themes/boxbilling then they were using the default BoxBilling theme that is enabled out of the box

Doh! Didn't read the title. Guess the only thing I can see is the one file, I'll make a PR that should close the issue.


Add 'minReadonly' and 'maxReadonly' inputs to the component

Issue type: feature
Description:
I think that this component is very useful in many cases. However, adding the 'readonly' support for the min and max fields separately makes it more general.
How does it work?
If the current 'readonly' input is set to 'true', then the min and max fields are disabled whatever the values of 'minReadonly' and 'maxReadonly' are.
If the current 'readonly' input is set to 'false', then the 'minReadonly' and the 'maxReadonly' inputs control whether the min or max fields are read-only or not, respectively.
Example:

The min field is read-only

Hi Oubayda-Khayata,
the readonly property for minimum and maximum input is now supported in version 2.2.0.
Thanks for using the library and further suggestions are welcome.
Thanks!

Thank you @dineeek for your fast update and response!
I'm really happy to find this library after a lot of searching.
Thanks!


Remove empty files SystemInformer.exe.settings.xml and usernotesdb.xml

Description of the feature, modification, idea or suggestion
For the few "manual upgrade" (or downgrade) operation, it'd be nice to not have these files, and SI would just touch them if necessary
Proposed implementation details (optional)
No response

SystemInformer.exe.settings.xml can not be deleted because if it even exists then it is the current settings file.
usernotesdb.xml is already deleted when it's not used or empty:
https://github.com/winsiderss/systeminformer/blob/bbc7d0932d4cb3249aa334449a0bd7c3abf1613b/plugins/UserNotes/db.c#L323-L328
https://github.com/winsiderss/systeminformer/blob/bbc7d0932d4cb3249aa334449a0bd7c3abf1613b/plugins/UserNotes/db.c#L377-L385

Nonono 😅
The zip artifacts contain those empty files. A blind extract on a "running" instance of SI will remove those files.
It is PEBKAC ofc - I am just trying to save some absent-minded people from shooting themselves 😓

The zip artifacts contain those empty files.

The zip is supposed to contain both files since the zip is for portable installation?

ergo - that's how SI understands it's in portable mode?
If so, could there be another mechanism? Like an empty file called portable or something, which will carry no data?

that's how SI understands it's in portable mode?

Yes

If so, could there be another mechanism? Like an empty file called portable or something, which will carry no data?

What benefit would there be from using multiple files? They would still have to be added to the zip file.
If you extract the zip into a folder and run from the folder then everything is stored in the folder? The zip is for portable so delete the folder and there's nothing left on the system. You can run multiple versions side-by-side (stable/nightly) without worrying about one corrupting the other and since portable mode must be checked during startup this design is high performance because it only requires a single file query.

There's a slight issue I've bumped into:
When SI is selected to replace Task Manager, it seems that "no other instance" can start - be it TaskManager, other portable SI/PH, etc. 😕

What benefit would there be from using multiple files?

The portable-indicator is a dummy file that serves this job. "Replacing" it causes no damage, as it never contains anything.
The settings only stores the Settings. It's not in the archive, so it cannot be accidentally replaced with an empty file.
tl;dr this sequence is not a disaster:

When SI is selected to replace Task Manager, it seems that "no other instance" can start

I've added a warning when changing the path for portable builds. There's not much else that can be done about this considering Microsoft's anti-competitive behavior prohibiting changes to the users default application. This is only a problem for Task Manager since APIs exist for the other defaults.

The portable-indicator is a dummy file that serves this job.

That's what the file currently does.

"Replacing" it causes no damage, as it never contains anything. The settings only stores the Settings. It's not in the archive, so it cannot be accidentally replaced with an empty file.

These paths have to be checked on startup every time you start the application. The added complexity of requiring multiple files and checking multiple files (combined with AV filters delaying file access) slows startup. The zip still has to be portable by default when extracted so it would still need these extra files and then you're back to the square one just with more files.


Fix running Gitlab container locally

(as on GHA it already works well)

make it REALLY delete GitLab container data
on each (re)start, as it's the only way to
make GitLab run this way stable that I have
found,
quote paths as we started to rm -rf "$stuff"
and it could end up badly quickly
make stop_gitlab work (thanks mkjmdski!)

Did didn't work out great in the end, closing then.


Example script from README.md throws TypeError: bad argument

Expected behavior
Example mentioned in README.md should run
Actual behavior
Example doesn't run, with the script returning

TypeError: Bad argument
at TypeError (native)
at ChildProcess.spawn (internal/child_process.js:278:26)
at exports.spawn (child_process.js:367:9)
at new Phantom (C:\xampp\htdocs\sizer\node_modules\phantom\lib\phantom.js:97:49)
at C:\xampp\htdocs\sizer\node_modules\phantom\lib\index.js:16:20
at Object.module.exports.create (C:\xampp\htdocs\sizer\node_modules\phantom\lib\index.js:15:10)
at Object. (C:\xampp\htdocs\sizer\index.js:5:9)
at Module._compile (module.js:541:32)
at Object.Module._extensions..js (module.js:550:10)
at Module.load (module.js:456:32)

Steps to reproduce the behavior

Create a new folder, npm init to get it set up
Run npm install --save phantom
Create a new file called index.js, copy and paste the whole example under the Super Easy To Use section in there
Make sure phantomjs is installed (I used npm install -g phantomjs-prebuilt)
Run node index.js

Environment

OS: Windows 10, x64
Node version (node -v): node 6.1.0
package version: 2.1.12

When you do phantomjs -v does it work? I don't have Windows so I can't really debug this.

@Grayda I installed a new image to Virtualbox. Installed NPM and ran the example from README.  I was able to follow your instructions and get stackoverflow output.
I am not sure what's going on. See if phantomjs works without node.

phantomjs worked fine, as I was able to modify my script to run without using your library, so no issues there I think.
Not sure of exact version (not on that PC at the moment), but it's the most recent version of phantomjs-prebuilt, which is 2.1.7

Hmm bummer. Closing.

@Grayda try this. Run with DEBUG=true node /path/to/file.js and paste what it outputs.

I'll give it a shot when I get back to the machine I was on.
I did notice that your code doesn't seem to be at fault (there's no mention of your library in the stack trace), but I'll give it a shot anyway and see. Hopefully it's an easy fix.

Cool. Btw, I spent a lot of time trying to figure out how to do DEBUG=true in Windows. I was able to install cross-env with npm install -g cross-env and then doing cross-env DEBUG=true node file.js and it works. You should see something like
C:\Users\IEUser\Desktop\test>cross-env DEBUG=true node index.js
debug: Starting C:\Users\IEUser\Desktop\test\node_modules\phantomjs-prebuilt\lib\phantom\bin\phantomjs.exe C:\Users\IEUser\Desktop\test\node_modules\phantom\lib\shim.js
debug: Sending: {"id":"ffd1f6c82c92112f81ba43060a56cf7b","target":"phantom","name":"createPage","params":[],"deferred":{"resolve":"function () { [native code] }","reject":"function () { [native code] }"}}
debug: Parsing: {"id":"ffd1f6c82c92112f81ba43060a56cf7b","target":"phantom","name":"createPage","params":[],"deferred":{"resolve":"function () { [native code] }","reject":"function () { [native code] }"},"response":{"pageId":"ffd1f6c82c92112f81ba43060a56cf7b"}}

You can also do set DEBUG=true && node file.jsto set environment variables in Windows.
I'll post some output later this afternoon (about 2-3 hours until I finish work)

Righto, got home, ran phantomjs -v, got 2.1.1. Set DEBUG=true, ran my script, and got:
debug: Starting null C:\xampp\htdocs\sizer\node_modules\phantom\lib\shim.js
So I followed it back, and found that
var phantomPath = typeof config.phantomPath === 'string' ? config.phantomPath : _phantomjsPrebuilt2.default.path;
In lib/phantom.js on line 89 returns null, so looks like the path to phantomJS is not being detected correctly. That might be an upstream issue, but I haven't had enough time to check it out fully yet

Well at least now we are getting somewhere! That line was changed recently in a pull request to allow changing phantomPath.  Either it introduced a bug or as you suspected it is related to phantomjs-prebuilt.
I think the easiest way to debug this is open up node and doing:
require('phantomjs-prebuilt').path
If that doesn't work then something is up with your machine and phantomjs.

https://github.com/Medium/phantomjs/issues/533 might be related? The installation of phantomjs-prebuilt is most likely unsuccessful.

Nice find @elias-winberg. I think we should add if(path == null) throw Error() statement so that this is more clear in the future. I don't see a solution though in that ticket. :(

@Grayda try this:
$ cd node_modules/phantomjs-prebuilt
$ node install.js

@elias-winberg Nope, not running out of memory, but running the install script for phantomjs-prebuilt fixed the issue. Now my script runs, no problems at all!

OK closing then.


Added Debian Instructions to README.md

Hope it's alright, I added some info for Debian to make it a little easier for anyone else looking to install on their debian system.
Changes

Reformat Instructions for Distro specific instructions
Added Debian Specific Instrictions

Added hotlink for quick download using lastest release
Added single command for execution on Debian for easy install that does the following

cd into /user/local/bin directory
wget latest release
makes bin executable with chmod +x
cd back to usr root directory

Cool thanks 👍, I'm merging it
I only changed the command a bit, so that it names the file/command simply dops.


refactor(storage): local storage config refactor

Description
Refactor backends and backend config to make the config more intuitive. Also decoupled the metadata on disk from the workspace.
Fixes #188
Fixes #169
Fixes #179
Type of change
Please delete options that are not relevant.

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[X] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[X] This change requires a documentation update

How Has This Been Tested?

Unit tests added under storage package for #188 and #179 validation
E2E tested edited for changes and validated #179

Checklist:

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[X] I have commented my code, particularly in hard-to-understand areas
[X] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings (An intentional warning is sent to user to let them know now backend is configured)
[X] I have added tests that prove my fix is effective or that my feature works
[X] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Mirror2mirror fails here:
INFO Catalog image "localhost:5003/redhat/redhat-operator-index:v4.8" not found, using new file-based catalog
DEBUG Processing file oc-mirror-workspace/images.3870531987/catalogs/registry.redhat.io/redhat/redhat-operator-index/v4.8/index.json
DEBUG Pulling image localhost:5003/operator-framework/opm@sha256:038007c1c5d5f0efa50961cbcc097c6e63655a2ab4126547e3c4eb620ad0346e for processing
2021/11/22 23:29:07 GET /v2/
2021/11/22 23:29:07 GET /v2/operator-framework/opm/manifests/sha256:038007c1c5d5f0efa50961cbcc097c6e63655a2ab4126547e3c4eb620ad0346e
2021/11/22 23:29:07 GET /v2/operator-framework/opm/manifests/sha256:7828f5f00d7a04913867d02cca9ba2ebdf4a0c8e0dd29a88b2a4059a4f2e24f3
2021/11/22 23:29:07 GET /v2/operator-framework/opm/blobs/sha256:4cc6bbef75b28db4fb55dd293919addc57d0a3c6fa840950febc716647a40a90
2021/11/22 23:29:07 GET /v2/operator-framework/opm/blobs/sha256:b42b5686cb3ed9ea09ee25ed45576c58cd996b0e1e7f5b8f062636c32606c36e
2021/11/22 23:29:07 GET /v2/operator-framework/opm/blobs/sha256:f79d5bcd4c1f9307980fa38269c1dfdca5f81ffec2ad223ab53dab03ee11fff4
2021/11/22 23:29:07 GET /v2/operator-framework/opm/blobs/sha256:ffacc1afb1d21e200fef051fe3e6ead8d1386b3f8df7f906e33edc14de63dffe
2021/11/22 23:29:07 GET /v2/operator-framework/opm/blobs/sha256:0d7d70899875b098ace120b574f57b39e91415ceaf9b348d6abe168537509f5a
2021/11/22 23:29:07 GET /v2/operator-framework/opm/blobs/sha256:e31777b27d40b92d5739d3735c2d2aca1bc1f70c06608c25d235c6976ed1154a
2021/11/22 23:29:07 GET /v2/operator-framework/opm/blobs/sha256:3c1327a89d61c13cce94f58b7a1ed0dd1641862e62d93fb18018f836765cd8b2
2021/11/22 23:29:07 GET /v2/operator-framework/opm/blobs/sha256:b42b5686cb3ed9ea09ee25ed45576c58cd996b0e1e7f5b8f062636c32606c36e
2021/11/22 23:29:07 GET /v2/operator-framework/opm/blobs/sha256:ffacc1afb1d21e200fef051fe3e6ead8d1386b3f8df7f906e33edc14de63dffe

apiVersion: tmp-redhatgov.com/v1alpha1
kind: ImageSetConfiguration
storageConfig:
  registry:
    imageURL: localhost:5002/demo/metadata:latest
    skipTLS: true
mirror:
  additionalimages:
    - name: registry.redhat.io/ubi8/ubi:latest
    - name: quay.io/podman/stable:latest
  helm:
    repos:
      - name: podinfo
        url: https://stefanprodan.github.io/podinfo
        charts:
          - name: podinfo
            version: 5.0.0

I was not downloading operators, but the OPM images is still trying to publish. My guess is that there was no OPM image to mutate here so it hung.

/retest

Mirror2mirror hangs here:
INFO Catalog image "localhost:5003/redhat/redhat-operator-index:v4.8" not found, using new file-based catalog
DEBUG Processing file oc-mirror-workspace/images.3870531987/catalogs/registry.redhat.io/redhat/redhat-operator-index/v4.8/index.json
DEBUG Pulling image localhost:5003/operator-framework/opm@sha256:038007c1c5d5f0efa50961cbcc097c6e63655a2ab4126547e3c4eb620ad0346e for processing
2021/11/22 23:29:07 GET /v2/
2021/11/22 23:29:07 GET /v2/operator-framework/opm/manifests/sha256:038007c1c5d5f0efa50961cbcc097c6e63655a2ab4126547e3c4eb620ad0346e
2021/11/22 23:29:07 GET /v2/operator-framework/opm/manifests/sha256:7828f5f00d7a04913867d02cca9ba2ebdf4a0c8e0dd29a88b2a4059a4f2e24f3
2021/11/22 23:29:07 GET /v2/operator-framework/opm/blobs/sha256:4cc6bbef75b28db4fb55dd293919addc57d0a3c6fa840950febc716647a40a90
2021/11/22 23:29:07 GET /v2/operator-framework/opm/blobs/sha256:b42b5686cb3ed9ea09ee25ed45576c58cd996b0e1e7f5b8f062636c32606c36e
2021/11/22 23:29:07 GET /v2/operator-framework/opm/blobs/sha256:f79d5bcd4c1f9307980fa38269c1dfdca5f81ffec2ad223ab53dab03ee11fff4
2021/11/22 23:29:07 GET /v2/operator-framework/opm/blobs/sha256:ffacc1afb1d21e200fef051fe3e6ead8d1386b3f8df7f906e33edc14de63dffe
2021/11/22 23:29:07 GET /v2/operator-framework/opm/blobs/sha256:0d7d70899875b098ace120b574f57b39e91415ceaf9b348d6abe168537509f5a
2021/11/22 23:29:07 GET /v2/operator-framework/opm/blobs/sha256:e31777b27d40b92d5739d3735c2d2aca1bc1f70c06608c25d235c6976ed1154a
2021/11/22 23:29:07 GET /v2/operator-framework/opm/blobs/sha256:3c1327a89d61c13cce94f58b7a1ed0dd1641862e62d93fb18018f836765cd8b2
2021/11/22 23:29:07 GET /v2/operator-framework/opm/blobs/sha256:b42b5686cb3ed9ea09ee25ed45576c58cd996b0e1e7f5b8f062636c32606c36e
2021/11/22 23:29:07 GET /v2/operator-framework/opm/blobs/sha256:ffacc1afb1d21e200fef051fe3e6ead8d1386b3f8df7f906e33edc14de63dffe

apiVersion: tmp-redhatgov.com/v1alpha1
kind: ImageSetConfiguration
storageConfig:
  registry:
    imageURL: localhost:5002/demo/metadata:latest
    skipTLS: true
mirror:
  additionalimages:
    - name: registry.redhat.io/ubi8/ubi:latest
    - name: quay.io/podman/stable:latest
  helm:
    repos:
      - name: podinfo
        url: https://stefanprodan.github.io/podinfo
        charts:
          - name: podinfo
            version: 5.0.0

I was not downloading operators, but the OPM images is still trying to publish. My guess is that there was no OPM image to mutate here so it hung.

Are you sure it's not an issue with your workspace? It looks like you have a catalog to publish. Also, you should always have a copy of the OPM per this function. https://github.com/openshift/oc-mirror/blob/002b60f64005d1cd1ea6a945ad7ba245e65c93d1/pkg/cli/mirror/create.go#L307

I was not downloading operators, but the OPM images is still trying to publish. My guess is that there was no OPM image to mutate here so it hung.

Are you sure it's not an issue with your workspace? It looks like you have a catalog to publish. Also, you should always have a copy of the OPM per this function.
https://github.com/openshift/oc-mirror/blob/002b60f64005d1cd1ea6a945ad7ba245e65c93d1/pkg/cli/mirror/create.go#L307
Interesting. This reused the oc-mirror-workspace from other runs. I deleted and it worked as intended. This PR looks great. I'll submit a follow-on issue to address hooking old workspaces.

I was not downloading operators, but the OPM images is still trying to publish. My guess is that there was no OPM image to mutate here so it hung.

Are you sure it's not an issue with your workspace? It looks like you have a catalog to publish. Also, you should always have a copy of the OPM per this function.
https://github.com/openshift/oc-mirror/blob/002b60f64005d1cd1ea6a945ad7ba245e65c93d1/pkg/cli/mirror/create.go#L307
Interesting. This reused the oc-mirror-workspace from other runs. I deleted and it worked as intended. This PR looks great. I'll submit a follow-on issue to address hooking old workspaces.

Submitted. #193

@jpower432 This is creating two oc-mirror-workspace directories: one in the current directory and the other is created in the specified output directory.

@jpower432 This is creating two oc-mirror-workspace directories: one in the current directory and the other is created in the specified output directory.

So this is being created by the PreRun when the log file is set up. I was thinking about just decoupling the log file from the workspace and dropping it in the current work directory. WDYT?

Thats fine for now.


WIP: fix(patients): allow the duplicate patient modal to show properly on …

…possible duplicate patient
fix #2546
Changes proposed in this pull request:

duplicatePatientList in DuplicateNewPatientModal.tsx properly updated to an array of patients as opposed to a single patient
NewPatient.tsx now uses the usePatients hook instead of the state (that isn't being updated) to properly retrieve the current list of all patients

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

@connordmccandless is still in wip?

@tehKapa I left a comment on the ticket when I last worked on the issue. I fixed the issue described in the ticket, but it seems that the written tests are not written correctly and will always return a failure. I wasn't sure if rewriting the test code would be part of the ticket.


Keccak 256 algorithm issue

hi ,
I am using keccak-256 algorithm for generating multi-hash for string "Hello world". It supposed give output as ed6c11b0b5b808960df26f5bfc471d04c1995b0ffd2055925ad1be28d6baadfd ,but it is giving
1b20ed6c11b0b5b808960df26f5bfc471d04c1995b0ffd2055925ad1be28d6baadfd.
1b20 value is prefixed with the expected has-code. i want to know is this intentional and if it so,i want to know where exactly the concatenation is happening.

Yes, that's actually the point of multihash. It annotates the hash with additional information describing the hash function used. 1b indicates that this is a "Keccak" hash and the 20 is the length (0x20 = 32bytes = 256 bits).


Document clarification required in regards to supported state of the aks as requirement.

Please clarify in the document,  the AKS cluster is required to be in supported version and even patch version, for the auto upgrade to work.
[Enter feedback here]

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

ID: 55f2d3c5-04fe-9f60-e927-e0afdc1c3ac5
Version Independent ID: 04cc17af-4291-6d3b-ea30-dbceddfdec2c
Content: Automatically upgrade an Azure Kubernetes Service (AKS) cluster - Azure Kubernetes Service
Content Source: articles/aks/auto-upgrade-cluster.md
Service: container-service
GitHub Login: @Nickomang
Microsoft Alias: nickoman

@porrascarlos802018
Thanks for your feedback! We will investigate and update as appropriate.

@porrascarlos802018
Thanks for bringing this to our attention.
I'm going to assign this to the document author so they can take a look at it accordingly
@Nickomang
Can you please check and add your comments on this doc update request as applicable.

Hi @porrascarlos802018 - thank you so much for your feedback! I apologize for the delay in responding. Since this issue was raised, the doc has been updated and now includes a callout indicating that the cluster's Kubernetes version must be a supported version to use auto-upgrade. I will now close this GitHub issue. Thank you again!
#please-close


Time-stepper broken for IPCS with latest version of Firedrake

IPCS in solver.py fails to generate transient solutions when using the solver.step(args) to apply control (the main way we apply control to the environments). This means that the only working solver at the moment with the newest version of firedrake is NewtonSolve. It appears that within the solver.step, it is no longer possible to apply dirichlet boundary conditions by doing Bu * fd.Constant(ctrl) as done on line 188 in solver.py on the main branch. I assume firedrake issued some breaking changes recently since it doesn't look like we've changed this functionality in 7 months.
Issue can be recreated by running the test_cyl.py test suite on my branch (sa/bug-fix-Oct23) on the most current version of firedrake. I took a stab at fixing it today, but firedrake is not my forte. Will try to come back to it as I have time.

Do you want to join the call with Nacime on Friday? Might be quickest option to triage all these issues?

Will fix as soon as I get into the office in the morning, but we need to find a better isolation for Firedrake to prevent these issues blowing up into our faces every other week..

Happy to join if it'll help. Maybe there's a quick solve you guys will know of.

I think if we define the version of FD that hydrogym is compatible with and have a corresponding FD docker container to pip install hydrogym into, we won't have to worry about keeping up with the constant evolution of FD. I know we've been trying to avoid making docker containers the way to use hydrogym though.
Overall, two or three breaking changes over the course of nearly a year probably isn't too bad though. But adding other solvers is definitely good long term insurance.

The (big & breaking) update I am currently working to finish does in essence that (-ish):

Auto-launches Ray cluster for HydroGym to live on (on top of Slurm or whatever is available)
Uses Ray Environments & Docker to isolate the environments themselves in order for us to be able to push a working pip-package which just works while at the same time opening us up to be able to integrate a wider variety of solvers.

Hope I am not being too dictatorial in pushing for this big change 😅


tmTheme bold fontStyle not working for 1.6, works fine on 1.5

VSCode Version: 1.6
OS Version: Ubuntu 16.04 x64

The code that handles the setting is in:
https://github.com/Microsoft/vscode/blob/master/src/vs/workbench/services/themes/electron-browser/stylesContributions.ts#L129
I tried underline and italic ... worked fine.  So it seems to be specific to the bold property and maybe the version of chromium shipped with vscode and my OS?
This works totally fine when using vscode 1.5.

On Linux, the preferred font is "Droid Sans Mono" which doesn't seem to support bold.

Thanks.  I'll have to change the font.  My OS is Ubuntu 14.04 btw (not 16.04, was a typo)

This is something to consider when picking a new default font in #5742
Since Ubuntu 16.04 no longer carries "Droid Sans Mono", let's track in #5742


The rail tracks are not loading!

Hello,
I have experienced this issue where the tracks won't even load, which includes all types of rails with the basic given MTR mod. I have joban client installed, LU installed, and XaerosWorldMap with XaerosMiniMap. I don't have optifine because my game is crashing with it on. I play on the 1.18.2 version with forge 1.18.2 / 40.1.69 installed.
When I place a new track with nodes just for testing they work, but when I leave and join the game again they disappear and only the nodes are visible!
Any fixing for this?
I desperately need this fixed as I've been working on this project with MTR for over 3 months. I need quick help.

Please post all logs, crash reports, and screenshots of your mods folder.

When abouts did this start happening? Was it after updating the mod?

ok here are the pics

oh btw i am in superflat

When abouts did this start happening? Was it after updating the mod?

Um kinda, but I faced this problem before but restarting the game fixed it. But now it didn't.

Please post all logs, crash reports, and screenshots of your mods folder.

Ummm no crashes without optifine, the mod Is stable without optifine for me, but with it crashes appear.

another bug...

I think the best thing to do is try on 3.1.2 with a new world and see if the problem is solved. If it is then try load the old world in the same version.

I think the best thing to do is try on 3.1.2 with a new world and see if the problem is solved. If it is then try load the old world in the same version.

Hmm ill definitely try that.

I think the best thing to do is try on 3.1.2 with a new world and see if the problem is solved. If it is then try load the old world in the same version.

Did you mean 3.1.1? because I am already in 3.1.2

Uhhh yep I tried creating a world in 3.1.2 and 3.1.1 and same issue.

Or you may want to update your mtr to 3.1.12. (I don't know, but it is worth a try. Because the version you are using is too old.)

I've got the same issue.
Playing on a fabric 1.19.2 Server with Version 3.2.0 of MTR all Configurations, Stations etc. randomly disappeared.
Upgrading to 3.2.2-hotfix-1 fixed the problem temporarily.
After a week all information was lost again, but now i get a stack trace:
logSnapshot.txt
My used Mods:

This should be fixed in 4.0.0. Please reopen this bug if you still encounter this issue with 4.0.0, thanks!


Hibernate: DualSessionFactory

Problem:
Modern RDBMS systems often provide read-replica clusters with separate access points. With regards to Hibernate, this requires two SessionFactory instances. One factory is for the primary/writer data source. And a separate factory is necessary for the read-replica data source. This requires the usage of the UnitOfWork name property whenever the read-replica is preferred. Ideally, no adjustments to the UnitOfWork properties should be necessary if the readOnly is properly set across endpoints.
Solution:
This commit provides a SessionFactory implementation that contains both a writer/primary factory and a reader factory. The DualSessionFactory comes with separate HibernateBundle, UnitOfWorkApplicationListener, and UnitOfWorkAspect classes. Prior to usage, the UnitOfWorkAspect class prepares the DualSessionFactory based on the UnitOfWork annotation readOnly property. When the dual HibernateBundle is dropped into an application, the UnitOfWork requires no changes across endpoints assuming that the readOnly property is already set accordingly.
Result:
This commit contains new DualSessionFactory, HibernateBundle, UnitOfWorkApplicationListener, and UnitOfWorkAspect classes.

@dropwizard/committers Anybody available to review these changes?

can we check whether we can use MySQL Replication Driver and use unit of work method interceptor to mark connection read only

I think, that this should work now. But I have a few remarks on the current implementation:

Is it a good idea to override the name() method in the dual.HibernateBundle? If done so, one has to provide a value to the @UnitOfWork annotation every time, even if only one Hibernate bundle is registered. To resolve this, you could revert to io.dropwizard.hibernate.HibernateBundle.DEFAULT_NAME in line 55 of UnitOfWorkAspect.
It seems to me, that this code is less maintainable, since there is some identical code in the dual package and the existing classes. In a seperate test, I managed to use the existing classes with a dynamic proxy. However, dynamic proxies can get ugly fast and I don't know, if this works well in all situations. If you want to look at this approach anyway, you can check it out in my test.

I think, that this should work now. But I have a few remarks on the current implementation:

Is it a good idea to override the name() method in the dual.HibernateBundle? If done so, one has to provide a value to the @UnitOfWork annotation every time, even if only one Hibernate bundle is registered. To resolve this, you could revert to io.dropwizard.hibernate.HibernateBundle.DEFAULT_NAME in line 55 of UnitOfWorkAspect.
It seems to me, that this code is less maintainable, since there is some identical code in the dual package and the existing classes. In a seperate test, I managed to use the existing classes with a dynamic proxy. However, dynamic proxies can get ugly fast and I don't know, if this works well in all situations. If you want to look at this approach anyway, you can check it out in my test.

@zUniQueX zUniQueX, I've modified the dual.HibernateBundle to properly implement the inherited "name" method. And I made some tweaks to take greater advantage of the existing base HibernateBundle methods to reduce code duplication. Thanks for the continued feedback.

Couldn't this feature be removed from milestone 2.1.0 and finally release it without it?


improve VM installation and update on MacOS

Once the RadTrack VM has been installed the first time, future updates will be easy for the user to manage (some will be automatic). Only changes will be brought down to the desktop.
I know Rob has been working on this and initial code can be found in the new Github repositories:
https://github.com/radiasoft/radtrack-updates
https://github.com/radiasoft/radtrack-installer

Should this issue be closed?

I've documented. One person did the install himself after that update.
Rob


Can't read some rss feeds

Hello, @codehollow!
While developing a mobile application using FeedReader library I have encountered an issue when processing some RSS feeds. Debug output says:

Exception thrown: 'System.Xml.XmlException' in System.Private.CoreLib.ni.dll

It happens when I try to process any of these feeds:
https://habrahabr.ru/rss/interesting/
https://geektimes.ru/rss/
https://vc.ru/feed
I've noticed that all items in these feeds do not have content xml element. I'll try to investigate and provide more detailed information on this issue soon.
Thanks a lot for your library!

Oh, it was just an error in my managed code, FeedReader was not causing the issue. Sorry to bother you, everything works OK! 😁
Thanks.


add flipped layouts as options for grunID, and verify blank plate map does not propagate data

this was completed


create EphemerySlotValidationService and test

PR Description

Create EphemerySlotValidationService to throw the appropriate exception on Ephemery
Create EphemerySlotValidationServiceTest

Fixed Issue(s)
fixes #8589

@rolfyone please review

@rolfyone please review. I have made the requested changes.


Suppress annoying xlrd warning "WARNING *** file size ..."

For example, "WARNING *** file size (56569) not 512 + multiple of sector size (512)"
See https://stackoverflow.com/questions/7619319/python-xlrd-suppress-warning-messages.

[main 68242a4]

[main 68242a4]


Implement Asymmetric Laplace Distribution

Summary:
We would like to have asymmetric Laplace distribution to be implemented in stan.
Description:
As discussed in the mailing list, it is particularly of interest for Bayesian quantile regression.
Also known as skewed Laplace distribution, the asymmetric Laplace distribution has an additional parameter \tau (\tau \in [0,1])

which reduces to Laplace distribution when \tau=0.5.
With the Laplace distribution already in stan (named DoubleExponential), introducing asymmetric Laplace distribution is relatively straight forward.
Additional Information:
Yu, K., Moyeed, R.A., 2001. Bayesian quantile regression. Statistics & Probability Letters 54, 437–447. doi:10.1016/S0167-7152(01)00124-9

Thanks for the issue with definition.   This should be relatively easy.  You can, of course, just code it in Stan now as
real skew_double_exponential_lpdf(real y, real mu, real sigma, real tau) {
  return log(tau) + log1m(tau)
    - log(sigma)
    - 2 * ((y < mu) ? (1 - tau) * (mu - y) : tau * (y - mu)) / sigma;
}

It's not vectorized and doesn't drop constants (if tau is constant you can drop the first two terms and if sigma is constant you can drop the third, but it should work.
And fair warning:  this distribution may cause problems in the region around y == mu because the derivative's not continuous there.

It is fairly straightforward to do quantile regression when the asymmetric
Laplace distribution is represented as a scale mixture of normals, which is
differentiable everywhere. But due to the discontinuity, I don't think it
is a big priority to add the _lpdf, etc. to Stan Math and the Stan language.
On Mon, May 22, 2017 at 12:22 PM, Bob Carpenter<EMAIL_ADDRESS>wrote:

Thanks for the issue with definition. This should be relatively easy. You
can, of course, just code it in Stan now as
real skew_double_exponential_lpdf(real y, real mu, real sigma, real tau) {
return log(tau) + log1m(tau)
- log(sigma)
- 2 * ((y < mu) ? (1 - tau) * (mu - y) : tau * (y - mu)) / sigma;
}
It's not vectorized and doesn't drop constants (if tau is constant you can
drop the first two terms and if sigma is constant you can drop the third,
but it should work.
And fair warning: this distribution may cause problems in the region
around y == mu because the derivative's not continuous there.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/stan-dev/stan/issues/2312#issuecomment-303149606, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADOrqhQdA1ZqwsnQrHYRwsRmXtLTbqAIks5r8bZHgaJpZM4NhzRp
.

Hey @bob-carpenter and @bgoodri , would you mind if I had a look at this and implement it in math? Like I said in another thread, I'd like to help out more with Stan, but have trouble identifying "what needs to be done", so I guess just fixing issues would be a good start (if that is fine with you).
Cheers,
Simon

I don't think anyone ever has grounds to mind if someone else wants to
implement something in Math.
On Mon, Jul 6, 2020 at 12:45 PM Simon Dirmeier<EMAIL_ADDRESS>wrote:

Hey @bob-carpenter https://github.com/bob-carpenter and @bgoodri
https://github.com/bgoodri , would you mind if I had a look at this and
implement it in math? Like I said in another thread, I'd like to help out
more with Stan, but have trouble identifying "what needs to be done", so I
guess just fixing issues would be a good start (if that is fine with you).
Cheers,
Simon
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/stan-dev/stan/issues/2312#issuecomment-654348002, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAZ2XKTCDQVTCTQJ5EYAKWLR2H5S7ANCNFSM4DMHGRUQ
.

By all means.  It's open source and we love getting new contributors.  Let us know if you need help.  Our onboarding docs are still something of a mess.
I would suggest going to the issue (in stan-dev/math, not in the monorepo project that never got finished) and commenting that you're working on an implementation.  If there's not an issue, creating one is the first step.
Basically, anything that has an issue is something we want to implement.  The problem is that they're not prioritized or sorted for dependency.  That's largely because what to work on is a matter of individual developer priorities and what they're interested in doing.  Is there something you'd like to add to Stan, either on the issue tracker or not?

Hi @bob-carpenter

I would suggest going to the issue (in stan-dev/math, not in the monorepo project that never got finished) and commenting that you're working on an implementation. If there's not an issue, creating one is the first step.

thanks! Will do.

Is there something you'd like to add to Stan, either on the issue tracker or not?

No, not yet. I just want to help out right now until I understand math and stan better...


Surround keymap broken

Contributing guidelines

[X] I have read CONTRIBUTING.md
[X] I have read CODE_OF_CONDUCT.md
[X] I have updated 'mini.nvim' to latest version

Module(s)
surround
Description
mini surround keymaps are not working after last update. before, s will show which-key and wait for next action (add, delete ...) but now it just uses nvims default s action( replacing current char going into insert mode). I am not sure if this has to do anything with which-key or my settings, but all i did is update every plugin with lazy.nvim. if this is a which-key problem i'll report there
Neovim version
0.10.0
Steps to reproduce
i have no idea what to put here
Expected behavior
mini.surround default keymap (s) opens which-key (like before, without any configuration needed)
Actual behavior
surround keymap doesn't get registered so nvim uses default action.

if this is a which-key problem i'll report there

There was no big updates in 'mini.surround', yet there was a big update in 'folke/which-key.nvim'. As everything still works without which-key, I think it is safe to assume the problem is not inside 'mini.surround'.

thanks. will report it there too

@Lukalukito  DId you report it, I am having the same issue?

@echasnovski I deleted all my plugins and left only mini.surround with default configuration.
Pressing just s in normal or visual mode is not indicating that another key is needed to continue it just delete the character or selected text and puts neovim in insert mode.
nvim --version
NVIM v0.10.0
Build type: Release
LuaJIT 2.1.1720049189
Run "nvim -V1 -v" for more info

 :verbose map s - click to expand
        Last set from Lua (run Nvim with -V1 for more details)
n  sfn         * <Lua 78: ~/.local/share/nvim/lazy/mini.surround/lua/mini/surround.lua:1252>
                 Find next right surrounding
        Last set from Lua (run Nvim with -V1 for more details)
n  srn         * <Lua 77: ~/.local/share/nvim/lazy/mini.surround/lua/mini/surround.lua:1252>
                 Replace next surrounding
        Last set from Lua (run Nvim with -V1 for more details)
n  sdn         * <Lua 76: ~/.local/share/nvim/lazy/mini.surround/lua/mini/surround.lua:1252>
                 Delete next surrounding
        Last set from Lua (run Nvim with -V1 for more details)
n  shl         * <Lua 75: ~/.local/share/nvim/lazy/mini.surround/lua/mini/surround.lua:1252>
                 Highlight previous surrounding
        Last set from Lua (run Nvim with -V1 for more details)
n  sFl         * <Lua 74: ~/.local/share/nvim/lazy/mini.surround/lua/mini/surround.lua:1252>
                 Find previous left surrounding
        Last set from Lua (run Nvim with -V1 for more details)
n  sfl         * <Lua 73: ~/.local/share/nvim/lazy/mini.surround/lua/mini/surround.lua:1252>
                 Find previous right surrounding
        Last set from Lua (run Nvim with -V1 for more details)
n  srl         * <Lua 72: ~/.local/share/nvim/lazy/mini.surround/lua/mini/surround.lua:1252>
                 Replace previous surrounding
        Last set from Lua (run Nvim with -V1 for more details)
n  sdl         * <Lua 71: ~/.local/share/nvim/lazy/mini.surround/lua/mini/surround.lua:1252>
                 Delete previous surrounding
        Last set from Lua (run Nvim with -V1 for more details)
x  sa          * :<C-U>lua MiniSurround.add('visual')<CR>
                 Add surrounding to selection
        Last set from Lua (run Nvim with -V1 for more details)
n  sn          * <Lua 70: ~/.local/share/nvim/lazy/mini.surround/lua/mini/surround.lua:892>
                 Update `MiniSurround.config.n_lines`
        Last set from Lua (run Nvim with -V1 for more details)
n  sh          * <Lua 69: ~/.local/share/nvim/lazy/mini.surround/lua/mini/surround.lua:1252>
                 Highlight surrounding
        Last set from Lua (run Nvim with -V1 for more details)
n  sF          * <Lua 68: ~/.local/share/nvim/lazy/mini.surround/lua/mini/surround.lua:1252>
                 Find left surrounding
        Last set from Lua (run Nvim with -V1 for more details)
n  sf          * <Lua 67: ~/.local/share/nvim/lazy/mini.surround/lua/mini/surround.lua:1252>
                 Find right surrounding
        Last set from Lua (run Nvim with -V1 for more details)
n  sr          * <Lua 66: ~/.local/share/nvim/lazy/mini.surround/lua/mini/surround.lua:1252>
                 Replace surrounding
        Last set from Lua (run Nvim with -V1 for more details)
n  sd          * <Lua 65: ~/.local/share/nvim/lazy/mini.surround/lua/mini/surround.lua:1252>
                 Delete surrounding
        Last set from Lua (run Nvim with -V1 for more details)
n  sa          * <Lua 64: ~/.local/share/nvim/lazy/mini.surround/lua/mini/surround.lua:1252>
                 Add surrounding
        Last set from Lua (run Nvim with -V1 for more details)
Press ENTER or type command to continue

Pressing just s in normal or visual mode is not indicating that another key is needed to continue it just delete the character or selected text and puts neovim in insert mode.

Yes, nor it should indicate. Neovim waits for 'timeoutlen' milliseconds if it is not sure which mapping user wants to activate. After they pass, it executes the input as is.
What value of 'timeoutlen' do you have set? See it via :=vim.o.timeoutlen.

What value of 'timeoutlen' do you have set? See it via :=vim.o.timeoutlen.

1000

Edit: If occasional s bothers too much, consider following documented advice.

Thanks, I will try the suggestion!

What value of 'timeoutlen' do you have set? See it via :=vim.o.timeoutlen.

1000

Then inputting any mapping sequence should not have delays more than one second between each adjacent keys. If you press s and do nothing for more than a second, it will execute s. If you press <Leader> and do nothing for more than a second, it will execute the <Leader> as is.
This is how Neovim works regarding mappings (without 'folke/which-key.nvim' or 'mini.clue').

I haven't reported it yet. I just set notimeout option so it will wait forever for next key( without displaying whichkey) but that's ok for now


[Question] How did you evaluate the effective length of CLIP.

Hi, I have a question about your exploration of the effective length of CLIP. As said in the paper Sec3.1, you use Urban dataset to do the evaluation, but how?
the captions of urban dataset are in average 110 words, so how to "incrementally increate the input caption length"? I first tested with directly truncation like "caption = caption[:10-40]", but the R@1 do not showing the  rules as in paper. I also tested with setences truncation, but the length of caption is at least 40-60 words, and the R@1 keeps increasing with length growth.
Can you give some suggestion about the evaluation process? thanks.

That's really strange, we also test the effective length by direct truncation. And there's some other work (https://arxiv.org/pdf/2408.01181) also supports our finding.

thanks, I rechekced my codes and directly operate on the tokenized feature, it works now:
truncated_idx = 10-70
text_feature = clip.tokenize(text_list,truncate=True).to(device)
text_feature[:,truncated_idx:]=0
text_feature[:,truncated_idx]=clip.clip._tokenizer.encoder["<|endoftext|>"]

here are the test results:

truncated_idx
I2T R@1
T2I R@1

10
0.117
0.105

20
0.293
0.275

30
0.422
0.371

40
0.513
0.425

50
0.570
0.481

60
0.616
0.505

70
0.649
0.512

ALL
0.672
0.534

It's tested with Urban-1K, but I do not show the first 20 token's effectiveness, can you give some suggestion for me?thanks again.

Hello, sorry for late reply, I'm busy with TOEFL exam last week.
The original results is based on Text-to-Image on Urban-200 dataset, an early version of Urban dataset, so there may be some data gaps. And we reconduct the experiment on Urban-1k, Here are the result, which also proves the most effective length is around 20-30 tokens:

A possible reason for data gap is that we find CLIP is much more aware of the text in the image than detailes (eg. typographic attack), so if the description of the textual information on image is on around 30 tokens, the effective length may seems longer.
Here's our code for evaluation:
import json
import cv2
from PIL import Image
import sys
sys.path.append('../..')
from model import longclip
import torch
import torch.utils.data as data
import os
import numpy as np
import clip
image_root = '/mnt/petrelfs/zhangbeichen/Urban1k/image/'
caption_root = '/mnt/petrelfs/zhangbeichen/Urban1k/caption/'
class local_dataset(data.Dataset):
def init(self):
self.image_root = image_root
self.caption_root = caption_root
self.total_image = os.listdir(image_root)
self.total_caption = os.listdir(caption_root)
#model, preprocess = longclip.load("../../checkpoints/longclip-B.pt", device='cuda')
def len(self):
return len(self.total_caption)
def __getitem__(self, index):
    caption_name = self.total_caption[index]
    image_name = self.total_caption[index][:-4] + '.jpg'
    image = Image.open(self.image_root + image_name)
    f=open(self.caption_root + caption_name)
    caption = f.readlines()[0]
    caption = " ".join(caption.split(" "))

    return image, caption

if name == 'main':
dataset = local_dataset()
device = "cuda" if torch.cuda.is_available() else "cpu"
model, preprocess = clip.load("ViT-B/16", device=device)
model.eval()
print("model done!")

img_feature_list = []
text_list_1 = []
text_list_2 = []
text_list = []
correct = 0
total = 0

with torch.no_grad():
    for i, (image, caption) in enumerate(dataset):
        text_list.append(caption)

    text_feature = clip.tokenize(text_list, truncate=True).to(device)
    text_feature = model.encode_text(text_feature)
    text_feature /= text_feature.norm(dim=-1, keepdim=True)

    for i, (image, caption) in enumerate(dataset):
        image = preprocess(image).unsqueeze(0).to(device)
        img_feature = model.encode_image(image)
        img_feature_list.append(img_feature)

    image_embeds = torch.cat(img_feature_list, dim=0)
    image_embeds /= image_embeds.norm(dim=-1, keepdim=True)

    print("text 2 image")
    i = 0
    correct = 0
    total = 0
    for i in range(text_feature.shape[0]):
        text = text_feature[i]
        sim = text @ image_embeds.T
        sim = sim.squeeze()
        correct_i = torch.argmax(sim)

        if i==correct_i:
            correct = correct + 1
        total = total + 1
    print(total)
    print(correct)
    print(correct/total)

    print("image to text")
    i = 0
    correct = 0
    total = 0
    for i in range(image_embeds.shape[0]):
        img = image_embeds[i]
        sim = img @ text_feature.T
        sim = sim.squeeze()
        correct_i = torch.argmax(sim)

        if i==correct_i:
            correct = correct + 1
        total = total + 1
    print(total)
    print(correct)
    print(correct/total)

Feel free to contact me if you have other problems

thanks, I got the same result for full token length evaluation, but differences exist in truncated length, so how should I truncate the input tokens to [10-70]  to get the similar as yours?

change this line caption = " ".join(caption.split(" ")) to caption = " ".join(caption.split(" ")[:10/20/30/...])

there may be some gap because of package version or gpus, you can contact me if there's a large gap.

ok, tiny difference due to package version, now I get the point for effective token length.
thanks.


command 'geojson-io-forvscode.openMap' not found

I'm getting this error on WSL. I tried downgrading to a previous version, but no luck.

Have you tried downgrading to version 0.4.3? There are some problems in current version, I'm fixing it.

Have you tried downgrading to version 0.4.3? There are some problems in current version, I'm fixing it.

This works now!

I just updated to the newest version - it's working now! Thanks
On Sun, Sep 18, 2022 at 11:05 PM Dan @.***> wrote:

Have you tried downgrading to version 0.4.3? There are some problems in
current version, I'm fixing it.
—
Reply to this email directly, view it on GitHub
https://github.com/RE0x2A/geojson.io-for-vscode/issues/30#issuecomment-1250514852,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AD5C7FFE7SO4YPJXNWPNNK3V67J6JANCNFSM6AAAAAAQPWS2OA
.
You are receiving this because you authored the thread.Message ID:
@.***>


Change the selected value programmatically

New Issue Checklist

[x] Updated RangeSeekSlider to the latest version
[x] Checked Gitter

Issue Description
I think this is more of a feature request than an issue.
I noticed that you can't programmatically change the min and max values after they've been set initially. It'll be nice if there is an option to do that.
I'm adding a demo project here just in case. It has a slider with min value being 0 and max value is 5. I set the min to 1 and max to 3 in the viewDidLoad and it appears in the slider correctly.
Then I'm trying to change them to 2 and 4 upon a button tap but nothing's happening.
Demo project

It does change them but you also have to change the selectedMinValue / selectedMaxValue if they are not within the current range ?

I am changing selectedMinValue and selectedMaxValue. Here is the full code.
class ViewController: UIViewController {

    @IBOutlet weak var slider: RangeSeekSlider!

    override func viewDidLoad() {
        super.viewDidLoad()
        slider.selectedMinValue = 1
        slider.selectedMaxValue = 3
    }

    @IBAction func didTapUpdateButton(_ sender: UIBarButtonItem) {
        slider.selectedMinValue = 2
        slider.selectedMaxValue = 4
    }
}

have you set the min/max to be less/greater than the selected?

Yes, the initial min value is 0 and the max value is 5.

I have the same problem. I'm changing selected values but nothing happens.

I had the same Problem. I copy the files & put in library & changed to this..
 /// The preselected minumum value
    /// (note: This should be less than the selectedMaxValue)
    @IBInspectable open var selectedMinValue: CGFloat = 0.0 {
        didSet {
            if selectedMinValue < minValue {
                selectedMinValue = minValue
            }
            refresh()
        }
    }

    /// The preselected maximum value
    /// (note: This should be greater than the selectedMinValue)
    @IBInspectable open var selectedMaxValue: CGFloat = 100.0 {
        didSet {
            if selectedMaxValue > maxValue {
                selectedMaxValue = maxValue
            }
            refresh()
        }
    }

Just need to add refresh() function while setting selected value...

@SnehaDudhat Fantastic! You know, just yesterday I was wondering if this library had some sorta refresh/update method like this. I didn't have the time to go through the source. Good job and thanks.

Can confirm that it works. Thanks @SnehaDudhat.
Created a PR #38.

@SnehaDudhat This method causes stack overflow error when I move handle manually
Using @felixdkatt's method in #3

@Noverish  sure, this solution will cause a stack overflow as refresh() function is internally changing selectedMinValue and selectedMaxValue , so it's infinite recursion.
my solution is to make the refresh() function open and use it from your code after update the values.

@AbdoFoda this worked

Hey. Unfortunately, the changes are missed in the release version 1.8.0
I can't refresh the slider programmatically. I need it for example when I want to reset this view.
But I found another approach.
In order to refresh programmatically I used next:
slider.selectedMinValue = 0
slider.selectedMaxValue = 500
slider.layoutSubviews()

slider.layoutSubviews() working for me as well

The following is working for me 👍
cell.ageSlider.selectedMinValue = CGFloat(0)
cell.ageSlider.selectedMaxValue = CGFloat(100)
cell.ageSlider.setNeedsLayout()
cell.ageSlider.layoutIfNeeded()


web_video_server: 2.0.0-1 in 'humble/distribution.yaml' [bloom]

Increasing version of package(s) in repository web_video_server to 2.0.0-1:

upstream repository: https://github.com/RobotWebTools/web_video_server.git
release repository: https://github.com/ros2-gbp/web_video_server-release.git
distro file: humble/distribution.yaml
bloom version: 0.12.0
previous version for package: null

web_video_server
* Replace boost with std (#164)
* Add ament_cpplint test, resolve TODOs (#162)
* Add license headers to all C++ source files, update copyrights (#161)
* Add support for alpha pngs by adding per stream type decode functions (backport #106) (#163)
* Add link to /stream in stream list (backport #118) (#160)
* Add support for jpg compression format (backport #142) (#159)
* Reformat the code with uncrustify (#158)
* Use hpp extension for headers (#157)
* Fix request logging, remove global parameters (#156)
* Replace nh with node (#155)
* Fix declaring and retrieving node parameters (#154)
* Fix usage of deprecated libavcodec functions (#150)
* Use cv_bridge hpp headers when available (#149)
* Use target_link_libraries instead of ament_target_dependencies where applicable
* Don't install headers
* Add CI workflow and ament_lint tests (#148)
* Update package maintainer
* allow topic searches to continue past invalid multi-type topics. (#146)
* Add QoS profile query parameters (#133)
* Fix build for ROS2 Humble (#129)
* Fix build for ROS2 Foxy (#111)
* Contributors: Błażej Sowa, Domenic Rodriguez, Robert Brothers, Sebastian Castro, Tina Tian, TobinHall, Matthew Bries

Holding for Humble sync