Parallel PNG encoding

Every part of the decoding process for PNGs is inherently sequential, but there is some performance to be gained by parallelizing the encoding process.
Zlib compression
We have two Zlib compressors that can be used: fdeflate and flate2.
https://github.com/image-rs/image-png/pull/478 implemented this for the fdeflate mode.
https://github.com/sstadick/crabz/ provides a parallelizing wrapper around flate2.
Filtering
Filtering can be parallelized fairly easily, since it operates on each row individually. However, for up and paeth filters each operation needs not one but two rows - the previous row and the current one.
If we had the entire image in memory at the same time this would be trivial, but implementing this in a streaming fashion may require more somewhat more complex logic.
I don't expect huge gains here because filtering is extremely fast already, but it might become relevant once the rest of the process is parallelized.

I think it is worth taking a step back and figuring out precisely what use case we want to address.
The fdeflate parallelism was able to increase encoding speed from a couple hundred million pixels per second, to about one billion pixels per second. It gets the same -- roughly on-par with QOI -- compression ratio as the single thread version. Helpful if you have lots of image data to encode, but only if you don't care much about the compression ratio.
The gzp approach gets a compression almost as good single-threaded, but each core operates on 128 KB chunks of uncompressed image data. On small images there'd be no speedup at all.
Streaming encode is another question. It is probably doable to implement, but would be more effort. Is it worth trying to design for at the same time or only if there's interest later?

The use case I had in mind was AI image generators. They typically run on beefy machines and need to encode the generated images losslessly, both to store later and to transmit over a network via a web UI. So both encoding speed and compression ratio matter.
Admittedly I'm not building one of those, but I think it is applicable anything that needs a trade-off between encoding speed and compression ratio. That is, everything that doesn't crank compression up to 9.
Regarding streaming: it only introduces issues for filtering, and I'm not convinced that parallelizing filtering is even profitable. We can implement parallel Gzip compression first, and then evaluate whether parallel filtering helps at all. If we find that it does, we can initially implement it for full-image encoding only, and support streaming later if/when someone asks.

That's helpful framing. It probably means images in the single digits megapixel range, so enough to keep a modest number of cores fed with 128 KB chunks of raw data. But not so much that's there any concern about keeping one (or even several) copies of the full image in memory.
In this scenario, there might be some control over which image format to use. If so, it may make more sense to focus on the WebP encoder, which already does much better on the encoding speed vs. compression ratio tradeoff.
The reason to parallelize filtering is probably mostly to use memory bandwidth better. Right now, the code filters a row into a temporary buffer and then immediately compresses it. The full filtered image data never exists fully in memory. In #478, the parallelization applies to both steps with each core allocating one row's worth of temporary buffer to filter into and then compress.


Support for CPU temp display in UI

Closes #27
Implementation

Added an endpoint to access the CPU temperature, this uses existing command running capabilities in the password-manager microservice to run vcgencmd to get the temperature.

This should not be merged right now, as the API needs to be hooked up with the frontend.

All the changes are done, but this cannot be merged until #10 is done, as this is a v0.3 feature.

#10 moved to v0.4. Merging this.


Android Studio Can't find the library

Hi , Thank you for this beutiful library but , when i try to add it to my project Android Studio Can't find it What shoud i do ?

Hello. Yes, i know. This is the bintray linking. Wait for fix.

Fixed.

But now like before android studio can't find it .

Try to clear cache or check valid compile path. I have tried last version to compile and there are no errors.


integration_test (ticdc): fix bdr mod integration test error.

What problem does this PR solve?

Issue Number: close #7821
What is changed and how it works?
Check List
Tests

Integration test
Manual test (add detailed scripts or steps below)

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
None

/run-integration-test

/run-integration-test

/merge


Add computers log

See https://github.com/goonstation/goonstation/pull/6415

Also fixes colour of tgui log thing (mistake in CSS).


Added call_context to HostInvocations and additional call_with_context functions

Feature or Problem
This PR adds an additional parameter to the component and module call functions, with another function head called call_with_context, and another parameter HostInvocation struct called call_context, which is an optional byte vector. Host implementers can use to add additional context onto invocations which will be propagated the entire length of the call.
The original problem this addresses is the fact that there was no way to propagate a parent span ID through a system in order to construct a full trace from the host side. I'd be happy to entertain different naming schemes for the context, different API strategies instead of a call and call_with_context function, etc. I decided to implement first to show a glimpse at what needed to be done so we can discuss.
Related Issues
Release Information
next
Consumer Impact
Consumers of this crate won't need to change their code as the call_with_context functions are pure additions.
Testing

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin
[ ] x86_64-windows

Tested on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin
[ ] x86_64-windows

Unit Test(s)
None
Acceptance or Integration
None
Manual Verification
I used this git branch in order to test https://github.com/wasmCloud/wasmcloud-otp/pull/594 which is a full implementation of adding a call_context with a span context and then reconstituting the trace context on the other end

Please make sure there's only one commit in this PR

@rvolosatovs I'll make sure to rebase locally once reviewing is done, was planning to leave commits separate for reviewing simplicity

@rvolosatovs marked as Ready for Review since I addressed comments / tests / clippy, it's ready for another pass


[FEATURE] sap.ui.layout.form.Form adds new event defaultAction

Adds a new event to sap.ui.layout.form.Form which is triggered by
hitting the Enter key. Many users are accustomed to utilizing the
Enter key to submit a form, for example hitting Enter after entering a
username / password and subsequently being logged into the system. By
adding the new event, defaultAction, UI5 developers can trigger any
controller action when the user hits the Enter key within the form.
Ideally, this would be the same controller action tied to the form's
default button's press event.
Fixes https://github.com/SAP/openui5/issues/649

I am forwarding this to colleagues to check it internally.
Colleagues can use ticket #1770553599

Hello codeman869,
thanks a lot for your proposal how to make UI5's controls better.
We discussed your proposal internally in some rounds and we see the advantages for the main use cases where a form control is used as skeleton for a ... form :-)
But looking on other use cases and on the idea of having a clearer interaction model, we see the risk that enabling a "interaction part" in a control which is only meant for visual structure purposes that this will break in some cases and also lead to even more unstructured code in an application.
Although we will not merge your contribution into UI5, I am very thankful for people like that not only have ideas but also go the next step - and communicate them (and even more: implement them!).
So I personally hope that this was not the last idea you're throwing into the pot :-)
BR
Alex


Write logs before sending result to the channel

Changelog
fix missing or incomplete hook logs
Issues fixed or closed
https://github.com/adobe-platform/porter/issues/116
Questions (open the PR then click the check boxes)
Did you update the documentation related to your changes?

[x] Yes
[ ] My changes were not already documented

Did you run make before committing code and opening this PR?

[x] Yes
[ ] I didn't change any code

Did you run porter create-stack and porter sync-stack to verify provisioning
works?

[ ] Yes
[x] N/A

@phylake please review

👍

@jfieber or @davepersing please take a look

👍


Cannot specify headers for gRPC server reflection

Expected Behavior
Being able to specify headers before clicking to use server reflection in the Insomnia gRPC client interface.
This is useful because some gRPC apps may be behind proxies with route matching based on header values.
Therefore, unless proto files are specified (unable to do that because of #4038), server reflection for the upstream server only works once the routes are matched, so there is a need to specify the header values in advance of using server reflection.
Actual Behavior
Clicking to use server reflection yields an UNIMPLEMENTED error since there is no way to specify the header values.
Reproduction Steps

Create a gRPC request

Notice you cannot specify any necessary header values anywhere (which is the issue itself)
Click on 'use server reflection' button and receive the expected UNIMPLEMENTED error

Is there an existing issue for this?

[X] I have searched the issue tracker for this problem.

Additional Information
Error message:
Error invoking remote method 'grpc.loadMethodsFromReflection': Error: 12 UNIMPLEMENTED:

Stack trace:
Error: Error invoking remote method 'grpc.loadMethodsFromReflection': Error: 12 UNIMPLEMENTED:
    at EventEmitter.invoke (node:electron/js2c/renderer_init:2:10010)
    at async onClick (file:///Applications/Insomnia.app/Contents/Resources/app.asar/debug-672b1df6.js:42:2464)

Insomnia Version
8.4.4
What operating system are you using?
macOS
Operating System Version
Ventura 13.6.1
Installation method
download from insomnia.rest
Last Known Working Insomnia version
Not known

Can we prioritize this ?


dx fmt deletes comments

Problem
Using dx fmt on source files is deleting comments, both in rsx macros and standard rust when using --all-code.
This is especially egregious because standard rustfmt formatter is really messing up any files with rsx in them, so dx fmt is the only viable alternative.
Steps To Reproduce
Steps to reproduce the behavior:

Put any comments into a file - either inside rsx or elsewhere
Run dx fmt -f yourfile.rs
Comments deleted

Expected behavior
Comments should be left alone.
I'm not entirely sure how rustfmt does it, but with my limited experience with it, it seems to keep comments intact and relatively in the relevelant place after formatting.
Screenshots
n/a
Environment:

Dioxus version: 0.5.1
Rust version: rustc 1.77.2 (25ef9e3d8 2024-04-09)
OS info: Fedora 40 beta
App platform: n/a (but I'm making a fullstack app)

Questionnaire

[x] I'm interested in fixing this myself but don't know where to start
[ ] I would like to fix and I have a solution
[x] I don't have time to fix this right now, but maybe later

I am unable to reproduce this using the git version of the CLI. Can you test the git version of the CLI on your end?
You can install the git version with:
cargo install --git https://github.com/DioxusLabs/dioxus dioxus-cli

I did run the command to install git version and checked again:
-                // TODO: Implement event handling here -> listen to eve
nts in child
                 let accept_keys = [Key::Enter, Key::Character(" ".to_string())];
-                if accept_keys.contains(&evt.key()){
+                if accept_keys.contains(&evt.key()) {
                     log::info!("{} pressed in {}", evt.key(), "{props.labelText}");
                     log::info!("{} pressed in {}", evt.key(), "{props.labelText}");
                 }
             },
             class: "flex flex-1 h-full w-3/4 items-center justify-center btn btn-outline my-1 py-1",
-            div { class: "flex-none py-1", // TODO: Refactor into separate component
+            div { class: "flex-none py-1",
                 Icon { width: 24, height: 24, icon: props.icon, title: "{props.iconTitle}" }
-            },
+            }
             "{props.labelText}"
-            input { // TODO: Refactor into separate component
+            input {

dx -V says:
dioxus 0.5.2

I can reproduce it now. The formatter doesn't like inline comments and removes them completely:
rsx! {
    div {   // this comment will be removed
        "hi",
    }
}

this also seems to affect the VSCode Dioxus extension. Block-level comments (/* .. */) are also affected; doc comments (///) however are not.

Adding to the list.
All comments are removed in event handlers:
rsx! {
    div {
        // also occurs in move || async move
        onclick: move |_| {
            // is removed
            /* is removed */
        }
    }
}

I think it comes from here:
https://github.com/DioxusLabs/dioxus/blob/472031d1f51557601797d1cb469f09e4f3e0ca71/packages/cli/src/cli/autoformat.rs#L249-L253
syn does not keep comments.
https://crates.io/crates/rustfmt-wrapper (or spawning rustfmt directly) could be used instead.
This won't help in non-rust code, but I think it's a start.
I don't know if Dioxus developers would agree with this solution, but if they do, I would be happy to do it.

What if it was behind a target cfg? Wasi support spawning new tasks, so rustfmt would work.
But it's true it's not an ideal solution.


"URZICENI" is listed in the drop-down menu

Description:
When user writes "URZICENI" the location appears in the drop-down menu next to the comune and the county which is a part according to the law
Precondition:
The website is up an running.

Step 1
Write in the search bar "Urziceni"

Expected results
The location appears in the drop-down menu as "Municipiul URZICENI, IALOMIȚA "

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write again in the search bar "Urziceni"

Expected results
The location appears in the drop-down menu as "Oras URZICENI, IALOMIȚA, (URZICENI) "


Explorer scrolls to top after deleting a file

VSCode Version: 1.4.0
OS Version: macOS

Steps to Reproduce:

Scroll down the list of files in the Explorer and delete a file.
Note that the after doing so you lose your scroll position and are sent to the top.

Desired behavior
Scroll position should be maintained IMO.  I may want to delete multiple files in the same general area.  So I would need to scroll back to the same spot each time I delete a file.

@bgashler1 I cannot reproduce, do you have steps?

@bpasero to reproduce, make sure you already have opened a file that is located near the top of the explorer; then open another file located near the bottom of the Explorer.  Once you close the file you're on in near the bottom of the Explorer, then the previous one near the top is revealed (and hence the scroll behavior).  IMO, I'm not sure we want to have it auto scroll up to the previous file.  Users can do that manually if they want.  In my case, deleting a lot of files was challenging because of the autoscroll.

Try "explorer.autoReveal": true


dotnet restore does not update links

Probably I am missing something obvious... I can build and execute the demo BlazorApp1 on a Windows 10 machine and also on a Ubuntu one. But if I copy the generated files and folders from the Windows machine to Linux, run
dotnet restore --force then
dotnet run fails with several errors like this one:
/home/xy/.nuget/packages/microsoft.aspnetcore.blazor.build/0.7.0/targets/Blazor.MonoRuntime.targets(12,5): error MSB3030: Could not copy the file "C:/Users/yz/Documents/Visual Studio 2017/Projects/BlazorApp1/obj/Debug/netstandard2.0/blazor/linker/Microsoft.AspNetCore.Blazor.dll" because it was not found. [/home/xy/Desktop/BlazorApp1/BlazorApp1.csproj]
Shouldn't restore update these references to a Windows folder?
Blazor.MonoRuntime.targets(12,5):
   <!-- Copy the blazor output files  -->     <Copy       SourceFiles="@(BlazorItemOutput)"       DestinationFiles="@(BlazorItemOutput->'%(TargetOutputPath)')"       SkipUnchangedFiles="$(SkipCopyUnchangedFiles)"       OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)"       Retries="$(CopyRetryCount)"       RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)"       UseHardlinksIfPossible="$(CreateHardLinksForCopyFilesToOutputDirectoryIfPossible)"       UseSymboliclinksIfPossible="$(CreateSymbolicLinksForCopyFilesToOutputDirectoryIfPossible)"       Condition="'@(BlazorItemOutput)' != '' and '$(CopyBuildOutputToOutputDirectory)' == 'true' and '$(SkipCopyBuildProduct)' != 'true'">     </Copy>

But if I copy the generated files and folders from the Windows machine to Linux

Don't do that. You can only move published files between machines. You can't move the output from regular (non-publish) builds, as they are specific not only to your machine architecture but even to your particular build location etc..
Please see https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-publish?tabs=netcore21


[stable/sonarqube] add support for Oracle DB

Signed-off-by: Jeremy Hayes<EMAIL_ADDRESS>Is this a new chart
Existing chart maintained by @rjkernick @tsiddique
What this PR does / why we need it:

Adds support for connecting to an external Oracle database

Checklist

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

@torstenwalter based on your feedback (https://github.com/helm/charts/pull/18050#issuecomment-552632870), I have submitted a new PR for Oracle support

/assign @rjkernick @orstenwalter @tsiddique

This chart has been deprecated and moved: https://github.com/helm/charts/pull/21007


Page number entity

Version of the custom_component

917615d
Configuration
N/A
Describe the bug
After this fix: https://github.com/HASwitchPlate/openHASP-custom-component/issues/88
Number entity experiences the following symptoms:

After reloading the integrattion the entity remains unavailable. To fix, need to restart plate.
Restarting the plate doesn't go back to the page it was before restart, instead, jumps to page 1. This happens even if integration is not reloaded (just change to any other page and restart the plate, after connecting back, it will show page 1 and number will update to 1). Earlier the plate restored the page it was on, before reboot, which was very convenient.

Debug log

N/A

should be fixed in main

fixed in 0.6.5


fix (curriculum): Improved sentences in challenges-english.

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #48118 this closes issue 48118 (Sentence that needs improvement in the new JS rpg project)

The affected files are:
freeCodeCamp/curriculum/challenges/english/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8eff21c0b0f6ebe5b8e38.md
freeCodeCamp/curriculum/challenges/english/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a94114ce0b8918b487390f.md
freeCodeCamp/curriculum/challenges/english/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62ba17beef16c563069a65d8.md
freeCodeCamp/curriculum/challenges/english/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa25fcb5837d43b4d9873d.md

Thank you @Sboonny and @moT01! it was a very good learning experience, I'm looking forward to more contributions!


Version 0.0.4 and 0.0.5 are not working

Version 0.0.4 and 0.0.5 have errors and have already tried to reinstall. It returned to version 0.03 and is now working normally.
It looks like the new version is still fetching files from the old version (0.0.3).
The error：
workbench.js:947 GET vscode-file://vscode-app/Users/xxxx/.vscode/extensions/drcika.apc-extension-0.0.3/modules/main.js net::ERR_FILE_NOT_FOUND
browser.main.js:13 Error: [object Event]
at Object.g [as ensureError] (workbench.js:524:24)
at p._createLoadError (workbench.js:1748:35)
at p._onLoadError (workbench.js:1759:32)
at a (workbench.js:1902:26)
at Object.errorback (workbench.js:1922:25)
at g.triggerErrorback (workbench.js:891:36)
at workbench.js:878:116
at HTMLScriptElement.o (workbench.js:911:17)

this is a caching issue, i hope it's fixed now


mjml command -i?

Hi, im trying to get the plugin to run on my system. I noticed, that the plugin runs the command mjml -i -s --...
i can't find the command -i in the mjml documentation, and using it manually will throw an exception. Can you explain what it is used for?
It is from the binary renderer code here:
    public function render(string $mjmlContent): string
    {
        $version = $this->getMjmlVersion();

        // Tab arguments
        $arguments = [
            $this->bin,
            '-i',
            '-s',
        ];

Hi,
The -i is used to compile from input stream, see the followinf screenshot:

Which version are you using?


Missing quotes

Fixes #2

euh... no. This is unneeded. The PR https://github.com/YunoHost-Apps/mopidy_ynh/pull/3 solved the problem of the spotify username(optional) already.


sc-7286 GDS User UI: fix app layout

Scope of changes
sc-7286 GDS User UI: fix app layout
Type of change

[x] bug fix
[ ] new feature
[ ] documentation
[ ] other (describe)

Acceptance criteria
I fixed the width of the whole app layout to avoid stretching on very large screens
Author checklist

[x] I have manually tested the change and/or added automation in the form of unit tests or integration tests
[ ]  I have updated the dependencies list
[ ]  I have recompiled and included new protocol buffers to reflect changes I made
[ ]  I have added new test fixtures as needed to support added tests
[ ]   Check this box if a reviewer can merge this pull request after approval (leave it unchecked if you want to do it yourself)
[x]  I have moved the associated Shortcut story to "Ready for Review"

Reviewer(s) checklist

[ ] Any new user-facing content that has been added for this PR has been QA'ed to ensure correct grammar, spelling, and understandability.

Codecov Report

Merging #643 (133f8fe) into main (0af2cba) will decrease coverage by 7.90%.
The diff coverage is n/a.

:exclamation: Current head 133f8fe differs from pull request most recent head 6d20121. Consider uploading reports for the commit 6d20121 to get more accurate results

@@            Coverage Diff             @@
##             main     #643      +/-   ##
==========================================
- Coverage   46.00%   38.10%   -7.91%
==========================================
  Files         550      155     -395
  Lines       16172     2433   -13739
  Branches     1201      617     -584
==========================================
- Hits         7440      927    -6513
+ Misses       7599     1330    -6269
+ Partials     1133      176     -957

Impacted Files
Coverage Δ

...-user-ui/src/components/BasicDetailsForm/index.tsx

...s-user-ui/src/components/Section/CreateAccount.tsx

web/gds-user-ui/src/components/Section/Login.tsx

...s-user-ui/src/components/Section/PasswordReset.tsx

web/gds-user-ui/src/layouts/LandingLayout.tsx

.../gds-user-ui/src/layouts/SimpleDashboardLayout.tsx

...src/modules/dashboard/certificate/registration.tsx

...s-user-ui/src/modules/dashboard/overview/index.tsx

web/gds-user-ui/src/theme/components/Input.ts

...b/gds-user-ui/src/components/Regulations/index.tsx

... and 385 more

Continue to review full report at Codecov.

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


Git commit date format correction for client starting log

Change commit date from 2016-04-20 to 20160420.

Test PASSed.

Test FAILed.

verify

Test FAILed.

verify

Test PASSed.

Test PASSed.

Test FAILed.

Test FAILed.

Test PASSed.


How to Peek And Lock a message in my Spring Boot Application using spring-cloud-azure-starter-servicebus-jms?

Hey guys so the requirement that I have right now is to setup a Queue Listener Spring Boot Application and I am using
spring-cloud-azure-starter-servicebus-jms for that, but the problem is the default setup mentioned here deletes the message from the queue once I receive it i.e its a destructive read.
My code right now is really simple:
Application name is QueuelistenerApplication
It only contains one file right now i.e QueuelistenerApplication.java with the following code:
package com.queue.listener.queuelistener;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jms.DefaultJmsListenerContainerFactoryConfigurer;
import org.springframework.context.annotation.Bean;
import org.springframework.jms.annotation.EnableJms;
import org.springframework.jms.annotation.JmsListener;
import org.springframework.jms.config.DefaultJmsListenerContainerFactory;
import org.springframework.jms.config.JmsListenerContainerFactory;

import jakarta.jms.ConnectionFactory;

@SpringBootApplication
@EnableJms
public class QueuelistenerApplication {
	private static final String QUEUE_NAME = "test";

	public static void main(String[] args) {
		SpringApplication.run(QueuelistenerApplication.class, args);
	}

	@JmsListener(destination = QUEUE_NAME, containerFactory = "jmsListenerContainerFactory")
	public void receiveMessage(String message) {
			System.out.println("Message received: {}" + message);
	}

}

Now I don't want the message to be deleted from the Queue once I've consumed it, Instead what I want is to Peek the Message and Lock it, then do my operations and IF the operations are successful then I can manually acknowledge the message, but IF the operations fails then I want the message to be returned to the Queue. How can I achieve that?

Hi @utkarshk8 , thank you for reporting this issue.
CLIENT_ACKNOWLEDGE of JMS session is consistent with PEEK-LOCK mode, hope this can help you


⚠ Bofrost.at has degraded performance

In 4621eaa, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1560 ms

Resolved: Bofrost.at performance has improved in a422b7a.


Game doesn't launch

Hi! I would see how your lib works but the game doesn't start. I have the latest version from Steam. May you have any idea about that?
My red4ext log:
[2023-06-28 18:03:47.713] [RED4ext] [info] RED4ext (v1.14.0) is initializing...
[2023-06-28 18:03:47.713] [RED4ext] [info] Game patch: 1.63
[2023-06-28 18:03:47.713] [RED4ext] [info] Product version: 1.63
[2023-06-28 18:03:47.713] [RED4ext] [info] File version: <IP_ADDRESS>053
[2023-06-28 18:03:47.740] [RED4ext] [info] RED4ext has been successfully initialized
[2023-06-28 18:03:47.785] [RED4ext] [info] RED4ext is starting up...
[2023-06-28 18:03:47.785] [RED4ext] [info] Loading plugins...
[2023-06-28 18:03:47.785] [RED4ext] [info] Loading plugin from 'C:\Program Files (x86)\Steam\steamapps\common\Cyberpunk 2077\red4ext\plugins\ArchiveXL\ArchiveXL.dll'...
[2023-06-28 18:03:47.896] [RED4ext] [info] ArchiveXL (version: 1.4.7, author(s): psiberx) has been loaded
[2023-06-28 18:03:47.902] [RED4ext] [info] Loading plugin from 'C:\Program Files (x86)\Steam\steamapps\common\Cyberpunk 2077\red4ext\plugins\Codeware\Codeware.dll'...
[2023-06-28 18:03:48.443] [RED4ext] [info] Codeware (version: 1.1.5, author(s): psiberx) has been loaded
[2023-06-28 18:03:48.443] [RED4ext] [info] Loading plugin from 'C:\Program Files (x86)\Steam\steamapps\common\Cyberpunk 2077\red4ext\plugins\httprequest\cpr.dll'...
[2023-06-28 18:03:48.452] [RED4ext] [info] Loading plugin from 'C:\Program Files (x86)\Steam\steamapps\common\Cyberpunk 2077\red4ext\plugins\httprequest\cyberpunk-httprequest.dll'...

Please try the latest version which is a complete rewrite to parse JSON


Serious NUMBER testing and refactoring EncodeDouble

I have found some random errors during my tests.
To ease the test of plenty of floats, I have build a system to put oracle binary representation automatically in a test functions. The program queries an oracle server and build following structure with results. See  go-ora\converters\generatefloat\main.go
var testFloatVualue = []struct {
	SelectText string
	OracleText string
	Float      float64
	Binary     []byte
}{
	{"0", "0", 0, []byte{128}},                                                                      // 0.000000e+00
	{"1", "1", 1, []byte{193, 2}},                                                                   // 1.000000e+00
	{"10", "10", 10, []byte{193, 11}},                                                               // 1.000000e+01
	{"100", "100", 100, []byte{194, 2}},                                                             // 1.000000e+02
	{"1000", "1000", 1000, []byte{194, 11}},                                                         // 1.000000e+03
	{"10000000", "10000000", 1e+07, []byte{196, 11}},                                                // 1.000000e+07
	{"1E+30", "1000000000000000000000000000000", 1e+30, []byte{208, 2}},                             // 1.000000e+30
	{"1E+125", "1.000000000000000000000000000000000E+125", 1e+125, []byte{255, 11}},                 // 1.000000e+125
	{"0.1", ".1", 0.1, []byte{192, 11}},                                                             // 1.000000e-01
	{"0.01", ".01", 0.01, []byte{192, 2}},                                                           // 1.000000e-02
	{"0.001", ".001", 0.001, []byte{191, 11}},                                                       // 1.000000e-03
...

Then I have adapted test functions to check encode / decode function to use it. I have found many errors in DecodeDouble, but none on DecodeDouble2.
The reason I still got errors after the merge of PR is that func (stmt *Stmt) read(dataSet *DataSet) error call DoubleDecode instead of DoubleDecode2.
https://github.com/sijms/go-ora/blob/451cdd0f12dcaedc96ba1a4f71e09d43aaee8238/command.go#L551-L561
I ran new test on DecodeDouble:
Running tool: C:\Go\bin\go.exe test -timeout 30s github.com\sijms\go-ora\converters -run ^TestDecodeDouble$

--- FAIL: TestDecodeDouble (0.00s)
    --- FAIL: TestDecodeDouble/1.234 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = 1.234e+08, want 1.234, Error= 1.234000e+08
    --- FAIL: TestDecodeDouble/123.4 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = 1.234e+06, want 123.4, Error= 1.233877e+06
    --- FAIL: TestDecodeDouble/0.01234 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = 1.234e+10, want 0.01234, Error= 1.234000e+10
    --- FAIL: TestDecodeDouble/0.0001234 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = 1.234e+12, want 0.0001234, Error= 1.234000e+12
    --- FAIL: TestDecodeDouble/0.000001234 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = 1.234e+14, want 1.234e-06, Error= 1.234000e+14
    --- FAIL: TestDecodeDouble/-1.234 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = -1.234e+08, want -1.234, Error= 1.234000e+08
    --- FAIL: TestDecodeDouble/-123.4 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = -1.234e+06, want -123.4, Error= 1.233877e+06
    --- FAIL: TestDecodeDouble/-1.234#01 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = -1.234e+08, want -1.234, Error= 1.234000e+08
    --- FAIL: TestDecodeDouble/-123.4#01 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = -1.234e+06, want -123.4, Error= 1.233877e+06
    --- FAIL: TestDecodeDouble/9.8765 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = 9.8765e+08, want 9.8765, Error= 9.876500e+08
    --- FAIL: TestDecodeDouble/98.765 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = 9.8765e+09, want 98.765, Error= 9.876500e+09
    --- FAIL: TestDecodeDouble/987.65 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = 9.8765e+06, want 987.65, Error= 9.875512e+06
    --- FAIL: TestDecodeDouble/9876.5 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = 9.8765e+07, want 9876.5, Error= 9.875512e+07
    --- FAIL: TestDecodeDouble/0.98765 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = 9.8765e+11, want 0.98765, Error= 9.876500e+11
    --- FAIL: TestDecodeDouble/0.098765 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = 9.8765e+10, want 0.098765, Error= 9.876500e+10
    --- FAIL: TestDecodeDouble/0.0098765 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = 9.8765e+13, want 0.0098765, Error= 9.876500e+13
    --- FAIL: TestDecodeDouble/0.00098765 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = 9.8765e+12, want 0.00098765, Error= 9.876500e+12
    --- FAIL: TestDecodeDouble/0.000098765 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = 9.8765e+15, want 9.8765e-05, Error= 9.876500e+15
    --- FAIL: TestDecodeDouble/0.0000098765 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = 9.8765e+14, want 9.8765e-06, Error= 9.876500e+14
    --- FAIL: TestDecodeDouble/0.00000098765 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = 9.8765e+17, want 9.8765e-07, Error= 9.876500e+17
    --- FAIL: TestDecodeDouble/-9.8765 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = -9.8765e+08, want -9.8765, Error= 9.876500e+08
    --- FAIL: TestDecodeDouble/-98.765 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = -9.8765e+09, want -98.765, Error= 9.876500e+09
    --- FAIL: TestDecodeDouble/-987.65 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = -9.8765e+06, want -987.65, Error= 9.875512e+06
    --- FAIL: TestDecodeDouble/-9876.5 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = -9.8765e+07, want -9876.5, Error= 9.875512e+07
    --- FAIL: TestDecodeDouble/-0.98765 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = -9.8765e+11, want -0.98765, Error= 9.876500e+11
    --- FAIL: TestDecodeDouble/-0.098765 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = -9.8765e+10, want -0.098765, Error= 9.876500e+10
    --- FAIL: TestDecodeDouble/-0.0098765 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = -9.8765e+13, want -0.0098765, Error= 9.876500e+13
    --- FAIL: TestDecodeDouble/-0.00098765 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = -9.8765e+12, want -0.00098765, Error= 9.876500e+12
    --- FAIL: TestDecodeDouble/-0.000098765 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = -9.8765e+15, want -9.8765e-05, Error= 9.876500e+15
    --- FAIL: TestDecodeDouble/-0.0000098765 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = -9.8765e+14, want -9.8765e-06, Error= 9.876500e+14
    --- FAIL: TestDecodeDouble/-0.00000098765 (0.00s)
        type_conversion_test.go:51: DecodeDouble() = -9.8765e+17, want -9.8765e-07, Error= 9.876500e+17
    --- FAIL: TestDecodeDouble/2*asin(1) (0.00s)
        type_conversion_test.go:51: DecodeDouble() = 3.14159265358979, want 3.141592653589793, Error= 3.108624e-15
FAIL
FAIL	github.com/sijms/go-ora/converters	0.283s
FAIL

Function DoubleDecode2 pass the same test:
Running tool: C:\Go\bin\go.exe test -timeout 30s github.com\sijms\go-ora\converters -run ^TestEncodeDouble2$

ok  	github.com/sijms/go-ora/converters	0.314s

Now, I have acquired a good knowledge on how NUMBERS are encoded, I undertook to rewrite DoubleEncoding to add readability and maintainability to the code. The new code is a lot simpler that don't use any table of number nor successive float operations:
func EncodeDouble2(num float64) ([]byte, error) {
	if num == 0.0 {
		return []byte{128}, nil
	}

	var (
		err      error
		negative bool
		exponent int
		mantissa int
	)

	// Let's the standard library doing the delicate work of converting binary float to decimal figures
	s := []byte(strconv.FormatFloat(num, 'e', -1, 64))

	if s[0] == '-' {
		negative = true
		s = s[1:]
	}

	if i := bytes.Index(s, []byte{'e'}); i >= 0 {
		exponent, err = strconv.Atoi(string(s[i+1:]))
		if err != nil {
			return nil, err
		}
		if exponent%2 != 0 {
			s = s[:i]
		} else {
			s = append([]byte("0"), s[:i]...)
		}
		if exponent < 0 {
			exponent--
		}
	}

	if i := bytes.Index(s, []byte{'.'}); i >= 0 {
		s = append(s[:i], s[i+1:]...)
	}

	mantissa = len(s)
	size := 1 + (mantissa+1)/2
	if negative && mantissa < 21 {
		size++
	}
	buf := make([]byte, size, size)

	for i := 0; i < mantissa; i += 2 {
		b := 10 * (s[i] - '0')
		if i < mantissa-1 {
			b += s[i+1] - '0'
		}
		if negative {
			b = 100 - b
		}
		buf[1+i/2] = b + 1
	}

	if negative && mantissa < 21 {
		buf[len(buf)-1] = 0x66
	}

	exponent = (exponent / 2) + 1
	if negative {
		buf[0] = byte(exponent+64) ^ 0x7f
	} else {
		buf[0] = byte(exponent+64) | 0x80
	}
	return buf, nil
}

I will use your function DecodeDouble2
but are you test EncodeDouble2 by sending parameter to oracle and see if it represented well?

Not yet.
I'm progressing in this way.
I'm also refactoring DecodeInt and EncodeInt

ok thanks a lot for your effort

You're welcome.


Styling improvements for scale-intro.md

follow-up for #44752
A few layout improvements for the page:

The two-column layout is symmetric now
The newly added note is on a separate row which adds proper separation

Original page
Deploy Preview

/area web-development
(Improving the layout through HTML elements restructuring gives off a web development vibe)

Visually, the page is improved with this PR
/approve


Cannot acknowledge a message after certain amount of time

I have a RabbitMQ subscriber which takes 10 minutes to process a message. Therefore I'm trying to acknowledge the message after the task is complete, so approximately after 10 mins. But when I try to do that it throws a Channel Invalid State Error exception. Do you guys have any recommendations for this kind of scenario?

Please, check this option in your RMQ config: https://github.com/rabbitmq/rabbitmq-server/blob/v3.8.x/deps/rabbit/docs/rabbitmq.conf.example#L602
It should be gt your expected processing time

@Lancetnik  I have already set a consumer timeout policy from the management UI to 30 minutes. But still I get the error. I have added the logs below.

`Traceback (most recent call last):
File "\Programs\Python\Python310\lib\contextlib.py", line 153, in exit
self.gen.throw(typ, value, traceback)
File ".venv\lib\site-packages\faststream\utils\context\repository.py", line 117, in scope
yield
File ".venv\lib\site-packages\faststream\broker\subscriber\usecase.py", line 355, in process_message
await h.call(
File ".venv\lib\site-packages\faststream\broker\subscriber\call_item.py", line 164, in call
result = await call(message)
File ".venv\lib\site-packages\faststream\broker\middlewares\base.py", line 64, in consume_scope
result = await call_next(await self.on_consume(msg))
File ".venv\lib\site-packages\faststream\broker\wrapper\call.py", line 201, in decode_wrapper
return await func(msg)
File ".venv\lib\site-packages\fast_depends\use.py", line 148, in injected_wrapper
r = await real_model.asolve(
File ".venv\lib\site-packages\fast_depends\core\model.py", line 533, in asolve
response = await run_async(call, *final_args, **final_kwargs)
File ".venv\lib\site-packages\fast_depends\utils.py", line 48, in run_async
return await cast(Callable[P, Awaitable[T]], func)(*args, **kwargs)
File ".venv\lib\site-packages\faststream\utils\functions.py", line 53, in to_async_wrapper
return await call_or_await(func, *args, **kwargs)
File ".venv\lib\site-packages\fast_depends\utils.py", line 48, in run_async
return await cast(Callable[P, Awaitable[T]], func)(*args, **kwargs)
File ".\main.py", line 26, in subscribe_to_index_pdf_file
await broker.publish(
File ".venv\lib\site-packages\faststream\rabbit\broker\broker.py", line 612, in publish
return await super().publish(
File ".venv\lib\site-packages\faststream\broker\core\usecase.py", line 344, in publish
return await publish(msg, **kwargs)
File ".venv\lib\site-packages\faststream\broker\middlewares\base.py", line 102, in publish_scope
result = await call_next(
File ".venv\lib\site-packages\faststream\rabbit\publisher\producer.py", line 102, in publish
r = await self._publish(
File ".venv\lib\site-packages\faststream\rabbit\publisher\producer.py", line 183, in _publish
return await exchange_obj.publish(
File ".venv\lib\site-packages\aio_pika\exchange.py", line 194, in publish
return await channel.basic_publish(
File ".venv\lib\site-packages\aiormq\channel.py", line 691, in basic_publish
await drain_future
asyncio.exceptions.CancelledError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File ".venv\lib\site-packages\faststream\broker\acknowledgement_watcher.py", line 195, in __reject
await self.message.reject(**self.extra_options)
File ".venv\lib\site-packages\faststream\rabbit\message.py", line 54, in reject
await pika_message.reject(requeue=requeue)
File ".venv\lib\site-packages\aio_pika\message.py", line 480, in reject
await self.channel.basic_reject(
File ".venv\lib\site-packages\aio_pika\message.py", line 391, in channel
raise ChannelInvalidStateError
aiormq.exceptions.ChannelInvalidStateError`

Can you show me the subscriber?

@Lancetnik This is how it looks like. At the moment I have make no_ack=True. But I also tried with auto acknowledgement which Fast Stream does itself.

Can you index_pdf_file locks event-loop?

I am sure, that the problem is not in the FastStream/aio-pika codebase
For me, now it looks like RMQ lost your subscriber health checks and kills the connection

Thank you @Lancetnik . That was the exact issue. There were some calls which blocked the event-loop. Now it's working fine. One additional question though, is there any equivalent in Fast Stream to set the prefetch count?

Thank you @Lancetnik . That was the exact issue. There were some calls which blocked the event-loop. Now it's working fine. One additional question though, is there any equivalent in Fast Stream to set the prefetch count?

RabbitBroker(max_workers=...) or smth like

So, can we close the issue due u found the problem?
Btw, always welcome, be free to ask anything here or in the discord

Yes sure we can close this & Thank you!


build fail

I am building it in VPS with 2G memory, but it prompts:
[ 71%] Building CXX object modules/td/CMakeFiles/tdcore.dir/td/telegram/MessageEntity.cpp.o
[ 72%] Building CXX object modules/td/CMakeFiles/tdcore.dir/td/telegram/MessageId.cpp.o
[ 72%] Building CXX object modules/td/CMakeFiles/tdcore.dir/td/telegram/MessagesDb.cpp.o
[ 72%] Building CXX object modules/td/CMakeFiles/tdcore.dir/td/telegram/MessagesManager.cpp.o
clang: error: unable to execute command: Killed
clang: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
clang: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/MessagesManager-aef777.cpp
clang: note: diagnostic msg: /tmp/MessagesManager-aef777.sh
clang: note: diagnostic msg:

********************
modules/td/CMakeFiles/tdcore.dir/build.make:1934: recipe for target 'modules/td/CMakeFiles/tdcore.dir/td/telegram/MessagesManager.cpp.o' failed
make[2]: *** [modules/td/CMakeFiles/tdcore.dir/td/telegram/MessagesManager.cpp.o] Error 254
CMakeFiles/Makefile2:325: recipe for target 'modules/td/CMakeFiles/tdcore.dir/all' failed
make[1]: *** [modules/td/CMakeFiles/tdcore.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

Check checkbox "I have less than 1.5 GB of RAM" in https://tdlib.github.io/td/build.html.

A lot of memory Levsky need to keep within 512mb For comfortable work.


Test: web & mobile  rewards page

User Story
As a quality assurance engineer,
I want to thoroughly test the functionality of the rewards screen that displays the points earned by the user,
So that I can ensure accurate presentation of earned points and seamless user experience.
Acceptance Criteria

[ ] Develop test cases to cover all aspects of the functionality for the rewards screen.
[ ] Implement and execute automated tests to verify the accurate display of earned points on the rewards screen.
[ ] Test the rewards screen with diafferent scenarios, including users with varying points balances.
[ ] Verify that the rewards screen is accessible from the main navigation or appropriate menu.
[ ] Ensure responsiveness and usability of the rewards screen across different devices and screen sizes.
[ ] Document and report any issues or bugs found during testing.

Related Issues

#116

Notes

Thorough testing of the rewards screen is essential to ensure accurate presentation of earned points and a seamless user experience.
Test cases should cover various scenarios, including users with different points balances and screen sizes.
Collaborate with frontend developers to address any issues or bugs found during testing.

Tasks

[ ] Create comprehensive test cases for the functionality of the rewards screen.
[ ] Set up an automated testing environment and framework if not already in place.
[ ] Execute the test cases to verify the accurate display of earned points on the rewards screen.
[ ] Test the rewards screen with different scenarios to ensure robustness.
[ ] Ensure responsiveness and usability across different devices and screen sizes.
[ ] Document and report any issues or bugs discovered during testing.

Getting started on the web side of this issue.

Starting on the mobile side @saanbe16

Completed on the web side, PR has been merged.

This is done on mobile


Hello example in Nuttx kernel build

First I want to thanks your articles, they help me to start up this project a lot and it's really excellent.
Currently, I read this (article)[https://github.com/lupyuen/lupyuen.github.io/blob/master/src/riscv.md] and build Nuttx for RISC-V successfully.
But there is a little problem, when I run Nuttx with Qemu, it should can run hello example but this operation failed.

Hi: Thank you so much for your sponsorship, it really means a lot to me :-)
May I know which operation failed for NuttX on QEMU? A screenshot or log capture would be helpful too. Thanks!

Thanks for your reply.
You can see there is a program named hello.

But this program does not show at help command and we can't run hello program.

Ah OK, this happens because the hello app is disabled. To enable it:

Run make menuconfig
Browse to Application Configuration > Examples > "Hello World" Example
Press Space to select, until "M" turns to "*"
Save and exit
Run make

Lemme know if it works. Thanks :-)

enable

It's already set as below.

Hi: Could you confirm that these are the steps we ran:
mkdir nuttx
cd nuttx
git clone https://github.com/apache/nuttx nuttx
git clone https://github.com/apache/nuttx-apps apps
cd nuttx
tools/configure.sh rv-virt:nsh64
grep HELLO= .config
## Shows: CONFIG_EXAMPLES_HELLO=m

make menuconfig
## Browse to `Application Configuration > Examples > "Hello World" Example`
## Press Space to select, until "M" turns to "*"
## Save and Exit

grep HELLO= .config
## Shows: CONFIG_EXAMPLES_HELLO=y

make
qemu-system-riscv64 \
  -semihosting \
  -M virt,aclint=on \
  -cpu rv64 \
  -smp 8 \
  -bios none \
  -kernel nuttx \
  -nographic

When I run this with the latest version of NuttX, the hello app works OK. Wonder if there's something different about the build environment? (I'm using macOS x64)
NuttShell (NSH) NuttX-12.3.0-RC1
nsh> uname -a
NuttX 12.3.0-RC1 d92a701 Nov 14 2023 08:11:31 risc-v rv-virt

nsh> help
help usage:  help [-v] [<cmd>]

    .           cp          exit        mkrd        set         unset
    [           cmp         false       mount       sleep       uptime
    ?           dirname     fdinfo      mv          source      usleep
    alias       dd          free        pidof       test        xd
    unalias     df          help        printf      time
    basename    dmesg       hexdump     ps          true
    break       echo        kill        pwd         truncate
    cat         env         ls          rm          uname
    cd          exec        mkdir       rmdir       umount

Builtin Apps:
    hello     nsh       ostest    sh

nsh> hello
Hello, World!!

Hi: Could you confirm that these are the steps we ran:
mkdir nuttx
cd nuttx
git clone https://github.com/apache/nuttx nuttx
git clone https://github.com/apache/nuttx-apps apps
cd nuttx
tools/configure.sh rv-virt:nsh64
grep HELLO= .config
## Shows: CONFIG_EXAMPLES_HELLO=m

make menuconfig
## Browse to `Application Configuration > Examples > "Hello World" Example`
## Press Space to select, until "M" turns to "*"
## Save and Exit

grep HELLO= .config
## Shows: CONFIG_EXAMPLES_HELLO=y

make
qemu-system-riscv64 \
  -semihosting \
  -M virt,aclint=on \
  -cpu rv64 \
  -smp 8 \
  -bios none \
  -kernel nuttx \
  -nographic

When I run this with the latest version of NuttX, the hello app works OK. Wonder if there's something different about the build environment? (I'm using macOS x64)
NuttShell (NSH) NuttX-12.3.0-RC1
nsh> uname -a
NuttX 12.3.0-RC1 d92a701 Nov 14 2023 08:11:31 risc-v rv-virt

nsh> help
help usage:  help [-v] [<cmd>]

    .           cp          exit        mkrd        set         unset
    [           cmp         false       mount       sleep       uptime
    ?           dirname     fdinfo      mv          source      usleep
    alias       dd          free        pidof       test        xd
    unalias     df          help        printf      time
    basename    dmesg       hexdump     ps          true
    break       echo        kill        pwd         truncate
    cat         env         ls          rm          uname
    cd          exec        mkdir       rmdir       umount

Builtin Apps:
    hello     nsh       ostest    sh

nsh> hello
Hello, World!!

Sorry for late.
This method is working but I want to build kernel mode instead of flat mode.
Thanks for your reply.
Maybe I need to read more document about Nuttx, let's close this issue.
Thank you again.

Hi: Could you confirm that these are the steps we ran:
mkdir nuttx
cd nuttx
git clone https://github.com/apache/nuttx nuttx
git clone https://github.com/apache/nuttx-apps apps
cd nuttx
tools/configure.sh rv-virt:nsh64
grep HELLO= .config
## Shows: CONFIG_EXAMPLES_HELLO=m

make menuconfig
## Browse to `Application Configuration > Examples > "Hello World" Example`
## Press Space to select, until "M" turns to "*"
## Save and Exit

grep HELLO= .config
## Shows: CONFIG_EXAMPLES_HELLO=y

make
qemu-system-riscv64 \
  -semihosting \
  -M virt,aclint=on \
  -cpu rv64 \
  -smp 8 \
  -bios none \
  -kernel nuttx \
  -nographic

When I run this with the latest version of NuttX, the hello app works OK. Wonder if there's something different about the build environment? (I'm using macOS x64)
NuttShell (NSH) NuttX-12.3.0-RC1
nsh> uname -a
NuttX 12.3.0-RC1 d92a701 Nov 14 2023 08:11:31 risc-v rv-virt

nsh> help
help usage:  help [-v] [<cmd>]

    .           cp          exit        mkrd        set         unset
    [           cmp         false       mount       sleep       uptime
    ?           dirname     fdinfo      mv          source      usleep
    alias       dd          free        pidof       test        xd
    unalias     df          help        printf      time
    basename    dmesg       hexdump     ps          true
    break       echo        kill        pwd         truncate
    cat         env         ls          rm          uname
    cd          exec        mkdir       rmdir       umount

Builtin Apps:
    hello     nsh       ostest    sh

nsh> hello
Hello, World!!

This method can work. Thank you a lot.

Ah yes NuttX Kernel Mode requires a few more steps, as explained here: https://nuttx.apache.org/docs/latest/platforms/risc-v/qemu-rv/boards/rv-virt/index.html
NuttX Kernel Mode uses Semihosting, so we need to build the NuttX Apps Filesystem: https://lupyuen.github.io/articles/semihost#nuttx-calls-semihosting
Here are the steps I tested:
mkdir nuttx
cd nuttx
git clone https://github.com/apache/nuttx nuttx
git clone https://github.com/apache/nuttx-apps apps
cd nuttx

## Configure NuttX for QEMU Kernel Mode
tools/configure.sh rv-virt:knsh64
grep HELLO= .config
## Shows: CONFIG_EXAMPLES_HELLO=m
## This is OK for Kernel Mode

## Build the NuttX Kernel
make

## Build the NuttX Apps Filesystem
make V=1 -j7
make export V=1
cd ../apps
./tools/mkimport.sh -z -x ../nuttx/nuttx-export-*.tar.gz
make import V=1
cd ../nuttx

## Start NuttX in QEMU
## (Uses Semihosting to access the NuttX Apps Filesystem)
qemu-system-riscv64 \
  -semihosting \
  -M virt,aclint=on \
  -cpu rv64 \
  -smp 8 \
  -bios none \
  -kernel nuttx \
  -nographic

And the hello app runs OK (without setting menuconfig):
→ qemu-system-riscv64 \
  -semihosting \
  -M virt,aclint=on \
  -cpu rv64 \
  -smp 8 \
  -bios none \
  -kernel nuttx \
  -nographic

ABC
NuttShell (NSH) NuttX-12.3.0-RC1
nsh> uname -a
NuttX 12.3.0-RC1 479dda9 Nov 16 2023 19:50:58 risc-v rv-virt
nsh> help
help usage:  help [-v] [<cmd>]

    .           cp          exit        mkrd        set         unset
    [           cmp         false       mount       sleep       uptime
    ?           dirname     fdinfo      mv          source      usleep
    alias       dd          free        pidof       test        xd
    unalias     df          help        printf      time
    basename    dmesg       hexdump     ps          true
    break       echo        kill        pwd         truncate
    cat         env         ls          rm          uname
    cd          exec        mkdir       rmdir       umount
nsh> hello
Hello, World!!

Ah yes NuttX Kernel Mode requires a few more steps, as explained here: https://nuttx.apache.org/docs/latest/platforms/risc-v/qemu-rv/boards/rv-virt/index.html
NuttX Kernel Mode uses Semihosting to access the apps, so we need to build the NuttX Apps Filesystem: https://lupyuen.github.io/articles/semihost#nuttx-calls-semihosting
Here are the steps I tested:
mkdir nuttx
cd nuttx
git clone https://github.com/apache/nuttx nuttx
git clone https://github.com/apache/nuttx-apps apps
cd nuttx

## Configure NuttX for QEMU Kernel Mode
tools/configure.sh rv-virt:knsh64
grep HELLO= .config
## Shows: CONFIG_EXAMPLES_HELLO=m
## This is OK for Kernel Mode

## Build the NuttX Kernel
make

## Build the NuttX Apps Filesystem
make V=1 -j7
make export V=1
cd ../apps
./tools/mkimport.sh -z -x ../nuttx/nuttx-export-*.tar.gz
make import V=1
cd ../nuttx

## Start NuttX in QEMU
## (Uses Semihosting to access the NuttX Apps Filesystem)
qemu-system-riscv64 \
  -semihosting \
  -M virt,aclint=on \
  -cpu rv64 \
  -smp 8 \
  -bios none \
  -kernel nuttx \
  -nographic

And the hello app runs OK (without setting menuconfig):
→ qemu-system-riscv64 \
  -semihosting \
  -M virt,aclint=on \
  -cpu rv64 \
  -smp 8 \
  -bios none \
  -kernel nuttx \
  -nographic

ABC
NuttShell (NSH) NuttX-12.3.0-RC1
nsh> uname -a
NuttX 12.3.0-RC1 479dda9 Nov 16 2023 19:50:58 risc-v rv-virt
nsh> help
help usage:  help [-v] [<cmd>]

    .           cp          exit        mkrd        set         unset
    [           cmp         false       mount       sleep       uptime
    ?           dirname     fdinfo      mv          source      usleep
    alias       dd          free        pidof       test        xd
    unalias     df          help        printf      time
    basename    dmesg       hexdump     ps          true
    break       echo        kill        pwd         truncate
    cat         env         ls          rm          uname
    cd          exec        mkdir       rmdir       umount
nsh> hello
Hello, World!!

The hello executable is located here:
nsh> ls -l /system/bin/hello
 -rwxrwxrwx      534672 /system/bin/hello
nsh> /system/bin/hello
Hello, World!!

This is I need!!!!
Thanks a lot.

Cool! Lemme know if you have any questions :-)


Adding support for JSON parser.

Is your feature request related to a problem? Please describe.
Currently, there is a lack of functionality to parse the JSON raw string into a JSON object to retrieve its elements.
Describe the solution you'd like
First party implmentation/3rd party dependency.
We need to decide what azure core's stance is on the JSON library. Some questions that are important to answer:

Is it OK for us to take a dependency on a 3rd party library, or do we need our own (storage team seems to be expecting us providing one)?

nlohmaan Json:

Why did we pick that particular one? Are we happy with its performance?
Is it pluggable/replaceable by the customer?
Do we expose or intend to expose any of the 3rd party library APIs in our public surface area?
How do we plan to add features and what happens if there are breaking or other changes in the dependency?
What's our plan for keeping things in sync?
How do AWS/GCP solve this concern?

Storage team is going to use https://github.com/nlohmann/json as a temporary solution and migrate to Azure::Core's implementation when it's ready.

GCP uses nlohmann: https://github.com/googleapis/google-cloud-cpp/search?q=json
AWS uses cJSON: https://github.com/aws/aws-sdk-cpp/blob/master/aws-cpp-sdk-core/include/aws/core/external/cjson/cJSON.h.
There is a not here that cJSON is NOT thread safe: https://github.com/DaveGamble/cJSON#thread-safety.
You know, we could use our own C JSON library to create/parse. This way, we'd own all the code/security/perf issues and it is thread safe (which matters a lot for us). We would NOT expose it to customers (at least initially) so span and other structures would be internal to us.

GCP uses nlohmann: https://github.com/googleapis/google-cloud-cpp/search?q=json
AWS uses cJSON: https://github.com/aws/aws-sdk-cpp/blob/master/aws-cpp-sdk-core/include/aws/core/external/cjson/cJSON.h.
There is a not here that cJSON is NOT thread safe: https://github.com/DaveGamble/cJSON#thread-safety.
You know, we could use our own C JSON library to create/parse. This way, we'd own all the code/security/perf issues and it is thread safe (which matters a lot for us). We would NOT expose it to customers (at least initially) so span and other structures would be internal to us.

I don't see any reason to expose JSON to the user.  We have model types and strings.  Customers that want to parse the raw json can use any json parser they want.
Internally within the SDK the clients should use the same json library.  We need to provide internal json support for client libraries.  I suggest using nholmanjson as it seems to meet our needs for size, perf, thread safety.

I don't see any reason to expose JSON to the user.  We have model types and strings.  Customers that want to parse the raw json can use any json parser they want.
Internally within the SDK the clients should use the same json library.  We need to provide internal json support for client libraries.  I suggest using nholmanjson as it seems to meet our needs for size, perf, thread safety.

You know, we could use our own C JSON library to create/parse. This way, we'd own all the code/security/perf issues and it is thread safe (which matters a lot for us). We would NOT expose it to customers (at least initially) so span and other structures would be internal to us.

@RickWinter any reason not to investigate using our own from C, instead of nlohmann (possibly post-GA)?

You know, we could use our own C JSON library to create/parse. This way, we'd own all the code/security/perf issues and it is thread safe (which matters a lot for us). We would NOT expose it to customers (at least initially) so span and other structures would be internal to us.

@RickWinter any reason not to investigate using our own from C, instead of nlohmann (possibly post-GA)?

any reason not to investigate using our own from C

I would say:

It's not as easy to use as nlohman. Does not offer the cool operators to parse json fields as:

// To create:
json j;
  j["pi"] = 3.141;

// to parse
auto jsonParser = Azure::Core::Internal::Json::json::parse(bodyBuffer);
    auto& error = jsonParser["error"];
    errorCode = error["code"].get<std::string>();
    message = error["message"].get<std::string>();

We would need to create an extra adapter layer to the C json lib to implement those operators using the C lib.  That seems like not a very trivial work to do.

any reason not to investigate using our own from C

I would say:

It's not as easy to use as nlohman. Does not offer the cool operators to parse json fields as:

// To create:
json j;
  j["pi"] = 3.141;

// to parse
auto jsonParser = Azure::Core::Internal::Json::json::parse(bodyBuffer);
    auto& error = jsonParser["error"];
    errorCode = error["code"].get<std::string>();
    message = error["message"].get<std::string>();

We would need to create an extra adapter layer to the C json lib to implement those operators using the C lib.  That seems like not a very trivial work to do.

Since this is not part of the public surface area (i.e. not meant to be used by the end user), and in most cases it will be protocol layer code that is auto-generated rather than human generated, ease of use via convenience method isn't as critical compared to the other factors (and one we can always add to, in the future).

Since this is not part of the public surface area (i.e. not meant to be used by the end user), and in most cases it will be protocol layer code that is auto-generated rather than human generated, ease of use via convenience method isn't as critical compared to the other factors (and one we can always add to, in the future).


Can't scroll in pop up window

I've been sent this screenshot showing this bug in Google Chrome on MacOS. They can't scroll at all, even when the lower section is shown. It's not happening on my Linux install of Chrome or Firefox. I'll do some further investigation soon, but I think it's best to move the deadname settings back to their own page and keep the pop up for the enable/disable. I'll implement that tonight as a bugfix and push it out asap.

Two notes on this commit -

I simplified some of the on/off toggle logic. It was inconsistent in saveSettings() compared to its own listener, and saveSettings appeared to be overriding listener. I've tested this on Chrome and Firefox (both in Xubuntu) and the toggle still works as it did.

One other motivation for this is to separate functions that require immediate access (toggle, and later the incognito mode) from the permanent settings (names)


Fix error checks during certificatePath reading and parsing in azuread

Before this PR certificate-based authentication (in case of a ActiveDirectoryServicePrincipal or ActiveDirectoryApplication fed auth) would panic (nil pointer dereference at github.com/microsoft/go-mssqldb@v1.7.2/azuread/configuration.go:228) because of wrong error checks.

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

Project coverage is 74.40%. Comparing base (573423d) to head (0850e76).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #227      +/-   ##
==========================================
- Coverage   74.87%   74.40%   -0.48%
==========================================
  Files          32       31       -1
  Lines        6397     6388       -9
==========================================
- Hits         4790     4753      -37
- Misses       1325     1352      +27
- Partials      282      283       +1

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

thx for the PR.
Yikes, this is a bad test hole. Can you pls add a test to at least verify the negative case of a missing cert?

i have another PR to prep for v1.8.0 https://github.com/microsoft/go-mssqldb/pull/228


fix: MD023/heading-start-left/header-start-left

@nschonni : Thanks for your contribution! The author, @shants123, has been notified to review your proposed change.

@tfosmark : Thanks for your contribution! The author, @shants123, has been notified to review your proposed change.

@tfosmark : Thanks for your contribution! The author, @shants123, has been notified to review your proposed change.

@nschonni Thanks for these fixes! I'll merge this now.


Create "starter" configurations for new users

Create some well-documented common configurations that be used as a teaching tool as well as a valid jumping off point for new users.

Mostly done in examples section now

[ ] Add full markdown templates to show off advanced mustache features
[ ] Add footer example
[ ] Add partials example once its implemented


Update README.md

Fix grammatical error. It should be the possessive "its", not the contracted "it is".
Description

What type of PR is this? (check all applicable)

[ ] 🍕 Feature
[ ] 🐛 Bug Fix
[ ] 📝 Documentation Update
[ ] 🎨 Style
[ ] 🧑💻 Code Refactor
[ ] 🔥 Performance Improvements
[ ] ✅ Test
[ ] 🤖 Build
[ ] 🔁 CI
[ ] 📦 Chore (Release)
[ ] ⏩ Revert

Related Tickets & Documents

Mobile & Desktop Screenshots/Recordings

Steps to QA

Added to documentation?

[ ] 📜 README.md
[ ] 📓 docs.opensauced.pizza
[ ] 🍕 dev.to/opensauced
[ ] 📕 storybook
[ ] 🙅 no documentation needed

[optional] Are there any post-deployment tasks we need to perform?
[optional] What gif best describes this PR or how it makes you feel?

Hi @hi-brylle, please see our contributing guidelines before opening a pull request.


Patch 1

Docs Build status updates of commit 046dd13:
:clock10: Full build: the average full build time is 14 min(s) 15 sec(s), this is based on the last 82 build(s) for this repository.
:warning: This is a FULL build due to the incremental build being disabled in configuration file (.openpublishing.publish.config.json in 'live' branch). For more detailed info, please click here.

Docs Build status updates of commit 046dd13:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/encryption-and-certificates/New-OMEConfiguration.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 215f9bc:
:clock10: Full build: the average full build time is 14 min(s) 15 sec(s), this is based on the last 84 build(s) for this repository.
:warning: This is a FULL build due to the incremental build being disabled in configuration file (.openpublishing.publish.config.json in 'live' branch). For more detailed info, please click here.

Docs Build status updates of commit 215f9bc:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/encryption-and-certificates/New-OMEConfiguration.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Platform authorization

Short Description
This pull request will allow the nisq-analyzer to get bearer tokens by means of a refresh token from the PlanQK platform and pass them to the SDK services.
Proposed Changes

add refresh token to the selection request
get bearer tokens from the PlanQK Platform with the refresh token
pass the bearer token to the SDK services
add unit test for an implementation on the PlanQK platform
add the refresh token to the readme

Solves #39


Add new deploy app command

This PR adds a new command: deploy-app.
deploy-app

Opens the URL for the create-app page in a new browser tab. Also passes a query parameter for filepath that is generated from the current workspace in JLab. Accepts an argument origin ('menu', 'context-menu' etc) that allows controlling what icon is displayed.

Reference Issues or PRs

What does this implement/fix?
Put a x in the boxes that apply

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds a feature)
[ ] Breaking change (fix or feature that would cause existing features not to work as expected)
[ ] Documentation Update
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no API changes)
[ ] Build related changes
[ ] Other (please describe):

Testing

[x] Did you test the pull request locally?
[x] Did you add new tests?

Documentation

Access-centered content checklist
Text styling

[ ] The content is written with plain language (where relevant).
[ ] If there are headers, they use the proper header tags (with only one level-one header: H1 or # in markdown).
[ ] All links describe where they link to (for example, check the Nebari website).
[ ] This content adheres to the Nebari style guides.

Non-text content

[ ] All content is represented as text (for example, images need alt text, and videos need captions or descriptive transcripts).
[ ] If there are emojis, there are not more than three in a row.
[ ] Don't use flashing GIFs or videos.
[ ] If the content were to be read as plain text, it still makes sense, and no information is missing.

Any other comments?
Original issue: https://github.com/nebari-dev/jhub-apps/issues/472

Updating snapshots failed because of timeouts I think:
https://github.com/nebari-dev/jupyterlab-jhub-apps/actions/runs/11060426290/job/30730934981

bot please update snapshots

bot please update snapshots


the algorithm works fine but the boxes does not appear in the result image; any idea?

https://github.com/lewes6369/TensorRT-Yolov3/blob/0f876892bd1d21538acf30b3ea5f754ad0a7bbf0/main.cpp#L345-L359
only inputing single image will draw the box. Do you try other test image?


Announce badges are ready

Queue has started

Sorry, only just seen this, and I imagine most folk will know by now.

No worries!


No uses being displayed in Equipment  for magic items with charges

I have created a magic item with charges and it does not show the remaining charges in the inventory view. Only way to see the remaining charges is to goto the edit screen. I can see charges for features but not items.

Duplicate of #28 (but thanks for the report!)


[chore] add gzip size badge.

This is a patch, by @OliverJAsh, available on master to add a gzip size badge.
Acceptance Checklist:

[x] All commits have been squashed to one.
[x] The commit message follows the guidelines in CONTRIBUTING.md.
[x] Documentation (README.md) and examples have been updated as needed.
[x] If this is a code change, a spec testing the functionality has been added.
[x] If the commit message has [changed] or [removed], there is an upgrade path above.

Released v1.9.4.


Can't get proper syntax

I'm trying to implement this on a TFS 2018 Hosted XML project and I'm unable to reimport the WIT. The extension is installed in my project. When I export the WIT (custom WIT) from TFS 2018, I see the Extensions section with the multivalue control info in it and I'm able to add the Extension tag. But I'm having problems with the correct syntax for implementing it in the Control.
When I follow the instructions to insert the ControlContribution tag for the controls I want to have multivalues, I get errors on importing the WIT. Initially it was ' is unexpected token. Expecting white space.' It gives me a specific row and location, but there didn't seem to be any errors.
When I tried other methods of inserting the ControlContribution tag I would get an error that ControlContribution isn't valid for the Column section. I tried to make ControlContribution a child of the Control field, but that also threw an error.
Also there is no Type="" in the ControlContribution tag, is Type now unnecessary?
Thanks,

You need to place the <ControlContribution> within a <Group>
like this

Detailed xml instructions can be found here

So I put it in the same group as the Control is in? And I leave the Control line and tags all the same? Is the Type Field Control or Multivalue Control?
Except I got this error upon import.

Make sure to use <WebLayout> not the old <Layout>
The path to the Group that you are placing the ControlContribution is
/WITD/WORKITEMTYPE/FORM/WebLayout/Page/Section/Group
<ControlContribution Label="Label" Id="ms-devlabs.vsts-extensions-multivalue-control.multivalue-form-control">
    <Inputs>
        <Input Id="FieldName" Value="RefNameOfTheField" />
        <Input Id="Values" Value="ValueOne;ValueTwo;ValueThree;ValueFour" />
    </Inputs>
</ControlContribution>


Allow using a metric type in the Query method select_metrics.

This is useful when a user wants to apply the exact same filters (duration, aggregation, resource labels) for a different metric type.

@rimey: Please take a look.

Hi @supriyagarg,
It looks like we did you a disservice here, by approving your PR but failing to merge it. Sadly, now that nearly a year as past, the code has moved significantly.
We are still willing to accept this in principle, but can not make changes to your PR (since you have it configured not to allow this). Therefore, I am going to close this issue as stale for now. If you would like to make the necessary updates, though, we would be happy to consider doing this.


Add missing kt library kind when collecting android ide info

https://github.com/bazelbuild/intellij/commit/eeb20cd4dd7c7e1fd28c5a6bd9109130f5eeae43#diff-7e834e0a725805ad4dfd127ba905e50964c78307ddb756da99d15a0a1ea28a46R813
Added a filtering based on the rule kind, for kotlin users who don't use the sandwich solution the kt_android_library kind is needed.
Also see: https://github.com/bazelbuild/intellij/pull/5789
Checklist

[ ] I have filed an issue about this change and discussed potential changes with the maintainers.
[ ] I have received the approval from the maintainers to make this change.
[x] This is not a stylistic, refactoring, or cleanup change.

merged in https://github.com/bazelbuild/intellij/pull/6292


Categories?

"You can configure auditing for different types of event categories, as explained in the Set up auditing for your database section."
Where is this explanation? All I see in that section is "If you want to customize the audited events, you can do this via PowerShell cmdlets or the REST API."

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

ID: 0c27fe13-a824-84a5-e314-892a27c1dec5
Version Independent ID: 510b5427-c927-84df-563f-31dfe13fc771
Content: Get started with Azure SQL database auditing
Content Source: articles/sql-database/sql-database-auditing.md
Service: sql-database
GitHub Login: @ronitr
Microsoft Alias: ronitr

@dcbrown16 Thank you for the detailed feedback. This is being assigned to the content author to evaluate and update as appropriate.

@ronitr  Any update?

Hi,
We have removed this statement from the doc, as there is no longer a UI option to customize audit events. In order to selectively audit by event categories, you can use the REST or PowerShell APIs or T-SQL commands to specify Actions-Groups and Actions to audit.
CC: @vainolo
Thanks
--Ronit.

@dcbrown16 We will now proceed to close this thread. If there are further questions regarding this matter, please comment and we will gladly continue the discussion.


Proving math functions with Spartan

Thanks for your great work.
I wonder if it is possible to prove math functions such as simple comparison, square root, reciprocal or (more complex) exponential functions using Spartan. Could you shed some light on this? Thanks a lot!

I think the challenge is expressing these non-linear computations in R1CS?

Yes, exactly. There are tools like circom and noir that can let you express high-level computation and they can then be proven with spartan.


Attachments aren't downloading.

The attachment filenames are now visible. The files are being downloaded, and can be opened for viewing in detail.


multi-dim arrays

https://github.com/microsoft/yardl/blob/main/docs/docs.md#computed-fields states
MyRec: !record
  fields:
    arrayField: !array
        items: int
        dimensions: [x, y]
  computedFields:
    accessArrayElementByName: arrayField[y:1, x:0]

this swaps the order between dimensions and access. Is this intentional? It'd be very confusing!
Also, somewhere in the doc we'll need a description of mappings between yardl types and C++ and other target languages. In particular, I believe you generate your own multi-dim array type as there still doesn't seem to be an std  container sadly.
It could be useful to support a few existing multi-dim arrays to avoid copies in client-code (Boost.MultiArray and https://amypad.github.io/CuVec/ come to mind), but I can see that becoming very difficult. (If a mapping to a flat array is exposed somewhere, it'd need to be stated if row-major or column-major order is used).

I've opened a separate issue to discuss the C++ array library issue (#22).
Regarding the computed field syntax for accessing array values, it was a deliberate choice to allow the dimensions to be given in any order when they are specified by name. But I can see that being confusing. We can make a change to require them to always be provided in the correct order.

Fixed in referenced PR. Will be part of next release.


[Feature Request] Load custom models as ENV variables in docker or some other way to load custom models.

🥰 Feature Description
I am using own locally run model api under open ai name, but the models for open ai are hard coded into the ui, and without going into settings and changing the custom model name each time will output a wrong model error.
I is not a problem if my PC has only one model loaded, but multiple loaded model need to specify what model to use in the api request. I am using this chat UI as front end to expose on a website to the public. And a common man wont know what model are loaded on my pc and that he has to go to settings to manually load a model.
Please provide a feature to load models on the server side and show it as a list to the public to select from.
🧐 Proposed Solution
Please provide a feature to load models on the server side and show it as a list to the public to select from.
📝 Additional Information
No response

https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web/issues/5001

use: CUSTOM_MODELS as env variable in docker and put all models together separated by comma was solution for now.
I dont understand chinese, it is a bit hard to understand and look the translations.


keyword as string name allowed or not ?

This code with keyword "union" compiles fine :
text = "Hello"
union = "#{text} world"
puts union
but with "select" keyword this code :
select = "#{text} world"
puts select
gives "Syntax error in eval:5: unexpected token: = (expecting when, else or end)"
(Crystal 0.27.2)

union can only appear in lib, so here there's no conflict. select can appear anywhere. Please use the forum for questions. Thank you!


HHH-17158 detect incorrect use of @JoinColumn outside @JoinTable/@CollectionTable

https://hibernate.atlassian.net/browse/HHH-17158

The failures of form:
: Error: Can't use 'tar -xzf' extract archive file:
Don't look related to this change.


normalized state and input

Hi alexliniger,
https://github.com/alexliniger/MPCC/blob/3ec7805e7a176c57250c1a414a6d2b871e472d74/C%2B%2B/MPC/mpc.cpp#L73
In this place, you did the normalization for the problem. And I guess it was done by replacig "x'=T_x \times x", "u'=T_u \times u" and "s'=T_s*s".
Then,
https://github.com/alexliniger/MPCC/blob/3ec7805e7a176c57250c1a414a6d2b871e472d74/C%2B%2B/MPC/mpc.cpp#L235
but here you just dealt with state x while doing nothing with input x and slack variable s? I don't know why?

The first part is normalizing the matrices of the optimization problem and thereby indirectly the optimization variables, the second line is normalizing the "measured" state x0
This function
https://github.com/alexliniger/MPCC/blob/3ec7805e7a176c57250c1a414a6d2b871e472d74/C%2B%2B/MPC/mpc.cpp#L119
is then de-normalizing all the variables back to their metric values.
Normalizing the optimization variables is only depending on the matrices and the initial state x0, so I don't have to normalize anything else. But once I get the solution I have to get it back to my normal space.
I hope this helps, otherwise I suggest you just write down all the math for normalizing a QP.

Thanks a lot. I got it.


Buttons to disable / enable all extensions disappeared.

VSCode Version: 1.8.0 - insider (dbf3ba7)
OS Version: Windows 10

-- Sorry for the English, I used Google Translator --
Steps to Reproduce:

Buttons to disable / enable all extensions disappeared.

We'd decided to clean up the menu. That action is now available as a global command, reachable via Cmd Shift P or F1.

-- Sorry for the English, I used Google Translator --
@joaomoreno I think the other more intuitive, more direct. Perhaps the choice of Workspace could get through F1. But enable and disable general should get easier.
Add some menus, such Update, Enable All, All Disabled
Would be like this:
"..."> More Settings> 1- Update All Extensions, 2- Enable All Extensions, 3- All Disabled Extensions
If you are all disabled, only the button to enable becomes active. The same goes for the reverse.

@joaomoreno Did you get the idea?

I did. We've decided not to add more menus, because that makes them more bloated. There is also additional confusion because the "Enable All Extensions" and "Disable Add Extensions" might be confused to only work with the extensions visible in the list, while in fact they will disable all your installed extensions. Finally, these actions are so rarely used that putting them in the menu would be overkill. Commands will do just fine.

@joaomoreno I did not understand this part. I did not see what could be confusing.

There is also additional confusion because the "Enable All Extensions" and "Disable Add Extensions" might be confused to only work with the extensions visible in the list, while in fact they will disable all your installed extensions.

For instance, you can search for extensions in the Marketplace. Let's say 3 come up that are locally installed. If you go into the action and select "Disable Add Extensions", would you expect that only those 3 to be disabled, or all your installed extensions?
Also, how often do you use these actions?

-- Sorry for the English, I used Google Translator --
What is "Disable Add Extensions"? Disable extension that I just installed? Only 3 (for example)?
Either I enable them all at once or disable them all at once. Regardless if I just installed it or not. If you want a specific one, I'll go with the extension option.
I agree that it is not often, only when it behaves strangely. But I said that it is more intuitive (being only the option to enable all and disable all). Enabling / Disabling workpace I agree it should not be there.

I meant "Disable All Extensions".

Okay. So like I said, I'd rather disable everything.
I do not think this will change until some more people question.
But thanks for the comments.

I think the option to enable/disable all extension would be very helpful for the vscode support team, to find out if a strange behaviour is coming from an extension, or from vscode itsself. So I would strongly recommend, to add this option! A concrete example is, that I have a strange behaviour in the editor, where the cursor is automatically jumping at the end of the line, so that a fluent typing is no longer possible. As I have a lot of extensions installed it would last a very long time to disable every single extension.So please keep this in mind for your future plannings

It would also be really useful during extension development


Update expressions.md - Add "date.weekyear" availability

I found that a query trying to restrict on date. Example "due.week = date(today).week" did not work, but in online forums found ".weekyear" is available and works perfectly. Adding it will help others discover it as well.

Thanks!


Hipp 265

Update backend to change status of a scope to APPROVED

Some warnings about unused imports:
[warn] /Users/hmrc/Documents/projects/api-hub-applications/app/uk/gov/hmrc/apihubapplications/repositories/ApplicationsRepository.scala:21:31: Unused import
[warn] import org.mongodb.scala.bson.Document
[warn]                               ^
[warn] /Users/hmrc/Documents/projects/api-hub-applications/app/uk/gov/hmrc/apihubapplications/repositories/ApplicationsRepository.scala:33:34: Unused import
[warn] import scala.concurrent.duration._
[warn]                                  ^
[warn] /Users/hmrc/Documents/projects/api-hub-applications/app/uk/gov/hmrc/apihubapplications/repositories/ApplicationsRepository.scala:34:26: Unused import
[warn] import scala.concurrent.{Await, ExecutionContext, Future}
[warn]                          ^
[warn] three warnings found

@tigdik You also had a conversation with me last week saying you were going to change the structure of the code such that you would read the application, change the status, and then write the whole application back to the database. And that this would introduce another layer in the code. It doesn't look like you've done that here. What happened to that idea?


flat fixed size vector

A flat fixed size vector for future us in the B+trees.

Codecov Report

Merging #124 (77041bd) into main (b2b72f5) will increase coverage by 0.00%.
The diff coverage is 100.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##             main     #124   +/-   ##
=======================================
  Coverage   98.29%   98.30%
=======================================
  Files          25       25
  Lines        1999     2009   +10
=======================================
+ Hits         1965     1975   +10
  Misses         34       34

Impacted Files
Coverage Δ

include/phtree/common/b_plus_tree_base.h
91.70% <100.00%> (ø)

include/phtree/common/b_plus_tree_hash_map.h
98.38% <100.00%> (+<0.01%)
:arrow_up:

include/phtree/common/b_plus_tree_map.h
98.13% <100.00%> (+0.05%)
:arrow_up:

include/phtree/common/flat_array_map.h
99.02% <100.00%> (+0.03%)
:arrow_up:

include/phtree/common/flat_sparse_map.h
97.91% <100.00%> (+0.09%)
:arrow_up:

include/phtree/v16/node.h
100.00% <100.00%> (ø)

include/phtree/v16/phtree_v16.h
99.50% <100.00%> (ø)

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


eval_mmlu ?

bug fixed.

Hi, sorry for the delay. What was the problem again ?

Hi, I'd like to evaluate the performance of hqq+ on mmlu,
so I writed a eval_mmlu() behind eval_wikitext2() in hqq_plus.py
referred to  https://github.com/FranxYao/chain-of-thought-hub/blob/main/MMLU/run_mmlu_llama.py,
but I got a bad avg score (only 0.0438:(, but FP16 is  0.4583),
my quantization setting is "nbits=2, group_size=8, quant_scale=False, quant_zero=False, axis=0",
lora_params and training_args were not change.
Could you offer a better solution or any advice? thank you!

Today, I printed the pred_answer of  eval_mmlu() after eval_wikitext2() ,  and found lots of '\n' in the list of pred_answer, I thought i had solved the problem, but still got bad score of mmlu (0.0342, and ppl is  5.601, seems normal). So could you offer your solution?

Oh I see, which model exactly? Is this an issue with MMLU only or also the other metrics?

Oh I see, which model exactly? Is this an issue with MMLU only or also the other metrics?

Llama-2-7b-hf， only MMLU at present, the ppl is normal.

Did you train the model yourself? How did you train it (what dataset) etc.

Did you train the model yourself? How did you train it (what dataset) etc.

yes, but i just ran the hqq_puls.py and did not change any params. So the dataset is dataset = load_dataset('wikitext', 'wikitext-2-raw-v1', split='train')

Sounds like it's overfiting to wikitext, that might explain why the ppl is good but mmlu is bad. You need proper instruct data (and the instruct model not base model) to get good mmlu performance, which is outside the scope of the hqq+ script

Sounds like it's overfiting to wikitext, that might explain why the ppl is good but mmlu is bad. You need proper instruct data (and the instruct model not base model) to get good mmlu performance, which is outside the scope of the hqq+ script

Ok, I am going to try other dataset or instruct model, thank you :)

It's normally a mix of datasets not just 1. It's an art to figure out the right datasets :D
Let me know how that works out!


Question: Error when Serialization of ciphertext

Hello. I want to serialize ciphertext into xx.bin and deserialize them into the ciphertext, but some errors are printed.  Thanks.

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x734507]

The error is at : o_ct.UnmarshalBinary(data);
My test function is:
func serialize_ct(ct []*rlwe.Ciphertext) []*rlwe.Ciphertext {
	var o_cts []*rlwe.Ciphertext
	var o_ct *rlwe.Ciphertext

	for i := 0; i < len(ct); i++ {
		if data, eff := ct[i].MarshalBinary(); eff != nil {
			panic(eff)
		} else {
			os.WriteFile("ct"+fmt.Sprint(i)+".bin", data, 0644)
		}
	}

	for i := 0; i < len(ct); i++ {
		data, _ := os.ReadFile("ct" + fmt.Sprint(i) + ".bin")
		if err := o_ct.UnmarshalBinary(data); err != nil {
			panic(err)
		} else {
			o_cts = append(o_cts, o_ct)
		}
	}
	return o_cts
}

There are two issues with your code, and it is not related to the library: o_ct is nil when you unmarshal the data on it, hence your error. Secondly, if you do not re-declare it inside the loop, it will overwrite the underlying ciphertext it since it is a pointer to a ciphertext.

Additionally, Lattigo provides marshalling of ciphertext vectors in utils/structs

Thanks for your answer. It is work!!!


Add prettier and lint scripts to generator

Fixes https://github.com/plone/volto/issues/2432

@tisto instead of ./node_modules/eslint/bin/eslint.js I think we should do yarn eslint, it's basically the same thing, but prettier.

@tiberiuichim sure. In the old days using the full path was more battle-proof than the other options. If that's not the case any longer I am good with amending this.


intel-gmmlib: 21.1.1 -> 21.1.2

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 120339 at 8d212bee run on x86_64-linux 1

3 packages built successfully:

intel-compute-runtime
intel-gmmlib
intel-media-driver


Null Reference Exception in OsuJsonWebRequest.GetResponseString()

From the latest commit in the osu! dev build, clicking on the multiplayer tab from startup results in the following NRE:
System.NullReferenceException
  HResult=0x80004003
  Message=Object reference not set to an instance of an object.
  Source=osu.Framework
  StackTrace:
   at osu.Framework.IO.Network.WebRequest.GetResponseString()

This throws in line 157 in the osu.Game.API.APIRequest class, but I am creating the issue here as it is framework related.

I cannot reproduce this neither on debug on release, and I'm not sure I understand why this would be a framework bug - and just saying there's a NRE does not help matter much. Please provide more details about your execution environment.

OS: Windows 10 Build 19042
IDE: Visual Studio 2019 Build 16.8.3
.NET: Core 3.1
I figured this is a framework bug because a null ref was thrown from a framework method, which didn't seem intended to me.

We already discussed this in discord right? Or are you a different user?
Either way, none of us can reproduce this so we need you to provide more details. I would recommend using a local framework reference if required (see https://github.com/ppy/osu-framework/wiki/Testing-local-framework-checkout-with-other-projects) and seeing what state the web request is in. If it has a null response, it also likely had an error along the way.

We already discussed this in discord right? Or are you a different user?

Yes I'm the same user.

Either way, none of us can reproduce this so we need you to provide more details. I would recommend using a local framework reference if required (see https://github.com/ppy/osu-framework/wiki/Testing-local-framework-checkout-with-other-projects) and seeing what state the web request is in. If it has a null response, it also likely had an error along the way.

Alright I'll take a look at that, thanks!

For the sake of clearing up some confusion, there was another user whom this was discussed with, and that was me.

Closing this, looks to be behaving as intended.


Sphere Online Judge Clone

Description
I want to make the clone of SPOJ with html,css,javascript.
Code of Conduct

[X] I follow Contributing Guidelines of this project.

/assign


Inserting a letter match is not handled properly

For example if you have already specified X as a match for position 1 and then specify Y as a match for position 1 - it will wrongly shift the existing matches so X is given as a match for position 2

fixed with commit https://github.com/bodonovan/wordle_cheat/commit/497628f06fbdeb8d7a6e18679ddf27850100c942


update Linux kernel to 4.9.x

In some future version of RaspberryMatic we should update the linux kernel to the current 4.9.x line. This seems to be also the currently stable branch of the raspberrypi crew (as can be seen here: https://github.com/raspberrypi/linux).
However, one current issue seems to be that our bcm2835-raw-uart kernel module isn't currently compatible to kernel 4.9.x (see https://github.com/eq-3/occu/issues/33#issuecomment-282728391). We should therefore review if we should first work on #38 before we can switch to kernel 4.9 which might be required in future.

habe meine YAHM Installation mit 4.9er Kernel am laufen, einzige Anpassung wäre
        if [ $(ver ${kernel_version}) -ge $(ver 4.9.0) ]
        then
            cd /tmp/kernel-modules/bcm2835_raw_uart
            sed -i bcm2835_raw_uart.c -e "s/CLK_IS_ROOT/0/"
        fi

da die Variable nicht länger im Kernel 4.9 existiert, ist zwar unschön, aber funktioniert wunderbar
Gruß
Leo

Kernel 4.9.y support is now on master branch. Thus, done.


Rename "filter for no defintions" to "prefer_entities_with_definitions"

https://github.com/allenai/scispacy/blob/45e0ca1f5fad317f3daec8bb09377fa0f48d2485/scispacy/linking.py#L76
The name makes it seem like the entity linker will completely remove all entities without definitions, and you have to read the code to see how it works. This makes it more explicit

It isn't really that either, it is just that filter for definitions requires the use of two parameters,filter_for_no_definitions and no_definition_threshold. I suppose we didn't really need both of these parameters, and could have just used no_definition_threshold, and have setting it to None mean "don't filter".

I can do that fix real quick

I'm actually not sure I want to make this change since the benefit is pretty small, but it would a breaking change to the entity linker API. Let me think about it.

I think I am not going to do this, I think the docs for the current params is good enough, and don't want to introduce a breaking change for this small of a reason. Thank you though!

My pleasure!


new formula: flex 2.5.39

Add formula for old version of flex. Needed for the compilation of dynare.rb in homebrew-science.

@houtanb It's usually preferable to vendor formulae as resources if they are needed by a single formula.

@mikemcquaid, I'm a bit lost, which is surely due to my lack of ruby knowledge. I have tried to install flex 2.5 as a resource in dynare.rb, to no avail. I modify the head do block to be:
  head do
    url "https://github.com/DynareTeam/dynare.git"
    depends_on "automake" => :build
    depends_on "bison"    => :build
    depends_on "gettext"  => :build

    resource "flex" do
      url "https://downloads.sourceforge.net/flex/flex-2.5.39.tar.bz2"
      sha256 "add2b55f3bc38cb512b48fad7d72f43b11ef244487ff25fc00aabec1e32b617f"
    end
  end

which I think is correct. However, I am having trouble in the def install block. Here's what I have:
  def install
    args = %W[
      --disable-debug
      --disable-dependency-tracking
      --disable-silent-rules
      --prefix=#{prefix}
    ]
    head do
      resource("flex").stage do
        system "./configure", "--disable-dependency-tracking",
               "--disable-shared",
               "--prefix=#{prefix}"
        system "make", "install"
      end
      args << "LEX=#{prefix}/bin/flex"
    end

What I need to do, it seems, is to install flex 2.5 to the buildpath, then include the path to the flex 2.5 binary in the LEX variable so that dynare's ./configure can find it.

@houtanb In the install block you need to use if build.head? instead of head do

:+1: for vendoring where necessary.

Closing as I updated dynare.rb to use flex as a resource. Pull request in Homebrew/homebrew-science#3414
Thanks for the help @mikemcquaid