Add choice of Two-Level Segregated Fit and Linked List First Fit

This adds a feature choice of 'tlsf' or 'llff' to choose the global heap allocator implementation provided either by the current linked_list_allocator or rlsf.
This allows a user the crate to directly compare the two implementations by flipping the feature flag as long as the linked list free and used interface are not used.

I did some tests on a nRF52840 dev kit. The linked list first fit was better most of the time, but there were some cases where TLSF was better. Most of the time linked list allocator was better in this simple scenario.
TLSF and Linked List were very similar overall, and TSLF was only better when allocating nearly all the memory. They both OOM'd with repeat(7) on the 175KiB heap.
TSLF
7.864685 INFO  Allocations: Avg 5429 Min 5401 Max 5798)
└─ allocator::____embassy_main_task::{async_fn#0} @ src/bin/allocator.rs:734
7.864776 INFO  Frees: Avg 2415 Min 2380 Max 2593)
└─ allocator::____embassy_main_task::{async_fn#0} @ src/bin/allocator.rs:740
8.650054 INFO  Allocations: Avg 5427 Min 5401 Max 5798)
└─ allocator::____embassy_main_task::{async_fn#0} @ src/bin/allocator.rs:734
8.650146 INFO  Frees: Avg 2420 Min 2380 Max 2593)
└─ allocator::____embassy_main_task::{async_fn#0} @ src/bin/allocator.rs:740

LLFF
56.462280 INFO  Allocations: Avg 5621 Min 5584 Max 6011)
└─ allocator::____embassy_main_task::{async_fn#0} @ src/bin/allocator.rs:734
56.462371 INFO  Frees: Avg 2920 Min 2868 Max 3234)
└─ allocator::____embassy_main_task::{async_fn#0} @ src/bin/allocator.rs:740
57.317413 INFO  Allocations: Avg 5624 Min 5584 Max 6011)
└─ allocator::____embassy_main_task::{async_fn#0} @ src/bin/allocator.rs:734
57.317535 INFO  Frees: Avg 2920 Min 2868 Max 3143)
└─ allocator::____embassy_main_task::{async_fn#0} @ src/bin/allocator.rs:740

    let fake_random_numbers: [u8; 100] = [
        42, 17, 88, 33, 125, 5, 60, 72, 200, 94, 11, 77, 8, 39, 2, 50, 21, 99, 3, 150, 64, 19, 55, 7, 31, 240, 59, 12,
        101, 78, 23, 44, 61, 9, 37, 255, 70, 28, 6, 121, 14, 85, 16, 68, 1, 91, 45, 35, 22, 109, 27, 47, 73, 4, 29,
        200, 51, 13, 102, 8, 54, 36, 66, 10, 20, 76, 200, 90, 25, 69, 56, 30, 87, 18, 80, 49, 132, 63, 74, 24, 37, 57,
        98, 15, 89, 53, 32, 123, 67, 38, 58, 82, 111, 58, 48, 122, 81, 26, 43, 34,
    ];
    let mut allocated = VecDeque::new();
    let mut alloc_durations = Vec::new();
    let mut free_durations = Vec::new();
    loop {
        // Allocate randomly roughly between 4 and 1024 bytes
        for _ in 0..100 {
            let instant = Instant::now();
            for x in fake_random_numbers.repeat(6) {
                allocated.push_back(VecDeque::from(vec![x; x as usize * 4]));
            }
            alloc_durations.push(instant.elapsed().as_micros() as u32);
            let instant = Instant::now();
            allocated.drain(..allocated.len() - 10);
            free_durations.push(instant.elapsed().as_micros() as u32);
        }

        // Report stats
        info!("Allocations: Avg {:?} Min {:?} Max {:?})",
            alloc_durations.iter().sum::<u32>() / alloc_durations.len() as u32,
            alloc_durations.iter().min().unwrap(),
            alloc_durations.iter().max().unwrap(),
        );
        alloc_durations.clear();
        info!("Frees: Avg {:?} Min {:?} Max {:?})",
            free_durations.iter().sum::<u32>() / free_durations.len() as u32,
            free_durations.iter().min().unwrap(),
            free_durations.iter().max().unwrap(),
        );
        free_durations.clear();
    }

Fixes #36

I think the choice of algorithm behind the global heap is a mutually exclusive decision. With all the changes since I opened this PR, the use of the crate may be changing.
The implementation of the Heap struct could be separated to allow multiple heap types within the same crate. Which one implementation would be the global Heap would be ambiguous.

All the conflicts are resolved again

In deployment, I have found TSLF to be superior in latency and power consumption on the nRF52840 on all workloads.(wearable sensing + BLE platforms). Broadly, I see ~2-3% improvements, especially evident after days of runtime.


Updated to support .NetStandard 2.0 and Cake.Core 0.26

Dear contributor team,
Can someone please review my pull request. My another pull request for Cake.ProtobufTools depends on this.
fixes #17

@vkbishnoi thank you for this PR, this is now available in version 0.4.0 of Cake.Codecov which was just now pushed to nuget.org


stable crash(may be msrc is on holliday best wish)

Windows Build Number
Microsoft Windows [版本 10.0.20339.2]
WSL Version

[ ] WSL 2
[X] WSL 1

Kernel Version
Linux version 4.4.0-20339-Microsoft<EMAIL_ADDRESS>(gcc version 5.4.0 (GCC) ) #2-Microsoft Sat Apr 17 11:00:00 PST 2021
Distro Version
Ubuntu-18.04
Other Software
not important
Repro Steps
when compile v8 use windows subsystem (ubuntu 18)
it will stable reproduce a system crash like that:
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
cd depot_tools
export PATH=/home/!!!!!!!!!!!!!!YourUserName!!!!!!!!!!!!!!/depot_tools:$PATH
./update_depot_tools
fetch --nohooks v8
cd v8
./build/install-build-deps.sh
gclient runhooks -v
then crash !!
stable crash
Expected Behavior
no crash
Actual Behavior
crash
Diagnostic Logs
No response

system is server2022 datacenter with desktop
as following:

Any sneak peak into the money dump?

Any sneak peak into the memory dump?

certainly OK / and leave email is OK

@avboy1337  could you please attach the MEMORY.DMP file located in your Windows folder to a feedback hub issue? (Likely it will be in C:\Windows)
The instructions on how to attach logs can be found in the next comment, just make sure to click 'attach' and then attach the file after putting it into a .zip please.
/logs

@avboy1337 could you please attach the MEMORY.DMP file located in your Windows folder to a feedback hub issue? (Likely it will be in C:\Windows)
The instructions on how to attach logs can be found in the next comment, just make sure to click 'attach' and then attach the file after putting it into a .zip please.
/logs

https://drive.google.com/file/d/1GixcgfVEO79HpRv6Szyxhpp43yaFPIne/view?usp=sharing

@avboy1337 could you please attach the MEMORY.DMP file located in your Windows folder to a feedback hub issue? (Likely it will be in C:\Windows)
The instructions on how to attach logs can be found in the next comment, just make sure to click 'attach' and then attach the file after putting it into a .zip please.
/logs

https://drive.google.com/file/d/1GixcgfVEO79HpRv6Szyxhpp43yaFPIne/view?usp=sharing

https://drive.google.com/file/d/1GixcgfVEO79HpRv6Szyxhpp43yaFPIne/view?usp=sharing

the full details to replay crash is to compile v8 in wsl.
full command is as following
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
cd depot_tools
export PATH=/home/!!!!!!!!!!!!!!YourUserName!!!!!!!!!!!!!!/depot_tools:$PATH
./update_depot_tools
fetch --nohooks v8
cd v8
./build/install-build-deps.sh
gclient runhooks -v
may be it is a long time to replay this bluescreen for Chinese , because of speed to google server that not easy to .... .
i think its not a problem for you .

Folks have been compiling chromium on WSL1 for a long time. It might be OOM related, or it might be general flakiness unrelated to WSL. For a big compile job like that, you'll have a better experience on WSL2 (setting aside the blue screen).

Folks have been compiling chromium on WSL1 for a long time. It might be OOM related, or it might be general flakiness unrelated to WSL. For a big compile job like that, you'll have a better experience on WSL2 (setting aside the blue screen).

confused for native linux compiling job , just eat 4G mem is enouth.
and WSL1 runing on native Windows (not in vm ) with 64GB mem is also going to bsod.

and WSL1 runing on native Windows (not in vm ) with 64GB mem is also going to bsod.

Interestingly enough, your repro steps took down my machine as well. No bsod, just a hard reboot. Which is novel, and a regress.
 The work-around remains using WSL2.

and WSL1 runing on native Windows (not in vm ) with 64GB mem is also going to bsod.

Interestingly enough, your repro steps (on WSL1) took down my machine as well. No bsod, just a hard reboot. Which is novel, and a regress.
 The work-around remains using WSL2.

any how , big 3ks for your attention !!
bro You are very professional !!
and close it as your plesure.

the newest server 20344 is also bluescreen =reboot , and can not add wsl2 in it.
when compiling v8 using wsl1.

the newest server 20344 is also bluescreen =reboot

Right, I should have stated my ver. My hard reset (without bluescreen) with your reproduction steps was on 21364. It is a good catch, thank-you.
There are instructions for installing WSL2 on Windows Server here. If it fails go ahead and open a new submission for that.

the newest server 20344 is also bluescreen =reboot

Right, I should have stated my ver. My hard reset (without bluescreen) with your reproduction steps was on 21364. It is a good catch, thank-you.
There are instructions for installing WSL2 on Windows Server here. If it fails go ahead and open a new submission for that.

bro you are so quick!
and sadly to show yout that it is really blocked for WSL2. before yesterday i had make a full test that wsl2 is not ok on server 20344.

This was closed (won't look a gift horse in the mouth) but as a data point, I got the hard reboot on WSL1 installing VS Code. It is something networking related.


Move Fluent/Default themes out of main package

What does the pull request do?
Theme and default theme aren't part of "Avalonia" package anymore.
Breaking changes
Yes! Developers will need to attach the theme what they actually use in their application.
Templates should be updated to include Fluent by default, so for new there won't be any confusion.
Fixed issues
Fixes https://github.com/AvaloniaUI/Avalonia/issues/5593

You can test this PR using the following package version. 0.10.999-cibuild0020415-beta. (feed url: https://nuget.avaloniaui.net/repository/avalonia-all/index.json) [PRBUILDID]

You can test this PR using the following package version. 0.10.999-cibuild0020418-beta. (feed url: https://nuget.avaloniaui.net/repository/avalonia-all/index.json) [PRBUILDID]


Update sbt-js-engine to 1.3.1

About this PR
📦 Updates com.typesafe.sbt:sbt-js-engine from 1.2.3 to 1.3.1
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.typesafe.sbt", artifactId = "sbt-js-engine" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.typesafe.sbt", artifactId = "sbt-js-engine" }
}]

labels: sbt-plugin-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #78.


No 'AddResultFile' implementation in TestContext on .NET Core 2.0 test project

Description
Using .Net Core 2.0 MSTest V2 project - I don't have access to some TestContext methods that are present on .Net Framework project.
Steps to reproduce
Create a .Net Core 2.0 MSTest project. Add TestContext property to a Unit Test class. Try to add a file to a TestContext using TestContext.AddResultFile() method
Expected behavior
There should be such method in TestContext class
Actual behavior
There is no such method in TestContext class
Environment
MSTest V2  1.2.0
.Net Core 2.0

Ok, I'll try to do this next week, thank you. :)

@parrainc let me know if you need any help with the PR once you get started on it.

thanks @ShreyasRmsft
I'm already working on it, will let you know if i get lost with the PR. :)

Hi @ShreyasRmsft
I already implemented the AddResultFile method and GetResultFiles as well, created a couple of unit tests for both methods and pushed the commits to my repo.
But, the implementation for AddResultFile is not the same as in the full CLR implementation you provided, given that apparently the netstandard version used in the Shared project is lower than 1.3 (which not contains Path.GetFullPath() method used to get the absolute path of the file name).
Please, kindly ask you to review [the implementation I've done in my repo] and suggests if there's a way to implement what Path.GetFullPath() method does in a netstandard version lower than 1.3.
I'm just missing that in order to make the PR for this issue :)
Thanks in advanced!!

How would one add a result file to the test results while waiting for this feature?

@pvlakshm @PBoraMSFT to answer when this will be picked up from our side.

Are there any workarounds or timeline for when this will be merged in?

Why can't the caller be responsible for providing the full path?

@drewsac

Are there any workarounds or timeline for when this will be merged in?

In order to implement this (merge it into master branch), PR #411 must be merged. We're still working on that one, which has a pretty good progress but there are a few things (mostly validations) that need to be done.

Why can't the caller be responsible for providing the full path?

My understanding, the caller of .AddTestResultFile() should be able to specify both the full path or a relative path, not just the full path. That way things are easier for them, and if have a file in the bin/Test Result folders doesn't need to specify the full path, just the filename.
In any case, if the responsibility of providing the absolute path is shift to the caller, then the code in my repo must work as it, instead of depending of .GetFullPath() method.
Sorry I can't provide you with a specific date on when this will be picked up. Let's wait until PR #411 got merged, and as soon as that happens I'll make sure to open the PR for this important change.

Any progress on this?  It is a couple of months later and this is still an issue.

@chrimc62 : Thank you for your patience. We have it planned for this quarter. Refer (https://github.com/Microsoft/testfx-docs/blob/master/Quarterly Checkins/QC-2019-Q1.md)

@parrainc : We have added NetCoreTestContextImplementation seperately and NetCore Platform Service targets netstandard 1.5, so implementing this should be pretty straightforward now.
We would love to have a contribution for this. Let me know if you need any help on this.

Wonderful news, I haven't noticed that change until now. I'm pulling master into my branch and fixing this one. Thanks for the heads up @jayaranigarg

Fixed as part of #609

@bgoggan : Yes. It will be available. We haven't released the nuget packages with these changes yet. I can share early bits if you would want to try them out.

Ok, that's no problem. Do you happen to have any timeline on when the nuget packages will be available? We're still working on upgrading all our test projects to core so it's not an immediate rush for me to implement.

@bgoggan: We don't have a release planned as of now. We will definitely release one at the end of the quarter, checkout our roadmap. Early releases happens depending on need basis.

Ok, sounds good. Thanks for the information. I may contact you again to take you up on your offer of sharing the early pieces if that's still ok with you. I'll just see how things progress on my end with everything else.

Good morning @jayaranigarg: If possible, I'd like to take you up on your offer of sharing the early bits of the AddResultsFile changes to see if it's something I can temporarily handle until the official release. Just let me know. Thanks.

@bgoggan : You can use our latest bits from here:
https://dotnet.myget.org/F/mstestv2/api/v3/index.json
In particular, you should update your adapter and framework nuget package to these versions:
https://dotnet.myget.org/feed/mstestv2/package/nuget/MSTest.TestAdapter/2.0.0-build-20190430-01
https://dotnet.myget.org/feed/mstestv2/package/nuget/MSTest.TestFramework/2.0.0-build-20190430-01

@jayaranigarg: thank you. I'll give that a shot.

Locking the thread as the issue is resolved from our end. Please feel free to create new issue if you need any help.


Unable to build, get error mismatch: inferred type is Any? but String! was expected

Bug Report
src-cordova\platforms\android\app\src\main\java\com\adobe\phonegap\push\FCMService.kt: (339, 44): Type mismatch: inferred type is Any? but String! was expected
src-cordova\platforms\android\app\src\main\java\com\adobe\phonegap\push\FCMService.kt: (340, 40): Type mismatch: inferred type is Any? but String was expected
Expected Behaviour
Failed to build the app
Actual Behaviour

Task :app:compileDebugKotlin FAILED

Android SDK 33

Closed
i fix it by adding this on line 336, FCMService.kt
var jsonKey = jsonKeys.next() as String


Catch errors sending via Notify and warn users they may occur

https://trello.com/c/9Xfhhj2B/2222-investigation-fix-notificationsclientbadrequesterror-error-timebox-2-days

It's shaping up nicely, Ben 👍  Not sure where my original comment went, it seems to have disappeared, but the point still stands - could you squash up the commit history a little?
Looks to me like you can combine commits 1 and 4, and also combine commits 2, 3, 5, 6 and 7 (so there should be two commits in total). These would each represent the self-contained, logical code changes that have been made.

It's shaping up nicely, Ben 👍 Not sure where my original comment went, it seems to have disappeared, but the point still stands - could you squash up the commit history a little?

Ah yeah, I'd intended to do that last to make reviewing the additions easier and then almost forgot.


Instances of a mesh lose vertex weights

Describe the bug
When exporting a mesh with an armature, two things happen:

A new mesh is created, breaking the instance-ness of the meshes
The new mesh and all instances of that mesh don't have weights

To Reproduce
Steps to reproduce the behavior:

Add an armature to the default cube, set as parent with weights
Alt+D the cube 3 times
Export .glb
Import .glb to observe what we got

Expected behavior
All 3 cubes have vertex weights.  Also, if possible, the other 2 cubes are instances of the one with the armature. Right we get 1 cube with armature, 1 cube, and 1 cube as an instance.
.blend file/ .gltf
test armature copy scene.zip
Version

OS: Ubuntu
Blender Version 3.1.2

Additional context
Possibly related to https://github.com/KhronosGroup/glTF-Blender-IO/issues/1188

Vertex Weights are kept only if there are used for skinning.
As the 2 instances don't have armature modifier, there are not skinned, so weights are not kept.
Object that are skinned are not instanced, even if object mesh data are instanced, because skinned mesh are expressed in armature space, so 2 instances can have different vertex data because of that.
Why do you need these data? What is your use case?

@julienduroure basically I have a bunch of trees and plants with armatures, and I place them all over my game map in Blender as instances so I can get a good feel for how the map will look in my game.  Origionally I was duplicating the armature as well, but that was ballooning the file size.  I am able to assign the armature in my game to all the instances, but without the weights they won't animate.

Any update here? I would really love to be able to do this.


App in section 10.2 never showing "My first app. The button has not been clicked yet."

The first app in section 10.2 is not showing "My first app. The button has not been clicked yet." but shows
"My first app with a button that I have clicked None times."
I believe this is due because the n_clicks is by default None at first and the app only includes a check on n_clicks == 0.
I think a similar thing is happening with the next app.
Probably all buttons in 10.2 should be instantiated with n_clicks = 0.

Good catch, @gabri-al . I just updated the code. It works now.


Command Search Bar is too discreet

THe search bar looks fine, though when not focused, and with text in it it is difficult to differentiate from normal text.
While the current user il likely to know that there is a search field, for the casual observer (which is following a tutorial) it might be hard to understand this is a search field.

I got caught myself into it where for a few seconds I was "Where the fabulous search field is gone" and lost my train of thought.
So now because I don't know what I was doing I open this issue.

Hmmm, that isn't what the search field looks like in master. Can you pull and rebuild?

Opps, nevermind, master got changed while I was away over the weekend. I will work on this one...

I had worked on removing the blue background for the search box. I could help with improving the Style for the search box. What do you have in mind?

Fixed in master.


Save option is disabled in the fusion UI when there is an error saving

The save option is disabled in the resource creation form when there is an error saving.  Thus, if you fix the error, you still cannot save the resource without closing the form and opening it again.  Some manifestations of this ticket were fixed previously in #167.  This ticket is to fix the problem for file errors (unsupported file types or no file).  Thanks to @protodonuts for the original bug report.

In Fusion, open "Asset Manager", click "New Imagery Resource", add some invalid file(s) (e.g. unsupported file, or Tiff file without SRS, or no file at all) to the "Source File(s)" list.
Select File menu -> Save. Specify a resource name, then click "Save".

After an error message shows up as expected, there are problems:

"Save" in File menu is disabled.
"Save As..." looks OK, but any attempt to correct the "Source File(s)" list would be futile. The resource cannot be saved because the same error is raised again.

To proceed, I have to close the window and open a new one.
(Built on Ubuntu 14)

Followon Bug identified: If saving with a "bad" file (such as "download_tutorial.sh"), this will only cause an error dialog to appear if it is the first file in the list.

Additional Bug identified (and fixed): Canceling out of a Save would then disable the option to save.

TODO: Insert link to PR.
Testing process:

Open Asset Manager
Create a New Imagery Resource
"Add" -> Choose "All Files" -> "../download_tutorial.sh"
"Save" -> "Cancel".
Verify that the "Save" menu option is not disabled.
"Save" -> Choose a name.
Verify: Unable to Save.
Verify: Save/Save As are disabled.
Verify: Ctrl+S does not trigger a save.
Add Blue Marble.
Verify: Save option is re-enabled.
Verify: Save still fails.
Verify: Save option is disabled.
Remove "download_tutorial.sh".
Verify: Save option re-enabled.
Verify: Save completes successfully.
Close the Window.
Verify: You can re-open the saved image, and it has the proper settings.


Send docArchives in doc report

Tested here: https://us-east-2.console.aws.amazon.com/cloudwatch/home?region=us-east-2#logsV2:log-groups/log-group/$252Faws$252Flambda$252FDocUploaderLambda-Test-UploadFunction-3D3w0QTh1l6H/log-events/2023$252F02$252F16$252F$255B$2524LATEST$255Dff52f76ed7c64522bb73adbbbe55d296


fix: handle assignment expressions properly below top level

Closes #20
cc @thisredone — when netlify gets the playground preview deployed, please check it out.

nice one! It works right


Reports of bursts of high disk R/Ws on v0.12.4

Seeing reports from BN node runners of high disk R/Ws on v0.12.4 in bursts of ~12 hours

The logs below are taken at moment of 85% CPU Load and 97% I/O
Feb 27 19:37:46 qupra-7900x celestia[290693]: 2024-02-27T19:37:46.979Z        INFO        header/store        store/store.go:375        new head        {"height": 879415, "hash": "E31E753744D9EC1F8EDE8421E39B9D4CF309509E465E3ADEDD3D9054335A6F1C"}
Feb 27 19:37:58 qupra-7900x celestia[290693]: 2024-02-27T19:37:58.753Z        INFO        header/store        store/store.go:375        new head        {"height": 879416, "hash": "25B3D05E50BA5C1F96DDFF5DD7EE4BF7E21442088BF0BD729C0EE60BEC9CB136"}
Feb 27 19:38:09 qupra-7900x celestia[290693]: 2024-02-27T19:38:09.826Z        INFO        header/store        store/store.go:375        new head        {"height": 879417, "hash": "0F87FFC4A2E61BF0C6E81315412079B6BDC660FB094A643C19F214A9D623E6D3"}
Feb 27 19:38:21 qupra-7900x celestia[290693]: 2024-02-27T19:38:21.835Z        INFO        header/store        store/store.go:375        new head        {"height": 879418, "hash": "9B5687A2A1C94D1CF69EA46F29B44D72997B23806ECD05F484046683C328C7CC"}
Feb 27 19:38:33 qupra-7900x celestia[290693]: 2024-02-27T19:38:33.046Z        INFO        bitswap-server        server/server.go:547        Bitswap Client ReceiveError: Application error 0x0 (remote)
Feb 27 19:38:33 qupra-7900x celestia[290693]: 2024-02-27T19:38:33.739Z        INFO        header/store        store/store.go:375        new head        {"height": 879419, "hash": "528D22D54B2B8D16BEA06BDFB5BD638AEB024CDC1DA796EE66374853C35E991A"}
Feb 27 19:38:45 qupra-7900x celestia[290693]: 2024-02-27T19:38:45.602Z        WARN        badger        v4@v4.0.0-20231125230536-2b9e13346f75/db.go:460        Block cache might be too small. Metrics: hit: 121107130 miss:<PHONE_NUMBER> keys-added: 285626328 keys-updated: 483835 keys-evicted: 285626311 cost-added:<PHONE_NUMBER>773320 cost-evicted:<PHONE_NUMBER>078825 sets-dropped: 31297 sets-rejected:<PHONE_NUMBER> gets-dropped: 111778176 gets-kept:<PHONE_NUMBER> gets-total:<PHONE_NUMBER> hit-ratio: 0.03
Feb 27 19:38:45 qupra-7900x celestia[290693]: 2024-02-27T19:38:45.602Z        WARN        badger        v4@v4.0.0-20231125230536-2b9e13346f75/db.go:461        Cache life expectancy (in seconds):
Feb 27 19:38:45 qupra-7900x celestia[290693]:  -- Histogram:
Feb 27 19:38:45 qupra-7900x celestia[290693]: Min value: 0
Feb 27 19:38:45 qupra-7900x celestia[290693]: Max value: 150
Feb 27 19:38:45 qupra-7900x celestia[290693]: Count: 285624116
Feb 27 19:38:45 qupra-7900x celestia[290693]: 50p: 2.00
Feb 27 19:38:45 qupra-7900x celestia[290693]: 75p: 2.00
Feb 27 19:38:45 qupra-7900x celestia[290693]: 90p: 2.00
Feb 27 19:38:45 qupra-7900x celestia[290693]: [0, 2) 285196410 99.85% 99.85%
Feb 27 19:38:45 qupra-7900x celestia[290693]: [2, 4) 279923 0.10% 99.95%
Feb 27 19:38:45 qupra-7900x celestia[290693]: [4, 8) 105346 0.04% 99.99%
Feb 27 19:38:45 qupra-7900x celestia[290693]: [8, 16) 32620 0.01% 100.00%
Feb 27 19:38:45 qupra-7900x celestia[290693]: [16, 32) 8313 0.00% 100.00%
Feb 27 19:38:45 qupra-7900x celestia[290693]: [32, 64) 1380 0.00% 100.00%
Feb 27 19:38:45 qupra-7900x celestia[290693]: [64, 128) 118 0.00% 100.00%
Feb 27 19:38:45 qupra-7900x celestia[290693]: [128, 256) 6 0.00% 100.00%
Feb 27 19:38:45 qupra-7900x celestia[290693]:  --
Feb 27 19:38:46 qupra-7900x celestia[290693]: 2024-02-27T19:38:46.064Z        INFO        header/store        store/store.go:375        new head        {"height": 879420, "hash": "407EB57A22E6260C4A3F0D2AA1E2AE0642C744B8500DDFCFEE9CD5403612C89D"}
Feb 27 19:38:52 qupra-7900x celestia[290693]: 2024-02-27T19:38:52.055Z        INFO        bitswap-server        server/server.go:547        Bitswap Client ReceiveError: Application error 0x0 (remote)
Feb 27 19:38:57 qupra-7900x celestia[290693]: 2024-02-27T19:38:57.919Z        INFO        header/store        store/store.go:375        new head        {"height": 879421, "hash": "6400B3E90304777540288AB6362912756AB0F9ED06D160EA25A117CBCEFCBC64"}
Feb 27 19:39:09 qupra-7900x celestia[290693]: 2024-02-27T19:39:09.922Z        INFO        header/store        store/store.go:375        new head        {"height": 879422, "hash": "16CB14378210F6249F3F09E3B5C50E8AC5E3DBD3866C53D39EB70B48CB9349BA"}
Feb 27 19:39:21 qupra-7900x celestia[290693]: 2024-02-27T19:39:21.733Z        INFO        header/store        store/store.go:375        new head        {"height": 879423, "hash": "B666D118EDF9214952D86C31F1C2ECF82554B7629801D580C09E430DAB8D91E0"}
Feb 27 19:39:31 qupra-7900x celestia[290693]: 2024-02-27T19:39:31.197Z        INFO        bitswap-server        server/server.go:547        Bitswap Client ReceiveError: received a stateless reset with token b9caffa2f9721c3b7362f27cc154618a
Feb 27 19:39:31 qupra-7900x celestia[290693]: 2024-02-27T19:39:31.693Z        INFO        bitswap-server        server/server.go:547        Bitswap Client ReceiveError: stream reset
Feb 27 19:39:33 qupra-7900x celestia[290693]: 2024-02-27T19:39:33.743Z        INFO        header/store        store/store.go:375        new head        {"height": 879424, "hash": "0B17EB891D6B08E6D8CEC1282C254A766011CA157D2BDC78475EF1CB63675987"}
Feb 27 19:39:39 qupra-7900x celestia[290693]: 2024-02-27T19:39:39.642Z        INFO        bitswap-server        server/server.go:547        Bitswap Client ReceiveError: Application error 0x0 (remote)
Feb 27 19:39:45 qupra-7900x celestia[290693]: 2024-02-27T19:39:45.602Z        WARN        badger        v4@v4.0.0-20231125230536-2b9e13346f75/db.go:460        Block cache might be too small. Metrics: hit: 121163085 miss:<PHONE_NUMBER> keys-added: 285820179 keys-updated: 483976 keys-evicted: 285820162 cost-added:<PHONE_NUMBER>376295 cost-evicted:<PHONE_NUMBER>690637 sets-dropped: 31297 sets-rejected:<PHONE_NUMBER> gets-dropped: 111778560 gets-kept:<PHONE_NUMBER> gets-total:<PHONE_NUMBER> hit-ratio: 0.03
Feb 27 19:39:45 qupra-7900x celestia[290693]: 2024-02-27T19:39:45.602Z        WARN        badger        v4@v4.0.0-20231125230536-2b9e13346f75/db.go:461        Cache life expectancy (in seconds):
Feb 27 19:39:45 qupra-7900x celestia[290693]:  -- Histogram:
Feb 27 19:39:45 qupra-7900x celestia[290693]: Min value: 0
Feb 27 19:39:45 qupra-7900x celestia[290693]: Max value: 150
Feb 27 19:39:45 qupra-7900x celestia[290693]: Count: 285817967
Feb 27 19:39:45 qupra-7900x celestia[290693]: 50p: 2.00
Feb 27 19:39:45 qupra-7900x celestia[290693]: 75p: 2.00
Feb 27 19:39:45 qupra-7900x celestia[290693]: 90p: 2.00
Feb 27 19:39:45 qupra-7900x celestia[290693]: [0, 2) 285390261 99.85% 99.85%
Feb 27 19:39:45 qupra-7900x celestia[290693]: [2, 4) 279923 0.10% 99.95%
Feb 27 19:39:45 qupra-7900x celestia[290693]: [4, 8) 105346 0.04% 99.99%
Feb 27 19:39:45 qupra-7900x celestia[290693]: [8, 16) 32620 0.01% 100.00%
Feb 27 19:39:45 qupra-7900x celestia[290693]: [16, 32) 8313 0.00% 100.00%
Feb 27 19:39:45 qupra-7900x celestia[290693]: [32, 64) 1380 0.00% 100.00%
Feb 27 19:39:45 qupra-7900x celestia[290693]: [64, 128) 118 0.00% 100.00%
Feb 27 19:39:45 qupra-7900x celestia[290693]: [128, 256) 6 0.00% 100.00%
Feb 27 19:39:45 qupra-7900x celestia[290693]:  --

I think the above logs, don't tell much, more verbose logs or metrics would be required. We are posting our metrics with otel-collector, see below our node-id. If there are  any requests in terms of logs/screenshots/data please tell us what you need.
I'll post below some screenshots from our node-exporter. The server is solely dedicated to Celestia Bridge no other services running on it.
Specs: 7900X (12-core) and a fast NVME drive.
node-id: 12D3KooWRH2pkayUDqmCAXUpQSjX1pmmftPPNEaedEdUSEBRfLJH
OS: 22.04
kernel: 6.5.0-15-generic
Range: Last 2 Days

Range: Last 2 Days

First time we detected this issue was on 05 Jan, we were using  CELESTIA-NODE v0.12.1.
Our findings back then (note: we're using NVMEs):
In our case, not the open files are the issue.
Yes, it has ~7k open files, but the CPU and this load increase are insane.
It started all at 9:30 UTC (11:30 in our Grafana which uses GMT+2)
the CPU increased from an average of 1 CPU Load, to a 12 CPU Load.  -> 12x increase in CPU LOAD
DISK, it was at 542 IOPS READ and 44 IOPS WRITE ->>>> NOW it has 17k (yes thousands) IOPS READ and 4.6K IOPS write.
Since 9:30 UTC we also noticed an increase in active TCP ESTABLISHED connections.
I correlated this to active P2P connections
Then I blocked in firewall all incoming trafic towards the P2P port, and I restarted the node. The load on CPU/DISK/Network are back to "low" values (also visible on the graphs: baseline is much lower than before after this step)

It seems to us that some peer/peers are the reason.
Checked the logs from that time, and we found the following errors that are relevant:
2024-01-05T11:28:59+02:00	2024-01-05T11:28:59.488+0200	ERROR	header/p2p	p2p/server.go:157	server: writing header to stream	{"err": "i/o deadline reached"}
2024-01-05T11:29:00+02:00	2024-01-05T11:29:00.302+0200	INFO	bitswap-server	server/server.go:547	Bitswap Client ReceiveError: stream reset
2024-01-05T11:29:00+02:00	2024-01-05T11:29:00.613+0200	ERROR	header/p2p	p2p/server.go:157	server: writing header to stream	{"err": "stream reset"}
A 4 month graph shows a clear improvement  of the resource usage on our bridge since we blocked incoming p2p traffic (Red line = ufw deny)

We had a spike in our IO too especially the read part . Below are the bridge node logs during the high IO reads. We are using 2 Nvme drives on Raid0 .
IO graphs

Seeig repeated entries like below in the logs
Feb 28 11:09:41 BsSui-mainRPC celestia[2497452]: 2024-02-28T11:09:41.019+0100        INFO        header/store
  store/store.go:375        new head        {"height": 883855, "hash": "762641C9AB7F543B835063483575DFE627FFC874B9D
8E92555765776702E2676"}
Feb 28 11:09:53 BsSui-mainRPC celestia[2497452]: 2024-02-28T11:09:53.224+0100        INFO        header/store
  store/store.go:375        new head        {"height": 883856, "hash": "BF8BBEF57BC796672B48BF4B09790ABC3D346C3D857
FAB00584DAC66712655FE"}
Feb 28 11:10:02 BsSui-mainRPC celestia[2497452]: 2024-02-28T11:10:02.274+0100        INFO        bitswap-server
    server/server.go:547        Bitswap Client ReceiveError: Application error 0x0 (remote)
Feb 28 11:10:07 BsSui-mainRPC celestia[2497452]: 2024-02-28T11:10:07.044+0100        INFO        header/store
  store/store.go:375        new head        {"height": 883857, "hash": "2154691F4B77A2CBE1C44BBD90A3B83A554B4C38646
E0EA08A7521EC27A2EE07"}
Feb 28 11:10:07 BsSui-mainRPC celestia[2497452]: 2024-02-28T11:10:07.452+0100        INFO        bitswap-server
    server/server.go:547        Bitswap Client ReceiveError: Application error 0x0 (remote)
Feb 28 11:10:18 BsSui-mainRPC celestia[2497452]: 2024-02-28T11:10:18.538+0100        INFO        bitswap-server
    server/server.go:547        Bitswap Client ReceiveError: stream reset
Feb 28 11:10:18 BsSui-mainRPC celestia[2497452]: 2024-02-28T11:10:18.798+0100        INFO        header/store
  store/store.go:375        new head        {"height": 883858, "hash": "7D70166FBD419C3A99192C44E6914657896802E1457
7C05CB34D8B756EEEE812"}
Feb 28 11:10:22 BsSui-mainRPC celestia[2497452]: 2024-02-28T11:10:22.874+0100        INFO        bitswap-server
    server/server.go:547        Bitswap Client ReceiveError: stream reset
Feb 28 11:10:30 BsSui-mainRPC celestia[2497452]: 2024-02-28T11:10:30.805+0100        INFO        header/store
  store/store.go:375        new head        {"height": 883859, "hash": "3AC06314404321D2784A65E711714F3C8126EDD6D17
C1C51DAD756472FF0451D"}
Feb 28 11:10:33 BsSui-mainRPC celestia[2497452]: 2024-02-28T11:10:33.626+0100        WARN        badger        v4@v
4.0.0-20231125230536-2b9e13346f75/db.go:460        Block cache might be too small. Metrics: hit: 187054252 miss: 51
61187805 keys-added: 544306772 keys-updated: 1442029 keys-evicted: 544306743 cost-added:<PHONE_NUMBER>552796 cost-evic
ted:<PHONE_NUMBER>982723 sets-dropped: 1408 sets-rejected:<PHONE_NUMBER> gets-dropped: 25108032 gets-kept:<PHONE_NUMBER> get
s-total:<PHONE_NUMBER> hit-ratio: 0.03

TCP connections in the server over that period

On v0.13.0 we're also seeing similar logs and resource usage as the above. Mainly very high read usage.

Blocking p2p port 2121 didn't seem to help our bridge node. Logs look resemble what has already been posted.

This is unlikely to be a peering issue but a compaction run by indexing in badger. There is not much we can do about it at this point, as it's a fundamental flaw in the current storage mechanism. The solution for the existing and active implementation phase would need a few months to land.
Meanwhile, If that's really an issue killing disks, we can explore pruning for the inverted index.
cc @renaynay and @walldiss

Progress on storage upgrades here: https://github.com/celestiaorg/celestia-node/issues/2971

In our cases the problem occurs by affecting only the CPU load.

A restart solves always the problem.
Tested with very high performance bare-metal (Intel + NVMe Gen4) and VMware clusters with 8x32Gbit FC NVMe SAN storage in private data centers

Note:
The memory has been reduced from 128GB to 32GB (since it is not used)

Current:

Last consideration, the current graphs refer to the testnet, as the mainnet bridge node was recently shut down because we were not selected again with the delegation (despite the details of our infrastructure with 6/8 dedicated enterprise nodes)
Here chain detail and connections graph (without changes)

We are available to provide further details...

We don't such load on mocha bridge, yes there are some spikes but thats okay, but with mainnet bridge the situation is terrible.

Logs do not say a lot, just noticed that this Bitswap error much more frequently than in testnet.
INFO	bitswap-server	server/server.go:547	Bitswap Client ReceiveError: Application error 0x0 (remote)

I can confirm the problem on both chains, but as I indicated I was forced to shut down the mainnet bridge node and I no longer have the history.
Regarding the problem in testnet I can say that a reboot of the process fixes the problem, every time.
They could be unrelated or connected issues, and a possibly study on the testnet structure and then verify it on the mainnet where the problem is most intense

this issue is not closed currently, actually our server has a issue by this. server cpu usage is not normal


FIX typos in environments

Description
Update yml file describing virtual environment, homogeneize names and fix corrupted notebook environment.
Fixes #131
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
conda env create -f environment.notebooks.yml
Checklist:

[x] I have read the contributing guidelines
[ ] I have updated the HISTORY.rst and AUTHORS.rst files
[x] Linting passes successfully : make lint
[x] Typing passes successfully : make type-check
[x] Unit tests pass successfully : make tests
[x] Coverage is 100% : make coverage
[x] Documentation builds successfully : make doc

Codecov Report

Merging #132 (4a5a03c) into master (be4667e) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #132   +/-   ##
=======================================
  Coverage   99.92%   99.92%
=======================================
  Files          17       17
  Lines        1286     1286
  Branches      117      117
=======================================
  Hits         1285     1285
  Misses          1        1

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 be4667e...4a5a03c. Read the comment docs.

Very surprised to see that the environment didn't pass on your machine ! Anyway, thank you for updating the environment.


Ubuntu requires libonig-dev package

Heyo.
I'm running Ubuntu 12.04 (64 bit) and needed to install the libonig-dev to install rubex.
I'm not sure if edge cases pop up with other versions of other distros but I had to run:
sudo apt-get install libonig2 libonig-dev
So for at least a few cases the README probably needs to be updated.
Thanks for the great library.

@nodanaonlyzuul Thanks for the hint!

indeed, this tip helped me use the library ;)


The gasLimit configuration in genesis.json is not being recognized by evmtool

Description
Hello developers!
I'm doing fuzzing on EVM implementations, and I'm using besu/evm-tool for testing. I found that the opcode GASLIMIT (0X45) returned hardcoded value 5000(0x1388) in:
https://github.com/hyperledger/besu/blob/a92fdbb44c4c20416643903d9fa288ffdc4929b6/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/EvmToolCommand.java#L468
However, according to the docs at evm-tool and genesis, the gasLimit can be set using --prestate genesis.json or  --genesis genesis.json but besu/evm-tool seems to ignore the setting, while the alloc setting works fine.
Steps to Reproduce (Bug)

I try to reproduce this on the latest develop version of besu/evm-tool with docker image(digest: e79d839a699b). I also compiled the evmtool locally(commit: 7433c8c25a5c), got the same result. This the genesis.json file I provided:

{
    "config": {
      "chainId": 9599,
      "shanghaiBlock": 0
    },
    "alloc": {
      "0x1c7cd2d37ffd63856a5bd56a9af1643f2bcf545f": {
        "balance": "0xffffffffffffffffffffffffffffffffffffffff"
      }
    },
    "coinbase": "0x000000000000000000000000000000000000abcd",
    "difficulty": "1",
    "extraData": "",
    "gasLimit": "0xffffff",
    "nonce": "0x0",
    "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "timestamp": "0x00"
}

The bytecode to be executed:

# BYTECODE
4560005260406000f3
# MENMONICS
GASLIMIT
PUSH1 00
MSTORE
PUSH1 40
PUSH1 00
RETURN

Run the besu/evm-tool with:

docker run --rm  -i -v ${PWD}/genesis.json:/opt/data/genesis.json hyperledger/besu-evmtool:develop --code<PHONE_NUMBER>406000f3 --json --notime --genesis /opt/data/genesis.json

Results: besu/evm-tool returned 0x1388.

{"pc":0,"op":69,"gas":"0x2540be400","gasCost":"0x2","memSize":0,"stack":[],"depth":1,"refund":0,"opName":"GASLIMIT"}
{"pc":1,"op":96,"gas":"0x2540be3fe","gasCost":"0x3","memSize":0,"stack":["0x1388"],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":3,"op":82,"gas":"0x2540be3fb","gasCost":"0x6","memSize":0,"stack":["0x1388","0x0"],"depth":1,"refund":0,"opName":"MSTORE"}
{"pc":4,"op":96,"gas":"0x2540be3f5","gasCost":"0x3","memSize":32,"stack":[],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":6,"op":96,"gas":"0x2540be3f2","gasCost":"0x3","memSize":32,"stack":["0x40"],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":8,"op":243,"gas":"0x2540be3ef","gasCost":"0x3","memSize":32,"stack":["0x40","0x0"],"depth":1,"refund":0,"opName":"RETURN"}

{"gasUser":"0x14","gasTotal":"0x14","output":"0x00000000000000000000000000000000000000000000000000000000000013880000000000000000000000000000000000000000000000000000000000000000"}

Expected behavior: besu/evmtool should return 0xffffff, which is the gasLimit set in the file genesis.json.
Actual behavior: besu/evmtool ignored the gasLimit setting in, returned 0x1388
Frequency: 100%
Logs (if a bug)
See the results.
Versions (Add all that apply)

Software version: 24.7
Java version: 22.02
OS Name & Version: Ubuntu 20.04
Virtual Machine software & version: WSL version：<IP_ADDRESS>
Docker Version: Docker Engine 24.0.7; Docker Desktop 24.0.7

Thanks for your time and patience!

@shemnon Any thoughts on this?


libltc: 1.1.4 -> 1.3.0

Semi-automatic update. These checks were performed:

built on NixOS
found 1.3.0 with grep in /nix/store/wcvgcfp7naydayalzwgq7ivwqrclyrgh-libltc-1.3.0
found 1.3.0 in filename of file in /nix/store/wcvgcfp7naydayalzwgq7ivwqrclyrgh-libltc-1.3.0

Success on x86_64-linux (full log)
Partial log (click to expand)
make[1]: Leaving directory '/tmp/nix-build-libltc-1.3.0.drv-0/libltc-1.3.0'
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/wcvgcfp7naydayalzwgq7ivwqrclyrgh-libltc-1.3.0
shrinking /nix/store/wcvgcfp7naydayalzwgq7ivwqrclyrgh-libltc-1.3.0/lib/libltc.so.11.0.5
gzipping man pages under /nix/store/wcvgcfp7naydayalzwgq7ivwqrclyrgh-libltc-1.3.0/share/man/
strip is /nix/store/b0zlxla7dmy1iwc3g459rjznx59797xy-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/wcvgcfp7naydayalzwgq7ivwqrclyrgh-libltc-1.3.0/lib
patching script interpreter paths in /nix/store/wcvgcfp7naydayalzwgq7ivwqrclyrgh-libltc-1.3.0
checking for references to /tmp/nix-build-libltc-1.3.0.drv-0 in /nix/store/wcvgcfp7naydayalzwgq7ivwqrclyrgh-libltc-1.3.0...
/nix/store/wcvgcfp7naydayalzwgq7ivwqrclyrgh-libltc-1.3.0

Success on aarch64-linux (full log)
Partial log (click to expand)
make[1]: Leaving directory '/build/libltc-1.3.0'
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/h6b02293iipm7jkg8flrp2w134jhhrvg-libltc-1.3.0
shrinking /nix/store/h6b02293iipm7jkg8flrp2w134jhhrvg-libltc-1.3.0/lib/libltc.so.11.0.5
gzipping man pages under /nix/store/h6b02293iipm7jkg8flrp2w134jhhrvg-libltc-1.3.0/share/man/
strip is /nix/store/lvx1acn1ig1j2km8jds5x3ggh3f2wa8v-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/h6b02293iipm7jkg8flrp2w134jhhrvg-libltc-1.3.0/lib
patching script interpreter paths in /nix/store/h6b02293iipm7jkg8flrp2w134jhhrvg-libltc-1.3.0
checking for references to /build in /nix/store/h6b02293iipm7jkg8flrp2w134jhhrvg-libltc-1.3.0...
/nix/store/h6b02293iipm7jkg8flrp2w134jhhrvg-libltc-1.3.0

Success on x86_64-darwin (full log)
Partial log (click to expand)
 /nix/store/6b3jzg40vibmrjg85i46vvidyy915428-coreutils-8.29/bin/mkdir -p '/nix/store/da8nx2clhjb5r9rshpzkvi48my50gl7r-libltc-1.3.0/lib/pkgconfig'
 /nix/store/6b3jzg40vibmrjg85i46vvidyy915428-coreutils-8.29/bin/install -c -m 644 ltc.pc '/nix/store/da8nx2clhjb5r9rshpzkvi48my50gl7r-libltc-1.3.0/lib/pkgconfig'
make[2]: Leaving directory '/private/tmp/nix-build-libltc-1.3.0.drv-0/libltc-1.3.0'
make[1]: Leaving directory '/private/tmp/nix-build-libltc-1.3.0.drv-0/libltc-1.3.0'
post-installation fixup
gzipping man pages under /nix/store/da8nx2clhjb5r9rshpzkvi48my50gl7r-libltc-1.3.0/share/man/
strip is /nix/store/4sdh09gmvl15cy0zb6i7mbvxh5syz206-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/da8nx2clhjb5r9rshpzkvi48my50gl7r-libltc-1.3.0/lib
patching script interpreter paths in /nix/store/da8nx2clhjb5r9rshpzkvi48my50gl7r-libltc-1.3.0
/nix/store/da8nx2clhjb5r9rshpzkvi48my50gl7r-libltc-1.3.0


Add the ability to register to multiple NAT servers

This is backwards compatible with the existing bosh manifest nats configuration.
We need this to make this service highly available in the event a NATs server goes down.

Hi @johnlonganecker,
We are adopting the new routing release which has support multiple NATs server.
Best,
Svett


added patreon icon

@hamzaeIalaoui please update your icon submission to conform to the new format described in CONTRIBUTING.md, making sure it is visually correct. Thank you for your contribution.


Make under/overlines behave the same as accents in attach base

This PR makes it so that the content's italics_corrections and is_text_like are passed onto the finished frame fragment with an under/overline. When an under/overline element is the base of an attachment, this brings it more in line with the behaviour of accents.
Whether this is the 'best' thing to do, I don't know. I guess it depends on which of the two people prefer most. Or, if this just shouldn't be the approach taken to this at all. I find that with the underline, the bl and br attachments seem to high, despite it being more 'consistent'.
Example 4 shows the br attachment colliding with the underline. So it seems passing italics_corrections all the time isn't ideal either...

Example 1
#set page(width: 1.5cm, height: 1.2cm)

$ attach(y, t: i, b: i, tl: i, bl: i, tr: i, br: i)
  attach(macron(y), t: i, b: i, tl: i, bl: i, tr: i, br: i)
  attach(overline(y), t: i, b: i, tl: i, bl: i, tr: i, br: i) $

Using the above typst code:

Before

After

Diff

And another comparison https://www.textcompare.org/image/?id=66b24dbd116d31c8d023e3a7.

Example 2
#set page(width: 2cm, height: 1.2cm)

$ attach(overline(underline(y)), t: i, b: i, tl: i, bl: i, tr: i, br: i)
  attach(underline(y), t: i, b: i, tl: i, bl: i, tr: i, br: i)
  attach(overline(y), t: i, b: i, tl: i, bl: i, tr: i, br: i)
  attach(underline(overline(y)), t: i, b: i, tl: i, bl: i, tr: i, br: i) $

Using the above typst code:

Before

After

Diff

And another comparison https://www.textcompare.org/image/?id=66b25137116d31c8d023e3b9.

Example 3

Example 4 (Collision with subscript!)

Example 4 (Again, but not passing italics_corrections)

Closes #4692.
TODO

[ ] Add tests
[ ] Improve the logic around passing/using italics_corrections

It seems to me that with italics correction the underline should be shortened? It looks way too long

These pictures, and the fact that we haven't made the overlines shorter, is making me wonder:
Why isn't the top-left attachment affected by italic correction? It looks weird when the left hand-side attachments are vertically aligned, but the right-hand side ones aren't.

The changes look good to me. Is this ready to merge from your end or are we still discussing what's best?

I think the overline stuff can wait, so it should be alright now.
Maybe we can get New Computer Modern Math to include the data at some point. (Though attachments on the left are less common.)
@mkorje

Okay, thanks!


Do not regenerate the WOPI Server Secrets on 'helm upgrade'

When no config.{wopisecret,iopsecret} value is provided when installing the wopiserver chart, a pair of random secrets is generated for convenience.
However, this does also happen across upgrades:
staging, iop-wopiserver-secrets, Secret (v1) has changed:
  # Source: iop/charts/wopiserver/templates/secrets.yaml
  apiVersion: v1
  kind: Secret
  metadata:
    labels:
      app.kubernetes.io/instance: iop
      app.kubernetes.io/managed-by: Helm
      app.kubernetes.io/name: wopiserver
      app.kubernetes.io/version: v5.4
      helm.sh/chart: wopiserver-0.2.0
    name: iop-wopiserver-secrets
  data:
-   iopsecret: '-------- # (24 bytes)'
-   wopisecret: '-------- # (24 bytes)'
+   iopsecret: '++++++++ # (24 bytes)'
+   wopisecret: '++++++++ # (24 bytes)'
  type: Opaque

This behavior is not intended, as might require updating the IOP ConfigMap or reloading the IOP Deployment when using REVA_APPPROVIDER_IOPSECRET.

linking https://github.com/helm/charts/issues/5167 for later ref.


Regex is not persisted correctly.

@cswanson310
Steps to repro:
db.createView('managers', { name: /john/})
restart shell
and nothing is returned from the query.
persistence for regex looks like
{
  "_id": ObjectId("54f8a114ad4fc3af583357f2"),
  "name": "managers",
  "target": "employees",
  "query": "{\"name\":{}}",
  "projection": "{}"
}

Fixed with https://github.com/justinjmoses/mongo-views/commit/084954c8f74bb2bd07a090f9179a088132881062


how to use this model for image generation?

Thanks for the great work. I removed the classification head and trying to use this repo for image generation but I get really bad results. All images have patchy looks and very low quality. I played with number of heads, number of layers, LR etc, but didnt really matter.
What would be the most sensible approach to generate images with the encoder part?

@basamelatex no one has shown that this can work with a straight encoder yet afaik, but people have discretized the pixel space and then used a decoder to generate the image as with iGPT and Image Transformer

Thanks a lot for your answer, I checked out the papers you mentioned above. I noticed that they were able to generate only quite small images such as 64x64 and used relatively small datasets like CIFAR10. On the other hand, in the Vit paper they were suggesting that the model doesn't work well on small datasets. Do you think this would be the case in image generation as well? Do we really need a huge dataset for Vit to work on image generation?  I would like to give it a try, but I feel a bit skeptical after seeing 300M dataset they use..

I would like to know how to use this model for spatial-temporal state forecast, such as nowcasting using radar echo, like ConvLSTM.


Sorting icons positioning problems

If we create table, and headers will be not only one-liners - sorting icons for one-liners positioning badly.

I think maybe better make all for show at the bottom?
P.S.: Using jquery 1.11.3, dataTables 1.10.7

Thank you - I hadn't realised before that vertical-align:bottom was the default for Bootstrap table headers.
I've committed the required change and it will be released with the next version of DataTables.


update UNITBV RO's name to the official one

You can see the university's official English name here: http://unitbv.ro/en

@cosminpolifronie Thank you for the update! Pull request merged.


Add network-rule support for Cognitive Services

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

[x] I adhere to the Command Guidelines.

@MyronFanQiu evaluate this PR against the guidance here that we discussed yesterday:
https://github.com/Azure/azure-cli/blob/dev/doc/command_guidelines.md#network-rule-commands

@MyronFanQiu conflict solved.
For the default_action filed.
We want to provide similar experiences with Azure Storage:
https://docs.microsoft.com/en-us/cli/azure/storage/account/network-rule?view=azure-cli-latest
So in CLI we don't support modifying default_action (which is deny by default).
And we don't have action filed in rules. (you can consider it as "Allow" by default).

@yangyuan Got it. Please fix the Lint and Style errors. You can use azdev style <service_name to check it locally.

@MyronFanQiu all checks passed :)


Migrate the litmusOcisOldWebdav and the litmusOcisNewWebdav tests fro…

…m Drone to GitHub Actions

This PR should pass after the next Puppet run on the self-hosted runners.
(docker-compose required)


WIP: refactor(@angular/cli): directly add pure hints to imports

This updates the webpack dependency template to add the uglifyjs pure hint to imports with an import clause.  This eliminates the need to analyze the imports via a transform and then add the hints via a plugin.

/cc @IgorMinar


"Compare U.S. States" Button Not Visible

The "Compare U.S. Regions" button is visible, but there is no button for "Compare U.S. States". This button was previously visible. See screenshot. Firefox 74.0 Pop_OS (Ubuntu)

Thanks for filing, would you mind checking on that again, we just made another push that should fix that issue.

Fixed! That was quick.


Add {list} support to items()

Is your feature request about something that is currently impossible or hard to do? Please describe the problem.
items() allows to iterate dictionaries as key-value pairs, but it cannot be used with lists. There is no convenient way to access item's index and value at the same time, those have to be calculated separately:
vim9script
var list = ['h', 'e', 'l', 'l', 'o']

# workaround 1:
var index = 0
for val in list
  echom $'{index}: {val}'
  ++index
endfor

# workaround 2:
for idx in list->len()->range()
  var val = list[idx]
  echom $'{idx}: {val}'
endfor

Describe the solution you'd like
Add {list} support to items() and return a |List| of [index, value] pairs, so it would be possible to iterate them like so:
vim9script
var list = ['h', 'e', 'l', 'l', 'o']
for [idx, val] in list->items()
  echo $'{idx}: {val}'
endfor

That is a valid request.  Let's see if it is easy to do.


react-spring issue

Uncaught (in promise) Error: The arity of each "output" value must be equal
at react-spring-shared.esm.js:651:1
at Array.map ()
at react-spring-shared.esm.js:649:1
at Array.map ()
at createStringInterpolator (react-spring-shared.esm.js:649:1)
at createInterpolator (react-spring-shared.esm.js:451:1)
at AnimatedString.reset (react-spring-animated.esm.js:126:1)
at SpringValue._start (react-spring-core.esm.js:1333:1)
at SpringValue._merge (react-spring-core.esm.js:1233:1)
at onStart (react-spring-core.esm.js:434:1)

This may be the cause of

[ ] Sometimes colors persist through different metrics


fix: Bitwise OR operator to Logical OR operator in media store limit

Because of the use of a Bitwise OR operator instead of a Logical OR operator, unexpected behavior occurred when changing the pageSize of the media manager. This PR fixes this operator so it works as expected.
Before:

After:

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


About the default orientation

Thanks for the great work.
I am a newbie with IMUs.
when I run the Basic Usage code, I get Orientation output like:
roll:<PHONE_NUMBER>832591 ; pitch : 0.10481996839275354 ; yaw :<PHONE_NUMBER>6135526
My MPU9250 board is placed horizontally on the desktop, my question is, how do I reset these values to zeros
at the beginning or these values are based on the world coordinate system which will change only when the direction of the board changes ?
Thanks.

Hi,
I don't think I have included the functionality of resetting to zeros at an initial position. However, I do see that this could be useful in some applications. I will try to put this in the later version of the package.
Thanks,
Niru


test for importSurvey with URL parameter

Upload survey to curateND, make it public, use persistent URL

https://curate.nd.edu/downloads/xs55m903893


fix(sphere-node-product-csv-sync): Logging entries missing on product status during unpublish of products

Summary
Fix  missing logging entries on product status during unpublish of products
Description
This PR fixes missing log entries output when unpublish a large number of products in Product Status on IMPEX.
Todo

Tests

[x] Unit
[x] Integration

Closes #249

Coverage remained the same at 78.415% when pulling 446581bbfbe3b00f1536eaed3ffa8a9fab1cb5f3 on 249-logging-entires-missing-on-product-status-during-unpublish-of-products into bf9f2a89ea636d8c2b532d3cf61a98f7c67334cf on master.


Actix Examples

Would you add a pull requests to Actix/Examples? I think a lot of people will find this useful.

The repo is now updated to Actix Web 2.0 and oauth2 3.0.0-alpha.9. But I still would prefer to wait for an oauth2 3.0 release before doing the PR.

@pka , oauth2 version 3 was released.


React AutoComplete Scrollbar not working when parent element has 'tabindex="-1"' attribute

The Scrollbar for the listed items is not working when parent element has tabindex="-1" attribute.
Thanks,
Dhiraj Gupta

Anyone?

Hi @powercoder23! Could you create a reduced test case/example for this? A gist or an example repo would be very helpful to get this problem solved!


Regression in PURL syntax between SCANOSS 1.0.4 and 1.0.6

svn checkout svn+ssh://svn.code.sf.net/p/phpwiki/code/trunk phpwiki

scanoss-py scan --format spdxlite --output phpwiki.spdx.json phpwiki/

Attached is result of the scan done last week with SCANOSS 1.0.4 and today with 1.0.6.
In 1.0.4 you get  "referenceLocator"<EMAIL_ADDRESS>In 1.0.6 you get  "referenceLocator": "pkg:github/pbalan/mariadb<EMAIL_ADDRESS>The 1.0.6 result does not seem to be a valid PURL.
phpwiki-with-scanoss1.0.4.spdx.json.txt
phpwiki-with-scanoss1.0.6.spdx.json.txt

Hi again @vargenau. Thank you one more time for report this issue, like the other one you had reported, it was related with an update in our scanning engine. The bug was solved, please give a new try.

I confirm it works now.
You can close the ticket.


Make Documentation For YAML to Allow Backend in Sub1 and Environment In Sub2

Hi there,
I've been struggling to find the correct setup that will accommodate my use-case.
My Goal
To have the Terraform Backend live in a RG/Storage Account/Container/File in a different subscription than the subscription it is targeting to stand up infrastructure
Why?
My company would like to keep our state files and other services that support all of our build environments consolidated in one subscription that is kept separate from the subscriptions where our infrastructure and software is being deployed for development, testing, and production.
What I've Tried So Far
I'm using the latest and greatest versions of everything. Terraform/Azurerm/The Terraform Extension Tasks/etc.
Option 1
I have tried creating two service connections.

One for the backend subscription
One for the target environment subscription

With this setup I've:

Succeeding in creating the necessary backend resources if they don't already exist and leasing out the tf.state file
Succeeded in using TerraformTaskV4@4 to call init

But when I try to call terraform plan, there is no way to  specify the backend subscription and thus we fail.

Attempting to do some funny business with AzureCLI@1/AzureCli@2 totally fails. You're met with the below error because you're not supposed to be calling terraform tasks using Azure CLI with a service principal login.

Option 2
I have tried allowing a single service connection to have pretty wide-spread privileges in the environment where it deploys resources and very limited access to the state file in a second subscription.
With this step I've:

Succeeded in creating the necessary backend resources, but I have to call az account set --subscription <subscription id> before I do any backend provisioning. The default subscription for my service connection is always initially the environment and not the backend subscription each time a new task starts.
Succeeded in calling `terraform init' with TerraformTaskV4@4 because it is the one terraform command that the task extensions allow a target subscription parameter for. Azure CLI will still fail in the same way as the above.
I fail to call terraform plan because it doesn't allow me to provide the backend subscription. If I provide it with this option's service connection it will fail to call into the backend because the default subscription is again, the environment subscription and not the subscription where the backend state lives.

Is there a proper way to do what I'm attempting? I have played around with the providers in my state file, but I don't think they are being respected. I am mostly convinced that what I'm trying to do isn't possible at this point.

there seems to be a bug introduced.  related to #189  I am investigating

as you can see in #189  I do as you do in option 1 and it works for me. backend is initialized in the init step. So if you have several jobs terraform init step always has to run before plan , show, etc.  The one thing I found out was you can not have two different authorization schemes. so the service connections need to be of the same type. (Service Principal, Managed Identity or Workload Identity Federation)

Hi @mericstam !
Thank you for responding so quickly.
Are you able to go through all of the steps using option 1? If so, what is your exact setup?
I am not using two authorization schemes among my service connections. They are all of the same type.
I'm excited to hear what you find!

I believe we're having the same issue. We do the terraform init with an Azure DevOps service connection for Azure subscription A that uses Workload Identity Federation. The next step in the Azure Pipeline is a terraform apply step that uses a different service connection for Azure subscription B, and is setup to use an Azure Service Principal with a Client Secret. The terraform init step completes successfully, but the terraform apply fails with the following error:

Error: error loading state: Error retrieving keys for Storage Account "[StorageAccountName]": autorest/Client#Do: Preparing request failed: StatusCode=0 -- Original Error: clientCredentialsToken: received HTTP status 401 with response: {"error":"invalid_client","error_description":"AADSTS7000215: Invalid client secret provided. Ensure the secret being sent in the request is the client secret value, not the client secret ID, for a secret added to app '***'.\r\nTrace ID: 8383629a-630d-4f93-9f93-b9349c010700\r\nCorrelation ID: ec30b0d8-bc86-43a6-933f-1e1e94837cca\r\nTimestamp: 2023-10-12 22:59:42Z","error_codes":[7000215],"timestamp":"2023-10-12 22:59:42Z","trace_id":"8383629a-630d-4f93-9f93-b9349c010700","correlation_id":"ec30b0d8-bc86-43a6-933f-1e1e94837cca","error_uri":"https://login.microsoftonline/.

This flow worked fine before converting the first service connection from using a Service Principal Client Secret to using Workload Identity Federation auth.
Any updates on this, or additional actions we can try? Thanks.

I will check if we can support two service connections of different types, if not I will update the docs (They are outdated and due to be updated anyways)


Add a new fast parser for nmea messages

Hi Bertold,
This PR introduces an additional parsing mode to the library that depends on a code generated parser. In the benchmarks added I have been able to see a significant increase in throughput in parsing large nmea archives.
Existing users of the library can easily take advantage of this new mode by passing an additional parameter to opt-in to the 'fast parser'.
Developers of the package will need to re-generate the parser when changing the model using the defined go generate in messages.go.
This package has been hugely reliable for us, so we would like to give this change back to you for everyone’s benefit.
Let me know what you think,
Ersin,
A benchmark from my own machine when parsing a large nmea archive file
goos: linux
goarch: amd64
pkg: github.com/BertoldVdb/go-ais
cpu: 12th Gen Intel(R) Core(TM) i7-1260P
BenchmarkDecode
BenchmarkDecode/prefer_reflection
BenchmarkDecode/prefer_reflection-16         	  239304	      4848 ns/op
BenchmarkDecode/do_not_prefer_reflection
BenchmarkDecode/do_not_prefer_reflection-16  	 7026090	       164.2 ns/op
BenchmarkDecodeFile
BenchmarkDecodeFile/prefer_reflection
BenchmarkDecodeFile/prefer_reflection-16     	       1<PHONE_NUMBER>7 ns/op	  16.04 MB/s
BenchmarkDecodeFile/do_not_prefer_reflection
BenchmarkDecodeFile/do_not_prefer_reflection-16         	       1<PHONE_NUMBER>3 ns/op	  78.83 MB/s
PASS

I noticed when testing the fast parser on a large dataset with around 12TB AIS messages that there are some panics. I will investigate.
I am rerunning it now to get the messages that panic.

Forgot about this, here are some samples of messages that panic:
!AIVDM,1,1,,A,JcBs>gOFaJOIOLEL,148
!AIVDM,1,1,,A,JT5GNjv<L5p7EKV7G0,406
!AIVDM,1,1,,A,JUDbNoI;VmV=DBa,0*7B
!AIVDM,1,1,,B,I68DAp?7QLa@,122
!AIVDM,1,1,,B,IoMH@hpNGV,001
They seem to be  "Single/Multiple Slot Binary Message" packets. I will now check what causes the panic.

Resolved


Check attack vectors on Wizard

Analyze security flaws and backdoors of the Raiden Wizard
Since the Raiden Wizard will be the Raiden business card, it must be easy to use and secure. Despite the main idea being simple the devil might be in the details. There was no security analysis of the Raiden Wizard so far. However, we are dealing with real values and the user's private keys.
Timebox 2 days
Objective

Identify key vulnerabilities
per vulnerability one follow-up issue and  address it in code or communication

Basic Flow of the Raiden Wizard

in five steps

Security analysis of all 5 steps

[ ] Read https://github.com/raiden-network/team/issues/573 to understand the problem
[ ] Analyze every step and apply industry standards (e.g. private key management)
[ ] Write good, reasonable safety guidelines
[ ] Are there any limits in place? Or how could a user lose funds?
[ ] Check that DEX configuration does not buy at any price, and let the user know about the rice range see #99
[ ] ...

password / passphrase handling: tbd

@konradkonrad add ideas about the passphrase issue


Mapped ReferenceOne associations are not lazy loaded

Mapped RefereceMany associations are hydrated as empty PersistentCollection objects but mapped ReferenceOne associations are hydrated immediately, causing an extra database query that may not be needed.

I believe ReferenceOne are lazily loaded unless they're on inverse side?

@malarzm I believe we may be talking about the same thing. When I say, "mapped ReferenceOne association", I mean an association written like, @ReferenceMany(targetDocument="Foo" mappedBy="bar").

Yup, we're talking about same thing then :) I can't seem to find it, but there was a ticket about such thing, in general to achieve such thing we need to extend the proxies to be able to fetch document using arbitrary query, not only by its identifier.

Although I previously discussed a similar issue concerning custom repositories, this particular issue is just about retrieving a document by its identifier.

Note that one of the challenges here are the fact that it's expected that on the document object you can access its methods directly with -> like a reference, yet you can't just create an odm reference the same way as with a document with a real reference, because you don't even know what the ID is.
And also, coming up with a new lazy ID-less reference class would probably not play along well with Doctrine ODM's local UnitOfWork cache i.e. $referenceWithMappedBy !== $actualSameDocumentAlreadyManaged
By the way at the moment a workaround we are using is avoiding ReferenceOne-mappedBy and just using ReferenceMany-mappedBy instead, and practically ignoring any potentially found additional documents past index 0.

By the way at the moment a workaround we are using is avoiding ReferenceOne-mappedBy and just using ReferenceMany-mappedBy instead, and practically ignoring any potentially found additional documents past index 0.

For now, I'd say this is the recommended way if you want to avoid lazy-loading inverse ReferenceOne relationships. The problem comes down to proxy objects, which currently assume to always have an identifier and only lazy-loading other fields. However, in order to get the identifier necessary for such a relationship, we have to hit the database, so we might as well hydrate the full document. So until we change the proxy logic, we can't do anything about this without causing multiple database hits for a single document. This is essentially why I've moved this to the 2.x milestone where I'm hoping to have more options with proxy objects (partially hydrated proxies, more complex initializers, etc.).

Any progress since 2017?

@maxgorovenko yes, can't you see how people are rushing to create pull requests for functionality they'd like to have?


check the API libraries to make sure they are up to date with 0.10

We list a number of libraries listed but I'm not sure they are all compatible with the latest in 0.10. Let's verify, and pull down any that aren't.
URL for relevant page?
https://docs.influxdata.com/influxdb/v0.10/clients/api/

Possibly not functional with 0.10:
Haskell

Closing in favor of https://github.com/influxdata/docs.influxdata.com/issues/276#issuecomment-193973109


Failure installing development version of Platformio CLI on Mac OS X El Capitan

Configuration
Operating system:
Mac OS X El Capitan 10.11.6
PlatformIO Version (platformio --version):
3.0/Development
Description of problem
Trying to install the development version of Platformio CLI on Mac but I get a failure trying to remove an older version of pyserial.
Steps to Reproduce

brew install python
pip install -U https://github.com/platformio/platformio/archive/develop.zip

Actual Results
lucky13:Downloads dean$ pip install -U https://github.com/platformio/platformio/archive/develop.zip
Collecting https://github.com/platformio/platformio/archive/develop.zip
  Downloading https://github.com/platformio/platformio/archive/develop.zip
     - 11.8MB 295kB/s
Requirement already up-to-date: bottle<0.13 in /usr/local/lib/python2.7/site-packages (from platformio==3.0.0a7)
Requirement already up-to-date: click<6,>=5 in /usr/local/lib/python2.7/site-packages (from platformio==3.0.0a7)
Requirement already up-to-date: lockfile<0.13,>=0.9.1 in /usr/local/lib/python2.7/site-packages (from platformio==3.0.0a7)
Requirement already up-to-date: requests<3,>=2.4.0 in /usr/local/lib/python2.7/site-packages (from platformio==3.0.0a7)
Requirement already up-to-date: semantic_version>=2.5.0 in /usr/local/lib/python2.7/site-packages (from platformio==3.0.0a7)
Requirement already up-to-date: colorama in /usr/local/lib/python2.7/site-packages (from platformio==3.0.0a7)
Collecting pyserial<4 (from platformio==3.0.0a7)
  Using cached pyserial-3.1.1-py2.py3-none-any.whl
Installing collected packages: pyserial, platformio
  Found existing installation: pyserial 2.7
    Uninstalling pyserial-2.7:
Exception:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/local/lib/python2.7/site-packages/pip/commands/install.py", line 317, in run
    prefix=options.prefix_path,
  File "/usr/local/lib/python2.7/site-packages/pip/req/req_set.py", line 736, in install
    requirement.uninstall(auto_confirm=True)
  File "/usr/local/lib/python2.7/site-packages/pip/req/req_install.py", line 742, in uninstall
    paths_to_remove.remove(auto_confirm)
  File "/usr/local/lib/python2.7/site-packages/pip/req/req_uninstall.py", line 115, in remove
    renames(path, new_path)
  File "/usr/local/lib/python2.7/site-packages/pip/utils/__init__.py", line 267, in renames
    shutil.move(old, new)
  File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 303, in move
    os.unlink(src)
OSError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/pyserial-2.7-py2.7.egg'

That is not a bug. You are going to install 2 copies of PlatformIO.
Please don't install development version of PlatformIO to global system. Use virtual environment instead.
sudo pip install -U virtualenv
virtualenv ~/.poienv
source ~/.poienv/bin/activate
pip install -U https://github.com/platformio/platformio/archive/develop.zip
pio --version
# deactivate - if you need to exit from env

Next time if you need to work with development version, you need just 1 command: source ~/.poienv/bin/activate

Please reopen if you need a help


Need to remove BrowserModule imports from BluiAuthModule

Describe the bug / expected behavior
At the component level we should not import BrowserModule,  BrowserModule is only imported once in the root module, if BluiAuthModule is not used in AppModule, it will report an error
What are the steps to reproduce?

Go to...
Click on...

Screenshots / Screen recording

Code snippet / Link to minimum reproduction example

CODE HERE

Your environment information

Suggested fix

Anything else to add?

@RaghavendranC-Eaton Will look at it and verify.


Run tests on codeship

Added

Run the (non-integration) tests during CI/CD
Make it easier to run the various tests
Use Docker to run tests, so they're run on a consistent version of Node

Do you want to update the README to go along with these changes?


Add a list of threat categories

In the Q&A section of Getting started, there is reference to a list of threat categories that CRF can cover. We can consider the following categories:

Financial risk: such as loss/theft of valuable asset, or being subject to a fine.
Non-tangible risk: such as reputation
Security risk: such as loss of confidentiality, Integrity or availability
Safety risk: such malfunction that would endanger the life of the end user.
Compliance risk
Privacy risk

Added initial draft here: https://github.com/cyris360/cyris360-framework/blob/main/9-additional-resources/catalogue-threat-scenarios.md


Improve documentation for prepare-information-files

I've had a frustrating morning with qiita documentation, and wanted to see how I can help.
Prepare information files on website
Prepare information files source on github
This page describes the requirements of sample information file and prep information file but raises more questions than it answers.

How does these files differ in purpose?
How does these files differ in contents? (Could they be identical or include identical columns? Is it better to increase or decrease redundancy between these file?)
How do these files relate to the qiita philosophy?

I'm getting the sense that the distinction between these is super intuitive to the developers, but less clear to novice users like me. I'm interesting in contributing to documentation so that this system is clear to everyone.
Thanks!

Thank you for writing and letting us know. Did you take a look at https://qiita.ucsd.edu/static/doc/html/faq.html?
BTW any suggestions will be greatly appreciated.

The FAQ page is very helpful. Thank you Antonio.
With fresh eyes this afternoon, I have a better understanding of how these two templates fit into the qiita philosophy. I'll describe the system as best I understand it in a PR and I would appreciate any guidance you have to give.
Thank you!

That will be great, thanks! Again, any suggestions to make things clearer are welcome.

Should I refer to the biological metadata file as sample information file or sample template or 'metadata'?
(Consistent, unambiguous wording is important, especially for beginners. The old qiime docs calls these metadata and mapping file. Was there a reason for introducing two new terms for the same files, because 😱 )

Good catch and the 3 names are from historical reasons and we know there are some left over occurrences.
Let's start with the most confusing, template vs. information file. The name template comes from the old DB and basically it became a thing to call your information files, even as they are not templates anymore cause they have all the information we need. Thus, a couple of months ago we decided to move to information files, which is actually correct. We will really appreciate all corrections in the documentation about this.
Now, the template or mapping file, AKA the QIIME mapping file, it's a combination of the sample and one preparation information file. The idea of Qiita, as you can see from the documentation is that you have 1 sample but multiple preps. Thus, expanding that idea.
Again, thanks for the help.

Thanks for the info. I understand now why qiita specifically separates 'sample info' and 'prep information' files and why a clean break from the 'metadata / mapping' confusion is needed. Now I'm finally grasping this data structure, I think I can actually help describe it.
As of now, 'Sample information file' is only used on the FAQ and Prepare information files page. This wording on other doc pages, on the live site, and in the variable names selves all use 'Sample template'. So what's the correct nomenclature going forward?

Sample information file is the correct name and what we want to have everywhere in the documentation/descriptions/etc. As you can imagine there are a lot of places in the code, which in general is hidden from users, were we still use the sample template name and changing it will be a heroic task as it will require changing the code and have a (set of) patch(es) to change them in the database.

This issue is related to: https://github.com/biocore/qiita/issues/1785

Right, right. Updating all the backend code is overkill and probably not worth it, but fixing the public facing stuff is important. I'll start the conversion over to 'Sample information file' with the documentation pages.
Thanks!

The Qiita phyilosophy should heavily emphisize the distinction between Samples and Preps. We could add this to the graphic and add a section under 'A Study' to emphasize the one-to-many relationship between them.
Who has the source that made that graphic? I could updated it.

Seems like I never added it to the repo (logos folder), I'll send it to you via email.

The old prepare-templates.html page should mention that 'templates' have been depreciated in favor of 'information files' and redirect to the new prepare-information-files.html page.
That old templates page is no longer on github, so I'm not sure how to submit a PR for this...

Interesting, the reason the old one exists is because we don't delete the old builds. I think the best will be to create a new one with the old name and add that info. Thanks!

Do successful builds on github push to qiita.ucsd.edu? I'm used to them pushing to gh-pages, so I assumed no automation.
I'll try making a prepare-templates.rst file now and see if I can overwrite the old page...
Thanks Antonio. You have been both helpful and supportive here.

No, the documentation is built when we (re)start (update) the system. Just FYI, we are planning a restart for this weekend.

Very cool. Thanks for telling me more about this system. So, if I understand correctly: my PRs get built automatically and you can review and merge them. Every so often, you take the newest stable build and launch it to the live site?

That's correct.

Thanks for all the feedback Antonio. I appreciate all your help here.
Now that this page is almost fixed, what about the rest of the sit?. 'Template' is still the common term on the site itself and on the Getting started page. What's a good way to move forward?

I guess we will need to change all the documentation 😐. Also, we just changed the GUI and those updates are not reflected 😢. We will really appreciate help with this ...

Haha right. This is a great 'tech minimal' way I am help out. Your team has done a very good job using modern technologies, so this may be pretty possible (not a lot of rendered images to update, for example).
Maybe you could create a new issue for this and make an overview task list? Then could start a mammoth PR.

Thank you for your help with this!! This is super important but we have to manage new features vs. documentation, and must some times we get behind. Added https://github.com/biocore/qiita/issues/1828, where I think we have a comprehensive list but will be worth a second check.

Oh I've been there on my own projects. One this one, I can help keep the ball rolling on documentation. Once this PR get's resolved, I'll close this issue, and focus on work on #1828.
Thanks Antonio.

No, thank you! 😉 . BTW: see and you can automatically close issues once the PR is merge if you add to one of your commits something like fix #issue-number.

Yeah, I alway remember to do that when submitting the PR, not when committing the changes. I'll try that next time.

Closing in favor of #1828


Improve with-sentry example

In response to https://github.com/zeit/next.js/issues/1852

Ability to catch server-side errors
Ability to catch errors in custom server code
Deduplicating analogous server-side and client-side errors
Reporting correct number of users in sentry for each error
Reporting BUILD_ID as release in sentry
Ability to set SENTRY_TOKEN so sentry can access source maps in production

Is it complicated? Yes. Is it necessary for proper production error handling, also yes.
I propose you merge this and I could extract this into plugins when next.js supports creating plugins for Server and App

I think I'll replace session cookie with ip address so there are less packages in example

or never mind, I'll still need to persist ip_address in cookies to client so errors are properly reported if next is failing to load somehow, so the complexity will be the same

Sentry working properly is a critical requirement before going to production with Next.js.   I can't thank you enough for the time you put into this for the community.

It took a week or two but I'm pretty happy with error reporting now :)
For sure there are some things to improve:

reported server-side errors: https://github.com/getsentry/sentry-javascript/issues/1622
for some reason errors are reported multiple times in console (but only once to sentry)

I also recommend my targets-webpack-plugin so next.js websites are properly rendered by google bot (chrome 41) and legacy browsers (mobile browsers and internet explorer).

❤ Excited to try this!

Thanks a ton, for the time you put into this. Super excited to try this, this has stumped me for quite some time

@sheerun are errors happening in getInitialProps on the server reported correctly for you? With this code for me they are still only reported the first time they are happening. subsequent errors of the same type get lost until i restart the server

Is anyone else experiencing huge memory leaks on the node server (v: 10.13.0) with this example as long as it uses the sentry request and error handlers? Not sure if this is sentry related or because of interaction between sentry and next.  I observed this using memwatch
    memwatch.on('leak', (info: any) => {
        console.log('memwatch::leak')
        console.error(info)
    })

    memwatch.on('stats', (stats: any) => {
        console.log('memwatch::stats')
        console.error(Util.inspect(stats, true, null))
    })

Maybe they are not reported because sentry ignores duplicated errors?

@sheerun can you elaborate on the need for targets-webpack-plugin?  If nextjs isn't properly rendering for googlebot that seems like a serious problem.  I am curious if there are already nextjs issues open about that so we can work towards making nextjs work perfectly out of the box?

I don't know. By default it works with google bot but when you install practically any modern package it stops. The solution is to transcompile final bundles instead of each file individually.

I just double checked, it should not be because of duplicate errors. But client side error catching works perfectly now for us. I had to remove the sentry-handlers as they cause huge memory-leaks for us

For next week I won't have time to improve this PR to fix this so maybe someone else wants to

when i did the same steps as i get
These dependencies were not found:
console in<EMAIL_ADDRESS>fs in<EMAIL_ADDRESS>./node_modules/lsmod/index.js
module in<EMAIL_ADDRESS>
<EMAIL_ADDRESS>

I tried this out and it seems to work great.  No synthetic errors!
I wanted to get the dsn and environment from environment variables and for some reason the es6 method didn't work for me so I did what the transpiler would have done but I am sure there is a better way.  Still, perhaps it helps someone who wants the same:
const _config = require("next/config");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : {default: obj}; }
const _config2 = _interopRequireDefault(_config);
const _getConfig = (0, _config2.default)();
const publicRuntimeConfig = _getConfig.publicRuntimeConfig;

if (publicRuntimeConfig.SENTRY_DSN) {
    Sentry.init({
        dsn: publicRuntimeConfig.SENTRY_DSN,
        environment: publicRuntimeConfig.ENV,
    });
}

@Enalmada Don't say that. server.js role is twofold:

It reports errors that are happening in custom server code and the code, outside of getInitialProps & render. Without it you only catch next.js-specific and react errors, not all errors. I had serious problems with my app because of errors that didn't get catched in custom server code and we potentially lost many of users because 500 pages were shown to them by express server before even reaching next.js handler, but no error reporting happened. You cannot just ignore it.
For each error in sentry it reports number of users that are affected by this error by setting sid  (session id) cookie. Anyone who maintains popular app knows there will be hundreds of random errors in sentry because of variety of web-enabled devices. Knowing number of affected users is critical for selecting actually important errors to fix.

Discovering memory leaks in sentry is saddening (https://github.com/getsentry/sentry-javascript/issues/1762) but it doesn't disqualify this PR as proper solution for error handling. I hope Sentry will resolve these issues soon so we can merge this.
As for catching middleware errors this is proper solution for now (after memory leaks are fixed by sentry). If you don't like it you can iterate on it in the future by e.g. having next.js manage custom server code and only allow to inject middleware in next.config.js. This way next.js would be able to catch any errors even if they happened in custom server code.
As for tracking users for errors - there's no another way to implement this for now. Using getInitialProps and serializing state as suggested by @timneutkens won't work because of complexity of code that has to execute for this feature to work: successful getInitialProps, serialization, app initialization and then rehydration (and also because errors can happen in custom server code). In contrast setting cookie can hapen by just setting header in middleware and reading it is handled by browser itself - there's practically nothing that can break this process.

Ah, thank you for the great explanation about how these two lines (which I prematurely commented out of memory leak fear) actually do more than I realized:
server.use(Sentry.Handlers.requestHandler()); server.use(Sentry.Handlers.errorHandler());
Everyone absolutely needs to catch all errors in addition to next errors!
@abraxxas issue notes that the memory leak only happens on node 10.x so this issue should still be merged asap, just with a strong README warning to use node 8.x until that sentry issue is resolved.  The existing sentry example already has the sentry and request handler so merging this with a note to use node 8 is just one more way this pull request could help everyone.
Let's get this merged because it is so much better than current example and then we can continue to work with next to fundamentally improve the situation (middleware support, etc).

I just implemented this in typescript and according to the types there are a few issues with this PR.
React.ErrorInfo only contains one key called componentStack and the request object does not have a params or query key

@abraxxas Maybe you want to send PR to this PR?

sure will do that as soon as i have some time today, just wanted to notify
everyone

Sebastian Dumbs
Tel: 0699/19012945
<EMAIL_ADDRESS>Am Do., 6. Dez. 2018 um 11:43 Uhr schrieb Adam Stankiewicz <
<EMAIL_ADDRESS>
@abraxxas https://github.com/abraxxas Maybe you want to send PR to this
PR?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/zeit/next.js/pull/5727#issuecomment-444828808, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AIbrNhvevDJTJ0pk3MHcsNuJ8uorpcl9ks5u2PTPgaJpZM4Ytx8n
.

I've merged @abraxxas PR to this PR so we should be fine now, thank you!

I'm going to merge this but I think it would still be beneficial to have a lightweight version of this without a custom server / cookies / etc for if you only want to catch the errors that are rendering in _error.js (all user-side errors in Next.js)

Maybe getInitialProps could be made the place but currently it suffers from few problems:

Render of _error.js causes _app.js to render which could've triggered error in the first place. I think _error.js should be on the same level as _app.js so to prevent such often situation
Because of something error passed to getInitialProps becomes synthetic and is missing proper stacktrace (maybe because getInitialProps of _error.js is async or maybe because async getInitialProps _app.js which it depends on is called, all the errors passed to onErrorCatched become synthetic or maybe because)
It doesn't catch errors from getInitialProps of _app.js
It doesn't catch errors that are thrown in custom server code (next.js would need to export app.getErrorHandler()) that should be attached at the end of custom server code.
It doesn't catch unhandled errors in next.js app (probably new api like static onUnhandledException() would be needed

Changes from this pr have been lost in merge commit https://github.com/zeit/next.js/commit/163830c026f61370b9c1f5d05005f52c91e7ecee

@timneutkens ^

Feel free to resubmit a PR @Yankovsky


migrate: gitlab: only try split namespace & subdir if authenticated, …

…since GetVersion only works with it

Codecov Report

Merging #13629 (5f112f3) into master (12c2efb) will decrease coverage by 0.00%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master   #13629      +/-   ##
==========================================
- Coverage   42.20%   42.19%   -0.01%
==========================================
  Files         697      697
  Lines       76571    76572       +1
==========================================
- Hits        32314    32310       -4
- Misses      38959    38962       +3
- Partials     5298     5300       +2

Impacted Files
Coverage Δ

modules/migrations/gitlab.go
1.00% <0.00%> (-0.01%)
:arrow_down:

modules/avatar/avatar.go
50.00% <0.00%> (-4.77%)
:arrow_down:

modules/queue/manager.go
62.13% <0.00%> (-2.96%)
:arrow_down:

routers/api/v1/repo/pull.go
24.84% <0.00%> (-0.61%)
:arrow_down:

services/pull/pull.go
41.27% <0.00%> (+0.49%)
:arrow_up:

modules/charset/charset.go
73.03% <0.00%> (+4.49%)
:arrow_up:

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 6626a04...5f112f3. Read the comment docs.

backport PR created at https://github.com/go-gitea/gitea/pull/13633


Seeding one file on Electron - commonPrefix error

When using create-torrent inside Electron a File from input has the full path.
However, the File object itself cannot be modified for some reason, so assigning item.path won't do anything. Later, when calling item.path.shift() will cause an error
I half solved this by adding && input.length > 1 to the condition if (commonPrefix) so that the only-item's path doesn't try to get shifted, however, the torrent will then have a name of '/' because that's the commonPrefix value which is later set in opts.name.
A solution would be to only find commonPrefix if the input length is over 1, but I don't know if that will break anything else.

This is a new issue since @jhiesey added support for nested directories in 3.18.0. Looking into it.

Wait, are you saying the issue only happens if you create a one-file torrent?

PR here: https://github.com/feross/create-torrent/pull/22

Released as 3.20.2.

Released as 3.20.2.


Add get_config and set_config methods to AgentManager

As part of our ongoing efforts to refactor review-web for better encapsulation and abstraction, we've identified a need to add specific methods to the AgentManager trait that abstract away the internal communication protocol details (See #144). This issue addresses the addition of get_config and set_config methods to support module configuration in a way that aligns with our encapsulation goals.
Proposed by @sophie-cluml (https://github.com/aicers/review-web/pull/148#discussion_r1517068147)

For the question in the comment of #148, I suggest below.
async fn get_config(&self, hostname: &str, agent_key: &str) -> Result<oinq::Config, anyhow::Error>
async fn set_config(&self, hostname: &str, agent_key: &str, config: &oinq::Config) -> Result<(), anyhow::Error>

For agent_key, I think it's also possible to define an enum, like below, and use the type instead of &str.
enum AgentKey {
  piglet,
  crusher,
  hog,
  ...
}


can't get remote data

I install pm2-gui on a remote server and add the configuration as follow in pm2-gui.ini
pm2@server1 = password@http://pm2.myhost.com/sockserv
well I can already access http://pm2.myhost.com and I don't get any error from the master pm2-gui
i'm running nginx

Please reference to Serving apps locally with nginx and custom domain


cdx-7 & cdx-37: api changes for taxonomy on Individual

:warning: DRAFT
Pull Request Overview

cdx-7: taxonomy (guid) on /api/v1/individuals/GUID
cdx-7: PATCH on Individual accept taxonomy (guid) property/value
cdx-37: POST (create new) on Individual now requires taxonomy (guid) value

looks like frontend PR for cdx-7 is good, so will wait for frontend PR for cdx-37, then will un-draft this.


Prefix for device

it would be great if you can define a prefix for the sensor name.
As example:
I have 9 finder 7m.24 1phase meters
When i can define a prefix for the meter than i can identify the meter as sensor.PREFIX-Counter-N1 for example

Your PR has now been merged. Thanks. :)


making DropwizardSl4jRequestLogger public instead of package private

fixes https://github.com/dropwizard/dropwizard/issues/1988

Coverage remained the same at 84.481% when pulling 88c7abdfa07c5220341f00a5031256983f5e47c6 on qinfchen:master into<PHONE_NUMBER>e1389975a87d122d75ad754e94b8e6 on dropwizard:master.

Coverage remained the same at 84.481% when pulling 88c7abdfa07c5220341f00a5031256983f5e47c6 on qinfchen:master into<PHONE_NUMBER>e1389975a87d122d75ad754e94b8e6 on dropwizard:master.

I think that's a reasonable improvement. Thank you!


Merge upstream 20240520

We didn't touch any code changes, so it should be safe to merge this.
https://github.com/bobanetwork/superchain-registry/compare/main...bobanetwork:superchain-registry:0964797


Serve Python import maps outside libcfgraph

Comes from https://github.com/Quansight-Labs/czi-conda-forge-mgmt/issues/5
Depends on #54

This in the only source of data that we can't serve via OCI-backed or Anaconda.org-backed info/ metadata directly because it requires a global package search. We need to figure out how to present these maps without relying on libcfgraph-like  setups (i.e. not another JSON in a repo?).
One way is to reutilize the files-to-artifacts mapping and compute the import-maps on the spot, because they can be inferred by the location of __init__.py modules, mostly.

Closed by https://github.com/regro/cf-scripts/pull/2225


Generate fails when IPv4 Sessions exist with no IPv4 prefixes in AS-SET

Currently, when you have an IPv4 peering session configured and the remote-end doesn't have any IPv4 prefixes under their AS-SET in the queried IRR databases, Pathvector errors and doesn't continue the config generation.
DEBU[0007] Running bgpq4 -S RPKI,APNIC,RIPE,ARIN,LACNIC,AFRINIC -h rr.ntt.net -Ab4 <AS-SET_HERE>
FATA[0008] peer has IPv4 session(s) but no IPv4 prefixes

It would be nice for Pathvector to continue the generation and possibly just make an empty IPv4 prefix list for the session as to not interrupt the rest of the configuration and to prevent having to manually re-define the IPv4 session later on. I'm unsure if this occurs when the peer has no IPv6 prefixes but IPv4 so I'm unable to confirm if the same issue occurs in the opposite scenario.
Version is 5.11.1 and freshly installed from the .deb file.

UPDATE: Nevermind, looks like a previous manually-compiled version was being chosen when executing pathvector generate instead of the newly-installed version from the .deb file. Issue has resolved itself.


Define %||% as this was only introduced in R 4.4.0

https://www.r-project.org/nosvn/R.check/r-oldrel-macos-arm64/greta.gam-00check.html

Resolved in https://github.com/greta-dev/greta.gam/commit/bab3a2bb8e71134207132e3a01334b0c05efc492


Replace remaining /dotnet/api references with xrefs

Fixes #24809.

These "-1" bookmarks ... are those going to an earlier version of the coverage. They look like a mistake.

Yeah ... those are wrong. The "-1" should get the chop. I think the doc author had their doc version set to 5.0 when they grabbed the link. You might try that and see ... search the whole repo for "-1)" and see how many of those turn up.

There's just 3, fixed in https://github.com/dotnet/AspNetCore.Docs/pull/25039/commits/90898dcb28e0f923bedb37d6a9a1fd111ffa2853.