createSymlink is being ignored on init script

I am using the advanced app with symlinks for css, js and images between frontend and backend, to avoid duplicates of those files.
In enviroments/index.php is explained how to use symlinks:
'createSymlink' => [
             // list of symlinks to be created. Keys are symlinks, and values are the targets.
],

The option is coded in the init file:
function createSymlink($links)
{
    foreach ($links as $link => $target) {
        echo "    symlink $target as $link\n";
        if (!is_link($link)) {
            symlink($target, $link);
        }
    }
}

However, in the init script it is ignored this option:
$callbacks = ['setCookieValidationKey', 'setWritable', 'setExecutable'];

Pull request with the fix: https://github.com/yiisoft/yii2/pull/7654


Support custom request config for method in OData and OpenAPI

Closes SAP/cloud-sdk-backlog#71.
Remove method from defaultDisallowedKeys to support customizing request method.

TODO:

[ ] Update change log

To fix the lint, you can run this command.


enable distributed tracing in client, gateaway, scheduler

Summary
Fix: #841
Details and comments
Enable distributed tracing in client, gateway, scheduler, ray components and payload program.

I believe that this PR can close #841 for the  most part.  Some minor follow on PRs are probably necessary though.

@akihikokuroda let me know if you need help with the conflicts, it should be as easier as copy & paste the content in:

charts/quantum-serverless/charts/gateway/templates/deployment.yaml
charts/quantum-serverless/charts/gateway/values.yaml
charts/quantum-serverless/charts/jupyter/templates/deployment.yaml
charts/quantum-serverless/charts/jupyter/values.yaml


Gomponents vs Templ article : fairness check

Hi Markus,
I'm writing an article about Go templating, about Gomponents vs Templ and I wanted to make sure I have a state-of-the-art article about your library.
Is it possible to read it and tell me if I get your library wrong somewhere? Of course, I've sent the article to Templ team for proofreading too.
https://nuage.quimerch.com/articles/improving-go-templating-templ-vs-gomponents
Thanks again for your lib ❤

Hi @EwenQuim,
nice that you're writing that! And thank you for asking for feedback.
I think it's a nice article with good points. Especially agree on the tooling situation. It's not something I've focused on, but I'd love to be able to have my IDE suggest gomponents in the same way as HTML. See #209 for that.
I have a few minor points:

Span(g.Text(fmt.Sprintf("%d", props.age)),): you can just use g.Textf here
Minus one to both libs because when you pass a struct, you can always forget to add a field (an unfortunate Go feature). True, but you could also use a function with regular args instead of passing a struct then. But I get your point.
I'm starting to use dot imports for All The Things, so it reads just Node instead of g.Node. You may or may not want to do the same thing.

Regarding the ask at the end: I've just opened #219 for this.
Thanks again, you're awesome! 😎


[BUG] Problems when building cython with mingw64 and msc_ver == '1800'

setuptools version
59.2.0
Python version
3.9
OS
Win 10
Additional environment information
No response
Description
Hi Folks.
Just got cython working on Windows10 using MinGW-w64 Compiler from WinLibs.  There were a couple of patches I needed to make to distutils to get things to work.  I thought you may want to know about this.
[aside].  On a philosophical note, I am perplexed that the larger Python community, who is so supportive of open source, resort to using MSVC for building their Windows targets.  I'll get off my soapbox now.
As you will see below, my patches are a Q&D hack to get things to work without a deeper knowledge and philosophy behind setuptool's project.  I'd encourage an updating of these scripts to recent versions of the tools.
See attached, as it gets formatted incorrectly by this entry form.
abc.txt
Expected behavior
N/A
How to Reproduce
N/A
Output
N/A
Code of Conduct

[X] I agree to follow the PSF Code of Conduct

Thank you very much @jon-marks for reporting this issue 😄
This seems to be related to an old version of distutils being used... I had a quick look on pypa/distutils and it seems that some of the items described in your patch were already applied.
Since the latest version of setuptools will try to use a more modern (vendored) version of distutils by default (instead of relying on the outdated version distutils that comes in the stdlib), I believe this problem is already solved.
Would you mind to check again with the latest version of setuptools?
If the problem persists the best would be opening a new issue in pypa/distutils (the bug has to be fixed there first so we can update the vendored code here on setuptools).

The MS_WIN64 needs to be defined in CPython. See https://github.com/python/cpython/pull/19326
Or you can define it by yourself.
msc_ver() has been updated. dllwrap has been removed.
This can be closed.

Hi @jon-marks, as imba-tjdhas previously mentioned this issue seems to be related to some changes in CPython itself (+ some of the patches have already been added to distutils). So I think I will go ahead and close this issue, but please let us know if there is still any action point from the perspective of setuptools.


Not working with new "DxlMaster2.h"

When i tried to put library in Arduino IDE it sends errors like this:

Then i tried to rename all "DxlMaster.h" to "DxlMaster2.h" in JS-AR library, but it didn't work out. :(

Well, i checked request and then edited all files in list, and seems it's work out. Why didn't you update library with fix?


Refactor: Add readMulticall route for batch contract reads

PR-Codex overview
This PR introduces a new route for batch reading from multiple contracts using Multicall3. It enhances the existing contract functionality by allowing users to execute multiple read operations in a single API call.
Detailed summary

Added readMulticall function in src/server/routes/contract/read/read-batch.ts.
Defined schemas for request and response handling.
Implemented logic to encode and execute multiple contract read calls.
Integrated error handling for the batch processing.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

changelog


[New chain]: Abstract Testnet

Chain Name
Abstract Testnet
RPC URL
https://api.testnet.abs.xyz
The RPC endpoint must allow batch requests for the bot script.

[X] I confirm that the RPC allows batch requests

The chain must be added to https://chainlist.org/

[X] I confirm that the chain is added to chainlist

After creating the issue, a bot will estimate the required pre-fund and post it in the comments. Please check this checkbox after you send the pre-fund.

[ ] I sent the pre-fund in accordance with Github Action's comment

Relevant information
No response

Note* abstract network is zksync stack


demo运行报错

Undefined symbols for architecture arm64:
"OBJC_CLASS$_ARVideoEncoderConfiguration", referenced from:
objc-class-ref in VideoChatViewController.o
"OBJC_CLASS$_ARtcEngineKit", referenced from:
objc-class-ref in VideoChatViewController.o
"OBJC_CLASS$_ARtcVideoCanvas", referenced from:
objc-class-ref in VideoChatViewController.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

用真机运行，暂不支持模拟器


⚠ ClamAV has degraded performance

In 7164ee2, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 93 ms

Resolved: ClamAV performance has improved in 3330cee.


Fixed #28773 -- Forced pot files to use UNIX-style newlines

Thanks Hendy Irawan for the analysis and report.

Tim, are you OK for a 2.0 backport?

Ok

Tim, are you OK for a 1.11 backport? xD

Per our supported versions policy, 1.11 is only receiving fixes for security and data loss issues.

Sorry my bad and thanks for reply


Do not try to automatically handle subclasses of mappings

Better handling of constraints for mappings
Better handling of DefaultDict

only infer a default factory for obvious cases (int, float, bool, list, set and dict basically) and fail for other cases
allow specifying a default factory via OrderedDict[int, Annotated[list, Field(default_factory=...)]]

Better handling of OrderedDict

Fixes #3417, #4687

please review

I would try copying here this test https://github.com/pydantic/pydantic/pull/5598/files#diff-cbcfeba88238560f75e880d530f4cd82ab6bf90247012e8f664281941f8da1f7R3782 from #5598 as well.
The test were failing before.


importing from third party apps

Basically Protecc should support importing from as many other apps as possible. I don't know how to get started on this so suggestions are welcome.

You'd basically need to parse JSON files as far as I understand, that the format most authentificator apps export to.
The twist is that some of them might be encryped, so you probably need to deal with that too, other than that, it should be easy to implement this feature

Since I am not familiar with the export types of other auth apps can people post an example of the file contents, file type and from which app the export is from so I can take a look

I researched some formats in Android applications that are installed on my phone.
Google Authenticator
Google Authenticator provides a QR code that can be used to export accounts. QR code is limited to 10 accounts, so, when user tries to export more that 10, the application generates more QR codes.
Its contents are encoded in base64, as far as I can tell. I didn't spend much time while researching, so I can be wrong. Relevant links:

https://github.com/dim13/otpauth - an application written in Go that can decode Google Authentication.
https://github.com/google/google-authenticator-android/issues/118 - a discussion about decoding contents of QR code.
Format:

otpauth-migration://offline?data=SOME_LONG_ENCODED_STRING

Authenticator Pro
Open source android client written in C#.
Provides several ways to export content.
First way
For individual items it shows a QR code that contains
otpauth://totp/NAME_WRITTEN_BY_USER%3AUSERNAME?secret=SOME_SECRET&issuer=NAME_OF_APPLICATION_OR_WEBSITE_WHO_ISSUED

%3A is : but it is still shown as its code.
By clicking Show URI button is shows the string above to user.
By the way, I tried to use the QR to export one of the codes to Protecc and couldn't do it.
The issue is that Protecc requires QR to contain only the secret string and can't parse it.
Second way
Export to native application format. It contains custom app icons and is encrypted. I don't think Protecc should support it as there are another ways to export from this app.
Third way
Export to HTML.
HTML contains a table:
Issuer | Username | OTP Auth URI | QR Code
OTP Auth URI contains the same structure as is described in first way.
I don't think Protecc should support is as this format is more for users than for parsing.
Fourth way
Export to txt. This format can be easily parsed.
Format:
otpauth://totp/NAME_WRITTEN_BY_USER%3AUSERNAME?secret=SOME_SECRET&issuer=NAME_OF_APPLICATION_OR_WEBSITE_WHO_ISSUED
otpauth://totp/NAME_WRITTEN_BY_USER%3AUSERNAME?secret=SOME_SECRET&issuer=NAME_OF_APPLICATION_OR_WEBSITE_WHO_ISSUED
otpauth://totp/NAME_WRITTEN_BY_USER%3AUSERNAME?secret=SOME_SECRET&issuer=NAME_OF_APPLICATION_OR_WEBSITE_WHO_ISSUED

The same format as in first way but all the codes and secrets are separated by new line. So it can be used for batch import.
Microsoft Authenticator
I think it encrypts exported file with some key that is composed of English dictionary words. I couldn't create a sample because the app broke on export.

I researched some formats in Android applications that are installed on my phone.
Google Authenticator
Google Authenticator provides a QR code that can be used to export accounts. QR code is limited to 10 accounts, so, when user tries to export more that 10, the application generates more QR codes.
Its contents are encoded in base64, as far as I can tell. I didn't spend much time while researching, so I can be wrong. Relevant links:

https://github.com/dim13/otpauth - an application written in Go that can decode Google Authentication.

https://github.com/google/google-authenticator-android/issues/118 - a discussion about decoding contents of QR code.

Format:

otpauth-migration://offline?data=SOME_LONG_ENCODED_STRING

Authenticator Pro
Open source android client written in C#.
Provides several ways to export content.
First way
For individual items it shows a QR code that contains

otpauth://totp/NAME_WRITTEN_BY_USER%3AUSERNAME?secret=SOME_SECRET&issuer=NAME_OF_APPLICATION_OR_WEBSITE_WHO_ISSUED

%3A is : but it is still shown as its code.
By clicking Show URI button is shows the string above to user.
By the way, I tried to use the QR to export one of the codes to Protecc and couldn't do it.
The issue is that Protecc requires QR to contain only the secret string and can't parse it.
Second way
Export to native application format. It contains custom app icons and is encrypted. I don't think Protecc should support it as there are another ways to export from this app.
Third way
Export to HTML.
HTML contains a table:
Issuer | Username | OTP Auth URI | QR Code
OTP Auth URI contains the same structure as is described in first way.
I don't think Protecc should support is as this format is more for users than for parsing.
Fourth way
Export to txt. This format can be easily parsed.
Format:

otpauth://totp/NAME_WRITTEN_BY_USER%3AUSERNAME?secret=SOME_SECRET&issuer=NAME_OF_APPLICATION_OR_WEBSITE_WHO_ISSUED

otpauth://totp/NAME_WRITTEN_BY_USER%3AUSERNAME?secret=SOME_SECRET&issuer=NAME_OF_APPLICATION_OR_WEBSITE_WHO_ISSUED

otpauth://totp/NAME_WRITTEN_BY_USER%3AUSERNAME?secret=SOME_SECRET&issuer=NAME_OF_APPLICATION_OR_WEBSITE_WHO_ISSUED

The same format as in first way but all the codes and secrets are separated by new line. So it can be used for batch import.
Microsoft Authenticator
I think it encrypts exported file with some key that is composed of English dictionary words. I couldn't create a sample because the app broke on export.

It looks like both Google and Authenticator pro support keyuri and if I implement issue Keyuri support it should work for those. For Microsoft Authenticator do they have a qr code export option or is it just file?

I think that most authenticator apps will support keyuri, and an utility function to parse them to Account or something like that would help with implementing support for each of the applications.
Microsoft Authenticator doesn't have a QR code export option. Its only options are:

Backup to their cloud (and the file is encrypted with some personal token that is stored on Microsoft servers)
Export to encrypted file designed to be restored only in their app.
More information about their implementation, at least in cloud backup.

I can't find any other option inside the app or in posts on different forums. And the only post about a function to export secret keys to file that can be used in other apps a microsoft MVP pretends like no other app besides their exists in this world, so why would you need such a feature?
I think that trying to support their app could be very hard and time-consuming. If it is even possible

Ok we don't need to focus on importing from ms Authenticator then

Another popular open source option is Aegis, found in the main repository of F-Droid.
It's export option include text, unencrypted text, json and unencrypted json.
This is how that looks (the unencrypted one):
otpauth://totp/Website%3AUSERNAME?period=30&digits=6&algorithm=SHA1&secret=SECRET&issuer=Website

how is the json one? I am thinking of making interfaces for anyone (with basic c# knowledge) to easily add compatibility to third party importing

how is the json one? I am thinking of making interfaces for anyone (with basic c# knowledge) to easily add compatibility to third party importing

I think the contents are identical, only the formatting is different

Thanks for sending this. I can add Aegis importing then

@kurisucat can you send the json but with an icon to see how icon format looks like

@kurisucat can you send the json but with an icon to see how icon format looks like

icon value is base64 of image,
iVBORw0KGgoAAAANSUhEUgAAAZ... too long

and not include data:image/png;base64,

@KitCat36

How do you export your TOTPs in Microsoft Authenticator? couldn't find the option to do that.

Maybe there is no such function..
I opened settings and scrolled down to the bottom, where I saw export and import buttons. I thought that that was the export thing. Now I have checked this again - and no, these buttons export other things from the app
So you are correct
It is impossible to export 2FA keys from Microsoft Authenticator
They can be backed up to Microsoft cloud, and that's it

icon value is base64 of image,
iVBORw0KGgoAAAANSUhEUgAAAZ... too long

and not include data:image/png;base64,

Note that Aegis also supports SVG vectors and JPGs for entry icons.

Would also be cool to be able to import TOTP keys from 1password.
I have found the following:

Export your vault via 1password Desktop as a 1pux file
The file is actually a zip archive containing a "export.data" file with unencrypted JSON data
in the JSON data, the path accounts[i].vaults[ii].items[iii].details.sections[iv].fields[v].value.totp contains the TOTP key

I will see if I can contribute an importer for this. Also not sure if the path above is the only path to find TOTP keys. If not me, I hope this helps someone else integrate this. I can provide more info on the 1password exported file.

The 1 password looks simple so I can add it

@FireCubeStudios started work on a view for importing. Maybe you can build off of it? https://github.com/FireCubeStudios/Protecc/pull/85

@KitCat36

How do you export your TOTPs in Microsoft Authenticator? couldn't find the option to do that.

Maybe there is no such function.. I opened settings and scrolled down to the bottom, where I saw export and import buttons. I thought that that was the export thing. Now I have checked this again - and no, these buttons export other things from the app
So you are correct It is impossible to export 2FA keys from Microsoft Authenticator They can be backed up to Microsoft Cloud, and that's it

There are some possible ways to export data manually: original link(Chinese)
Simply put, the original text says those data are saved in folder /data/data/com.azure.authenticator/databases/, file PhoneFactor, PhoneFactor-shm, PhoneFactor-wal, in SQLite format, it needs a rooted android device.
I have exported it this way and I get a JSON, an Array of {uuid, otpauthstr}, and I'm finding ways to import it into protecc


idea, replace nikic/php-parser with syntect

deptrac highly depend on nikic/php-parser for parsing asts. Replacing it sounds crazy but we could give it a try :P
nikic/php-parser is fine but slow and just supports php.
just supporting php doesnt sound like a big deal, but even a typical php project consists of a bunch of different filetypes. supporting other languages would be really cool.
in my spare time i spend a lot of time playing with rust, a few month's ago i stubled on syntect. Syntect is a lib that is used by a lot of static site generators to support syntax highlighting. syntax highlighting is complex, especially if you want to support a lot of languages. Syntect is using Sublime Text syntax definitions which means that it could parse every file that is supported by sublime text out of the box.
Syntax highlighting is not the same like parsing an AST, but if you've ever worked with sublime you may have noticed that it supports a bit more than coloring code.
atm i didn't spend a lot of time on syntect but i tryed to parse a few different files and it looks promising. it can even understand different languages in one file (like an sql string).
here is an example:
<?php

function foo(string $bar) {
 echo 'SELECT * FROM BAR';
}

which will result in
<?php
^ +keyword.operator.comparison.php
<?php
 ^ pop 1
<?php
  ^ +constant.other.php
<?php
     ^ pop 1
function foo(string $bar) {
^ +meta.function.php
function foo(string $bar) {
^ +storage.type.function.php
function foo(string $bar) {
        ^ pop 1
function foo(string $bar) {
         ^ +entity.name.function.php
function foo(string $bar) {
            ^ pop 1
function foo(string $bar) {
            ^ pop 1
function foo(string $bar) {
            ^ +meta.function.parameters.php
function foo(string $bar) {
            ^ +meta.group.php
function foo(string $bar) {
            ^ +punctuation.section.group.begin.php
function foo(string $bar) {
             ^ pop 3
function foo(string $bar) {
             ^ +meta.function.parameters.php
function foo(string $bar) {
             ^ +meta.group.php
function foo(string $bar) {
             ^ +storage.type.php
function foo(string $bar) {
                   ^ pop 1
function foo(string $bar) {
                    ^ +variable.parameter.php
function foo(string $bar) {
                    ^ +punctuation.definition.variable.php
function foo(string $bar) {
                     ^ pop 1
function foo(string $bar) {
                        ^ pop 1
function foo(string $bar) {
                        ^ +punctuation.section.group.end.php
function foo(string $bar) {
                         ^ pop 1
function foo(string $bar) {
                         ^ pop 2
function foo(string $bar) {
                         ^ +meta.function.php
function foo(string $bar) {
                          ^ +meta.block.php
function foo(string $bar) {
                          ^ +punctuation.section.block.begin.php
function foo(string $bar) {
                           ^ pop 2
function foo(string $bar) {
                           ^ pop 1
function foo(string $bar) {
                           ^ +meta.function.php
function foo(string $bar) {
                           ^ +meta.block.php
 echo 'SELECT * FROM BAR';
 ^ +support.function.construct.php
 echo 'SELECT * FROM BAR';
     ^ pop 1
 echo 'SELECT * FROM BAR';
      ^ +string.quoted.single.php
 echo 'SELECT * FROM BAR';
      ^ +punctuation.definition.string.begin.php
 echo 'SELECT * FROM BAR';
       ^ pop 1
 echo 'SELECT * FROM BAR';
       ^ pop 1
 echo 'SELECT * FROM BAR';
       ^ +string.quoted.single.php
 echo 'SELECT * FROM BAR';
       ^ +meta.string-contents.quoted.single.php
 echo 'SELECT * FROM BAR';
       ^ +string.quoted.single.php
 echo 'SELECT * FROM BAR';
       ^ pop 3
 echo 'SELECT * FROM BAR';
       ^ +string.quoted.single.php
 echo 'SELECT * FROM BAR';
       ^ +meta.string-contents.quoted.single.php
 echo 'SELECT * FROM BAR';
       ^ +source.sql
 echo 'SELECT * FROM BAR';
       ^ +keyword.other.DML.sql
 echo 'SELECT * FROM BAR';
             ^ pop 1
 echo 'SELECT * FROM BAR';
              ^ +keyword.operator.star.sql
 echo 'SELECT * FROM BAR';
               ^ pop 1
 echo 'SELECT * FROM BAR';
                ^ +keyword.other.DML.sql
 echo 'SELECT * FROM BAR';
                    ^ pop 1
 echo 'SELECT * FROM BAR';
                        ^ pop 1
 echo 'SELECT * FROM BAR';
                        ^ pop 1
 echo 'SELECT * FROM BAR';
                        ^ +punctuation.definition.string.end.php
 echo 'SELECT * FROM BAR';
                         ^ pop 1
 echo 'SELECT * FROM BAR';
                         ^ pop 1
 echo 'SELECT * FROM BAR';
                         ^ +punctuation.terminator.expression.php
 echo 'SELECT * FROM BAR';
                          ^ pop 1
}
^ +punctuation.section.block.end.php
}
 ^ pop 1

as you can see, SQL is detected and the "pop" statements indicates a tree like structure.
if you take a closer look at (for example) the php syntax definition you can see that it's possible to get a lot of information out of php files.
i created a small demo app (osx 64bit) you can use to test parsing the output of these php files.
simply download the zip and run ./syntect_dump [FILE].
syntect_dump.zip
what do you think? anyone interesting in hacking on this stuff?

Php-parser is the state of art AST library allowing us with low maintenance be in sync with latest PHP versions thanks to nikic and contributors. Giving this away would be a drawback. Implementing a caching layer would be another solution.
Integrating other languages is a very nice idea. That would mean we have to rewrite deptrac in an other language. Your proposal would be a solution. I would be prefer starting a new project / playground.

I also believe that it should not be the scope of this project to support other languages. That should be done in a separate project.

Closing as it is out of scope and might be created as its own project :-)


ARROW-5011: [Release] Add support in source release script for custom…

… hash
This is a minor feature to help debugging said script on a by overriding
the git-archive hash instead of the hash inferred from the release tag.

Codecov Report

Merging #4032 into master will decrease coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #4032      +/-   ##
==========================================
- Coverage   87.85%   87.83%   -0.03%
==========================================
  Files         736      736
  Lines       90597    90594       -3
  Branches     1252     1252
==========================================
- Hits        79596    79575      -21
- Misses      10884    10898      +14
- Partials      117      121       +4

Impacted Files
Coverage Δ

go/arrow/math/int64_avx2_amd64.go
0% <0%> (-100%)
:arrow_down:

go/arrow/memory/memory_avx2_amd64.go
0% <0%> (-100%)
:arrow_down:

go/arrow/math/float64_avx2_amd64.go
0% <0%> (-100%)
:arrow_down:

go/arrow/math/uint64_avx2_amd64.go
0% <0%> (-100%)
:arrow_down:

go/arrow/memory/memory_amd64.go
28.57% <0%> (-14.29%)
:arrow_down:

go/arrow/math/math_amd64.go
31.57% <0%> (-5.27%)
:arrow_down:

js/src/ipc/metadata/json.ts
92.39% <0%> (-4.35%)
:arrow_down:

js/src/ipc/metadata/message.ts
92.99% <0%> (-1.28%)
:arrow_down:

js/src/schema.ts
88.77% <0%> (-1.03%)
:arrow_down:

cpp/src/plasma/thirdparty/ae/ae.c
70.75% <0%> (-0.95%)
:arrow_down:

... and 9 more

Continue to review full report at Codecov.

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


Shortcuts for aligning layers aren't working

Hi there,
I tried to custom my align layers shortcut but it seems the app still aligning items to the artboard otherwise than aligning items themselves :( I think it's a sketch app problem which has a conflict between Left (for layers) and Left (for texts)

Any idea to solve this please ?
Thanks in advance

Hey there and thanks for the feedback!
In macOS, there is a thing called "alternate menu item". You can see it, for instance, after opening an app menu (like the "Sketch" one) you press the alt key. The latest menu item called "Quit Sketch" transforms to "Quit and Close All Windows". These menu items are separated and the second one has reserved alt to be shown.
That's why when you trying to setup a shortcut containing an alt key to a menu item that has an alternate, you're getting the unexpected behaviour.
So until I'll add an additional check for alternates on shortcut setting please check you shortcuts manually to avoid this situation.
Thanks!

Thanks the quick answer. Changed my shortcut using only control key :) Thanks for you work, otherwise everything working great !

Pleased to read. You're welcome. 👍


Add test to see if mesh instances have re-used data.

This almost slipped under my radar, but @pjoe added a new test scene in #526 called 02_material_instancing.blend.
In this PR I've added some test code to dig into the contents of the exported scene, to find out if mesh instancing has really taken place.  As with other tests, I'm using the pattern of filtering by name for the objects of interest, so that export output re-ordering won't break this test.

Thanks!

Great :)
I do think though that we are getting to the point where test.js is ripe for being split up and re-organized. Will think a bit about this and maybe do an initial attempt.

@pjoe That would be a good thing, of course.  I have a few more things I want to get in soon, in particular coverage of the Emissive channel, because they added a new node input for that in 2.80 that we don't support yet.
Along those lines, currently we have glTF round-trip tests, and export-only tests for 2.79 scenes.  We don't have any export tests for 2.80-specific scenes (they would fail to load in 2.79 and break the test suite).  If we're going to test newly-added things like the Emissive input on the Principled BSDF node, we'll need a way to keep those 2.80 projects separate.  I was thinking of adding a scenes_280 folder or similar, but it feels a little messy.

hmm yeah those multiple blender version does make things complicated. I wonder how long it makes sense to maintain 2.79 as 2.80 final is scheduled for July.
Another thing I had been considering is how to test multiple export settings, as these can have quite an impact.

Unfortunately I don't think we're dropping 2.79 this year.  I love 2.80 but not all users will migrate quickly, because the UI needs to be almost re-learned for some workflows.  Hopefully 2.79 can be let go next year.  We'll see.
Multiple export settings is a good idea too.  I was wondering if that can be tested by checking "Remember Export Settings" (in the glTF export panel) and then saving the Blender project.

Yeah we need to keep 2.79 support until the time is right :)
Having settings saved as part of .blend would work, but then again would require multiple .blends to test same content with different settings, so was thinking of finding a good way to pass in settings from js side of things.


Default kernel conflicts with "kernel-mos-drivers-gpu" package

Describe the bug
Installed the latest Mariner OS available in Mariner 2.0 x86_64 ISO.
This comes with Linux <IP_ADDRESS>-1.cm2 kernel by default.
For my task, I require "kernel-mos-drivers-gpu" driver to be installed for fetching GPU driver.
However, there seems conflict with the default kernel which is resulting into rpm installation failure.
To Reproduce
Steps to reproduce the behavior:
root@dut [ ~ ]# tdnf install -y kernel-mos kernel-mos-drivers-gpu
Loaded plugin: tdnfrepogpgcheck
Installing:
kernel-mos-drivers-gpu x86_64          <IP_ADDRESS>-1.cm2     mariner-official-base   4.87M         4.88M
kernel-mos           x86_64          <IP_ADDRESS>-1.cm2     mariner-official-base  41.30M        35.02M
Total installed size:  46.17M
Total download size:  39.90M
kernel-mos-drivers-gpu                 5121424 100%
kernel-mos                            36721097 100%
Testing transaction
Found 1077 problems
file /boot/.vmlinuz-<IP_ADDRESS>-1.cm2.hmac from install of kernel-mos-<IP_ADDRESS>-1.cm2.x86_64 conflicts with file from package kernel-<IP_ADDRESS>-1.cm2.x86_64
file /boot/System.map-<IP_ADDRESS>-1.cm2 from install of kernel-mos-<IP_ADDRESS>-1.cm2.x86_64 conflicts with file from package kernel-<IP_ADDRESS>-1.cm2.x86_64
file /boot/config-<IP_ADDRESS>-1.cm2 from install of kernel-mos-<IP_ADDRESS>-1.cm2.x86_64 conflicts with file from package kernel-<IP_ADDRESS>-1.cm2.x86_64
file /boot/linux-<IP_ADDRESS>-1.cm2.cfg from install of kernel-mos-<IP_ADDRESS>-1.cm2.x86_64 conflicts with file from package kernel-<IP_ADDRESS>-1.cm2.x86_64
file /boot/vmlinuz-<IP_ADDRESS>-1.cm2 from install of kernel-mos-<IP_ADDRESS>-1.cm2.x86_64 conflicts with file from package kernel-<IP_ADDRESS>-1.cm2.x86_64
file /lib/modules/<IP_ADDRESS>-1.cm2/.vmlinuz.hmac from install of kernel-mos-<IP_ADDRESS>-1.cm2.x86_64 conflicts with file from package kernel-<IP_ADDRESS>-1.cm2.x86_64
...
...
file /lib/modules/<IP_ADDRESS>-1.cm2/modules.devname from install of kernel-mos-<IP_ADDRESS>-1.cm2.x86_64 conflicts with file from package kernel-<IP_ADDRESS>-1.cm2.x86_64
file /lib/modules/<IP_ADDRESS>-1.cm2/modules.order from install of kernel-mos-<IP_ADDRESS>-1.cm2.x86_64 conflicts with file from package kernel-<IP_ADDRESS>-1.cm2.x86_64
file /lib/modules/<IP_ADDRESS>-1.cm2/modules.symbols from install of kernel-mos-<IP_ADDRESS>-1.cm2.x86_64 conflicts with file from package kernel-<IP_ADDRESS>-1.cm2.x86_64
file /lib/modules/<IP_ADDRESS>-1.cm2/modules.symbols.bin from install of kernel-mos-<IP_ADDRESS>-1.cm2.x86_64 conflicts with file from package kernel-<IP_ADDRESS>-1.cm2.x86_64
Error(1525) : rpm transaction failed

Expected behavior
"kernel-mos-drivers-gpu" with it's supported "kernel-mos" package installation should be successful without any errors.
Please fix this issue at the earliest Or provide a workaround at the minimum to proceed with the activity.
Possibly having a "force" option to reinstall the existing packages in case of common files/packages would be done.

@psw2kor you could force the installation. Download the packages from http://packages.microsoft.com/cbl-mariner/2.0/prod/base/x86_64/Packages/k/ and then run sudo rpm -ivh --force kernel-mos-<IP_ADDRESS>-1.cm2.x86_64.rpm kernel-mos-drivers-gpu-<IP_ADDRESS>-1.cm2.x86_64.rpm
Before running the command do a test with sudo rpm -ivh --force --test kernel-mos-<IP_ADDRESS>-1.cm2.x86_64.rpm kernel-mos-drivers-gpu-<IP_ADDRESS>-1.cm2.x86_64.rpm

Thanks @zcobol for the suggestion. That helps to proceed.
May I please know, if there is any plan to fix this issue from Microsoft to allow seamless installation of these packages without worrying about namespace collisions ?


2018 french scope update

This request was not created correctly it should be based on the 2018 branch not the main. do not approve. trying to cancel now.


Cannot read property 'install' of undefined

Uncaught TypeError: Cannot read property 'install' of undefined
To Reproduce Steps to reproduce the behavior:
import VueStripeCheckout from 'vue-stripe-checkout'
console.log(VueStripeCheckout) --> VueStripeCheckout is undefined
Vue.use(VueStripeCheckout, options);
"vue-stripe-checkout": "^3.3.1"
"vue": "^2.6.11"

Thanks for sending an issue, see duplicate #98.


Adding the Profile views

Adding a "render" function for navigating to the "/profile" URL

Done in PR #113


Testing Platform-Test Part 2

Value: $0.00Closes: Tuesday, March 27, 2018Location: Armstrong In-person work NOT requiredOpportunity DescriptionyesAcceptance CriteriaHow to ApplyGo to the Opportunity Page, click the Apply button above and submit your proposal by 16:00 PST on Tuesday, March 27, 2018.We plan to assign this opportunity by Tuesday, March 27, 2018 with work to start on Tuesday, March 27, 2018.Proposal Evaluation Criteria

This was a test.


Allow reset to using the message of the exception itself in the exception class hierarchy

Allow a more specific super class to "reset" the override of error message from a higher superclass by providing an empty message. This allows it (and its subclasses) to use the default message handling again.
Currently, if one sets error.handling.messages.java.lang.RuntimeException=A runtime exception has happened with error.handling.search-super-class-hierarchy=true, there's no way (that I know of) to let any application exception to provide fall back to default messaging again. This allows, say ApplicationException (that extends from RuntimeException) and all those that extend ApplicationException to have their messages returned using default fallback capabilities by providing an empty value for error.handling.messages.com.example.ApplicationException=
I don't always want the custom message from the general RuntimeException to be returned from the API but I do want custom application exception messages to be returned (that extend RuntimeException)
Perhaps, there's a better way, in which case this can just serve as an issue for further discussion.
Thanks,
Stephen

If I understand things correctly, you have this hierarchy:
java.lang.RuntimeException
^
|
my.ApplicationException
^
|
my.SubclassOfApplicationException

By default, the library uses the message that is contained in the Exception instance, but for RuntimeException, you don't want this, you want to have a fixed message in de JSON response, and for that you set:
error.handling.messages.java.lang.RuntimeException=A runtime exception has happened

Since ApplicationException and SubclassOfApplicationException both extend from RuntimeException and you have error.handling.search-super-class-hierarchy=true, all those exceptions have the fixed text now.
But you want some way for ApplicationException and any sub-class to use the message that is contained in instance, not the fixed text.
Seems like a valid requirement indeed.

Thinking some more about this, I don't see a better way to configure it and no immediate drawback, so I am willing to integrate this. However, there needs to be unit tests at least. The docs could also use some extra info, but I can do that myself. Could you add unit tests?

@wimdeblauwe thanks for re-iterating my use case in your own words. I think you understand my use-case. I can work on some unit tests for sure. Should be in the next day or two.
Thanks for the cool library.

I only saw after merging that the target branch was master, but it needs to be develop. I will cherry pick your change and  put it on develop manually.

Oops. Sorry about that. Thanks again 👍


Support for 'orderby' clause

Fixes #16

Hello @maximpashuk ,
I manually merged your fix in the v2.0.2
It has been a long time but thanks a lot for your pull.
Best Regards,
Jonathan


Add optional dependency joblib

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (ea1a2f5) to head (4b3a63c).
Report is 10 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #298   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           71        71
  Lines         1479      1479
  Branches        53        53
=========================================
  Hits          1479      1479

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


bug: getNearestCommand main use case being unreachable for custom prefixes

Currently the main use case for getNearestCommand is to work as a 404 for messages containing unknown. commands
Example:
// after all our command registration
bot
   .filter(Context.has.filterQuery('::bot_command'))
   .use(async (ctx) => {
      const suggestedCommand = ctx.getNearestCommand(myCommands)
   })

A command registered with a custom prefix, would never trigger the filter ::bot_command, like +doX
As me and @roziscoding talked, it's needed to overwrite the ctx.entities("bot_command") method for one that hydrates with not only commands entities, but also commands registered with custom prefixes
A ready to use 404 function could also be useful, e.g:
// after all our command registration
bot.use(
   command404(
      'did you mean $COMMAND',
      'msg for not found',
   ).localize('es', 'quisiste decir $COMMAND', 'comando no encontrado'),
)

I think we don't really need the commandNotFound middleware. As you said somewhere else (I don't remember where lol) this can be easily achieved with i18n + getNearestCommand and a simple example on the docs would be enough

a simple example on the docs would be enough

Yeah, I forgot lol.
In any case, we have to come with a 404 implementation that does not depend on Contex.has.filterQuery(::bot_command), maybe implement some static method inside the Commands class, that archives the same thing + commands with custom prefixes. I'll come up with something soon

@carafelix we could add a different function, perhaps something like commandEntities, that would call ctx.entities("bot_command") and return that + custom prefixed commands.
It'd probably need to take in the commands tho, or it'd be an instance method to the Commands class.


[docker]  support for remote docker via ssh

⚠ Please verify that this feature request has NOT been suggested before.

[X] I checked and didn't find similar feature request

🏷 Feature Request Type
Other
🔖 Feature description
Uptime Kuma already supports remote docker monitoring using http/https connections
Setting up passwordless ssh access using ssh keys is a lot more straight forward than using mutual TLS for docker TCP connections and a lot more secure than unencrypted TCP.
Docker client CLI tools do allow using ssh based connections using the -H flag, e.g.:

docker -H ssh://me@example.com:22 ps
docker -H<EMAIL_ADDRESS>ps
docker -H ssh://example.com ps

see: https://docs.docker.com/engine/reference/commandline/dockerd/
Here is an example of what this looks like in a shell session:
docker@docker:~ $ docker -H<EMAIL_ADDRESS>ps
CONTAINER ID   IMAGE                          COMMAND                  CREATED        STATUS        PORTS                                                                            NAMES
45bac38bec61   twiki:6.1.0                    "/run.sh /usr/sbin/a…"   19 hours ago   Up 19 hours   <IP_ADDRESS>:80->80/tcp, :::80->80/tcp, <IP_ADDRESS>:443->443/tcp, :::443->443/tcp         twiki-twiki-1
82061f2153a6   lscr.io/linuxserver/heimdall   "/init"                  4 weeks ago    Up 19 hours   <IP_ADDRESS>:8000->80/tcp, :::8000->80/tcp, <IP_ADDRESS>:9000->443/tcp, :::9000->443/tcp   heimdall
docker@docker:~ $

Alternatively, docker contexts can be "stored" for CLI tool usage using the "docker context create" command and utilised using either the "docker context use" command or the --context CLI option. Here is an example of what this looks like in a shell session:
docker@docker:~ $ docker context list
NAME        DESCRIPTION                               DOCKER ENDPOINT                  ERROR
audocker    remote engine on audocker.lv42.com<EMAIL_ADDRESS>default *   Current DOCKER_HOST based configuration   unix:///var/run/docker.sock
twiki       remote engine on twiki.lv42.com<EMAIL_ADDRESS>usdocker    remote engine on usdocker.lv42.com<EMAIL_ADDRESS>docker@docker:~ $ docker --context twiki ps
CONTAINER ID   IMAGE                          COMMAND                  CREATED        STATUS        PORTS                                                                            NAMES
45bac38bec61   twiki:6.1.0                    "/run.sh /usr/sbin/a…"   18 hours ago   Up 18 hours   <IP_ADDRESS>:80->80/tcp, :::80->80/tcp, <IP_ADDRESS>:443->443/tcp, :::443->443/tcp         twiki-twiki-1
82061f2153a6   lscr.io/linuxserver/heimdall   "/init"                  4 weeks ago    Up 18 hours   <IP_ADDRESS>:8000->80/tcp, :::8000->80/tcp, <IP_ADDRESS>:9000->443/tcp, :::9000->443/tcp   heimdall
docker@docker:~ $

✔ Solution
ability to specify a remote docker host using ssh://me@example.com:22 when configuring a remote docker host
❓ Alternatives
ability to specify a remote docker host using a docker context name when configuring a remote docker host.
📝 Additional Context
No response

bump, exposing docker deamon via http/tcp is a risk of being hacked (happened to me today). I wanted to monitor docker containers from a different server but without authentification. this doc can be helpful for how to secure docker deamon

I believe docker cli uses SSH port forwarding.
You could achieve this already if you run an external SSH client  process with port forwarding for a unix socket.
This way you can forward the remote docker unix socket to a unix socket local to uptime-kuma.
Of course, it would be easier to setup / more robust if the feature is available in uptime-kuma.
This will require uptime-kuma use an ssh client library to do the same.
https://www.man7.org/linux/man-pages/man1/ssh.1.html

-L [bind_address:]port:host:hostport
  -L [bind_address:]port:remote_socket
  -L local_socket:host:hostport
  -L local_socket:remote_socket

           Specifies that connections to the given TCP port or Unix
           socket on the local (client) host are to be forwarded to
           the given host and port, or Unix socket, on the remote
           side.  This works by allocating a socket to listen to
           either a TCP port on the local side, optionally bound to
           the specified bind_address, or to a Unix socket.
           Whenever a connection is made to the local port or
           socket, the connection is forwarded over the secure
           channel, and a connection is made to either host port
           hostport, or the Unix socket remote_socket, from the
           remote machine.
           Port forwardings can also be specified in the
           configuration file.  Only the superuser can forward
           privileged ports.  IPv6 addresses can be specified by
           enclosing the address in square brackets.
           By default, the local port is bound in accordance with
           the GatewayPorts setting.  However, an explicit
           bind_address may be used to bind the connection to a
           specific address.  The bind_address of “localhost”
           indicates that the listening port be bound for local use
           only, while an empty address or ‘*’ indicates that the
           port should be available from all interfaces.


Add a navigation bar

As the portfolio gains more information, it may make sense to add a navigation bar. This bar should include the logo on the left side but only once the page has scrolled down a bit.

I would like to work on this issue.


getSyncingStats test fails when RPC returns false

Describe the bug
The getSyncingStats test fails when the RPC returns false. The test expects an object matching the SyncingStatus schema, but doesn't handle the case where false is returned, which is a valid response.
To Reproduce

Run the RPC provider tests using a synced Juno node(then result should be false). E.g:
TEST_RPC_URL=https://free-rpc.nethermind.io/sepolia-juno npm run test -- -t getSyncingStats

Observe the failure

Expected behavior
Test should pass when starknet_syncing results is false
Desktop (please complete the following information):

Starknet.js v6.15.0
Network testnet
Node version v22.8.0

Hi @wojciechos , is this open for contribution?

to fix your trouble check this solution click
maybe this will solve your problem.


How stable is v2.0?

Can I use it for production? Or is it better to still use the master?

It's been working just fine for me.
*I'm not a maintainer though

Pretty stable - depending on your environment, you may have to tweak or fix a couple things, but I've been using it for months. The main thing that's missing is just a README. Check github issues for known issues. But 2.0 is way better. Go for it.

@greypants Could you be specific about 'you may have to tweak or fix a couple things' ?
Anyone has worked with bower in combination with gulp-starter / webpack?

@jefsnare You may have to tweak or change things depending on your folder structure and project requirements. This repo is just meant to be a starting point for you to build on. It works great as-is, but to integrate it into another tech stack, you'll likely have to make some modifications, and may have to address edge cases I haven't handled.

Merging soon, and will tag as a release


Hass.io ver .97 WINK and ALexa issues

Home Assistant release with the issue:

20190805.0
Operating environment (HassOS/Generic):

Raspberry pi3 witj HASS.io image
Supervisor logs:

19-08-08 20:00:35 INFO (MainThread) [hassio.homeassistant] Detect a running Home Assistant instance
19-08-08 20:00:35 INFO (MainThread) [hassio.addons] Phase 'application' start 3 add-ons
19-08-08 20:00:38 INFO (SyncWorker_14) [hassio.docker.addon] Start Docker add-on hassioaddons/node-red-armv7 with version v4.0.6
19-08-08 20:00:40 INFO (SyncWorker_3) [hassio.docker.addon] Start Docker add-on homeassistant/armv7-addon-configurator with version 3.4
19-08-08 20:00:40 INFO (SyncWorker_1) [hassio.docker.addon] Start Docker add-on hassioaddons/log-viewer-armv7 with version v0.6.1
19-08-08 20:00:43 INFO (MainThread) [hassio.api.security] /host/info access from a0d7b954_nodered
19-08-08 20:00:45 INFO (MainThread) [hassio.tasks] All core tasks are scheduled
19-08-08 20:00:45 INFO (MainThread) [hassio.core] Hass.io is up and running
19-08-08 20:00:45 INFO (MainThread) [hassio.api.security] /host/info access from a0d7b954_logviewer
19-08-08 20:01:44 INFO (MainThread) [hassio.api.proxy] Home Assistant WebSocket API request initialize
19-08-08 20:01:44 INFO (MainThread) [hassio.api.proxy] WebSocket access from a0d7b954_nodered
19-08-08 20:01:45 INFO (MainThread) [hassio.homeassistant] Updated Home Assistant API token
19-08-08 20:01:45 INFO (MainThread) [hassio.api.proxy] Home Assistant WebSocket API request running

Description of problem:
have a notice saying could not setup wink. I have deleted the .wink config and re-authorized but still doesn't work. Also, it is affecting my Amazon devices. It some how stops my voice commands from working. If I shutdown Hass.io the Amazon stuff works fine

My wink relays stopped working after updating to .97.
I notice if I go to the https://server.domain.name:8123/auth/wink/callback it gives me a 404 error page.

my issue was thet WINK was having a problem with their API


Check use_statement

It indexes use_statement with an odd value: "use_statement"=>"Oversize M23.L5S6 1973q"
{"location_code"=>"annex$stacks", "location"=>"Forrestal Annex - Annex Stacks", "library"=>"Forrestal Annex", "call_number"=>"stacks M23.L5S6 1973q Oversize", "call_number_browse"=>"M23.L5S6 1973q Oversize", "items"=>[{"holding_id"=>"22242008800006421", "id"=>"23242008790006421", "status_at_load"=>"1", "use_statement"=>"Oversize M23.L5S6 1973q", "barcode"=>"32101030094724", "copy_number"=>"10"}]}
part of #823

The enrichment fields in alma specifies 876 | h as: call_number subfield. This is why based on the current codebase it indexes the call number. This should be fixed.
In voyager an 876 | h would expect to have 'In library use', 'Supervised Use' or nothing. The logic is based on the locations in subfield z. Do we need to add 876 enrichment field | z?
Update: We discussed this in the alma checkin and we removed from all the publishing jobs the 876 | h and 876 | i subfields.

I will update all the fixtures tomorrow .


wit add-dep on a package that is already in the manifest causes second entry

This is on wit 0.10.1.
When you run wit add-dep to add a package that is already in the wit-manifest.json, it causes a second entry for that package within the wit-manifest.json. It appears that when wit resolves dependencies, if there are two of the same dependency in the wit-manifest.json, then it'll pick the latter (or perhaps the newest one by git history), so the outward behavior is as expected.
However, I think we should 1) fix wit add-dep to just behave like update-dep if a package already exists in the manifest and 2) have wit abort if presented with a wit-manifest.json that has the same package listed twice to avoid any unexpected behavior.

Fixed by #165


search: very slow and inefficient index initialization

Hi.
I have an index (search.js) with 35K rows (9MB). It takes more than 35 seconds to initialize. So user have to click in search field and wait for half a minute.
I looked up into the code where index is being initialized. It seems it's very inefficient.
        function createIndex() {
            index = new lunr.Index();
            index.pipeline.add(lunr.trimmer);
            index.field("name", {
                boost: 10
            });
            index.field("parent");
            index.ref("id");
            var rows = search.data.rows;
            var pos = 0;
            var length = rows.length;
            function batch() {
                var cycles = 0;
                while (cycles++ < 100) {
                    index.add(rows[pos]);
                    if (++pos == length) {
                        return setLoadingState(SearchLoadingState.Ready);
                    }
                }
                setTimeout(batch, 10);
            }
            batch();
        }

I understand that you're trying not to block ui thread splitting work on tasks being executed via setTimeout. But the end result is not good.
But besides that why do you add every rows via Index.add?
Lunr Index has load method - https://lunrjs.com/docs/lunr.Index.html which should be MUCH faster. All we need is just to build a proper serialized index during building stage instead of that custom structure with rows.
I have search on one of my static doc site with lurn, and 8MB lunr-index initialized pretty fast.
		$.getJSON("search_index.json", function (data) {
   			if (lunr.multiLanguage) {
				lunr.multiLanguage('en', 'ru');
			}
			engine = lunr.Index.load(data.lunrIndex);
			doSearch(engine, term, data.pageIndex, container);
		});

(pageIndex is a custom structure for mapping urls to titles)

With #1252 we build the index at documentation time :)


is this repo still live?

I would like to develop this app and migrate it to django 4, are there any owners of this repo to accept pull requests?

Yes, feel free to.submit a PR


bs5 branch button group render issue

This is a (multiple allowed):

[x] bug

[ ] enhancement

[ ] feature-discussion (RFC)

BootstrapUI Version: BS5 branch

Bootstrap Framework Version: 5.0.2

What you did
					$button = $this->Form->button('Button Text', [
						'type' => 'button',
					]);
					echo $this->Form->control('someField', array(
						'append' => [
							$button,
							['type' => 'text']
						]
					));

The 'append/prepend' button groups don't render correct (have rounded edge instead of square 'docked' to side of input when using the 'button group' : https://getbootstrap.com/docs/5.0/forms/input-group/#button-addons
When buttons are used, no wrapping 'input-group-append' container is needed.  Actually It seems the only time a wrapping container around the appended/prepended item is needed is if is just plain 'text' from I can tell.
I tried to do a PR, put couldn't work through all the templates etc. as I'm new to this plugin.  Maybe use the 2nd options parameter of the append values array and if there is 'type=>'text' then wrap, otherwise don't add a wrapper?

This is already fixed but not yet merged.

You can check out this pull request for what's to come. If you want to test it in your project you can alias the repository and require my working branch.
composer config repositories.bui vcs https://github.com/ndm2/bootstrap-ui
composer require friendsofcake/bootstrap-ui:dev-bs5-support

Closing now that preliminary BS5 support has been merged. You can now directly require the dev-bs5 branch, respectively a pre-release tag once published.


Ordered mappings?

Hi,
Is it possible to read a mapping but preserve the order? I.e. into something like https://ae.dpldocs.info/ae.utils.aa.OrderedMap.html ?
Thanks!

You can always define a custom time and provide a fromYAML. I'm not sure what the use case is though ?

You can always define a custom time and provide a fromYAML.

I have had trouble with that approach in the past as it was constantly causing temporal paradoxes. Could an UDA be used instead?

I'm not sure what the use case is though ?

Consider e.g.:
databases:
  development:
    matches: "development"
    expiry: never
  default:
    matches: "*"
    expiry: 2 weeks

We would like to preserve the order, as otherwise, the "default" entry may be ordered in front of the "development" entry, therefore always matching before it. A list could be used here to avoid this problem, but I think it's useful to also be able to have order-preserving mappings.

The D type for the example above would be
struct Config
{
    struct DatabaseConfig { string matches; Duration expiry; }
    DatabaseConfig[string] databases;
}

which I expect should work except for the issue at hand. The goal would be to substitute DatabaseConfig[string] with some equivalent type that 1) preserves order 2) can be deserialized by configy.

I originally missed the matches approach in my comment. I see now how you'd use that. TBH I would advise against a configuration like this, because it is very error prone. For example, as a user, wouldn't it be reasonable to expect matches: "*" to match regardless of where it is in the AA ?
However, in terms of feasability, I think it's already doable today. You can parse mappings as array today:
/++ dub.json:
 { "name": "test", "dependencies": { "configy": "*" } }
+/
module vlad;

import std.stdio;
import configy.Read;
import core.time;

struct DatabaseConfig { string name; string matches; @Optional Duration expiry; }

struct Config
{
    @Key("name") DatabaseConfig[] databases;
}

void main ()
{
    auto config = parseConfigString!Config(`databases:
  development:
    matches: "development"
  default:
    matches: "*"
    expiry:
      weeks: 2
`, "config.yaml");
    writeln(config);
}


add Adriana to german approver team

You are right @seokho-son. In this case I think we can skip the whole procedure, what do you think @CathPag?. Catherine joined David and me on the german localization only because we did not have a third person until Adriana joined. She is one of the "initial" approvers and we had already a kick off meeting with her.

Now that we have three German approvers (including Adriana), I can be removed. I was always just a placeholder :)

Now that we have three German approvers (including Adriana), I can be removed. I was always just a placeholder :)

done :)


Add quantile and median

Fixes #18409
Implementing median for jax, numpy and torch is straightforward.
For tensorflow backend, this PR adopts and simplifies the quantile implementation from TensorFlow Probability to compute median.
Addtionally, this PR adds support for multiple axes in torch's quantile and median.
All the corresponding unit tests have been included.

Codecov Report
Attention: 110 lines in your changes are missing coverage. Please review.

Comparison is base (6e54f7f) 78.50% compared to head (3a19f59) 57.83%.

Additional details and impacted files
@@             Coverage Diff             @@
##           master   #18649       +/-   ##
===========================================
- Coverage   78.50%   57.83%   -20.67%
===========================================
  Files         334      334
  Lines       32596    32770      +174
  Branches     6376     6414       +38
===========================================
- Hits        25589    18954     -6635
- Misses       5452    12386     +6934
+ Partials     1555     1430      -125

Flag
Coverage Δ

keras
57.83% <36.78%> (-20.56%)
:arrow_down:

keras-jax
?

keras-numpy
57.83% <36.78%> (-0.12%)
:arrow_down:

keras-tensorflow
?

keras-torch
?

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

Files
Coverage Δ

keras/backend/numpy/numpy.py
99.23% <100.00%> (+0.02%)
:arrow_up:

keras/ops/numpy.py
95.73% <97.72%> (-0.01%)
:arrow_down:

keras/backend/jax/numpy.py
36.88% <18.18%> (-62.32%)
:arrow_down:

keras/backend/torch/numpy.py
19.89% <6.06%> (-75.89%)
:arrow_down:

keras/backend/tensorflow/numpy.py
28.73% <5.47%> (-67.35%)
:arrow_down:

... and 175 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

The failed test should be unrelated.
I have updated the logic of median in torch backend to use the native torch.median.
Additionally, I have removed the numpy dependency in keras.backend.torch.numpy and replaced it with the use of builtins.


[DO NOT MERGE] contrib: test: fix failing networking tests in RHEL

should function for intra-pod communication: http
should function for intra-pod communication: udp

Signed-off-by: Antonio Murdaca<EMAIL_ADDRESS>

:tada:

Now Fedora and RHEL pass all node-e2e together

LGTM for now.
though we need to fix this the right way.
cc: @rajatchopra


OLS-1015: Create new certification store

Description
Create new certification store
Type of change

[x] Refactor
[x] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library
[ ] Bump-up library or tool used for development (does not change the final image)

Related Tickets & Documents

Related Issue #OLS-1015

/retest

/approve

/lgtm

/override "Red Hat Konflux / lightspeed-service-on-pull-request"

/override "ci/prow/e2e-ols-cluster-4-15"
/override "ci/prow/e2e-ols-cluster-4-16"


typo

천제가 아니라 천재입니다

?

Just find the exact one. Just looking for something weird.

ah..... ok.....


chore: rename styles.css to app.css

I've always had an app.css since that's what svelte-add sets up and I much prefer it. styles is redundant with css so adds nothing to the name. We have an app.d.ts and an app.html, so also having an app.css feels much nicer

I think this change makes sense. I do think it should be probably considered a breaking change for create-svelte, though, to be safe. We don't know what people are doing with the output of the template, and renaming a file could affect their workflows.

Ooh. I don't know about that. It seems like we could have a lot of major releases if that's the line we draw. While version numbers should be basically invisible for most users, I think we still have lots of downloads of v1 somehow, so I don't know how many majors we should make 😆 I feel like if you're doing something with the output then you should have a little robustness built-in to your process


[v1.9] eni: Fix Cilium overallocating network interfaces

v1.9 backports 2021-05-06

#15911 -- eni: Fix Cilium overallocating network interfaces (@gandro)

Once this PR is merged, you can update the PR labels via:
$ for pr in 15911; do contrib/backporting/set-labels.py $pr done 1.9; done

test-backport-v1.9

test-backport-1.9

test-1.17-5.4

test-1.17-5.4

test-1.13-4.9

test-1.17-5.4 seems to keep hitting Suite-k8s-1.17.K8sVerifier Runs the kernel verifier against Cilium's BPF datapath - I assume this is unrelated to the PR?

Hm, could be another complexity issue :sweat:
There are no datapath changes in this PR so if it happens here, it also happens in master. It must have slipped through during the rebase of my backport PR. Let's ignore for now.


Make scenario parsing logic for litmsuctl create scenario command independent of install-chaos-experiments step

Generally the scenario manifests created via Chaos-Center contains an install-chaos-experiments step, which contains definition for all experiments users are going to run as part of that scenario. At the time of implementation of this feature (litmusctl create scenario), it was decided to use install-chaos-experiments step to fetch names of all experiments, users have added in the manifest.
But this can't be always the case, users may not have install-chaos-experiments step in their manifests while scheduling it via litmusctl.
When we upload a manifest in frontend, we had enhanced the logic in frontend by searching for templates which contains kind: ChaosEngine & fetch their names. Since a template containing kind: ChaosEngine denotes a chaos experiment. Same can be done in litmusctl making it independent of install-chaos-experiment.
For reference, how it's done in frontend - https://github.com/litmuschaos/litmus/blob/643f3bffb87a20fee209a77b842ad7eda01d1e54/litmus-portal/frontend/src/utils/yamlUtils.ts#L250

Slack thread for reference - https://kubernetes.slack.com/archives/CNXNB0ZTN/p1669734627249449

This issue can be closed based on PR #114

Thanks @iamnicoj for this enhancement!! This is now released as part of 0.16.0 release of litmusctl.


Update README.md

Added info to put OPENAI_API_KEY="open_ai_key_generated" in ~/.config/shell_gpt/.sgptrc in case it does not prompt you for the key.

It didn't prompt me...

If you delete the file, can you recreate the issue of not being prompted?

Thank you for the PR.
If it didn't prompt you:

You already had .sgptrc file.
You defined ENV variable OPENAI_API_KEY.
You launch sgpt with wrong API key.

sgpt should handle it on its own, without manual manipulations.

Oh nice. I’ll move the file and give it a tryOn Apr 14, 2023, at 18:59, Farkhod Sadykov @.***> wrote:
Closed #180.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>


PR for reproducing SITES-18690

These changes are intended to reproduce SITES-18690. Should work on simple-text fields.
To see an issue you can open ext=https://343284-sites18677-stage.adobeio-static.net/index.html

author-p7452-e12437
author-p18453-e47228 - ensure it is not in hibernation

With
await wait(1); // we need to wait for some time to ensure that setHeight() is available for use

enabled, you can use ext=https://343284-sites18677.adobeio-static.net/index.html to verify that it works:

author-p7452-e12437
author-p18453-e47228

Developer Console Project: https://developer.adobe.com/console/projects/343284/4566206088345123141/overview
CC: @VladimirZaets

@slitviachenko @VladimirZaets I suppose this PR can now be closed without merging as the bug is fixed?


Pre-install bash-completion

A user in the forum asked to pre-install bash-completion, as this is a feature "everybody wants to have".
Is that possible?

It is pre-installed: https://github.com/siemens/meta-iot2050/blob/f4c02eb1f57f34bf4386e84ff4e3655ea66bbe8d/recipes-core/images/iot2050-image-example.bb#L20


Drive redirection not getting file information correctly

When using drive redirection with Microsoft Remote Desktop client (mstsc.exe), file and directory information are not being correctly fetched/updated.
Apparently, xinode data for files on redirected drives is only created when directory contents are listed, and is never updated from that point on. This causes two separate (although related) issues.
Issue 1: directory contents only update with ls
For example, if I logon through xrdp (using mstsc.exe), launch a terminal window and go to the redirected drive folder, until I run a ls command, it's like the drive contents don't exist:
$ cd thinclient_drives
$ ls
C:
$ cd C\:
$ cd Windows
bash: cd: Windows: No such file or directory
$ cd Users
bash: cd: Users: No such file or directory
$

So, at this point it seems like the redirected C: drive is empty. However, if I run an ls command, it seems to fetch the information and it works correctly from that point on:
$ ls
 'Documents and Settings'   langpacks      'Program Files'         swapfile.sys
 Drivers                    pagefile.sys   'Program Files (x86)'   'System Volume Information'
 hiberfil.sys               PerfLogs       Recovery                Users
 Intel                      ProgramData    '$Recycle.Bin'          Windows
$ cd Windows
$ pwd
/home/user/thinclient_drives/C:/Windows

However, it works just for that directory (I have to use ls inside the directory for it to be updated as well):
$ cd System32
bash: cd: System32: No such file or directory
$ ls System32
ls: cannot access 'System32': No such file or directory
$ ls
 addins                     INF            schemas
 appcompat                  InfusedApps    security
 ...
 IME                        RtCRU64.exe    WMSysPr9.prx
 ImmersiveControlPanel      SchCache       write.exe
$ cd System32
$ pwd
/home/user/thinclient_drives/C:/Windows/System32
$

This problem is not visible when using a graphical file manager, because it will list the directory contents automatically when we enter a directory.
I believe this is due to the ls command (without arguments) triggering the xfuse_cb_opendir callback, which uses dev_redir_get_dir_listing/dev_redir_proc_query_dir_response to create the xinode data.
A simple cd or ls [filename] starts by triggering the xfuse_cb_lookup callback, which fails immediately because there's no xinode corresponding to the name.
Maybe the solution is triggering a directory listing request when the xfuse_cb_lookup initially fails?
Issue 2: when a file is changed on the remote (client) side, metadata is not updated on xrdp
We start by creating a test file on the redirected drive from the server (xrdp) side:
$ cd thinclient_drives/C\:
$ ls
 ...
$ cd Test
$ echo "test data" > test.txt
$ ls -l test.txt
-rw-r--r--. 1 user user 10 Jan 12 12:12 test.txt
$ cat test.txt
test data
$

As we can see, the file is created correctly, with a size of 10 bytes (includes the newline at the end). If we check on the Windows side, the file also appears on the file system.
We now edit the file on the Windows (client) side and change the contents:

If we check the file on the xrdp (server) side, we see that it's metadata remains the same (same size, times, etc.):
$ ls -l test.txt
-rw-r--r--. 1 user user 10 Jan 12 12:12 test.txt
$ stat test.txt
  File: test.txt
  Size: 10        	Blocks: 0          IO Block: 4096   regular file
Device: 30h/48d	Inode: 187         Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/   user)   Gid: ( 1000/    user)
Context: system_u:object_r:fusefs_t:s0
Access: 2018-01-12 12:12:35.000000000 +0000
Modify: 2018-01-12 12:12:35.000000000 +0000
Change: 2018-01-12 12:12:35.000000000 +0000
 Birth: -
$

However, if we look at it's contents, we can see the new data, although truncated to the first 10 bytes due to the incorrect metadata (notice no end of line character):
$ cat test.txt
this is no$

I couldn't find a way to force xrdp to update the file metadata from this point on. Also, if I try to write to the file, I will just get an error and the file will be listed as having 0 bytes:
$ echo "test<PHONE_NUMBER>" > test.txt
bash: echo: write error: Input/output error
$ cat test.txt
$ stat test.txt
  File: test.txt
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 30h/48d	Inode: 187         Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/    user)   Gid: ( 1000/    user)
Context: system_u:object_r:fusefs_t:s0
Access: 2018-01-12 12:12:35.000000000 +0000
Modify: 2018-01-12 12:12:35.000000000 +0000
Change: 2018-01-12 12:12:35.000000000 +0000
 Birth: -
$

Notice the incorrect (0 byte) size, but the same date/times.
I believe this to be caused by the xinode data not being updated if the file is changed on the remote (client) side, after the metadata is obtained the first time.

I believe this one is now fixed with #1327 and later PRs.
Feel free to re-open it if this isn't the case.


Stop the block synchronization after the first finalized block

Description
The Merge spec says that an execution should behave like this after the switch to PoS:

Beginning with receiving the finalized block next to the FIRST_FINALIZED_BLOCK, the networking stack MUST remove the handlers corresponding to the following messages:
NewBlockHashes (0x01)
NewBlock (0x07)
Peers that keep sending these messages after the handlers have been removed SHOULD be disconnected.

currently Besu stop any block synchronization task when the TTD is reached, so it is not following the spec, and doing so is not able to easily recognize if a peer is still on PoW after TTD has been reached, and disconnect those peers.
Acceptance Criteria
Keep processing and sending

NewBlockHashes (0x01)
NewBlock (0x07)
messages until the first finalized block is received from the CL

Versions (Add all that apply)

Software version: besu-22.4.3-SNAPSHOT

PR 3944 has been reverted, re-opening issue.


Refactor and simplify cw721 voting contract.

Removes the manger from contract state.
Refactors the state layout as detailed here: https://github.com/DA0-DA0/dao-contracts/discussions/523
Removes redundant queries.
Refactors testing (100% coverage now).
Adds integration tests to ensure MAX_CLAIMS in in bounds for gas usage.

Codecov Report
Base: 93.95% // Head: 94.82% // Increases project coverage by +0.87% :tada:

Coverage data is based on head (394d942) compared to base (48d9629).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #527      +/-   ##
==========================================
+ Coverage   93.95%   94.82%   +0.87%
==========================================
  Files          37       38       +1
  Lines        3589     3539      -50
==========================================
- Hits         3372     3356      -16
+ Misses        217      183      -34

Impacted Files
Coverage Δ

...tracts/voting/cwd-voting-cw721-staked/src/hooks.rs
100.00% <ø> (ø)

contracts/staking/cw20-stake/src/contract.rs
87.24% <100.00%> (ø)

...cts/voting/cwd-voting-cw721-staked/src/contract.rs
98.13% <100.00%> (+13.94%)
:arrow_up:

...tracts/voting/cwd-voting-cw721-staked/src/state.rs
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Let's leave the MAX_CLAIMS integration test commented out until cosm-orc supports batch tx operations. We can leave a TODO and come back and uncomment it once the runtime is reasonable.

on a first pass this looks really great. I am really enjoying reading your code. also appreciate the detailed write up which helps ratify how to think about contract runtime complexity (avoid > O(1) operations for things which cannot be paginated). In general I think using auxiliary maps to improve runtime complexity is a good way to go. going to return to it tomorrow.


Error Types for Request Closure failures

I'm implementing something similar to the OAuth example, but in my case I'm wrapping a third-party API call as an RxSwift Observable. The success case works just fine, but I'm having a bit of difficulty with error types in the failure case.
let requestClosure = { endpoint, done:RequestResultClosure in
    self.auth(endpoint.urlRequest)
        .subscribe { event in
            switch event {
            case .Error(let error):
                done(.Failure(...))

Since RequestResultClosure expects the failure to be a Moya.Error type, I can't use the error directly. Moya.Error.Underlying seems to be the intended way to handle these situations, but since it expects an NSError there are a few shortcomings with it's use; casting to NSError loses fidelity, and a mapping layer is a bit painful since the underlying error domain is part of the third-party library.
I know there have been discussions and changes in this area in the past, so forgive me if this is rehashing old conversations...
Question 1: Would it make sense to add another case to Moya.Error for wrapping underlying ErrorTypes?, something like:
case UnderlyingErrorType(ErrorType)

Question 2: What about widening the type of RequestResultClosure to allow for a broader range of errors? Perhaps something like:
public typealias RequestResultClosure = Result<NSURLRequest, ErrorType> -> Void

Question 3: Is this a non-issue once we have Swift 3 and SE-0112?

Great question! I wouldn't mind implementing something for our existing Swift 2.x code, but moving to ErrorType on UnderlyingErrorType and RequestResultClosure removes the ability for developers to switch o a specific Moya.Error.
I'm not sure of the best approach here. @Moya/contributors any ideas?

I've also ran into this issue. I've done a auth check in a requestClosure and found myself wanting to throw my own ErrorType. One way around this is to check for conditions that might throw errors beforehand by wrapping the request like is shown here
Although, if you need to add a header to the http request then you can't do everything by wrapping the Request, and still have to alter the headers in the requestClosure.

Just a follow up. I've found an OK work-around this:
In my request closure I am putting my own ErrorType into the underlyingError like so:
let error = Moya.Error.Underlying(ErrorController.LocalError.NoCurrentUser as NSError)
                        done(Result.Failure(error))

Then by wrapping the request I am checking for the existence of the ErrorType, casting it, and throwing it.
func authenticatedRequest(token:AuthenticatedRemoteService) -> Observable<Response> {

        return Observable.create {[unowned self] observer in

            self.authenticatedRemoteService
                .request(token)
                .filterSuccessfulStatusCodes()
                .subscribe(
                    onNext:{ response in
                        observer.onNext(response)
                    },
                    onError: { error in

                        // If the underlying error is one of our own types. Then throw it as an Error Type.
                        if case Moya.Error.Underlying(let error) = error {
                            if (error as ErrorType) is ErrorController.LocalError {
                                observer.onError(error)
                                return
                            }
                        }

                        observer.onError(error)
                    }, onCompleted: {
                        observer.onCompleted()
                    }, onDisposed: nil)
                .addDisposableTo(self.disposeBag)

            return NopDisposable.instance
        }
    }
```

Not ideal but it seems to work.

Thanks for the follow up!

Since there hasn't been any activity on this thread for some time, I am going to go ahead and close it. Please re-open or create a new issue if you would like to discuss further. Thanks.


perf: Align structs to eliminate padding

Description
Updates all the Go structures which are used extensively for in the codebase to eliminate all padding. Adds a fieldalignment Make target, and updates the CI job to lint the code to ensure that all the structs are aligned.
Motivation
I checked the current field alignment for the codebase and there seemed to be a lot of padding, considering how much we use the model structures in the APM Server, I believe this will lead to more efficient memory allocation and potentially a reduction in overall RSS to perform the same amount of work.
$ go run<EMAIL_ADDRESS>-test=false $(go list ./... | grep -v modeldecoder/generator | grep -v test)
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/decoder/limited_reader.go:30:20: struct with 40 pointer bytes could be 32
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/decoder/stream_decoder.go:39:26: struct with 112 pointer bytes could be 72
/Users/marclop/repos/elastic/apm-data/model/apmevent.go:36:15: struct with 1936 pointer bytes could be 1920
/Users/marclop/repos/elastic/apm-data/model/client.go:25:13: struct with 40 pointer bytes could be 32
/Users/marclop/repos/elastic/apm-data/model/cloud.go:22:12: struct with 184 pointer bytes could be 176
/Users/marclop/repos/elastic/apm-data/model/error.go:25:12: struct with 120 pointer bytes could be 112
/Users/marclop/repos/elastic/apm-data/model/event.go:27:12: struct with 56 pointer bytes could be 40
/Users/marclop/repos/elastic/apm-data/model/host.go:24:11: struct with 176 pointer bytes could be 168
/Users/marclop/repos/elastic/apm-data/model/http.go:21:11: struct with 32 pointer bytes could be 24
/Users/marclop/repos/elastic/apm-data/model/http.go:28:18: struct with 88 pointer bytes could be 80
/Users/marclop/repos/elastic/apm-data/model/http.go:42:19: struct with 56 pointer bytes could be 48
/Users/marclop/repos/elastic/apm-data/model/log.go:37:16: struct with 32 pointer bytes could be 24
/Users/marclop/repos/elastic/apm-data/model/metricset.go:41:16: struct with 32 pointer bytes could be 24
/Users/marclop/repos/elastic/apm-data/model/metricset.go:55:22: struct with 88 pointer bytes could be 80
/Users/marclop/repos/elastic/apm-data/model/process.go:20:14: struct with 104 pointer bytes could be 88
/Users/marclop/repos/elastic/apm-data/model/process.go:49:20: struct with 16 pointer bytes could be 8
/Users/marclop/repos/elastic/apm-data/model/service.go:22:14: struct with 176 pointer bytes could be 168
/Users/marclop/repos/elastic/apm-data/model/source.go:25:13: struct with 56 pointer bytes could be 40
/Users/marclop/repos/elastic/apm-data/model/span.go:29:11: struct with 200 pointer bytes could be 168
/Users/marclop/repos/elastic/apm-data/model/span.go:66:9: struct with 88 pointer bytes could be 80
/Users/marclop/repos/elastic/apm-data/model/span.go:86:16: struct with 24 pointer bytes could be 8
/Users/marclop/repos/elastic/apm-data/model/stacktrace.go:22:22: struct of size 288 could be 280
/Users/marclop/repos/elastic/apm-data/model/transaction.go:28:18: struct of size 240 could be 232
/Users/marclop/repos/elastic/apm-data/model/url.go:26:10: struct with 112 pointer bytes could be 104
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/rumv3/model.go:51:14: struct with 560 pointer bytes could be 536
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/rumv3/model.go:98:22: struct with 40 pointer bytes could be 8
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/rumv3/model.go:160:17: struct of size 1080 could be 1072
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/rumv3/model.go:189:21: struct of size 168 could be 160
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/rumv3/model.go:229:26: struct with 40 pointer bytes could be 32
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/rumv3/model.go:313:27: struct with 64 pointer bytes could be 32
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/rumv3/model.go:340:11: struct with 528 pointer bytes could be 456
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/rumv3/model.go:376:18: struct with 304 pointer bytes could be 288
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/rumv3/model.go:390:29: struct with 96 pointer bytes could be 80
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/rumv3/model.go:418:22: struct with 96 pointer bytes could be 32
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/rumv3/model.go:447:22: struct with 208 pointer bytes could be 176
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/rumv3/model.go:472:18: struct with 896 pointer bytes could be 808
/Users/marclop/repos/elastic/apm-data/input/otlp/consumer.go:41:15: struct with 32 pointer bytes could be 24
/Users/marclop/repos/elastic/apm-data/input/otlp/metrics.go:86:24: struct with 128 pointer bytes could be 112
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/v2/model.go:67:14: struct with 1232 pointer bytes could be 1200
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/v2/model.go:102:11: struct with 136 pointer bytes could be 128
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/v2/model.go:154:21: struct with 88 pointer bytes could be 72
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/v2/model.go:236:27: struct with 16 pointer bytes could be 8
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/v2/model.go:246:22: struct of size 96 could be 88
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/v2/model.go:263:21: struct with 448 pointer bytes could be 440
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/v2/model.go:293:27: struct of size 56 could be 48
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/v2/model.go:347:17: struct of size 1752 could be 1744
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/v2/model.go:376:21: struct of size 168 could be 160
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/v2/model.go:416:26: struct with 40 pointer bytes could be 32
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/v2/model.go:501:22: struct with 64 pointer bytes could be 32
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/v2/model.go:651:27: struct of size 120 could be 112
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/v2/model.go:711:11: struct of size 1464 could be 1456
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/v2/model.go:766:18: struct with 992 pointer bytes could be 976
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/v2/model.go:786:26: struct with 120 pointer bytes could be 104
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/v2/model.go:801:29: struct with 96 pointer bytes could be 80
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/v2/model.go:829:22: struct with 152 pointer bytes could be 112
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/v2/model.go:849:30: struct with 40 pointer bytes could be 8
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/v2/model.go:862:22: struct of size 248 could be 240
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/v2/model.go:892:20: struct with 40 pointer bytes could be 8
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/v2/model.go:904:18: struct with 1880 pointer bytes could be 1696
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/v2/model.go:1027:22: struct with 104 pointer bytes could be 88
/Users/marclop/repos/elastic/apm-data/input/elasticapm/internal/modeldecoder/v2/model.go:1060:11: struct with 32 pointer bytes could be 16
/Users/marclop/repos/elastic/apm-data/input/elasticapm/processor.go:73:13: struct with 24 pointer bytes could be 16
/Users/marclop/repos/elastic/apm-data/input/elasticapm/result.go:24:13: struct with 128 pointer bytes could be 88
/Users/marclop/repos/elastic/apm-data/input/elasticapm/result.go:60:24: struct with 32 pointer bytes could be 24
exit status 3

For reviewers:

19c2ec5 has all the realignment.
a84234d contains the generator fix in parser.go and the regenerated specs and files after the re-alignment.


Update README.md

Do we need pull requests for these kinds of changes?

@francisdb @chrissd23 nah I don't think so, changes which clearly aren't changing business logics or are just plain simple won't require a PR IMHO


Can not use cmake debug build with libuavcan

I'm using libuavcan as a cmake module by including libuavcan/CMakeLists.txt and I can not build my project in debug without triggering libuavcan to be built in debug as well. This is because libuavcan sets DEBUG_BUILD based on cmake build type in here https://github.com/UAVCAN/libuavcan/blob/master/libuavcan/CMakeLists.txt#L16. Can we get an option to set DEBUG_BUILD manually?
This wouldn't be much of a problem on its own, however, debug build fails without UAVCAN_TOSTRING:
[build] In file included from C:/Users/User/Documents/Dev/ChibiOSTests/AUXModule_cmake/deps/libuavcan/libuavcan/include/uavcan/transport/dispatcher.hpp:14,
[build]                  from C:/Users/User/Documents/Dev/ChibiOSTests/AUXModule_cmake/deps/libuavcan/libuavcan/include/uavcan/node/scheduler.hpp:10,
[build]                  from C:/Users/User/Documents/Dev/ChibiOSTests/AUXModule_cmake/deps/libuavcan/libuavcan/include/uavcan/node/abstract_node.hpp:10,
[build]                  from C:/Users/User/Documents/Dev/ChibiOSTests/AUXModule_cmake/deps/libuavcan/libuavcan/include/uavcan/node/generic_publisher.hpp:9,
[build]                  from C:/Users/User/Documents/Dev/ChibiOSTests/AUXModule_cmake/deps/libuavcan/libuavcan/src/node/uc_generic_publisher.cpp:5:
[build] C:/Users/User/Documents/Dev/ChibiOSTests/AUXModule_cmake/deps/libuavcan/libuavcan/include/uavcan/transport/outgoing_transfer_registry.hpp: In member function 'bool uavcan::OutgoingTransferRegistry::DeadlineExpiredPredicate::operator()(const uavcan::OutgoingTransferRegistryKey&, const uavcan::OutgoingTransferRegistry::Value&) const':
[build] C:/Users/User/Documents/Dev/ChibiOSTests/AUXModule_cmake/deps/libuavcan/libuavcan/include/uavcan/transport/outgoing_transfer_registry.hpp:89:34: error: 'const class uavcan::OutgoingTransferRegistryKey' has no member named 'toString'
[build]                               key.toString().c_str(), int(value.tid.get()));
[build]                                   ^~~~~~~~
[build] In file included from C:/Users/User/Documents/Dev/ChibiOSTests/AUXModule_cmake/deps/libuavcan/libuavcan/include/uavcan/transport/dispatcher.hpp:14,
[build]                  from C:/Users/User/Documents/Dev/ChibiOSTests/AUXModule_cmake/deps/libuavcan/libuavcan/include/uavcan/node/scheduler.hpp:10,
[build]                  from C:/Users/User/Documents/Dev/ChibiOSTests/AUXModule_cmake/deps/libuavcan/libuavcan/include/uavcan/node/abstract_node.hpp:10,
[build]                  from C:/Users/User/Documents/Dev/ChibiOSTests/AUXModule_cmake/deps/libuavcan/libuavcan/include/uavcan/node/generic_subscriber.hpp:9,
[build]                  from C:/Users/User/Documents/Dev/ChibiOSTests/AUXModule_cmake/deps/libuavcan/libuavcan/src/node/uc_generic_subscriber.cpp:5:
[build] C:/Users/User/Documents/Dev/ChibiOSTests/AUXModule_cmake/deps/libuavcan/libuavcan/include/uavcan/transport/outgoing_transfer_registry.hpp: In member function 'bool uavcan::OutgoingTransferRegistry::DeadlineExpiredPredicate::operator()(const uavcan::OutgoingTransferRegistryKey&, const uavcan::OutgoingTransferRegistry::Value&) const':
[build] C:/Users/User/Documents/Dev/ChibiOSTests/AUXModule_cmake/deps/libuavcan/libuavcan/include/uavcan/transport/outgoing_transfer_registry.hpp:89:34: error: 'const class uavcan::OutgoingTransferRegistryKey' has no member named 'toString'
[build]                               key.toString().c_str(), int(value.tid.get()));
[build]                                   ^~~~~~~~

And also another build error caused by a sign conversion warning, which does not happen in release build as warnings are not treated as errors:
[build] In file included from C:/Users/User/Documents/Dev/ChibiOSTests/AUXModule_cmake/deps/libuavcan/libuavcan/include/uavcan/error.hpp:8,
[build]                  from C:/Users/User/Documents/Dev/ChibiOSTests/AUXModule_cmake/deps/libuavcan/libuavcan/include/uavcan/node/generic_publisher.hpp:8,
[build]                  from C:/Users/User/Documents/Dev/ChibiOSTests/AUXModule_cmake/deps/libuavcan/libuavcan/src/node/uc_generic_publisher.cpp:5:
[build] C:/Users/User/Documents/Dev/ChibiOSTests/AUXModule_cmake/deps/libuavcan/libuavcan/include/uavcan/build_config.hpp: In static member function 'static void uavcan::IsDynamicallyAllocatable<T>::check()':
[build] C:/Users/User/Documents/Dev/ChibiOSTests/AUXModule_cmake/deps/libuavcan/libuavcan/include/uavcan/build_config.hpp:246:60: error: unsigned conversion from 'int' to 'unsigned int' changes the value of '-1' [-Werror=sign-conversion]
[build]          char dummy[(sizeof(T) <= MemPoolBlockSize) ? 1 : -1] = { '0' };
[build]                                                             ^
[build] In file included from C:/Users/User/Documents/Dev/ChibiOSTests/AUXModule_cmake/deps/libuavcan/libuavcan/include/uavcan/error.hpp:8,
[build]                  from C:/Users/User/Documents/Dev/ChibiOSTests/AUXModule_cmake/deps/libuavcan/libuavcan/include/uavcan/node/generic_subscriber.hpp:8,
[build]                  from C:/Users/User/Documents/Dev/ChibiOSTests/AUXModule_cmake/deps/libuavcan/libuavcan/src/node/uc_generic_subscriber.cpp:5:
[build] C:/Users/User/Documents/Dev/ChibiOSTests/AUXModule_cmake/deps/libuavcan/libuavcan/include/uavcan/build_config.hpp: In static member function 'static void uavcan::IsDynamicallyAllocatable<T>::check()':
[build] C:/Users/User/Documents/Dev/ChibiOSTests/AUXModule_cmake/deps/libuavcan/libuavcan/include/uavcan/build_config.hpp:246:60: error: unsigned conversion from 'int' to 'unsigned int' changes the value of '-1' [-Werror=sign-conversion]
[build]          char dummy[(sizeof(T) <= MemPoolBlockSize) ? 1 : -1] = { '0' };

Anyway, thank you for this great project!

Sorry for the late response here. I've been busy with the v1 branch.
I'd rather make sure your debug build is working. If you want to build debug you should be able to. I'm able to build using the official Vagrant image that uses gcc5 (yeah, I know. That's pretty ancient). What compiler are you trying to use?

I'd rather make sure your debug build is working. If you want to build debug you should be able to.

Not on embedded systems. A debug build of libuavcan v1 requires stuff which is unlikely to be available on an embedded system, such as std::string. This is a very questionable design and it would be great to avoid such huge build setting variability in the blue sky (no pressure though).

If someone still has this issue and is including uavcan via subdirectory, you can do something like this
set(PreviousBuildType "${CMAKE_BUILD_TYPE}")
set(CMAKE_BUILD_TYPE  "Release")
add_subdirectory(bus-node-base/libuavcan/libuavcan)
set(CMAKE_BUILD_TYPE  "${PreviousBuildType}")

Let me compile my project in release and debug without the compile errors


workflows: fix description of backoff coefficient

Thank you for helping make the Dapr documentation better!
Please follow this checklist before submitting:

[ ] Commits are signed with Developer Certificate of Origin (DCO - learn more)
[ ] Read the contribution guide
[ ] Commands include options for Linux, MacOS, and Windows within codetabs
[ ] New file and folder names are globally unique
[ ] Page references use shortcodes instead of markdown or URL links
[ ] Images use HTML style and have alternative text
[ ] Places where multiple code/command options are given have codetabs

In addition, please fill out the following to help reviewers understand this pull request:
Description

As discussed here https://discord.com/channels/778680217417809931/1075836407156850698/1296890277033939045
the definition of the backoff coefficient for workflow retries does not adhere to the actual implementation.
Issue reference

@holopin-bot @famarting Thanks Fabian!


http_port is not working

Ordhook.toml
[storage]
working_dir = "/data/ordinals/data/ordhook"

# The Http Api allows you to register / deregister
# dynamically predicates.
# Disable by default.
#
[http_api]
http_port = 20456

[network]
mode = "mainnet"
bitcoind_rpc_url = "http://xx.xx.xx.xx:28333"
bitcoind_rpc_username = ""
bitcoind_rpc_password = ""
# Bitcoin block events can be received by Chainhook
# either through a Bitcoin node's ZeroMQ interface,
# or through the Stacks node. Zmq is being
# used by default:
bitcoind_zmq_url = "tcp://xx.xx.xx.xx:29000"
# but stacks can also be used:
# stacks_node_rpc_url = "http://<IP_ADDRESS>:20443"

[resources]
ulimit = 2048
cpu_core_available = 16
memory_available = 32
bitcoind_rpc_threads = 4
bitcoind_rpc_timeout = 15
expected_observers_count = 1

# Disable the following section if the state
# must be built locally
# [snapshot]
# download_url = "https://archive.hiro.so/mainnet/ordhook/mainnet-ordhook-sqlite-latest"

[logs]
ordinals_internals = true
chainhook_internals = true

Ordhook Run Command
ordhook service start --config-path=./Ordhook.toml

ordinals-api .env
RUN_MODE=default
/** Hostname of the API server */
API_HOST=<IP_ADDRESS>
/** Port in which to serve the API */
API_PORT=8085
/** Port in which to serve the Admin RPC interface */
ADMIN_RPC_PORT=8086
/** Port in which to receive ordhook events */
EVENT_PORT=8087
/** Event server body limit (bytes) */
EVENT_SERVER_BODY_LIMIT=10000000
/** Hostname that will be reported to the ordhook node so it can call us back with events */
EXTERNAL_HOSTNAME=

/** Hostname of the ordhook node we will use to register predicates */
ORDHOOK_NODE_RPC_HOST=<IP_ADDRESS>
/** Control port of the ordhook node */
ORDHOOK_NODE_RPC_PORT=20456
/**
* Authorization token that the ordhook node must send with every event to make sure it is
* coming from the valid instance
*/
ORDHOOK_NODE_AUTH_TOKEN=
/**
* Register ordhook predicates automatically when the API is first launched. Set this to `false`
* if you are configuring your predicates manually for any reason.
*/
ORDHOOK_AUTO_PREDICATE_REGISTRATION=true
/**
* Ordhook ingestion mode. Controls the APIs Ordhook payload ingestion behavior:
* * `default`: The API will stay running and will listen for payloads indefinitely
* * `replay`: The API will stay running and listening only for payloads marked as "not streaming"
*   by Ordhook (historical replays). Once Ordhook starts streaming recent blocks from its chain
*   tip, the API will shut down. Recommended for deployments meant to sync the ordinals chain
*   from genesis.
*/
ORDHOOK_INGESTION_MODE=default

PGHOST=<IP_ADDRESS>
PGPORT=5433
PGUSER=postgres
PGPASSWORD=
PGDATABASE=
/** Limit to how many concurrent connections can be created */
PG_CONNECTION_POOL_MAX=10
PG_IDLE_TIMEOUT=10
PG_MAX_LIFETIME=10
PG_STATEMENT_TIMEOUT=10

When executing ordinals-api, below errors occurred
{"level":"error","time":"2024-06-24T06:11:09.667Z","pid":3567685,"hostname":"server-03","name":"chainhook-client","err":{"type":"Error","message":"connect ECONNREFUSED <IP_ADDRESS>:20456","stack":"Error: connect ECONNREFUSED <IP_ADDRESS>:20456\n    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1195:16)","errno":-111,"code":"ECONNREFUSED","syscall":"connect","address":"<IP_ADDRESS>","port":20456},"msg":"Chainhook node not available, retrying..."}

Are there wrong setting values?

Hi @4ker-dep

Is the local chain state ready?

If local chain means bitcoin node, yes! my bitcoin node state is already ready.

Are you still fetching data from your bitcoin node?

Ordhook is fully synched with bitcoin node.
But, ordhook shows below warning message

Jun 25 02:07:15.546 WARN unable to prepare query
        SELECT inscription_id, inscription_number, ordinal_number, block_height, tx_index, tick, address, avail_balance, trans_balance, operation
        FROM ledger
        WHERE ordinal_number = ? AND operation = 'transfer'
            AND NOT EXISTS (
                SELECT 1 FROM ledger WHERE ordinal_number = ? AND operation = 'transfer_send'
            )
        LIMIT 1
    : no such table: ledger

Did your ordinals api get registered as one of the ordhook observers?

{"level":"error","time":"2024-06-24T06:11:09.667Z","pid":3567685,"hostname":"server-03","name":"chainhook-client","err":{"type":"Error","message":"connect ECONNREFUSED <IP_ADDRESS>:20456","stack":"Error: connect ECONNREFUSED <IP_ADDRESS>:20456\n    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1195:16)","errno":-111,"code":"ECONNREFUSED","syscall":"connect","address":"<IP_ADDRESS>","port":20456},"msg":"Chainhook node not available, retrying..."

Maybe this error is occurred when ordinals-api call api for registering observer.

And it appears that ordhook is not running the rest api server.
telnet <IP_ADDRESS> 20456
Trying <IP_ADDRESS>...
telnet: Unable to connect to remote host: Connection refused

Thank you!

hi @jeff-upbit apologies for the late reply... what @4ker-dep mentions is correct: ordhook does not open the HTTP server for predicate registration until it's caught up with bitcoind.
However, the no such table: ledger error might be an underlying issue that still needs fixing. I will look into this

Possible duplicate of #324


Sitemap priority slider

We currently have an numeric input field for the priority for the sitemap. However, it would be nice if we make this a slider

PR created that adds the slider. I've added a comment in the PR about 0 values